diff --git a/.vim/plugged/coc-volar b/.vim/plugged/coc-volar new file mode 160000 index 00000000..f9534d27 --- /dev/null +++ b/.vim/plugged/coc-volar @@ -0,0 +1 @@ +Subproject commit f9534d2710651d45c29e656a2dd7cb1b63c2d709 diff --git a/.vim/plugged/coc.nvim b/.vim/plugged/coc.nvim new file mode 160000 index 00000000..287c743c --- /dev/null +++ b/.vim/plugged/coc.nvim @@ -0,0 +1 @@ +Subproject commit 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 diff --git a/.vim/plugged/ctrlp.vim b/.vim/plugged/ctrlp.vim new file mode 160000 index 00000000..61e964f2 --- /dev/null +++ b/.vim/plugged/ctrlp.vim @@ -0,0 +1 @@ +Subproject commit 61e964f2d168f52cb8e80e67d26605b52d726b16 diff --git a/.vim/plugged/indentLine b/.vim/plugged/indentLine new file mode 160000 index 00000000..5617a1cf --- /dev/null +++ b/.vim/plugged/indentLine @@ -0,0 +1 @@ +Subproject commit 5617a1cf7d315e6e6f84d825c85e3b669d220bfa diff --git a/.vim/plugged/markdown-preview.nvim b/.vim/plugged/markdown-preview.nvim new file mode 160000 index 00000000..e5bfe9b8 --- /dev/null +++ b/.vim/plugged/markdown-preview.nvim @@ -0,0 +1 @@ +Subproject commit e5bfe9b89dc9c2fbd24ed0f0596c85fd0568b143 diff --git a/.vim/plugged/neoterm b/.vim/plugged/neoterm new file mode 160000 index 00000000..e78179a9 --- /dev/null +++ b/.vim/plugged/neoterm @@ -0,0 +1 @@ +Subproject commit e78179a9ceb98de8d0c37bdda435a5deab4d5e71 diff --git a/.vim/plugged/nerdcommenter b/.vim/plugged/nerdcommenter new file mode 160000 index 00000000..a65465d3 --- /dev/null +++ b/.vim/plugged/nerdcommenter @@ -0,0 +1 @@ +Subproject commit a65465d321f2f8a74b2ffa540b9b87563f7e12e8 diff --git a/.vim/plugged/nerdtree b/.vim/plugged/nerdtree new file mode 160000 index 00000000..eed488b1 --- /dev/null +++ b/.vim/plugged/nerdtree @@ -0,0 +1 @@ +Subproject commit eed488b1cd1867bd25f19f90e10440c5cc7d6424 diff --git a/.vim/plugged/nerdtree-git-plugin b/.vim/plugged/nerdtree-git-plugin new file mode 160000 index 00000000..e1fe7271 --- /dev/null +++ b/.vim/plugged/nerdtree-git-plugin @@ -0,0 +1 @@ +Subproject commit e1fe727127a813095854a5b063c15e955a77eafb diff --git a/.vim/plugged/rainbow b/.vim/plugged/rainbow new file mode 160000 index 00000000..54c79a24 --- /dev/null +++ b/.vim/plugged/rainbow @@ -0,0 +1 @@ +Subproject commit 54c79a24725af3a15d3aad20f70a56c7abbd46c3 diff --git a/.vim/plugged/vim-auto-save b/.vim/plugged/vim-auto-save new file mode 160000 index 00000000..d8ff0376 --- /dev/null +++ b/.vim/plugged/vim-auto-save @@ -0,0 +1 @@ +Subproject commit d8ff037621e2351278cf0892ca19ee7ce479e802 diff --git a/.vim/plugged/vim-devicons b/.vim/plugged/vim-devicons new file mode 160000 index 00000000..d16475cb --- /dev/null +++ b/.vim/plugged/vim-devicons @@ -0,0 +1 @@ +Subproject commit d16475cbd7d50664e3d9261951cd4415967c5c41 diff --git a/.vim/plugged/vim-gitgutter b/.vim/plugged/vim-gitgutter new file mode 160000 index 00000000..256702dd --- /dev/null +++ b/.vim/plugged/vim-gitgutter @@ -0,0 +1 @@ +Subproject commit 256702dd1432894b3607d3de6cd660863b331818 diff --git a/.vim/plugged/vim-nerdtree-syntax-highlight b/.vim/plugged/vim-nerdtree-syntax-highlight new file mode 160000 index 00000000..5178ee4d --- /dev/null +++ b/.vim/plugged/vim-nerdtree-syntax-highlight @@ -0,0 +1 @@ +Subproject commit 5178ee4d7f4e7761187df30bb709f703d91df18a diff --git a/.vim/plugged/vim-polyglot b/.vim/plugged/vim-polyglot new file mode 160000 index 00000000..4d4aa5fe --- /dev/null +++ b/.vim/plugged/vim-polyglot @@ -0,0 +1 @@ +Subproject commit 4d4aa5fe553a47ef5c5c6d0a97bb487fdfda2d5b diff --git a/.vim/plugged/vim-visual-multi b/.vim/plugged/vim-visual-multi new file mode 160000 index 00000000..e2090896 --- /dev/null +++ b/.vim/plugged/vim-visual-multi @@ -0,0 +1 @@ +Subproject commit e20908963d9b0114e5da1eacbc516e4b09cf5803 diff --git a/.vim/plugged/winresizer b/.vim/plugged/winresizer new file mode 160000 index 00000000..9dc9899c --- /dev/null +++ b/.vim/plugged/winresizer @@ -0,0 +1 @@ +Subproject commit 9dc9899cedf84d78b93263b1fdb105b37c54c7b5 diff --git a/.vscode/argv.json b/.vscode/argv.json new file mode 100644 index 00000000..d1500077 --- /dev/null +++ b/.vscode/argv.json @@ -0,0 +1,24 @@ +// This configuration file allows you to pass permanent command line arguments to VS Code. +// Only a subset of arguments is currently supported to reduce the likelihood of breaking +// the installation. +// +// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT +// +// NOTE: Changing this file requires a restart of VS Code. +{ + // Use software rendering instead of hardware accelerated rendering. + // This can help in cases where you see rendering issues in VS Code. + // "disable-hardware-acceleration": true, + + // Enabled by default by VS Code to resolve color issues in the renderer + // See https://github.com/microsoft/vscode/issues/51791 for details + "disable-color-correct-rendering": true, + + // Allows to disable crash reporting. + // Should restart the app if the value is changed. + "enable-crash-reporter": true, + + // Unique id used for correlating crash reports sent from this instance. + // Do not edit this value. + "crash-reporter-id": "259d1e94-1ea1-4dcf-8193-0be07efab62d" +} \ No newline at end of file diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.husky/.gitignore b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.husky/.gitignore new file mode 100644 index 00000000..31354ec1 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.husky/pre-commit b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.husky/pre-commit new file mode 100755 index 00000000..8eb09194 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.husky/pre-commit @@ -0,0 +1,18 @@ +#!/bin/sh + +# Copyright (C) 2017-present Arctic Ice Studio +# Copyright (C) 2017-present Sven Greb +# +# Project: Nord Visual Studio Code +# Repository: https://github.com/arcticicestudio/nord-visual-studio-code +# License: MIT + +# Git "pre-commit" hook for husky. +# +# References: +# 1. https://github.com/typicode/husky +# 2. https://git-scm.com/docs/githooks#_pre_commit + +. "$(dirname "$0")/_/husky.sh" + +npm exec lint-staged diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.vsixmanifest b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.vsixmanifest new file mode 100644 index 00000000..fb81d4c9 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + Nord + An arctic, north-bluish clean and elegant Visual Studio Code theme. + arctic,north,bluish,clean,elegant,theme,color-theme,__web_extension + Themes + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/assets/extension-marketplace-icon.png + + + + + + + + + + diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/CHANGELOG.md b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/CHANGELOG.md new file mode 100644 index 00000000..9c33f958 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/CHANGELOG.md @@ -0,0 +1,1586 @@ +

+ +

+ +

+ +

Changelog for Nord Visual Studio Code — An arctic, north-bluish clean and elegant Visual Studio Code theme.

+ + + +# 0.19.0 + +![Release Date: 2021-09-25](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2021-09-25&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.19.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/30) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.19.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/26) + +⇅ [Show all commits][137] + +This release version includes features introduced in [VS Code version 1.59][140] and [1.60][143]. + +### Features + +
+Color token for active terminal tab indicator — [#226](https://github.com/arcticicestudio/nord-visual-studio-code/issues/226) ⇄ [#227](https://github.com/arcticicestudio/nord-visual-studio-code/issues/227) (⊶ 852c7894) + +↠ [VS Code 1.59][140] (July 2021) introduced [a new color token for active terminal tab indicators][141]. It has been added to make it conform with Nord's theme style: + +- `terminal.tab.activeBorder` — color for the border on the side of the terminal tab in the panel. + +
+

Before

+ +
+ +
+

After

+ +
+ +
+ +
+Color tokens for status bar warning items — [#228](https://github.com/arcticicestudio/nord-visual-studio-code/issues/228) ⇄ [#230](https://github.com/arcticicestudio/nord-visual-studio-code/issues/230) (⊶ 80e3bb26) + +↠ [VS Code 1.59][140] (July 2021) introduced [new color tokens for status bar warnings][142]. They have been added and adjusted to match Nord's theme style: + +- `statusBarItem.warningBackground` — the background color used for warning items in the status bar that stand out from other status bar entries to indicate warning conditions. +- `statusBarItem.warningForeground` — the foreground color used for warning items in the status bar that stand out from other status bar entries to indicate warning conditions. + +
+ +
+Color tokens for status bar warning items — [#225](https://github.com/arcticicestudio/nord-visual-studio-code/issues/225) ⇄ [#231](https://github.com/arcticicestudio/nord-visual-studio-code/issues/231) (⊶ b3f2b83a) by @roosephu + +↠ [VS Code 1.60][143] (August 2021) introduced [native, high performance bracket pair colorization][144] (opt-in via `editor.bracketPairColorization.enabled` setting) to address performance issues of popular extensions. The color tokens have been added and adjusted to match Nord's theme style: + +- `statusBarItem.warningBackground` — the background color used for warning items in the status bar that stand out from other status bar entries to indicate warning conditions. +- `statusBarItem.warningForeground` — the foreground color used for warning items in the status bar that stand out from other status bar entries to indicate warning conditions. + +Note that bracket pair colorization is a feature that does not go well with the design concepts of Nord and the recommendation is therefore to not enable it. Of course this is always a personal preference and the feature be used as you wish, but note that the bracket colors defined by the Nord theme won't be changed on request but users can [simply customize it on their own][133]. + +

Preview

+
+ +
+ +
+ +
+Color tokens for status bar warning items — [#224](https://github.com/arcticicestudio/nord-visual-studio-code/issues/224) ⇄ [#232](https://github.com/arcticicestudio/nord-visual-studio-code/issues/232) (⊶ 2ea762e7) by @wenmin92 + +↠ [VS Code 1.60][143] (August 2021) introduced [inlay hints for JavaScript and TypeScript][145] (opt-in via `editor.inlayHints.enabled`), including new color tokens to customize their appereance. They have been added and adjusted to match Nord's theme style: + +- `editorInlayHint.background` — the background color used for inline hint boxes. +- `editorInlayHint.foreground` — the foreground color used for inline hint boxes. + +
+

Before

+ +
+ +
+

After

+ +
+ +
+ +### Improvements + +
+npm v7 & dependency improvements — [#233](https://github.com/arcticicestudio/nord-visual-studio-code/issues/233) ⇄ [#234](https://github.com/arcticicestudio/nord-visual-studio-code/issues/234) (⊶ e188f064) + +↠ The [npm CLI v7][136] introduced the new [`package-lock.json` format v2][138] that unlocks the ability to do deterministically reproducible builds and includes everything npm needs to fully build the package tree. Since this is a new major version the current `package-lock.json` file has been updated to the new format. + +At the same time outdated dependencies have been upgraded to their latest, compatible version. This also changed the versions by using [the `^` caret range selector][139] to reduce the overhead of updating dependencies. + +- [`@arcticicestudio/eslint-config-base`][135] — the minimum versions will be bumped from `0.5.0` to [`0.11.0`][134]. +- [`babel-eslint`][146] → [`@babel/eslint-parser`][152] — the `babel-eslint` package is deprecated and is now available as `@babel/eslint-parser`. +- [`eslint-plugin-json`][163] → [`eslint-plugin-jsonc`][166] — since Visual Studio Code uses [JSONC][170] the `eslint-plugin-jsonc` matches better to the scope of this repository. It also utilizes the ESLint engine by passing the AST to it. +- [`del-cli`][171] — updated from version [`1.1.0`][172] to [`^4.0.1`][173]. +- [`eslint`][4] — updated from version [`5.16.0`][148] to [`^7.32.0`][149]. +- [`eslint-plugin-import`][150] — updated from version [`2.17.3`][151] to [`^2.24.2`][153]. +- [`eslint-plugin-prettier`][154] — updated from version [`3.1.0`][155] to [`^4.0.0`][156]. +- [`prettier`][35] — updated from version [`1.17.1`][158] to [`^2.4.1`][159]. +- [`remark-cli`][160] — updated from version [`6.0.1`][161] to [`^9.0.0`][162]. +- [`remark-preset-lint-arcticicestudio`][32] → [`@arcticicestudio/remark-preset-lint`][164] — the `remark-preset-lint-arcticicestudio` package is deprecated and is now available as `@arcticicestudio/remark-preset-lint`. This also includes the linting and adjusting for matches that are found after running with the new rules. +- [`vsce`][40] — updated from version [`6.0.1`][168] to [`^1.100.0`][169]. + +
+ +# 0.18.0 + +![Release Date: 2021-07-14](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2021-04-14&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.18.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/29) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.18.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/25) + +⇅ [Show all commits][130] + +This release version includes features introduced in [VS Code version 1.58][131]. + +### Features + +
+TextMate rules for Markdown math formula syntax highlighting — [#221](https://github.com/arcticicestudio/nord-visual-studio-code/issues/221) ⇄ [#222](https://github.com/arcticicestudio/nord-visual-studio-code/issues/222) (⊶ 60733483) + +↠ [VS Code 1.58][131] (June 2021) introduced [syntax highlighting for Markdown math formulas][132]. To adapt the coloring to Nord's style new _TextMate_ rules with the following scopes have been added: + +- `text.html.markdown constant.character.math.tex` — targets constants like `\displaystyle` and `\left`. +- `text.html.markdown constant.character.math.tex` — targets `$$` definition markers. +- `text.html.markdown punctuation.definition.function.math.tex` — targets the `\` (backslash) function definition marker. +- `text.html.markdown punctuation.math.operator.latex` — targets operators like `=`. + +

Before

+
+ +
+ +

After

+
+ +
+ +
+ +# 0.17.1 + +![Release Date: 2021-06-23](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2021-06-23&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.17.1&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/28) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.17.1&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/24) + +⇅ [Show all commits][129] + +This release version includes a small bug fix, introduced [version 0.17.0](#0170), for the background color of input lists in focused state. + +## Bug Fixes + +
+Invalid quick input list background for focused state — [#219](https://github.com/arcticicestudio/nord-visual-studio-code/issues/219) ⇄ [#220](https://github.com/arcticicestudio/nord-visual-studio-code/issues/220) (⊶ 280ae189) + +↠ In [#206](https://github.com/arcticicestudio/nord-visual-studio-code/issues/206) the [deprecated `list.focusBackground` color token][38] was replaced by the new `quickInputList.focusBackground` token, but somehow in [#215](https://github.com/arcticicestudio/nord-visual-studio-code/issues/215) (while resolving merge conflicts) the value was changed to use a alpha layer value of 60%. This is not intended was should use `nord8` instead without any transparency. + +

Before

+
+ +
+ +

After

+
+ +
+ +
+ +# 0.17.0 + +![Release Date: 2021-06-22](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2021-06-22&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.17.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/27) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.17.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/23) + +⇅ [Show all commits][116] + +This release version includes various theme features introduced in Visual Studio Code versions [1.46][37] to [1.57][39]. + +## Features + +
+Color tokens for input fields — [#200](https://github.com/arcticicestudio/nord-visual-studio-code/issues/200) ⇄ [#210](https://github.com/arcticicestudio/nord-visual-studio-code/issues/210) (⊶ 59ad1616) + +↠ [VS Code 1.46][37] (May 2020) introduced the [new `inputOption.activeForeground` theme token for the foreground color of active inputs][117] which are used in the search view and find widget. +The token uses `nord6` to make it more conform with Nord's style. + +
+ +
+Pinned tabs, Git and charts color tokens — [#202](https://github.com/arcticicestudio/nord-visual-studio-code/issues/202) ⇄ [#211](https://github.com/arcticicestudio/nord-visual-studio-code/issues/211) (⊶ 973b9272) + +↠ [VS Code 1.50][118] (September 2020) introduced [new theme color tokens pinned tabs, Git integration and charts][119]. + +The following tokens have been added to make it more conform with Nord's style: + +- `tab.lastPinnedBorder` — border on the right of the last pinned editor to separate from unpinned editors. +- `gitDecoration.stageDeletedResourceForeground` — foreground color for staged deletions git decorations. +- `gitDecoration.stageModifiedResourceForeground` — foreground color for staged modifications git decorations. +- Colors intended to be used by data visualization extensions: + - `charts.red` + - `charts.blue` + - `charts.yellow` + - `charts.orange` + - `charts.green` + - `charts.purple` + - `charts.foreground` + - `charts.lines` + +

Git Staged State Decorations

+
+

Deleted

+ +
+
+

Modified

+ +
+ +

Last Tab Separator

+
+

Before

+ +
+
+

After

+ +
+ +
+ +
+Status bar error color tokens — [#203](https://github.com/arcticicestudio/nord-visual-studio-code/issues/203) ⇄ [#212](https://github.com/arcticicestudio/nord-visual-studio-code/issues/212) (⊶ a51c0ef3) + +↠ [VS Code 1.52][120] (November 2020) introduced [new theme color tokens for error items in the status bar][121]. + +The following tokens have been added to make it more conform with Nord's style: + +- `statusBarItem.errorBackground` — status bar error items background color. Error items stand out from other status bar entries to indicate error conditions. +- `statusBarItem.errorForeground` — status bar error items foreground color. Error items stand out from other status bar entries to indicate error conditions. + +
+ +
+Sash hover border color token — [#204](https://github.com/arcticicestudio/nord-visual-studio-code/issues/204) ⇄ [#213](https://github.com/arcticicestudio/nord-visual-studio-code/issues/213) (⊶ 097e0cc2) + +↠ [VS Code 1.52][120] (November 2020) introduced [the new `sash.hoverBorder` theme color token for the sash border in hover state][122]. +The token uses `nord8` to make it more conform with Nord's style. + +

Before

+

+ +

+ + +

After

+

+ +

+ + +
+ +
+Color token for debugged line shown in overview ruler — [#205](https://github.com/arcticicestudio/nord-visual-studio-code/issues/205) ⇄ [#214](https://github.com/arcticicestudio/nord-visual-studio-code/issues/214) (⊶ 94f35a3b) + +↠ [VS Code 1.52][120] (November 2020) introduced [the new `editor.focusedStackFrameHighlightBackground` theme color token][123] to highlight the currently focused debugged line in the overview ruler. +Additionally, the `editor.stackFrameHighlightBackground` key has been added that is used to highlight the decoration in the overview ruler on the right of the editor. +Both tokens use `nord10` to make them more conform with Nord's style. + +
+ +
+Deprecated color token for focused background of list/tree UI elements — [#206](https://github.com/arcticicestudio/nord-visual-studio-code/issues/206) ⇄ [#215](https://github.com/arcticicestudio/nord-visual-studio-code/issues/215) (⊶ 942e9d12) + +↠ [VS Code 1.54][124] (February 2021) introduced a breaking change for the focused background color of list/tree UI elements by [deprecating the `list.focusBackground` in favor of the `quickInputList.focusBackground` theme color token][38]. The advised adaption for theme authors is to simply adopt the same value of the deprecated token. + +
+ +
+Color tokens for secondary buttons of custom dialogs — [#207](https://github.com/arcticicestudio/nord-visual-studio-code/issues/207) ⇄ [#216](https://github.com/arcticicestudio/nord-visual-studio-code/issues/216) (⊶ 24e34f8a) + +↠ [VS Code 1.56][125] (April 2021) introduced [new colors tokens for secondary buttons of custom dialogs][126]: + +- `button.secondaryBackground` +- `button.secondaryForeground` +- `button.secondaryHoverBackground` + +This also includes a visual improvement for the current Nord theme styles of primary buttons: + +- `button.background` - `nord2` to `nord8` with a transparency of ~93%. +- `button.foreground` - `nord4` to `nord0`. +- `button.hoverBackground` - `nord3` to `nord8`. + +

Before

+

+ +

+ + +

After

+

+ +

+ + +
+ +
+Color tokens for keybinding labels — [#208](https://github.com/arcticicestudio/nord-visual-studio-code/issues/208) ⇄ [#217](https://github.com/arcticicestudio/nord-visual-studio-code/issues/217) (⊶ 266a8a15) + +↠ [VS Code 1.56][125] (April 2021) introduced [new color tokens for keybinding labels][127]. +These have been added to make them conform with Nord's theme style: + +- `keybindingLabel.background` — keybinding label background color used to represent a keyboard shortcut. +- `keybindingLabel.foreground` — keybinding label foreground color used to represent a keyboard shortcut. +- `keybindingLabel.border` — keybinding label border color used to represent a keyboard shortcut. +- `keybindingLabel.bottomBorder` — keybinding label border bottom color used to represent a keyboard shortcut. + +

Command Palette

+
+

Before

+ +
+
+

After

+ +
+ +

Key Binding Configurations

+
+

Before

+ +
+
+

After

+ +
+ +
+ +
+Color tokens for debugger inline values — [#209](https://github.com/arcticicestudio/nord-visual-studio-code/issues/209) ⇄ [#218](https://github.com/arcticicestudio/nord-visual-studio-code/issues/218) (⊶ 299f1cd1) + +↠ [VS Code 1.57][39] (May 2021) introduced [new color tokens for debugger inline values][128]. +They have been added to make them conform with Nord's theme style: + +- `editor.inlineValuesBackground` — color for the debug inline value foreground text. +- `editor.inlineValuesForeground` — color for the debug inline value background. + +
+ +# 0.16.0 + +![Release Date: 2021-06-19](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2021-06-19&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.16.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/26) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.16.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/22) + +⇅ [Show all commits][113] + +This release version mainly migrates to the [new color tokens editor suggest and quick picker widget changes introduced in Visual Studio Code version 1.57.0][115] which made the theme kind of unusable. + +## Features + +
+Debug console text and input icon colors — [#197](https://github.com/arcticicestudio/nord-visual-studio-code/issues/197) ⇄ [#198](https://github.com/arcticicestudio/nord-visual-studio-code/issues/198) (⊶ 52432cb7) + +↠ [VS Code 1.46][37] (May 2020) introduced [new debug console colors][114] for text of messages and the input icon. + +The following theme keys have been added to make it conform with Nord's theme style: + +- `debugConsole.infoForeground` — foreground color for info messages in the debug console. +- `debugConsole.warningForeground` — foreground color for warning messages in the debug console. +- `debugConsole.errorForeground` — foreground color for error messages in the debug console. +- `debugConsole.sourceForeground` — foreground color for source filenames in the debug console. +- `debugConsoleInputIcon.foreground` — foreground color for the debug console input marker icon. + +

+ +

+ +
+ +
+Quick pick and suggest widget colors — [#196](https://github.com/arcticicestudio/nord-visual-studio-code/issues/196) ⇄ [#199](https://github.com/arcticicestudio/nord-visual-studio-code/issues/199) (⊶ 11cd6c3d) + +↠ [VS Code 1.57][39] (May 2021) introduced [new color tokens for the “quick pick“ and “editor suggest“ widgets][115] in focused state to better align with the tree widget styles. +These changes broke the current style of Nord and made the theme har to use. The new keys have now been added to make it conform with Nord‘s style: + +- `editorSuggestWidget.focusHighlightForeground` — color of the match highlights in the suggest widget when an item is focused. +- `editorSuggestWidget.selectedForeground` — foreground color of the selected entry in the suggest widget. +- `list.focusHighlightForeground` — list/tree foreground color of the match highlights on actively focused items when searching inside the list/tree. +- `quickInputList.focusForeground` — quick picker foreground color for the focused item. + +

Editor Suggest Widget

+

Before

+

+ +

+

After

+

+ +

+ +

(Quick) List

+

Before

+

+ +

+

After

+

+ +

+ +
+ +## Bug Fixes + +
+GitHub repository link to license in README — [#195](https://github.com/arcticicestudio/nord-visual-studio-code/issues/195), [#189](https://github.com/arcticicestudio/nord-visual-studio-code/issues/189) (⊶ 31236d88, 5ccef9c1) by @Pukimaa and @shmokmt + +↠ The link still included the `md` file extension that was mainly used for license files some years ago. + +
+ +# 0.15.1 + +![Release Date: 2021-02-01](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2021-02-01&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.15.1&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/25) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.15.1&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/21) + +⇅ [Show all commits][111] + +This release version mainly migrates a NPM package dependency that has been deprecated and deleted from the registry to the new package. + +## Bug Fixes + +
+Switch to new ESLint configuration preset package — [#190](https://github.com/arcticicestudio/nord-visual-studio-code/issues/190) (⊶ 13ef97ec) by @kremalicious + +↠ Before the [`eslint-config-arcticicestudio-base` NPM package][31] was used which has been deprecated and also deleted from the registry. +Because the goal of the deprecation was to move to the new [`@arcticicestudio/eslint-config-base` package][112] anyway it has now been switched. + +
+ +# 0.15.0 + +![Release Date: 2020-06-23](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2020-06-23&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.15.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/24) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.15.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/20) + +## Features + +### UI + +**Activity Bar indicator styles** — [#174](https://github.com/arcticicestudio/nord-visual-studio-code/issues/174) ⇄ [#175](https://github.com/arcticicestudio/nord-visual-studio-code/issues/175) (⊶ 7beecae3) +↠ Added support for the [new indicator _Activity Bar_ active item indicator][105] that was introduced in [VS Code 1.40][104] (October 2019) to make it stand out better and increase readability. + +

Before

+

+ +

After

+

+ +**Editor title border** — [#176](https://github.com/arcticicestudio/nord-visual-studio-code/issues/176) ⇄ [#177](https://github.com/arcticicestudio/nord-visual-studio-code/issues/177) (⊶ c2aca53e) +↠ Added support for new theme keys to [render a border below the editor group header][109] (for example, below breadcrumbs if enabled) that was introduced in [VS Code 1.45][108] (April 2020) in order to restore the previous behavior of `editorGroupHeader.tabsBorder`. + +**Minimap background, slider and Git state colors** — [#178](https://github.com/arcticicestudio/nord-visual-studio-code/issues/178) ⇄ [#179](https://github.com/arcticicestudio/nord-visual-studio-code/issues/179) (⊶ bd98c86c) +↠ Added support for the new [minimap background, slider and _Git_ state colors][110] that were [introduced in VSCode 1.43.0][107] (February 2020) and [version 1.41.0][106] (November 2019). + +

Before

+

+

+ +

After

+

+

+ +## Improvements + +### Syntax + +**Braces in JavaScript template literals** — [#162](https://github.com/arcticicestudio/nord-visual-studio-code/issues/162) ⇄ [#163](https://github.com/arcticicestudio/nord-visual-studio-code/issues/163) (⊶ 41e2391d) by [@kufii][102] +↠ Improved the highlighting of braces within [_JavaScript_ template literals][103] to use `nord4` as foreground color instead of `nord14` like strings. + +

Before

+

+ +

After

+

+ +# 0.14.0 + +![Release Date: 2020-06-16](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2020-06-16&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.14.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/23) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.14.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/19) + +## Features + +### Syntax + +**Adaption and activation of semantic highlighting** — [#172](https://github.com/arcticicestudio/nord-visual-studio-code/issues/172) ⇄ [#173](https://github.com/arcticicestudio/nord-visual-studio-code/issues/173) (⊶ e05a9997) by [@aeschli][97] +↠ [Visual Studio Code version 1.44 introduced support][99] for [semantic highlighting][101] that allows to assign colors and styles to tokens. _Semantic highlighting_ enriches syntax coloring based on symbol information from the language service, which has more complete understanding of the project so the coloring changes appear once the language server is running and has computed the semantic tokens. +The feature has been tested for some weeks and worked out-of-the-box without the need to change or add specific matchers or rules. +See the [semantic highlighting guide for themes][100] and [Github wiki][98] for more details. + +# 0.13.0 + +![Release Date: 2019-12-23](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2019-12-23&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.13.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/22) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.13.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/18) + +## Features + +### UI + +**Inline code block background for hover/completion popups** — [#155](https://github.com/arcticicestudio/nord-visual-studio-code/issues/155) ⇄ [#158](https://github.com/arcticicestudio/nord-visual-studio-code/issues/158) (⊶ 7be0eaf6) by [@octref][24] +↠ Added the `textCodeBlock.background` workbench theme key that is used by VS Code features like the [IntelliSense _quick info_][44] to style the background color of code blocks in the documentation text. By default this used a very dark color which has been changed to `nord3` instead. + +

Auto-Completion

+

+ +

Quick Info

+

+ +**Text color related workbench theme keys** — [#154](https://github.com/arcticicestudio/nord-visual-studio-code/issues/154) ⇄ [#159](https://github.com/arcticicestudio/nord-visual-studio-code/issues/159) (⊶ 7be0eaf6) by [@mserajnik][91] +↠ Added some workbench color keys for text related elements that were not supported by Nord yet. +The commit in the VS Code repository ([93][]) added multiple new theme keys through [95][] that was merged over 2 years ago and released for the first time in stable version [1.13.0][96] but were never mentioned in the release notes. + +The following theme keys have now been added: + +- `textBlockQuote.background` — Background color for block quotes in text. +- `textBlockQuote.border` — Right-side border color for block quotes in text. +- `textLink.activeForeground` — Foreground color for links in text when clicked on and on mouse hover. +- `textLink.foreground` — Foreground color for links in text. +- `textPreformat.foreground` — Foreground color for preformatted text segments like inline code. +- `textSeparator.foreground` — Color for text separators. + +

Interactive Playground before/after

+ + + +

Interface Overview before/after

+ + + +

Welcome Screen before/after

+ + + +**`descriptionForeground` workbench theme key** — [#160](https://github.com/arcticicestudio/nord-visual-studio-code/issues/160) ⇄ [#161](https://github.com/arcticicestudio/nord-visual-studio-code/issues/161) (⊶ fe870f4f) +↠ Added the `descriptionForeground` workbench theme key that was introduced almost 2 years ago in [94][] for [95][], but not mentioned in a changelog so there was no support for it in Nord. +It now uses `nord4` with a opacity of 90% as color value (`#d8dee9e6`). + +### Syntax + +**Syntax highlighting for Elixir module names and atoms** — [#165](https://github.com/arcticicestudio/nord-visual-studio-code/issues/165) ⇄ [#166](https://github.com/arcticicestudio/nord-visual-studio-code/issues/166) (⊶ 810a894b) by [@feliperenan][90] +↠ Added improved syntax highlighting for Elixir atoms and module names using scopes provided by the [92][] extension since they are not supported by VSCode out-of-the-box. + +

Before

+

+ +

After

+

+ +# 0.12.0 + +![Release Date: 2019-08-10](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2019-08-10&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.12.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/21) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.12.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/17) + +## Features + +**Minimap search results visibility** — [#150](https://github.com/arcticicestudio/nord-visual-studio-code/issues/150) ⇄ [#152](https://github.com/arcticicestudio/nord-visual-studio-code/issues/152) (⊶ 6b6655fc) +↠ In [VS Code 1.37][89] (July 2019) the search decorations in the minimap (code outline) have been improved so the entire line will now be highlighted with low opacity, and the actual match shown with high opacity. +To customize the color, the new `minimap.findMatchHighlight` UI/workbench theme key has been added to Nord. + +

Before

+

+ +

After

+

+ +**Filled background color for „Find“ widget's button toggle active state** — [#151](https://github.com/arcticicestudio/nord-visual-studio-code/issues/151) ⇄ [#153](https://github.com/arcticicestudio/nord-visual-studio-code/issues/153) (⊶ f5c767fd) +↠ In [VS Code 1.37][88] (July 2019) the Find widget's button toggle active state now has a filled background so that it is easier to tell when the focus is on an active toggle. +To customize the background color of the toggle active state, the new `inputOption.activeBackground` UI/workbench theme key has been added to Nord. + +

Before

+

+ +

After

+

+

+ +Unfortunately there is no UI theme key (yet) to also change the foreground color of active state toggles. It is "hard-coded" using a relatively bright color so it is not possible to also use a bright background color. It would be great to apply a "reverse" effect to e.g. use `nord0` as foreground to increase the contrast when using `nord8` as background color. + +## Improvements + +**Renamed theme file to enable „hidden“ theme development features** — [#143](https://github.com/arcticicestudio/nord-visual-studio-code/issues/143)/#148 (⊶ 4f808c88) co-authored by [@svipas][86] +↠ An undocumented feature for theme extension developers is to ensure the name of the JSON file is suffixed with `-color-theme.json`. This enables the JSON scheme validation for the theme API allowing developers to validate the implemented theme keys, showing warnings about deprecated keys and providing full auto completion, field documentations and color previews (color picker) for the HEX format. +By renaming the theme file, Nord aligns to the [official bundled and default themes][87] by adapting to the naming scheme without introducing a breaking change since the theme is identified by it's extension ID as well as the `_metadata` field in the `package.json` and not by the name of the theme file (which would be odd since a theme can provide multiple theme files). + +# 0.11.0 + +![Release Date: 2019-07-21](https://img.shields.io/static/v1.svg?style=flat-square&label=Release%20Date&message=2019-07-21&colorA=4c566a&colorB=88c0d0) [![Project Board](https://img.shields.io/static/v1.svg?style=flat-square&label=Project%20Board&message=0.11.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/20) [![Milestone](https://img.shields.io/static/v1.svg?style=flat-square&label=Milestone&message=0.11.0&colorA=4c566a&colorB=88c0d0)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/16) + +## Features + +**Indent guide lines in explorer tree view** — [#145](https://github.com/arcticicestudio/nord-visual-studio-code/issues/145) ⇄ [#147](https://github.com/arcticicestudio/nord-visual-studio-code/issues/147) (⊶ 54b6b205) by [@octref][24] +↠ Added the `tree.indentGuidesStroke` theme key introduced in [VS Code 1.36.0][85] (June 2019) that adds [support for indent guide lines in the tree view][84]. To adapt to Nord's style and ensure it is still distinguishable from the background when hovering with the mouse, the new brightened comment color based on `nord3` ([5][]) is used. + +

Before

+

+ +

After

+

+ +## Bug Fixes + +**Duplicate feature screenshot in README** — [#141](https://github.com/arcticicestudio/nord-visual-studio-code/issues/141) (⊶ 994cae19) by [@chris78er][83] +↠ Renamed the invalid key `editorWidgetBorder` to the valid `editorWidget.border` key. + +### Documentation + +**Duplicate feature screenshot in README** — [#140](https://github.com/arcticicestudio/nord-visual-studio-code/issues/140) (⊶ 46cce261) +↠ The second block in the [README's _Features_ section][20] made use of the same screenshot two times like already used in the first block that has been fixed by adding and replacing the screenshot showing Go syntax instead. + +# 0.10.0 + +![Release Date: 2019-06-01](https://img.shields.io/badge/Release_Date-2019--06--01-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.10.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/19) [![Milestone](https://img.shields.io/badge/Milestone-0.10.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/15) + +## Features + +**Nord Docs Transition** — [#138](https://github.com/arcticicestudio/nord-visual-studio-code/issues/138) ⇄ [#139](https://github.com/arcticicestudio/nord-visual-studio-code/issues/139) (⊶ ee91f385) +↠ Transferred all documentations, assets and from „Nord Visual Studio Code“ to [Nord Docs][29] +Please see the [corresponding issue in the Nord Docs repository][82] to get an overview of what has changed for Nord Visual Studio Code and what has been done to migrate to Nord Docs. + +###### Landing Page + +

Preview: Nord Visual Studio Code Port Project Landing Page

+ +###### Landing Page Docs + +

Preview: Nord Visual Studio Code Docs Project Landing Page

+ +###### Installation & Activation Docs + +

Preview: Nord Visual Studio Code Docs Installation & Activation Docs Page

+ +###### Customization Docs + +

Preview: Nord Visual Studio Code Docs Customization Docs Page

+ +###### Development Docs + +

Preview: Nord Visual Studio Code Docs Development Docs Page

+ +# 0.9.1 + +![Release Date: 2019-05-26](https://img.shields.io/badge/Release_Date-2019--05--26-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.9.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/18) [![Milestone](https://img.shields.io/badge/Milestone-0.9.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/14) + +# Bug Fixes + +**VSCE artifact build due to restricted SVG image policy** — [#137](https://github.com/arcticicestudio/nord-visual-studio-code/issues/137) (⊶ 97d8b7ee) +↠ Due to the [restricted security policy of the `vsce` packaging and publishing tool][47] the previously used SVG images in the `CHANGELOG.md` have been removed in order to fix the build process. + +# 0.9.0 + +![Release Date: 2019-05-26](https://img.shields.io/badge/Release_Date-2019--05--26-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.9.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/16) [![Milestone](https://img.shields.io/badge/Milestone-0.9.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/13) + +# Features + +**GitHub code owners** — [#129](https://github.com/arcticicestudio/nord-visual-studio-code/issues/129) (⊶ 9fce5d88) +↠ Adapted to GitHub's [code owners][77] feature to define matching pattern for project paths to automatically add all required reviewers of the core team and contributors to new PRs. Read the [GitHub Help article][11] for more details. + +![](https://user-images.githubusercontent.com/2513/27803645-87c9a9c8-5ff8-11e7-91d7-2fa0718e6871.png) + +![](https://user-images.githubusercontent.com/2513/27803663-a4bb073e-5ff8-11e7-9c45-2c3cbdc999cd.png) + +![](https://user-images.githubusercontent.com/2513/27803610-544ba222-5ff8-11e7-9313-e4062315fb0c.png) + +**GitHub issue and pull request templates** — [#130](https://github.com/arcticicestudio/nord-visual-studio-code/issues/130) (⊶ 393640ad) +↠ Integrated GitHub's feature to define [multiple issue templates][81] while the [initial template file][80] is used as a fallback/generic template to link to the specific ones. + +

+ +

+ +Read the [GitHub Help article][15] for more details about issue and pull request templates. Also check out how to manually create [issue templates][16], a [pull request template][14]. and the guide on [how to create the (deprecated) fallback/generic issue template][13]. + +**GitHub Open Source community standards** — [#131](https://github.com/arcticicestudio/nord-visual-studio-code/issues/131) (⊶ 90c6906f) +↠ Inspired _Nord Visual Studio Code's_ project philosophy using GitHub's features for [recommended community standards][78]. It adheres to the great [Open Source Guides][34] and adapted to the recommendations to complete the projects [community profile][9]. + +To facilitate a healthy and constructive community behavior, _Nord Visual Studio Code_ also introduced and enforces a [code of conduct][10]. +Read the [GitHub Help article][10] for more details about the provided integrations. + +The added [contribution guidelines][79] help to build a community that [encourages people to use, contribute to][33], and evangelize the project. + +It includes sections about + +- how to get started +- bug reports +- enhancement suggestions +- pull requests +- style guides + - [JavaScript Style Guide][7] + - [Markdown Style Guide][8] + - [Git Style Guide][6] +- credits + +Read the [GitHub introduction blog post][79] and the [GitHub Help article][12] for more details about the provided integrations. + +**Git mail mapping** — [#132](https://github.com/arcticicestudio/nord-visual-studio-code/issues/132) (⊶ 9fce5d88) +↠ Added a Git [mailmap][27] file to link to in documentations and allow contributors to send mails regarding security issues. This prevents unnecessary overhead of updating all documents when new core team and members and contributors are added and additionally adds the main functionality of the file: Mapping commits when someone uses a different email address. + +

+ +**Introducing _lint-staged_** — [#133](https://github.com/arcticicestudio/nord-visual-studio-code/issues/133) (⊶ 80dee6a1) +↠ Integrated [lint-staged][18] to run linters against staged Git files and prevent adding code that violates any style guide into the code base. + +Read [#133][76] for more details about the configuration and setup. + +

+ +**Introducing _Husky_** — [#134](https://github.com/arcticicestudio/nord-visual-studio-code/issues/134) (⊶ 38a50d65) +↠ Integrated [Husky][17], the tool that make Git hooks easy and can prevent bad Git commits, pushes and more _woof_! + +Read [#18](https://github.com/arcticicestudio/nord-visual-studio-code/issues/18) for more details about the configuration and setup. + +# Improvements + +**Active editor line highlighting** — [#123](https://github.com/arcticicestudio/nord-visual-studio-code/issues/123) ⇄ [#125](https://github.com/arcticicestudio/nord-visual-studio-code/issues/125) (⊶ fbfab3b8) +↠ The currently active editor line now uses `nord1` for both the background and border to match Nord's design principles/guidelines. Previously it was highlighted with `nord2` instead with a opacity of ~32% as background color and additionally used a border with a higher opacity. + +

Before

+ +

+ +

After

+ +

+ +**Active and inactive editor line number highlighting** — [#124](https://github.com/arcticicestudio/nord-visual-studio-code/issues/124) ⇄ [#126](https://github.com/arcticicestudio/nord-visual-studio-code/issues/126) (⊶ 17be33d8) +↠ Inactive editor line numbers now using `nord3` as foreground color while the theme key for the active number `editorLineNumber.activeForeground` has alos been added using `nord4`. Previously inactive editor line numbers used `nord4` with a opacity of ~40% as foreground color and the theme key for the active line number wasn't supported. + +

Before

+ +

+ +

After

+ +

+ +**Refactored project workflow and update dependencies** — [#127](https://github.com/arcticicestudio/nord-visual-studio-code/issues/127) ⇄ [#128](https://github.com/arcticicestudio/nord-visual-studio-code/issues/128) (⊶ 8177b8f3) +↠ To match Arctic Ice Studio's workflow for all projects, the current setup has been refactored including updates for all outdated dependencies, addition of new packages and changes to existing CI/CD tools and NPM scripts. + +- Retired Travis CI — As of Circle CI v2, the features like multi-stage builds and custom workflows are by far sufficient and doesn't require a second CI binding. +- [Circle CI v2.1][75] — Updated to the latest Circle CI version 2.1 for full compatibility and latest features. +- NPM scripts — Refactored all NPM scripts and added new commands to simplify and stabilize the project development process. + +Also updated all outdated development dependencies and added new packages: + +- babel-eslint 8.2.5 ➜ 10.0.1 +- del-cli 1.1.0 🆕 +- eslint 4.19.1 ➜ 5.16.0 +- eslint-config-arcticicestudio-base 0.3.0 ➜ >=0.1.0 <1.0.0 +- eslint-plugin-import 2.13.0 ➜ 2.17.3 +- eslint-plugin-json 1.2.0 ➜ 1.4.0 +- eslint-plugin-prettier 2.6.1 ➜ 3.1.0 +- npm-run-all 4.1.5 🆕 +- prettier 1.13.7 ➜ 1.17.1 +- remark-preset-lint-arcticicestudio >=0.1.0 <1.0.0 +- vsce 1.62.0 🆕 + +New and refactored NPM script commands are + +- `build` — Creates a clean `*.vsix` project artifact using the `vsce` VS Code's official packaging tool. +- `clean` — Cleans the project root directory from previous builds and VSC ignored metadata files. +- `format:pretty` — Extracted from the main `format` command for a better modularity. +- `package` — Packages the project `*.vsix` artifact using the `vsce` VS Code's official packaging tool. + +# 0.8.0 + +![Release Date: 2019-04-11](https://img.shields.io/badge/Release_Date-2019--04--11-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.8.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/15) [![Milestone](https://img.shields.io/badge/Milestone-0.8.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/12) + +## Features + +### UI + +**Background color of inactive keyboard focused list items** — [#107](https://github.com/arcticicestudio/nord-visual-studio-code/issues/107) ⇄ [#116](https://github.com/arcticicestudio/nord-visual-studio-code/issues/116) (⊶ 3e35efb9) by [@octref][24] +↠ Added support for `list.inactiveFocusBackground` theme key used for the background color of the selected item when navigating the file explorer list with the keyboard and moving the focus to another UI component (like the editor). +It has been set to `nord2` with a opacity of 80% to match the style of inactive list items that were focused without the keyboard (`list.inactiveSelectionBackground`). + +

Before

+ +

After

+ +## Improvements + +### Syntax + +**Perl sigils same color as variables** — [#67](https://github.com/arcticicestudio/nord-visual-studio-code/issues/67) (⊶ 698d9bae) by [@marcusramberg][70] +↠ To ensure a consistent highlighting Perl _Sigils_ are now also colorized like variables since they are actually part of the variable. They are now less distracting by using the same color like the variable itself instead of handling them as prefixed characters or a keyword. + +

Before

+ +

After

+ +**Correct colors for JavaScript objects** — [#115](https://github.com/arcticicestudio/nord-visual-studio-code/issues/115) / [#97](https://github.com/arcticicestudio/nord-visual-studio-code/issues/97) (⊶ b0c399cd) by [@samchamberland][72] +↠ Previously JavaScript objects colorized with `nord7` caused by a superfluous definition of the `meta.var.expr` scope selector. This has been changed. This has been changed to correctly use `nord4` for variables. + +

Before

+ +

After

+ +**Better function parameter highlighting in Python** — [#108](https://github.com/arcticicestudio/nord-visual-studio-code/issues/108) ⇄ [#113](https://github.com/arcticicestudio/nord-visual-studio-code/issues/113) (⊶ 840b36c3) by [@Al2Me6][68] +↠ Previously the highlighting for function parameters in Python were colorized with the same color like the function itself (`nord8`) instead of `nord4`. This has been improved by removing the too generic scope `meta.function-call` from the `source.python` scope. + +

Before

+ +

After

+ +**Improved interpolated string literals** — [#106](https://github.com/arcticicestudio/nord-visual-studio-code/issues/106) ⇄ [#114](https://github.com/arcticicestudio/nord-visual-studio-code/issues/114) (⊶ e13ded12) by [@varog-norman][74] +↠ Improved the color for function braces in string templates to use `nord6` instead of `nord14`. Begin and end characters of an interpolated string literal `${}` are now also colorized as keyword (`nord9`) for better visual distinction. + +

Before

+ +

After

+ +**Comment Color Brightness** — [#117](https://github.com/arcticicestudio/nord-visual-studio-code/issues/117)/#14/#72 ⇄ [#118](https://github.com/arcticicestudio/nord-visual-studio-code/issues/118) (⊶ 7e3881b6) +↠ Implemented the frequently requested and long-time outstanding increase of the comment color (`nord3`) brightness by 10% from a lightness level of ~35% to ~45%. + +➜ **Please see [arcticicestudio/nord#94][67] for all details about this design change decision**! + +For users who would like to use the previously used coloring VS Code allows to [customize and override styles of a specific theme][43] through the user settings. To override the highlighting color of comments **only for Nord** the following snippet can be added to the settings (JSON) file: + +

Before

+ +

+ +

After

+ +

+ +```json +"editor.tokenColorCustomizations": { + "[29]": { + "comments": "#4C566A" + } +} +``` + +Please see the official documentation about [user and workspace settings][45] for more details how to customize and configure VS Code. + +### UI + +**Decreased opacity for peek view match highlighting** — [#99](https://github.com/arcticicestudio/nord-visual-studio-code/issues/99) ⇄ [#112](https://github.com/arcticicestudio/nord-visual-studio-code/issues/112) (⊶ 7d9547ea) by [@octref][24] +↠ Previously the opacity for peek view match highlighting was too bright that made it almost impossible to read the underlying text. This has been improved by decreasing the opacity of the used color (`nord8`) to 30%. + +

Before

+ +

After

+ +**Cleaner Git diff view highlighting** — [#105](https://github.com/arcticicestudio/nord-visual-studio-code/issues/105) (⊶ 63fa7d9e) by [@danfo][69] +↠ +Previously the Git diff view used `nord14` with a opacity of 30% to highlight added/modified elements causing some syntax elements like comments to be bad readable. This has now been changed to use `nord9` with a opacity of 20% instead to ensure a better readability and general clearer visual appearance. Also the previously used theme keys `diffEditor.insertedTextBorder` and `diffEditor.removedTextBorder` have been removed for a more clutter-free style. + +

Before

+ +

+ +

After

+ +There is still a lot of potential to improve the highlighting for Git diff views. The feature request [Microsoft/vscode#71663][66] has been requested from the VS Code team to allow theme authors to improve the styles of syntax elements within Git diff scopes which would solve the problem of unreadable elements. + +## Bug Fixes + +### UI + +**Tabs in split views can not be dragged and moved** — [#98](https://github.com/arcticicestudio/nord-visual-studio-code/issues/98) ⇄ [#104](https://github.com/arcticicestudio/nord-visual-studio-code/issues/104) (⊶ 924c1901) by [@mdogadailo][71] and [@sdr0x07b6][73] +↠ Previously the `editorGroup.border` theme key used a transparent color that caused tabs in split views to not being moveable anymore since the underlying logic removes some requires CSS classes. This has been fixed by to a opacity of 1% to fix the tab usage while still keeping the theme ambience (almost invisible for the human eye). + +# 0.7.1 + +![Release Date: 2019-03-22](https://img.shields.io/badge/Release_Date-2019--03--22-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.7.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/14) [![Milestone](https://img.shields.io/badge/Milestone-0.7.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/11) + +## Bug Fixes + +### Documentation + +**Removed not allowed SVG image in changelog** — ⇄ [#60](https://github.com/arcticicestudio/nord-visual-studio-code/issues/60) (⊶ 613b515c) by [@kingdaro][22] +↠ The [40][] doesn't allow to use SVG images in the README or CHANGELOG, therefore the SVG image used in the section of version 0.7.0 has been removed. + +# 0.7.0 + +![Release Date: 2019-03-22](https://img.shields.io/badge/Release_Date-2019--03--22-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.7.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/12) [![Milestone](https://img.shields.io/badge/Milestone-0.7.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/10) + +## Features + +### Syntax Highlighting + +**Support syntax highlighting for TypeScript and TSX** — ⇄ [#60](https://github.com/arcticicestudio/nord-visual-studio-code/issues/60) (⊶ 613b515c) by [@kingdaro][22] +↠ Added basic syntax highlighting support for [36][] and TSX (React JSX) by adding `source.ts` and `source.tsx` classes to existing `source.js` and `source.jsx` scopes. + +### UI + +**Tab mouse hovering and border styles** — [#66](https://github.com/arcticicestudio/nord-visual-studio-code/issues/66) ⇄ [#89](https://github.com/arcticicestudio/nord-visual-studio-code/issues/89) (⊶ 338e06f1) by [@OfficerHalf][25] +↠ Added support for the new theme keys that have been introduced in VS Code version 1.20 to customize the [background and border styles when a tab is hovered][55]. + +

Before

+ +

After

+ +**Highlight active indent guide** — [#69](https://github.com/arcticicestudio/nord-visual-studio-code/issues/69) ⇄ [#90](https://github.com/arcticicestudio/nord-visual-studio-code/issues/90) (⊶ 6b99557e) by [@gulshan][21] and [@OfficerHalf][25] +↠ Added support for the new theme key introduced in VS Code version 1.23 that allows to customize the [highlighting of the active indent guide][62]. + +

+ +**Colorized error and warning file status in explorer** — [#82](https://github.com/arcticicestudio/nord-visual-studio-code/issues/82) ⇄ [#95](https://github.com/arcticicestudio/nord-visual-studio-code/issues/95) (⊶ d5ce00f9) +↠ Added support for the new theme keys introduced in [VS Code 1.24][64] (May 2018) that allows to customize [the color of items in the Explorer with errors and warnings][63]. + +

+ +**Highlight active indent guide** — [#77](https://github.com/arcticicestudio/nord-visual-studio-code/issues/77) ⇄ [#91](https://github.com/arcticicestudio/nord-visual-studio-code/issues/91) (⊶ c0bc5de2) +↠ Added support for the new theme keys introduced in [VS Code 1.18][54] (October 2017) for the [very popular feature request][65] to allow to customize the [Git status in the File Explorer][53] documented in the official [Theme Color Reference][46]. + +

+ +**Coloring of active line number** — [#79](https://github.com/arcticicestudio/nord-visual-studio-code/issues/79) ⇄ [#92](https://github.com/arcticicestudio/nord-visual-studio-code/issues/92) (⊶ e73d2b36) +↠ Added support for the new theme keys introduced in [VS Code 1.21][58] (February 2018) introduced new theme keys for [coloring of active line number][56]. + +

Before

+ +

After

+ +**Editor hints** — [#80](https://github.com/arcticicestudio/nord-visual-studio-code/issues/80) ⇄ [#93](https://github.com/arcticicestudio/nord-visual-studio-code/issues/93) (⊶ d0d6bfd0) +↠ Added support for the new theme keys introduced in [VS Code 1.22][61] (March 2018) allowing to customize [editor "hint" diagnostics][60] that are [shown in the editor][59]. + +

+ +**Tap top borders** — [#81](https://github.com/arcticicestudio/nord-visual-studio-code/issues/81) ⇄ [#94](https://github.com/arcticicestudio/nord-visual-studio-code/issues/94) (⊶ d5a6f7ef) +↠ Added support for new theme keys introduced in [VS Code 1.24][64] (May 2018) that allow to [show a colored border at the top of a tab][63]. Nord defines this keys, but uses a opacity of 0% to hide these lines since they are distracting and doesn't fit Nord's design. + +**Notification Center UI** — [#78](https://github.com/arcticicestudio/nord-visual-studio-code/issues/78) ⇄ [#96](https://github.com/arcticicestudio/nord-visual-studio-code/issues/96) (⊶ 8602df8d) +↠ Added support for new theme keys introduced in [VS Code 1.21][58] (February 2018) that allow to customize the [new notifications UI][57]. + +

+ +## Improvements + +### Syntax Highlighting + +**Underline links in Markdown** — ⇄ [#71](https://github.com/arcticicestudio/nord-visual-studio-code/issues/71) (⊶ 2895e638) by [@octref][24] +↠ Links in Markdown documents are now underlined to make them more visually appealing and prevent rendering inconsistencies that might occur because VS Code's tokenizer is much faster than the linkifying in Markdown causing delays while typing. + +

Before

+ +

After

+ +### UI + +**Quick picker group borders** — [#100](https://github.com/arcticicestudio/nord-visual-studio-code/issues/100) ⇄ [#103](https://github.com/arcticicestudio/nord-visual-studio-code/issues/103) (⊶ 5ba2ac57) by [@octref][24] +↠ Nord now highlights borders of groups within the `view` quick panel again for a better visual distinction and to make it easier to immediately determine what group a specific item is in. +The separators have been disabled in the first place because it made the whole drop-down look divided and broken into multiple pieces and a bit cluttered instead of smooth transitions into the next section. It was still distinguishable through the names of the labels on the right. +However, it was hard to see which item on the left is on the same level as the label to immediately determine what the next item's group. + +

Before

+ +

After

+ +**Font color for labels of `view` quick panel** — [#109](https://github.com/arcticicestudio/nord-visual-studio-code/issues/109) ⇄ [#110](https://github.com/arcticicestudio/nord-visual-studio-code/issues/110) (⊶ 04a9ddf5) +↠ Labels of the `view` quick panel are now colorized with `nord8` instead of `nord4` to make them stand out more. This improvement was born out of a conversation with [@octref][24] in [#100][52]. + +

Before

+ +

After

+ +### Workflow + +**Replaced Gulp with npm scripts** — [#73](https://github.com/arcticicestudio/nord-visual-studio-code/issues/73) ⇄ [#84](https://github.com/arcticicestudio/nord-visual-studio-code/issues/84) (⊶ 68c33d0c) +↠ Completely replaced [28][] with npm scripts. Even though Gulp is a great tool to create simple or complex build workflows with streams, there are also many drawbacks: + +- Gulp plugins often get out of date and don't support new features from the underlying library. +- The project depends on the Gulp plugin author and not the library that is being wrapped. +- Documentation for Gulp plugins are typically not very robust or comprehensive. +- Debugging a Gulp plugin can be frustrating (“Is the problem in the plugin or in the underlying library?“). +- If a plugin doesn't exist already for Gulp you need to write it yourself. +- Errors that occur inside a Gulp wrapper aren't always handled very well. + +All currently implemented Gulp tasks have therefore been migrated to npm scripts by directly using the CLI API of the wrapped library. + +**Updated CI build configurations** — [#83](https://github.com/arcticicestudio/nord-visual-studio-code/issues/83) ⇄ [#85](https://github.com/arcticicestudio/nord-visual-studio-code/issues/85) (⊶ 9eac763f) +↠ Updated the [Circle CI][2] build configuration to the new [API version 2.0][1]. Also both Circle CI and [Travis CI][3] are now configured to test against the latest NodeJS version. + +**Prettier** — [#76](https://github.com/arcticicestudio/nord-visual-studio-code/issues/76) ⇄ [#86](https://github.com/arcticicestudio/nord-visual-studio-code/issues/86) (⊶ 6f2ace5b) +↠ Integrated [35][], an awesomes opinionated code formatter that enforces a consistent style across a large amount of languages by parsing the code and re-printing it. + +

+ +**Arctic Ice Studio ESLint rule set** — [#75](https://github.com/arcticicestudio/nord-visual-studio-code/issues/75) ⇄ [#87](https://github.com/arcticicestudio/nord-visual-studio-code/issues/87) (⊶ c9e0c93d) +↠ The default rule set coming with [4][] has been replaced with [Arctic Ice Studio's custom rule set][31] that adheres to the [Arctic Ice Studio JavaScript code style][7]. + +

+ +**Arctic Ice Studio remark-lint rule preset** — [#74](https://github.com/arcticicestudio/nord-visual-studio-code/issues/74) ⇄ [#88](https://github.com/arcticicestudio/nord-visual-studio-code/issues/88) (⊶ 02721f01) +↠ The default rule set coming with [remark-lint][19] has been replaced with [Arctic Ice Studio's custom rule preset][32] that adheres to the [Arctic Ice Studio Markdown code style][8]. + +## Bug Fixes + +### Documentation + +**Fixed typo in word `cursor`** — ⇄ [#62](https://github.com/arcticicestudio/nord-visual-studio-code/issues/62) (⊶ 967e1bab) by [@Oxyrus][26] +↠ Fixed a typo in the README: `cusror` 🠖 `cursor` + +**Fixed invalid install instructions** — ⇄ [#70](https://github.com/arcticicestudio/nord-visual-studio-code/issues/70) (⊶ 967e1bab) by [@lilyball][23] +↠ Added the missing `arcticicestudio.` author namespace of the VS Code marketplace extension ID separated with a dot in front of the extension name itself to fix the install instructions. + +## Tasks + +### Documentation + +**Migration to MIT license** — [#63](https://github.com/arcticicestudio/nord-visual-studio-code/issues/63) ⇄ [#64](https://github.com/arcticicestudio/nord-visual-studio-code/issues/64) (⊶ b26446a5) +↠ Adapted to the MIT license migration of [29][]. Details can be found in the main task ticket [arcticicestudio/nord#55][30]. + +# 0.6.0 + +![Release Date: 2017-10-11](https://img.shields.io/badge/Release_Date-2017--10--11-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.6.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/11) [![Milestone](https://img.shields.io/badge/Milestone-0.6.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/9) + +## Features + +### UI + +❯ Added new [new theming color keys][51] for highlighting the [overview ruler][42] introduced in Visual Studio Code version 1.16. (#45 in PR [#48](https://github.com/arcticicestudio/nord-visual-studio-code/issues/48), @arcticicestudio, 0459527b) + +

Status Highlighting

Word Highlighting

+ +❯ Added new [new theming color key for title bar border][50] for macOS introduced in Visual Studio Code version 1.15. (#46 in PR [#49](https://github.com/arcticicestudio/nord-visual-studio-code/issues/49), @arcticicestudio, ad564a4d) + +❯ Added new [new theming color keys][51] to determine the activity of tabs via a bottom-border introduced in Visual Studio Code version 1.16. (#47 in PR [#50](https://github.com/arcticicestudio/nord-visual-studio-code/issues/50), @arcticicestudio, aaf7447f) + +## Improvements + +### Syntax + +❯ The punctuation characters of JavaScript template literals are now colorized with `nord10` for better recognizability within the string. Variable properties are now using `nord4` instead of string colors (`nord14`). (#39 PR [#51](https://github.com/arcticicestudio/nord-visual-studio-code/issues/51), @peterdanis, 42ca03c2) + +

Before

After

+ +❯ CSS properties are now colorized with `nord4` to make it easier to distinguish between HTML tags. (#52 in PR [#53](https://github.com/arcticicestudio/nord-visual-studio-code/issues/53), @peterdanis, 9e91ece4) + +![](https://user-images.githubusercontent.com/7836623/31055755-de2428fa-a6c7-11e7-9aeb-b1534d8e634d.png) + +### UI + +❯ The scrollbar was too dark/transparent making it hard to see the current position. This has been changed by using `nord2` instead of `nord1` as color with a transparency of 60% and 66% when hovered and active. (#41 in PR [#43](https://github.com/arcticicestudio/nord-visual-studio-code/issues/43), @peterdanis, b394a7a5) + +

Before


After

+ +## Bug Fixes + +### UI + +❯ The background color of the snap-in split window, which appears when a tab of a tab group is dragged, had the same color as base background (`nord0`). This has been changed to `nord1` with a transparency of 60%. (#40 in PR [#44](https://github.com/arcticicestudio/nord-visual-studio-code/issues/44), @peterdanis, b3e2cb2f) + +

Before
After

+ +## Tasks + +❯ Due to security concerns, [VS Code version 1.14 introduced a change so SVG images are no more rendered within VS Code][49]. (#55 in PR [#56](https://github.com/arcticicestudio/nord-visual-studio-code/issues/56), @kushalpandya, 9e91ece4) + +Nord Visual Studio Code adapted to the following contraints: + +- The icon provided in _package.json_ may not be an SVG. +- The badges provided in the _package.json_ may not be SVGs unless they are from [approved badge providers][41]. +- Image URLs in `README.md` and `CHANGELOG.md` need to resolve to https URLs. +- Images in `README.md` and `CHANGELOG.md` may not be SVGs unless they are from [approved badge providers][41]. +- Images in `README.md` and `CHANGELOG.md` may not use data URIs. + +Additionally, the [footer mountain banner](https://github.com/arcticicestudio/nord/blob/develop/src/assets/banner-footer-mountains.svg) has been changed to PNG format (arcticicestudio/nord#49) and removed the non-HTTPS Arctic Ice Studio logo favicon from the copyright footer line. + +![](https://user-images.githubusercontent.com/7836623/31324602-9f40d5be-acb4-11e7-88b3-f86cf6cdacf1.png) + +❯ A [`.vscodeignore`][48] file has been added to reduce the size of the distributed `vsix` extension package. (#57 in PR [#58](https://github.com/arcticicestudio/nord-visual-studio-code/issues/58), @arcticicestudio @kevinah95, 4660525b) + +This results in a reduced `vsix` extension package size of **almost 99%** from **~4.7 MB to ~41 kB**! + +# 0.5.0 + +![Release Date: 2017-08-07](https://img.shields.io/badge/Release_Date-2017--08--07-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.5.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/8) [![Milestone](https://img.shields.io/badge/Milestone-0.5.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/6) + +## Features + +### UI + +❯ Added support for new workbench theme features for notification styles introduced in VS Code 1.14. Buttons of notifications now using specific setting keys instead of the generic `button.*` and the notification level badges are now also customized using the associated setting keys. (#34 in PR [#36](https://github.com/arcticicestudio/nord-visual-studio-code/issues/36), @ajitid) + +![scrot-feature-ui-notification](https://user-images.githubusercontent.com/7836623/28993120-5430d896-79ae-11e7-8025-c8526db2641e.png) + +![scrot-feature-ui-notification-error](https://user-images.githubusercontent.com/7836623/28993116-4c978dbe-79ae-11e7-82f7-cd4d09d43be1.png) + +![scrot-feature-ui-notification-info](https://user-images.githubusercontent.com/7836623/28993117-4cafc97e-79ae-11e7-8221-b8b4ff7c9c68.png) + +![scrot-feature-ui-notification-warning](https://user-images.githubusercontent.com/7836623/28993118-4cb2bb8e-79ae-11e7-8219-7630d9e2d5a8.png) + +## Improvements + +### UI + +❯ The foreground color for _CodeLenses_ (hints to show references in the code for a specific variable/constant/entity) have been adjusted to match comments, to make it less disturbing and to distinguish it from the actual code. (#33 in PR [#37](https://github.com/arcticicestudio/nord-visual-studio-code/issues/37), @yurlovm) + +# 0.4.2 + +![Release Date: 2017-07-02](https://img.shields.io/badge/Release_Date-2017--07--02-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.4.2-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/10) [![Milestone](https://img.shields.io/badge/Milestone-0.4.2-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/8) + +## Bug Fixes + +❯ Fixed underlined warning squiggles. (@ajitid, [#31](https://github.com/arcticicestudio/nord-visual-studio-code/issues/31), 8158f164) + +

Before

After

+ +❯ Fixed the background color of the status bar when no folder is active which has been unintentionally removed during a merge conflict. (@ajitid, [#32](https://github.com/arcticicestudio/nord-visual-studio-code/issues/32) (#31), 1c01b0d4) + +# 0.4.1 + +![Release Date: 2017-07-01](https://img.shields.io/badge/Release_Date-2017--07--01-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.4.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/9) [![Milestone](https://img.shields.io/badge/Milestone-0.4.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/7) + +## Bug Fixes + +❯ Fixed underlined error squiggles. (@ajitid, [#31](https://github.com/arcticicestudio/nord-visual-studio-code/issues/31), ce23e9cd) + +

Before

After

+ +# 0.4.0 + +![Release Date: 2017-07-01](https://img.shields.io/badge/Release_Date-2017--07--01-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.4.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/7) [![Milestone](https://img.shields.io/badge/Milestone-0.4.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/1) + +[VS Code 1.13](https://code.visualstudio.com/updates/v1_13) has been released including a bunch of [new workbench theme features](https://code.visualstudio.com/updates/v1_13#_new-theming-colors) documented in the official [Theme Color Reference](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-colors). (@arcticicestudio, [#25](https://github.com/arcticicestudio/nord-visual-studio-code/issues/25), PR [#27](https://github.com/arcticicestudio/nord-visual-studio-code/issues/27), 6aff96bb) +(@ajitid, [#24](https://github.com/arcticicestudio/nord-visual-studio-code/issues/24), PR [#28](https://github.com/arcticicestudio/nord-visual-studio-code/issues/28), 6840124e) + +## Features + +### Workbench UI + +❯ Implemented new VS Code 1.13 workbench theme features + +

Bracket Matching
editorBracketMatch.background, editorBracketMatch.border
Before

After

+ +

Editor Ruler
editorRuler.foreground
Before

After

+ +

Gutter VCS
editorGutter.background, editorGutter.modifiedBackground, editorGutter.addedBackground, editorGutter.deletedBackground
Before

After

+ +

Merge Conflicts
merge.currentHeaderBackground, merge.currentContentBackground, merge.incomingHeaderBackground, merge.incomingContentBackground, merge.border, editorOverviewRuler.currentContentForeground, editorOverviewRuler.incomingContentForeground
Before

After

+ +

Placeholder Foreground
input.placeholderForeground
Before

After

+ +

Tab Groups Header Foreground
tab.unfocusedActiveForeground, tab.unfocusedInactiveForeground
Before

After

+ +

Welcome Page
welcomePage.buttonBackground, welcomePage.buttonHoverBackground, walkThrough.embeddedEditorBackground
Before

After

+ +

Badges
badge.foreground, badge.background
Before

After

+ +

Squiggles
Before

After

+ +

Selection Background
selection.background
Before

After

+ +

Extension Buttons
extensionButton.prominentForeground, extensionButton.prominentBackground, extensionButton.prominentHoverBackground
Before

After

+ +

Progress Bar
progressBar.background
Before

After

+ +Next to the changes above the following new workbench theme settings have been adapted to Nord: + +- [Base Colors](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_base-colors) + - `errorForeground` +- [List and Trees](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_lists-and-trees) + - `list.inactiveSelectionForeground` + - `list.hoverForeground` + - `list.focusForeground` +- [Sidebar](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_side-bar) + - `sideBar.foreground` + - `sideBar.border` + - `sideBarSectionHeader.foreground` +- Code Lens + - `editorCodeLens.foreground` +- Overview ruler + - `editorOverviewRuler.border` +- [Editor Widgets](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-widget-colors) + - `editorWidgetBorder` +- [Peek View Colors](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_peek-view-colors) + - `peekViewEditorGutter.background` +- [Status Bar Colors](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_status-bar-colors) + - `statusBar.debuggingForeground` + - `statusBar.noFolderForeground` + - `statusBar.noFolderBackground` + - `statusBar.border` +- [Quick Picker](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_quick-picker) + - `pickerGroup.border` +- [Integrated Terminal Colors](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_integrated-terminal-colors) + - `terminal.background` + - `terminal.foreground` +- [Errors and Warnings](https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-colors) + - `editorError.foreground` + - `editorError.border` + - `editorWarning.foreground` + - `editorWarning.border` + +### Syntax + +❯ Implemented ANSI Terminal colors. (@threeve, PR [#4](https://github.com/arcticicestudio/nord-visual-studio-code/issues/4), 4e5815be) + +

+ +## Improvements + +### Syntax + +❯ Implemented syntax improvements for TypeScript and CSS. (@octref, [#12](https://github.com/arcticicestudio/nord-visual-studio-code/issues/12) PR [#30](https://github.com/arcticicestudio/nord-visual-studio-code/issues/30), c12d0471) + +#### TypeScript + +

Classes/Types/Interfaces
Before

After

+ +

Decorators
Before

After

+ +

Static Classes
Before

After

+ +#### CSS + +

CSS Media Queries
Before

After

+ +

CSS Property Names
Before

After

+ +❯ Implemented syntax improvements for Python. (@ajitid, [#26](https://github.com/arcticicestudio/nord-visual-studio-code/issues/26) PR [#29](https://github.com/arcticicestudio/nord-visual-studio-code/issues/29), 2b19d242) + +

Function calls
Before

After

+ +

self as parameter
Before

After

+ +# 0.3.0 + +![Release Date: 2017-06-11](https://img.shields.io/badge/Release_Date-2017--06--11-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.3.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/6) [![Milestone](https://img.shields.io/badge/Milestone-0.3.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/5) + +## Improvements + +### Syntax + +#### Go + +❯ Readded the _Go_ string format placeholder which has been removed unintentionally after converting from the `.tmTheme` to the new JSON format. (@jsvensson, PR [#16](https://github.com/arcticicestudio/nord-visual-studio-code/issues/16), d5529d59) + +## Bug Fixes + +### UI + +❯ Fixed the scrollbar covering (VCS) code info marker in the right gutter. The scrollbar now has a transparency of 60%. (@Phlicess, [#13](https://github.com/arcticicestudio/nord-visual-studio-code/issues/13), 5bd2c70c) + +

Preview

Hovered

+ +# 0.2.0 + +![Release Date: 2017-05-07](https://img.shields.io/badge/Release_Date-2017--05--07-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.2.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/5) [![Milestone](https://img.shields.io/badge/Milestone-0.2.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/6) + +**Please note that the minimal version for this theme is now >=1.12.0 due to the new VS Code theme- and workbench API!** + +## Features + +### UI + +❯ Implemented full support for the new VS Code theme- and [workbench](https://code.visualstudio.com/docs/getstarted/theme-color-reference) API introduced in version [1.12.0](https://code.visualstudio.com/updates/v1_12#_workbench-theming). (@skbolton, [#8](https://github.com/arcticicestudio/nord-visual-studio-code/issues/8) PR [#11](https://github.com/arcticicestudio/nord-visual-studio-code/issues/11), e25f748b) + +


Icons provided by Material Icon Theme.
Font: Source Code Pro 20px

+ +A complete list of all implemented workbench UI styles can be found in the [README](https://github.com/arcticicestudio/nord-visual-studio-code/blob/develop/README.md#features). + +Thanks to @octref and @Tyriar for testing and providing improvement suggestions! + +

Activity Bar Badges

+ +

Tabs

+ +

Status Bar

+ +

Panels and terminal colors

+ +

Editor Widgets (Search)

+ +

Notifications

+ +

Side Bar Views (Debug)

+ +

Peek View

+ +

Diff Editor

+ +

Peek View

+ +

Validations


+ +

Validations
Active selection

Inactive selection

Active selection with keyboard navigation marker


Active- and inactive selection with hover marker

+ +❯ Implemented support for terminal ANSI colors. (@threeve, PR [#4](https://github.com/arcticicestudio/nord-visual-studio-code/issues/4), 4e5815be) + +

+ +## Improvement + +### Languages + +#### Go + +❯ Implemented highlighting for Go string format placeholders. (@jsvensson, [#7](https://github.com/arcticicestudio/nord-visual-studio-code/issues/7), 92ea6619) + +

+ +### Documentation + +❯ Updated the _Quick Open_ keymapping for OSX. (@uonick, PR [#9](https://github.com/arcticicestudio/nord-visual-studio-code/issues/9), e93694da) + +❯ Changed the shields (badges) style to `flat-square`. (@arcticicestudio, caafb9d5) + +## Bug Fixes + +### Documentation + +❯ Fixed a typo in the project description. (@arcticicestudio, [#6](https://github.com/arcticicestudio/nord-visual-studio-code/issues/6), 8744b392) + +# 0.1.1 + +![Release Date: 2017-02-25](https://img.shields.io/badge/Release_Date-2017--02--25-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.1.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/4) [![Milestone](https://img.shields.io/badge/Milestone-0.1.1-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/3) + +## Bug Fixes + +❯ Fixed uncolored start- and end elements/tags of block comments for various languages. (@Platzer, [#2](https://github.com/arcticicestudio/nord-visual-studio-code/issues/2) [#3](https://github.com/arcticicestudio/nord-visual-studio-code/issues/3), 6db13ea2) + +

Before
After

+ +# 0.1.0 + +![Release Date: 2017-02-18](https://img.shields.io/badge/Release_Date-2017--02--18-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.1.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/projects/3) [![Milestone](https://img.shields.io/badge/Milestone-0.1.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-visual-studio-code/milestone/2) + +**Initial VS Code Marketplace extension release version!** + +## Features + +A complete list of all implemented features can be found in the [README][174] section. + +❯ Implemented the main color theme file [`Nord.tmTheme`][175]. (@arcticicestudio, [#1](https://github.com/arcticicestudio/nord-visual-studio-code/issues/1), 63b16747) + +

+ +Detailed information about features, supported languages and install instructions can be found in the [README][176] and in the [project wiki][177]. + +# 0.0.0 + +![Release Date: 2017-02-18][178] + +**Project Initialization** + + + + + + + +[1]: https://circleci.com/docs/2.0 +[2]: https://circleci.com +[3]: https://travis-ci.org +[4]: https://eslint.org +[5]: https://github.com/arcticicestudio/nord-visual-studio-code/issues/118 +[6]: https://github.com/arcticicestudio/styleguide-git +[7]: https://github.com/arcticicestudio/styleguide-javascript +[8]: https://github.com/arcticicestudio/styleguide-markdown +[9]: https://github.com/arcticicestudio/nord-docs/community +[10]: https://help.github.com/articles/adding-a-code-of-conduct-to-your-project +[11]: https://help.github.com/articles/about-codeowners +[12]: https://help.github.com/articles/setting-guidelines-for-repository-contributors +[13]: https://help.github.com/articles/manually-creating-a-single-issue-template-for-your-repository +[14]: https://help.github.com/articles/creating-issue-templates-for-your-repository +[15]: https://help.github.com/articles/about-issue-and-pull-request-templates +[16]: https://help.github.com/articles/creating-a-pull-request-template-for-your-repository +[17]: https://github.com/typicode/husky +[18]: https://github.com/okonet/lint-staged +[19]: https://github.com/remarkjs/remark-lint +[20]: https://github.com/arcticicestudio/nord-visual-studio-code#features +[21]: https://github.com/gulshan +[22]: https://github.com/kingdaro +[23]: https://github.com/lilyball +[24]: https://github.com/octref +[25]: https://github.com/OfficerHalf +[26]: https://github.com/Oxyrus +[27]: https://git-scm.com/docs/git-shortlog#_mapping_authors +[28]: https://gulpjs.com +[29]: https://www.nordtheme.com +[30]: https://github.com/arcticicestudio/nord/issues/55 +[31]: https://www.npmjs.com/package/eslint-config-arcticicestudio-base +[32]: https://www.npmjs.com/package/remark-preset-lint-arcticicestudio +[33]: https://opensource.guide/how-to-contribute +[34]: https://opensource.guide +[35]: https://prettier.io +[36]: https://www.typescriptlang.org +[37]: https://code.visualstudio.com/updates/v1_46 +[38]: https://code.visualstudio.com/updates/v1_54#_updated-listtree-ui +[39]: https://code.visualstudio.com/updates/v1_57 +[40]: https://github.com/Microsoft/vscode-vsce +[41]: https://code.visualstudio.com/docs/extensionAPI/extension-manifest#_approved-badges +[42]: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-colors +[43]: https://code.visualstudio.com/docs/getstarted/themes#_customizing-a-color-theme +[44]: https://code.visualstudio.com/docs/editor/intellisense +[45]: https://code.visualstudio.com/docs/getstarted/settings +[46]: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_git-colors +[47]: https://code.visualstudio.com/api/working-with-extensions/publishing-extension#publishing-extensions +[48]: https://code.visualstudio.com/docs/extensions/publish-extension#_vscodeignore +[49]: https://code.visualstudio.com/updates/v1_14#_extension-authoring +[50]: https://code.visualstudio.com/updates/v1_15#_new-theme-color-for-title-bar-border +[51]: https://code.visualstudio.com/updates/v1_16#_theming-improvements + + + +[174]: https://github.com/arcticicestudio/nord-visual-studio-code/blob/develop/README.md#features +[175]: https://github.com/arcticicestudio/nord-visual-studio-code/blob/develop/themes/Nord.tmTheme +[176]: https://github.com/arcticicestudio/nord-visual-studio-code/blob/develop/README.md#installation +[177]: https://github.com/arcticicestudio/nord-visual-studio-code/wiki +[178]: https://img.shields.io/badge/Release_Date-2017--02--18-88C0D0.svg?style=flat-square + + + +[52]: https://github.com/arcticicestudio/nord-visual-studio-code/issues/100#issuecomment-426005938 +[53]: https://code.visualstudio.com/updates/v1_18#_git-status-in-file-explorer +[54]: https://code.visualstudio.com/updates/v1_18 +[55]: https://code.visualstudio.com/updates/v1_20#_more-themable-colors-for-editor-tabs +[56]: https://code.visualstudio.com/updates/v1_21#_coloring-of-active-line-number +[57]: https://code.visualstudio.com/updates/v1_21#_new-notifications-ui +[58]: https://code.visualstudio.com/updates/v1_21 +[59]: https://code.visualstudio.com/updates/v1_22#_hints-in-the-editor +[60]: https://code.visualstudio.com/updates/v1_22#_new-theme-colors +[61]: https://code.visualstudio.com/updates/v1_22 +[62]: https://code.visualstudio.com/updates/v1_23#_highlighted-indent-guides +[63]: https://code.visualstudio.com/updates/v1_24#_new-theme-colors +[64]: https://code.visualstudio.com/updates/v1_24 +[65]: https://github.com/Microsoft/vscode/issues/178 + + + +[66]: https://github.com/Microsoft/vscode/issues/71663 +[67]: https://github.com/arcticicestudio/nord/issues/94 +[68]: https://github.com/al2Me6 +[69]: https://github.com/danfo +[70]: https://github.com/marcusramberg +[71]: https://github.com/mdogadailo +[72]: https://github.com/samchamberland +[73]: https://github.com/sdr0x07b6 +[74]: https://github.com/varog-norman + + + +[75]: https://circleci.com/docs/2.0/configuration-reference +[76]: https://github.com/arcticicestudio/nord-visual-studio-code/issues/133 +[77]: https://github.com/blog/2392-introducing-code-owners +[78]: https://github.com/blog/2380-new-community-tools +[79]: https://github.com/blog/1184-contributing-guidelines +[80]: https://blog.github.com/2016-02-17-issue-and-pull-request-templates +[81]: https://blog.github.com/2018-01-25-multiple-issue-and-pull-request-templates + + + +[82]: https://github.com/arcticicestudio/nord-docs/issues/149 + + + +[83]: https://github.com/chris78er +[84]: https://code.visualstudio.com/updates/v1_36#_tree-indent-guides +[85]: https://code.visualstudio.com/updates/v1_36 + + + +[86]: https://github.com/svipas +[87]: https://github.com/microsoft/vscode/tree/master/extensions/theme-abyss/themes +[88]: https://code.visualstudio.com/updates/v1_37#_button-toggle-active-state-in-find-widget +[89]: https://code.visualstudio.com/updates/v1_37#_improved-minimap-search-results-visibility + + + +[90]: https://github.com/feliperenan +[91]: https://github.com/mserajnik +[92]: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls +[93]: https://github.com/microsoft/vscode/blame/752acd504206f00ffe4ed101c2496540d0197f56/src/vs/platform/theme/common/colorRegistry.ts#L164-L170 +[94]: https://github.com/microsoft/vscode/blame/f450e0b1fe3ac26ce6bf8367ff1bd60fb1387a7d/src/vs/platform/theme/common/colorRegistry.ts#L154 +[95]: github.com/microsoft/vscode/issues/26298 +[96]: https://code.visualstudio.com/updates/v1_13 + + + +[97]: https://github.com/aeschli +[98]: https://github.com/microsoft/vscode/wiki/Semantic-Highlighting-Overview +[99]: https://code.visualstudio.com/updates/v1_44#_semantic-tokens-provider-api +[100]: https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#theming +[101]: https://code.visualstudio.com/docs/getstarted/themes#_semantic-highlighting + + + +[102]: https://github.com/kufii +[103]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals +[104]: https://code.visualstudio.com/updates/v1_40 +[105]: https://code.visualstudio.com/updates/v1_40#_activity-bar-indicator +[106]: https://code.visualstudio.com/updates/v1_41#_minimap-decorations-for-errors-warnings-and-content-changes +[107]: https://code.visualstudio.com/updates/v1_43#_minimap-background-and-slider-colors +[108]: https://code.visualstudio.com/updates/v1_45 +[109]: https://code.visualstudio.com/updates/v1_45#_new-theme-color-for-editor-title-border +[110]: https://code.visualstudio.com/api/references/theme-color#minimap + + + +[111]: https://github.com/arcticicestudio/nord-visual-studio-code/compare/v0.15.0...v0.15.1 +[112]: https://www.npmjs.com/package/@arcticicestudio/eslint-config-base + + + +[113]: https://github.com/arcticicestudio/nord-visual-studio-code/compare/v0.15.1...v0.16.0 +[114]: https://code.visualstudio.com/updates/v1_46#_new-debug-console-theme-colors +[115]: https://code.visualstudio.com/updates/v1_57#_updated-quick-pick-suggest-widget-color + + + +[116]: https://github.com/arcticicestudio/nord-visual-studio-code/compare/v0.16.0...v0.17.0 +[117]: https://code.visualstudio.com/updates/v1_46#_new-input-theme-colors +[118]: https://code.visualstudio.com/updates/v1_50 +[119]: https://code.visualstudio.com/updates/v1_50#_new-theme-colors +[120]: https://code.visualstudio.com/updates/v1_52 +[121]: https://code.visualstudio.com/updates/v1_52#_new-theme-colors +[122]: https://code.visualstudio.com/updates/v1_52#_sash-hover-border-color +[123]: https://code.visualstudio.com/updates/v1_52#_ui-improvements +[124]: https://code.visualstudio.com/updates/v1_54 +[125]: https://code.visualstudio.com/updates/v1_56 +[126]: https://code.visualstudio.com/updates/v1_56#_updated-custom-dialogs +[127]: https://code.visualstudio.com/updates/v1_56#_keybinding-label-colors +[128]: https://code.visualstudio.com/updates/v1_57#_new-theme-colors-for-inline-values + + + +[129]: https://github.com/arcticicestudio/nord-visual-studio-code/compare/v0.17.0...v0.17.1 + + + +[130]: https://github.com/arcticicestudio/nord-visual-studio-code/compare/v0.17.1...v0.18.0 +[131]: https://code.visualstudio.com/updates/v1_58 +[132]: https://code.visualstudio.com/updates/v1_58#_markdown-math-formula-syntax-highlighting + + + +[133]: https://www.nordtheme.com/docs/ports/visual-studio-code/customization +[134]: https://github.com/arcticicestudio/styleguide-javascript/releases/tag/v0.11.0 +[135]: https://github.com/arcticicestudio/styleguide-javascript/tree/main/packages/%40arcticicestudio/eslint-config-base +[136]: https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli +[137]: https://github.com/arcticicestudio/nord-visual-studio-code/compare/v0.18.0...v0.19.0 +[138]: https://blog.npmjs.org/post/621733939456933888/npm-v7-series-why-keep-package-lockjson +[139]: https://semver.npmjs.com +[140]: https://code.visualstudio.com/updates/v1_59 +[141]: https://code.visualstudio.com/updates/v1_59#_active-terminal-tab-indicator +[142]: https://code.visualstudio.com/updates/v1_59#_status-bar-warning-colors +[143]: https://code.visualstudio.com/updates/v1_60 +[144]: https://code.visualstudio.com/updates/v1_60#_high-performance-bracket-pair-colorization +[145]: https://code.visualstudio.com/updates/v1_60#_inlay-hints-for-javascript-and-typescript +[146]: https://github.com/babel/babel-eslint +[148]: https://github.com/eslint/eslint/releases/tag/v5.16.0 +[149]: https://github.com/eslint/eslint/releases/tag/v7.32.0 +[150]: https://github.com/import-js/eslint-plugin-import +[151]: https://github.com/import-js/eslint-plugin-import/releases/tag/v2.17.3 +[152]: https://github.com/babel/babel/tree/main/eslint/babel-eslint-parser +[153]: https://github.com/import-js/eslint-plugin-import/releases/tag/v2.24.2 +[154]: https://github.com/prettier/eslint-plugin-prettier +[155]: https://github.com/prettier/eslint-plugin-prettier/releases/tag/v3.1.0 +[156]: https://github.com/prettier/eslint-plugin-prettier/releases/tag/v4.0.0 +[158]: https://github.com/prettier/prettier/releases/tag/1.17.1 +[159]: https://github.com/prettier/prettier/releases/tag/2.4.1 +[160]: https://remark.js.org +[161]: https://github.com/remarkjs/remark/releases/tag/remark-cli%406.0.1 +[162]: https://github.com/remarkjs/remark/releases/tag/remark-cli%409.0.0 +[163]: https://github.com/azeemba/eslint-plugin-json +[164]: https://github.com/arcticicestudio/styleguide-markdown/tree/main/packages/%40arcticicestudio/remark-preset-lint +[166]: https://github.com/ota-meshi/eslint-plugin-jsonc +[168]: https://github.com/microsoft/vscode-vsce/releases/tag/v1.62.0 +[169]: https://github.com/microsoft/vscode-vsce/releases/tag/v1.100.0 +[170]: https://komkom.github.io +[171]: https://github.com/sindresorhus/del-cli +[172]: https://github.com/sindresorhus/del-cli/releases/tag/v1.1.0 +[173]: https://github.com/sindresorhus/del-cli/releases/tag/v4.0.1 diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/LICENSE.txt b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/LICENSE.txt new file mode 100644 index 00000000..cd0b7b11 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/LICENSE.txt @@ -0,0 +1,22 @@ +MIT License (MIT) + +Copyright (C) 2017-present Arctic Ice Studio (https://www.arcticicestudio.com) +Copyright (C) 2017-present Sven Greb (https://www.svengreb.de) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/README.md b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/README.md new file mode 100644 index 00000000..eabbcd53 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/README.md @@ -0,0 +1,95 @@ +

+ +

+ +

+ +

+ +

+ +

An arctic, north-bluish clean and elegant Visual Studio Code theme.

+ +

Designed for a fluent and clear workflow based on the Nord color palette.

+ +

+ +## Getting Started + +Visit the [official website][nord-home] to learn all about the [syntax highlighting][nord-home#syntax] features, details and elements of the [UI and editor elements][nord-home#editor-details] and the [one-click setup][nord-home#setup]. + +Learn about the [installation and activation][nord-docs-home-install], how to [customize][nord-docs-home-custom] and [develop][nord-docs-home-develop] the theme from the [official documentations][nord-docs-home]. + +### Quick Start + +Thanks to the official [VS Code Extension Marketplace][vscode-extmarket-home], _Nord Visual Studio Code_ can be installed with one click. + +Open the [extension marketplace][vscode-docs-extmarket] by clicking on the _Extensions_ icon in the [_Activity Bar_][vscode-docs-ui-actbar]. Search for `Nord` and click on the Install button. + +

+ +See Nord Visual Studio Code's documentation for details about more installation options like a [manual import through a local VSIX extension file][nord-docs-home-install#local]. + +#### Activation + +To activate the theme click on the gear icon in the _Activity Bar_ and select _Color Theme_. Search for `Nord` and confirm the color theme change with Enter. + +

+ +See Nord Visual Studio Code's documentation for details about [more activation options][nord-docs-home-install#activation]. + +## Features + +

Your IDE. Your style.

A unified UI and editor syntax element design provides a clutter-free and fluidly merging appearance.

+ +

+ +

Beautiful code to keep focused.

The editor color scheme supports a wide range of programming languages — From bundled definitions up to many popular third-party syntax extensions.

+ +

+ +

Small details with unobtrusive styles.

Popular and common code editor features like search result marker and brace matching are designed to get out of your way with a visually attractive appearance.

+ +

+ +## Contributing + +Nord is an open source project and we love to receive contributions from the [community][nord-comm]! + +There are many ways to contribute, from [writing- and improving documentation and tutorials][nord-contrib-guide-docs], [reporting bugs][nord-contrib-guide-bugs], [submitting enhancement suggestions][nord-contrib-guide-enhance] that can be added to Nord by [submitting pull requests][nord-contrib-guide-pr]. + +Please take a moment to read Nord's full [contributing guide][nord-contrib-guide] to learn about the development process, the project's used [styleguides][nord-contrib-guide-styles], [branch organization][nord-contrib-guide-branching] and [versioning][nord-contrib-guide-versioning] model. + +The guide also includes information about [minimal, complete, and verifiable examples][nord-contrib-guide-mcve] and other ways to contribute to the project like [improving existing issues][nord-contrib-guide-impr-issues] and [giving feedback on issues and pull requests][nord-contrib-guide-feedback]. + +

+ +

Copyright © 2017-present Arctic Ice Studio and Sven Greb

+ +

+ +[nord-comm]: https://www.nordtheme.com/community +[nord-contrib-guide-branching]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#branch-organization +[nord-contrib-guide-bugs]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#bug-reports +[nord-contrib-guide-docs]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#documentations +[nord-contrib-guide-enhance]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#enhancement-suggestions +[nord-contrib-guide-feedback]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#give-feedback-on-issues-and-pull-requests +[nord-contrib-guide-impr-issues]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#improve-issues +[nord-contrib-guide-mcve]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#mcve +[nord-contrib-guide-pr]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#pull-requests +[nord-contrib-guide-styles]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#styleguides +[nord-contrib-guide-versioning]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md#versioning +[nord-contrib-guide]: https://github.com/arcticicestudio/nord/blob/develop/CONTRIBUTING.md +[nord-docs-home-custom]: https://www.nordtheme.com/docs/ports/visual-studio-code/customization +[nord-docs-home-develop]: https://www.nordtheme.com/docs/ports/visual-studio-code/development +[nord-docs-home-install]: https://www.nordtheme.com/docs/ports/visual-studio-code/installation +[nord-docs-home-install#activation]: https://www.nordtheme.com/docs/ports/visual-studio-code/installation#activation +[nord-docs-home-install#local]: https://www.nordtheme.com/docs/ports/visual-studio-code/installation#local-installation +[nord-docs-home]: https://www.nordtheme.com/docs/ports/visual-studio-code +[nord-home]: https://www.nordtheme.com/ports/visual-studio-code +[nord-home#editor-details]: https://www.nordtheme.com/ports/visual-studio-code#editor-details +[nord-home#setup]: https://www.nordtheme.com/ports/visual-studio-code#setup +[nord-home#syntax]: https://www.nordtheme.com/ports/visual-studio-code#syntax +[vscode-docs-extmarket]: https://code.visualstudio.com/docs/editor/extension-gallery +[vscode-docs-ui-actbar]: https://code.visualstudio.com/docs/getstarted/userinterface#_activity-bar +[vscode-extmarket-home]: https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/assets/extension-marketplace-icon-2x.png b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/assets/extension-marketplace-icon-2x.png new file mode 100644 index 00000000..0b00ec67 Binary files /dev/null and b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/assets/extension-marketplace-icon-2x.png differ diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/assets/extension-marketplace-icon.png b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/assets/extension-marketplace-icon.png new file mode 100644 index 00000000..5958a02a Binary files /dev/null and b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/assets/extension-marketplace-icon.png differ diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/package.json b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/package.json new file mode 100644 index 00000000..6e5b7160 --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/package.json @@ -0,0 +1,107 @@ +{ + "name": "nord-visual-studio-code", + "displayName": "Nord", + "description": "An arctic, north-bluish clean and elegant Visual Studio Code theme.", + "version": "0.19.0", + "publisher": "arcticicestudio", + "author": { + "name": "Arctic Ice Studio", + "email": "development@arcticicestudio.com", + "url": "https://www.arcticicestudio.com" + }, + "homepage": "https://github.com/arcticicestudio/nord-visual-studio-code", + "repository": { + "type": "git", + "url": "https://github.com/arcticicestudio/nord-visual-studio-code" + }, + "bugs": { + "url": "https://github.com/arcticicestudio/nord-visual-studio-code/issues" + }, + "license": "MIT", + "engines": { + "node": ">=15.13", + "npm": ">=7.7", + "vscode": "^1.12.0" + }, + "galleryBanner": { + "color": "#2E3440", + "theme": "dark" + }, + "icon": "assets/extension-marketplace-icon.png", + "markdown": "github", + "categories": [ + "Themes" + ], + "keywords": [ + "arctic", + "north", + "bluish", + "clean", + "elegant" + ], + "badges": [ + { + "url": "https://vsmarketplacebadge.apphb.com/version/arcticicestudio.nord-visual-studio-code.svg", + "href": "https://marketplace.visualstudio.com/items/arcticicestudio.nord-visual-studio-code", + "description": "Extension version" + }, + { + "url": "https://vsmarketplacebadge.apphb.com/installs/arcticicestudio.nord-visual-studio-code.svg", + "href": "https://marketplace.visualstudio.com/items/arcticicestudio.nord-visual-studio-code", + "description": "Extension installs" + }, + { + "url": "https://vsmarketplacebadge.apphb.com/rating/arcticicestudio.nord-visual-studio-code.svg", + "href": "https://marketplace.visualstudio.com/items/arcticicestudio.nord-visual-studio-code", + "description": "Extension Rating" + } + ], + "contributes": { + "themes": [ + { + "label": "Nord", + "uiTheme": "vs-dark", + "path": "./themes/nord-color-theme.json" + } + ] + }, + "scripts": { + "build": "run-s clean package", + "clean": "del *.vsix", + "format": "run-s format:pretty format:fix", + "format:fix": "eslint --fix --ext .js,.json .", + "format:pretty": "prettier --write .", + "lint": "run-s lint:*", + "lint:ci:pretty": "prettier --loglevel silent --check .", + "lint:js": "eslint --ext .", + "lint:json": "eslint --ext .json .", + "lint:md": "remark --no-stdout . \".github/**/*.md\"", + "package": "vsce package", + "vsce:publish": "vsce publish", + "prepare:husky": "husky install", + "prepare": "run-s prepare:*" + }, + "devDependencies": { + "@arcticicestudio/eslint-config-base": ">=0.11.0 <1.0.0", + "@arcticicestudio/remark-preset-lint": ">=0.4.0 <1.0.0", + "@babel/eslint-parser": "^7.15.7", + "del-cli": "^4.0.1", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-import": "^2.24.2", + "eslint-plugin-jsonc": "^1.7.0", + "eslint-plugin-prettier": "^4.0.0", + "husky": "^7.0.2", + "lint-staged": "^11.1.2", + "npm-run-all": "^4.1.5", + "prettier": "^2.4.1", + "remark-cli": "^9.0.0", + "vsce": "^1.100.0" + }, + "__metadata": { + "id": "6f35c257-7fd5-4bc2-9cd1-01976589c17a", + "publisherId": "d6e09771-ef61-4944-9f28-44e338818618", + "publisherDisplayName": "arcticicestudio", + "installedTimestamp": 1632763322301 + } +} \ No newline at end of file diff --git a/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/themes/nord-color-theme.json b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/themes/nord-color-theme.json new file mode 100644 index 00000000..480bf9ab --- /dev/null +++ b/.vscode/extensions/arcticicestudio.nord-visual-studio-code-0.19.0/themes/nord-color-theme.json @@ -0,0 +1,1353 @@ +{ + "name": "Nord", + "type": "dark", + "semanticHighlighting": true, + "colors": { + "focusBorder": "#3b4252", + "foreground": "#d8dee9", + "activityBar.background": "#2e3440", + "activityBar.dropBackground": "#3b4252", + "activityBar.foreground": "#d8dee9", + "activityBar.activeBorder": "#88c0d0", + "activityBar.activeBackground": "#3b4252", + "activityBarBadge.background": "#88c0d0", + "activityBarBadge.foreground": "#2e3440", + "badge.foreground": "#2e3440", + "badge.background": "#88c0d0", + "button.background": "#88c0d0ee", + "button.foreground": "#2e3440", + "button.hoverBackground": "#88c0d0", + "button.secondaryBackground": "#434c5e", + "button.secondaryForeground": "#d8dee9", + "button.secondaryHoverBackground": "#4c566a", + "charts.red": "#bf616a", + "charts.blue": "#81a1c1", + "charts.yellow": "#ebcb8b", + "charts.orange": "#d08770", + "charts.green": "#a3be8c", + "charts.purple": "#b48ead", + "charts.foreground": "#d8dee9", + "charts.lines": "#88c0d0", + "debugConsole.infoForeground": "#88c0d0", + "debugConsole.warningForeground": "#ebcb8b", + "debugConsole.errorForeground": "#bf616a", + "debugConsole.sourceForeground": "#616e88", + "debugConsoleInputIcon.foreground": "#81a1c1", + "debugExceptionWidget.background": "#4c566a", + "debugExceptionWidget.border": "#2e3440", + "debugToolBar.background": "#3b4252", + "descriptionForeground": "#d8dee9e6", + "diffEditor.insertedTextBackground": "#81a1c133", + "diffEditor.removedTextBackground": "#bf616a4d", + "dropdown.background": "#3b4252", + "dropdown.border": "#3b4252", + "dropdown.foreground": "#d8dee9", + "editorActiveLineNumber.foreground": "#d8dee9cc", + "editorCursor.foreground": "#d8dee9", + "editorHint.border": "#ebcb8b00", + "editorHint.foreground": "#ebcb8b", + "editorIndentGuide.background": "#434c5eb3", + "editorIndentGuide.activeBackground": "#4c566a", + "editorInlayHint.background": "#434c5e", + "editorInlayHint.foreground": "#d8dee9", + "editorLineNumber.foreground": "#4c566a", + "editorLineNumber.activeForeground": "#d8dee9", + "editorWhitespace.foreground": "#4c566ab3", + "editorWidget.background": "#2e3440", + "editorWidget.border": "#3b4252", + "editor.background": "#2e3440", + "editor.foreground": "#d8dee9", + "editor.hoverHighlightBackground": "#3b4252", + "editor.findMatchBackground": "#88c0d066", + "editor.findMatchHighlightBackground": "#88c0d033", + "editor.findRangeHighlightBackground": "#88c0d033", + "editor.lineHighlightBackground": "#3b4252", + "editor.lineHighlightBorder": "#3b4252", + "editor.inactiveSelectionBackground": "#434c5ecc", + "editor.inlineValuesBackground": "#4c566a", + "editor.inlineValuesForeground": "#eceff4", + "editor.selectionBackground": "#434c5ecc", + "editor.selectionHighlightBackground": "#434c5ecc", + "editor.rangeHighlightBackground": "#434c5e52", + "editor.wordHighlightBackground": "#81a1c166", + "editor.wordHighlightStrongBackground": "#81a1c199", + "editor.stackFrameHighlightBackground": "#5e81ac", + "editor.focusedStackFrameHighlightBackground": "#5e81ac", + "editorError.foreground": "#bf616a", + "editorError.border": "#bf616a00", + "editorWarning.foreground": "#ebcb8b", + "editorWarning.border": "#ebcb8b00", + "editorBracketMatch.background": "#2e344000", + "editorBracketMatch.border": "#88c0d0", + "editorBracketHighlight.foreground1": "#8fbcbb", + "editorBracketHighlight.foreground2": "#88c0d0", + "editorBracketHighlight.foreground3": "#81a1c1", + "editorBracketHighlight.foreground4": "#5e81ac", + "editorBracketHighlight.foreground5": "#8fbcbb", + "editorBracketHighlight.foreground6": "#88c0d0", + "editorBracketHighlight.unexpectedBracket.foreground": "#bf616a", + "editorCodeLens.foreground": "#4c566a", + "editorGroup.background": "#2e3440", + "editorGroup.border": "#3b425201", + "editorGroup.dropBackground": "#3b425299", + "editorGroupHeader.border": "#3b425200", + "editorGroupHeader.noTabsBackground": "#2e3440", + "editorGroupHeader.tabsBackground": "#2e3440", + "editorGroupHeader.tabsBorder": "#3b425200", + "editorGutter.background": "#2e3440", + "editorGutter.modifiedBackground": "#ebcb8b", + "editorGutter.addedBackground": "#a3be8c", + "editorGutter.deletedBackground": "#bf616a", + "editorHoverWidget.background": "#3b4252", + "editorHoverWidget.border": "#3b4252", + "editorLink.activeForeground": "#88c0d0", + "editorMarkerNavigation.background": "#5e81acc0", + "editorMarkerNavigationError.background": "#bf616ac0", + "editorMarkerNavigationWarning.background": "#ebcb8bc0", + "editorOverviewRuler.border": "#3b4252", + "editorOverviewRuler.currentContentForeground": "#3b4252", + "editorOverviewRuler.incomingContentForeground": "#3b4252", + "editorOverviewRuler.findMatchForeground": "#88c0d066", + "editorOverviewRuler.rangeHighlightForeground": "#88c0d066", + "editorOverviewRuler.selectionHighlightForeground": "#88c0d066", + "editorOverviewRuler.wordHighlightForeground": "#88c0d066", + "editorOverviewRuler.wordHighlightStrongForeground": "#88c0d066", + "editorOverviewRuler.modifiedForeground": "#ebcb8b", + "editorOverviewRuler.addedForeground": "#a3be8c", + "editorOverviewRuler.deletedForeground": "#bf616a", + "editorOverviewRuler.errorForeground": "#bf616a", + "editorOverviewRuler.warningForeground": "#ebcb8b", + "editorOverviewRuler.infoForeground": "#81a1c1", + "editorRuler.foreground": "#434c5e", + "editorSuggestWidget.background": "#2e3440", + "editorSuggestWidget.border": "#3b4252", + "editorSuggestWidget.foreground": "#d8dee9", + "editorSuggestWidget.focusHighlightForeground": "#88c0d0", + "editorSuggestWidget.highlightForeground": "#88c0d0", + "editorSuggestWidget.selectedBackground": "#434c5e", + "editorSuggestWidget.selectedForeground": "#d8dee9", + "extensionButton.prominentForeground": "#d8dee9", + "extensionButton.prominentBackground": "#434c5e", + "extensionButton.prominentHoverBackground": "#4c566a", + "errorForeground": "#bf616a", + "gitDecoration.modifiedResourceForeground": "#ebcb8b", + "gitDecoration.deletedResourceForeground": "#bf616a", + "gitDecoration.untrackedResourceForeground": "#a3be8c", + "gitDecoration.ignoredResourceForeground": "#d8dee966", + "gitDecoration.conflictingResourceForeground": "#5e81ac", + "gitDecoration.submoduleResourceForeground": "#8fbcbb", + "gitDecoration.stageDeletedResourceForeground": "#bf616a", + "gitDecoration.stageModifiedResourceForeground": "#ebcb8b", + "input.background": "#3b4252", + "input.foreground": "#d8dee9", + "input.placeholderForeground": "#d8dee999", + "input.border": "#3b4252", + "inputOption.activeBackground": "#5e81ac", + "inputOption.activeBorder": "#5e81ac", + "inputOption.activeForeground": "#eceff4", + "inputValidation.errorBackground": "#bf616a", + "inputValidation.errorBorder": "#bf616a", + "inputValidation.infoBackground": "#81a1c1", + "inputValidation.infoBorder": "#81a1c1", + "inputValidation.warningBackground": "#d08770", + "inputValidation.warningBorder": "#d08770", + "keybindingLabel.background": "#4c566a", + "keybindingLabel.border": "#4c566a", + "keybindingLabel.bottomBorder": "#4c566a", + "keybindingLabel.foreground": "#d8dee9", + "list.activeSelectionBackground": "#88c0d0", + "list.activeSelectionForeground": "#2e3440", + "list.inactiveSelectionBackground": "#434c5e", + "list.inactiveSelectionForeground": "#d8dee9", + "list.inactiveFocusBackground": "#434c5ecc", + "list.hoverForeground": "#eceff4", + "list.focusForeground": "#d8dee9", + "list.focusBackground": "#88c0d099", + "list.focusHighlightForeground": "#eceff4", + "list.hoverBackground": "#3b4252", + "list.dropBackground": "#88c0d099", + "list.highlightForeground": "#88c0d0", + "list.errorForeground": "#bf616a", + "list.warningForeground": "#ebcb8b", + "merge.currentHeaderBackground": "#81a1c166", + "merge.currentContentBackground": "#81a1c14d", + "merge.incomingHeaderBackground": "#8fbcbb66", + "merge.incomingContentBackground": "#8fbcbb4d", + "merge.border": "#3b425200", + "minimap.background": "#2e3440", + "minimap.errorHighlight": "#bf616acc", + "minimap.findMatchHighlight": "#88c0d0", + "minimap.selectionHighlight": "#88c0d0cc", + "minimap.warningHighlight": "#ebcb8bcc", + "minimapGutter.addedBackground": "#a3be8c", + "minimapGutter.deletedBackground": "#bf616a", + "minimapGutter.modifiedBackground": "#ebcb8b", + "minimapSlider.activeBackground": "#434c5eaa", + "minimapSlider.background": "#434c5e99", + "minimapSlider.hoverBackground": "#434c5eaa", + + /* `notification.*` keys are legacy support for VS Code versions >1.21.0 */ + "notification.background": "#3b4252", + "notification.buttonBackground": "#434c5e", + "notification.buttonForeground": "#d8dee9", + "notification.buttonHoverBackground": "#4c566a", + "notification.errorBackground": "#bf616a", + "notification.errorForeground": "#2e3440", + "notification.foreground": "#d8dee9", + "notification.infoBackground": "#88c0d0", + "notification.infoForeground": "#2e3440", + "notification.warningBackground": "#ebcb8b", + "notification.warningForeground": "#2e3440", + + "notificationCenter.border": "#3b425200", + "notificationCenterHeader.background": "#2e3440", + "notificationCenterHeader.foreground": "#88c0d0", + "notificationLink.foreground": "#88c0d0", + "notifications.background": "#3b4252", + "notifications.border": "#2e3440", + "notifications.foreground": "#d8dee9", + "notificationToast.border": "#3b425200", + + "panel.background": "#2e3440", + "panel.border": "#3b4252", + "panelTitle.activeBorder": "#88c0d000", + "panelTitle.activeForeground": "#88c0d0", + "panelTitle.inactiveForeground": "#d8dee9", + "peekView.border": "#4c566a", + "peekViewEditor.background": "#2e3440", + "peekViewEditorGutter.background": "#2e3440", + "peekViewEditor.matchHighlightBackground": "#88c0d04d", + "peekViewResult.background": "#2e3440", + "peekViewResult.fileForeground": "#88c0d0", + "peekViewResult.lineForeground": "#d8dee966", + "peekViewResult.matchHighlightBackground": "#88c0d0cc", + "peekViewResult.selectionBackground": "#434c5e", + "peekViewResult.selectionForeground": "#d8dee9", + "peekViewTitle.background": "#3b4252", + "peekViewTitleDescription.foreground": "#d8dee9", + "peekViewTitleLabel.foreground": "#88c0d0", + "pickerGroup.border": "#3b4252", + "pickerGroup.foreground": "#88c0d0", + "progressBar.background": "#88c0d0", + "quickInputList.focusBackground": "#88c0d0", + "quickInputList.focusForeground": "#2e3440", + "sash.hoverBorder": "#88c0d0", + "scrollbar.shadow": "#00000066", + "scrollbarSlider.activeBackground": "#434c5eaa", + "scrollbarSlider.background": "#434c5e99", + "scrollbarSlider.hoverBackground": "#434c5eaa", + "selection.background": "#88c0d099", + "sideBar.background": "#2e3440", + "sideBar.foreground": "#d8dee9", + "sideBar.border": "#3b4252", + "sideBarSectionHeader.background": "#3b4252", + "sideBarSectionHeader.foreground": "#d8dee9", + "sideBarTitle.foreground": "#d8dee9", + "statusBar.background": "#3b4252", + "statusBar.debuggingBackground": "#5e81ac", + "statusBar.debuggingForeground": "#d8dee9", + "statusBar.noFolderForeground": "#d8dee9", + "statusBar.noFolderBackground": "#3b4252", + "statusBar.foreground": "#d8dee9", + "statusBarItem.activeBackground": "#4c566a", + "statusBarItem.hoverBackground": "#434c5e", + "statusBarItem.prominentBackground": "#3b4252", + "statusBarItem.prominentHoverBackground": "#434c5e", + "statusBarItem.errorBackground": "#3b4252", + "statusBarItem.errorForeground": "#bf616a", + "statusBarItem.warningBackground": "#ebcb8b", + "statusBarItem.warningForeground": "#2e3440", + "statusBar.border": "#3b425200", + "tab.activeBackground": "#3b4252", + "tab.activeForeground": "#d8dee9", + "tab.border": "#3b425200", + "tab.activeBorder": "#88c0d000", + "tab.unfocusedActiveBorder": "#88c0d000", + "tab.inactiveBackground": "#2e3440", + "tab.inactiveForeground": "#d8dee966", + "tab.unfocusedActiveForeground": "#d8dee999", + "tab.unfocusedInactiveForeground": "#d8dee966", + "tab.hoverBackground": "#3b4252cc", + "tab.unfocusedHoverBackground": "#3b4252b3", + "tab.hoverBorder": "#88c0d000", + "tab.unfocusedHoverBorder": "#88c0d000", + "tab.activeBorderTop": "#88c0d000", + "tab.unfocusedActiveBorderTop": "#88c0d000", + "tab.lastPinnedBorder": "#4c566a", + "terminal.background": "#2e3440", + "terminal.foreground": "#d8dee9", + "terminal.ansiBlack": "#3b4252", + "terminal.ansiRed": "#bf616a", + "terminal.ansiGreen": "#a3be8c", + "terminal.ansiYellow": "#ebcb8b", + "terminal.ansiBlue": "#81a1c1", + "terminal.ansiMagenta": "#b48ead", + "terminal.ansiCyan": "#88c0d0", + "terminal.ansiWhite": "#e5e9f0", + "terminal.ansiBrightBlack": "#4c566a", + "terminal.ansiBrightRed": "#bf616a", + "terminal.ansiBrightGreen": "#a3be8c", + "terminal.ansiBrightYellow": "#ebcb8b", + "terminal.ansiBrightBlue": "#81a1c1", + "terminal.ansiBrightMagenta": "#b48ead", + "terminal.ansiBrightCyan": "#8fbcbb", + "terminal.ansiBrightWhite": "#eceff4", + "terminal.tab.activeBorder": "#88c0d0", + "textBlockQuote.background": "#3b4252", + "textBlockQuote.border": "#81a1c1", + "textCodeBlock.background": "#4c566a", + "textLink.activeForeground": "#88c0d0", + "textLink.foreground": "#88c0d0", + "textPreformat.foreground": "#8fbcbb", + "textSeparator.foreground": "#eceff4", + "titleBar.activeBackground": "#2e3440", + "titleBar.activeForeground": "#d8dee9", + "titleBar.border": "#2e344000", + "titleBar.inactiveBackground": "#2e3440", + "titleBar.inactiveForeground": "#d8dee966", + "tree.indentGuidesStroke": "#616e88", + "walkThrough.embeddedEditorBackground": "#2e3440", + "welcomePage.buttonBackground": "#434c5e", + "welcomePage.buttonHoverBackground": "#4c566a", + "widget.shadow": "#00000066" + }, + "tokenColors": [ + { + "settings": { + "foreground": "#d8dee9ff", + "background": "#2e3440ff" + } + }, + { + "scope": "emphasis", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "strong", + "settings": { + "fontStyle": "bold" + } + }, + { + "name": "Comment", + "scope": "comment", + "settings": { + "foreground": "#616E88" + } + }, + { + "name": "Constant Character", + "scope": "constant.character", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "Constant Character Escape", + "scope": "constant.character.escape", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "Constant Language", + "scope": "constant.language", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Constant Numeric", + "scope": "constant.numeric", + "settings": { + "foreground": "#B48EAD" + } + }, + { + "name": "Constant Regexp", + "scope": "constant.regexp", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "Entity Name Class/Type", + "scope": ["entity.name.class", "entity.name.type.class"], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "Entity Name Function", + "scope": "entity.name.function", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "Entity Name Tag", + "scope": "entity.name.tag", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Entity Other Attribute Name", + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "Entity Other Inherited Class", + "scope": "entity.other.inherited-class", + "settings": { + "fontStyle": "bold", + "foreground": "#8FBCBB" + } + }, + { + "name": "Invalid Deprecated", + "scope": "invalid.deprecated", + "settings": { + "foreground": "#D8DEE9", + "background": "#EBCB8B" + } + }, + { + "name": "Invalid Illegal", + "scope": "invalid.illegal", + "settings": { + "foreground": "#D8DEE9", + "background": "#BF616A" + } + }, + { + "name": "Keyword", + "scope": "keyword", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Keyword Operator", + "scope": "keyword.operator", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Keyword Other New", + "scope": "keyword.other.new", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Markup Bold", + "scope": "markup.bold", + "settings": { + "fontStyle": "bold" + } + }, + { + "name": "Markup Changed", + "scope": "markup.changed", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "Markup Deleted", + "scope": "markup.deleted", + "settings": { + "foreground": "#BF616A" + } + }, + { + "name": "Markup Inserted", + "scope": "markup.inserted", + "settings": { + "foreground": "#A3BE8C" + } + }, + { + "name": "Meta Preprocessor", + "scope": "meta.preprocessor", + "settings": { + "foreground": "#5E81AC" + } + }, + { + "name": "Punctuation", + "scope": "punctuation", + "settings": { + "foreground": "#ECEFF4" + } + }, + { + "name": "Punctuation Definition Parameters", + "scope": [ + "punctuation.definition.method-parameters", + "punctuation.definition.function-parameters", + "punctuation.definition.parameters" + ], + "settings": { + "foreground": "#ECEFF4" + } + }, + { + "name": "Punctuation Definition Tag", + "scope": "punctuation.definition.tag", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Punctuation Definition Comment", + "scope": [ + "punctuation.definition.comment", + "punctuation.end.definition.comment", + "punctuation.start.definition.comment" + ], + "settings": { + "foreground": "#616E88" + } + }, + { + "name": "Punctuation Section", + "scope": "punctuation.section", + "settings": { + "foreground": "#ECEFF4" + } + }, + { + "name": "Punctuation Section Embedded", + "scope": ["punctuation.section.embedded.begin", "punctuation.section.embedded.end"], + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Punctuation Terminator", + "scope": "punctuation.terminator", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Punctuation Variable", + "scope": "punctuation.definition.variable", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Storage", + "scope": "storage", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "String", + "scope": "string", + "settings": { + "foreground": "#A3BE8C" + } + }, + { + "name": "String Regexp", + "scope": "string.regexp", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "Support Class", + "scope": "support.class", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "Support Constant", + "scope": "support.constant", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Support Function", + "scope": "support.function", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "Support Function Construct", + "scope": "support.function.construct", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Support Type", + "scope": "support.type", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "Support Type Exception", + "scope": "support.type.exception", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "Token Debug", + "scope": "token.debug-token", + "settings": { + "foreground": "#b48ead" + } + }, + { + "name": "Token Error", + "scope": "token.error-token", + "settings": { + "foreground": "#bf616a" + } + }, + { + "name": "Token Info", + "scope": "token.info-token", + "settings": { + "foreground": "#88c0d0" + } + }, + { + "name": "Token Warning", + "scope": "token.warn-token", + "settings": { + "foreground": "#ebcb8b" + } + }, + { + "name": "Variable", + "scope": "variable.other", + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "Variable Language", + "scope": "variable.language", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "Variable Parameter", + "scope": "variable.parameter", + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[C/CPP] Punctuation Separator Pointer-Access", + "scope": "punctuation.separator.pointer-access.c", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[C/CPP] Meta Preprocessor Include", + "scope": ["source.c meta.preprocessor.include", "source.c string.quoted.other.lt-gt.include"], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[C/CPP] Conditional Directive", + "scope": [ + "source.cpp keyword.control.directive.conditional", + "source.cpp punctuation.definition.directive", + "source.c keyword.control.directive.conditional", + "source.c punctuation.definition.directive" + ], + "settings": { + "foreground": "#5E81AC", + "fontStyle": "bold" + } + }, + { + "name": "[CSS] Constant Other Color RGB Value", + "scope": "source.css constant.other.color.rgb-value", + "settings": { + "foreground": "#B48EAD" + } + }, + { + "name": "[CSS](Function) Meta Property-Value", + "scope": "source.css meta.property-value", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[CSS] Media Queries", + "scope": [ + "source.css keyword.control.at-rule.media", + "source.css keyword.control.at-rule.media punctuation.definition.keyword" + ], + "settings": { + "foreground": "#D08770" + } + }, + { + "name": "[CSS] Punctuation Definition Keyword", + "scope": "source.css punctuation.definition.keyword", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[CSS] Support Type Property Name", + "scope": "source.css support.type.property-name", + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[diff] Meta Range Context", + "scope": "source.diff meta.diff.range.context", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[diff] Meta Header From-File", + "scope": "source.diff meta.diff.header.from-file", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[diff] Punctuation Definition From-File", + "scope": "source.diff punctuation.definition.from-file", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[diff] Punctuation Definition Range", + "scope": "source.diff punctuation.definition.range", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[diff] Punctuation Definition Separator", + "scope": "source.diff punctuation.definition.separator", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Elixir](JakeBecker.elixir-ls) module names", + "scope": "entity.name.type.module.elixir", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Elixir](JakeBecker.elixir-ls) module attributes", + "scope": "variable.other.readwrite.module.elixir", + "settings": { + "foreground": "#D8DEE9", + "fontStyle": "bold" + } + }, + { + "name": "[Elixir](JakeBecker.elixir-ls) atoms", + "scope": "constant.other.symbol.elixir", + "settings": { + "foreground": "#D8DEE9", + "fontStyle": "bold" + } + }, + { + "name": "[Elixir](JakeBecker.elixir-ls) modules", + "scope": "variable.other.constant.elixir", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Go] String Format Placeholder", + "scope": "source.go constant.other.placeholder.go", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "[Java](JavaDoc) Comment Block Documentation HTML Entities", + "scope": "source.java comment.block.documentation.javadoc punctuation.definition.entity.html", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Java](JavaDoc) Constant Other", + "scope": "source.java constant.other", + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[Java](JavaDoc) Keyword Other Documentation", + "scope": "source.java keyword.other.documentation", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java](JavaDoc) Keyword Other Documentation Author", + "scope": "source.java keyword.other.documentation.author.javadoc", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java](JavaDoc) Keyword Other Documentation Directive/Custom", + "scope": ["source.java keyword.other.documentation.directive", "source.java keyword.other.documentation.custom"], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java](JavaDoc) Keyword Other Documentation See", + "scope": "source.java keyword.other.documentation.see.javadoc", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java] Meta Method-Call", + "scope": "source.java meta.method-call meta.method", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Java](JavaDoc) Meta Tag Template Link", + "scope": ["source.java meta.tag.template.link.javadoc", "source.java string.other.link.title.javadoc"], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java](JavaDoc) Meta Tag Template Value", + "scope": "source.java meta.tag.template.value.javadoc", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Java](JavaDoc) Punctuation Definition Keyword", + "scope": "source.java punctuation.definition.keyword.javadoc", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java](JavaDoc) Punctuation Definition Tag", + "scope": [ + "source.java punctuation.definition.tag.begin.javadoc", + "source.java punctuation.definition.tag.end.javadoc" + ], + "settings": { + "foreground": "#616E88" + } + }, + { + "name": "[Java] Storage Modifier Import", + "scope": "source.java storage.modifier.import", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java] Storage Modifier Package", + "scope": "source.java storage.modifier.package", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java] Storage Type", + "scope": "source.java storage.type", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java] Storage Type Annotation", + "scope": "source.java storage.type.annotation", + "settings": { + "foreground": "#D08770" + } + }, + { + "name": "[Java] Storage Type Generic", + "scope": "source.java storage.type.generic", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Java] Storage Type Primitive", + "scope": "source.java storage.type.primitive", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[JavaScript] Decorator", + "scope": [ + "source.js punctuation.decorator", + "source.js meta.decorator variable.other.readwrite", + "source.js meta.decorator entity.name.function" + ], + "settings": { + "foreground": "#D08770" + } + }, + { + "name": "[JavaScript] Meta Object-Literal Key", + "scope": "source.js meta.object-literal.key", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[JavaScript](JSDoc) Storage Type Class", + "scope": "source.js storage.type.class.jsdoc", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[JavaScript] String Template Literals Punctuation", + "scope": [ + "source.js string.quoted.template punctuation.quasi.element.begin", + "source.js string.quoted.template punctuation.quasi.element.end", + "source.js string.template punctuation.definition.template-expression" + ], + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[JavaScript] Interpolated String Template Punctuation Functions", + "scope": "source.js string.quoted.template meta.method-call.with-arguments", + "settings": { + "foreground": "#ECEFF4" + } + }, + { + "name": "[JavaScript] String Template Literal Variable", + "scope": [ + "source.js string.template meta.template.expression support.variable.property", + "source.js string.template meta.template.expression variable.other.object" + ], + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[JavaScript] Support Type Primitive", + "scope": "source.js support.type.primitive", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[JavaScript] Variable Other Object", + "scope": "source.js variable.other.object", + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[JavaScript] Variable Other Read-Write Alias", + "scope": "source.js variable.other.readwrite.alias", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[JavaScript] Parentheses in Template Strings", + "scope": [ + "source.js meta.embedded.line meta.brace.square", + "source.js meta.embedded.line meta.brace.round", + /* Required for extension `mgmcdermott.vscode-language-babel`. */ + "source.js string.quoted.template meta.brace.square", + "source.js string.quoted.template meta.brace.round" + ], + "settings": { + "foreground": "#ECEFF4" + } + }, + { + "name": "[HTML] Constant Character Entity", + "scope": "text.html.basic constant.character.entity.html", + "settings": { + "foreground": "#EBCB8B" + } + }, + { + "name": "[HTML] Constant Other Inline-Data", + "scope": "text.html.basic constant.other.inline-data", + "settings": { + "foreground": "#D08770", + "fontStyle": "italic" + } + }, + { + "name": "[HTML] Meta Tag SGML Doctype", + "scope": "text.html.basic meta.tag.sgml.doctype", + "settings": { + "foreground": "#5E81AC" + } + }, + { + "name": "[HTML] Punctuation Definition Entity", + "scope": "text.html.basic punctuation.definition.entity", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[INI] Entity Name Section Group-Title", + "scope": "source.properties entity.name.section.group-title.ini", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[INI] Punctuation Separator Key-Value", + "scope": "source.properties punctuation.separator.key-value.ini", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Markdown] Markup Fenced Code Block", + "scope": [ + "text.html.markdown markup.fenced_code.block", + "text.html.markdown markup.fenced_code.block punctuation.definition" + ], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Markdown] Markup Heading", + "scope": "markup.heading", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Markdown] Markup Inline", + "scope": [ + "text.html.markdown markup.inline.raw", + "text.html.markdown markup.inline.raw punctuation.definition.raw" + ], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Markdown] Markup Italic", + "scope": "text.html.markdown markup.italic", + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "[Markdown] Markup Link", + "scope": "text.html.markdown markup.underline.link", + "settings": { + "fontStyle": "underline" + } + }, + { + "name": "[Markdown] Markup List Numbered/Unnumbered", + "scope": "text.html.markdown beginning.punctuation.definition.list", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Markdown] Markup Quote Punctuation Definition", + "scope": "text.html.markdown beginning.punctuation.definition.quote", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[Markdown] Markup Quote Punctuation Definition", + "scope": "text.html.markdown markup.quote", + "settings": { + "foreground": "#616E88" + } + }, + { + "name": "[Markdown] Markup Math Constant", + "scope": "text.html.markdown constant.character.math.tex", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Markdown] Markup Math Definition Marker", + "scope": [ + "text.html.markdown punctuation.definition.math.begin", + "text.html.markdown punctuation.definition.math.end" + ], + "settings": { + "foreground": "#5E81AC" + } + }, + { + "name": "[Markdown] Markup Math Function Definition Marker", + "scope": "text.html.markdown punctuation.definition.function.math.tex", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Markdown] Markup Math Operator", + "scope": "text.html.markdown punctuation.math.operator.latex", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Markdown] Punctuation Definition Heading", + "scope": "text.html.markdown punctuation.definition.heading", + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Markdown] Punctuation Definition Constant/String", + "scope": [ + "text.html.markdown punctuation.definition.constant", + "text.html.markdown punctuation.definition.string" + ], + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[Markdown] String Other Link Description/Title", + "scope": [ + "text.html.markdown constant.other.reference.link", + "text.html.markdown string.other.link.description", + "text.html.markdown string.other.link.title" + ], + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Perl] Perl Sigils", + "scope": "source.perl punctuation.definition.variable", + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[PHP] Meta Function-Call Object", + "scope": ["source.php meta.function-call", "source.php meta.function-call.object"], + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Python] Decorator", + "scope": ["source.python entity.name.function.decorator", "source.python meta.function.decorator support.type"], + "settings": { + "foreground": "#D08770" + } + }, + { + "name": "[Python] Function Call", + "scope": "source.python meta.function-call.generic", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Python] Support Type", + "scope": "source.python support.type", + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[Python] Function Parameter", + "scope": ["source.python variable.parameter.function.language"], + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[Python] Function Parameter Special", + "scope": ["source.python meta.function.parameters variable.parameter.function.language.special.self"], + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[SCSS] Punctuation Definition Interpolation Bracket Curly", + "scope": [ + "source.css.scss punctuation.definition.interpolation.begin.bracket.curly", + "source.css.scss punctuation.definition.interpolation.end.bracket.curly" + ], + "settings": { + "foreground": "#81A1C1" + } + }, + { + "name": "[SCSS] Variable Interpolation", + "scope": "source.css.scss variable.interpolation", + "settings": { + "foreground": "#D8DEE9", + "fontStyle": "italic" + } + }, + { + "name": "[TypeScript] Decorators", + "scope": [ + "source.ts punctuation.decorator", + "source.ts meta.decorator variable.other.readwrite", + "source.ts meta.decorator entity.name.function", + "source.tsx punctuation.decorator", + "source.tsx meta.decorator variable.other.readwrite", + "source.tsx meta.decorator entity.name.function" + ], + "settings": { + "foreground": "#D08770" + } + }, + { + "name": "[TypeScript] Object-literal keys", + "scope": ["source.ts meta.object-literal.key", "source.tsx meta.object-literal.key"], + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[TypeScript] Object-literal functions", + "scope": [ + "source.ts meta.object-literal.key entity.name.function", + "source.tsx meta.object-literal.key entity.name.function" + ], + "settings": { + "foreground": "#88C0D0" + } + }, + { + "name": "[TypeScript] Type/Class", + "scope": [ + "source.ts support.class", + "source.ts support.type", + "source.ts entity.name.type", + "source.ts entity.name.class", + "source.tsx support.class", + "source.tsx support.type", + "source.tsx entity.name.type", + "source.tsx entity.name.class" + ], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[TypeScript] Static Class Support", + "scope": [ + "source.ts support.constant.math", + "source.ts support.constant.dom", + "source.ts support.constant.json", + "source.tsx support.constant.math", + "source.tsx support.constant.dom", + "source.tsx support.constant.json" + ], + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[TypeScript] Variables", + "scope": ["source.ts support.variable", "source.tsx support.variable"], + "settings": { + "foreground": "#D8DEE9" + } + }, + { + "name": "[TypeScript] Parentheses in Template Strings", + "scope": [ + "source.ts meta.embedded.line meta.brace.square", + "source.ts meta.embedded.line meta.brace.round", + "source.tsx meta.embedded.line meta.brace.square", + "source.tsx meta.embedded.line meta.brace.round" + ], + "settings": { + "foreground": "#ECEFF4" + } + }, + { + "name": "[XML] Entity Name Tag Namespace", + "scope": "text.xml entity.name.tag.namespace", + "settings": { + "foreground": "#8FBCBB" + } + }, + { + "name": "[XML] Keyword Other Doctype", + "scope": "text.xml keyword.other.doctype", + "settings": { + "foreground": "#5E81AC" + } + }, + { + "name": "[XML] Meta Tag Preprocessor", + "scope": "text.xml meta.tag.preprocessor entity.name.tag", + "settings": { + "foreground": "#5E81AC" + } + }, + { + "name": "[XML] Entity Name Tag Namespace", + "scope": ["text.xml string.unquoted.cdata", "text.xml string.unquoted.cdata punctuation.definition.string"], + "settings": { + "foreground": "#D08770", + "fontStyle": "italic" + } + }, + { + "name": "[YAML] Entity Name Tag", + "scope": "source.yaml entity.name.tag", + "settings": { + "foreground": "#8FBCBB" + } + } + ] +} diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.github/FUNDING.yml b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.github/FUNDING.yml new file mode 100644 index 00000000..b2bd649b --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [asvetliakov, theol0403] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.github/workflows/build_test.yml b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.github/workflows/build_test.yml new file mode 100644 index 00000000..ecb7d014 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.github/workflows/build_test.yml @@ -0,0 +1,66 @@ +name: Code Check & Test + +on: + pull_request: + branches: + - master + +jobs: + build: + name: Build & Test + strategy: + matrix: + # os: [macos-latest, ubuntu-latest, windows-latest] + # CI windows have some issues, i'm not sure why + os: [macos-latest, ubuntu-20.04] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - name: Setup Node + uses: actions/setup-node@v1 + with: + node-version: "12" + - name: Install Neovim + uses: rhysd/action-setup-vim@v1 + id: vim + with: + neovim: true + version: nightly + - name: Yarn install + run: yarn --silent --frozen-lockfile + - name: Build + run: yarn run test-compile + - name: Webpack + run: yarn run webpack + - name: Lint + run: yarn run lint + - name: Test + uses: GabrielBB/xvfb-action@v1.4 + env: + NEOVIM_PATH: ${{ steps.vim.outputs.executable }} + NEOVIM_DEBUG: 1 + NEOVIM_DEBUG_HOST: 127.0.0.1 + NEOVIM_DEBUG_PORT: 4000 + with: + run: yarn run test + create: + name: Create extension + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup Node + uses: actions/setup-node@v1 + with: + node-version: "12" + - name: Yarn install + run: yarn --silent --frozen-lockfile + - name: Install VSCE + run: yarn add vsce + - name: Create extension + run: yarn run vsce package -o vscode-neovim-${{github.sha}}.vsix + - name: Upload extension + if: runner.os == 'Linux' + uses: actions/upload-artifact@v2 + with: + name: vscode-neovim + path: vscode-neovim-${{github.sha}}.vsix diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.prettierrc.js b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.prettierrc.js new file mode 100644 index 00000000..006c42d9 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.prettierrc.js @@ -0,0 +1,10 @@ +module.exports = { + semi: true, + trailingComma: "all", + singleQuote: true, + printWidth: 120, + tabWidth: 4, + singleQuote: false, + proseWrap: "always" +}; + diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.vsixmanifest b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.vsixmanifest new file mode 100644 index 00000000..69ce93ce --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + VSCode Neovim + VSCode Neovim Integration + keybindings,vi,vim,neovim + Other,Keymaps + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/images/icon.png + + + + + + + + + + diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/CHANGELOG.md b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/CHANGELOG.md new file mode 100644 index 00000000..5124fc07 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/CHANGELOG.md @@ -0,0 +1,278 @@ +# Change Log + +## [0.0.82] + +- Big updates to keybindings ! ( [#513](https://github.com/asvetliakov/vscode-neovim/issues/513) , [#654](https://github.com/asvetliakov/vscode-neovim/issues/654) , [#557](https://github.com/asvetliakov/vscode-neovim/issues/557) , [#585](https://github.com/asvetliakov/vscode-neovim/issues/585) , [#655](https://github.com/asvetliakov/vscode-neovim/issues/655) ) + +## [0.0.81] + +- Revert ( [#649](https://github.com/asvetliakov/vscode-neovim/issues/649) ) + +## [0.0.80] + +- Improve cursor position behaviour ( [#649](https://github.com/asvetliakov/vscode-neovim/issues/649) ) + +## [0.0.79] + +- Fix infinity file opened loop on recent neovim versions ( [#632](https://github.com/asvetliakov/vscode-neovim/issues/632) ) + +## [0.0.78] + +- Fix init error with no workspace folders open ( [#526](https://github.com/asvetliakov/vscode-neovim/issues/526) ) +- Update README.md ( [#527](https://github.com/asvetliakov/vscode-neovim/issues/527) ) + +## [0.0.77] + +- Fix cursor with tab indentation ( [#516](https://github.com/asvetliakov/vscode-neovim/issues/516) , [#515](https://github.com/asvetliakov/vscode-neovim/issues/515) ) +- Handle correctly WSL path with spaces ( [#509](https://github.com/asvetliakov/vscode-neovim/issues/509) ) + +## [0.0.76] + +- Fix mutli-column character handling ( [#503](https://github.com/asvetliakov/vscode-neovim/issues/503) ) + +## [0.0.75] + +- Improvements to cursor logic ( [#501](https://github.com/asvetliakov/vscode-neovim/issues/501) ) +- Cancel current mode when switching editor ( [#156](https://github.com/asvetliakov/vscode-neovim/issues/156) ) + +## [0.0.74] + +- Fix cursor logic ( [#467](https://github.com/asvetliakov/vscode-neovim/issues/467) , [#488](https://github.com/asvetliakov/vscode-neovim/issues/488) ) +- Trigger matching word highlight after movement ( [#159](https://github.com/asvetliakov/vscode-neovim/issues/159) ) +- VIM highlight adjustments ( [#482](https://github.com/asvetliakov/vscode-neovim/issues/482) ) + +## [0.0.73] + +- Improve cursor reveailing logic ( [#479](https://github.com/asvetliakov/vscode-neovim/issues/479) ) +- Hook g0 / g\$ ( [#455](https://github.com/asvetliakov/vscode-neovim/issues/455) ) + +## [0.0.72] + +- Fix undo regression introduced in `0.0.70` + +## [0.0.71] + +- Fix `Unable to determine neovim windows id` error spam ( [#418](https://github.com/asvetliakov/vscode-neovim/issues/418) ) + +## [0.0.70] + +- Use vscode jumplist actions instead of neovim +- Fix uppercase marks ( [#228](https://github.com/asvetliakov/vscode-neovim/issues/228) ) +- Various cursor & buffer management fixes ( [#404](https://github.com/asvetliakov/vscode-neovim/issues/404) , [#392](https://github.com/asvetliakov/vscode-neovim/issues/392) , [#386](https://github.com/asvetliakov/vscode-neovim/issues/386) ) +- Implement manageEditorHeight and manageEditorWidth ( [#444](https://github.com/asvetliakov/vscode-neovim/issues/444) ) +- Fix `` in insert mode ( [#283](https://github.com/asvetliakov/vscode-neovim/issues/283) ) +- Set vim cwd as vscode workspace ( [#429](https://github.com/asvetliakov/vscode-neovim/issues/429) ) +- Fix shell-agnostic WSL integration ( [#147](https://github.com/asvetliakov/vscode-neovim/issues/147) ) +- Map :x to Wq ( [#396](https://github.com/asvetliakov/vscode-neovim/issues/396) ) +- Various docs contributions +- Improve build ( [#378](https://github.com/asvetliakov/vscode-neovim/issues/378) ) + +## [0.0.63] + +- Allow to put text decorations (usually EasyMotion ones) at top setting (`vscode-neovim.textDecorationsAtTop`) ( [#358](https://github.com/asvetliakov/vscode-neovim/issues/358) ), contributed by @jhgarner +- Fix incorrect `/w` mappings ( [#359](https://github.com/asvetliakov/vscode-neovim/issues/359) ), contributed by @tschaei +- Replace/modernize neovim vscode command line interop mappings by `call` ( [#362](https://github.com/asvetliakov/vscode-neovim/issues/362) ), contributed by @theol0403 +- Fix incorrect `gf` mapping ( [#365](https://github.com/asvetliakov/vscode-neovim/issues/365) ), contributed by @Yuuki77 +- Fix applying vim HL (such as `MatchParen`) at end of a line ( [#371](https://github.com/asvetliakov/vscode-neovim/issues/371) ) +- Fix incorrect cursor position when selecting next/prev search result ( [#366](https://github.com/asvetliakov/vscode-neovim/issues/366) ) +- Fix/improve behavior of auto-accepting vim return prompt `Press enter to continue`. In some cases it was excess ( [#372](https://github.com/asvetliakov/vscode-neovim/issues/372) ) +- Bundle extension by webpack ( [#377](https://github.com/asvetliakov/vscode-neovim/issues/377) ) + +## [0.0.62] + +- Fix jumplist ( [#350](https://github.com/asvetliakov/vscode-neovim/issues/350) ) +- Add `K` and `gO` mappings (mapped to `showHover` and `goToSymbol`) ( [#108](https://github.com/asvetliakov/vscode-neovim/issues/108) ) (@Shatur95) +- Fix images/icon (@Shatur95) + +## [0.0.60/61] + +Started from this version `neovim 0.5` nightly version is required +Many things have been refactored/changed internally in this release. So if you see any regression - please fill an issue + +- Turn on VIM smartindenting/autoindenting and remove custom vscode bindings to `o`/`O` (so it uses VIM ones) +- New buffer,window and cursor management. This makes the extension finally work with git diff view, peek views, search editor views and even in output channels! ( [#53](https://github.com/asvetliakov/vscode-neovim/issues/53) , [#187](https://github.com/asvetliakov/vscode-neovim/issues/187) , [#220](https://github.com/asvetliakov/vscode-neovim/issues/220) , [#223](https://github.com/asvetliakov/vscode-neovim/issues/223), [#226](https://github.com/asvetliakov/vscode-neovim/issues/226)) +- Implement multi-line messages pager. Things like `:registers`, `:changes`, `:jumps`, `:messages` are working correctly now ( [#202](https://github.com/asvetliakov/vscode-neovim/issues/202) , [#78](https://github.com/asvetliakov/vscode-neovim/issues/78) , [#296](https://github.com/asvetliakov/vscode-neovim/issues/296) ) +- Fix tab indent problems and sync vscode tab settings with neovim ( [#275](https://github.com/asvetliakov/vscode-neovim/issues/275) , [#239](https://github.com/asvetliakov/vscode-neovim/issues/239) , [#264](https://github.com/asvetliakov/vscode-neovim/issues/264) , [#167](https://github.com/asvetliakov/vscode-neovim/issues/167) , [#100](https://github.com/asvetliakov/vscode-neovim/issues/100) , [#152](https://github.com/asvetliakov/vscode-neovim/issues/152) , [#289](https://github.com/asvetliakov/vscode-neovim/issues/289) ) +- Fix few macro recording problems ( [#207](https://github.com/asvetliakov/vscode-neovim/issues/207) ) +- Fix ghost keys after exiting insert mode ( [#324](https://github.com/asvetliakov/vscode-neovim/issues/324) ). For `jj` / `jk` users there are still few problems ( [#330](https://github.com/asvetliakov/vscode-neovim/issues/330) ) but they will be sorted in next releases +- Fix few command line problems ( [#155](https://github.com/asvetliakov/vscode-neovim/issues/155) , [#288](https://github.com/asvetliakov/vscode-neovim/issues/288) ) +- Fix some buffer desync issues ( [#312](https://github.com/asvetliakov/vscode-neovim/issues/312) ) +- Fix `v/s` split shortcuts ( [#331](https://github.com/asvetliakov/vscode-neovim/issues/331) ) +- Fix brackets for substitute command ( [#300](https://github.com/asvetliakov/vscode-neovim/issues/300) ) +- Add logger and log-related configuration to options +- Change some default code-actions mappings ( [#339](https://github.com/asvetliakov/vscode-neovim/issues/339) ) +- Add extension icon. Many thanks to https://github.com/ngscheurich + +## [0.0.52] + +- Implement dot repeat (`.`) command ( [#209](https://github.com/asvetliakov/vscode-neovim/issues/209) , [#173](https://github.com/asvetliakov/vscode-neovim/issues/173) ). Also fixes `` insert comamnds, like [#255](https://github.com/asvetliakov/vscode-neovim/issues/255) , [#249](https://github.com/asvetliakov/vscode-neovim/issues/249) +- Removed file name from statusbar ( [#291](https://github.com/asvetliakov/vscode-neovim/issues/291) , [#230](https://github.com/asvetliakov/vscode-neovim/issues/230) ), thanks @Shatur95 +- Fix visual selection conversion ( [#233](https://github.com/asvetliakov/vscode-neovim/issues/233) ), thanks @Shatur95 +- Fix wrong string comparsions ( [#308](https://github.com/asvetliakov/vscode-neovim/issues/308) ), thanks @Shatur95 +- Make espace keys work only when editor has focus ( [#290](https://github.com/asvetliakov/vscode-neovim/issues/290) ) , thanks @David-Else +- Added some file name completion in commandline ( [#192](https://github.com/asvetliakov/vscode-neovim/issues/192) ), thanks @ppwwyyxx +- Fix missing `c` mapping ( [#180](https://github.com/asvetliakov/vscode-neovim/issues/180) ), thanks @trkoch +- Add operating system dependent path settings ( [#137](https://github.com/asvetliakov/vscode-neovim/issues/137) ), thanks @3nuc +- bind gh to mousehover ( [#107](https://github.com/asvetliakov/vscode-neovim/issues/107) ), thanks @kwonoj + +## [0.0.50] + +- Fix cursor & extension hang for some cases ( [#153](https://github.com/asvetliakov/vscode-neovim/issues/153) ) + +## [0.0.49] + +- Use command line completion only for command line originated via `:` command ( [#146](https://github.com/asvetliakov/vscode-neovim/issues/146) ) + +## [0.0.48] + +- Fix incorrect cursor for multibyte single column width characters ( [#142](https://github.com/asvetliakov/vscode-neovim/issues/142) ) +- Fix vim-easymotion decorators drifting when text has multi-byte characters ( [#144](https://github.com/asvetliakov/vscode-neovim/issues/144) ) +- Disabled vim modeline processing +- Force vim folds to be always opened to prevent problems +- Fix vim-easymotion decorators drifting to the end of line ( [#60](https://github.com/asvetliakov/vscode-neovim/issues/60) ) +- Fix incorrect cursor positions after commands/mappings such as `>gv` ( [#141](https://github.com/asvetliakov/vscode-neovim/issues/141) ) +- Fix double command prompt ( [#120](https://github.com/asvetliakov/vscode-neovim/issues/120) ) + +## [0.0.47] + +- Fix the problem when cursor/extension stucks for second+ editor columns ( [#126](https://github.com/asvetliakov/vscode-neovim/issues/126) ) + +## [0.0.46] + +- Update `neovim-client` to latest version. This should eliminate delay between operations and generally improve the performance. Kudos to @kwonoj for impressive work here +- Fix cursor movement for 2-byte chars ( [#127](https://github.com/asvetliakov/vscode-neovim/issues/127) ) + +## [0.0.45] + +- Fix VIM filetype detection ( [#115](https://github.com/asvetliakov/vscode-neovim/issues/115) ). This means `FileType` autocmd should work correctly now. Also fixes `vim-matchup` plugin. This may introduce some side effects from previously disabled filetype plugins - just fill an issue if something doesn't work +- Fix broken cursor position in insert mode for special keys (such as `del`/`backspace`/etc) if you had recorded a macro in insert mode previously + +## [0.0.44] + +- Hotfix broken `VSCodeCallRange` (commenting/formatting didn't work because of this) + +## [0.0.43] + +- Visual modes DON'T produce vscode selections right now. These were implemented through various workarounds, gave really small value and were constant origin of headache. Also this fixes few issues related to visual modes ( [#105](https://github.com/asvetliakov/vscode-neovim/issues/105), [#118](https://github.com/asvetliakov/vscode-neovim/issues/118) ). To round the corners, invoking vscode's command palette (by using default vscode hotkeys) from visual mode will convert neovim visual selection to vscode visual selection, this should cover most use cases. Also, there are `VScodeNotifyRange`/`VSCodeCallRange`/`VSCodeNotifyRangePos`/`VSCodeCallRangePos` vim functions if you need to call vscode command with selection. See [this for example](https://github.com/asvetliakov/vscode-neovim/blob/e61832119988bb1e73b81df72956878819426ce2/vim/vscode-code-actions.vim#L42-L54) and [mapping](https://github.com/asvetliakov/vscode-neovim/blob/e61832119988bb1e73b81df72956878819426ce2/vim/vscode-code-actions.vim#L98) if you're doing custom mappings and assuming there is some vscode selection exist. Use `VSCodeNotifyRange` when you don't need a column pos (e.g. for visual line mode) and `VSCodeNotifyRangePos` when you need them (e.g for visual mode). +- Refactored vscode<->neovim cursor syncrhonization +- Fix `ma`/`mi` not working when selecting lines upward ( [#117](https://github.com/asvetliakov/vscode-neovim/issues/117) ) +- Changed `ma`/`mi` to skip empty lines. Added `mA`/`mI` for the previous behavior +- Macro recording fixes +- Refactored & optimized HL provider (highlight should be faster now) +- Override default keybindings only when neovim was initialized succesfully ( [#112](https://github.com/asvetliakov/vscode-neovim/issues/112) ) +- Don't preselect `'<,'>` marks when invoking cmdline from visual line ( [#111](https://github.com/asvetliakov/vscode-neovim/issues/111) ) +- Implemented commandline history ( [#88](https://github.com/asvetliakov/vscode-neovim/issues/88) ) +- Add the option to start the visual mode with mouse selection ( [#94](https://github.com/asvetliakov/vscode-neovim/issues/94) ) + +## [0.0.42] + +- Disabled jj/jk escape keys by default + +## [0.0.40] + +- Fix cursor/highlight not working with multi-byte width characters (Russian, Chinese, Japanese, etc...), i.e the extension should work normally with them (#68, [#91](https://github.com/asvetliakov/vscode-neovim/issues/91)) +- Fix incorrect vim highlight when using tab indentation (#81) +- Removed multiple cursors by default from visual line/block modes (visual block mode still spawns cursors but they are pruly visual) (#59, [#61](https://github.com/asvetliakov/vscode-neovim/issues/61)). Previous behavior is still accessible by `mi` or `ma` keybindings while in visual line/block modes +- Allow to override keys/mappings set by extension (previously they have been set after user config loaded) +- Allow to identify if neovim is running through vscode extension by checking `if exists('g:vscode')` (#83) +- Added `` and `Escape` as escape keys (#74) +- Added `` and `` to select next autocomplete suggestion/show next/prev parameter hint +- Added `jj` and `jk` as escape keys from the insert mode (#75) +- Pass `` to neovim and call VSCodeCommentary (still recommended to bind it to own keys) (#89) +- Pass `` to neovim +- Allow to pass additional ctrl keys to neovim (see Readme) +- Added workaround for `gk`/`gj` motions +- Corrected `gf`/`gF` keybindings. Add `` as go-to-def (works in help too) (#77). Add `gd`/`gD` as secondary mappings to go-to-def/peek-def. Add `gd` to reveal definition aside + +## [0.0.39] + +- Fix bug with incorrect buffer edits +- Fix cursor jumping after pressing something like `cw` and fast typing text in large file + +## [0.0.38] + +- Fix cursor position after deleting a line and possibly other operations + +## [0.0.37] + +- Fix performance of o/O. If you're using custom bindings for them, you might need to rebind them to call new action. See vscode-insert.vim + +## [0.0.36] + +- Fix macros with insert mode +- Big performance improvements, fix undo & macros performance +- Allow to use neovim installed in WSL. Tick useWSL conf checkbox and specify linux path to neovim + +## [0.0.35] + +- Use VIM jumplist for ``/``/`` + +## [0.0.33-0.0.34] + +- Fix extension for linux/macos users +- Fix buffer-vscode desynchornization after redo + +## [0.0.32] + +- Cmdline fixes/improvements (#50, [#51](https://github.com/asvetliakov/vscode-neovim/issues/51)) + +## [0.0.31] + +- Fix crazy cursor jumping when having opened multiple editors panes + +## [0.0.30] + +- Implemented nvim's ext_multigrid support. This solves almost all problems with vim highlighting and potentially enables easymotion's overwin motions (they still don't work however). Window management still should be performed by vscode +- Removed vim-style cursor following on editor scrolling. This totally screwed vscode jumplist, so better to have working jumplist than such minor feature. +- Cursor position fixes +- `:e [filepath]` works again + +## [0.0.29] + +- Fix selection is being reset in visual mode after typing `vk$` (#48) +- Fix not cleaning incsearch highlight after canceling the incsearch (#46) +- Fix incorrect cursor after switching the editor to the same document but in different editor column (#49) + +## [0.0.28] + +- Use non-blocking rpc requests when communicatings with vscode for file management operations (closing, opening, etc...). Should eliminate the issue when vim is 'stuck' and doesn't respond anymore +- Fix incorrect cursor positions after opening `:help something` (#44) +- Fix visual block selection for single column in multiple rows (#42) +- Enable VIM syntax highlighting for help files and external buffers like `:PlugStatus`. It's slow and sometimes buggy but better than nothing in meantime + +## [0.0.27] + +- Fix incsearch and allow to use ``/`` with it +- Reworked/Refactored command line. Now with wildmenu completion support. Also keys like `` or `` are working fine now in cmdline now + +## [0.0.26] + +- Partially revert [#41](https://github.com/asvetliakov/vscode-neovim/issues/41) + +## [0.0.25] + +- Tab management commands & keys, like `gt` or `tabo[nly]` +- Window management commands & keys like `sp[lit]`/`vs[plit]` and ` j/k/l/h` keys +- Bind scroll commands in neovim instead of vscode extension ([#41](https://github.com/asvetliakov/vscode-neovim/issues/41)) + +## [0.0.24] + +- File management commands, like `:w` or `:q` (bound to vscode actions) +- Fix [#40](https://github.com/asvetliakov/vscode-neovim/issues/40) + +## [0.0.1-0.0.23] + +- A bunch of development versions. 0.0.23 has the following features +- Correct editing and the cursor management +- Control keys in the insert & normal/visual modes +- Visual mode produces vscode selections +- Working VIM highlighting (most of a default VIM HL groups are ignored since they don't make sense in VSCode, but non standard groups are processed, so things like vim-easymotion or vim-highlight are working fine) +- Scrolling commands (scrolling is done by vscode so things are slighly different here) +- Special vim-easymotion fork to use vscode text decorators instead of replacing text (as original vim-easymotion does) +- Analogue of vim-commentary (original vim-commentary works fine too) +- Working external vim buffers, like `:help` or `:PlugStatus` +- Multiple cursors for visual line/visual block modes + +## [0.0.1] + +- Initial release diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/LICENSE.txt b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/LICENSE.txt new file mode 100644 index 00000000..752c9269 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Alexey Svetliakov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/README.md b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/README.md new file mode 100644 index 00000000..4caae439 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/README.md @@ -0,0 +1,593 @@ +


VSCode Neovim

+

VSCode Neovim Integration

+ +

+ + + +

+ +[Neovim](https://neovim.io/) is a fork of VIM to allow greater extensibility and integration. This extension uses a full +embedded Neovim instance, no more half-complete VIM emulation! VSCode's native functionality is used for insert mode and +editor commands, making the best use of both editors. + +- 🎉 Almost fully feature-complete VIM integration by utilizing neovim as a backend. +- 🔧 Supports custom `init.vim` and many vim plugins. +- 🥇 First-class and lag-free insert mode, letting VSCode do what it does best. +- 🤝 Complete integration with VSCode features (lsp/autocompletion/snippets/multi-cursor/etc). + +
+ Table of Contents (click to expand) + +- [🧰 Installation](#-installation) +- [💡 Tips and Features](#-tips-and-features) + - [Important](#important) + - [VSCode specific differences](#vscode-specific-differences) + - [Performance problems](#performance-problems) + - [Conditional init.vim](#conditional-initvim) + - [Custom escape keys](#custom-escape-keys) + - [Jumplist](#jumplist) + - [Wildmenu completion](#wildmenu-completion) + - [Multiple cursors](#multiple-cursors) + - [Keyboard Quickfix](#keyboard-quickfix) + - [Invoking VSCode actions from neovim](#invoking-vscode-actions-from-neovim) + - [Examples](#examples) +- [⌨️ Bindings](#️-bindings) + - [File management](#file-management) + - [Tab management](#tab-management) + - [Buffer/window management](#bufferwindow-management) + - [Insert mode special keys](#insert-mode-special-keys) + - [Normal mode control keys](#normal-mode-control-keys) + - [Cmdline special keys](#cmdline-special-keys) + - [VSCode specific bindings](#vscode-specific-bindings) + - [Editor command](#editor-command) + - [Explorer/list navigation](#explorerlist-navigation) + - [Explorer file manipulation](#explorer-file-manipulation) + - [Custom keybindings](#custom-keybindings) +- [🤝 Vim Plugins](#-vim-plugins) + - [vim-easymotion](#vim-easymotion) + - [vim-commentary](#vim-commentary) + - [quick-scope](#quick-scope) +- [📑 How it works](#-how-it-works) +- [❤️ Credits & External Resources](#️-credits--external-resources) + +
+ +## 🧰 Installation + +- Install the [vscode-neovim](https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim) + extension. +- Install [Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) **0.5.0 nightly** or greater. + - Set the neovim path in the extension settings. You must specify full path to neovim, like + "`C:\Neovim\bin\nvim.exe"` or "`/usr/local/bin/nvim`". + - The setting id is "`vscode-neovim.neovimExecutablePaths.win32/linux/darwin`", respective to your system. +- If you want to use neovim from WSL, set the `useWSL` configuration toggle and specify linux path to nvim binary. + `wsl.exe` windows binary and `wslpath` linux binary are required for this. `wslpath` must be available through + `$PATH` linux env setting. Use `wsl --list` to check for the correct default linux distribution. + +> ❗ **Neovim 0.5.0 nightly** or greater is **required**. Any version lower than that won't work. Many linux +> distributions have an **old** version of neovim in their package repo - always check what version are you installing. +> You can install neovim separately, outside your system's package manager installation, for example using the appimage +> from the neovim releases page. + +> 🐛 See the [issues section](https://github.com/asvetliakov/vscode-neovim/issues) for known issues. + +## 💡 Tips and Features + +### Important + +- If you get "Unable to init vscode-neovim: command 'type' already exists" message, uninstall other VSCode extensions + that register the `type` command (like + [VSCodeVim](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) or + [Overtype](https://marketplace.visualstudio.com/items?itemName=adammaras.overtype)). +- If you already have a big `init.vim` it is recommended to wrap existing settings & plugins with + [`if !exists('g:vscode')`](#conditional-initvim) to prevent potential conflicts. If you have any problems, try with + empty `init.vim` first. +- On a Mac, the h, j, k and l movement keys may not repeat when held, to + fix this open Terminal and execute the following command: + `defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false`. +- The extension works best if `editor.scrollBeyondLastLine` is disabled. + +### VSCode specific differences + +- File and editor management commands such as `:e`/`:w`/`:q`/`:vsplit`/`:tabnext`/etc are mapped to corresponding + vscode commands and behavior may be different ([see below](#️-bindings)). **Do not** use vim commands like `:w` in + scripts/keybindings, they won't work. If you're using them in some custom commands/mappings, you might need to + rebind them to call vscode commands from neovim with `VSCodeCall/VSCodeNotify` + ([see below](#invoking-vscode-actions-from-neovim)). +- Visual modes don't produce vscode selections, so any vscode commands expecting selection won't work. To round the + corners, invoking the VSCode command picker from visual mode through the default hotkeys + (f1/ctrl/cmd+shift+p) converts vim selection to real vscode selection. This conversion is also + done automatically for some commands like commenting and formatting. If you're using some custom mapping for calling + vscode commands that depends on real vscode selection, you can use `VSCodeNotifyRange`/`VSCodeNotifyRangePos` (the + first one linewise, the latter characterwise) which will convert vim visual mode selection to vscode selection + before calling the command ([see below](#invoking-vscode-actions-from-neovim)). +- When you type some commands they may be substituted for the another, like `:write` will be replaced by `:Write`. + This is normal. +- Scrolling is done by VSCode. C-d/C-u/etc are slightly different. +- Editor customization (relative line number, scrolloff, etc) is handled by VSCode. +- Dot-repeat (.) is slightly different - moving the cursor within a change range won't break the repeat + sequence. In neovim, if you type `abc` in insert mode, then move cursor to `abc` and type `1` here + the repeat sequence would be `1`. However in vscode it would be `a1bc`. Another difference is that when you delete + some text in insert mode, dot repeat only works from right-to-left, meaning it will treat Del key as + BS keys when running dot repeat. + +### Performance problems + +If you have any performance problems (cursor jitter usually) make sure you're not using these kinds of extensions: + +- Anything that renders decorators very often: + - Line number extensions (VSCode has built-in support for normal/relative line numbers) + - Indent guide extensions (VSCode has built-in indent guides) + - Brackets highlighter extensions (VSCode has built-in feature) +- VSCode extensions that delay the extension host like "Bracket Pair Colorizer" +- VIM plugins that increase latency and cause performance problems. + - Make sure to disable unneeded plugins, as many of them don't make sense with vscode and may cause problems. + - You don't need any code, highlighting, completion, lsp plugins as well any plugins that spawn windows/buffers + (nerdtree and similar), fuzzy-finders, etc. + - Many navigation/textobject/editing plugins should be fine. + +If you're not sure, disable all other extensions, **reload vscode window**, and see if the problem persists before +reporting. + +### Conditional init.vim + +To determine if neovim is running in vscode, add to your init.vim: + +```vim +if exists('g:vscode') + " VSCode extension +else + " ordinary neovim +endif +``` + +To conditionally activate plugins, `vim-plug` has a +[few solutions](https://github.com/junegunn/vim-plug/wiki/tips#conditional-activation). For example, using the `Cond` +helper, you can conditionally activate installed plugins +([source](https://github.com/asvetliakov/vscode-neovim/issues/415#issuecomment-715533865)): + +```vim +" inside plug#begin: +" use normal easymotion when in vim mode +Plug 'easymotion/vim-easymotion', Cond(!exists('g:vscode')) +" use vscode easymotion when in vscode mode +Plug 'asvetliakov/vim-easymotion', Cond(exists('g:vscode'), { 'as': 'vsc-easymotion' }) +``` + +### Custom escape keys + +Since VSCode is responsible for insert mode, custom insert-mode vim mappings don't work. To map composite escape keys, +put into your keybindings.json: + +for jj + +```json +{ + "command": "vscode-neovim.compositeEscape1", + "key": "j", + "when": "neovim.mode == insert && editorTextFocus", + "args": "j" +} +``` + +to enable jk add also: + +```json +{ + "command": "vscode-neovim.compositeEscape2", + "key": "k", + "when": "neovim.mode == insert && editorTextFocus", + "args": "k" +} +``` + +Currently, there is no way to map both `jk` and `kj`, or to map `jk` without also mapping `jj`. + +### Jumplist + +VSCode's jumplist is used instead of Neovim's. This is to make VSCode native navigation (mouse click, jump to +definition, ect) navigable through the jumplist. + +Make sure to bind to `workbench.action.navigateBack` / `workbench.action.navigateForward` if you're using custom +mappings. Marks (both upper & lowercased) should work fine. + +### Wildmenu completion + +Command menu has the wildmenu completion on type. The completion options appear after 1.5s (to not bother you when you +write `:w` or `:noh`). Up/Down selects the option and Tab accepts it. See the gif: + +![wildmenu](https://github.com/asvetliakov/vscode-neovim/raw/HEAD/images/wildmenu.gif) + +### Multiple cursors + +Multiple cursors work in: + +1. Insert mode +2. Visual line mode +3. Visual block mode + +To spawn multiple cursors from visual line/block modes type ma/mA or mi/mI +(by default). The effect differs: + +- For visual line mode, mi will start insert mode on each selected line on the first non whitespace + character and ma will on the end of line. +- For visual block mode, mi will start insert on each selected line before the cursor block and + ma after. +- mA/mI versions accounts for empty lines (only for visual line mode, for visual block mode + they're same as ma/mi). + +See gif in action: + +![multicursors](https://github.com/asvetliakov/vscode-neovim/raw/HEAD/images/multicursor.gif) + +### Keyboard Quickfix + +By default, the quickfix menu can be opened using z= or C-.. However, it is currently +[not possible](https://github.com/microsoft/vscode/issues/55111) to add mappings to the quickfix menu, so it can only be +navigated with arrow keys. A +[workaround vscode extension](https://marketplace.visualstudio.com/items?itemName=pascalsenn.keyboard-quickfix) has been +made to use the quick open menu, which can be navigated with custom bindings. + +To use, install the +[keyboard-quickfix](https://marketplace.visualstudio.com/items?itemName=pascalsenn.keyboard-quickfix) extension, and add +to your keybindings.json: + +```jsonc +{ + "key": "ctrl+.", + "command": "keyboard-quickfix.openQuickFix", + "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly" +}, +``` + +and add to your init.vim: + +```vim +nnoremap z= call VSCodeNotify('keyboard-quickfix.openQuickFix') +``` + +### Invoking VSCode actions from neovim + +There are a +[few helper functions](https://github.com/asvetliakov/vscode-neovim/blob/master/vim/vscode-neovim.vim#L17-L39) that +could be used to invoke any vscode commands: + +| Command | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `VSCodeNotify(command, ...)`
`VSCodeCall(command, ...)` | Invoke vscode command with optional arguments. | +| `VSCodeNotifyRange(command, line1, line2, leaveSelection ,...)`
`VSCodeCallRange(command, line1, line2, leaveSelection, ...)` | Produce real linewise vscode selection from `line1` to `line2` and invoke vscode command. Put 1 for the `leaveSelection` argument to leave vscode selection after invoking the command. | +| `VSCodeNotifyRangePos(command, line1, line2, pos1, pos2, leaveSelection ,...)`
`VSCodeCallRangePos(command, line1, line2, pos1, pos2, leaveSelection, ...)` | Produce real characterwise vscode selection from `line1.pos1` to `line2.pos2` and invoke vscode command. | + +> 💡 Functions with `Notify` in their name are non-blocking, the ones with `Call` are blocking. Generally **use Notify** +> unless you really need a blocking call. + +#### Examples + +Produce linewise/characterwise selection and show vscode commands (default binding): + +```vim +function! s:openVSCodeCommandsInVisualMode() + let mode = mode() + if mode ==# 'V' + let startLine = line('v') + let endLine = line('.') + call VSCodeNotifyRange('workbench.action.showCommands', startLine, endLine, 1) + else + let startPos = getpos('v') + let endPos = getpos('.') + call VSCodeNotifyRangePos('workbench.action.showCommands', startPos[1], endPos[1], startPos[2], endPos[2] + 1, 1) + endif +endfunction + +xnoremap call openVSCodeCommandsInVisualMode() +``` + +Open definition aside (default binding): + +```vim +nnoremap gd call VSCodeNotify('editor.action.revealDefinitionAside') +``` + +Run Find in files for word under cursor in vscode: + +```vim +nnoremap ? call VSCodeNotify('workbench.action.findInFiles', { 'query': expand('')}) +``` + +## ⌨️ Bindings + +**Custom keymaps for scrolling/window/tab/etc management** + +- See [vscode-scrolling.vim](https://github.com/asvetliakov/vscode-neovim/blob/HEAD/vim/vscode-scrolling.vim) for scrolling commands reference +- See [vscode-file-commands.vim](https://github.com/asvetliakov/vscode-neovim/blob/HEAD/vim/vscode-file-commands.vim) for file commands reference +- See [vscode-tab-commands.vim](https://github.com/asvetliakov/vscode-neovim/blob/HEAD/vim/vscode-tab-commands.vim) for tab commands reference +- See [vscode-window-commands.vim](https://github.com/asvetliakov/vscode-neovim/blob/HEAD/vim/vscode-window-commands.vim) for window commands reference + +> 💡 "With bang" refers to adding a "!" to the end of a command. + +### File management + +| Command | Description | +| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `e[dit]` / `ex` | Open quickopen.
With filename, e.g. `:e $MYVIMRC`: open the file in new tab. The file must exist.
With bang: revert file to last saved version.
With filename and bang e.g. `:e! $MYVIMRC`: close current file (discard any changes) and open the file. The file must exist. | +| `ene[w]` | Create new untitled document in vscode.
With bang: close current file (discard any changes) and create new document. | +| `fin[d]` | Open vscode's quick open window. Arguments and count are not supported. | +| `w[rite]` | Save current file. With bang: open 'save as' dialog. | +| `sav[eas]` | Open 'save as' dialog. | +| `wa[ll]` | Save all files. | +| `q[uit]` / C-w q / C-w c / ZQ | Close the active editor. With bang: revert changes and close the active editor. | +| `wq` / ZZ | Save and close the active editor. | +| `qa[ll]` | Close all editors, but don't quit vscode. Acts like `qall!`, so beware for nonsaved changes. | +| `wqa[ll]` / `xa[ll]` | Save all editors & close. | + +### Tab management + +| Command | Description | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `tabe[dit]` | Similar to `e[dit]`. Open quickopen.
With argument: open the file in new tab. | +| `tabnew` | Open new untitled file. | +| `tabf[ind]` | Open quickopen window. | +| `tab`/`tabs` | Not supported. Doesn't make sense with vscode. | +| `tabc[lose]` | Close active editor (tab). | +| `tabo[nly]` | Close other tabs in vscode **group** (pane). This differs from vim where a `tab` is a like a new window, but doesn't make sense in vscode. | +| `tabn[ext]` / gt | Switch to next (or `count` tabs if argument is given) in the active vscode **group** (pane). | +| `tabp[revious]` / gT | Switch to previous (or `count` tabs if argument is given) in the active vscode **group** (pane). | +| `tabfir[st]` | Switch to the first tab in the active editor group. | +| `tabl[ast]` | Switch to the last tab in the active editor group. | +| `tabm[ove]` | Not supported yet. | + +### Buffer/window management + +| Command | Key | Description | +| ---------- | ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sp[lit]` | C-w s | Split editor horizontally.
With argument: open the specified file, e.g `:sp $MYVIMRC`. File must exist. | +| `vs[plit]` | C-w v | Split editor vertically.
With argument: open the specified file. File must exist. | +| `new` | C-w n | Like `sp[lit]` but create new untitled file if no argument given. | +| `vne[w]` | | Like `vs[plit]` but create new untitled file if no argument given. | +| | C-w = | Align all editors to have the same width. | +| | C-w \_ | Toggle maximized editor size. Pressing again will restore the size. | +| | [count] C-w + | Increase editor height by (optional) count. | +| | [count] C-w - | Decrease editor height by (optional) count. | +| | [count] C-w > | Increase editor width by (optional) count. | +| | [count] C-w \< | Decrease editor width by (optional) count. | +| `on[ly]` | C-w o | Without bang: merge all editor groups into the one. Don't close editors.
With bang: close all editors from all groups except current one. | +| | C-w j/k/h/l | Focus group below/above/left/right. | +| | C-w C-j/i/h/l | Move editor to group below/above/left/right.
**Note**: C-w C-i moves editor up. Ideally it should be C-w C-k but vscode has many commands mapped to C-k [key] and doesn't allow to use C-w C-k without unbinding them first. | +| | C-w J/K/H/L | Move whole editor group below/above/left/right. | +| | C-w w or C-w C-w | Focus next group. The behavior may differ than in vim. | +| | C-w W or C-w p | Focus previous group. The behavior may differ than in vim. C-w p is completely different than in vim. | +| | C-w b | Focus last editor group (most bottom-right). | +| | C-w r/R/x | Not supported, use C-w C-j and similar to move editors. | + +> 💡 Split size distribution is controlled by `workbench.editor.splitSizing` setting. By default, it's `distribute`, +> which is equal to vim's `equalalways` and `eadirection = 'both'` (default). + +To use VSCode command 'Increase/decrease current view size' instead of separate bindings for width and height: + +- `workbench.action.increaseViewSize` +- `workbench.action.decreaseViewSize` + +
+Copy this into init.vim + + function! s:manageEditorSize(...) + let count = a:1 + let to = a:2 + for i in range(1, count ? count : 1) + call VSCodeNotify(to ==# 'increase' ? 'workbench.action.increaseViewSize' : 'workbench.action.decreaseViewSize') + endfor + endfunction + + " Sample keybindings. Note these override default keybindings mentioned above. + nnoremap > call manageEditorSize(v:count, 'increase') + xnoremap > call manageEditorSize(v:count, 'increase') + nnoremap + call manageEditorSize(v:count, 'increase') + xnoremap + call manageEditorSize(v:count, 'increase') + nnoremap < call manageEditorSize(v:count, 'decrease') + xnoremap < call manageEditorSize(v:count, 'decrease') + nnoremap - call manageEditorSize(v:count, 'decrease') + xnoremap - call manageEditorSize(v:count, 'decrease') + +
+ +### Insert mode special keys + +Enabled by `useCtrlKeysForInsertMode` (default true). + +| Key | Description | Status | +| ------------------------------------------- | ----------------------------------------------------------------- | --------------------------------- | +| C-r [0-9a-z"%#*+:.-=] | Paste from register. | Works | +| C-a | Paste previous inserted content. | Works | +| C-o | Switch to normal mode for a single command, then back. | Works | +| C-u | Delete all text till beginning of line. If empty, delete newline. | Bound to VSCode key | +| C-w | Delete word left. | Bound to VSCode key | +| C-h | Delete character left. | Bound to VSCode key | +| C-t | Indent lines right. | Bound to VSCode indent line | +| C-d | Indent lines left. | Bound to VSCode outindent line | +| C-j | Insert line. | Bound to VSCode insert line after | +| C-c | Escape. | Works | + +Other keys are not supported in insert mode. + +### Normal mode control keys + +Enabled by `useCtrlKeysForNormalMode` (default true). + +Refer to vim manual for their use. + +- C-a +- C-b +- C-c +- C-d +- C-e +- C-f +- C-i +- C-o (to enable, see + [this issue](https://github.com/asvetliakov/vscode-neovim/issues/181#issuecomment-585264621)) +- C-r +- C-u +- C-v +- C-w +- C-x +- C-y +- C-] +- C-j +- C-k +- C-l +- C-h +- C-/ + +### Cmdline special keys + +Always enabled. + +| Key | Desription | +| ------------------------------- | --------------------------------------------------------- | +| C-h | Delete one character left. | +| C-w | Delete word left. | +| C-u | Clear line. | +| C-g / C-t | In incsearch mode moves to next/previous result. | +| C-l | Add next character under the cursor to incsearch. | +| C-n / C-p | Go down/up history. | +| Up / Down | Select next/prev suggestion (cannot be used for history). | +| Tab | Select suggestion. | + +### VSCode specific bindings + +#### Editor command + +| Key | VSCode Command | +| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| = / == | `editor.action.formatSelection` | +| gh / K | `editor.action.showHover` | +| gd / C-] | `editor.action.revealDefinition`
Also works in vim help. | +| gf | `editor.action.revealDeclaration` | +| gH | `editor.action.referenceSearch.trigger` | +| gO | `workbench.action.gotoSymbol` | +| C-w gd / C-w gf | `editor.action.revealDefinitionAside` | +| gD | `editor.action.peekDefinition` | +| gF | `editor.action.peekDeclaration` | +| Tab | `togglePeekWidgetFocus`
Switch between peek editor and reference list. | +| C-n / C-p | Navigate lists, parameter hints, suggestions, quick-open, cmdline history, peek reference list | + +> 💡 To specify the default peek mode, modify `editor.peekWidgetDefaultFocus` in your settings. + +#### Explorer/list navigation + +| Key | VSCode Command | +| ---------------------------------- | ------------------------------- | +| j / k | `list.focusDown/Up` | +| h / l | `list.collapse/select` | +| Enter | `list.select` | +| gg | `list.focusFirst` | +| G | `list.focusLast` | +| o | `list.toggleExpand` | +| C-u / C-d | `list.focusPageUp/Down` | +| / / Escape | `list.toggleKeyboardNavigation` | + +> 💡 To enable explorer list navigation, add `"workbench.list.automaticKeyboardNavigation": false` to your +> `settings.json`. + +#### Explorer file manipulation + +| Key | VSCode Command | +| ------------ | --------------------- | +| r | `renameFile` | +| d | `deleteFile` | +| y | `filesExplorer.copy` | +| x | `filesExplorer.cut` | +| p | `filesExplorer.paste` | +| v | `explorer.openToSide` | +| a | `explorer.newFile` | +| A | `explorer.newFolder` | + +### Custom keybindings + +Control keys which are not in the above tables are not sent to neovim by default. To pass additional ctrl keys to +neovim, for example C-Tab, add to your keybindings.json: + +```jsonc +{ + "command": "vscode-neovim.send", + // the key sequence to activate the binding + "key": "ctrl+tab", + // don't activate during insert mode + "when": "editorTextFocus && neovim.mode != insert", + // the input to send to neovim + "args": "" +} +``` + +To disable existing an ctrl key sequence, for example C-A add to your keybindings.json: + +```json +{ + "command": "-vscode-neovim.send", + "key": "ctrl+a" +} +``` + +## 🤝 Vim Plugins + +Most vim plugins will work out of the box, but certain plugins may require some fixes to work properly. + +### vim-easymotion + +While the original [vim-easymotion](https://github.com/easymotion/vim-easymotion) functions as expected, it works by +replacing your text with markers then restoring back, which leads to broken text and many errors reported in VSCode. + +For this reason I created the special [vim-easymotion fork](https://github.com/asvetliakov/vim-easymotion) which doesn't +touch your text and instead use vscode text decorations. Just add my fork to your `vim-plug` block or by using your +favorite vim plugin installer and delete original vim-easymotion. Also overwin motions won't work (obviously) so don't +use them. + +By default, text decorations will appear behind of the associated text as shown in the screenshot. To show the +decorations on top of the text, set `vscode-neovim.textDecorationsAtTop` to true. + +Happy jumping! + +![easymotion](https://github.com/asvetliakov/vscode-neovim/raw/HEAD/images/easy-motion-vscode.png) + +### vim-commentary + +You can use [vim-commentary](https://github.com/tpope/vim-commentary) if you like it. But vscode already has such +functionality so why don't use it? Add to your init.vim/init.nvim: + +```vim +xmap gc VSCodeCommentary +nmap gc VSCodeCommentary +omap gc VSCodeCommentary +nmap gcc VSCodeCommentaryLine +``` + +Similar to vim-commentary, gcc is comment line (accept count), use gc with motion/in visual mode. `VSCodeCommentary` is +just a simple function which calls `editor.action.commentLine`. + +### quick-scope + +[quick-scope](https://github.com/unblevable/quick-scope) plugin uses default vim HL groups by default but they are +normally ignored. To fix, add + +```vim +highlight QuickScopePrimary guifg='#afff5f' gui=underline ctermfg=155 cterm=underline +highlight QuickScopeSecondary guifg='#5fffff' gui=underline ctermfg=81 cterm=underline +``` + +to your init.vim. The underline color can be changed by the `guisp` tag. + +## 📑 How it works + +- VScode connects to neovim instance +- When opening a some file, a scratch buffer is created in nvim and being init with text content from vscode +- Normal/visual mode commands are being sent directly to neovim. The extension listens for buffer events and applies + edits from neovim +- When entering the insert mode, the extensions stops listen for keystroke events and delegates typing mode to vscode + (no neovim communication is being performed here) +- After pressing escape key from the insert mode, extension sends changes obtained from the insert mode to neovim + +## ❤️ Credits & External Resources + +- [vim-altercmd](https://github.com/kana/vim-altercmd) - Used for rebinding default commands to call vscode command +- [neovim nodejs client](https://github.com/neovim/node-client) - NodeJS library for communicating with Neovim +- [VSCodeVim](https://github.com/VSCodeVim/Vim) - Used for various inspiration diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js new file mode 100644 index 00000000..856e8ffe --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js @@ -0,0 +1,3 @@ +/*! For license information please see extension.js.LICENSE.txt */ +(()=>{var e={7438:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CachedKeyDecoder=void 0;const r=n(1259);t.CachedKeyDecoder=class{constructor(e=16,t=16){this.maxKeyLength=e,this.maxLengthPerKey=t,this.caches=[];for(let e=0;e0&&e<=this.maxKeyLength}get(e,t,n){const r=this.caches[n-1],i=r.length;e:for(let s=0;s=this.maxLengthPerKey?n[Math.random()*n.length|0]=r:n.push(r)}decode(e,t,n){const i=this.get(e,t,n);if(null!=i)return i;const s=r.utf8DecodeJs(e,t,n),o=Uint8Array.prototype.slice.call(e,t,t+n);return this.store(o,s),s}}},3518:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.DataViewIndexOutOfBoundsError=void 0;const r=n(8938),i=n(443),s=n(3305),o=n(1259),a=n(1340),l=n(7438),u=e=>{const t=typeof e;return"string"===t||"number"===t},c=new DataView(new ArrayBuffer(0)),h=new Uint8Array(c.buffer);t.DataViewIndexOutOfBoundsError=(()=>{try{c.getInt8(0)}catch(e){return e.constructor}throw new Error("never reached")})();const d=new t.DataViewIndexOutOfBoundsError("Insufficient data"),f=new l.CachedKeyDecoder;t.Decoder=class{constructor(e=i.ExtensionCodec.defaultCodec,t,n=4294967295,r=4294967295,s=4294967295,o=4294967295,a=4294967295,l=f){this.extensionCodec=e,this.context=t,this.maxStrLength=n,this.maxBinLength=r,this.maxArrayLength=s,this.maxMapLength=o,this.maxExtLength=a,this.cachedKeyDecoder=l,this.totalPos=0,this.pos=0,this.view=c,this.bytes=h,this.headByte=-1,this.stack=[]}setBuffer(e){this.bytes=a.ensureUint8Array(e),this.view=a.createDataView(this.bytes),this.pos=0}appendBuffer(e){if(-1!==this.headByte||this.hasRemaining()){const t=this.bytes.subarray(this.pos),n=a.ensureUint8Array(e),r=new Uint8Array(t.length+n.length);r.set(t),r.set(n,t.length),this.setBuffer(r)}else this.setBuffer(e)}hasRemaining(e=1){return this.view.byteLength-this.pos>=e}createNoExtraBytesError(e){const{view:t,pos:n}=this;return new RangeError(`Extra ${t.byteLength-n} byte(s) found at buffer[${e}]`)}decodeSingleSync(){const e=this.decodeSync();if(this.hasRemaining())throw this.createNoExtraBytesError(this.pos);return e}async decodeSingleAsync(e){let n,i=!1;for await(const r of e){if(i)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(r);try{n=this.decodeSync(),i=!0}catch(e){if(!(e instanceof t.DataViewIndexOutOfBoundsError))throw e}this.totalPos+=this.pos}if(i){if(this.hasRemaining())throw this.createNoExtraBytesError(this.totalPos);return n}const{headByte:s,pos:o,totalPos:a}=this;throw new RangeError(`Insufficient data in parcing ${r.prettyByte(s)} at ${a} (${o} in the current buffer)`)}decodeArrayStream(e){return this.decodeMultiAsync(e,!0)}decodeStream(e){return this.decodeMultiAsync(e,!1)}async*decodeMultiAsync(e,n){let r=n,i=-1;for await(const s of e){if(n&&0===i)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(s),r&&(i=this.readArraySize(),r=!1,this.complete());try{for(;yield this.decodeSync(),0!=--i;);}catch(e){if(!(e instanceof t.DataViewIndexOutOfBoundsError))throw e}this.totalPos+=this.pos}}decodeSync(){e:for(;;){const e=this.readHeadByte();let t;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){const n=e-128;if(0!==n){this.pushMapState(n),this.complete();continue e}t={}}else if(e<160){const n=e-144;if(0!==n){this.pushArrayState(n),this.complete();continue e}t=[]}else{const n=e-160;t=this.decodeUtf8String(n,0)}else if(192===e)t=null;else if(194===e)t=!1;else if(195===e)t=!0;else if(202===e)t=this.readF32();else if(203===e)t=this.readF64();else if(204===e)t=this.readU8();else if(205===e)t=this.readU16();else if(206===e)t=this.readU32();else if(207===e)t=this.readU64();else if(208===e)t=this.readI8();else if(209===e)t=this.readI16();else if(210===e)t=this.readI32();else if(211===e)t=this.readI64();else if(217===e){const e=this.lookU8();t=this.decodeUtf8String(e,1)}else if(218===e){const e=this.lookU16();t=this.decodeUtf8String(e,2)}else if(219===e){const e=this.lookU32();t=this.decodeUtf8String(e,4)}else if(220===e){const e=this.readU16();if(0!==e){this.pushArrayState(e),this.complete();continue e}t=[]}else if(221===e){const e=this.readU32();if(0!==e){this.pushArrayState(e),this.complete();continue e}t=[]}else if(222===e){const e=this.readU16();if(0!==e){this.pushMapState(e),this.complete();continue e}t={}}else if(223===e){const e=this.readU32();if(0!==e){this.pushMapState(e),this.complete();continue e}t={}}else if(196===e){const e=this.lookU8();t=this.decodeBinary(e,1)}else if(197===e){const e=this.lookU16();t=this.decodeBinary(e,2)}else if(198===e){const e=this.lookU32();t=this.decodeBinary(e,4)}else if(212===e)t=this.decodeExtension(1,0);else if(213===e)t=this.decodeExtension(2,0);else if(214===e)t=this.decodeExtension(4,0);else if(215===e)t=this.decodeExtension(8,0);else if(216===e)t=this.decodeExtension(16,0);else if(199===e){const e=this.lookU8();t=this.decodeExtension(e,1)}else if(200===e){const e=this.lookU16();t=this.decodeExtension(e,2)}else{if(201!==e)throw new Error(`Unrecognized type byte: ${r.prettyByte(e)}`);{const e=this.lookU32();t=this.decodeExtension(e,4)}}this.complete();const n=this.stack;for(;n.length>0;){const e=n[n.length-1];if(0===e.type){if(e.array[e.position]=t,e.position++,e.position!==e.size)continue e;n.pop(),t=e.array}else{if(1===e.type){if(!u(t))throw new Error("The type of key must be string or number but "+typeof t);e.key=t,e.type=2;continue e}if(e.map[e.key]=t,e.readCount++,e.readCount!==e.size){e.key=null,e.type=1;continue e}n.pop(),t=e.map}}return t}}readHeadByte(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte}complete(){this.headByte=-1}readArraySize(){const e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;throw new Error(`Unrecognized array type byte: ${r.prettyByte(e)}`)}}pushMapState(e){if(e>this.maxMapLength)throw new Error(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.push({type:1,size:e,key:null,readCount:0,map:{}})}pushArrayState(e){if(e>this.maxArrayLength)throw new Error(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`);this.stack.push({type:0,size:e,array:new Array(e),position:0})}decodeUtf8String(e,t){var n;if(e>this.maxStrLength)throw new Error(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLengtho.TEXT_DECODER_THRESHOLD?o.utf8DecodeTD(this.bytes,r,e):o.utf8DecodeJs(this.bytes,r,e),this.pos+=t+e,i}stateIsMapKey(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type}decodeBinary(e,t){if(e>this.maxBinLength)throw new Error(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(e+t))throw d;const n=this.pos+t,r=this.bytes.subarray(n,n+e);return this.pos+=t+e,r}decodeExtension(e,t){if(e>this.maxExtLength)throw new Error(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`);const n=this.view.getInt8(this.pos+t),r=this.decodeBinary(e,t+1);return this.extensionCodec.decode(r,n,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){const e=this.view.getUint8(this.pos);return this.pos++,e}readI8(){const e=this.view.getInt8(this.pos);return this.pos++,e}readU16(){const e=this.view.getUint16(this.pos);return this.pos+=2,e}readI16(){const e=this.view.getInt16(this.pos);return this.pos+=2,e}readU32(){const e=this.view.getUint32(this.pos);return this.pos+=4,e}readI32(){const e=this.view.getInt32(this.pos);return this.pos+=4,e}readU64(){const e=s.getUint64(this.view,this.pos);return this.pos+=8,e}readI64(){const e=s.getInt64(this.view,this.pos);return this.pos+=8,e}readF32(){const e=this.view.getFloat32(this.pos);return this.pos+=4,e}readF64(){const e=this.view.getFloat64(this.pos);return this.pos+=8,e}}},9247:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Encoder=t.DEFAULT_INITIAL_BUFFER_SIZE=t.DEFAULT_MAX_DEPTH=void 0;const r=n(1259),i=n(443),s=n(3305),o=n(1340);t.DEFAULT_MAX_DEPTH=100,t.DEFAULT_INITIAL_BUFFER_SIZE=2048,t.Encoder=class{constructor(e=i.ExtensionCodec.defaultCodec,n,r=t.DEFAULT_MAX_DEPTH,s=t.DEFAULT_INITIAL_BUFFER_SIZE,o=!1,a=!1,l=!1){this.extensionCodec=e,this.context=n,this.maxDepth=r,this.initialBufferSize=s,this.sortKeys=o,this.forceFloat32=a,this.ignoreUndefined=l,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}encode(e,t){if(t>this.maxDepth)throw new Error(`Too deep objects in depth ${t}`);null==e?this.encodeNil():"boolean"==typeof e?this.encodeBoolean(e):"number"==typeof e?this.encodeNumber(e):"string"==typeof e?this.encodeString(e):this.encodeObject(e,t)}getUint8Array(){return this.bytes.subarray(0,this.pos)}ensureBufferSizeToWrite(e){const t=this.pos+e;this.view.byteLength=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):(this.writeU8(211),this.writeI64(e)):this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))}writeStringHeader(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else{if(!(e<4294967296))throw new Error(`Too long string: ${e} bytes in UTF-8`);this.writeU8(219),this.writeU32(e)}}encodeString(e){const t=e.length;if(r.TEXT_ENCODING_AVAILABLE&&t>r.TEXT_ENCODER_THRESHOLD){const t=r.utf8Count(e);this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),r.utf8EncodeTE(e,this.bytes,this.pos),this.pos+=t}else{const t=r.utf8Count(e);this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),r.utf8EncodeJs(e,this.bytes,this.pos),this.pos+=t}}encodeObject(e,t){const n=this.extensionCodec.tryToEncode(e,this.context);if(null!=n)this.encodeExtension(n);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else{if("object"!=typeof e)throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(e)}`);this.encodeMap(e,t)}}encodeBinary(e){const t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error(`Too large binary: ${t}`);this.writeU8(198),this.writeU32(t)}const n=o.ensureUint8Array(e);this.writeU8a(n)}encodeArray(e,t){const n=e.length;if(n<16)this.writeU8(144+n);else if(n<65536)this.writeU8(220),this.writeU16(n);else{if(!(n<4294967296))throw new Error(`Too large array: ${n}`);this.writeU8(221),this.writeU32(n)}for(const n of e)this.encode(n,t+1)}countWithoutUndefined(e,t){let n=0;for(const r of t)void 0!==e[r]&&n++;return n}encodeMap(e,t){const n=Object.keys(e);this.sortKeys&&n.sort();const r=this.ignoreUndefined?this.countWithoutUndefined(e,n):n.length;if(r<16)this.writeU8(128+r);else if(r<65536)this.writeU8(222),this.writeU16(r);else{if(!(r<4294967296))throw new Error(`Too large map object: ${r}`);this.writeU8(223),this.writeU32(r)}for(const r of n){const n=e[r];this.ignoreUndefined&&void 0===n||(this.encodeString(r),this.encode(n,t+1))}}encodeExtension(e){const t=e.data.length;if(1===t)this.writeU8(212);else if(2===t)this.writeU8(213);else if(4===t)this.writeU8(214);else if(8===t)this.writeU8(215);else if(16===t)this.writeU8(216);else if(t<256)this.writeU8(199),this.writeU8(t);else if(t<65536)this.writeU8(200),this.writeU16(t);else{if(!(t<4294967296))throw new Error(`Too large extension object: ${t}`);this.writeU8(201),this.writeU32(t)}this.writeI8(e.type),this.writeU8a(e.data)}writeU8(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++}writeU8a(e){const t=e.length;this.ensureBufferSizeToWrite(t),this.bytes.set(e,this.pos),this.pos+=t}writeI8(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++}writeU16(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2}writeI16(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2}writeU32(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4}writeI32(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4}writeF32(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4}writeF64(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8}writeU64(e){this.ensureBufferSizeToWrite(8),s.setUint64(this.view,this.pos,e),this.pos+=8}writeI64(e){this.ensureBufferSizeToWrite(8),s.setInt64(this.view,this.pos,e),this.pos+=8}}},2103:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtData=void 0,t.ExtData=class{constructor(e,t){this.type=e,this.data=t}}},443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionCodec=void 0;const r=n(2103),i=n(5636);let s=(()=>{class e{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(i.timestampExtension)}register({type:e,encode:t,decode:n}){if(e>=0)this.encoders[e]=t,this.decoders[e]=n;else{const r=1+e;this.builtInEncoders[r]=t,this.builtInDecoders[r]=n}}tryToEncode(e,t){for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.defaultDecodeOptions=void 0;const r=n(3518);t.defaultDecodeOptions={},t.decode=function(e,n=t.defaultDecodeOptions){const i=new r.Decoder(n.extensionCodec,n.context,n.maxStrLength,n.maxBinLength,n.maxArrayLength,n.maxMapLength,n.maxExtLength);return i.setBuffer(e),i.decodeSingleSync()}},6044:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeStream=t.decodeArrayStream=t.decodeAsync=void 0;const r=n(3518),i=n(9679),s=n(7587);t.decodeAsync=async function(e,t=i.defaultDecodeOptions){const n=s.ensureAsyncIterabe(e);return new r.Decoder(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decodeSingleAsync(n)},t.decodeArrayStream=function(e,t=i.defaultDecodeOptions){const n=s.ensureAsyncIterabe(e);return new r.Decoder(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decodeArrayStream(n)},t.decodeStream=function(e,t=i.defaultDecodeOptions){const n=s.ensureAsyncIterabe(e);return new r.Decoder(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decodeStream(n)}},3954:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encode=void 0;const r=n(9247),i={};t.encode=function(e,t=i){const n=new r.Encoder(t.extensionCodec,t.context,t.maxDepth,t.initialBufferSize,t.sortKeys,t.forceFloat32,t.ignoreUndefined);return n.encode(e,1),n.getUint8Array()}},3308:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3954);Object.defineProperty(t,"encode",{enumerable:!0,get:function(){return r.encode}});var i=n(9679);Object.defineProperty(t,"decode",{enumerable:!0,get:function(){return i.decode}});var s=n(6044);Object.defineProperty(t,"decodeAsync",{enumerable:!0,get:function(){return s.decodeAsync}}),Object.defineProperty(t,"decodeArrayStream",{enumerable:!0,get:function(){return s.decodeArrayStream}}),Object.defineProperty(t,"decodeStream",{enumerable:!0,get:function(){return s.decodeStream}});var o=n(3518);Object.defineProperty(t,"Decoder",{enumerable:!0,get:function(){return o.Decoder}});var a=n(9247);Object.defineProperty(t,"Encoder",{enumerable:!0,get:function(){return a.Encoder}});var l=n(443);Object.defineProperty(t,"ExtensionCodec",{enumerable:!0,get:function(){return l.ExtensionCodec}});var u=n(2103);Object.defineProperty(t,"ExtData",{enumerable:!0,get:function(){return u.ExtData}});var c=n(5636);Object.defineProperty(t,"EXT_TIMESTAMP",{enumerable:!0,get:function(){return c.EXT_TIMESTAMP}}),Object.defineProperty(t,"encodeDateToTimeSpec",{enumerable:!0,get:function(){return c.encodeDateToTimeSpec}}),Object.defineProperty(t,"encodeTimeSpecToTimestamp",{enumerable:!0,get:function(){return c.encodeTimeSpecToTimestamp}}),Object.defineProperty(t,"decodeTimestampToTimeSpec",{enumerable:!0,get:function(){return c.decodeTimestampToTimeSpec}}),Object.defineProperty(t,"encodeTimestampExtension",{enumerable:!0,get:function(){return c.encodeTimestampExtension}}),Object.defineProperty(t,"decodeTimestampExtension",{enumerable:!0,get:function(){return c.decodeTimestampExtension}})},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timestampExtension=t.decodeTimestampExtension=t.decodeTimestampToTimeSpec=t.encodeTimestampExtension=t.encodeDateToTimeSpec=t.encodeTimeSpecToTimestamp=t.EXT_TIMESTAMP=void 0;const r=n(3305);function i({sec:e,nsec:t}){if(e>=0&&t>=0&&e<=17179869183){if(0===t&&e<=4294967295){const t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e),t}{const n=e/4294967296,r=4294967295&e,i=new Uint8Array(8),s=new DataView(i.buffer);return s.setUint32(0,t<<2|3&n),s.setUint32(4,r),i}}{const n=new Uint8Array(12),i=new DataView(n.buffer);return i.setUint32(0,t),r.setInt64(i,4,e),n}}function s(e){const t=e.getTime(),n=Math.floor(t/1e3),r=1e6*(t-1e3*n),i=Math.floor(r/1e9);return{sec:n+i,nsec:r-1e9*i}}function o(e){return e instanceof Date?i(s(e)):null}function a(e){const t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:{const e=t.getUint32(0);return{sec:4294967296*(3&e)+t.getUint32(4),nsec:e>>>2}}case 12:return{sec:r.getInt64(t,4),nsec:t.getUint32(0)};default:throw new Error(`Unrecognized data size for timestamp: ${e.length}`)}}function l(e){const t=a(e);return new Date(1e3*t.sec+t.nsec/1e6)}t.EXT_TIMESTAMP=-1,t.encodeTimeSpecToTimestamp=i,t.encodeDateToTimeSpec=s,t.encodeTimestampExtension=o,t.decodeTimestampToTimeSpec=a,t.decodeTimestampExtension=l,t.timestampExtension={type:t.EXT_TIMESTAMP,encode:o,decode:l}},3305:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getUint64=t.getInt64=t.setInt64=t.setUint64=void 0,t.setUint64=function(e,t,n){const r=n/4294967296,i=n;e.setUint32(t,r),e.setUint32(t+4,i)},t.setInt64=function(e,t,n){const r=Math.floor(n/4294967296),i=n;e.setUint32(t,r),e.setUint32(t+4,i)},t.getInt64=function(e,t){return 4294967296*e.getInt32(t)+e.getUint32(t+4)},t.getUint64=function(e,t){return 4294967296*e.getUint32(t)+e.getUint32(t+4)}},8938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prettyByte=void 0,t.prettyByte=function(e){return`${e<0?"-":""}0x${Math.abs(e).toString(16).padStart(2,"0")}`}},7587:(e,t)=>{"use strict";function n(e){return null!=e[Symbol.asyncIterator]}function r(e){if(null==e)throw new Error("Assertion Failure: value must not be null nor undefined")}async function*i(e){const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)return;r(n),yield n}}finally{t.releaseLock()}}Object.defineProperty(t,"__esModule",{value:!0}),t.ensureAsyncIterabe=t.asyncIterableFromStream=t.isAsyncIterable=void 0,t.isAsyncIterable=n,t.asyncIterableFromStream=i,t.ensureAsyncIterabe=function(e){return n(e)?e:i(e)}},1340:(e,t)=>{"use strict";function n(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e instanceof ArrayBuffer?new Uint8Array(e):Uint8Array.from(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.createDataView=t.ensureUint8Array=void 0,t.ensureUint8Array=n,t.createDataView=function(e){if(e instanceof ArrayBuffer)return new DataView(e);const t=n(e);return new DataView(t.buffer,t.byteOffset,t.byteLength)}},1259:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.utf8DecodeTD=t.TEXT_DECODER_THRESHOLD=t.utf8DecodeJs=t.utf8EncodeTE=t.TEXT_ENCODER_THRESHOLD=t.utf8EncodeJs=t.utf8Count=t.TEXT_ENCODING_AVAILABLE=void 0,t.TEXT_ENCODING_AVAILABLE="undefined"!=typeof process&&"never"!==process.env.TEXT_ENCODING&&"undefined"!=typeof TextEncoder&&"undefined"!=typeof TextDecoder,t.utf8Count=function(e){const t=e.length;let n=0,r=0;for(;r=55296&&i<=56319&&r>6&31|192;else{if(n>=55296&&n<=56319&&s>12&15|224,t[i++]=n>>6&63|128):(t[i++]=n>>18&7|240,t[i++]=n>>12&63|128,t[i++]=n>>6&63|128)}t[i++]=63&n|128}else t[i++]=n}};const n=t.TEXT_ENCODING_AVAILABLE?new TextEncoder:void 0;t.TEXT_ENCODER_THRESHOLD="undefined"!=typeof process&&"force"!==process.env.TEXT_ENCODING?200:0,t.utf8EncodeTE=(null==n?void 0:n.encodeInto)?function(e,t,r){n.encodeInto(e,t.subarray(r))}:function(e,t,r){t.set(n.encode(e),r)},t.utf8DecodeJs=function(e,t,n){let r=t;const i=r+n,s=[];let o="";for(;r65535&&(n-=65536,s.push(n>>>10&1023|55296),n=56320|1023&n),s.push(n)}else s.push(t);s.length>=4096&&(o+=String.fromCharCode(...s),s.length=0)}return s.length>0&&(o+=String.fromCharCode(...s)),o};const r=t.TEXT_ENCODING_AVAILABLE?new TextDecoder:null;t.TEXT_DECODER_THRESHOLD="undefined"!=typeof process&&"force"!==process.env.TEXT_DECODER?200:0,t.utf8DecodeTD=function(e,t,n){const i=e.subarray(t,t+n);return r.decode(i)}},4409:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)((function(t,n){var i;try{i=e.apply(this,t)}catch(e){return n(e)}(0,r.default)(i)&&"function"==typeof i.then?i.then((function(e){a(n,null,e)}),(function(e){a(n,e.message?e:new Error(e))})):n(null,i)}))};var r=o(n(3218)),i=o(n(3519)),s=o(n(3111));function o(e){return e&&e.__esModule?e:{default:e}}function a(e,t,n){try{e(t,n)}catch(e){(0,s.default)(l,e)}}function l(e){throw e}e.exports=t.default},1846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){((0,r.default)(e)?d:f)(e,(0,c.default)(t),n)};var r=h(n(8612)),i=h(n(1605)),s=h(n(7388)),o=h(n(3875)),a=h(n(308)),l=h(n(6979)),u=h(n(3362)),c=h(n(8993));function h(e){return e&&e.__esModule?e:{default:e}}function d(e,t,n){n=(0,l.default)(n||a.default);var r=0,s=0,o=e.length;function c(e,t){e?n(e):++s!==o&&t!==i.default||n(null)}for(0===o&&n(null);r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,s){(0,r.default)(t)(e,(0,i.default)(n),s)};var r=s(n(6954)),i=s(n(8993));function s(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},667:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(7388)),i=s(n(3875));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,i.default)(r.default,1),e.exports=t.default},8058:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,r.default)(e,(0,i.default)((0,s.default)(t)),n)};var r=o(n(1846)),i=o(n(6529)),s=o(n(8993));function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},1605:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={},e.exports=t.default},3875:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return function(n,r,i){return e(n,t,r,i)}},e.exports=t.default},6954:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,n,l){if(l=(0,i.default)(l||r.default),e<=0||!t)return l(null);var u=(0,s.default)(t),c=!1,h=0,d=!1;function f(e,t){if(h-=1,e)c=!0,l(e);else{if(t===a.default||c&&h<=0)return c=!0,l(null);d||g()}}function g(){for(d=!0;h{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return n&&e[n]&&e[n]()};var n="function"==typeof Symbol&&Symbol.iterator;e.exports=t.default},3519:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(){var t=(0,i.default)(arguments),n=t.pop();e.call(this,t,n)}};var r,i=(r=n(3033))&&r.__esModule?r:{default:r};e.exports=t.default},9733:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,r.default)(e))return function(e){var t=-1,n=e.length;return function(){return++t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(){if(null!==e){var t=e;e=null,t.apply(this,arguments)}}},e.exports=t.default},3362:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(){if(null===e)throw new Error("Callback was already called.");var t=e;e=null,t.apply(this,arguments)}},e.exports=t.default},3409:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){n=n||r.default;var a=(0,i.default)(t)?[]:{};e(t,(function(e,t,n){(0,o.default)(e)((function(e,r){arguments.length>2&&(r=(0,s.default)(arguments,1)),a[t]=r,n(e)}))}),(function(e){n(e,a)}))};var r=a(n(308)),i=a(n(8612)),s=a(n(3033)),o=a(n(8993));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},3111:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasNextTick=t.hasSetImmediate=void 0,t.fallback=l,t.wrap=u;var r,i,s=(r=n(3033))&&r.__esModule?r:{default:r},o=t.hasSetImmediate="function"==typeof setImmediate&&setImmediate,a=t.hasNextTick="object"==typeof process&&"function"==typeof process.nextTick;function l(e){setTimeout(e,0)}function u(e){return function(t){var n=(0,s.default)(arguments,1);e((function(){t.apply(null,n)}))}}i=o?setImmediate:a?process.nextTick:l,t.default=u(i)},3033:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){t|=0;for(var n=Math.max(e.length-t,0),r=Array(n),i=0;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,n,r){return e(t,r)}},e.exports=t.default},8993:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAsync=void 0;var r,i=(r=n(4409))&&r.__esModule?r:{default:r},s="function"==typeof Symbol;function o(e){return s&&"AsyncFunction"===e[Symbol.toStringTag]}t.default=function(e){return o(e)?(0,i.default)(e):e},t.isAsync=o},8415:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,r.default)(i.default,e,t)};var r=s(n(3409)),i=s(n(667));function s(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},8168:(e,t,n)=>{var r=n(9092),i={};for(var s in r)r.hasOwnProperty(s)&&(i[r[s]]=s);var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var a in o)if(o.hasOwnProperty(a)){if(!("channels"in o[a]))throw new Error("missing channels property: "+a);if(!("labels"in o[a]))throw new Error("missing channel labels property: "+a);if(o[a].labels.length!==o[a].channels)throw new Error("channel and label counts mismatch: "+a);var l=o[a].channels,u=o[a].labels;delete o[a].channels,delete o[a].labels,Object.defineProperty(o[a],"channels",{value:l}),Object.defineProperty(o[a],"labels",{value:u})}o.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,s=e[2]/255,o=Math.min(r,i,s),a=Math.max(r,i,s),l=a-o;return a===o?t=0:r===a?t=(i-s)/l:i===a?t=2+(s-r)/l:s===a&&(t=4+(r-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),n=(o+a)/2,[t,100*(a===o?0:n<=.5?l/(a+o):l/(2-a-o)),100*n]},o.rgb.hsv=function(e){var t,n,r,i,s,o=e[0]/255,a=e[1]/255,l=e[2]/255,u=Math.max(o,a,l),c=u-Math.min(o,a,l),h=function(e){return(u-e)/6/c+.5};return 0===c?i=s=0:(s=c/u,t=h(o),n=h(a),r=h(l),o===u?i=r-n:a===u?i=1/3+t-r:l===u&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*s,100*u]},o.rgb.hwb=function(e){var t=e[0],n=e[1],r=e[2];return[o.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,r))*100,100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},o.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},o.rgb.keyword=function(e){var t=i[e];if(t)return t;var n,s,o,a=1/0;for(var l in r)if(r.hasOwnProperty(l)){var u=(s=e,o=r[l],Math.pow(s[0]-o[0],2)+Math.pow(s[1]-o[1],2)+Math.pow(s[2]-o[2],2));u.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},o.rgb.lab=function(e){var t=o.rgb.xyz(e),n=t[0],r=t[1],i=t[2];return r/=100,i/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},o.hsl.rgb=function(e){var t,n,r,i,s,o=e[0]/360,a=e[1]/100,l=e[2]/100;if(0===a)return[s=255*l,s,s];t=2*l-(n=l<.5?l*(1+a):l+a-l*a),i=[0,0,0];for(var u=0;u<3;u++)(r=o+1/3*-(u-1))<0&&r++,r>1&&r--,s=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[u]=255*s;return i},o.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,s=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=s<=1?s:2-s,[t,100*(0===r?2*i/(s+i):2*n/(r+n)),(r+n)/2*100]},o.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,s=t-Math.floor(t),o=255*r*(1-n),a=255*r*(1-n*s),l=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,l,o];case 1:return[a,r,o];case 2:return[o,r,l];case 3:return[o,a,r];case 4:return[l,o,r];case 5:return[r,o,a]}},o.hsv.hsl=function(e){var t,n,r,i=e[0],s=e[1]/100,o=e[2]/100,a=Math.max(o,.01);return r=(2-s)*o,n=s*a,[i,100*(n=(n/=(t=(2-s)*a)<=1?t:2-t)||0),100*(r/=2)]},o.hwb.rgb=function(e){var t,n,r,i,s,o,a,l=e[0]/360,u=e[1]/100,c=e[2]/100,h=u+c;switch(h>1&&(u/=h,c/=h),r=6*l-(t=Math.floor(6*l)),0!=(1&t)&&(r=1-r),i=u+r*((n=1-c)-u),t){default:case 6:case 0:s=n,o=i,a=u;break;case 1:s=i,o=n,a=u;break;case 2:s=u,o=n,a=i;break;case 3:s=u,o=i,a=n;break;case 4:s=i,o=u,a=n;break;case 5:s=n,o=u,a=i}return[255*s,255*o,255*a]},o.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},o.xyz.rgb=function(e){var t,n,r,i=e[0]/100,s=e[1]/100,o=e[2]/100;return n=-.9689*i+1.8758*s+.0415*o,r=.0557*i+-.204*s+1.057*o,t=(t=3.2406*i+-1.5372*s+-.4986*o)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},o.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},o.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var s=Math.pow(n,3),o=Math.pow(t,3),a=Math.pow(r,3);return n=s>.008856?s:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=a>.008856?a:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},o.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},o.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},o.rgb.ansi16=function(e){var t=e[0],n=e[1],r=e[2],i=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];if(0===(i=Math.round(i/50)))return 30;var s=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===i&&(s+=60),s},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},o.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},o.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},o.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},o.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,s=Math.max(Math.max(n,r),i),o=Math.min(Math.min(n,r),i),a=s-o;return t=a<=0?0:s===n?(r-i)/a%6:s===r?2+(i-n)/a:4+(n-r)/a+4,t/=6,[360*(t%=1),100*a,100*(a<1?o/(1-a):0)]},o.hsl.hcg=function(e){var t,n=e[1]/100,r=e[2]/100,i=0;return(t=r<.5?2*n*r:2*n*(1-r))<1&&(i=(r-.5*t)/(1-t)),[e[0],100*t,100*i]},o.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},o.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i,s=[0,0,0],o=t%1*6,a=o%1,l=1-a;switch(Math.floor(o)){case 0:s[0]=1,s[1]=a,s[2]=0;break;case 1:s[0]=l,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=a;break;case 3:s[0]=0,s[1]=l,s[2]=1;break;case 4:s[0]=a,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=l}return i=(1-n)*r,[255*(n*s[0]+i),255*(n*s[1]+i),255*(n*s[2]+i)]},o.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},o.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},o.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},o.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]},o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},2085:(e,t,n)=>{var r=n(8168),i=n(4111),s={};Object.keys(r).forEach((function(e){s[e]={},Object.defineProperty(s[e],"channels",{value:r[e].channels}),Object.defineProperty(s[e],"labels",{value:r[e].labels});var t=i(e);Object.keys(t).forEach((function(n){var r=t[n];s[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,i=0;i1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))})),e.exports=s},9092:e=>{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},4111:(e,t,n)=>{var r=n(8168);function i(e,t){return function(n){return t(e(n))}}function s(e,t){for(var n=[t[e].parent,e],s=r[t[e].parent][e],o=t[e].parent;t[o].parent;)n.unshift(t[o].parent),s=i(r[t[o].parent][o],s),o=t[o].parent;return s.conversion=n,s}e.exports=function(e){for(var t=function(e){var t=function(){for(var e={},t=Object.keys(r),n=t.length,i=0;i{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},9818:(e,t,n)=>{var r=n(8874),i=n(6851),s={};for(var o in r)r.hasOwnProperty(o)&&(s[r[o]]=o);var a=e.exports={to:{},get:{}};function l(e,t,n){return Math.min(Math.max(t,e),n)}function u(e){var t=e.toString(16).toUpperCase();return t.length<2?"0"+t:t}a.get=function(e){var t,n;switch(e.substring(0,3).toLowerCase()){case"hsl":t=a.get.hsl(e),n="hsl";break;case"hwb":t=a.get.hwb(e),n="hwb";break;default:t=a.get.rgb(e),n="rgb"}return t?{model:n,value:t}:null},a.get.rgb=function(e){if(!e)return null;var t,n,i,s=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(i=t[2],t=t[1],n=0;n<3;n++){var o=2*n;s[n]=parseInt(t.slice(o,o+2),16)}i&&(s[3]=parseInt(i,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(i=(t=t[1])[3],n=0;n<3;n++)s[n]=parseInt(t[n]+t[n],16);i&&(s[3]=parseInt(i+i,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/)){for(n=0;n<3;n++)s[n]=parseInt(t[n+1],0);t[4]&&(s[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/)))return(t=e.match(/(\D+)/))?"transparent"===t[1]?[0,0,0,0]:(s=r[t[1]])?(s[3]=1,s):null:null;for(n=0;n<3;n++)s[n]=Math.round(2.55*parseFloat(t[n+1]));t[4]&&(s[3]=parseFloat(t[4]))}for(n=0;n<3;n++)s[n]=l(s[n],0,255);return s[3]=l(s[3],0,1),s},a.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/);if(t){var n=parseFloat(t[4]);return[(parseFloat(t[1])+360)%360,l(parseFloat(t[2]),0,100),l(parseFloat(t[3]),0,100),l(isNaN(n)?1:n,0,1)]}return null},a.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/);if(t){var n=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,l(parseFloat(t[2]),0,100),l(parseFloat(t[3]),0,100),l(isNaN(n)?1:n,0,1)]}return null},a.to.hex=function(){var e=i(arguments);return"#"+u(e[0])+u(e[1])+u(e[2])+(e[3]<1?u(Math.round(255*e[3])):"")},a.to.rgb=function(){var e=i(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},a.to.rgb.percent=function(){var e=i(arguments),t=Math.round(e[0]/255*100),n=Math.round(e[1]/255*100),r=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+n+"%, "+r+"%)":"rgba("+t+"%, "+n+"%, "+r+"%, "+e[3]+")"},a.to.hsl=function(){var e=i(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},a.to.hwb=function(){var e=i(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},a.to.keyword=function(e){return s[e.slice(0,3)]}},6767:(e,t,n)=>{"use strict";var r=n(9818),i=n(2085),s=[].slice,o=["keyword","gray","hex"],a={};Object.keys(i).forEach((function(e){a[s.call(i[e].labels).sort().join("")]=e}));var l={};function u(e,t){if(!(this instanceof u))return new u(e,t);if(t&&t in o&&(t=null),t&&!(t in i))throw new Error("Unknown model: "+t);var n,c;if(e)if(e instanceof u)this.model=e.model,this.color=e.color.slice(),this.valpha=e.valpha;else if("string"==typeof e){var h=r.get(e);if(null===h)throw new Error("Unable to parse color from string: "+e);this.model=h.model,c=i[this.model].channels,this.color=h.value.slice(0,c),this.valpha="number"==typeof h.value[c]?h.value[c]:1}else if(e.length){this.model=t||"rgb",c=i[this.model].channels;var d=s.call(e,0,c);this.color=f(d,c),this.valpha="number"==typeof e[c]?e[c]:1}else if("number"==typeof e)e&=16777215,this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;var g=Object.keys(e);"alpha"in e&&(g.splice(g.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);var p=g.sort().join("");if(!(p in a))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=a[p];var m=i[this.model].labels,v=[];for(n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},isDark:function(){var e=this.rgb().color;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},isLight:function(){return!this.isDark()},negate:function(){for(var e=this.rgb(),t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten:function(e){var t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken:function(e){var t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate:function(e){var t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate:function(e){var t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten:function(e){var t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken:function(e){var t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale:function(){var e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return u.rgb(t,t,t)},fade:function(e){return this.alpha(this.valpha-this.valpha*e)},opaquer:function(e){return this.alpha(this.valpha+this.valpha*e)},rotate:function(e){var t=this.hsl(),n=t.color[0];return n=(n=(n+e)%360)<0?360+n:n,t.color[0]=n,t},mix:function(e,t){var n=e.rgb(),r=this.rgb(),i=void 0===t?.5:t,s=2*i-1,o=n.alpha()-r.alpha(),a=((s*o==-1?s:(s+o)/(1+s*o))+1)/2,l=1-a;return u.rgb(a*n.red()+l*r.red(),a*n.green()+l*r.green(),a*n.blue()+l*r.blue(),n.alpha()*i+r.alpha()*(1-i))}},Object.keys(i).forEach((function(e){if(-1===o.indexOf(e)){var t=i[e].channels;u.prototype[e]=function(){if(this.model===e)return new u(this);if(arguments.length)return new u(arguments,e);var n="number"==typeof arguments[t]?t:this.valpha;return new u(d(i[this.model][e].raw(this.color)).concat(n),e)},u[e]=function(n){return"number"==typeof n&&(n=f(s.call(arguments),t)),new u(n,e)}}})),e.exports=u},292:e=>{e.exports=[{value:"#B0171F",name:"indian red"},{value:"#DC143C",css:!0,name:"crimson"},{value:"#FFB6C1",css:!0,name:"lightpink"},{value:"#FFAEB9",name:"lightpink 1"},{value:"#EEA2AD",name:"lightpink 2"},{value:"#CD8C95",name:"lightpink 3"},{value:"#8B5F65",name:"lightpink 4"},{value:"#FFC0CB",css:!0,name:"pink"},{value:"#FFB5C5",name:"pink 1"},{value:"#EEA9B8",name:"pink 2"},{value:"#CD919E",name:"pink 3"},{value:"#8B636C",name:"pink 4"},{value:"#DB7093",css:!0,name:"palevioletred"},{value:"#FF82AB",name:"palevioletred 1"},{value:"#EE799F",name:"palevioletred 2"},{value:"#CD6889",name:"palevioletred 3"},{value:"#8B475D",name:"palevioletred 4"},{value:"#FFF0F5",name:"lavenderblush 1"},{value:"#FFF0F5",css:!0,name:"lavenderblush"},{value:"#EEE0E5",name:"lavenderblush 2"},{value:"#CDC1C5",name:"lavenderblush 3"},{value:"#8B8386",name:"lavenderblush 4"},{value:"#FF3E96",name:"violetred 1"},{value:"#EE3A8C",name:"violetred 2"},{value:"#CD3278",name:"violetred 3"},{value:"#8B2252",name:"violetred 4"},{value:"#FF69B4",css:!0,name:"hotpink"},{value:"#FF6EB4",name:"hotpink 1"},{value:"#EE6AA7",name:"hotpink 2"},{value:"#CD6090",name:"hotpink 3"},{value:"#8B3A62",name:"hotpink 4"},{value:"#872657",name:"raspberry"},{value:"#FF1493",name:"deeppink 1"},{value:"#FF1493",css:!0,name:"deeppink"},{value:"#EE1289",name:"deeppink 2"},{value:"#CD1076",name:"deeppink 3"},{value:"#8B0A50",name:"deeppink 4"},{value:"#FF34B3",name:"maroon 1"},{value:"#EE30A7",name:"maroon 2"},{value:"#CD2990",name:"maroon 3"},{value:"#8B1C62",name:"maroon 4"},{value:"#C71585",css:!0,name:"mediumvioletred"},{value:"#D02090",name:"violetred"},{value:"#DA70D6",css:!0,name:"orchid"},{value:"#FF83FA",name:"orchid 1"},{value:"#EE7AE9",name:"orchid 2"},{value:"#CD69C9",name:"orchid 3"},{value:"#8B4789",name:"orchid 4"},{value:"#D8BFD8",css:!0,name:"thistle"},{value:"#FFE1FF",name:"thistle 1"},{value:"#EED2EE",name:"thistle 2"},{value:"#CDB5CD",name:"thistle 3"},{value:"#8B7B8B",name:"thistle 4"},{value:"#FFBBFF",name:"plum 1"},{value:"#EEAEEE",name:"plum 2"},{value:"#CD96CD",name:"plum 3"},{value:"#8B668B",name:"plum 4"},{value:"#DDA0DD",css:!0,name:"plum"},{value:"#EE82EE",css:!0,name:"violet"},{value:"#FF00FF",vga:!0,name:"magenta"},{value:"#FF00FF",vga:!0,css:!0,name:"fuchsia"},{value:"#EE00EE",name:"magenta 2"},{value:"#CD00CD",name:"magenta 3"},{value:"#8B008B",name:"magenta 4"},{value:"#8B008B",css:!0,name:"darkmagenta"},{value:"#800080",vga:!0,css:!0,name:"purple"},{value:"#BA55D3",css:!0,name:"mediumorchid"},{value:"#E066FF",name:"mediumorchid 1"},{value:"#D15FEE",name:"mediumorchid 2"},{value:"#B452CD",name:"mediumorchid 3"},{value:"#7A378B",name:"mediumorchid 4"},{value:"#9400D3",css:!0,name:"darkviolet"},{value:"#9932CC",css:!0,name:"darkorchid"},{value:"#BF3EFF",name:"darkorchid 1"},{value:"#B23AEE",name:"darkorchid 2"},{value:"#9A32CD",name:"darkorchid 3"},{value:"#68228B",name:"darkorchid 4"},{value:"#4B0082",css:!0,name:"indigo"},{value:"#8A2BE2",css:!0,name:"blueviolet"},{value:"#9B30FF",name:"purple 1"},{value:"#912CEE",name:"purple 2"},{value:"#7D26CD",name:"purple 3"},{value:"#551A8B",name:"purple 4"},{value:"#9370DB",css:!0,name:"mediumpurple"},{value:"#AB82FF",name:"mediumpurple 1"},{value:"#9F79EE",name:"mediumpurple 2"},{value:"#8968CD",name:"mediumpurple 3"},{value:"#5D478B",name:"mediumpurple 4"},{value:"#483D8B",css:!0,name:"darkslateblue"},{value:"#8470FF",name:"lightslateblue"},{value:"#7B68EE",css:!0,name:"mediumslateblue"},{value:"#6A5ACD",css:!0,name:"slateblue"},{value:"#836FFF",name:"slateblue 1"},{value:"#7A67EE",name:"slateblue 2"},{value:"#6959CD",name:"slateblue 3"},{value:"#473C8B",name:"slateblue 4"},{value:"#F8F8FF",css:!0,name:"ghostwhite"},{value:"#E6E6FA",css:!0,name:"lavender"},{value:"#0000FF",vga:!0,css:!0,name:"blue"},{value:"#0000EE",name:"blue 2"},{value:"#0000CD",name:"blue 3"},{value:"#0000CD",css:!0,name:"mediumblue"},{value:"#00008B",name:"blue 4"},{value:"#00008B",css:!0,name:"darkblue"},{value:"#000080",vga:!0,css:!0,name:"navy"},{value:"#191970",css:!0,name:"midnightblue"},{value:"#3D59AB",name:"cobalt"},{value:"#4169E1",css:!0,name:"royalblue"},{value:"#4876FF",name:"royalblue 1"},{value:"#436EEE",name:"royalblue 2"},{value:"#3A5FCD",name:"royalblue 3"},{value:"#27408B",name:"royalblue 4"},{value:"#6495ED",css:!0,name:"cornflowerblue"},{value:"#B0C4DE",css:!0,name:"lightsteelblue"},{value:"#CAE1FF",name:"lightsteelblue 1"},{value:"#BCD2EE",name:"lightsteelblue 2"},{value:"#A2B5CD",name:"lightsteelblue 3"},{value:"#6E7B8B",name:"lightsteelblue 4"},{value:"#778899",css:!0,name:"lightslategray"},{value:"#708090",css:!0,name:"slategray"},{value:"#C6E2FF",name:"slategray 1"},{value:"#B9D3EE",name:"slategray 2"},{value:"#9FB6CD",name:"slategray 3"},{value:"#6C7B8B",name:"slategray 4"},{value:"#1E90FF",name:"dodgerblue 1"},{value:"#1E90FF",css:!0,name:"dodgerblue"},{value:"#1C86EE",name:"dodgerblue 2"},{value:"#1874CD",name:"dodgerblue 3"},{value:"#104E8B",name:"dodgerblue 4"},{value:"#F0F8FF",css:!0,name:"aliceblue"},{value:"#4682B4",css:!0,name:"steelblue"},{value:"#63B8FF",name:"steelblue 1"},{value:"#5CACEE",name:"steelblue 2"},{value:"#4F94CD",name:"steelblue 3"},{value:"#36648B",name:"steelblue 4"},{value:"#87CEFA",css:!0,name:"lightskyblue"},{value:"#B0E2FF",name:"lightskyblue 1"},{value:"#A4D3EE",name:"lightskyblue 2"},{value:"#8DB6CD",name:"lightskyblue 3"},{value:"#607B8B",name:"lightskyblue 4"},{value:"#87CEFF",name:"skyblue 1"},{value:"#7EC0EE",name:"skyblue 2"},{value:"#6CA6CD",name:"skyblue 3"},{value:"#4A708B",name:"skyblue 4"},{value:"#87CEEB",css:!0,name:"skyblue"},{value:"#00BFFF",name:"deepskyblue 1"},{value:"#00BFFF",css:!0,name:"deepskyblue"},{value:"#00B2EE",name:"deepskyblue 2"},{value:"#009ACD",name:"deepskyblue 3"},{value:"#00688B",name:"deepskyblue 4"},{value:"#33A1C9",name:"peacock"},{value:"#ADD8E6",css:!0,name:"lightblue"},{value:"#BFEFFF",name:"lightblue 1"},{value:"#B2DFEE",name:"lightblue 2"},{value:"#9AC0CD",name:"lightblue 3"},{value:"#68838B",name:"lightblue 4"},{value:"#B0E0E6",css:!0,name:"powderblue"},{value:"#98F5FF",name:"cadetblue 1"},{value:"#8EE5EE",name:"cadetblue 2"},{value:"#7AC5CD",name:"cadetblue 3"},{value:"#53868B",name:"cadetblue 4"},{value:"#00F5FF",name:"turquoise 1"},{value:"#00E5EE",name:"turquoise 2"},{value:"#00C5CD",name:"turquoise 3"},{value:"#00868B",name:"turquoise 4"},{value:"#5F9EA0",css:!0,name:"cadetblue"},{value:"#00CED1",css:!0,name:"darkturquoise"},{value:"#F0FFFF",name:"azure 1"},{value:"#F0FFFF",css:!0,name:"azure"},{value:"#E0EEEE",name:"azure 2"},{value:"#C1CDCD",name:"azure 3"},{value:"#838B8B",name:"azure 4"},{value:"#E0FFFF",name:"lightcyan 1"},{value:"#E0FFFF",css:!0,name:"lightcyan"},{value:"#D1EEEE",name:"lightcyan 2"},{value:"#B4CDCD",name:"lightcyan 3"},{value:"#7A8B8B",name:"lightcyan 4"},{value:"#BBFFFF",name:"paleturquoise 1"},{value:"#AEEEEE",name:"paleturquoise 2"},{value:"#AEEEEE",css:!0,name:"paleturquoise"},{value:"#96CDCD",name:"paleturquoise 3"},{value:"#668B8B",name:"paleturquoise 4"},{value:"#2F4F4F",css:!0,name:"darkslategray"},{value:"#97FFFF",name:"darkslategray 1"},{value:"#8DEEEE",name:"darkslategray 2"},{value:"#79CDCD",name:"darkslategray 3"},{value:"#528B8B",name:"darkslategray 4"},{value:"#00FFFF",name:"cyan"},{value:"#00FFFF",css:!0,name:"aqua"},{value:"#00EEEE",name:"cyan 2"},{value:"#00CDCD",name:"cyan 3"},{value:"#008B8B",name:"cyan 4"},{value:"#008B8B",css:!0,name:"darkcyan"},{value:"#008080",vga:!0,css:!0,name:"teal"},{value:"#48D1CC",css:!0,name:"mediumturquoise"},{value:"#20B2AA",css:!0,name:"lightseagreen"},{value:"#03A89E",name:"manganeseblue"},{value:"#40E0D0",css:!0,name:"turquoise"},{value:"#808A87",name:"coldgrey"},{value:"#00C78C",name:"turquoiseblue"},{value:"#7FFFD4",name:"aquamarine 1"},{value:"#7FFFD4",css:!0,name:"aquamarine"},{value:"#76EEC6",name:"aquamarine 2"},{value:"#66CDAA",name:"aquamarine 3"},{value:"#66CDAA",css:!0,name:"mediumaquamarine"},{value:"#458B74",name:"aquamarine 4"},{value:"#00FA9A",css:!0,name:"mediumspringgreen"},{value:"#F5FFFA",css:!0,name:"mintcream"},{value:"#00FF7F",css:!0,name:"springgreen"},{value:"#00EE76",name:"springgreen 1"},{value:"#00CD66",name:"springgreen 2"},{value:"#008B45",name:"springgreen 3"},{value:"#3CB371",css:!0,name:"mediumseagreen"},{value:"#54FF9F",name:"seagreen 1"},{value:"#4EEE94",name:"seagreen 2"},{value:"#43CD80",name:"seagreen 3"},{value:"#2E8B57",name:"seagreen 4"},{value:"#2E8B57",css:!0,name:"seagreen"},{value:"#00C957",name:"emeraldgreen"},{value:"#BDFCC9",name:"mint"},{value:"#3D9140",name:"cobaltgreen"},{value:"#F0FFF0",name:"honeydew 1"},{value:"#F0FFF0",css:!0,name:"honeydew"},{value:"#E0EEE0",name:"honeydew 2"},{value:"#C1CDC1",name:"honeydew 3"},{value:"#838B83",name:"honeydew 4"},{value:"#8FBC8F",css:!0,name:"darkseagreen"},{value:"#C1FFC1",name:"darkseagreen 1"},{value:"#B4EEB4",name:"darkseagreen 2"},{value:"#9BCD9B",name:"darkseagreen 3"},{value:"#698B69",name:"darkseagreen 4"},{value:"#98FB98",css:!0,name:"palegreen"},{value:"#9AFF9A",name:"palegreen 1"},{value:"#90EE90",name:"palegreen 2"},{value:"#90EE90",css:!0,name:"lightgreen"},{value:"#7CCD7C",name:"palegreen 3"},{value:"#548B54",name:"palegreen 4"},{value:"#32CD32",css:!0,name:"limegreen"},{value:"#228B22",css:!0,name:"forestgreen"},{value:"#00FF00",vga:!0,name:"green 1"},{value:"#00FF00",vga:!0,css:!0,name:"lime"},{value:"#00EE00",name:"green 2"},{value:"#00CD00",name:"green 3"},{value:"#008B00",name:"green 4"},{value:"#008000",vga:!0,css:!0,name:"green"},{value:"#006400",css:!0,name:"darkgreen"},{value:"#308014",name:"sapgreen"},{value:"#7CFC00",css:!0,name:"lawngreen"},{value:"#7FFF00",name:"chartreuse 1"},{value:"#7FFF00",css:!0,name:"chartreuse"},{value:"#76EE00",name:"chartreuse 2"},{value:"#66CD00",name:"chartreuse 3"},{value:"#458B00",name:"chartreuse 4"},{value:"#ADFF2F",css:!0,name:"greenyellow"},{value:"#CAFF70",name:"darkolivegreen 1"},{value:"#BCEE68",name:"darkolivegreen 2"},{value:"#A2CD5A",name:"darkolivegreen 3"},{value:"#6E8B3D",name:"darkolivegreen 4"},{value:"#556B2F",css:!0,name:"darkolivegreen"},{value:"#6B8E23",css:!0,name:"olivedrab"},{value:"#C0FF3E",name:"olivedrab 1"},{value:"#B3EE3A",name:"olivedrab 2"},{value:"#9ACD32",name:"olivedrab 3"},{value:"#9ACD32",css:!0,name:"yellowgreen"},{value:"#698B22",name:"olivedrab 4"},{value:"#FFFFF0",name:"ivory 1"},{value:"#FFFFF0",css:!0,name:"ivory"},{value:"#EEEEE0",name:"ivory 2"},{value:"#CDCDC1",name:"ivory 3"},{value:"#8B8B83",name:"ivory 4"},{value:"#F5F5DC",css:!0,name:"beige"},{value:"#FFFFE0",name:"lightyellow 1"},{value:"#FFFFE0",css:!0,name:"lightyellow"},{value:"#EEEED1",name:"lightyellow 2"},{value:"#CDCDB4",name:"lightyellow 3"},{value:"#8B8B7A",name:"lightyellow 4"},{value:"#FAFAD2",css:!0,name:"lightgoldenrodyellow"},{value:"#FFFF00",vga:!0,name:"yellow 1"},{value:"#FFFF00",vga:!0,css:!0,name:"yellow"},{value:"#EEEE00",name:"yellow 2"},{value:"#CDCD00",name:"yellow 3"},{value:"#8B8B00",name:"yellow 4"},{value:"#808069",name:"warmgrey"},{value:"#808000",vga:!0,css:!0,name:"olive"},{value:"#BDB76B",css:!0,name:"darkkhaki"},{value:"#FFF68F",name:"khaki 1"},{value:"#EEE685",name:"khaki 2"},{value:"#CDC673",name:"khaki 3"},{value:"#8B864E",name:"khaki 4"},{value:"#F0E68C",css:!0,name:"khaki"},{value:"#EEE8AA",css:!0,name:"palegoldenrod"},{value:"#FFFACD",name:"lemonchiffon 1"},{value:"#FFFACD",css:!0,name:"lemonchiffon"},{value:"#EEE9BF",name:"lemonchiffon 2"},{value:"#CDC9A5",name:"lemonchiffon 3"},{value:"#8B8970",name:"lemonchiffon 4"},{value:"#FFEC8B",name:"lightgoldenrod 1"},{value:"#EEDC82",name:"lightgoldenrod 2"},{value:"#CDBE70",name:"lightgoldenrod 3"},{value:"#8B814C",name:"lightgoldenrod 4"},{value:"#E3CF57",name:"banana"},{value:"#FFD700",name:"gold 1"},{value:"#FFD700",css:!0,name:"gold"},{value:"#EEC900",name:"gold 2"},{value:"#CDAD00",name:"gold 3"},{value:"#8B7500",name:"gold 4"},{value:"#FFF8DC",name:"cornsilk 1"},{value:"#FFF8DC",css:!0,name:"cornsilk"},{value:"#EEE8CD",name:"cornsilk 2"},{value:"#CDC8B1",name:"cornsilk 3"},{value:"#8B8878",name:"cornsilk 4"},{value:"#DAA520",css:!0,name:"goldenrod"},{value:"#FFC125",name:"goldenrod 1"},{value:"#EEB422",name:"goldenrod 2"},{value:"#CD9B1D",name:"goldenrod 3"},{value:"#8B6914",name:"goldenrod 4"},{value:"#B8860B",css:!0,name:"darkgoldenrod"},{value:"#FFB90F",name:"darkgoldenrod 1"},{value:"#EEAD0E",name:"darkgoldenrod 2"},{value:"#CD950C",name:"darkgoldenrod 3"},{value:"#8B6508",name:"darkgoldenrod 4"},{value:"#FFA500",name:"orange 1"},{value:"#FF8000",css:!0,name:"orange"},{value:"#EE9A00",name:"orange 2"},{value:"#CD8500",name:"orange 3"},{value:"#8B5A00",name:"orange 4"},{value:"#FFFAF0",css:!0,name:"floralwhite"},{value:"#FDF5E6",css:!0,name:"oldlace"},{value:"#F5DEB3",css:!0,name:"wheat"},{value:"#FFE7BA",name:"wheat 1"},{value:"#EED8AE",name:"wheat 2"},{value:"#CDBA96",name:"wheat 3"},{value:"#8B7E66",name:"wheat 4"},{value:"#FFE4B5",css:!0,name:"moccasin"},{value:"#FFEFD5",css:!0,name:"papayawhip"},{value:"#FFEBCD",css:!0,name:"blanchedalmond"},{value:"#FFDEAD",name:"navajowhite 1"},{value:"#FFDEAD",css:!0,name:"navajowhite"},{value:"#EECFA1",name:"navajowhite 2"},{value:"#CDB38B",name:"navajowhite 3"},{value:"#8B795E",name:"navajowhite 4"},{value:"#FCE6C9",name:"eggshell"},{value:"#D2B48C",css:!0,name:"tan"},{value:"#9C661F",name:"brick"},{value:"#FF9912",name:"cadmiumyellow"},{value:"#FAEBD7",css:!0,name:"antiquewhite"},{value:"#FFEFDB",name:"antiquewhite 1"},{value:"#EEDFCC",name:"antiquewhite 2"},{value:"#CDC0B0",name:"antiquewhite 3"},{value:"#8B8378",name:"antiquewhite 4"},{value:"#DEB887",css:!0,name:"burlywood"},{value:"#FFD39B",name:"burlywood 1"},{value:"#EEC591",name:"burlywood 2"},{value:"#CDAA7D",name:"burlywood 3"},{value:"#8B7355",name:"burlywood 4"},{value:"#FFE4C4",name:"bisque 1"},{value:"#FFE4C4",css:!0,name:"bisque"},{value:"#EED5B7",name:"bisque 2"},{value:"#CDB79E",name:"bisque 3"},{value:"#8B7D6B",name:"bisque 4"},{value:"#E3A869",name:"melon"},{value:"#ED9121",name:"carrot"},{value:"#FF8C00",css:!0,name:"darkorange"},{value:"#FF7F00",name:"darkorange 1"},{value:"#EE7600",name:"darkorange 2"},{value:"#CD6600",name:"darkorange 3"},{value:"#8B4500",name:"darkorange 4"},{value:"#FFA54F",name:"tan 1"},{value:"#EE9A49",name:"tan 2"},{value:"#CD853F",name:"tan 3"},{value:"#CD853F",css:!0,name:"peru"},{value:"#8B5A2B",name:"tan 4"},{value:"#FAF0E6",css:!0,name:"linen"},{value:"#FFDAB9",name:"peachpuff 1"},{value:"#FFDAB9",css:!0,name:"peachpuff"},{value:"#EECBAD",name:"peachpuff 2"},{value:"#CDAF95",name:"peachpuff 3"},{value:"#8B7765",name:"peachpuff 4"},{value:"#FFF5EE",name:"seashell 1"},{value:"#FFF5EE",css:!0,name:"seashell"},{value:"#EEE5DE",name:"seashell 2"},{value:"#CDC5BF",name:"seashell 3"},{value:"#8B8682",name:"seashell 4"},{value:"#F4A460",css:!0,name:"sandybrown"},{value:"#C76114",name:"rawsienna"},{value:"#D2691E",css:!0,name:"chocolate"},{value:"#FF7F24",name:"chocolate 1"},{value:"#EE7621",name:"chocolate 2"},{value:"#CD661D",name:"chocolate 3"},{value:"#8B4513",name:"chocolate 4"},{value:"#8B4513",css:!0,name:"saddlebrown"},{value:"#292421",name:"ivoryblack"},{value:"#FF7D40",name:"flesh"},{value:"#FF6103",name:"cadmiumorange"},{value:"#8A360F",name:"burntsienna"},{value:"#A0522D",css:!0,name:"sienna"},{value:"#FF8247",name:"sienna 1"},{value:"#EE7942",name:"sienna 2"},{value:"#CD6839",name:"sienna 3"},{value:"#8B4726",name:"sienna 4"},{value:"#FFA07A",name:"lightsalmon 1"},{value:"#FFA07A",css:!0,name:"lightsalmon"},{value:"#EE9572",name:"lightsalmon 2"},{value:"#CD8162",name:"lightsalmon 3"},{value:"#8B5742",name:"lightsalmon 4"},{value:"#FF7F50",css:!0,name:"coral"},{value:"#FF4500",name:"orangered 1"},{value:"#FF4500",css:!0,name:"orangered"},{value:"#EE4000",name:"orangered 2"},{value:"#CD3700",name:"orangered 3"},{value:"#8B2500",name:"orangered 4"},{value:"#5E2612",name:"sepia"},{value:"#E9967A",css:!0,name:"darksalmon"},{value:"#FF8C69",name:"salmon 1"},{value:"#EE8262",name:"salmon 2"},{value:"#CD7054",name:"salmon 3"},{value:"#8B4C39",name:"salmon 4"},{value:"#FF7256",name:"coral 1"},{value:"#EE6A50",name:"coral 2"},{value:"#CD5B45",name:"coral 3"},{value:"#8B3E2F",name:"coral 4"},{value:"#8A3324",name:"burntumber"},{value:"#FF6347",name:"tomato 1"},{value:"#FF6347",css:!0,name:"tomato"},{value:"#EE5C42",name:"tomato 2"},{value:"#CD4F39",name:"tomato 3"},{value:"#8B3626",name:"tomato 4"},{value:"#FA8072",css:!0,name:"salmon"},{value:"#FFE4E1",name:"mistyrose 1"},{value:"#FFE4E1",css:!0,name:"mistyrose"},{value:"#EED5D2",name:"mistyrose 2"},{value:"#CDB7B5",name:"mistyrose 3"},{value:"#8B7D7B",name:"mistyrose 4"},{value:"#FFFAFA",name:"snow 1"},{value:"#FFFAFA",css:!0,name:"snow"},{value:"#EEE9E9",name:"snow 2"},{value:"#CDC9C9",name:"snow 3"},{value:"#8B8989",name:"snow 4"},{value:"#BC8F8F",css:!0,name:"rosybrown"},{value:"#FFC1C1",name:"rosybrown 1"},{value:"#EEB4B4",name:"rosybrown 2"},{value:"#CD9B9B",name:"rosybrown 3"},{value:"#8B6969",name:"rosybrown 4"},{value:"#F08080",css:!0,name:"lightcoral"},{value:"#CD5C5C",css:!0,name:"indianred"},{value:"#FF6A6A",name:"indianred 1"},{value:"#EE6363",name:"indianred 2"},{value:"#8B3A3A",name:"indianred 4"},{value:"#CD5555",name:"indianred 3"},{value:"#A52A2A",css:!0,name:"brown"},{value:"#FF4040",name:"brown 1"},{value:"#EE3B3B",name:"brown 2"},{value:"#CD3333",name:"brown 3"},{value:"#8B2323",name:"brown 4"},{value:"#B22222",css:!0,name:"firebrick"},{value:"#FF3030",name:"firebrick 1"},{value:"#EE2C2C",name:"firebrick 2"},{value:"#CD2626",name:"firebrick 3"},{value:"#8B1A1A",name:"firebrick 4"},{value:"#FF0000",vga:!0,name:"red 1"},{value:"#FF0000",vga:!0,css:!0,name:"red"},{value:"#EE0000",name:"red 2"},{value:"#CD0000",name:"red 3"},{value:"#8B0000",name:"red 4"},{value:"#8B0000",css:!0,name:"darkred"},{value:"#800000",vga:!0,css:!0,name:"maroon"},{value:"#8E388E",name:"sgi beet"},{value:"#7171C6",name:"sgi slateblue"},{value:"#7D9EC0",name:"sgi lightblue"},{value:"#388E8E",name:"sgi teal"},{value:"#71C671",name:"sgi chartreuse"},{value:"#8E8E38",name:"sgi olivedrab"},{value:"#C5C1AA",name:"sgi brightgray"},{value:"#C67171",name:"sgi salmon"},{value:"#555555",name:"sgi darkgray"},{value:"#1E1E1E",name:"sgi gray 12"},{value:"#282828",name:"sgi gray 16"},{value:"#515151",name:"sgi gray 32"},{value:"#5B5B5B",name:"sgi gray 36"},{value:"#848484",name:"sgi gray 52"},{value:"#8E8E8E",name:"sgi gray 56"},{value:"#AAAAAA",name:"sgi lightgray"},{value:"#B7B7B7",name:"sgi gray 72"},{value:"#C1C1C1",name:"sgi gray 76"},{value:"#EAEAEA",name:"sgi gray 92"},{value:"#F4F4F4",name:"sgi gray 96"},{value:"#FFFFFF",vga:!0,css:!0,name:"white"},{value:"#F5F5F5",name:"white smoke"},{value:"#F5F5F5",name:"gray 96"},{value:"#DCDCDC",css:!0,name:"gainsboro"},{value:"#D3D3D3",css:!0,name:"lightgrey"},{value:"#C0C0C0",vga:!0,css:!0,name:"silver"},{value:"#A9A9A9",css:!0,name:"darkgray"},{value:"#808080",vga:!0,css:!0,name:"gray"},{value:"#696969",css:!0,name:"dimgray"},{value:"#696969",name:"gray 42"},{value:"#000000",vga:!0,css:!0,name:"black"},{value:"#FCFCFC",name:"gray 99"},{value:"#FAFAFA",name:"gray 98"},{value:"#F7F7F7",name:"gray 97"},{value:"#F2F2F2",name:"gray 95"},{value:"#F0F0F0",name:"gray 94"},{value:"#EDEDED",name:"gray 93"},{value:"#EBEBEB",name:"gray 92"},{value:"#E8E8E8",name:"gray 91"},{value:"#E5E5E5",name:"gray 90"},{value:"#E3E3E3",name:"gray 89"},{value:"#E0E0E0",name:"gray 88"},{value:"#DEDEDE",name:"gray 87"},{value:"#DBDBDB",name:"gray 86"},{value:"#D9D9D9",name:"gray 85"},{value:"#D6D6D6",name:"gray 84"},{value:"#D4D4D4",name:"gray 83"},{value:"#D1D1D1",name:"gray 82"},{value:"#CFCFCF",name:"gray 81"},{value:"#CCCCCC",name:"gray 80"},{value:"#C9C9C9",name:"gray 79"},{value:"#C7C7C7",name:"gray 78"},{value:"#C4C4C4",name:"gray 77"},{value:"#C2C2C2",name:"gray 76"},{value:"#BFBFBF",name:"gray 75"},{value:"#BDBDBD",name:"gray 74"},{value:"#BABABA",name:"gray 73"},{value:"#B8B8B8",name:"gray 72"},{value:"#B5B5B5",name:"gray 71"},{value:"#B3B3B3",name:"gray 70"},{value:"#B0B0B0",name:"gray 69"},{value:"#ADADAD",name:"gray 68"},{value:"#ABABAB",name:"gray 67"},{value:"#A8A8A8",name:"gray 66"},{value:"#A6A6A6",name:"gray 65"},{value:"#A3A3A3",name:"gray 64"},{value:"#A1A1A1",name:"gray 63"},{value:"#9E9E9E",name:"gray 62"},{value:"#9C9C9C",name:"gray 61"},{value:"#999999",name:"gray 60"},{value:"#969696",name:"gray 59"},{value:"#949494",name:"gray 58"},{value:"#919191",name:"gray 57"},{value:"#8F8F8F",name:"gray 56"},{value:"#8C8C8C",name:"gray 55"},{value:"#8A8A8A",name:"gray 54"},{value:"#878787",name:"gray 53"},{value:"#858585",name:"gray 52"},{value:"#828282",name:"gray 51"},{value:"#7F7F7F",name:"gray 50"},{value:"#7D7D7D",name:"gray 49"},{value:"#7A7A7A",name:"gray 48"},{value:"#787878",name:"gray 47"},{value:"#757575",name:"gray 46"},{value:"#737373",name:"gray 45"},{value:"#707070",name:"gray 44"},{value:"#6E6E6E",name:"gray 43"},{value:"#666666",name:"gray 40"},{value:"#636363",name:"gray 39"},{value:"#616161",name:"gray 38"},{value:"#5E5E5E",name:"gray 37"},{value:"#5C5C5C",name:"gray 36"},{value:"#595959",name:"gray 35"},{value:"#575757",name:"gray 34"},{value:"#545454",name:"gray 33"},{value:"#525252",name:"gray 32"},{value:"#4F4F4F",name:"gray 31"},{value:"#4D4D4D",name:"gray 30"},{value:"#4A4A4A",name:"gray 29"},{value:"#474747",name:"gray 28"},{value:"#454545",name:"gray 27"},{value:"#424242",name:"gray 26"},{value:"#404040",name:"gray 25"},{value:"#3D3D3D",name:"gray 24"},{value:"#3B3B3B",name:"gray 23"},{value:"#383838",name:"gray 22"},{value:"#363636",name:"gray 21"},{value:"#333333",name:"gray 20"},{value:"#303030",name:"gray 19"},{value:"#2E2E2E",name:"gray 18"},{value:"#2B2B2B",name:"gray 17"},{value:"#292929",name:"gray 16"},{value:"#262626",name:"gray 15"},{value:"#242424",name:"gray 14"},{value:"#212121",name:"gray 13"},{value:"#1F1F1F",name:"gray 12"},{value:"#1C1C1C",name:"gray 11"},{value:"#1A1A1A",name:"gray 10"},{value:"#171717",name:"gray 9"},{value:"#141414",name:"gray 8"},{value:"#121212",name:"gray 7"},{value:"#0F0F0F",name:"gray 6"},{value:"#0D0D0D",name:"gray 5"},{value:"#0A0A0A",name:"gray 4"},{value:"#080808",name:"gray 3"},{value:"#050505",name:"gray 2"},{value:"#030303",name:"gray 1"},{value:"#F5F5F5",css:!0,name:"whitesmoke"}]},4683:(e,t,n)=>{var r=n(292),i=r.filter((function(e){return!!e.css})),s=r.filter((function(e){return!!e.vga}));e.exports=function(t){var n=e.exports.get(t);return n&&n.value},e.exports.get=function(e){return e=(e=e||"").trim().toLowerCase(),r.filter((function(t){return t.name.toLowerCase()===e})).pop()},e.exports.all=e.exports.get.all=function(){return r},e.exports.get.css=function(e){return e?(e=(e=e||"").trim().toLowerCase(),i.filter((function(t){return t.name.toLowerCase()===e})).pop()):i},e.exports.get.vga=function(e){return e?(e=(e=e||"").trim().toLowerCase(),s.filter((function(t){return t.name.toLowerCase()===e})).pop()):s}},2517:(e,t,n)=>{var r={};e.exports=r,r.themes={};var i=n(1669),s=r.styles=n(5784),o=Object.defineProperties,a=new RegExp(/[\r\n]+/g);r.supportsColor=n(6561).supportsColor,void 0===r.enabled&&(r.enabled=!1!==r.supportsColor()),r.enable=function(){r.enabled=!0},r.disable=function(){r.enabled=!1},r.stripColors=r.strip=function(e){return(""+e).replace(/\x1B\[\d+m/g,"")},r.stylize=function(e,t){if(!r.enabled)return e+"";var n=s[t];return!n&&t in r?r[t](e):n.open+e+n.close};var l=/[|\\{}()[\]^$+*?.]/g;function u(e){var t=function e(){return f.apply(e,arguments)};return t._styles=e,t.__proto__=d,t}var c,h=(c={},s.grey=s.gray,Object.keys(s).forEach((function(e){s[e].closeRe=new RegExp(function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(l,"\\$&")}(s[e].close),"g"),c[e]={get:function(){return u(this._styles.concat(e))}}})),c),d=o((function(){}),h);function f(){var e=Array.prototype.slice.call(arguments),t=e.map((function(e){return null!=e&&e.constructor===String?e:i.inspect(e)})).join(" ");if(!r.enabled||!t)return t;for(var n=-1!=t.indexOf("\n"),o=this._styles,l=o.length;l--;){var u=s[o[l]];t=u.open+t.replace(u.closeRe,u.open)+u.close,n&&(t=t.replace(a,(function(e){return u.close+e+u.open})))}return t}r.setTheme=function(e){if("string"!=typeof e)for(var t in e)!function(t){r[t]=function(n){if("object"==typeof e[t]){var i=n;for(var s in e[t])i=r[e[t][s]](i);return i}return r[e[t]](n)}}(t);else console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));")};var g=function(e,t){var n=t.split("");return(n=n.map(e)).join("")};for(var p in r.trap=n(5117),r.zalgo=n(1492),r.maps={},r.maps.america=n(6260)(r),r.maps.zebra=n(3270)(r),r.maps.rainbow=n(5920)(r),r.maps.random=n(2449)(r),r.maps)!function(e){r[e]=function(t){return g(r.maps[e],t)}}(p);o(r,function(){var e={};return Object.keys(h).forEach((function(t){e[t]={get:function(){return u([t])}}})),e}())},5117:e=>{e.exports=function(e,t){var n="";e=(e=e||"Run the trap, drop the bass").split("");var r={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","۝","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return e.forEach((function(e){e=e.toLowerCase();var t=r[e]||[" "],i=Math.floor(Math.random()*t.length);n+=void 0!==r[e]?r[e][i]:e})),n}},1492:e=>{e.exports=function(e,t){e=e||" he is here ";var n={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},r=[].concat(n.up,n.down,n.mid);function i(e){return Math.floor(Math.random()*e)}function s(e){var t=!1;return r.filter((function(n){t=n===e})),t}return function(e,t){var r,o,a="";for(o in(t=t||{}).up=void 0===t.up||t.up,t.mid=void 0===t.mid||t.mid,t.down=void 0===t.down||t.down,t.size=void 0!==t.size?t.size:"maxi",e=e.split(""))if(!s(o)){switch(a+=e[o],r={up:0,down:0,mid:0},t.size){case"mini":r.up=i(8),r.mid=i(2),r.down=i(8);break;case"maxi":r.up=i(16)+3,r.mid=i(4)+1,r.down=i(64)+3;break;default:r.up=i(8)+1,r.mid=i(6)/2,r.down=i(8)+1}var l=["up","mid","down"];for(var u in l)for(var c=l[u],h=0;h<=r[c];h++)t[c]&&(a+=n[c][i(n[c].length)])}return a}(e,t)}},6260:e=>{e.exports=function(e){return function(t,n,r){if(" "===t)return t;switch(n%3){case 0:return e.red(t);case 1:return e.white(t);case 2:return e.blue(t)}}}},5920:e=>{e.exports=function(e){var t=["red","yellow","green","blue","magenta"];return function(n,r,i){return" "===n?n:e[t[r++%t.length]](n)}}},2449:e=>{e.exports=function(e){var t=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(n,r,i){return" "===n?n:e[t[Math.round(Math.random()*(t.length-2))]](n)}}},3270:e=>{e.exports=function(e){return function(t,n,r){return n%2==0?t:e.inverse(t)}}},5784:e=>{var t={};e.exports=t;var n={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(n).forEach((function(e){var r=n[e],i=t[e]=[];i.open="["+r[0]+"m",i.close="["+r[1]+"m"}))},4340:e=>{"use strict";e.exports=function(e,t){var n=(t=t||process.argv).indexOf("--"),r=/^-{1,2}/.test(e)?"":"--",i=t.indexOf(r+e);return-1!==i&&(-1===n||i{"use strict";var r=n(2087),i=n(4340),s=process.env,o=void 0;function a(e){return 0!==(t=function(e){if(!1===o)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!e.isTTY&&!0!==o)return 0;var t=o?1:0;if("win32"===process.platform){var n=r.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in s)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((function(e){return e in s}))||"codeship"===s.CI_NAME?1:t;if("TEAMCITY_VERSION"in s)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(s.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in s){var a=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(s.TERM)?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)||"COLORTERM"in s?1:(s.TERM,t)}(e))&&{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3};var t}i("no-color")||i("no-colors")||i("color=false")?o=!1:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(o=!0),"FORCE_COLOR"in s&&(o=0===s.FORCE_COLOR.length||0!==parseInt(s.FORCE_COLOR,10)),e.exports={supportsColor:a,stdout:a(process.stdout),stderr:a(process.stderr)}},4431:(e,t,n)=>{var r=n(2517);e.exports=r},2514:(e,t,n)=>{"use strict";var r=n(6767),i=n(3951);e.exports=function(e,t){var n=e.split(t||":"),s=i(n[0]);if(!n.length)return s;for(var o=0,a=n.length-1;o{function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=Buffer.isBuffer},8713:(e,t,n)=>{"use strict";var r=n(2514),i=n(4495),s=n(9343),o=n(1669),a=n(3867).isatty(1),l=process.stdout;function u(e,t){return i(e)?((t=t||{}).colors="colors"in t?t.colors:a,t.ansi=t.colors?s(e,r(e)):e,t.stream=t.stream||l,Array.isArray(t.stream)||(t.stream=[t.stream]),function(e){e instanceof Error&&(e=e.stack||e.message||e),e=[t.ansi," ",e].join(""),e=o.format.apply(this,[e].concat(Array.prototype.slice.call(arguments,1)))+"\n",t.stream.forEach((function(t){t.write(e)}))}):function(){}}u.to=function(e){return l=e,u},e.exports=u},4495:(e,t,n)=>{"use strict";var r=n(4647);e.exports=function(e,t){var n,i=r(),s=0;for(t=t||["diagnostics","debug"];s{"use strict";var t=Object.prototype.hasOwnProperty;function n(e){if(e=e||{},"object"==typeof process&&"object"==typeof process.env&&n.merge(e,process.env),"undefined"!=typeof window){"string"===window.name&&window.name.length&&n.merge(e,n.parse(window.name));try{window.localStorage&&n.merge(e,n.parse(window.localStorage.env||window.localStorage.debug))}catch(e){}"object"==typeof window.location&&"string"==typeof window.location.hash&&window.location.hash.length&&n.merge(e,n.parse("#"===window.location.hash.charAt(0)?window.location.hash.slice(1):window.location.hash))}var t,r;for(t in e)(r=t.toLowerCase())in e||(e[r]=e[t]);return e}n.merge=function(e,n){for(var r in n)t.call(n,r)&&(e[r]=n[r]);return e},n.parse=function(e){var t,n=/([^=?&]+)=([^&]*)/g,r={};if(!e)return r;for(;t=n.exec(e);r[decodeURIComponent(t[1])]=decodeURIComponent(t[2]));return r.env||r},e.exports=n},7529:e=>{var t=-1;function n(e,a,l,u){if(e===a)return e?[[0,e]]:[];if(null!=l){var c=function(e,t,n){var r="number"==typeof n?{index:n,length:0}:n.oldRange,i="number"==typeof n?null:n.newRange,s=e.length,o=t.length;if(0===r.length&&(null===i||0===i.length)){var a=r.index,l=e.slice(0,a),u=e.slice(a),c=i?i.index:null,d=a+o-s;if((null===c||c===d)&&!(d<0||d>o)){var f=t.slice(0,d);if((m=t.slice(d))===u){var g=Math.min(a,d);if((b=l.slice(0,g))===(w=f.slice(0,g)))return h(b,l.slice(g),f.slice(g),u)}}if(null===c||c===a){var p=a,m=(f=t.slice(0,p),t.slice(p));if(f===l){var v=Math.min(s-p,o-p);if((y=u.slice(u.length-v))===(E=m.slice(m.length-v)))return h(l,u.slice(0,u.length-v),m.slice(0,m.length-v),y)}}}if(r.length>0&&i&&0===i.length){var b=e.slice(0,r.index),y=e.slice(r.index+r.length);if(!(o<(g=b.length)+(v=y.length))){var w=t.slice(0,g),E=t.slice(o-v);if(b===w&&y===E)return h(b,e.slice(g,s-v),t.slice(g,o-v),y)}}return null}(e,a,l);if(c)return c}var d=i(e,a),f=e.substring(0,d);d=s(e=e.substring(d),a=a.substring(d));var g=e.substring(e.length-d),p=function(e,o){var a;if(!e)return[[1,o]];if(!o)return[[t,e]];var l=e.length>o.length?e:o,u=e.length>o.length?o:e,c=l.indexOf(u);if(-1!==c)return a=[[1,l.substring(0,c)],[0,u],[1,l.substring(c+u.length)]],e.length>o.length&&(a[0][0]=a[2][0]=t),a;if(1===u.length)return[[t,e],[1,o]];var h=function(e,t){var n=e.length>t.length?e:t,r=e.length>t.length?t:e;if(n.length<4||2*r.length=e.length?[r,o,a,l,h]:null}var a,l,u,c,h,d=o(n,r,Math.ceil(n.length/4)),f=o(n,r,Math.ceil(n.length/2));return d||f?(a=f?d&&d[4].length>f[4].length?d:f:d,e.length>t.length?(l=a[0],u=a[1],c=a[2],h=a[3]):(c=a[0],h=a[1],l=a[2],u=a[3]),[l,u,c,h,a[4]]):null}(e,o);if(h){var d=h[0],f=h[1],g=h[2],p=h[3],m=h[4],v=n(d,g),b=n(f,p);return v.concat([[0,m]],b)}return function(e,n){for(var i=e.length,s=n.length,o=Math.ceil((i+s)/2),a=o,l=2*o,u=new Array(l),c=new Array(l),h=0;hi)p+=2;else if(E>s)g+=2;else if(f&&(C=a+d-y)>=0&&C=(x=i-c[C]))return r(e,n,S,E)}for(var _=-b+m;_<=b-v;_+=2){for(var x,C=a+_,M=(x=_===-b||_!==b&&c[C-1]i)v+=2;else if(M>s)m+=2;else if(!f){var S;if((w=a+d-_)>=0&&w=(x=i-x))return r(e,n,S,E)}}}return[[t,e],[1,n]]}(e,o)}(e=e.substring(0,e.length-d),a=a.substring(0,a.length-d));return f&&p.unshift([0,f]),g&&p.push([0,g]),o(p,u),p}function r(e,t,r,i){var s=e.substring(0,r),o=t.substring(0,i),a=e.substring(r),l=t.substring(i),u=n(s,o),c=n(a,l);return u.concat(c)}function i(e,t){if(!e||!t||e.charAt(0)!==t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),i=r,s=0;n=0&&c(e[g][1])){var p=e[g][1].slice(-1);if(e[g][1]=e[g][1].slice(0,-1),d=p+d,f=p+f,!e[g][1]){e.splice(g,1),a--;var m=g-1;e[m]&&1===e[m][0]&&(h++,f=e[m][1]+f,m--),e[m]&&e[m][0]===t&&(l++,d=e[m][1]+d,m--),g=m}}u(e[a][1])&&(p=e[a][1].charAt(0),e[a][1]=e[a][1].slice(1),d+=p,f+=p)}if(a0||f.length>0){d.length>0&&f.length>0&&(0!==(r=i(f,d))&&(g>=0?e[g][1]+=f.substring(0,r):(e.splice(0,0,[0,f.substring(0,r)]),a++),f=f.substring(r),d=d.substring(r)),0!==(r=s(f,d))&&(e[a][1]=f.substring(f.length-r)+e[a][1],f=f.substring(0,f.length-r),d=d.substring(0,d.length-r)));var v=h+l;0===d.length&&0===f.length?(e.splice(a-v,v),a-=v):0===d.length?(e.splice(a-v,v,[1,f]),a=a-v+1):0===f.length?(e.splice(a-v,v,[t,d]),a=a-v+1):(e.splice(a-v,v,[t,d],[1,f]),a=a-v+2)}0!==a&&0===e[a-1][0]?(e[a-1][1]+=e[a][1],e.splice(a,1)):a++,h=0,l=0,d="",f=""}""===e[e.length-1][1]&&e.pop();var b=!1;for(a=1;a=55296&&e<=56319}function l(e){return e>=56320&&e<=57343}function u(e){return l(e.charCodeAt(0))}function c(e){return a(e.charCodeAt(e.length-1))}function h(e,n,r,i){return c(e)||u(i)?null:function(e){for(var t=[],n=0;n0&&t.push(e[n]);return t}([[0,e],[t,n],[1,r],[0,i]])}function d(e,t,r){return n(e,t,r,!0)}d.INSERT=1,d.DELETE=t,d.EQUAL=0,e.exports=d},4445:e=>{e.exports=r,r.default=r,r.stable=o,r.stableStringify=o;var t=[],n=[];function r(e,r,s){var o;for(i(e,"",[],void 0),o=0===n.length?JSON.stringify(e,r,s):JSON.stringify(e,l(r),s);0!==t.length;){var a=t.pop();4===a.length?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}return o}function i(e,r,s,o){var a;if("object"==typeof e&&null!==e){for(a=0;at?1:0}function o(e,r,i){var s,o=a(e,"",[],void 0)||e;for(s=0===n.length?JSON.stringify(o,r,i):JSON.stringify(o,l(r),i);0!==t.length;){var u=t.pop();4===u.length?Object.defineProperty(u[0],u[1],u[3]):u[0][u[1]]=u[2]}return s}function a(e,r,i,o){var l;if("object"==typeof e&&null!==e){for(l=0;l0)for(var i=0;i{"use strict";n.r(t),n.d(t,{default:()=>k,assign:()=>c,format:()=>T,parse:()=>A,defaultI18n:()=>g,setGlobalDateI18n:()=>m,setGlobalDateMasks:()=>D});var r=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,i="[1-9]\\d?",s="\\d\\d",o="[^\\s]+",a=/\[([^]*?)\]/gm;function l(e,t){for(var n=[],r=0,i=e.length;r-1?r:null}};function c(e){for(var t=[],n=1;n3?0:(e-e%10!=10?1:0)*e%10]}},p=c({},g),m=function(e){return p=c(p,e)},v=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},b=function(e,t){for(void 0===t&&(t=2),e=String(e);e.length0?"-":"+")+b(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)},Z:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+b(Math.floor(Math.abs(t)/60),2)+":"+b(Math.abs(t)%60,2)}},w=function(e){return+e-1},E=[null,i],_=[null,o],x=["isPm",o,function(e,t){var n=e.toLowerCase();return n===t.amPm[0]?0:n===t.amPm[1]?1:null}],C=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var t=(e+"").match(/([+-]|\d\d)/gi);if(t){var n=60*+t[1]+parseInt(t[2],10);return"+"===t[0]?n:-n}return 0}],M={D:["day",i],DD:["day",s],Do:["day","[1-9]\\d?[^\\s]+",function(e){return parseInt(e,10)}],M:["month",i,w],MM:["month",s,w],YY:["year",s,function(e){var t=+(""+(new Date).getFullYear()).substr(0,2);return+(""+(+e>68?t-1:t)+e)}],h:["hour",i,void 0,"isPm"],hh:["hour",s,void 0,"isPm"],H:["hour",i],HH:["hour",s],m:["minute",i],mm:["minute",s],s:["second",i],ss:["second",s],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(e){return 100*+e}],SS:["millisecond",s,function(e){return 10*+e}],SSS:["millisecond","\\d{3}"],d:E,dd:E,ddd:_,dddd:_,MMM:["month",o,u("monthNamesShort")],MMMM:["month",o,u("monthNames")],a:x,A:x,ZZ:C,Z:C},S={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},D=function(e){return c(S,e)},T=function(e,t,n){if(void 0===t&&(t=S.default),void 0===n&&(n={}),"number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");var i=[];t=(t=S[t]||t).replace(a,(function(e,t){return i.push(t),"@@@"}));var s=c(c({},p),n);return(t=t.replace(r,(function(t){return y[t](e,s)}))).replace(/@@@/g,(function(){return i.shift()}))};function A(e,t,n){if(void 0===n&&(n={}),"string"!=typeof t)throw new Error("Invalid format in fecha parse");if(t=S[t]||t,e.length>1e3)return null;var i={year:(new Date).getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},s=[],o=[],l=t.replace(a,(function(e,t){return o.push(v(t)),"@@@"})),u={},h={};l=v(l).replace(r,(function(e){var t=M[e],n=t[0],r=t[1],i=t[3];if(u[n])throw new Error("Invalid format. "+n+" specified twice in format");return u[n]=!0,i&&(h[i]=!0),s.push(t),"("+r+")"})),Object.keys(h).forEach((function(e){if(!u[e])throw new Error("Invalid format. "+e+" is required in specified format")})),l=l.replace(/@@@/g,(function(){return o.shift()}));var d=e.match(new RegExp(l,"i"));if(!d)return null;for(var f=c(c({},p),n),g=1;g{try{var r=n(1669);if("function"!=typeof r.inherits)throw"";e.exports=r.inherits}catch(t){e.exports=n(5717)}},5717:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},4970:e=>{"use strict";var t=e.exports=function(e){return null!==e&&"object"==typeof e&&"function"==typeof e.pipe};t.writable=function(e){return t(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState},t.readable=function(e){return t(e)&&!1!==e.readable&&"function"==typeof e._read&&"object"==typeof e._readableState},t.duplex=function(e){return t.writable(e)&&t.readable(e)},t.transform=function(e){return t.duplex(e)&&"function"==typeof e._transform&&"object"==typeof e._transformState}},5826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},9343:(e,t,n)=>{"use strict";var r=n(4683);function i(e,t){return t?new i(e).style(t):this instanceof i?void(this.text=e):new i(e)}i.prototype.prefix="[",i.prototype.suffix="m",i.prototype.hex=function(e){3===(e="#"===e[0]?e.substring(1):e).length&&((e=e.split(""))[5]=e[2],e[4]=e[2],e[3]=e[1],e[2]=e[1],e[1]=e[0],e=e.join(""));var t=e.substring(0,2),n=e.substring(2,4),r=e.substring(4,6);return[parseInt(t,16),parseInt(n,16),parseInt(r,16)]},i.prototype.rgb=function(e,t,n){var r=e/255*5,i=t/255*5,s=n/255*5;return this.ansi(r,i,s)},i.prototype.ansi=function(e,t,n){return 16+36*Math.round(e)+6*Math.round(t)+Math.round(n)},i.prototype.reset=function(){return this.prefix+"39;49"+this.suffix},i.prototype.style=function(e){return/^#?(?:[0-9a-fA-F]{3}){1,2}$/.test(e)||(e=r(e)),this.prefix+"38;5;"+this.rgb.apply(this,this.hex(e))+this.suffix+this.text+this.reset()},e.exports=i},5402:e=>{var t=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var i=Object.prototype,s=i.hasOwnProperty,o=i.toString,a=i.propertyIsEnumerable,l=Math.max;function u(e,t,n,r){return void 0===e||f(e,i[n])&&!s.call(r,n)?t:e}function c(e,t,n){var r=e[t];s.call(e,t)&&f(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function h(e,t){return t=l(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,s=l(n.length-t,0),o=Array(s);++i-1&&e%1==0&&e-1&&e%1==0&&e<=t}(e.length)&&!function(e){var t=m(e)?o.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)}function m(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var v,b=(v=function(e,t,n,r){!function(e,t,n,r){n||(n={});for(var i=-1,s=t.length;++i1?t[r-1]:void 0,s=r>2?t[2]:void 0;for(i=v.length>3&&"function"==typeof i?(r--,i):void 0,s&&function(e,t,n){if(!m(n))return!1;var r=typeof t;return!!("number"==r?p(n)&&d(t,n.length):"string"==r&&t in n)&&f(n[t],e)}(t[0],t[1],s)&&(i=r<3?void 0:i,r=1),e=Object(e);++n{var t="__lodash_hash_undefined__",n=9007199254740991,r=/^\[object .+?Constructor\]$/,i=/^(?:0|[1-9]\d*)$/,s="object"==typeof global&&global&&global.Object===Object&&global,o="object"==typeof self&&self&&self.Object===Object&&self,a=s||o||Function("return this")();function l(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function u(e,t){return!(!e||!e.length)&&function(e,t,n){if(t!=t)return function(e,t,n,r){for(var i=e.length,s=-1;++s-1}function c(e,t){for(var n=-1,r=e?e.length:0,i=Array(r);++n0&&n(a)?t>1?R(a,t-1,n,r,i):h(i,a):r||(i[i.length]=a)}return i}function N(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function q(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!X(e)||(t=e,w&&w in t))&&(J(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?C:r).test(function(e){if(null!=e){try{return E.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}(n)?n:void 0}B.prototype.clear=function(){this.__data__=j?j(null):{}},B.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},B.prototype.get=function(e){var n=this.__data__;if(j){var r=n[e];return r===t?void 0:r}return _.call(n,e)?n[e]:void 0},B.prototype.has=function(e){var t=this.__data__;return j?void 0!==t[e]:_.call(t,e)},B.prototype.set=function(e,n){return this.__data__[e]=j&&void 0===n?t:n,this},I.prototype.clear=function(){this.__data__=[]},I.prototype.delete=function(e){var t=this.__data__,n=L(t,e);return!(n<0||(n==t.length-1?t.pop():T.call(t,n,1),0))},I.prototype.get=function(e){var t=this.__data__,n=L(t,e);return n<0?void 0:t[n][1]},I.prototype.has=function(e){return L(this.__data__,e)>-1},I.prototype.set=function(e,t){var n=this.__data__,r=L(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},P.prototype.clear=function(){this.__data__={hash:new B,map:new(O||I),string:new B}},P.prototype.delete=function(e){return N(this,e).delete(e)},P.prototype.get=function(e){return N(this,e).get(e)},P.prototype.has=function(e){return N(this,e).has(e)},P.prototype.set=function(e,t){return N(this,e).set(e,t),this},$.prototype.add=$.prototype.push=function(e){return this.__data__.set(e,t),this},$.prototype.has=function(e){return this.__data__.has(e)};var U=k?g(k,Object):re,W=k?function(e){for(var t=[];e;)h(t,U(e)),e=S(e);return t}:re;function H(e){return Y(e)||G(e)||!!(A&&e&&e[A])}function V(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||i.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=n}(e.length)&&!J(e)}function J(e){var t=X(e)?x.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}function X(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Z(e){return!!e&&"object"==typeof e}function Q(e){return K(e)?function(e,t){var n=Y(e)||G(e)?function(e,t){for(var n=-1,r=Array(e);++n=200&&(s=f,o=!1,t=new $(t));e:for(;++i{var r=n(5639).Symbol;e.exports=r},4636:(e,t,n)=>{var r=n(2545),i=n(5694),s=n(1469),o=n(4144),a=n(5776),l=n(6719),u=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=s(e),c=!n&&i(e),h=!n&&!c&&o(e),d=!n&&!c&&!h&&l(e),f=n||c||h||d,g=f?r(e.length,String):[],p=g.length;for(var m in e)!t&&!u.call(e,m)||f&&("length"==m||h&&("offset"==m||"parent"==m)||d&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||a(m,p))||g.push(m);return g}},4239:(e,t,n)=>{var r=n(2705),i=n(9607),s=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):s(e)}},9454:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return i(e)&&"[object Arguments]"==r(e)}},8749:(e,t,n)=>{var r=n(4239),i=n(1780),s=n(7005),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return s(e)&&i(e.length)&&!!o[r(e)]}},280:(e,t,n)=>{var r=n(5726),i=n(6916),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))s.call(e,n)&&"constructor"!=n&&t.push(n);return t}},2545:e=>{e.exports=function(e,t){for(var n=-1,r=Array(e);++n{e.exports=function(e){return function(t){return e(t)}}},1957:e=>{var t="object"==typeof global&&global&&global.Object===Object&&global;e.exports=t},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,s=i.hasOwnProperty,o=i.toString,a=r?r.toStringTag:void 0;e.exports=function(e){var t=s.call(e,a),n=e[a];try{e[a]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[a]=n:delete e[a]),i}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},6916:(e,t,n)=>{var r=n(5569)(Object.keys,Object);e.exports=r},1167:(e,t,n)=>{e=n.nmd(e);var r=n(1957),i=t&&!t.nodeType&&t,s=i&&e&&!e.nodeType&&e,o=s&&s.exports===i&&r.process,a=function(){try{return s&&s.require&&s.require("util").types||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5569:e=>{e.exports=function(e,t){return function(n){return e(t(n))}}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,s=r||i||Function("return this")();e.exports=s},5694:(e,t,n)=>{var r=n(9454),i=n(7005),s=Object.prototype,o=s.hasOwnProperty,a=s.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return i(e)&&o.call(e,"callee")&&!a.call(e,"callee")};e.exports=l},1469:e=>{var t=Array.isArray;e.exports=t},8612:(e,t,n)=>{var r=n(3560),i=n(1780);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},4144:(e,t,n)=>{e=n.nmd(e);var r=n(5639),i=n(5062),s=t&&!t.nodeType&&t,o=s&&e&&!e.nodeType&&e,a=o&&o.exports===s?r.Buffer:void 0,l=(a?a.isBuffer:void 0)||i;e.exports=l},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},1780:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},6719:(e,t,n)=>{var r=n(8749),i=n(7518),s=n(1167),o=s&&s.isTypedArray,a=o?i(o):r;e.exports=a},3674:(e,t,n)=>{var r=n(4636),i=n(280),s=n(8612);e.exports=function(e){return s(e)?r(e):i(e)}},308:e=>{e.exports=function(){}},5062:e=>{e.exports=function(){return!1}},6281:(e,t,n)=>{"use strict";const r=n(9235);e.exports=r((e=>(e.message=`\t${e.message}`,e)))},8650:(e,t,n)=>{"use strict";const r=t.format=n(9235);t.levels=n(7823),Object.defineProperty(r,"align",{value:n(6281)}),Object.defineProperty(r,"cli",{value:n(153)}),Object.defineProperty(r,"combine",{value:n(2390)}),Object.defineProperty(r,"colorize",{value:n(8580)}),Object.defineProperty(r,"json",{value:n(3922)}),Object.defineProperty(r,"label",{value:n(3084)}),Object.defineProperty(r,"logstash",{value:n(3388)}),Object.defineProperty(r,"metadata",{value:n(2523)}),Object.defineProperty(r,"padLevels",{value:n(6566)}),Object.defineProperty(r,"prettyPrint",{value:n(5894)}),Object.defineProperty(r,"printf",{value:n(8242)}),Object.defineProperty(r,"simple",{value:n(459)}),Object.defineProperty(r,"splat",{value:n(8102)}),Object.defineProperty(r,"timestamp",{value:n(6645)}),Object.defineProperty(r,"uncolorize",{value:n(9095)})},153:(e,t,n)=>{"use strict";const{Colorizer:r}=n(8580),{Padder:i}=n(6566),{configs:s,MESSAGE:o}=n(5396);class a{constructor(e={}){e.levels||(e.levels=s.npm.levels),this.colorizer=new r(e),this.padder=new i(e),this.options=e}transform(e,t){return this.colorizer.transform(this.padder.transform(e,t),t),e[o]=`${e.level}:${e.message}`,e}}e.exports=e=>new a(e),e.exports.Format=a},8580:(e,t,n)=>{"use strict";const r=n(4431),{LEVEL:i,MESSAGE:s}=n(5396);r.enabled=!0;const o=/\s+/;class a{constructor(e={}){e.colors&&this.addColors(e.colors),this.options=e}static addColors(e){const t=Object.keys(e).reduce(((t,n)=>(t[n]=o.test(e[n])?e[n].split(o):e[n],t)),{});return a.allColors=Object.assign({},a.allColors||{},t),a.allColors}addColors(e){return a.addColors(e)}colorize(e,t,n){if(void 0===n&&(n=t),!Array.isArray(a.allColors[e]))return r[a.allColors[e]](n);for(let t=0,i=a.allColors[e].length;tnew a(e),e.exports.Colorizer=e.exports.Format=a},2390:(e,t,n)=>{"use strict";const r=n(9235);function i(e){if(e.every(s))return t=>{let n=t;for(let t=0;t{const t=r(i(e)),n=t();return n.Format=t.Format,n},e.exports.cascade=i},6894:(e,t,n)=>{"use strict";var r=n(8287);e.exports=r((function(e){return e.message="\t".concat(e.message),e}))},6850:(e,t,n)=>{"use strict";var r=t.format=n(8287);t.levels=n(7371),Object.defineProperty(r,"align",{value:n(6894)}),Object.defineProperty(r,"cli",{value:n(9008)}),Object.defineProperty(r,"combine",{value:n(1145)}),Object.defineProperty(r,"colorize",{value:n(2046)}),Object.defineProperty(r,"json",{value:n(3048)}),Object.defineProperty(r,"label",{value:n(4403)}),Object.defineProperty(r,"logstash",{value:n(9660)}),Object.defineProperty(r,"metadata",{value:n(2883)}),Object.defineProperty(r,"padLevels",{value:n(2886)}),Object.defineProperty(r,"prettyPrint",{value:n(8703)}),Object.defineProperty(r,"printf",{value:n(2361)}),Object.defineProperty(r,"simple",{value:n(2167)}),Object.defineProperty(r,"splat",{value:n(7729)}),Object.defineProperty(r,"timestamp",{value:n(7271)}),Object.defineProperty(r,"uncolorize",{value:n(9729)})},9008:(e,t,n)=>{"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};r(this,e),t.levels||(t.levels=l.npm.levels),this.colorizer=new s(t),this.padder=new o(t),this.options=t}var t,n;return t=e,(n=[{key:"transform",value:function(e,t){return this.colorizer.transform(this.padder.transform(e,t),t),e[u]="".concat(e.level,":").concat(e.message),e}}])&&i(t.prototype,n),e}();e.exports=function(e){return new c(e)},e.exports.Format=c},2046:(e,t,n)=>{"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};r(this,e),t.colors&&this.addColors(t.colors),this.options=t}var t,n,o;return t=e,o=[{key:"addColors",value:function(t){var n=Object.keys(t).reduce((function(e,n){return e[n]=u.test(t[n])?t[n].split(u):t[n],e}),{});return e.allColors=Object.assign({},e.allColors||{},n),e.allColors}}],(n=[{key:"addColors",value:function(t){return e.addColors(t)}},{key:"colorize",value:function(t,n,r){if(void 0===r&&(r=n),!Array.isArray(e.allColors[t]))return s[e.allColors[t]](r);for(var i=0,o=e.allColors[t].length;i{"use strict";var r=n(8287);function i(e){if(e.every(s))return function(t){for(var n=t,r=0;r{"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=n(8287),s=n(5396),o=s.LEVEL,a=s.MESSAGE;e.exports=i((function(e,t){var n=t.stack;if(e instanceof Error){var i,s=Object.assign({},e,(r(i={level:e.level},o,e[o]||e.level),r(i,"message",e.message),r(i,a,e[a]||e.message),i));return n&&(s.stack=e.stack),s}if(!(e.message instanceof Error))return e;Object.assign(e,e.message);var l=e.message;return e.message=l.message,e[a]=l.message,n&&(e.stack=l.stack),e}))},8287:e=>{"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,n){return!n||"object"!==t(n)&&"function"!=typeof n?r(e):n}function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e){var t="function"==typeof Map?new Map:void 0;return(i=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return s(e,arguments,l(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),a(r,e)})(e)}function s(e,t,n){return(s=o()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&a(i,n.prototype),i}).apply(null,arguments)}function o(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(u,e);var t,i,s=(t=u,i=o(),function(){var e,r=l(t);if(i){var s=l(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return n(this,e)});function u(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),t=s.call(this,"Format functions must be synchronous taking a two arguments: (info, opts)\nFound: ".concat(e.toString().split("\n")[0],"\n")),Error.captureStackTrace(r(t),u),t}return u}(i(Error));e.exports=function(e){if(e.length>2)throw new u(e);function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=e}function n(e){return new t(e)}return t.prototype.transform=e,n.Format=t,n}},6941:(e,t,n)=>{"use strict";var r=t.format=n(8287);function i(e,t){t=t||e,Object.defineProperty(r,e,{get:function(){return n(5378)("./".concat(t,".js"))},configurable:!0})}t.levels=n(7371),i("align"),i("errors"),i("cli"),i("combine"),i("colorize"),i("json"),i("label"),i("logstash"),i("metadata"),i("ms"),i("padLevels","pad-levels"),i("prettyPrint","pretty-print"),i("printf"),i("simple"),i("splat"),i("timestamp"),i("uncolorize")},3048:(e,t,n)=>{"use strict";var r=n(8287),i=n(5396).MESSAGE,s=n(4445);function o(e,t){return t instanceof Buffer?t.toString("base64"):"bigint"==typeof t?t.toString():t}e.exports=r((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e[i]=(t.stable?s.stableStringify:s)(e,t.replacer||o,t.space),e}))},4403:(e,t,n)=>{"use strict";var r=n(8287);e.exports=r((function(e,t){return t.message?(e.message="[".concat(t.label,"] ").concat(e.message),e):(e.label=t.label,e)}))},7371:(e,t,n)=>{"use strict";var r=n(2046).Colorizer;e.exports=function(e){return r.addColors(e.colors||e),e}},9660:(e,t,n)=>{"use strict";var r=n(8287),i=n(5396).MESSAGE,s=n(4445);e.exports=r((function(e){var t={};return e.message&&(t["@message"]=e.message,delete e.message),e.timestamp&&(t["@timestamp"]=e.timestamp,delete e.timestamp),t["@fields"]=e,e[i]=s(t),e}))},2883:(e,t,n)=>{"use strict";var r=n(8287);function i(e,t,n){var r,i,s,o=t.reduce((function(t,n){return t[n]=e[n],delete e[n],t}),{}),a=Object.keys(e).reduce((function(t,n){return t[n]=e[n],delete e[n],t}),{});return Object.assign(e,o,(s=a,(i=n)in(r={})?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s,r)),e}function s(e,t,n){return e[n]=t.reduce((function(t,n){return t[n]=e[n],delete e[n],t}),{}),e}e.exports=r((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="metadata";t.key&&(n=t.key);var r=[];return t.fillExcept||t.fillWith||(r.push("level"),r.push("message")),t.fillExcept&&(r=t.fillExcept),r.length>0?i(e,r,n):t.fillWith?s(e,t.fillWith,n):e}))},3584:(e,t,n)=>{"use strict";var r=void 0,i=n(8287),s=n(7824);e.exports=i((function(e){var t=+new Date;return r.diff=t-(r.prevTime||t),r.prevTime=t,e.ms="+".concat(s(r.diff)),e}))},2886:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{levels:a.npm.levels};i(this,e),this.paddings=e.paddingForLevels(t.levels,t.filler),this.options=t}var t,n,o;return t=e,o=[{key:"getLongestLevel",value:function(e){var t,n=Object.keys(e).map((function(e){return e.length}));return Math.max.apply(Math,function(e){if(Array.isArray(e))return r(e)}(t=n)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}},{key:"paddingForLevel",value:function(e,t,n){var r=n+1-e.length,i=Math.floor(r/t.length);return"".concat(t).concat(t.repeat(i)).slice(0,r)}},{key:"paddingForLevels",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",r=e.getLongestLevel(t);return Object.keys(t).reduce((function(t,i){return t[i]=e.paddingForLevel(i,n,r),t}),{})}}],(n=[{key:"transform",value:function(e,t){return e.message="".concat(this.paddings[e[l]]).concat(e.message),e[u]&&(e[u]="".concat(this.paddings[e[l]]).concat(e[u])),e}}])&&s(t.prototype,n),o&&s(t,o),e}();e.exports=function(e){return new c(e)},e.exports.Padder=e.exports.Format=c},8703:(e,t,n)=>{"use strict";var r=n(1669).inspect,i=n(8287),s=n(5396),o=s.LEVEL,a=s.MESSAGE,l=s.SPLAT;e.exports=i((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object.assign({},e);return delete n[o],delete n[a],delete n[l],e[a]=r(n,!1,t.depth||null,t.colorize),e}))},2361:(e,t,n)=>{"use strict";function r(e,t){for(var n=0;n{"use strict";var r=n(8287),i=n(5396).MESSAGE,s=n(4445);e.exports=r((function(e){var t=s(Object.assign({},e,{level:void 0,message:void 0,splat:void 0})),n=e.padding&&e.padding[e.level]||"";return e[i]="{}"!==t?"".concat(e.level,":").concat(n," ").concat(e.message," ").concat(t):"".concat(e.level,":").concat(n," ").concat(e.message),e}))},7729:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?n.splice(0):n,s=i.length;if(s)for(var l=0;l{"use strict";var r=n(9432),i=n(8287);e.exports=i((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.format&&(e.timestamp="function"==typeof t.format?t.format():r.format(new Date,t.format)),e.timestamp||(e.timestamp=(new Date).toISOString()),t.alias&&(e[t.alias]=e.timestamp),e}))},9729:(e,t,n)=>{"use strict";var r=n(4431),i=n(8287),s=n(5396).MESSAGE;e.exports=i((function(e,t){return!1!==t.level&&(e.level=r.strip(e.level)),!1!==t.message&&(e.message=r.strip(e.message)),!1!==t.raw&&e[s]&&(e[s]=r.strip(e[s])),e}))},5378:(e,t,n)=>{var r={"./align.js":6894,"./browser.js":6850,"./cli.js":9008,"./colorize.js":2046,"./combine.js":1145,"./errors.js":2657,"./format.js":8287,"./index.js":6941,"./json.js":3048,"./label.js":4403,"./levels.js":7371,"./logstash.js":9660,"./metadata.js":2883,"./ms.js":3584,"./pad-levels.js":2886,"./pretty-print.js":8703,"./printf.js":2361,"./simple.js":2167,"./splat.js":7729,"./timestamp.js":7271,"./uncolorize.js":9729};function i(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=s,e.exports=i,i.id=5378},1648:(e,t,n)=>{"use strict";const r=n(9235),{LEVEL:i,MESSAGE:s}=n(5396);e.exports=r(((e,{stack:t})=>{if(e instanceof Error){const n=Object.assign({},e,{level:e.level,[i]:e[i]||e.level,message:e.message,[s]:e[s]||e.message});return t&&(n.stack=e.stack),n}if(!(e.message instanceof Error))return e;Object.assign(e,e.message);const n=e.message;return e.message=n.message,e[s]=n.message,t&&(e.stack=n.stack),e}))},1831:(e,t,n)=>{const{format:r}=n(562),{combine:i,timestamp:s,label:o}=r,a=i(o({label:"right meow!"}),s()).transform({level:"info",message:"What time is the testing at?"});console.dir(a)},6803:(e,t,n)=>{const{format:r}=n(562),{combine:i,timestamp:s,label:o}=r,a=r(((e,t)=>!e.private&&e))();console.dir(a.transform({level:"error",message:"Public error to share"})),console.dir(a.transform({level:"error",private:!0,message:"This is super secret - hide it."}));const l=r.combine(r((e=>!1))(),r((e=>{throw new Error("Never reached")}))());console.dir(l.transform({level:"info",message:"wow such testing"}))},1645:(e,t,n)=>{const{format:r}=n(562);r((function(e,t,n,r){return e}))},8010:(e,t,n)=>{const{format:r}=n(562),{combine:i,json:s,metadata:o,timestamp:a}=r,l=i(a(),o(),s()).transform({level:"info",message:"This should be a message.",application:"Microsoft Office",store:"Big Box Store",purchaseAmount:"9.99"});console.dir(l);const u=i(a(),o({fillExcept:["message","level","timestamp"]}),s()).transform({level:"info",message:"This should have attached metadata",category:"movies",subCategory:"action"});console.dir(u);const c=i(a(),o({fillWith:["publisher","author","book"],key:"bookInfo"}),s()).transform({level:"debug",message:"This message should be outside of the bookInfo object",publisher:"Lorem Press",author:"Albert Einstein",book:"4D Chess for Dummies",label:"myCustomLabel"});console.dir(c);const h=i(a(),o({fillWith:["publisher","author","book"],key:"bookInfo"}),o({fillWith:["purchasePrice","purchaseDate","transactionId"],key:"transactionInfo"}),o({fillExcept:["level","message","label","timestamp"]}),s()).transform({level:"debug",message:"This message should be outside of the bookInfo object",publisher:"Lorem Press",author:"Albert Einstein",book:"4D Chess for Dummies",label:"myCustomLabel",purchasePrice:"9.99",purchaseDate:"2.10.2018",transactionId:"123ABC"});console.dir(h)},7836:(e,t,n)=>{const{format:r}=n(562),{combine:i,padLevels:s,simple:o}=r,{MESSAGE:a}=n(5396),l=i(s({levels:{error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6}}),o()),u=l.transform({level:"info",message:"This is an info level message."}),c=l.transform({level:"error",message:"This is an error level message."}),h=l.transform({level:"verbose",message:"This is a verbose level message."});console.dir(u[a]),console.dir(c[a]),console.dir(h[a])},317:(e,t,n)=>{const{format:r}=n(562),i=r(((e,t)=>(t.yell?e.message=e.message.toUpperCase():t.whisper&&(e.message=e.message.toLowerCase()),e))),s=i({yell:!0});console.dir(s.transform({level:"info",message:"sorry for making you YELL in your head!"},s.options));const o=i({whisper:!0});console.dir(o.transform({level:"info",message:"WHY ARE THEY MAKING US YELL SO MUCH!"},o.options))},9235:e=>{"use strict";class t extends Error{constructor(e){super(`Format functions must be synchronous taking a two arguments: (info, opts)\nFound: ${e.toString().split("\n")[0]}\n`),Error.captureStackTrace(this,t)}}e.exports=e=>{if(e.length>2)throw new t(e);function n(e={}){this.options=e}function r(e){return new n(e)}return n.prototype.transform=e,r.Format=n,r}},562:(e,t,n)=>{"use strict";const r=t.format=n(9235);function i(e,t){t=t||e,Object.defineProperty(r,e,{get:()=>n(6835)(`./${t}.js`),configurable:!0})}t.levels=n(7823),i("align"),i("errors"),i("cli"),i("combine"),i("colorize"),i("json"),i("label"),i("logstash"),i("metadata"),i("ms"),i("padLevels","pad-levels"),i("prettyPrint","pretty-print"),i("printf"),i("simple"),i("splat"),i("timestamp"),i("uncolorize")},3922:(e,t,n)=>{"use strict";const r=n(9235),{MESSAGE:i}=n(5396),s=n(4445);function o(e,t){return t instanceof Buffer?t.toString("base64"):"bigint"==typeof t?t.toString():t}e.exports=r(((e,t={})=>(e[i]=(t.stable?s.stableStringify:s)(e,t.replacer||o,t.space),e)))},3084:(e,t,n)=>{"use strict";const r=n(9235);e.exports=r(((e,t)=>t.message?(e.message=`[${t.label}] ${e.message}`,e):(e.label=t.label,e)))},7823:(e,t,n)=>{"use strict";const{Colorizer:r}=n(8580);e.exports=e=>(r.addColors(e.colors||e),e)},3388:(e,t,n)=>{"use strict";const r=n(9235),{MESSAGE:i}=n(5396),s=n(4445);e.exports=r((e=>{const t={};return e.message&&(t["@message"]=e.message,delete e.message),e.timestamp&&(t["@timestamp"]=e.timestamp,delete e.timestamp),t["@fields"]=e,e[i]=s(t),e}))},2523:(e,t,n)=>{"use strict";const r=n(9235);e.exports=r(((e,t={})=>{let n="metadata";t.key&&(n=t.key);let r=[];return t.fillExcept||t.fillWith||(r.push("level"),r.push("message")),t.fillExcept&&(r=t.fillExcept),r.length>0?function(e,t,n){const r=t.reduce(((t,n)=>(t[n]=e[n],delete e[n],t)),{}),i=Object.keys(e).reduce(((t,n)=>(t[n]=e[n],delete e[n],t)),{});return Object.assign(e,r,{[n]:i}),e}(e,r,n):t.fillWith?function(e,t,n){return e[n]=t.reduce(((t,n)=>(t[n]=e[n],delete e[n],t)),{}),e}(e,t.fillWith,n):e}))},7560:function(e,t,n){"use strict";const r=n(9235),i=n(7824);e.exports=r((e=>{const t=+new Date;return this.diff=t-(this.prevTime||t),this.prevTime=t,e.ms=`+${i(this.diff)}`,e}))},6566:(e,t,n)=>{"use strict";const{configs:r,LEVEL:i,MESSAGE:s}=n(5396);class o{constructor(e={levels:r.npm.levels}){this.paddings=o.paddingForLevels(e.levels,e.filler),this.options=e}static getLongestLevel(e){const t=Object.keys(e).map((e=>e.length));return Math.max(...t)}static paddingForLevel(e,t,n){const r=n+1-e.length,i=Math.floor(r/t.length);return`${t}${t.repeat(i)}`.slice(0,r)}static paddingForLevels(e,t=" "){const n=o.getLongestLevel(e);return Object.keys(e).reduce(((e,r)=>(e[r]=o.paddingForLevel(r,t,n),e)),{})}transform(e,t){return e.message=`${this.paddings[e[i]]}${e.message}`,e[s]&&(e[s]=`${this.paddings[e[i]]}${e[s]}`),e}}e.exports=e=>new o(e),e.exports.Padder=e.exports.Format=o},5894:(e,t,n)=>{"use strict";const r=n(1669).inspect,i=n(9235),{LEVEL:s,MESSAGE:o,SPLAT:a}=n(5396);e.exports=i(((e,t={})=>{const n=Object.assign({},e);return delete n[s],delete n[o],delete n[a],e[o]=r(n,!1,t.depth||null,t.colorize),e}))},8242:(e,t,n)=>{"use strict";const{MESSAGE:r}=n(5396);class i{constructor(e){this.template=e}transform(e){return e[r]=this.template(e),e}}e.exports=e=>new i(e),e.exports.Printf=e.exports.Format=i},459:(e,t,n)=>{"use strict";const r=n(9235),{MESSAGE:i}=n(5396),s=n(4445);e.exports=r((e=>{const t=s(Object.assign({},e,{level:void 0,message:void 0,splat:void 0})),n=e.padding&&e.padding[e.level]||"";return e[i]="{}"!==t?`${e.level}:${n} ${e.message} ${t}`:`${e.level}:${n} ${e.message}`,e}))},8102:(e,t,n)=>{"use strict";const r=n(1669),{SPLAT:i}=n(5396),s=/%[scdjifoO%]/g,o=/%%/g;class a{constructor(e){this.options=e}_splat(e,t){const n=e.message,s=e[i]||e.splat||[],a=n.match(o),l=a&&a.length||0,u=t.length-l-s.length,c=u<0?s.splice(u,-1*u):[],h=c.length;if(h)for(let t=0;t1?n.splice(0):n,r=t.length;if(r)for(let n=0;nnew a(e)},6645:(e,t,n)=>{"use strict";const r=n(9432),i=n(9235);e.exports=i(((e,t={})=>(t.format&&(e.timestamp="function"==typeof t.format?t.format():r.format(new Date,t.format)),e.timestamp||(e.timestamp=(new Date).toISOString()),t.alias&&(e[t.alias]=e.timestamp),e)))},9095:(e,t,n)=>{"use strict";const r=n(4431),i=n(9235),{MESSAGE:s}=n(5396);e.exports=i(((e,t)=>(!1!==t.level&&(e.level=r.strip(e.level)),!1!==t.message&&(e.message=r.strip(e.message)),!1!==t.raw&&e[s]&&(e[s]=r.strip(e[s])),e)))},6835:(e,t,n)=>{var r={"./align.js":6281,"./browser.js":8650,"./cli.js":153,"./colorize.js":8580,"./combine.js":2390,"./dist/align.js":6894,"./dist/browser.js":6850,"./dist/cli.js":9008,"./dist/colorize.js":2046,"./dist/combine.js":1145,"./dist/errors.js":2657,"./dist/format.js":8287,"./dist/index.js":6941,"./dist/json.js":3048,"./dist/label.js":4403,"./dist/levels.js":7371,"./dist/logstash.js":9660,"./dist/metadata.js":2883,"./dist/ms.js":3584,"./dist/pad-levels.js":2886,"./dist/pretty-print.js":8703,"./dist/printf.js":2361,"./dist/simple.js":2167,"./dist/splat.js":7729,"./dist/timestamp.js":7271,"./dist/uncolorize.js":9729,"./errors.js":1648,"./examples/combine.js":1831,"./examples/filter.js":6803,"./examples/invalid.js":1645,"./examples/metadata.js":8010,"./examples/padLevels.js":7836,"./examples/volume.js":317,"./format.js":9235,"./index.js":562,"./json.js":3922,"./label.js":3084,"./levels.js":7823,"./logstash.js":3388,"./metadata.js":2523,"./ms.js":7560,"./pad-levels.js":6566,"./pretty-print.js":5894,"./printf.js":8242,"./simple.js":459,"./splat.js":8102,"./timestamp.js":6645,"./uncolorize.js":9095};function i(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=s,e.exports=i,i.id=6835},7824:e=>{var t=1e3,n=60*t,r=60*n,i=24*r;function s(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}e.exports=function(e,o){o=o||{};var a,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var o=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"weeks":case"week":case"w":return 6048e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*r;case"minutes":case"minute":case"mins":case"min":case"m":return o*n;case"seconds":case"second":case"secs":case"sec":case"s":return o*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===u&&isFinite(e))return o.long?(a=e,(l=Math.abs(a))>=i?s(a,l,i,"day"):l>=r?s(a,l,r,"hour"):l>=n?s(a,l,n,"minute"):l>=t?s(a,l,t,"second"):a+" ms"):function(e){var s=Math.abs(e);return s>=i?Math.round(e/i)+"d":s>=r?Math.round(e/r)+"h":s>=n?Math.round(e/n)+"m":s>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},3437:function(e,t,n){"use strict";var r,i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const s=n(8614),o=Symbol("DO_REQUEST");class a extends s.EventEmitter{constructor({transport:e,data:t,logger:i,metadata:s,client:o}){super(),this[r]=(e,t=[])=>new Promise(((n,r)=>{this.transport.request(e,t,((t,i)=>{this.logger.debug(`response -> neovim.api.${e}: ${i}`),t?r(new Error(`${e}: ${t[1]}`)):n(i)}))})),this.setTransport(e),this.data=t,this.logger=i||n(311).logger,this.client=o,s&&Object.defineProperty(this,"metadata",{value:s})}setTransport(e){this.transport=e}equals(e){try{return String(this.data)===String(e.data)}catch(e){return!1}}asyncRequest(e,t=[],n){return i(this,void 0,void 0,(function*(){return yield this._isReady,this.logger.debug(`request -> neovim.api.${e}`),this[o](e,t).catch((t=>{const r=new Error(t.message);throw r.stack=n,this.logger.error(`Error making request to ${e}`,r),r}))}))}request(e,t=[]){const n=new Error(`Error making request to ${e}`);return this.asyncRequest(e,t,n.stack)}_getArgsByPrefix(...e){const t=[];return"nvim_"!==this.prefix&&t.push(this),t.concat(e)}getVar(e){return i(this,void 0,void 0,(function*(){const t=this._getArgsByPrefix(e);return this.request(`${this.prefix}get_var`,t).then((e=>e),(e=>{if(e&&e.message&&e.message.includes("not found"))return null;throw e}))}))}setVar(e,t){const n=this._getArgsByPrefix(e,t);return this.request(`${this.prefix}set_var`,n)}deleteVar(e){const t=this._getArgsByPrefix(e);return this.request(`${this.prefix}del_var`,t)}getOption(e){const t=this._getArgsByPrefix(e);return this.request(`${this.prefix}get_option`,t)}setOption(e,t){const n=this._getArgsByPrefix(e,t);return this.request(`${this.prefix}set_option`,n)}notify(e,t){this.logger.debug(`notify -> neovim.api.${e}`),this.transport.notify(e,t)}}t.BaseApi=a,r=o},1810:function(e,t,n){"use strict";var r,i,s=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const o=n(3437),a=n(94);t.DETACH=Symbol("detachBuffer"),t.ATTACH=Symbol("attachBuffer");class l extends o.BaseApi{constructor(){super(...arguments),this.prefix=a.Metadata[a.ExtType.Buffer].prefix,this[r]=(e=!1,t={})=>s(this,void 0,void 0,(function*(){return!!this.client.isAttached(this)||this.request(`${this.prefix}attach`,[this,e,t])})),this[i]=()=>this.request(`${this.prefix}detach`,[this])}get isAttached(){return this.client.isAttached(this)}get id(){return this.data}get length(){return this.request(`${this.prefix}line_count`,[this])}get lines(){return this.getLines()}get changedtick(){return this.request(`${this.prefix}get_changedtick`,[this])}get commands(){return this.getCommands()}getCommands(e={}){return this.request(`${this.prefix}get_commands`,[this,e])}getLines({start:e,end:t,strictIndexing:n}={start:0,end:-1,strictIndexing:!0}){const r=void 0===n||n;return this.request(`${this.prefix}get_lines`,[this,e,t,r])}setLines(e,{start:t,end:n,strictIndexing:r}={strictIndexing:!0}){const i=void 0===r||r,s="string"==typeof e?[e]:e,o=void 0!==n?n:t+1;return this.request(`${this.prefix}set_lines`,[this,t,o,i,s])}insert(e,t){return this.setLines(e,{start:t,end:t,strictIndexing:!0})}replace(e,t){const n="string"==typeof e?[e]:e;return this.setLines(n,{start:t,end:t+n.length,strictIndexing:!1})}remove(e,t,n){return this.setLines([],{start:e,end:t,strictIndexing:n})}append(e){return this.setLines(e,{start:-1,end:-1,strictIndexing:!1})}get name(){return this.request(`${this.prefix}get_name`,[this])}set name(e){this.request(`${this.prefix}set_name`,[this,e])}get valid(){return this.request(`${this.prefix}is_valid`,[this])}mark(e){return this.request(`${this.prefix}get_mark`,[this,e])}getKeymap(e){return this.request(`${this.prefix}get_keymap`,[this,e])}get loaded(){return this.request(`${this.prefix}is_loaded`,[this])}getOffset(e){return this.request(`${this.prefix}get_offset`,[this,e])}addHighlight({hlGroup:e,line:t,colStart:n,colEnd:r,srcId:i}){const s=void 0!==e?e:"",o=void 0!==r?r:-1,a=void 0!==n?n:-0,l=void 0!==i?i:-1;return this.request(`${this.prefix}add_highlight`,[this,l,s,t,a,o])}clearHighlight(e={}){console.warn("`clearHighlight` is deprecated, use ``clearNamespace()` instead");const{srcId:t,lineStart:n,lineEnd:r}=Object.assign(Object.assign({},{srcId:-1,lineStart:0,lineEnd:-1}),e);return this.request(`${this.prefix}clear_highlight`,[this,t,n,r])}clearNamespace(e){const{nsId:t,lineStart:n,lineEnd:r}=Object.assign(Object.assign({},{nsId:-1,lineStart:0,lineEnd:-1}),e);this.request(`${this.prefix}clear_namespace`,[this,t,n,r])}setVirtualText(e,t,n,r={}){return this.request(`${this.prefix}set_virtual_text`,[this,e,t,n,r])}listen(e,n){return this.isAttached||this[t.ATTACH]().then((t=>{t||this.unlisten(e,n)})),this.client.attachBuffer(this,e,n),()=>{this.unlisten(e,n)}}unlisten(e,n){this.isAttached&&this.client.detachBuffer(this,e,n)&&this[t.DETACH]()}}t.Buffer=l,r=t.ATTACH,i=t.DETACH},2203:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3437),i=n(2348),s=n(1810),o=n(4637),a=n(5720);class l extends r.BaseApi{constructor(){super(...arguments),this.prefix="nvim_",this.Buffer=s.Buffer,this.Window=a.Window,this.Tabpage=o.Tabpage}get apiInfo(){return this.request(`${this.prefix}get_api_info`)}get buffers(){return this.request(`${this.prefix}list_bufs`)}get buffer(){return i.createChainableApi.call(this,"Buffer",s.Buffer,(()=>this.request(`${this.prefix}get_current_buf`)))}set buffer(e){this.request(`${this.prefix}set_current_buf`,[e])}get chans(){return this.request(`${this.prefix}list_chans`)}getChanInfo(e){return this.request(`${this.prefix}get_chan_info`,[e])}get commands(){return this.getCommands()}getCommands(e={}){return this.request(`${this.prefix}get_commands`,[e])}get tabpages(){return this.request(`${this.prefix}list_tabpages`)}get tabpage(){return i.createChainableApi.call(this,"Tabpage",o.Tabpage,(()=>this.request(`${this.prefix}get_current_tabpage`)))}set tabpage(e){this.request(`${this.prefix}set_current_tabpage`,[e])}get windows(){return this.getWindows()}get window(){return this.getWindow()}set window(e){this.setWindow(e)}getWindows(){return this.request(`${this.prefix}list_wins`)}getWindow(){return i.createChainableApi.call(this,"Window",a.Window,(()=>this.request(`${this.prefix}get_current_win`)))}setWindow(e){return this.request(`${this.prefix}set_current_win`,[e])}get runtimePaths(){return this.request(`${this.prefix}list_runtime_paths`)}set dir(e){this.request(`${this.prefix}set_current_dir`,[e])}get line(){return this.getLine()}set line(e){"string"==typeof e&&this.setLine(e)}getLine(){return this.request(`${this.prefix}get_current_line`)}setLine(e){return this.request(`${this.prefix}set_current_line`,[e])}getKeymap(e){return this.request(`${this.prefix}get_keymap`,[e])}get mode(){return this.request(`${this.prefix}get_mode`)}get colorMap(){return this.request(`${this.prefix}get_color_map`)}getColorByName(e){return this.request(`${this.prefix}get_color_by_name`,[e])}getHighlight(e,t=!0){const n="string"==typeof e?"by_name":"by_id";return this.request(`${this.prefix}get_hl_${n}`,[e,t])}getHighlightByName(e,t=!0){return this.request(`${this.prefix}get_hl_by_name`,[e,t])}getHighlightById(e,t=!0){return this.request(`${this.prefix}get_hl_by_id`,[e,t])}deleteCurrentLine(){return this.request(`${this.prefix}del_current_line`)}eval(e){return this.request(`${this.prefix}eval`,[e])}lua(e,t=[]){const n=Array.isArray(t)?t:[t];return this.request(`${this.prefix}execute_lua`,[e,n])}executeLua(e,t=[]){return this.lua(e,t)}callDictFunction(e,t,n=[]){const r=Array.isArray(n)?n:[n];return this.request(`${this.prefix}call_dict_function`,[e,t,r])}call(e,t=[]){const n=Array.isArray(t)?t:[t];return this.request(`${this.prefix}call_function`,[e,n])}callFunction(e,t=[]){return this.call(e,t)}callAtomic(e){return this.request(`${this.prefix}call_atomic`,[e])}command(e){return this.request(`${this.prefix}command`,[e])}commandOutput(e){return this.request(`${this.prefix}command_output`,[e])}getVvar(e){return this.request(`${this.prefix}get_vvar`,[e])}setVvar(e,t){return this.request(`${this.prefix}set_vvar`,[e,t])}feedKeys(e,t,n){return this.request(`${this.prefix}feedkeys`,[e,t,n])}input(e){return this.request(`${this.prefix}input`,[e])}inputMouse(e,t,n,r,i,s){return this.request(`${this.prefix}input_mouse`,[e,t,n,r,i,s])}parseExpression(e,t,n){return this.request(`${this.prefix}parse_expression`,[e,t,n])}getProc(e){return this.request(`${this.prefix}get_proc`,[e])}getProcChildren(e){return this.request(`${this.prefix}get_proc_children`,[e])}replaceTermcodes(e,t,n,r){return this.request(`${this.prefix}replace_termcodes`,[e,t,n,r])}strWidth(e){return this.request(`${this.prefix}strwidth`,[e])}outWrite(e){return this.request(`${this.prefix}out_write`,[e])}outWriteLine(e){return this.outWrite(`${e}\n`)}errWrite(e){return this.request(`${this.prefix}err_write`,[e])}errWriteLine(e){return this.request(`${this.prefix}err_writeln`,[e])}get uis(){return this.request(`${this.prefix}list_uis`)}uiAttach(e,t,n){return this.request(`${this.prefix}ui_attach`,[e,t,n])}uiDetach(){return this.request(`${this.prefix}ui_detach`,[])}uiTryResize(e,t){return this.request(`${this.prefix}ui_try_resize`,[e,t])}uiTryResizeGrid(e,t,n){return this.request(`${this.prefix}ui_try_resize_grid`,[e,t,n])}uiSetOption(e,t){return this.request(`${this.prefix}ui_set_option`,[e,t])}subscribe(e){return this.request(`${this.prefix}subscribe`,[e])}unsubscribe(e){return this.request(`${this.prefix}unsubscribe`,[e])}setClientInfo(e,t,n,r,i){this.request(`${this.prefix}set_client_info`,[e,t,n,r,i])}createNamespace(e=""){return this.request(`${this.prefix}create_namespace`,[e])}get namespaces(){return this.getNamespaces()}getNamespaces(){return this.request(`${this.prefix}get_namespaces`)}selectPopupmenuItem(e,t,n,r={}){return this.request(`${this.prefix}select_popupmenu_item`,[e,t,n,r])}createBuf(e,t){return this.request(`${this.prefix}create_buf`,[e,t])}createBuffer(e,t){return this.createBuf(e,t)}openWin(e,t,n){return this.request(`${this.prefix}open_win`,[e,t,n])}openWindow(e,t,n){return this.openWin(e,t,n)}winConfig(e,t={}){return e.config(t)}windowConfig(e,t={}){return this.winConfig(e,t)}winClose(e,t){return e.close(t)}windowClose(e,t){return this.winClose(e,t)}quit(){this.command("qa!")}}t.Neovim=l},4637:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3437),i=n(94),s=n(2348),o=n(5720);class a extends r.BaseApi{constructor(){super(...arguments),this.prefix=i.Metadata[i.ExtType.Tabpage].prefix}get windows(){return this.request(`${this.prefix}list_wins`,[this])}get window(){return s.createChainableApi.call(this,"Window",o.Window,(()=>this.request(`${this.prefix}get_win`,[this])))}get valid(){return this.request(`${this.prefix}is_valid`,[this])}get number(){return this.request(`${this.prefix}get_number`,[this])}getOption(){this.logger.error("Tabpage does not have `getOption`")}setOption(){this.logger.error("Tabpage does not have `setOption`")}}t.Tabpage=a},5720:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3437),i=n(94),s=n(2348),o=n(4637),a=n(1810);class l extends r.BaseApi{constructor(){super(...arguments),this.prefix=i.Metadata[i.ExtType.Window].prefix}get id(){return this.data}get buffer(){return s.createChainableApi.call(this,"Buffer",a.Buffer,(()=>this.request(`${this.prefix}get_buf`,[this])))}get tabpage(){return s.createChainableApi.call(this,"Tabpage",o.Tabpage,(()=>this.request(`${this.prefix}get_tabpage`,[this])))}get cursor(){return this.request(`${this.prefix}get_cursor`,[this])}set cursor(e){this.request(`${this.prefix}set_cursor`,[this,e])}get height(){return this.request(`${this.prefix}get_height`,[this])}set height(e){this.request(`${this.prefix}set_height`,[this,e])}get width(){return this.request(`${this.prefix}get_width`,[this])}set width(e){this.request(`${this.prefix}set_width`,[this,e])}get position(){return this.request(`${this.prefix}get_position`,[this])}get row(){return this.request(`${this.prefix}get_position`,[this]).then((e=>e[0]))}get col(){return this.request(`${this.prefix}get_position`,[this]).then((e=>e[1]))}get valid(){return this.request(`${this.prefix}is_valid`,[this])}get number(){return this.request(`${this.prefix}get_number`,[this])}close(e=!1){return this.request(`${this.prefix}close`,[this,e])}config(e={}){return this.request(`${this.prefix}set_config`,[this,e])}}t.Window=l},4606:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=n(138),s=n(2203);class o extends s.Neovim{constructor(e={}){super({logger:e.logger}),this.attachedBuffers=new Map;const t=e.transport||new i.Transport;this.setTransport(t),this.requestQueue=[],this.transportAttached=!1,this.handleRequest=this.handleRequest.bind(this),this.handleNotification=this.handleNotification.bind(this)}attach({reader:e,writer:t}){this.transport.attach(t,e,this),this.transportAttached=!0,this.setupTransport()}get isApiReady(){return this.transportAttached&&void 0!==this._channelId}get channelId(){return(()=>r(this,void 0,void 0,(function*(){return yield this._isReady,this._channelId})))()}isAttached(e){const t=`${e.data}`;return this.attachedBuffers.has(t)}handleRequest(e,t,n,...r){this.logger.info("handleRequest: ",e),this.isApiReady||"specs"===e?this.emit("request",e,t,n):this.requestQueue.push({type:"request",args:[e,t,n,...r]})}emitNotification(e,t){if(e.endsWith("_event")){if(!e.startsWith("nvim_buf_"))return void this.logger.error("Unhandled event: ",e);const n=e.replace(/nvim_buf_(.*)_event/,"$1"),[r]=t,i=`${r.data}`;if(!this.attachedBuffers.has(i))return;(this.attachedBuffers.get(i).get(n)||[]).forEach((e=>e(...t))),"detach"===n&&this.attachedBuffers.delete(i)}else this.emit("notification",e,t)}handleNotification(e,t,...n){this.logger.info("handleNotification: ",e),this.isApiReady?this.emitNotification(e,t):this.requestQueue.push({type:"notification",args:[e,t,...n]})}setupTransport(){if(!this.transportAttached)throw new Error("Not attached to input/output");this.transport.on("request",this.handleRequest),this.transport.on("notification",this.handleNotification),this.transport.on("detach",(()=>{this.emit("disconnect"),this.transport.removeAllListeners("request"),this.transport.removeAllListeners("notification"),this.transport.removeAllListeners("detach")})),this._isReady=this.generateApi()}requestApi(){return new Promise(((e,t)=>{this.transport.request("nvim_get_api_info",[],((n,r)=>{n?t(n):e(r)}))}))}generateApi(){return r(this,void 0,void 0,(function*(){let e;try{e=yield this.requestApi()}catch(e){this.logger.error("Could not get vim api results"),this.logger.error(e)}if(e)try{const[t]=e;return this._channelId=t,this.requestQueue.forEach((e=>{"notification"===e.type?this.emitNotification(e.args[0],e.args[1]):this.emit(e.type,...e.args)})),this.requestQueue=[],!0}catch(e){return this.logger.error(`Could not dynamically generate neovim API: ${e}`,{error:e}),this.logger.error(e.stack),null}return null}))}attachBuffer(e,t,n){const r=`${e.data}`;this.attachedBuffers.has(r)||this.attachedBuffers.set(r,new Map);const i=this.attachedBuffers.get(r);i.get(t)||i.set(t,[]);const s=i.get(t);return-1!==s.indexOf(n)||(s.push(n),i.set(t,s),this.attachedBuffers.set(r,i)),n}detachBuffer(e,t,n){const r=`${e.data}`,i=this.attachedBuffers.get(r);if(!i)return!1;const s=(i.get(t)||[]).filter((e=>e!==n));return s.length?i.set(t,s):i.delete(t),!i.size&&(this.attachedBuffers.delete(r),!0)}}t.NeovimClient=o},2348:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3437),i=Object.getOwnPropertyNames(r.BaseApi.prototype);t.createChainableApi=function(e,t,n,s){if(this[`${e}Promise`]&&0===this[`${e}Promise`].status&&this[`${e}Proxy`])return this[`${e}Proxy`];this[`${e}Promise`]=n(),[...i,...Object.getOwnPropertyNames(t.prototype)].forEach((t=>{Object.defineProperty(this[`${e}Promise`],t,{enumerable:!0,writable:!0,configurable:!0})}));const o={get:(n,i)=>{const o=Object.prototype.hasOwnProperty.call(t.prototype,i)||Object.prototype.hasOwnProperty.call(r.BaseApi.prototype,i),a=Object.getOwnPropertyDescriptor(t.prototype,i)||Object.getOwnPropertyDescriptor(r.BaseApi.prototype,i),l=a&&(void 0!==a.get||void 0!==a.set);return t&&o?o&&!l&&(i in t.prototype&&"function"==typeof t.prototype[i]||i in r.BaseApi.prototype&&"function"==typeof r.BaseApi.prototype[i])?(...t)=>this[`${e}Promise`].then((e=>e[i].call(e,...t))):s&&s()||this[`${e}Promise`].then((e=>e[i])):i in n?"function"==typeof n[i]?n[i].bind(n):n[i]:null},set:(e,t,n,r)=>(r&&(r instanceof Promise||"then"in r)?r.then((e=>{t in e&&(e[t]=n)})):e[t]=n,!0)};return this[`${e}Proxy`]=new Proxy(this[`${e}Promise`],o),this[`${e}Proxy`]}},6017:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2203);t.Neovim=r.Neovim;var i=n(4606);t.NeovimClient=i.NeovimClient;var s=n(1810);t.Buffer=s.Buffer;var o=n(5720);t.Window=o.Window;var a=n(4637);t.Tabpage=a.Tabpage},94:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1810),i=n(5720),s=n(4637);var o;(o=t.ExtType||(t.ExtType={}))[o.Buffer=0]="Buffer",o[o.Window=1]="Window",o[o.Tabpage=2]="Tabpage",t.Metadata=[{constructor:r.Buffer,name:"Buffer",prefix:"nvim_buf_"},{constructor:i.Window,name:"Window",prefix:"nvim_win_"},{constructor:s.Tabpage,name:"Tabpage",prefix:"nvim_tabpage_"}]},3286:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1291);t.attach=r.attach},1291:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1631),i=n(4606);t.attach=function({reader:e,writer:t,proc:s,socket:o,options:a={}}){let l,u;if(o){const e=r.createConnection(o);l=e,u=e}else e&&t?(l=t,u=e):s&&(l=s.stdin,u=s.stdout);if(l&&u){const e=a.logger||n(311).logger,t=new i.NeovimClient({logger:e});return t.attach({writer:l,reader:u}),t}throw new Error("Invalid arguments, could not attach")}},3596:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=n(311);function s(e){if("function"==typeof e)return e;if(Array.isArray(e)&&2===e.length)return function(...t){return e[1].apply(e[0],t)};throw new Error}t.callable=s,t.NvimPlugin=class{constructor(e,t,n){this.filename=e,this.nvim=n,this.dev=!1,this.alwaysInit=!1,this.autocmds={},this.commands={},this.functions={};try{this.instance=new t(this)}catch(e){if(!(e instanceof TypeError))throw e;this.instance=t(this)}}setOptions(e){this.dev=void 0===e.dev?this.dev:e.dev,this.alwaysInit=e.alwaysInit}get shouldCacheModule(){return!this.dev}registerAutocmd(e,t,n){if(!n.pattern)return void i.logger.error(`registerAutocmd expected pattern option for ${e}`);const r={type:"autocmd",name:e,sync:n&&!!n.sync,opts:{}};["pattern","eval"].forEach((e=>{n&&void 0!==n[e]&&(r.opts[e]=n[e])}));try{this.autocmds[`${e} ${n.pattern}`]={fn:s(t),spec:r}}catch(t){i.logger.error(`registerAutocmd expected callable argument for ${e}`)}}registerCommand(e,t,n){const r={type:"command",name:e,sync:n&&!!n.sync,opts:{}};["range","nargs","complete"].forEach((e=>{n&&void 0!==n[e]&&(r.opts[e]=n[e])}));try{this.commands[e]={fn:s(t),spec:r}}catch(t){i.logger.error(`registerCommand expected callable argument for ${e}`)}}registerFunction(e,t,n){const r={type:"function",name:e,sync:n&&!!n.sync,opts:{}};["range","eval"].forEach((e=>{n&&void 0!==n[e]&&(r.opts[e]=n[e])}));try{this.functions[e]={fn:s(t),spec:r}}catch(t){i.logger.error(`registerFunction expected callable argument for ${e}`)}}get specs(){const e=Object.keys(this.autocmds).map((e=>this.autocmds[e].spec)),t=Object.keys(this.commands).map((e=>this.commands[e].spec)),n=Object.keys(this.functions).map((e=>this.functions[e].spec));return e.concat(t).concat(n)}handleRequest(e,t,n){return r(this,void 0,void 0,(function*(){let r;switch(t){case"autocmd":r=this.autocmds;break;case"command":r=this.commands;break;case"function":r=this.functions;break;default:const n=`No handler for unknown type ${t}: "${e}" in ${this.filename}`;throw i.logger.error(n),new Error(n)}if(!r.hasOwnProperty(e)){const n=`Missing handler for ${t}: "${e}" in ${this.filename}`;throw i.logger.error(n),new Error(n)}{const s=r[e];try{return s.spec.sync?s.fn(...n):yield s.fn(...n)}catch(n){const r=`Error in plugin for ${t}:${e}: ${n.message}`;throw i.logger.error(`${r} (file: ${this.filename}, stack: ${n.stack})`),new Error(n)}}}))}}},7570:function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(n(5622)),o=r(n(1669)),a=r(n(2184)),l=i(n(5402)),u=i(n(6427)),c=n(311),h=n(8929),d=n(3596),f=n(2282),g=["reallyExit","abort","chdir","umask","setuid","setgid","setgroups","_kill","EventEmitter","_maxListeners","_fatalException","exit","kill"];function p(){const e=e=>this.require(e);return e.resolve=e=>f._resolveFilename(e,this),e.main=process.mainModule,e.extensions=f._extensions,e.cache=f._cache,e}function m(e){return function(t,n){const r=p.call(this),i=s.dirname(n),o=t.replace(/^\#\!.*/,""),l=f.wrap(o),u=a.runInContext(l,e,{filename:n}),c=[this.exports,r,this,n,i];return u.apply(this.exports,c)}}t.loadPlugin=function(e,t,r={}){try{return function(e,t,r={}){try{const i=function(e){const t=new f(e);t.paths=f._nodeModulePaths(e);const n=a.createContext({module:t,console:{}});l.default(n,global),Object.keys(console).forEach((t=>{"log"===t?n.console.log=function(e){return(...t)=>{const n=s.basename(e),r=o.format.apply(null,[`[${n}]`].concat(t));c.logger.info(r)}}(e):t in c.logger&&(n.console[t]=c.logger[t])})),n.require=function(e){const t=f.prototype._compile;f.prototype._compile=m(n);const r=n.module.require(e);return f.prototype._compile=t,r},n.process=u.default(process,g),g.forEach((e=>{n.process[e]=function(e){return()=>{throw new Error(`process.${e}() is not allowed in Plugin sandbox`)}}(e)}));const r=new h.DevNull;return n.process.umask=e=>{if(void 0!==e)throw new Error("Cannot use process.umask() to change mask (read-only)");return process.umask()},n.process.stdin=r,n.process.stdout=r,n.process.stderr=r,n.Buffer=global.Buffer,n}(e);if(c.logger.debug(`createPlugin.${e}.clearCache: ${r&&!r.cache}`),r&&!r.cache)try{delete f._cache[n(9071).resolve(e)]}catch(e){}const p=i.require(e),v=p&&p.default||p;if("function"==typeof v)return new d.NvimPlugin(e,v,t)}catch(t){const n=s.basename(e);c.logger.error(`[${n}] ${t.stack}`),c.logger.error(`[${n}] Error loading child ChildPlugin ${e}`)}return null}(e,t,r)}catch(e){return null}}},9071:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=9071,e.exports=t},9562:(e,t,n)=>{"use strict";var r=n(3286);t.ub=r.attach;var i=n(6017);i.Neovim,i.NeovimClient,i.Buffer,i.Tabpage,i.Window;var s=n(1114);s.Plugin,s.Function,s.Autocmd,s.Command,n(3596).NvimPlugin,n(7570).loadPlugin},1114:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9111);t.Plugin=r.Plugin,t.Function=r.Function,t.Autocmd=r.Autocmd,t.Command=r.Command},9155:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(5042);t.autocmd=function(e,t){return function(n,i){const s=t&&!!t.sync,o="string"==typeof i,a=o?n[i]:n,l={pattern:""};["pattern","eval"].forEach((e=>{t&&void 0!==t[e]&&(l[e]=t[e])}));const u=`${e}${t.pattern?`:${t.pattern}`:""}`;return Object.defineProperty(a,r.NVIM_METHOD_NAME,{value:`autocmd:${u}`}),Object.defineProperty(a,r.NVIM_SYNC,{value:!!s}),Object.defineProperty(a,r.NVIM_SPEC,{value:{type:"autocmd",name:e,sync:!!s,opts:l}}),o&&(n[i]=a),n}}},7856:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(5042);t.command=function(e,t){return function(n,i){const s=t&&!!t.sync,o="string"==typeof i,a=o?n[i]:n,l={};return["range","nargs","complete"].forEach((e=>{t&&void 0!==t[e]&&(l[e]=t[e])})),Object.defineProperty(a,r.NVIM_METHOD_NAME,{value:`command:${e}`}),Object.defineProperty(a,r.NVIM_SYNC,{value:!!s}),Object.defineProperty(a,r.NVIM_SPEC,{value:{type:"command",name:e,sync:!!s,opts:l}}),o&&(n[i]=a),n}}},3936:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(5042);t.nvimFunction=function(e,t={}){return function(n,i){const s=t&&!!t.sync,o="string"==typeof i,a=o?n[i]:n,l={};return t&&t.range&&(l.range=t.range),t&&t.eval&&(l.eval=t.eval),Object.defineProperty(a,r.NVIM_METHOD_NAME,{value:`function:${e}`}),Object.defineProperty(a,r.NVIM_SYNC,{value:!!s}),Object.defineProperty(a,r.NVIM_SPEC,{value:{type:"function",name:e,sync:!!s,opts:l}}),o&&(n[i]=a),n}}},9111:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(8772);t.Plugin=r.plugin;var i=n(3936);t.Function=i.nvimFunction;var s=n(9155);t.Autocmd=s.autocmd;var o=n(7856);t.Command=o.command},8772:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(311),i=n(5042),s=n(2203);t.Neovim=s.Neovim;const o=n(3596);function a(e,t){return r.logger.info(`Decorating class ${e}`),class extends e{constructor(...n){const s=n[0];super(s.nvim,s),this.setApi(s.nvim),t&&s.setOptions(t),Object.getOwnPropertyNames(e.prototype).forEach((t=>{r.logger.info(`Method name ${t}`),r.logger.info(`${e.prototype[t]} ${typeof e.prototype[t]}`),r.logger.info(`${this} ${typeof this}`);const n=e.prototype[t];if(n&&n[i.NVIM_SPEC]){const e=n[i.NVIM_SPEC];switch(e.type){case"autocmd":const t={pattern:e.opts.pattern,sync:e.sync};void 0!==e.opts.eval&&(t.eval=e.opts.eval),s.registerAutocmd(e.name,[this,n],t);break;case"command":const r={sync:e.sync};void 0!==e.opts.range&&(r.range=e.opts.range),void 0!==e.opts.nargs&&(r.nargs=e.opts.nargs),void 0!==e.opts.complete&&(r.complete=e.opts.complete),s.registerCommand(e.name,[this,n],r);break;case"function":const i={sync:e.sync};void 0!==e.opts.range&&(i.range=e.opts.range),void 0!==e.opts.eval&&(i.eval=e.opts.eval),s.registerFunction(e.name,[this,n],i)}}}))}setApi(e){this.nvim=e}}}t.NvimPlugin=o.NvimPlugin,t.plugin=function(e){return"function"!=typeof e?t=>a(t,e):a(e)}},5042:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NVIM_PLUGIN="_nvim_plugin",t.NVIM_DEV_MODE="_nvim_dev_mode",t.NVIM_SPEC="_nvim_rpc_spec",t.NVIM_SYNC="_nvim_rpc_sync",t.NVIM_METHOD_NAME="_nvim_rpc_method_name"},8929:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(2413);class i extends r.Duplex{_read(){}_write(e,t,n){n()}}t.DevNull=i},311:function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1440)),s="error",o=i.createLogger({level:s});process.env.NVIM_NODE_LOG_FILE&&o.add(new i.transports.File({filename:process.env.NVIM_NODE_LOG_FILE,level:s})),o.add(new i.transports.Console({format:i.format.simple()})),t.logger=o},138:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8614),i=n(3308),s=n(94);class o{constructor(e,t){this.encoder=e,this.requestId=t}send(e,t){if(this.sent)throw new Error(`Response to id ${this.requestId} already sent`);const n=i.encode([1,this.requestId,t?e:null,t?null:e]);this.encoder.write(Buffer.from(n.buffer,n.byteOffset,n.byteLength)),this.sent=!0}}class a extends r.EventEmitter{constructor(){super(...arguments),this.pending=new Map,this.nextRequestId=1,this.extensionCodec=this.initializeExtensionCodec()}initializeExtensionCodec(){const e=new i.ExtensionCodec;return s.Metadata.forEach((({constructor:t},n)=>{e.register({type:n,encode:e=>e instanceof t?i.encode(e.data):null,decode:e=>new t({transport:this,client:this.client,data:i.decode(e)})})})),e}encodeToBuffer(e){const t=i.encode(e,{extensionCodec:this.extensionCodec});return Buffer.from(t.buffer,t.byteOffset,t.byteLength)}attach(e,t,n){this.writer=e,this.reader=t,this.client=n,this.reader.on("end",(()=>{this.emit("detach")}));const r=i.decodeStream(this.reader,{extensionCodec:this.extensionCodec}),s=e=>{e.next().then((t=>t.done?Promise.resolve():(this.parseMessage(t.value),s(e))))};s(r)}request(e,t,n){this.nextRequestId=this.nextRequestId+1,this.writer.write(this.encodeToBuffer([0,this.nextRequestId,e,t])),this.pending.set(this.nextRequestId,n)}notify(e,t){this.writer.write(this.encodeToBuffer([2,e,t]))}parseMessage(e){const t=e[0];if(0===t)this.emit("request",e[2].toString(),e[3],new o(this.writer,e[1]));else if(1===t){const t=e[1],n=this.pending.get(t);this.pending.delete(t),n(e[2],e[3])}else 2===t?this.emit("notification",e[1].toString(),e[2]):this.writer.write(this.encodeToBuffer([1,0,"Invalid message type",null]))}}t.Transport=a},3138:e=>{"use strict";e.exports=function(e){var t,n=0;function r(){return n||(n=1,t=e.apply(this,arguments),e=null),t}return r.displayName=e.displayName||e.name||r.displayName||r.name,r}},8212:e=>{"use strict";"undefined"==typeof process||!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?e.exports={nextTick:function(e,t,n,r){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var i,s,o=arguments.length;switch(o){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick((function(){e.call(null,t)}));case 3:return process.nextTick((function(){e.call(null,t,n)}));case 4:return process.nextTick((function(){e.call(null,t,n,r)}));default:for(i=new Array(o-1),s=0;s{"use strict";var r=n(8212),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var s=Object.create(n(6497));s.inherits=n(4378);var o=n(9481),a=n(4229);s.inherits(h,o);for(var l=i(a.prototype),u=0;u{"use strict";var r=n(8212);e.exports=b;var i,s=n(5826);b.ReadableState=v,n(8614).EventEmitter;var o=function(e,t){return e.listeners(t).length},a=n(9740),l=n(9509).Buffer,u=global.Uint8Array||function(){},c=Object.create(n(6497));c.inherits=n(4378);var h=n(1669),d=void 0;d=h&&h.debuglog?h.debuglog("stream"):function(){};var f,g=n(5057),p=n(1195);c.inherits(b,a);var m=["error","close","destroy","pause","resume"];function v(e,t){e=e||{};var r=t instanceof(i=i||n(6753));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var s=e.highWaterMark,o=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=s||0===s?s:r&&(o||0===o)?o:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=n(2553).s),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function b(e){if(i=i||n(6753),!(this instanceof b))return new b(e);this._readableState=new v(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function y(e,t,n,r,i){var s,o=e._readableState;return null===t?(o.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,x(e)}}(e,o)):(i||(s=function(e,t){var n,r;return r=t,l.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(o,t)),s?e.emit("error",s):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),r?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):w(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?w(e,o,t,!1):M(e,o)):w(e,o,t,!1))):r||(o.reading=!1)),function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=E?e=E:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(d("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?r.nextTick(C,e):C(e))}function C(e){d("emit readable"),e.emit("readable"),A(e)}function M(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(S,e,t))}function S(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;return es.length?s.length:e;if(o===s.length?i+=s:i+=s.slice(0,e),0==(e-=o)){o===s.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=s.slice(o));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=l.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var s=r.data,o=e>s.length?s.length:e;if(s.copy(n,n.length-e,0,o),0==(e-=o)){o===s.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=s.slice(o));break}++i}return t.length-=i,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function F(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,r.nextTick(O,t,e))}function O(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function j(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return d("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?F(this):x(this),null;if(0===(e=_(e,t))&&t.ended)return 0===t.length&&F(this),null;var r,i=t.needReadable;return d("need readable",i),(0===t.length||t.length-e0?k(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&F(this)),null!==r&&this.emit("data",r),r},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,d("pipe count=%d opts=%j",i.pipesCount,t);var a=t&&!1===t.end||e===process.stdout||e===process.stderr?v:l;function l(){d("onend"),e.end()}i.endEmitted?r.nextTick(a):n.once("end",a),e.on("unpipe",(function t(r,s){d("onunpipe"),r===n&&s&&!1===s.hasUnpiped&&(s.hasUnpiped=!0,d("cleanup"),e.removeListener("close",p),e.removeListener("finish",m),e.removeListener("drain",u),e.removeListener("error",g),e.removeListener("unpipe",t),n.removeListener("end",l),n.removeListener("end",v),n.removeListener("data",f),c=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}));var u=function(e){return function(){var t=e._readableState;d("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,A(e))}}(n);e.on("drain",u);var c=!1,h=!1;function f(t){d("ondata"),h=!1,!1!==e.write(t)||h||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==j(i.pipes,e))&&!c&&(d("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,h=!0),n.pause())}function g(t){d("onerror",t),v(),e.removeListener("error",g),0===o(e,"error")&&e.emit("error",t)}function p(){e.removeListener("finish",m),v()}function m(){d("onfinish"),e.removeListener("close",p),v()}function v(){d("unpipe"),n.unpipe(e)}return n.on("data",f),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events.error?s(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on(t,n)}(e,"error",g),e.once("close",p),e.once("finish",m),e.emit("pipe",n),i.flowing||(d("pipe resume"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s{"use strict";var r=n(8212);function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(undefined),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=m;var s,o=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:r.nextTick;m.WritableState=p;var a=Object.create(n(6497));a.inherits=n(4378);var l,u={deprecate:n(1159)},c=n(9740),h=n(9509).Buffer,d=global.Uint8Array||function(){},f=n(1195);function g(){}function p(e,t){s=s||n(6753),e=e||{};var a=t instanceof s;this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var l=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=l||0===l?l:a&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,i=n.sync,s=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,s){--t.pendingcb,n?(r.nextTick(s,i),r.nextTick(_,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(s(i),e._writableState.errorEmitted=!0,e.emit("error",i),_(e,t))}(e,n,i,t,s);else{var a=w(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||y(e,n),i?o(b,e,n,a,s):b(e,n,a,s)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function m(e){if(s=s||n(6753),!(l.call(m,this)||this instanceof s))return new m(e);this._writableState=new p(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),c.call(this)}function v(e,t,n,r,i,s,o){t.writelen=r,t.writecb=o,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,s,t.onwrite),t.sync=!1}function b(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),_(e,t)}function y(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,s=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,l=!0;n;)s[a]=n,n.isBuf||(l=!1),n=n.next,a+=1;s.allBuffers=l,v(e,t,!0,t.length,s,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;n;){var u=n.chunk,c=n.encoding,h=n.callback;if(v(e,t,!1,t.objectMode?1:u.length,u,c,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),_(e,t)}))}function _(e,t){var n=w(t);return n&&(function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}a.inherits(m,c),p.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(p.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(l=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(e){return!!l.call(this,e)||this===m&&e&&e._writableState instanceof p}})):l=function(e){return e instanceof this},m.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},m.prototype.write=function(e,t,n){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=e,h.isBuffer(i)||i instanceof d);return a&&!h.isBuffer(e)&&(e=function(e){return h.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=s.defaultEncoding),"function"!=typeof n&&(n=g),s.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),r.nextTick(t,n)}(this,n):(a||function(e,t,n,i){var s=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),r.nextTick(i,o),s=!1),s}(this,s,e,n))&&(s.pendingcb++,o=function(e,t,n,r,i,s){if(!n){var o=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=h.from(t,n)),t}(t,r,i);r!==o&&(n=!0,i="buffer",r=o)}var a=t.objectMode?1:r.length;t.length+=a;var l=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},m.prototype._writev=null,m.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,n){t.ending=!0,_(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,i,n)},Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),m.prototype.destroy=f.destroy,m.prototype._undestroy=f.undestroy,m.prototype._destroy=function(e,t){this.end(),t(e)}},5057:(e,t,n)=>{"use strict";var r=n(9509).Buffer,i=n(1669);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i=r.allocUnsafe(e>>>0),s=this.head,o=0;s;)t=i,n=o,s.data.copy(t,n),o+=s.data.length,s=s.next;return i},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},1195:(e,t,n)=>{"use strict";var r=n(8212);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return s||o?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(r.nextTick(i,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},9740:(e,t,n)=>{e.exports=n(2413)},9909:(e,t,n)=>{var r=n(2413),i=n(4229);"disable"===process.env.READABLE_STREAM?e.exports=r&&r.Writable||i:e.exports=i},9509:(e,t,n)=>{var r=n(4293),i=r.Buffer;function s(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(s(r,t),t.Buffer=o),s(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},6851:(e,t,n)=>{"use strict";var r=n(9594),i=Array.prototype.concat,s=Array.prototype.slice,o=e.exports=function(e){for(var t=[],n=0,o=e.length;n{e.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}},7911:(e,t)=>{function n(e){for(var t in e)this[t]=e[t]}t.get=function(e){var n=Error.stackTraceLimit;Error.stackTraceLimit=1/0;var r={},i=Error.prepareStackTrace;Error.prepareStackTrace=function(e,t){return t},Error.captureStackTrace(r,e||t.get);var s=r.stack;return Error.prepareStackTrace=i,Error.stackTraceLimit=n,s},t.parse=function(e){if(!e.stack)return[];var t=this;return e.stack.split("\n").slice(1).map((function(e){if(e.match(/^\s*[-]{4,}$/))return t._createParsedCallSite({fileName:e,lineNumber:null,functionName:null,typeName:null,methodName:null,columnNumber:null,native:null});var n=e.match(/at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/);if(n){var r=null,i=null,s=null,o=null,a=null,l="native"===n[5];if(n[1]){var u=(s=n[1]).lastIndexOf(".");if("."==s[u-1]&&u--,u>0){r=s.substr(0,u),i=s.substr(u+1);var c=r.indexOf(".Module");c>0&&(s=s.substr(c+1),r=r.substr(0,c))}o=null}i&&(o=r,a=i),""===i&&(a=null,s=null);var h={fileName:n[2]||null,lineNumber:parseInt(n[3],10)||null,functionName:s,typeName:o,methodName:a,columnNumber:parseInt(n[4],10)||null,native:l};return t._createParsedCallSite(h)}})).filter((function(e){return!!e}))},["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"].forEach((function(e){n.prototype[e]=null,n.prototype["get"+e[0].toUpperCase()+e.substr(1)]=function(){return this[e]}})),["topLevel","eval","native","constructor"].forEach((function(e){n.prototype[e]=!1,n.prototype["is"+e[0].toUpperCase()+e.substr(1)]=function(){return this[e]}})),t._createParsedCallSite=function(e){return new n(e)}},2553:(e,t,n)=>{"use strict";var r=n(9509).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=c,this.end=h,t=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.s=s,s.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},3951:e=>{"use strict";e.exports=function(e){for(var t=0,n=0;t{"use strict";t.levels={error:0,warn:1,help:2,data:3,info:4,debug:5,prompt:6,verbose:7,input:8,silly:9},t.colors={error:"red",warn:"yellow",help:"cyan",data:"grey",info:"green",debug:"blue",prompt:"grey",verbose:"cyan",input:"grey",silly:"magenta"}},5243:(e,t,n)=>{"use strict";Object.defineProperty(t,"cli",{value:n(9273)}),Object.defineProperty(t,"npm",{value:n(2459)}),Object.defineProperty(t,"syslog",{value:n(1945)})},2459:(e,t)=>{"use strict";t.levels={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},t.colors={error:"red",warn:"yellow",info:"green",http:"green",verbose:"cyan",debug:"blue",silly:"magenta"}},1945:(e,t)=>{"use strict";t.levels={emerg:0,alert:1,crit:2,error:3,warning:4,notice:5,info:6,debug:7},t.colors={emerg:"red",alert:"yellow",crit:"red",error:"red",warning:"red",notice:"yellow",info:"green",debug:"blue"}},5396:(e,t,n)=>{"use strict";Object.defineProperty(t,"LEVEL",{value:Symbol.for("level")}),Object.defineProperty(t,"MESSAGE",{value:Symbol.for("message")}),Object.defineProperty(t,"SPLAT",{value:Symbol.for("splat")}),Object.defineProperty(t,"configs",{value:n(5243)})},1159:(e,t,n)=>{e.exports=n(1669).deprecate},1037:(e,t,n)=>{"use strict";const r=n(1669),i=n(9909),{LEVEL:s}=n(5396),o=e.exports=function(e={}){i.call(this,{objectMode:!0,highWaterMark:e.highWaterMark}),this.format=e.format,this.level=e.level,this.handleExceptions=e.handleExceptions,this.handleRejections=e.handleRejections,this.silent=e.silent,e.log&&(this.log=e.log),e.logv&&(this.logv=e.logv),e.close&&(this.close=e.close),this.once("pipe",(e=>{this.levels=e.levels,this.parent=e})),this.once("unpipe",(e=>{e===this.parent&&(this.parent=null,this.close&&this.close())}))};r.inherits(o,i),o.prototype._write=function(e,t,n){if(this.silent||!0===e.exception&&!this.handleExceptions)return n(null);const r=this.level||this.parent&&this.parent.level;if(!r||this.levels[r]>=this.levels[e[s]]){if(e&&!this.format)return this.log(e,n);let t,r;try{r=this.format.transform(Object.assign({},e),this.format.options)}catch(e){t=e}if(t||!r){if(n(),t)throw t;return}return this.log(r,n)}return n(null)},o.prototype._writev=function(e,t){if(this.logv){const n=e.filter(this._accept,this);return n.length?this.logv(n,t):t(null)}for(let n=0;n=this.levels[t[s]])||!this.handleExceptions&&!0===t.exception)},o.prototype._nop=function(){},e.exports.LegacyTransportStream=n(4201)},4201:(e,t,n)=>{"use strict";const r=n(1669),{LEVEL:i}=n(5396),s=n(1037),o=e.exports=function(e={}){if(s.call(this,e),!e.transport||"function"!=typeof e.transport.log)throw new Error("Invalid transport, must be an object with a log method.");this.transport=e.transport,this.level=this.level||e.transport.level,this.handleExceptions=this.handleExceptions||e.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=function(e){this.emit("error",e,this.transport)}.bind(this),this.transport.on("error",this.transport.__winstonError))};r.inherits(o,s),o.prototype._write=function(e,t,n){if(this.silent||!0===e.exception&&!this.handleExceptions)return n(null);(!this.level||this.levels[this.level]>=this.levels[e[i]])&&this.transport.log(e[i],e.message,e,this._nop),n(null)},o.prototype._writev=function(e,t){for(let t=0;t{"use strict";const r=n(562),{warn:i}=n(2850),s=t;s.version=n(6141).i8,s.transports=n(9840),s.config=n(448),s.addColors=r.levels,s.format=r.format,s.createLogger=n(5658),s.ExceptionHandler=n(5120),s.RejectionHandler=n(5724),s.Container=n(6099),s.Transport=n(1037),s.loggers=new s.Container;const o=s.createLogger();Object.keys(s.config.npm.levels).concat(["log","query","stream","add","remove","clear","profile","startTimer","handleExceptions","unhandleExceptions","handleRejections","unhandleRejections","configure"]).forEach((e=>s[e]=(...t)=>o[e](...t))),Object.defineProperty(s,"level",{get:()=>o.level,set(e){o.level=e}}),Object.defineProperty(s,"exceptions",{get:()=>o.exceptions}),["exitOnError"].forEach((e=>{Object.defineProperty(s,e,{get:()=>o[e],set(t){o[e]=t}})})),Object.defineProperty(s,"default",{get:()=>({exceptionHandlers:o.exceptionHandlers,rejectionHandlers:o.rejectionHandlers,transports:o.transports})}),i.deprecated(s,"setLevels"),i.forFunctions(s,"useFormat",["cli"]),i.forProperties(s,"useFormat",["padLevels","stripColors"]),i.forFunctions(s,"deprecated",["addRewriter","addFilter","clone","extend"]),i.forProperties(s,"deprecated",["emitErrs","levelLength"]),i.moved(s,"createLogger","Logger")},2850:(e,t,n)=>{"use strict";const{format:r}=n(1669);t.warn={deprecated:e=>()=>{throw new Error(r("{ %s } was removed in winston@3.0.0.",e))},useFormat:e=>()=>{throw new Error([r("{ %s } was removed in winston@3.0.0.",e),"Use a custom winston.format = winston.format(function) instead."].join("\n"))},forFunctions(e,n,r){r.forEach((r=>{e[r]=t.warn[n](r)}))},moved(e,t,n){function i(){return()=>{throw new Error([r("winston.%s was moved in winston@3.0.0.",n),r("Use a winston.%s instead.",t)].join("\n"))}}Object.defineProperty(e,n,{get:i,set:i})},forProperties(e,n,r){r.forEach((r=>{const i=t.warn[n](r);Object.defineProperty(e,r,{get:i,set:i})}))}}},448:(e,t,n)=>{"use strict";const r=n(562),{configs:i}=n(5396);t.cli=r.levels(i.cli),t.npm=r.levels(i.npm),t.syslog=r.levels(i.syslog),t.addColors=r.levels},6099:(e,t,n)=>{"use strict";const r=n(5658);e.exports=class{constructor(e={}){this.loggers=new Map,this.options=e}add(e,t){if(!this.loggers.has(e)){const n=(t=Object.assign({},t||this.options)).transports||this.options.transports;t.transports=n?n.slice():[];const i=r(t);i.on("close",(()=>this._delete(e))),this.loggers.set(e,i)}return this.loggers.get(e)}get(e,t){return this.add(e,t)}has(e){return!!this.loggers.has(e)}close(e){if(e)return this._removeLogger(e);this.loggers.forEach(((e,t)=>this._removeLogger(t)))}_removeLogger(e){this.loggers.has(e)&&(this.loggers.get(e).close(),this._delete(e))}_delete(e){this.loggers.delete(e)}}},5658:(e,t,n)=>{"use strict";const{LEVEL:r}=n(5396),i=n(448),s=n(9848),o=n(8713)("winston:create-logger");e.exports=function(e={}){e.levels=e.levels||i.npm.levels;class t extends s{constructor(e){super(e)}}const n=new t(e);return Object.keys(e.levels).forEach((function(e){o('Define prototype method for "%s"',e),"log"!==e?(t.prototype[e]=function(...t){const i=this||n;if(1===t.length){const[s]=t,o=s&&s.message&&s||{message:s};return o.level=o[r]=e,i._addDefaultMeta(o),i.write(o),this||n}return 0===t.length?(i.log(e,""),i):i.log(e,...t)},t.prototype[function(e){return"is"+e.charAt(0).toUpperCase()+e.slice(1)+"Enabled"}(e)]=function(){return(this||n).isLevelEnabled(e)}):console.warn('Level "log" not defined: conflicts with the method "log". Use a different level name.')})),n}},5120:(e,t,n)=>{"use strict";const r=n(2087),i=n(8058),s=n(8713)("winston:exception"),o=n(3138),a=n(7911),l=n(5193);e.exports=class{constructor(e){if(!e)throw new Error("Logger is required to handle exceptions");this.logger=e,this.handlers=new Map}handle(...e){e.forEach((e=>{if(Array.isArray(e))return e.forEach((e=>this._addHandler(e)));this._addHandler(e)})),this.catcher||(this.catcher=this._uncaughtException.bind(this),process.on("uncaughtException",this.catcher))}unhandle(){this.catcher&&(process.removeListener("uncaughtException",this.catcher),this.catcher=!1,Array.from(this.handlers.values()).forEach((e=>this.logger.unpipe(e))))}getAllInfo(e){let{message:t}=e;return t||"string"!=typeof e||(t=e),{error:e,level:"error",message:[`uncaughtException: ${t||"(no error message)"}`,e.stack||" No stack trace"].join("\n"),stack:e.stack,exception:!0,date:(new Date).toString(),process:this.getProcessInfo(),os:this.getOsInfo(),trace:this.getTrace(e)}}getProcessInfo(){return{pid:process.pid,uid:process.getuid?process.getuid():null,gid:process.getgid?process.getgid():null,cwd:process.cwd(),execPath:process.execPath,version:process.version,argv:process.argv,memoryUsage:process.memoryUsage()}}getOsInfo(){return{loadavg:r.loadavg(),uptime:r.uptime()}}getTrace(e){return(e?a.parse(e):a.get()).map((e=>({column:e.getColumnNumber(),file:e.getFileName(),function:e.getFunctionName(),line:e.getLineNumber(),method:e.getMethodName(),native:e.isNative()})))}_addHandler(e){if(!this.handlers.has(e)){e.handleExceptions=!0;const t=new l(e);this.handlers.set(e,t),this.logger.pipe(t)}}_uncaughtException(e){const t=this.getAllInfo(e),n=this._getExceptionHandlers();let r,a="function"==typeof this.logger.exitOnError?this.logger.exitOnError(e):this.logger.exitOnError;function l(){s("doExit",a),s("process._exiting",process._exiting),a&&!process._exiting&&(r&&clearTimeout(r),process.exit(1))}if(!n.length&&a&&(console.warn("winston: exitOnError cannot be true with no exception handlers."),console.warn("winston: not exiting process."),a=!1),!n||0===n.length)return process.nextTick(l);i(n,((e,t)=>{const n=o(t),r=e.transport||e;function i(e){return()=>{s(e),n()}}r._ending=!0,r.once("finish",i("finished")),r.once("error",i("error"))}),(()=>a&&l())),this.logger.log(t),a&&(r=setTimeout(l,3e3))}_getExceptionHandlers(){return this.logger.transports.filter((e=>(e.transport||e).handleExceptions))}}},5193:(e,t,n)=>{"use strict";const{Writable:r}=n(514);e.exports=class extends r{constructor(e){if(super({objectMode:!0}),!e)throw new Error("ExceptionStream requires a TransportStream instance.");this.handleExceptions=!0,this.transport=e}_write(e,t,n){return e.exception?this.transport.log(e,n):(n(),!0)}}},9848:(e,t,n)=>{"use strict";const{Stream:r,Transform:i}=n(514),s=n(8058),{LEVEL:o,SPLAT:a}=n(5396),l=n(4970),u=n(5120),c=n(5724),h=n(4201),d=n(46),{warn:f}=n(2850),g=n(448),p=/%[scdjifoO%]/g;class m extends i{constructor(e){super({objectMode:!0}),this.configure(e)}child(e){const t=this;return Object.create(t,{write:{value:function(n){const r=Object.assign({},e,n);n instanceof Error&&(r.stack=n.stack,r.message=n.message),t.write(r)}}})}configure({silent:e,format:t,defaultMeta:r,levels:i,level:s="info",exitOnError:o=!0,transports:a,colors:l,emitErrs:h,formatters:d,padLevels:f,rewriters:p,stripColors:m,exceptionHandlers:v,rejectionHandlers:b}={}){if(this.transports.length&&this.clear(),this.silent=e,this.format=t||this.format||n(3922)(),this.defaultMeta=r||null,this.levels=i||this.levels||g.npm.levels,this.level=s,this.exceptions=new u(this),this.rejections=new c(this),this.profilers={},this.exitOnError=o,a&&(a=Array.isArray(a)?a:[a]).forEach((e=>this.add(e))),l||h||d||f||p||m)throw new Error(["{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.","Use a custom winston.format(function) instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join("\n"));v&&this.exceptions.handle(v),b&&this.rejections.handle(b)}isLevelEnabled(e){const t=v(this.levels,e);if(null===t)return!1;const n=v(this.levels,this.level);return null!==n&&(this.transports&&0!==this.transports.length?-1!==this.transports.findIndex((e=>{let r=v(this.levels,e.level);return null===r&&(r=n),r>=t})):n>=t)}log(e,t,...n){if(1===arguments.length)return e[o]=e.level,this._addDefaultMeta(e),this.write(e),this;if(2===arguments.length)return t&&"object"==typeof t?(t[o]=t.level=e,this._addDefaultMeta(t),this.write(t),this):(this.write({[o]:e,level:e,message:t}),this);const[r]=n;if("object"==typeof r&&null!==r&&!(t&&t.match&&t.match(p))){const i=Object.assign({},this.defaultMeta,r,{[o]:e,[a]:n,level:e,message:t});return r.message&&(i.message+=`${r.message}`),r.stack&&(i.stack=r.stack),this.write(i),this}return this.write(Object.assign({},this.defaultMeta,{[o]:e,[a]:n,level:e,message:t})),this}_transform(e,t,n){if(this.silent)return n();e[o]||(e[o]=e.level),this.levels[e[o]]||0===this.levels[e[o]]||console.error("[winston] Unknown logger level: %s",e[o]),this._readableState.pipes||console.error("[winston] Attempt to write logs with no transports %j",e);try{this.push(this.format.transform(e,this.format.options))}catch(e){throw e}finally{n()}}_final(e){const t=this.transports.slice();s(t,((e,t)=>{if(!e||e.finished)return setImmediate(t);e.once("finish",t),e.end()}),e)}add(e){const t=!l(e)||e.log.length>2?new h({transport:e}):e;if(!t._writableState||!t._writableState.objectMode)throw new Error("Transports must WritableStreams in objectMode. Set { objectMode: true }.");return this._onEvent("error",t),this._onEvent("warn",t),this.pipe(t),e.handleExceptions&&this.exceptions.handle(),e.handleRejections&&this.rejections.handle(),this}remove(e){let t=e;return(!l(e)||e.log.length>2)&&(t=this.transports.filter((t=>t.transport===e))[0]),t&&this.unpipe(t),this}clear(){return this.unpipe(),this}close(){return this.clear(),this.emit("close"),this}setLevels(){f.deprecated("setLevels")}query(e,t){"function"==typeof e&&(t=e,e={}),e=e||{};const n={},r=Object.assign({},e.query||{});s(this.transports.filter((e=>!!e.query)),(function(t,i){!function(t,n){e.query&&"function"==typeof t.formatQuery&&(e.query=t.formatQuery(r)),t.query(e,((r,i)=>{if(r)return n(r);"function"==typeof t.formatResults&&(i=t.formatResults(i,e.format)),n(null,i)}))}(t,((e,r)=>{i&&((r=e||r)&&(n[t.name]=r),i()),i=null}))}),(()=>t(null,n)))}stream(e={}){const t=new r,n=[];return t._streams=n,t.destroy=()=>{let e=n.length;for(;e--;)n[e].destroy()},this.transports.filter((e=>!!e.stream)).forEach((r=>{const i=r.stream(e);i&&(n.push(i),i.on("log",(e=>{e.transport=e.transport||[],e.transport.push(r.name),t.emit("log",e)})),i.on("error",(e=>{e.transport=e.transport||[],e.transport.push(r.name),t.emit("error",e)})))})),t}startTimer(){return new d(this)}profile(e,...t){const n=Date.now();if(this.profilers[e]){const r=this.profilers[e];delete this.profilers[e],"function"==typeof t[t.length-2]&&(console.warn("Callback function no longer supported as of winston@3.0.0"),t.pop());const i="object"==typeof t[t.length-1]?t.pop():{};return i.level=i.level||"info",i.durationMs=n-r,i.message=i.message||e,this.write(i)}return this.profilers[e]=n,this}handleExceptions(...e){console.warn("Deprecated: .handleExceptions() will be removed in winston@4. Use .exceptions.handle()"),this.exceptions.handle(...e)}unhandleExceptions(...e){console.warn("Deprecated: .unhandleExceptions() will be removed in winston@4. Use .exceptions.unhandle()"),this.exceptions.unhandle(...e)}cli(){throw new Error(["Logger.cli() was removed in winston@3.0.0","Use a custom winston.formats.cli() instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join("\n"))}_onEvent(e,t){t["__winston"+e]||(t["__winston"+e]=function(n){this.emit(e,n,t)}.bind(this),t.on(e,t["__winston"+e]))}_addDefaultMeta(e){this.defaultMeta&&Object.assign(e,this.defaultMeta)}}function v(e,t){const n=e[t];return n||0===n?n:null}Object.defineProperty(m.prototype,"transports",{configurable:!1,enumerable:!0,get(){const{pipes:e}=this._readableState;return Array.isArray(e)?e:[e].filter(Boolean)}}),e.exports=m},46:e=>{"use strict";e.exports=class{constructor(e){if(!e)throw new Error("Logger is required for profiling.");this.logger=e,this.start=Date.now()}done(...e){"function"==typeof e[e.length-1]&&(console.warn("Callback function no longer supported as of winston@3.0.0"),e.pop());const t="object"==typeof e[e.length-1]?e.pop():{};return t.level=t.level||"info",t.durationMs=Date.now()-this.start,this.logger.write(t)}}},5724:(e,t,n)=>{"use strict";const r=n(2087),i=n(8058),s=n(8713)("winston:rejection"),o=n(3138),a=n(7911),l=n(5193);e.exports=class{constructor(e){if(!e)throw new Error("Logger is required to handle rejections");this.logger=e,this.handlers=new Map}handle(...e){e.forEach((e=>{if(Array.isArray(e))return e.forEach((e=>this._addHandler(e)));this._addHandler(e)})),this.catcher||(this.catcher=this._unhandledRejection.bind(this),process.on("unhandledRejection",this.catcher))}unhandle(){this.catcher&&(process.removeListener("unhandledRejection",this.catcher),this.catcher=!1,Array.from(this.handlers.values()).forEach((e=>this.logger.unpipe(e))))}getAllInfo(e){let{message:t}=e;return t||"string"!=typeof e||(t=e),{error:e,level:"error",message:[`unhandledRejection: ${t||"(no error message)"}`,e.stack||" No stack trace"].join("\n"),stack:e.stack,exception:!0,date:(new Date).toString(),process:this.getProcessInfo(),os:this.getOsInfo(),trace:this.getTrace(e)}}getProcessInfo(){return{pid:process.pid,uid:process.getuid?process.getuid():null,gid:process.getgid?process.getgid():null,cwd:process.cwd(),execPath:process.execPath,version:process.version,argv:process.argv,memoryUsage:process.memoryUsage()}}getOsInfo(){return{loadavg:r.loadavg(),uptime:r.uptime()}}getTrace(e){return(e?a.parse(e):a.get()).map((e=>({column:e.getColumnNumber(),file:e.getFileName(),function:e.getFunctionName(),line:e.getLineNumber(),method:e.getMethodName(),native:e.isNative()})))}_addHandler(e){if(!this.handlers.has(e)){e.handleExceptions=!0;const t=new l(e);this.handlers.set(e,t),this.logger.pipe(t)}}_unhandledRejection(e){const t=this.getAllInfo(e),n=this._getRejectionHandlers();let r,a="function"==typeof this.logger.exitOnError?this.logger.exitOnError(e):this.logger.exitOnError;function l(){s("doExit",a),s("process._exiting",process._exiting),a&&!process._exiting&&(r&&clearTimeout(r),process.exit(1))}if(!n.length&&a&&(console.warn("winston: exitOnError cannot be true with no rejection handlers."),console.warn("winston: not exiting process."),a=!1),!n||0===n.length)return process.nextTick(l);i(n,((e,t)=>{const n=o(t),r=e.transport||e;function i(e){return()=>{s(e),n()}}r._ending=!0,r.once("finish",i("finished")),r.once("error",i("error"))}),(()=>a&&l())),this.logger.log(t),a&&(r=setTimeout(l,3e3))}_getRejectionHandlers(){return this.logger.transports.filter((e=>(e.transport||e).handleRejections))}}},4778:(e,t,n)=>{"use strict";const r=n(5747),{StringDecoder:i}=n(4304),{Stream:s}=n(514);function o(){}e.exports=(e,t)=>{const n=Buffer.alloc(65536),a=new i("utf8"),l=new s;let u="",c=0,h=0;return-1===e.start&&delete e.start,l.readable=!0,l.destroy=()=>{l.destroyed=!0,l.emit("end"),l.emit("close")},r.open(e.file,"a+","0644",((i,s)=>{if(i)return t?t(i):l.emit("error",i),void l.destroy();!function i(){if(!l.destroyed)return r.read(s,n,0,n.length,c,((r,s)=>{if(r)return t?t(r):l.emit("error",r),void l.destroy();if(!s)return u&&((null==e.start||h>e.start)&&(t?t(null,u):l.emit("line",u)),h++,u=""),setTimeout(i,1e3);let o=a.write(n.slice(0,s));t||l.emit("data",o),o=(u+o).split(/\n+/);const d=o.length-1;let f=0;for(;fe.start)&&(t?t(null,o[f]):l.emit("line",o[f])),h++;return u=o[d],c+=s,i()}));r.close(s,o)}()})),t?l.destroy:l}},2158:(e,t,n)=>{"use strict";const r=n(2087),{LEVEL:i,MESSAGE:s}=n(5396),o=n(1037);e.exports=class extends o{constructor(e={}){super(e),this.name=e.name||"console",this.stderrLevels=this._stringArrayToSet(e.stderrLevels),this.consoleWarnLevels=this._stringArrayToSet(e.consoleWarnLevels),this.eol=e.eol||r.EOL,this.setMaxListeners(30)}log(e,t){return setImmediate((()=>this.emit("logged",e))),this.stderrLevels[e[i]]?(console._stderr?console._stderr.write(`${e[s]}${this.eol}`):console.error(e[s]),void(t&&t())):this.consoleWarnLevels[e[i]]?(console._stderr?console._stderr.write(`${e[s]}${this.eol}`):console.warn(e[s]),void(t&&t())):(console._stdout?console._stdout.write(`${e[s]}${this.eol}`):console.log(e[s]),void(t&&t()))}_stringArrayToSet(e,t){if(!e)return{};if(t=t||"Cannot make set from type other than Array of string elements",!Array.isArray(e))throw new Error(t);return e.reduce(((e,n)=>{if("string"!=typeof n)throw new Error(t);return e[n]=!0,e}),{})}}},9140:(e,t,n)=>{"use strict";const r=n(5747),i=n(5622),s=n(8415),o=n(8761),{MESSAGE:a}=n(5396),{Stream:l,PassThrough:u}=n(514),c=n(1037),h=n(8713)("winston:file"),d=n(2087),f=n(4778);e.exports=class extends c{constructor(e={}){function t(t,...n){n.slice(1).forEach((n=>{if(e[n])throw new Error(`Cannot set ${n} and ${t} together`)}))}if(super(e),this.name=e.name||"file",this._stream=new u,this._stream.setMaxListeners(30),this._onError=this._onError.bind(this),e.filename||e.dirname)t("filename or dirname","stream"),this._basename=this.filename=e.filename?i.basename(e.filename):"winston.log",this.dirname=e.dirname||i.dirname(e.filename),this.options=e.options||{flags:"a"};else{if(!e.stream)throw new Error("Cannot log to file without filename or stream.");console.warn("options.stream will be removed in winston@4. Use winston.transports.Stream"),t("stream","filename","maxsize"),this._dest=this._stream.pipe(this._setupStream(e.stream)),this.dirname=i.dirname(this._dest.path)}this.maxsize=e.maxsize||null,this.rotationFormat=e.rotationFormat||!1,this.zippedArchive=e.zippedArchive||!1,this.maxFiles=e.maxFiles||null,this.eol=e.eol||d.EOL,this.tailable=e.tailable||!1,this._size=0,this._pendingSize=0,this._created=0,this._drain=!1,this._opening=!1,this._ending=!1,this.dirname&&this._createLogDirIfNotExist(this.dirname),this.open()}finishIfEnding(){this._ending&&(this._opening?this.once("open",(()=>{this._stream.once("finish",(()=>this.emit("finish"))),setImmediate((()=>this._stream.end()))})):(this._stream.once("finish",(()=>this.emit("finish"))),setImmediate((()=>this._stream.end()))))}log(e,t=(()=>{})){if(this.silent)return t(),!0;if(this._drain)return void this._stream.once("drain",(()=>{this._drain=!1,this.log(e,t)}));if(this._rotate)return void this._stream.once("rotate",(()=>{this._rotate=!1,this.log(e,t)}));const n=`${e[a]}${this.eol}`,r=Buffer.byteLength(n);this._pendingSize+=r,this._opening&&!this.rotatedWhileOpening&&this._needsNewFile(this._size+this._pendingSize)&&(this.rotatedWhileOpening=!0);const i=this._stream.write(n,function(){this._size+=r,this._pendingSize-=r,h("logged %s %s",this._size,n),this.emit("logged",e),this._opening||this._needsNewFile()&&(this._rotate=!0,this._endStream((()=>this._rotateFile())))}.bind(this));return i?t():(this._drain=!0,this._stream.once("drain",(()=>{this._drain=!1,t()}))),h("written",i,this._drain),this.finishIfEnding(),i}query(e,t){"function"==typeof e&&(t=e,e={}),e=function(e){return(e=e||{}).rows=e.rows||e.limit||10,e.start=e.start||0,e.until=e.until||new Date,"object"!=typeof e.until&&(e.until=new Date(e.until)),e.from=e.from||e.until-864e5,"object"!=typeof e.from&&(e.from=new Date(e.from)),e.order=e.order||"desc",e.fields=e.fields,e}(e);const n=i.join(this.dirname,this.filename);let s="",o=[],a=0;const l=r.createReadStream(n,{encoding:"utf8"});function u(t,n){try{const n=JSON.parse(t);(function(t){if(!t)return;if("object"!=typeof t)return;const n=new Date(t.timestamp);return!(e.from&&ne.until||e.level&&e.level!==t.level)||void 0})(n)&&function(t){e.rows&&o.length>=e.rows&&"desc"!==e.order?l.readable&&l.destroy():(e.fields&&(t=e.fields.reduce(((e,n)=>(e[n]=t[n],e)),{})),"desc"===e.order&&o.length>=e.rows&&o.shift(),o.push(t))}(n)}catch(e){n||l.emit("error",e)}}l.on("error",(e=>{if(l.readable&&l.destroy(),t)return"ENOENT"!==e.code?t(e):t(null,o)})),l.on("data",(t=>{const n=(t=(s+t).split(/\n+/)).length-1;let r=0;for(;r=e.start)&&u(t[r]),a++;s=t[n]})),l.on("close",(()=>{s&&u(s,!0),"desc"===e.order&&(o=o.reverse()),t&&t(null,o)}))}stream(e={}){const t=i.join(this.dirname,this.filename),n=new l,r={file:t,start:e.start};return n.destroy=f(r,((e,t)=>{if(e)return n.emit("error",e);try{n.emit("data",t),t=JSON.parse(t),n.emit("log",t)}catch(e){n.emit("error",e)}})),n}open(){this.filename&&(this._opening||(this._opening=!0,this.stat(((e,t)=>{if(e)return this.emit("error",e);h("stat done: %s { size: %s }",this.filename,t),this._size=t,this._dest=this._createStream(this._stream),this._opening=!1,this.once("open",(()=>{this._stream.eventNames().includes("rotate")?this._stream.emit("rotate"):this._rotate=!1}))}))))}stat(e){const t=this._getFile(),n=i.join(this.dirname,t);r.stat(n,((r,i)=>r&&"ENOENT"===r.code?(h("ENOENT ok",n),this.filename=t,e(null,0)):r?(h(`err ${r.code} ${n}`),e(r)):!i||this._needsNewFile(i.size)?this._incFile((()=>this.stat(e))):(this.filename=t,void e(null,i.size))))}close(e){this._stream&&this._stream.end((()=>{e&&e(),this.emit("flush"),this.emit("closed")}))}_needsNewFile(e){return e=e||this._size,this.maxsize&&e>=this.maxsize}_onError(e){this.emit("error",e)}_setupStream(e){return e.on("error",this._onError),e}_cleanupStream(e){return e.removeListener("error",this._onError),e}_rotateFile(){this._incFile((()=>this.open()))}_endStream(e=(()=>{})){this._dest?(this._stream.unpipe(this._dest),this._dest.end((()=>{this._cleanupStream(this._dest),e()}))):e()}_createStream(e){const t=i.join(this.dirname,this.filename);h("create stream start",t,this.options);const n=r.createWriteStream(t,this.options).on("error",(e=>h(e))).on("close",(()=>h("close",n.path,n.bytesWritten))).on("open",(()=>{h("file open ok",t),this.emit("open",t),e.pipe(n),this.rotatedWhileOpening&&(this._stream=new u,this._stream.setMaxListeners(30),this._rotateFile(),this.rotatedWhileOpening=!1,this._cleanupStream(n),e.end())}));if(h("create stream ok",t),this.zippedArchive){const e=o.createGzip();return e.pipe(n),e}return n}_incFile(e){h("_incFile",this.filename);const t=i.extname(this._basename),n=i.basename(this._basename,t);this.tailable?this._checkMaxFilesTailable(t,n,e):(this._created+=1,this._checkMaxFilesIncrementing(t,n,e))}_getFile(){const e=i.extname(this._basename),t=i.basename(this._basename,e),n=this.rotationFormat?this.rotationFormat():this._created,r=!this.tailable&&this._created?`${t}${n}${e}`:`${t}${e}`;return this.zippedArchive&&!this.tailable?`${r}.gz`:r}_checkMaxFilesIncrementing(e,t,n){if(!this.maxFiles||this._created1;n--)o.push(function(n,s){let o=`${t}${n-1}${e}${a}`;const l=i.join(this.dirname,o);r.exists(l,(u=>{if(!u)return s(null);o=`${t}${n}${e}${a}`,r.rename(l,i.join(this.dirname,o),s)}))}.bind(this,n));s(o,(()=>{r.rename(i.join(this.dirname,`${t}${e}`),i.join(this.dirname,`${t}1${e}${a}`),n)}))}_createLogDirIfNotExist(e){r.existsSync(e)||r.mkdirSync(e,{recursive:!0})}}},1734:(e,t,n)=>{"use strict";const r=n(8605),i=n(7211),{Stream:s}=n(514),o=n(1037);e.exports=class extends o{constructor(e={}){super(e),this.name=e.name||"http",this.ssl=!!e.ssl,this.host=e.host||"localhost",this.port=e.port,this.auth=e.auth,this.path=e.path||"",this.agent=e.agent,this.headers=e.headers||{},this.headers["content-type"]="application/json",this.port||(this.port=this.ssl?443:80)}log(e,t){this._request(e,((t,n)=>{n&&200!==n.statusCode&&(t=new Error(`Invalid HTTP Status Code: ${n.statusCode}`)),t?this.emit("warn",t):this.emit("logged",e)})),t&&setImmediate(t)}query(e,t){"function"==typeof e&&(t=e,e={}),(e={method:"query",params:this.normalizeQuery(e)}).params.path&&(e.path=e.params.path,delete e.params.path),e.params.auth&&(e.auth=e.params.auth,delete e.params.auth),this._request(e,((e,n,r)=>{if(n&&200!==n.statusCode&&(e=new Error(`Invalid HTTP Status Code: ${n.statusCode}`)),e)return t(e);if("string"==typeof r)try{r=JSON.parse(r)}catch(e){return t(e)}t(null,r)}))}stream(e={}){const t=new s;(e={method:"stream",params:e}).params.path&&(e.path=e.params.path,delete e.params.path),e.params.auth&&(e.auth=e.params.auth,delete e.params.auth);let n="";const r=this._request(e);return t.destroy=()=>r.destroy(),r.on("data",(e=>{const r=(e=(n+e).split(/\n+/)).length-1;let i=0;for(;it.emit("error",e))),t}_request(e,t){const n=(e=e||{}).auth||this.auth,s=e.path||this.path||"";delete e.auth,delete e.path;const o=(this.ssl?i:r).request({method:"POST",host:this.host,port:this.port,path:`/${s.replace(/^\//,"")}`,headers:this.headers,auth:n?`${n.username}:${n.password}`:"",agent:this.agent});o.on("error",t),o.on("response",(e=>e.on("end",(()=>t(null,e))).resume())),o.end(Buffer.from(JSON.stringify(e),"utf8"))}}},9840:(e,t,n)=>{"use strict";Object.defineProperty(t,"Console",{configurable:!0,enumerable:!0,get:()=>n(2158)}),Object.defineProperty(t,"File",{configurable:!0,enumerable:!0,get:()=>n(9140)}),Object.defineProperty(t,"Http",{configurable:!0,enumerable:!0,get:()=>n(1734)}),Object.defineProperty(t,"Stream",{configurable:!0,enumerable:!0,get:()=>n(4635)})},4635:(e,t,n)=>{"use strict";const r=n(4970),{MESSAGE:i}=n(5396),s=n(2087),o=n(1037);e.exports=class extends o{constructor(e={}){if(super(e),!e.stream||!r(e.stream))throw new Error("options.stream is required.");this._stream=e.stream,this._stream.setMaxListeners(1/0),this.isObjectMode=e.stream._writableState.objectMode,this.eol=e.eol||s.EOL}log(e,t){if(setImmediate((()=>this.emit("logged",e))),this.isObjectMode)return this._stream.write(e),void(t&&t());this._stream.write(`${e[i]}${this.eol}`),t&&t()}}},7897:e=>{"use strict";const t={};function n(e,n,r){r||(r=Error);class i extends r{constructor(e,t,r){super(function(e,t,r){return"string"==typeof n?n:n(e,t,r)}(e,t,r))}}i.prototype.name=r.name,i.prototype.code=e,t[e]=i}function r(e,t){if(Array.isArray(e)){const n=e.length;return e=e.map((e=>String(e))),n>2?`one of ${t} ${e.slice(0,n-1).join(", ")}, or `+e[n-1]:2===n?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}return`of ${t} ${String(e)}`}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,n){let i;var s;let o;var a,l;return"string"==typeof t&&(s="not ",t.substr(0,s.length)===s)?(i="must not be",t=t.replace(/^not /,"")):i="must be",o=function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument")?`The ${e} ${i} ${r(t,"type")}`:`The "${e}" ${a=e,"number"!=typeof l&&(l=0),l+".".length>a.length||-1===a.indexOf(".",l)?"argument":"property"} ${i} ${r(t,"type")}`,o+=". Received type "+typeof n,o}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},6068:(e,t,n)=>{"use strict";var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=u;var i=n(3680),s=n(3450);n(4378)(u,i);for(var o=r(s.prototype),a=0;a{"use strict";e.exports=i;var r=n(4791);function i(e){if(!(this instanceof i))return new i(e);r.call(this,e)}n(4378)(i,r),i.prototype._transform=function(e,t,n){n(null,e)}},3680:(e,t,n)=>{"use strict";var r;e.exports=C,C.ReadableState=x,n(8614).EventEmitter;var i,s=function(e,t){return e.listeners(t).length},o=n(1160),a=n(4293).Buffer,l=global.Uint8Array||function(){},u=n(1669);i=u&&u.debuglog?u.debuglog("stream"):function(){};var c,h,d,f=n(9428),g=n(502),p=n(7727).getHighWaterMark,m=n(7897).q,v=m.ERR_INVALID_ARG_TYPE,b=m.ERR_STREAM_PUSH_AFTER_EOF,y=m.ERR_METHOD_NOT_IMPLEMENTED,w=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(4378)(C,o);var E=g.errorOrDestroy,_=["error","close","destroy","pause","resume"];function x(e,t,i){r=r||n(6068),e=e||{},"boolean"!=typeof i&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,"readableHighWaterMark",i),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c||(c=n(1227).s),this.decoder=new c(e.encoding),this.encoding=e.encoding)}function C(e){if(r=r||n(6068),!(this instanceof C))return new C(e);var t=this instanceof r;this._readableState=new x(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function M(e,t,n,r,s){i("readableAddChunk",t);var o,u=e._readableState;if(null===t)u.reading=!1,function(e,t){if(i("onEofChunk"),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?A(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,k(e)))}}(e,u);else if(s||(o=function(e,t){var n,r;return r=t,a.isBuffer(r)||r instanceof l||"string"==typeof t||void 0===t||e.objectMode||(n=new v("chunk",["string","Buffer","Uint8Array"],t)),n}(u,t)),o)E(e,o);else if(u.objectMode||t&&t.length>0)if("string"==typeof t||u.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)u.endEmitted?E(e,new w):S(e,u,t,!0);else if(u.ended)E(e,new b);else{if(u.destroyed)return!1;u.reading=!1,u.decoder&&!n?(t=u.decoder.write(t),u.objectMode||0!==t.length?S(e,u,t,!1):F(e,u)):S(e,u,t,!1)}else r||(u.reading=!1,F(e,u));return!u.ended&&(u.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=D?e=D:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;i("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(i("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(k,e))}function k(e){var t=e._readableState;i("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,P(e)}function F(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(O,e,t))}function O(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function B(e){i("readable nexttick read 0"),e.read(0)}function I(e,t){i("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),P(e),t.flowing&&!t.reading&&e.read(0)}function P(e){var t=e._readableState;for(i("flow",t.flowing);t.flowing&&null!==e.read(););}function $(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function L(e){var t=e._readableState;i("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(R,t,e))}function R(e,t){if(i("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function N(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return i("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):A(this),null;if(0===(e=T(e,t))&&t.ended)return 0===t.length&&L(this),null;var r,s=t.needReadable;return i("need readable",s),(0===t.length||t.length-e0?$(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&L(this)),null!==r&&this.emit("data",r),r},C.prototype._read=function(e){E(this,new y("_read()"))},C.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,i("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end||e===process.stdout||e===process.stderr?g:a;function a(){i("onend"),e.end()}r.endEmitted?process.nextTick(o):n.once("end",o),e.on("unpipe",(function t(s,o){i("onunpipe"),s===n&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,i("cleanup"),e.removeListener("close",d),e.removeListener("finish",f),e.removeListener("drain",l),e.removeListener("error",h),e.removeListener("unpipe",t),n.removeListener("end",a),n.removeListener("end",g),n.removeListener("data",c),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}));var l=function(e){return function(){var t=e._readableState;i("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,P(e))}}(n);e.on("drain",l);var u=!1;function c(t){i("ondata");var s=e.write(t);i("dest.write",s),!1===s&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==N(r.pipes,e))&&!u&&(i("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause())}function h(t){i("onerror",t),g(),e.removeListener("error",h),0===s(e,"error")&&E(e,t)}function d(){e.removeListener("finish",f),g()}function f(){i("onfinish"),e.removeListener("close",d),g()}function g(){i("unpipe"),n.unpipe(e)}return n.on("data",c),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events.error?Array.isArray(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on(t,n)}(e,"error",h),e.once("close",d),e.once("finish",f),e.emit("pipe",n),r.flowing||(i("pipe resume"),n.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===e&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,i("on readable",r.length,r.reading),r.length?A(this):r.reading||process.nextTick(B,this))),n},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(e,t){var n=o.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(j,this),n},C.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(j,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(i("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(I,e,t))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return i("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(i("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var s in e.on("end",(function(){if(i("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(s){i("wrapped data"),n.decoder&&(s=n.decoder.write(s)),n.objectMode&&null==s||(n.objectMode||s&&s.length)&&(t.push(s)||(r=!0,e.pause()))})),e)void 0===this[s]&&"function"==typeof e[s]&&(this[s]=function(t){return function(){return e[t].apply(e,arguments)}}(s));for(var o=0;o<_.length;o++)e.on(_[o],this.emit.bind(this,_[o]));return this._read=function(t){i("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=n(5604)),h(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),C._fromList=$,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(e,t){return void 0===d&&(d=n(7285)),d(C,e,t)})},4791:(e,t,n)=>{"use strict";e.exports=c;var r=n(7897).q,i=r.ERR_METHOD_NOT_IMPLEMENTED,s=r.ERR_MULTIPLE_CALLBACK,o=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=r.ERR_TRANSFORM_WITH_LENGTH_0,l=n(6068);function u(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new s);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(undefined),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var i;e.exports=C,C.WritableState=x;var s,o={deprecate:n(1159)},a=n(1160),l=n(4293).Buffer,u=global.Uint8Array||function(){},c=n(502),h=n(7727).getHighWaterMark,d=n(7897).q,f=d.ERR_INVALID_ARG_TYPE,g=d.ERR_METHOD_NOT_IMPLEMENTED,p=d.ERR_MULTIPLE_CALLBACK,m=d.ERR_STREAM_CANNOT_PIPE,v=d.ERR_STREAM_DESTROYED,b=d.ERR_STREAM_NULL_VALUES,y=d.ERR_STREAM_WRITE_AFTER_END,w=d.ERR_UNKNOWN_ENCODING,E=c.errorOrDestroy;function _(){}function x(e,t,s){i=i||n(6068),e=e||{},"boolean"!=typeof s&&(s=t instanceof i),this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if("function"!=typeof i)throw new p;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(process.nextTick(i,r),process.nextTick(k,e,t),e._writableState.errorEmitted=!0,E(e,r)):(i(r),e._writableState.errorEmitted=!0,E(e,r),k(e,t))}(e,n,r,t,i);else{var s=T(n)||e.destroyed;s||n.corked||n.bufferProcessing||!n.bufferedRequest||D(e,n),r?process.nextTick(S,e,n,s,i):S(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function C(e){var t=this instanceof(i=i||n(6068));if(!t&&!s.call(C,this))return new C(e);this._writableState=new x(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),a.call(this)}function M(e,t,n,r,i,s,o){t.writelen=r,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new v("write")):n?e._writev(i,t.onwrite):e._write(i,s,t.onwrite),t.sync=!1}function S(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),k(e,t)}function D(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,s=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var a=0,l=!0;n;)s[a]=n,n.isBuf||(l=!1),n=n.next,a+=1;s.allBuffers=l,M(e,t,!0,t.length,s,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var u=n.chunk,c=n.encoding,h=n.callback;if(M(e,t,!1,t.objectMode?1:u.length,u,c,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function T(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function A(e,t){e._final((function(n){t.pendingcb--,n&&E(e,n),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var n=T(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(A,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}n(4378)(C,a),x.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(x.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===C&&e&&e._writableState instanceof x}})):s=function(e){return e instanceof this},C.prototype.pipe=function(){E(this,new m)},C.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,o=!i.objectMode&&(r=e,l.isBuffer(r)||r instanceof u);return o&&!l.isBuffer(e)&&(e=function(e){return l.from(e)}(e)),"function"==typeof t&&(n=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=_),i.ending?function(e,t){var n=new y;E(e,n),process.nextTick(t,n)}(this,n):(o||function(e,t,n,r){var i;return null===n?i=new b:"string"==typeof n||t.objectMode||(i=new f("chunk",["string","Buffer"],n)),!i||(E(e,i),process.nextTick(r,i),!1)}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,s){if(!n){var o=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=l.from(t,n)),t}(t,r,i);r!==o&&(n=!0,i="buffer",r=o)}var a=t.objectMode?1:r.length;t.length+=a;var u=t.length-1))throw new w(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,n){n(new g("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,n){var r=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?process.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),C.prototype.destroy=c.destroy,C.prototype._undestroy=c.undestroy,C.prototype._destroy=function(e,t){t(e)}},5604:(e,t,n)=>{"use strict";var r;function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=n(6706),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),u=Symbol("ended"),c=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function f(e,t){return{value:e,done:t}}function g(e){var t=e[o];if(null!==t){var n=e[d].read();null!==n&&(e[c]=null,e[o]=null,e[a]=null,t(f(n,!1)))}}function p(e){process.nextTick(g,e)}var m=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((i(r={get stream(){return this[d]},next:function(){var e=this,t=this[l];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise((function(t,n){process.nextTick((function(){e[l]?n(e[l]):t(f(void 0,!0))}))}));var n,r=this[c];if(r)n=new Promise(function(e,t){return function(n,r){e.then((function(){t[u]?n(f(void 0,!0)):t[h](n,r)}),r)}}(r,this));else{var i=this[d].read();if(null!==i)return Promise.resolve(f(i,!1));n=new Promise(this[h])}return this[c]=n,n}},Symbol.asyncIterator,(function(){return this})),i(r,"return",(function(){var e=this;return new Promise((function(t,n){e[d].destroy(null,(function(e){e?n(e):t(f(void 0,!0))}))}))})),r),m);e.exports=function(e){var t,n=Object.create(v,(i(t={},d,{value:e,writable:!0}),i(t,o,{value:null,writable:!0}),i(t,a,{value:null,writable:!0}),i(t,l,{value:null,writable:!0}),i(t,u,{value:e._readableState.endEmitted,writable:!0}),i(t,h,{value:function(e,t){var r=n[d].read();r?(n[c]=null,n[o]=null,n[a]=null,e(f(r,!1))):(n[o]=e,n[a]=t)},writable:!0}),t));return n[c]=null,s(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[a];return null!==t&&(n[c]=null,n[o]=null,n[a]=null,t(e)),void(n[l]=e)}var r=n[o];null!==r&&(n[c]=null,n[o]=null,n[a]=null,r(f(void 0,!0))),n[u]=!0})),e.on("readable",p.bind(null,n)),n}},9428:(e,t,n)=>{"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return o.alloc(0);for(var t,n,r,i=o.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=i,r=a,o.prototype.copy.call(t,n,r),a+=s.data.length,s=s.next;return i}},{key:"consume",value:function(e,t){var n;return ei.length?i.length:e;if(s===i.length?r+=i:r+=i.slice(0,e),0==(e-=s)){s===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(s));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=o.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,s=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,s),0==(e-=s)){s===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(s));break}++r}return this.length-=r,t}},{key:l,value:function(e,t){return a(this,function(e){for(var t=1;t{"use strict";function t(e,t){r(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,i){var s=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(i?i(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(r,this,e)):process.nextTick(r,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!i&&e?s._writableState?s._writableState.errorEmitted?process.nextTick(n,s):(s._writableState.errorEmitted=!0,process.nextTick(t,s,e)):process.nextTick(t,s,e):i?(process.nextTick(n,s),i(e)):process.nextTick(n,s)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit("error",t)}}},6706:(e,t,n)=>{"use strict";var r=n(7897).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,n,s){if("function"==typeof n)return e(t,null,n);n||(n={}),s=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i{"use strict";function r(e,t,n,r,i,s,o){try{var a=e[s](o),l=a.value}catch(e){return void n(e)}a.done?t(l):Promise.resolve(l).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(i,s){var o=e.apply(t,n);function a(e){r(o,i,s,a,l,"next",e)}function l(e){r(o,i,s,a,l,"throw",e)}a(void 0)}))}}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a=n(7897).q.ERR_INVALID_ARG_TYPE;e.exports=function(e,t,n){var r;if(t&&"function"==typeof t.next)r=t;else if(t&&t[Symbol.asyncIterator])r=t[Symbol.asyncIterator]();else{if(!t||!t[Symbol.iterator])throw new a("iterable",["Iterable"],t);r=t[Symbol.iterator]()}var l=new e(function(e){for(var t=1;t{"use strict";var r,i=n(7897).q,s=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function a(e){if(e)throw e}function l(e,t,i,s){s=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(s);var a=!1;e.on("close",(function(){a=!0})),void 0===r&&(r=n(6706)),r(e,{readable:t,writable:i},(function(e){if(e)return s(e);a=!0,s()}));var l=!1;return function(t){if(!a&&!l)return l=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void s(t||new o("pipe"))}}function u(e){e()}function c(e,t){return e.pipe(t)}function h(e){return e.length?"function"!=typeof e[e.length-1]?a:e.pop():a}e.exports=function(){for(var e=arguments.length,t=new Array(e),n=0;n0,(function(e){r||(r=e),e&&o.forEach(u),s||(o.forEach(u),i(r))}))}));return t.reduce(c)}},7727:(e,t,n)=>{"use strict";var r=n(7897).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,n,i){var s=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,i,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new r(i?n:"highWaterMark",s);return Math.floor(s)}return e.objectMode?16:16384}}},1160:(e,t,n)=>{e.exports=n(2413)},514:(e,t,n)=>{var r=n(2413);"disable"===process.env.READABLE_STREAM&&r?(e.exports=r.Readable,Object.assign(e.exports,r),e.exports.Stream=r):((t=e.exports=n(3680)).Stream=r||t,t.Readable=t,t.Writable=n(3450),t.Duplex=n(6068),t.Transform=n(4791),t.PassThrough=n(9812),t.finished=n(6706),t.pipeline=n(3967))},2091:(e,t,n)=>{var r=n(4293),i=r.Buffer;function s(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(s(r,t),t.Buffer=o),o.prototype=Object.create(i.prototype),s(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},1227:(e,t,n)=>{"use strict";var r=n(2091).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=c,this.end=h,t=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.s=s,s.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},6141:e=>{"use strict";e.exports={i8:"3.2.1"}},4293:e=>{"use strict";e.exports=require("buffer")},8614:e=>{"use strict";e.exports=require("events")},5747:e=>{"use strict";e.exports=require("fs")},8605:e=>{"use strict";e.exports=require("http")},7211:e=>{"use strict";e.exports=require("https")},2282:e=>{"use strict";e.exports=require("module")},1631:e=>{"use strict";e.exports=require("net")},2087:e=>{"use strict";e.exports=require("os")},5622:e=>{"use strict";e.exports=require("path")},2413:e=>{"use strict";e.exports=require("stream")},4304:e=>{"use strict";e.exports=require("string_decoder")},3867:e=>{"use strict";e.exports=require("tty")},1669:e=>{"use strict";e.exports=require("util")},2184:e=>{"use strict";e.exports=require("vm")},8761:e=>{"use strict";e.exports=require("zlib")}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};(()=>{"use strict";n.r(r),n.d(r,{activate:()=>Le,deactivate:()=>Re});const e=require("vscode");var t=n.n(e);const i=require("child_process");var s=n(5622),o=n.n(s),a=n(9562),l=n(1440),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};class c{constructor(e,n){this.disposables=[],this.sendToVim=e=>{this.client.input(e)},this.ctrlAInsert=()=>u(this,void 0,void 0,(function*(){const e=t().window.activeTextEditor;if(!e)return;const n=yield this.client.callFunction("VSCodeGetLastInsertText");n.length&&(yield e.edit((t=>t.insert(e.selection.active,n.join("\n")))))})),this.scrollPage=(e,n)=>{t().commands.executeCommand("editorScroll",{to:n,by:e,revealCursor:!0})},this.scrollLine=e=>{t().commands.executeCommand("editorScroll",{to:e,by:"line",revealCursor:this.revealCursorScrollLine})},this.goToLine=e=>{const n=t().window.activeTextEditor;if(!n)return;const r=n.visibleRanges[0].start.line,i=n.visibleRanges[0].end.line,s="top"===e?r:"bottom"===e?i:Math.floor(r+(i-r)/2),o=n.document.lineAt(s);n.selections=[new(t().Selection)(s,o.firstNonWhitespaceCharacterIndex,s,o.firstNonWhitespaceCharacterIndex)]},this.revealLine=(e,n=!1)=>{const r=t().window.activeTextEditor;if(!r)return;const i=r.selection.active;if(t().commands.executeCommand("revealLine",{lineNumber:i.line,at:e}),n){const e=r.document.lineAt(i.line);r.selections=[new(t().Selection)(i.line,e.firstNonWhitespaceCharacterIndex,i.line,e.firstNonWhitespaceCharacterIndex)]}},this.client=e,this.revealCursorScrollLine=n,this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-a-insert",this.ctrlAInsert)),this.disposables.push(t().commands.registerCommand("vscode-neovim.send",(e=>this.sendToVim(e)))),this.disposables.push(t().commands.registerCommand("vscode-neovim.paste-register",(e=>this.pasteFromRegister(e)))),this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-f",(()=>this.scrollPage("page","down")))),this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-b",(()=>this.scrollPage("page","up")))),this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-d",(()=>this.scrollPage("halfPage","down")))),this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-u",(()=>this.scrollPage("halfPage","up")))),this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-e",(()=>this.scrollLine("down")))),this.disposables.push(t().commands.registerCommand("vscode-neovim.ctrl-y",(()=>this.scrollLine("up"))))}dispose(){for(const e of this.disposables)e.dispose()}handleExtensionRequest(e,n){return u(this,void 0,void 0,(function*(){switch(e){case"reveal":{const[e,t]=n;this.revealLine(e,!!t);break}case"move-cursor":{const[e]=n;this.goToLine(e);break}case"scroll":{const[e,t]=n;this.scrollPage(e,t);break}case"scroll-line":{const[e]=n;this.scrollLine(e);break}case"insert-line":{const[e]=n;yield this.client.command("startinsert"),yield t().commands.executeCommand("before"===e?"editor.action.insertLineBefore":"editor.action.insertLineAfter");break}}}))}pasteFromRegister(e){return u(this,void 0,void 0,(function*(){const n=t().window.activeTextEditor;if(!n)return;const r=yield this.client.callFunction("VSCodeGetRegister",[e]);""!==r&&(yield n.edit((e=>e.insert(n.selection.active,r))))}))}}var h=n(8614);const d=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],f={nul:0,control:0};function g(e,t){let n=f;if(t&&(n={...f,...t}),"string"!=typeof e)return p(e,n);let r=0;for(let t=0;t=127&&e<160?t.control:function(e){let t,n=0,r=d.length-1;if(ed[r][1])return!1;for(;r>=n;)if(t=Math.floor((n+r)/2),e>d[t][1])n=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))}const m="vscode-neovim",v=`asvetliakov.${m}`;function b(e,t){const n=[],r={};n[0]="";const i=(e,t)=>{let i="",s=0,o=-1,a=n.length;for(;o=55296&&e<=57343?4:e<65535?3:4}function E(e,t){let n=0,r=0;for(;n=e.length)return r+(t-n);n+=w(e.codePointAt(r)),r++}return r}function _(e,t,n=1,r=!1){if(0===t||!e)return 0;let i=0,s=0;for(;s=e.length)return i;return i}function x(e,t){const n=t.text.length,r=t.rangeOffset,i=t.rangeOffset+n;return e.rangeOffset>=r&&e.rangeOffset<=i||e.rangeOffset=r}function C(e,t,n){if(e.range.contains(t))return!0;if(e.range.isSingleLine&&e.text){const r=e.text.split(n),i=r.length,s=e.range.start.line+i-1,o=e.range.end.character+r.slice(-1)[0].length;if(s>=t.line&&o>=t.character)return!0}return!1}function M(t,n){const r=e.workspace.getConfiguration(m),i=r.get("useWSL"),s=process.platform;return n.environmentVariableName&&process.env[n.environmentVariableName]||r.get(n.vscodeSettingName)||(i&&"win32"===s?r.get(`${t}.linux`):r.get(`${t}.${s}`))}function S(e,t,n){return{rangeLength:e.rangeLength,rangeOffset:e.rangeOffset,text:e.text,startMode:n,eol:t}}function D(e,t){const n=Object.assign({},t),r=e.rangeOffset<=t.rangeOffset?e.rangeOffset-t.rangeOffset+e.rangeLength:e.rangeLength,i=e.rangeOffset<=t.rangeOffset?0:e.rangeOffset-t.rangeOffset,s=e.rangeOffset-t.rangeOffset+r;return n.text=t.text.slice(0,i)+e.text+t.text.slice(s),e.rangeOffset=e.length)return r;return r}(e.document.lineAt(t.line).text,t.character);return[t.line+1,n]}function A(e){try{return T(e,e.selection.active)}catch(e){return[1,0]}}function k(t){const n=t.eol===e.EndOfLine.CRLF?"\r\n":"\n";return t.getText().split(n)}function F(e,t=!0){let n=e.replace(/");return t&&(n=n.replace(/\n/g,"")),n}function O(e,t){for(let n=t.length-1;n>=0;n--){const[r]=t[n];if(r===e)return t[n]}}function j(e,t,n,r=""){return i=this,s=void 0,a=function*(){const i=yield e.callAtomic(t),s=[];i&&Array.isArray(i)&&Array.isArray(i[0])&&i[0].forEach(((e,n)=>{if(e){const r=t[n];"nvim_input"!==(null==r?void 0:r[0])&&s.push(`${(null==r?void 0:r[0])||"Unknown"}: ${e}`)}})),s.length&&n.error(`${r}:\n${s.join("\n")}`)},new((o=void 0)||(o=Promise))((function(e,t){function n(e){try{l(a.next(e))}catch(e){t(e)}}function r(e){try{l(a.throw(e))}catch(e){t(e)}}function l(t){var i;t.done?e(t.value):(i=t.value,i instanceof o?i:new o((function(e){e(i)}))).then(n,r)}l((a=a.apply(i,s||[])).next())}));var i,s,o,a}class B{constructor(t,n){this.logger=t,this.client=n,this.disposables=[],this.mode="",this.isRecording=!1,this.eventEmitter=new h.EventEmitter,this.onDidChangeActiveTextEditor=()=>{this.isNormalMode||e.commands.executeCommand("vscode-neovim.escape")},this.disposables.push(e.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor))}dispose(){this.disposables.forEach((e=>e.dispose()))}get currentMode(){return this.mode}get isInsertMode(){return"insert"===this.mode}get isVisualMode(){return"visual"===this.mode}get isNormalMode(){return"normal"===this.mode}get isRecordingInInsertMode(){return this.isRecording}onModeChange(e){this.eventEmitter.on("neovimModeChanged",e)}handleRedrawBatch(t){const n=O("mode_change",t);if(n){const t=n[1];if(t&&t[0]&&t[0]!==this.mode){const n=t[0];this.logger.debug(`ModeManager: Changing mode to ${n}`),this.mode=n,!this.isInsertMode&&this.isRecording&&(this.isRecording=!1,e.commands.executeCommand("setContext","neovim.recording",!1)),e.commands.executeCommand("setContext","neovim.mode",this.mode),this.eventEmitter.emit("neovimModeChanged",n)}}}handleExtensionRequest(t){return n=this,r=void 0,s=function*(){"notify-recording"===t&&(this.logger.debug("ModeManager: setting recording flag"),this.isRecording=!0,e.commands.executeCommand("setContext","neovim.recording",!0))},new((i=void 0)||(i=Promise))((function(e,t){function o(e){try{l(s.next(e))}catch(e){t(e)}}function a(e){try{l(s.throw(e))}catch(e){t(e)}}function l(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,a)}l((s=s.apply(n,r||[])).next())}));var n,r,i,s}}const I=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},P="object"==typeof global&&global&&global.Object===Object&&global;var $="object"==typeof self&&self&&self.Object===Object&&self;const L=P||$||Function("return this")(),R=function(){return L.Date.now()};var N=/\s/;var q=/^\s+/;const U=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&N.test(e.charAt(t)););return t}(e)+1).replace(q,""):e},W=L.Symbol;var H=Object.prototype,V=H.hasOwnProperty,z=H.toString,G=W?W.toStringTag:void 0;var Y=Object.prototype.toString;var K=W?W.toStringTag:void 0;const J=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":K&&K in Object(e)?function(e){var t=V.call(e,G),n=e[G];try{e[G]=void 0;var r=!0}catch(e){}var i=z.call(e);return r&&(t?e[G]=n:delete e[G]),i}(e):function(e){return Y.call(e)}(e)};var X=/^[-+]0x[0-9a-f]+$/i,Z=/^0b[01]+$/i,Q=/^0o[0-7]+$/i,ee=parseInt;const te=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==J(e)}(e))return NaN;if(I(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=I(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=U(e);var n=Z.test(e);return n||Q.test(e)?ee(e.slice(2),n?2:8):X.test(e)?NaN:+e};var ne=Math.max,re=Math.min;const ie=function(e,t,n){var r,i,s,o,a,l,u=0,c=!1,h=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function f(t){var n=r,s=i;return r=i=void 0,u=t,o=e.apply(s,n)}function g(e){return u=e,a=setTimeout(m,t),c?f(e):o}function p(e){var n=e-l;return void 0===l||n>=t||n<0||h&&e-u>=s}function m(){var e=R();if(p(e))return v(e);a=setTimeout(m,function(e){var n=t-(e-l);return h?re(n,s-(e-u)):n}(e))}function v(e){return a=void 0,d&&r?f(e):(r=i=void 0,o)}function b(){var e=R(),n=p(e);if(r=arguments,i=this,l=e,n){if(void 0===a)return g(l);if(h)return clearTimeout(a),a=setTimeout(m,t),f(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=te(t)||0,I(n)&&(c=!!n.leading,s=(h="maxWait"in n)?ne(te(n.maxWait)||0,t):s,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,r=l=i=a=void 0},b.flush=function(){return void 0===a?o:v(R())},b};var se=n(1810),oe=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const ae="BufferManager",le="__vscode_neovim__-";class ue{constructor(t,n,r){this.logger=t,this.client=n,this.settings=r,this.disposables=[],this.openedEditors=[],this.externalTextDocuments=new Set,this.textDocumentToBufferId=new Map,this.textEditorToWinId=new Map,this.winIdToEditor=new Map,this.grids=new Map,this.editorTabConfiguration=new WeakMap,this.onDidCloseTextDocument=e=>{this.openedEditors.find((t=>t.document===e))||this.textDocumentToBufferId.delete(e)},this.onDidChangeVisibleTextEditors=()=>{this.logger.debug("BufferManager: onDidChangeVisibleTextEditors"),this.changeLayoutPromise||(this.changeLayoutPromise=new Promise((e=>this.changeLayoutPromiseResolve=e))),this.syncLayoutDebounced()},this.onDidChangeActiveTextEditor=()=>{this.logger.debug("BufferManager: onDidChangeActiveTextEditor"),this.syncActiveEditorDebounced()},this.syncLayout=()=>oe(this,void 0,void 0,(function*(){this.logger.debug("BufferManager: syncing layout");const t=[...e.window.visibleTextEditors],n=this.openedEditors,r=[];this.logger.debug("BufferManager: new/changed editors/windows");for(const e of t){if(this.logger.debug(`BufferManager: Visible editor, viewColumn: ${e.viewColumn}, doc: ${e.document.uri.toString()}`),!this.textDocumentToBufferId.has(e.document)){this.logger.debug("BufferManager: Document not known, init in neovim");const t=yield this.client.createBuffer(!1,!0);if("number"==typeof t){this.logger.error(`BufferManager: Cannot create a buffer, code: ${t}`);continue}yield this.initBufferForDocument(e.document,t,e),this.logger.debug(`BufferManager: Document: ${e.document.uri.toString()}, BufId: ${t.id}`),this.textDocumentToBufferId.set(e.document,t.id)}const t=this.textDocumentToBufferId.get(e.document);let n;try{if(!this.textEditorToWinId.has(e)){this.logger.debug(`BufferManager: Creating new neovim window for ${e.viewColumn} column (undefined is OK here)`),n=yield this.createNeovimWindow(t),this.logger.debug(`BufferManager: Created new window: ${n}`),this.logger.debug(`BufferManager: ViewColumn: ${e.viewColumn} - WinId: ${n}`);const r=A(e);this.logger.debug(`BufferManager: Setting buffer: ${t} to win: ${n}, cursor: [${r[0]}, ${r[1]}]`),yield this.client.request("nvim_win_set_cursor",[n,r]),this.textEditorToWinId.set(e,n),this.winIdToEditor.set(n,e)}}catch(e){this.logger.error(`BufferManager: ${e.message}`);continue}}this.logger.debug("BufferManager: Closing non visible editors");for(const e of n){if(t.includes(e)){this.logger.debug(`BufferManager: Editor viewColumn: ${e.viewColumn}, visibility hasn't changed, skip`);continue}const n=e.document;if(!t.find((e=>e.document===n))&&n.isClosed){this.logger.debug(`BufferManager: Document ${n.uri.toString()} is not visible and closed, unloading buffer id: ${this.textDocumentToBufferId.get(n)}`);const e=this.textDocumentToBufferId.get(n);this.textDocumentToBufferId.delete(n),e&&r.push(["nvim_command",[`bdelete! ${e}`]])}const i=this.textEditorToWinId.get(e);i&&(this.logger.debug(`BufferManager: Editor viewColumn: ${e.viewColumn}, winId: ${i}, closing`),this.textEditorToWinId.delete(e),this.winIdToEditor.delete(i),r.push(["nvim_win_close",[i,!0]]))}yield j(this.client,r,this.logger,ae),this.openedEditors=t,this.changeLayoutPromiseResolve&&this.changeLayoutPromiseResolve(),this.changeLayoutPromise=void 0})),this.syncLayoutDebounced=ie(this.syncLayout,200,{leading:!1,trailing:!0}),this.syncActiveEditor=()=>oe(this,void 0,void 0,(function*(){this.logger.debug("BufferManager: syncing active editor"),yield this.waitForLayoutSync();const t=e.window.activeTextEditor;if(!t)return;const n=this.textEditorToWinId.get(t);n?(this.logger.debug(`BufferManager: Setting active editor - viewColumn: ${t.viewColumn}, winId: ${n}`),yield this.client.request("nvim_set_current_win",[n])):this.logger.warn(`BufferManager: Unable to determine neovim windows id for editor viewColumn: ${t.viewColumn}, docUri: ${t.document.uri.toString()}`)})),this.syncActiveEditorDebounced=ie(this.syncActiveEditor,100,{leading:!1,trailing:!0}),this.onDidChangeEditorOptions=e=>{this.logger.debug("BufferManager: Received onDidChangeEditorOptions");const t=this.textDocumentToBufferId.get(e.textEditor.document);if(!t)return void this.logger.warn("BufferManager: No buffer for onDidChangeEditorOptions, skipping");const n=this.editorTabConfiguration.get(e.textEditor);n&&n.insertSpaces===e.options.insertSpaces&&n.tabSize===e.options.tabSize||(this.logger.debug(`BufferManager: Updating tab options for bufferId: ${t}`),this.editorTabConfiguration.set(e.textEditor,{insertSpaces:e.options.insertSpaces,tabSize:e.options.tabSize}),this.resyncBufferTabOptions(e.textEditor,t))},this.receivedBufferEvent=(e,t,n,r,i,s)=>{this.onBufferEvent&&this.onBufferEvent(e.id,t,n,r,i,s)},this.disposables.push(e.window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors)),this.disposables.push(e.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor)),this.disposables.push(e.workspace.onDidCloseTextDocument(this.onDidCloseTextDocument)),this.disposables.push(e.window.onDidChangeTextEditorOptions(this.onDidChangeEditorOptions))}dispose(){this.disposables.forEach((e=>e.dispose()))}forceResync(){return oe(this,void 0,void 0,(function*(){this.logger.debug("BufferManager: force resyncing layout"),yield this.syncLayout(),yield this.syncActiveEditor()}))}waitForLayoutSync(){return oe(this,void 0,void 0,(function*(){this.changeLayoutPromise&&(this.logger.debug("BufferManager: Waiting for completing layout resyncing"),yield this.changeLayoutPromise,this.logger.debug("BufferManager: Waiting done"))}))}getTextDocumentForBufferId(e){var t;const n=null===(t=[...this.textDocumentToBufferId].find((([,t])=>e===t)))||void 0===t?void 0:t[0];return n&&!n.isClosed?n:void 0}getBufferIdForTextDocument(e){return this.textDocumentToBufferId.get(e)}getGridIdForWinId(e){const t=[...this.grids].reverse().find((([,t])=>t.winId===e));return t?t[0]:void 0}getWinIdForGridId(e){var t;return null===(t=this.grids.get(e))||void 0===t?void 0:t.winId}getWinIdForTextEditor(e){return this.textEditorToWinId.get(e)}getEditorFromWinId(e){const t=[...this.textEditorToWinId].find((([,t])=>t===e));return t?t[0]:this.winIdToEditor.get(e)}getGridIdFromEditor(e){return this.getGridIdForWinId(this.getWinIdForTextEditor(e)||0)}getEditorFromGridId(e){const t=this.getWinIdForGridId(e);if(t)return this.getEditorFromWinId(t)}isExternalTextDocument(e){return"output"===e.uri.scheme||this.externalTextDocuments.has(e)}handleRedrawBatch(e){for(const[t,...n]of e)switch(t){case"win_external_pos":case"win_pos":for(const[e,t]of n)this.grids.set(e,{winId:t.id});break;case"win_close":for(const[e]of n)this.grids.delete(e)}}handleExtensionRequest(t,n){var r;return oe(this,void 0,void 0,(function*(){switch(t){case"open-file":{const[t,r]=n,i=e.window.activeTextEditor;let s,o;if(s="__vscode_new__"===t?yield e.workspace.openTextDocument():yield e.workspace.openTextDocument(t.trim()),!s)return;r&&"all"!==r&&i&&(o=i.viewColumn,yield e.commands.executeCommand("workbench.action.revertAndCloseActiveEditor")),yield e.window.showTextDocument(s,o),"all"===r&&(yield e.commands.executeCommand("workbench.action.closeOtherEditors"));break}case"external-buffer":{const[t,i,s,o]=n;if(t.startsWith("__vscode_neovim__-output:"))break;const a=parseInt(i,10);if(t&&this.isVscodeUriName(t)){if(t){const n=t.startsWith(le)?t.substr(18):t;this.logger.debug(`BufferManager: Buffer request for ${n}, bufId: ${i}`);try{let t=this.findDocFromUri(n);t||(this.logger.debug(`BufferManager: Opening a doc: ${n}`),t=yield e.workspace.openTextDocument(e.Uri.parse(n,!0)));let i=!1;if(!this.textDocumentToBufferId.has(t)){this.logger.debug("BufferManager: No doc -> buffer mapping exists, assigning mapping and init buffer options");const e=(yield this.client.buffers).find((e=>e.id===a));e&&(i=!0,yield this.initBufferForDocument(t,e)),this.textDocumentToBufferId.set(t,a)}if((null===(r=e.window.activeTextEditor)||void 0===r?void 0:r.document)!==t){const n=yield e.window.showTextDocument(t,{viewColumn:e.window.activeTextEditor?e.window.activeTextEditor.viewColumn:e.ViewColumn.Active,preserveFocus:!1,preview:!1});this.editorTabConfiguration.set(n,{insertSpaces:n.options.insertSpaces,tabSize:n.options.tabSize}),i&&(yield this.resyncBufferTabOptions(n,a))}}catch(e){}}}else{if(this.logger.debug(`BufferManager: Attaching new external buffer: ${t}, id: ${a}`),1===a)return void this.logger.debug(`BufferManager: ${a} is the first neovim buffer, skipping`);yield this.attachNeovimExternalBuffer(t,a,!!s,o)}break}}}))}initBufferForDocument(t,n,r){return oe(this,void 0,void 0,(function*(){const i=n.id;this.logger.debug(`BufferManager: Init buffer for ${i}, doc: ${t.uri.toString()}`);const{options:{insertSpaces:s,tabSize:o}}=r||{options:{insertSpaces:!0,tabSize:4}},a=t.eol===e.EndOfLine.LF?"\n":"\r\n",l=t.getText().split(a);r&&this.editorTabConfiguration.set(r,{tabSize:o,insertSpaces:s});const u=[["nvim_buf_set_option",[i,"expandtab",s]],["nvim_buf_set_option",[i,"tabstop",o]],["nvim_buf_set_option",[i,"shiftwidth",o]],["nvim_buf_set_lines",[i,0,-1,!1,l]],["nvim_buf_set_var",[i,"vscode_controlled",!0]],["nvim_buf_set_name",[i,le+t.uri.toString()]],["nvim_buf_set_option",[i,"modifiable",!this.isExternalTextDocument(t)]],["nvim_buf_set_option",[i,"buftype","nofile"]],["nvim_buf_set_option",[i,"buflisted",!0]]];yield j(this.client,u,this.logger,ae),this.isExternalTextDocument(t)||(yield this.client.callFunction("VSCodeClearUndo",i)),this.onBufferInit&&this.onBufferInit(i,t),n.listen("lines",this.receivedBufferEvent)}))}resyncBufferTabOptions(e,t){return oe(this,void 0,void 0,(function*(){const{options:{insertSpaces:n,tabSize:r}}=e,i=[["nvim_buf_set_option",[t,"expandtab",n]],["nvim_buf_set_option",[t,"tabstop",r]],["nvim_buf_set_option",[t,"shiftwidth",r]]];yield j(this.client,i,this.logger,ae)}))}createNeovimWindow(e){return oe(this,void 0,void 0,(function*(){yield this.client.setOption("eventignore","BufWinEnter,BufEnter,BufLeave");const t=yield this.client.openWindow(e,!1,{external:!0,width:this.settings.neovimViewportWidth,height:this.settings.neovimViewportHeight});if(yield this.client.setOption("eventignore",""),"number"==typeof t)throw new Error(`Unable to create a new neovim window, code: ${t}`);return t.id}))}unloadBuffer(e){return oe(this,void 0,void 0,(function*(){try{yield this.client.command(`bunload! ${e}`)}catch(t){this.logger.warn(`BufferManager: Can't unload the buffer: ${e}, err: ${null==t?void 0:t.message}`)}}))}isVscodeUriName(e){return!!(/:\/\//.test(e)||e.startsWith("output:")||e.startsWith("__vscode_neovim__-output:")||e.startsWith("/search-editor:")||e.startsWith("__vscode_neovim__-/search-editor:"))}findDocFromUri(t){return t.startsWith("/search-editor")&&(t=t.slice(1)),e.workspace.textDocuments.find((e=>e.uri.toString()===t))}attachNeovimExternalBuffer(t,n,r,i){return oe(this,void 0,void 0,(function*(){const t=(yield this.client.buffers).find((e=>e.id===n));if(!t)return;const s=yield t.lines;if(!s.length||1===s.length&&!s[0])return void this.logger.debug(`BufferManager: Skipping empty external buffer ${n}`);const o=yield e.workspace.openTextDocument({content:s.join("\n")});this.externalTextDocuments.add(o),this.textDocumentToBufferId.set(o,n),this.onBufferInit&&this.onBufferInit(n,o),t.listen("lines",this.receivedBufferEvent),yield t[se.ATTACH](!0);const a=yield this.client.windows;let l=0;for(const e of a)(yield e.buffer).id===n&&(this.logger.debug(`BufferManager: Found window assigned to external buffer ${n}, winId: ${e.id}, isKnownWindow: ${this.winIdToEditor.has(e.id)}`),this.winIdToEditor.has(e.id)||(l=e.id));const u=yield e.window.showTextDocument(o,{preserveFocus:!1,preview:!0,viewColumn:e.ViewColumn.Active});this.editorTabConfiguration.set(u,{tabSize:i,insertSpaces:r}),u.options.insertSpaces=r,u.options.tabSize=i,l&&(setTimeout((()=>oe(this,void 0,void 0,(function*(){const t=yield this.client.request("nvim_win_get_cursor",[l]);if(t){this.logger.debug(`BufferManager: Adjusting cursor pos for external buffer: ${n}, originalPos: [${t[0]}, ${t[1]}]`);const r=t[0]-1;let i=t[1];try{i=_(o.lineAt(r).text,t[1],1,!0),this.logger.debug(`BufferManager: Adjusted cursor: [${r}, ${i}]`)}catch(e){this.logger.warn(`BufferManager: Unable to get cursor pos for external buffer: ${n}`)}u.selections=[new e.Selection(r,i,r,i)]}}))),1e3),setTimeout((()=>{this.logger.debug(`BufferManager: Closing window ${l} for external buffer: ${n}`);try{this.client.request("nvim_win_close",[l,!0])}catch(e){this.logger.warn(`BufferManager: Closing the window: ${l} for external buffer failed: ${e.message}`)}}),5e3))}))}}var ce=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};class he{constructor(t,n,r,i){this.logger=t,this.client=n,this.modeManager=r,this.changeManager=i,this.disposables=[],this.isExitingInsertMode=!1,this.isEnteringInsertMode=!1,this.pendingKeysAfterExit="",this.pendingKeysAfterEnter="",this.onModeChange=()=>{var t;if(this.modeManager.isInsertMode&&this.typeHandlerDisposable&&!this.modeManager.isRecordingInInsertMode){this.pendingKeysAfterEnter="";const n=e.window.activeTextEditor;n&&this.changeManager.hasDocumentChangeCompletionLock(n.document)?(this.isEnteringInsertMode=!0,this.logger.debug("TypingManager: Waiting for document completion operation before disposing type handler"),null===(t=this.changeManager.getDocumentChangeCompletionLock(n.document))||void 0===t||t.then((()=>{this.isEnteringInsertMode=!1,this.typeHandlerDisposable&&this.modeManager.isInsertMode&&(this.logger.debug("TypingManager: Waiting done, disposing type handler"),this.typeHandlerDisposable.dispose(),this.typeHandlerDisposable=void 0),this.pendingKeysAfterEnter&&(e.commands.executeCommand(this.modeManager.isInsertMode?"default:type":"type",{text:this.pendingKeysAfterEnter}),this.pendingKeysAfterEnter="")}))):(this.logger.debug("TypingManager: Disposing type handler"),this.typeHandlerDisposable.dispose(),this.typeHandlerDisposable=void 0)}else this.modeManager.isInsertMode||(this.isEnteringInsertMode=!1,this.isExitingInsertMode=!1,this.typeHandlerDisposable||(this.logger.debug("TypingManager: Enabling type handler"),this.typeHandlerDisposable=e.commands.registerTextEditorCommand("type",this.onVSCodeType)))},this.onVSCodeType=(t,n,r)=>{!this.modeManager.isInsertMode||this.modeManager.isRecordingInInsertMode||this.isEnteringInsertMode?this.isEnteringInsertMode?this.pendingKeysAfterEnter+=r.text:this.client.input(F(r.text,!this.modeManager.isRecordingInInsertMode)):this.isExitingInsertMode?this.pendingKeysAfterExit+=r.text:e.commands.executeCommand("default:type",{text:r.text})},this.onEscapeKeyCommand=()=>ce(this,void 0,void 0,(function*(){this.logger.debug("TypingManager: Escape key"),this.modeManager.isInsertMode&&(this.logger.debug("TypingManager: Syncing buffers with neovim"),this.isExitingInsertMode=!0,this.typeHandlerDisposable||(this.typeHandlerDisposable=e.commands.registerTextEditorCommand("type",this.onVSCodeType)),yield this.changeManager.syncDocumentsWithNeovim(),yield this.changeManager.syncDotRepatWithNeovim());const t=F(this.pendingKeysAfterExit);this.logger.debug(`TypingManager: Pending keys sent with : ${t}`),this.pendingKeysAfterExit="",yield this.client.input(`${t}`)})),this.onInsertCtrlOCommand=()=>ce(this,void 0,void 0,(function*(){this.logger.debug("TypingManager: Ctrl-O key"),this.modeManager.isInsertMode&&(this.logger.debug("TypingManager: Syncing buffers with neovim (Ctrl-O)"),this.isExitingInsertMode=!0,this.typeHandlerDisposable||(this.typeHandlerDisposable=e.commands.registerTextEditorCommand("type",this.onVSCodeType)),yield this.changeManager.syncDocumentsWithNeovim(),yield this.changeManager.syncDotRepatWithNeovim());const t=F(this.pendingKeysAfterExit);this.logger.debug(`TypingManager: Pending keys sent with : ${t}`),this.pendingKeysAfterExit="",yield this.client.input(`${t}`)})),this.handleCompositeEscapeFirstKey=t=>ce(this,void 0,void 0,(function*(){const n=(new Date).getTime();this.compositeEscapeFirstPressTimestamp&&n-this.compositeEscapeFirstPressTimestamp<=200?(this.compositeEscapeFirstPressTimestamp=void 0,yield e.commands.executeCommand("deleteLeft"),this.onEscapeKeyCommand()):(this.compositeEscapeFirstPressTimestamp=n,yield e.commands.executeCommand("default:type",{text:t}))})),this.handleCompositeEscapeSecondKey=t=>ce(this,void 0,void 0,(function*(){const n=(new Date).getTime();this.compositeEscapeFirstPressTimestamp&&n-this.compositeEscapeFirstPressTimestamp<=200?(this.compositeEscapeFirstPressTimestamp=void 0,yield e.commands.executeCommand("deleteLeft"),this.onEscapeKeyCommand()):yield e.commands.executeCommand("default:type",{text:t})})),this.typeHandlerDisposable=e.commands.registerTextEditorCommand("type",this.onVSCodeType),this.disposables.push(e.commands.registerCommand("vscode-neovim.ctrl-o-insert",this.onInsertCtrlOCommand)),this.disposables.push(e.commands.registerCommand("vscode-neovim.escape",this.onEscapeKeyCommand)),this.disposables.push(e.commands.registerCommand("vscode-neovim.compositeEscape1",(e=>this.handleCompositeEscapeFirstKey(e)))),this.disposables.push(e.commands.registerCommand("vscode-neovim.compositeEscape2",(e=>this.handleCompositeEscapeSecondKey(e)))),this.modeManager.onModeChange(this.onModeChange)}dispose(){var e;null===(e=this.typeHandlerDisposable)||void 0===e||e.dispose(),this.disposables.forEach((e=>e.dispose()))}}var de=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const fe="CursorManager";class ge{constructor(t,n,r,i,s,o){this.logger=t,this.client=n,this.modeManager=r,this.bufferManager=i,this.changeManager=s,this.settings=o,this.disposables=[],this.cursorModes=new Map,this.neovimCursorPosition=new WeakMap,this.ignoreSelectionEvents=!1,this.gridVisibleViewport=new Map,this.debouncedCursorUpdates=new WeakMap,this.onDidChangeVisibleTextEditors=()=>{this.updateCursorStyle(this.modeManager.currentMode)},this.onSelectionChanged=e=>de(this,void 0,void 0,(function*(){if(this.modeManager.isInsertMode)return;if(this.ignoreSelectionEvents)return;const{textEditor:t,kind:n}=e;this.logger.debug("CursorManager: SelectionChanged"),this.logger.debug("CursorManager: Waiting for possible layout completion operation"),yield this.bufferManager.waitForLayoutSync(),this.logger.debug("CursorManager: Waiting for possible document change completion operation"),yield this.changeManager.getDocumentChangeCompletionLock(t.document),this.logger.debug("CursorManager: Waiting done");const r=this.changeManager.eatDocumentCursorAfterChange(t.document),i=t.selection.active;r&&r.line===i.line&&r.character===i.character?this.logger.debug("CursorManager: Skipping onSelectionChanged event since it was selection produced by doc change"):this.applySelectionChanged(t,n)})),this.applySelectionChanged=ie(((t,n)=>de(this,void 0,void 0,(function*(){const r=this.bufferManager.getWinIdForTextEditor(t),i=t.selection.active,s=t.selections;if(this.logger.debug(`CursorManager: Applying changed selection, kind: ${n}, WinId: ${r}, cursor: [${i.line}, ${i.character}], isMultiSelection: ${t.selections.length>1}`),!r)return;const o=this.neovimCursorPosition.get(t);if(o&&o.col===i.character&&o.line===i.line)this.logger.debug("CursorManager: Skipping event since neovim has same cursor pos");else if(s.length>1||n===e.TextEditorSelectionChangeKind.Mouse&&!s[0].active.isEqual(s[0].anchor)||this.modeManager.isVisualMode){if(n!==e.TextEditorSelectionChangeKind.Mouse||!this.settings.mouseSelectionEnabled)return;{const e=this.bufferManager.getGridIdForWinId(r);this.logger.debug(`CursorManager: Processing multi-selection, gridId: ${e}`);const n=[];if(!this.modeManager.isVisualMode&&e){const r=s[0].anchor,i=T(t,r);this.logger.debug(`CursorManager: Starting visual mode from: [${i[0]}, ${i[1]}]`),n.push(["nvim_input_mouse",["left","press","",e,i[0]-1,i[1]]]),n.push(["nvim_input",["v"]])}const i=s.slice(-1)[0];if(!i)return;const o=T(t,i.active);this.logger.debug(`CursorManager: Updating cursor pos in neovim, winId: ${r}, pos: [${o[0]}, ${o[1]}]`),n.push(["nvim_win_set_cursor",[r,o]]),yield j(this.client,n,this.logger,fe)}}else{const e=A(t);this.logger.debug(`CursorManager: Updating cursor pos in neovim, winId: ${r}, pos: [${e[0]}, ${e[1]}]`);const n=[["nvim_win_set_cursor",[r,e]]];yield j(this.client,n,this.logger,fe)}}))),20,{leading:!1,trailing:!0}),this.updateCursorPosInEditor=(t,n,r)=>{if(this.ignoreSelectionEvents)return;const i=`${t.document.uri.toString()}, viewColumn: ${t.viewColumn}`;if(this.logger.debug(`CursorManager: Updating cursor in editor: ${i}, pos: [${n}, ${r}]`),t!==e.window.activeTextEditor){this.logger.debug(`CursorManager: Editor: ${i} is not active text editor, setting cursor directly`);const s=new e.Selection(n,r,n,r);return void(t.selection.isEqual(s)||(t.selections=[s]))}const s=t.selection.active,o=n-s.line;let a=r-s.character;if(Math.abs(o)<=1){if(this.logger.debug(`CursorManager: Editor: ${i} using cursorMove command`),Math.abs(o)>0&&(r!==s.character?(a=r,e.commands.executeCommand("cursorLineStart")):a=0,e.commands.executeCommand("cursorMove",{to:o>0?"down":"up",by:"line",value:Math.abs(o),select:!1})),Math.abs(a)>0)if(Math.abs(o)>0)this.logger.debug(`CursorManager: Editor: ${i} Moving cursor by char: ${a}`),e.commands.executeCommand("cursorMove",{to:a>0?"right":"left",by:"character",value:Math.abs(a),select:!1});else{this.logger.debug(`CursorManager: Editor: ${i} setting cursor directly since zero line delta`);const s=new e.Selection(n,r,n,r);t.selection.isEqual(s)||(t.selections=[s],t.revealRange(s,e.TextEditorRevealType.Default),e.commands.executeCommand("editor.action.wordHighlight.trigger"))}}else{this.logger.debug(`CursorManager: Editor: ${i} setting cursor directly`);const s=new e.Selection(n,r,n,r);if(!t.selection.isEqual(s)){t.selections=[s];const r=Math.min(...t.visibleRanges.map((e=>e.start.line))),i=Math.max(...t.visibleRanges.map((e=>e.end.line))),a=o>0?n>i+10?e.TextEditorRevealType.InCenterIfOutsideViewport:e.TextEditorRevealType.Default:o<0&&n{const t=this.debouncedCursorUpdates.get(e);if(t)return t;const n=ie(this.updateCursorPosInEditor,10,{leading:!1,trailing:!0,maxWait:100});return this.debouncedCursorUpdates.set(e,n),n},this.onModeChange=t=>{"normal"===t&&e.window.activeTextEditor&&e.window.activeTextEditor.selections.length>1&&(e.window.activeTextEditor.selections=[new e.Selection(e.window.activeTextEditor.selection.active,e.window.activeTextEditor.selection.active)])},this.disposables.push(e.window.onDidChangeTextEditorSelection(this.onSelectionChanged)),this.disposables.push(e.window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors)),this.modeManager.onModeChange(this.onModeChange)}dispose(){this.disposables.forEach((e=>e.dispose()))}handleExtensionRequest(e,t){return de(this,void 0,void 0,(function*(){switch(e){case"visual-edit":{const[e,n,r,i,s,o]=t;this.multipleCursorFromVisualMode(!!e,n,r-1,i-1,s,!!o);break}}}))}handleRedrawBatch(e){var t;const n=new Map,r=new Map;for(const[t,...n]of e)switch(t){case"win_viewport":for(const[e,t,i,s,o,a]of n)this.gridVisibleViewport.set(e,{top:i,bottom:s}),r.set(e,{line:o,col:a})}for(const[i,...s]of e){const e=s[0]||[];switch(i){case"grid_cursor_goto":for(const[e,i,o]of s){const s=r.get(e);if(s)n.set(e,{grid:e,line:s.line,col:s.col,isByteCol:!0});else{const r=(null===(t=this.gridVisibleViewport.get(e))||void 0===t?void 0:t.top)||0;n.set(e,{grid:e,line:r+i,col:o,isByteCol:!1})}}break;case"grid_scroll":for(const[e,t,i,o,a,l,u]of s){const t=r.get(e);t&&n.set(e,{grid:e,line:t.line,col:t.col,isByteCol:!0})}break;case"grid_destroy":for(const[e]of s)this.gridVisibleViewport.delete(e);break;case"mode_info_set":{const[,t]=e;for(const e of t)e.name&&e.cursor_shape&&this.cursorModes.set(e.name,{cursorShape:e.cursor_shape});break}case"mode_change":{const[t]=e;this.updateCursorStyle(t);break}}}for(const[e,t]of n){this.logger.debug(`CursorManager: Received cursor update from neovim, gridId: ${e}, pos: [${t.line}, ${t.col}]`);const n=this.bufferManager.getEditorFromGridId(e);if(!n){this.logger.warn(`CursorManager: No editor for gridId: ${e}`);continue}const r=this.changeManager.getDocumentChangeCompletionLock(n.document);if(r)this.logger.debug(`CursorManager: Waiting for document change completion before setting the cursor, gridId: ${e}`),r.then((()=>{try{this.logger.debug(`CursorManager: Waiting document change completion done, gridId: ${e}`);const r=_(n.document.lineAt(t.line).text,t.col,t.isByteCol?1:n.options.tabSize,t.isByteCol);this.neovimCursorPosition.set(n,{line:t.line,col:r}),this.getDebouncedUpdateCursorPos(n)(n,t.line,r)}catch(e){this.logger.warn(`CursorManager: ${e.message}`)}}));else{this.logger.debug(`CursorManager: No pending document changes, gridId: ${e}`);try{const e=_(n.document.lineAt(t.line).text,t.col,t.isByteCol?1:n.options.tabSize,t.isByteCol);this.neovimCursorPosition.set(n,{line:t.line,col:e}),this.updateCursorPosInEditor(n,t.line,e)}catch(e){this.logger.warn(`CursorManager: ${e.message}`)}}}n.clear()}handleVSCodeRangeCommand(t,n,r,i,s,o,a){return de(this,void 0,void 0,(function*(){const l=e.window.activeTextEditor;if(this.logger.debug(`CursorManager: Range command: ${t}, range: [${n}, ${i}] - [${r}, ${s}], leaveSelection: ${o}`),l){if(r>n)try{const e=l.document.lineAt(n-1);i>0&&i-1>=e.range.end.character&&(n++,i=0)}catch(e){}const u=[...l.selections];this.ignoreSelectionEvents=!0,l.selections=n>r?[new e.Selection(n-1,i>0?i-1:9999999,r-1,s>0?s-1:0)]:[new e.Selection(n-1,i>0?i-1:0,r-1,s>0?s-1:9999999)];const c=yield e.commands.executeCommand(t,...a);return this.logger.debug("CursorManager: Range command completed"),o||(l.selections=u),this.ignoreSelectionEvents=!1,c}}))}updateCursorStyle(t){const n=this.cursorModes.get(t);if(n)for(const t of e.window.visibleTextEditors)"block"===n.cursorShape?t.options.cursorStyle=e.TextEditorCursorStyle.Block:"horizontal"===n.cursorShape?t.options.cursorStyle=e.TextEditorCursorStyle.Underline:t.options.cursorStyle=e.TextEditorCursorStyle.Line}multipleCursorFromVisualMode(t,n,r,i,s,o){if(!e.window.activeTextEditor)return;this.logger.debug(`CursorManager: Spawning multiple cursors from lines: [${r}, ${i}], endCol: ${s} mode: ${n}, append: ${t}, skipEmpty: ${o}`);const a=e.window.activeTextEditor.selection.active.character,l=[],u=e.window.activeTextEditor.document;for(let c=r;c<=i;c++){const r=u.lineAt(c);if(""===r.text.trim()&&(o||"V"!==n))continue;let i=0;i="V"===n?t?r.range.end.character:r.firstNonWhitespaceCharacterIndex:t?s:a,this.logger.debug(`CursorManager: Multiple cursor at: [${c}, ${i}]`),l.push(new e.Selection(c,i,c,i))}e.window.activeTextEditor.selections=l}}var pe,me=n(5747),ve=n.n(me);!function(e){e[e.none=0]="none",e[e.error=1]="error",e[e.warn=2]="warn",e[e.debug=3]="debug"}(pe||(pe={}));class be{constructor(e,t,n=!1){if(this.logLevel=e,this.outputToConsole=n,this.disposables=[],this.fd=0,e!==pe.none)try{this.fd=ve().openSync(t,"w")}catch(e){}}dispose(){this.fd&&ve().closeSync(this.fd),this.disposables.forEach((e=>e.dispose()))}debug(e){e=`${this.getTimestamp()} ${e}`,this.logLevel>=pe.debug&&(this.fd&&ve().appendFileSync(this.fd,e+"\n"),this.outputToConsole&&console.log(e))}warn(e){e=`${this.getTimestamp()} ${e}`,this.logLevel>=pe.warn&&(this.fd&&ve().appendFileSync(this.fd,e+"\n"),this.outputToConsole&&console.log(e))}error(t){t=`${this.getTimestamp()} ${t}`,this.logLevel>=pe.error&&(this.fd&&ve().appendFileSync(this.fd,t+"\n"),this.outputToConsole&&console.log(t)),e.window.showErrorMessage(t)}getTimestamp(){return(new Date).toISOString()}}var ye=n(7529),we=n.n(ye),Ee=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const _e="DocumentChangeManager";class xe{constructor(t,n,r,i){this.logger=t,this.client=n,this.bufferManager=r,this.modeManager=i,this.disposables=[],this.pendingEvents=[],this.bufferSkipTicks=new Map,this.documentSkipVersionOnChange=new WeakMap,this.textDocumentChangePromise=new Map,this.cursorAfterTextDocumentChange=new WeakMap,this.documentContentInNeovim=new WeakMap,this.changedDocuments=new Set,this.applyingEdits=!1,this.onBufferInit=(e,t)=>{this.logger.debug(`DocumentChangeManager: Init buffer content for bufId: ${e}, uri: ${t.uri.toString()}`),this.documentContentInNeovim.set(t,t.getText())},this.onNeovimChangeEvent=(e,t,n,r,i,s)=>{this.logger.debug(`DocumentChangeManager: Received neovim buffer changed event for bufId: ${e}, tick: ${t}`);const o=this.bufferManager.getTextDocumentForBufferId(e);if(!o)return void this.logger.debug(`DocumentChangeManager: No text document for buffer: ${e}`);if((this.bufferSkipTicks.get(e)||0)>=t)return void this.logger.debug(`DocumentChangeManager: BufId: ${e} skipping tick: ${t}`);if(n===r&&0===i.length)return void this.logger.debug(`DocumentChangeManager: BufId: ${e} empty change, skipping`);this.textDocumentChangePromise.has(o)||this.textDocumentChangePromise.set(o,[]);const a=this.textDocumentChangePromise.get(o),l={};l.promise=new Promise(((e,t)=>{l.resolve=e,l.reject=t})),l.promise.catch((e=>{this.logger.error(e)})),a.push(l),this.pendingEvents.push([e,t,n,r,i,s]),this.applyingEdits||this.applyEdits()},this.applyEdits=()=>Ee(this,void 0,void 0,(function*(){var t,n;let r;this.applyingEdits=!0,this.logger.debug("DocumentChangeManager: Applying neovim edits");const i=setTimeout((()=>{e.window.withProgress({location:e.ProgressLocation.Notification,title:"Applying neovim edits"},(()=>new Promise((e=>r=e))))}),1e3);for(;this.pendingEvents.length;){const r=new Map;let i=this.pendingEvents.shift();for(;i;){const[e,t,n,s,o,a]=i,l=this.bufferManager.getTextDocumentForBufferId(e);if(!l){this.logger.warn(`DocumentChangeManager: No document for ${e}, skip`);continue}this.logger.debug(`DocumentChangeManager: Accumulating edits for ${l.uri.toString()}, bufId: ${e}`),r.get(l)||r.set(l,k(l));let u=r.get(l);if(n!==s&&s===n+1&&1===o.length&&""===o[0])for(let e=n;eu.length&&o.unshift(""),0===n?u.unshift(...o):u=[...u.slice(0,n),...o,...u.slice(n)]):(n>=u.length&&o.unshift(""),u=[...u.slice(0,n),...o,...u.slice(s)]);else for(let e=0;ee.document===i));if(!t){this.logger.debug("DocumentChangeManager: No visible text editor for document, skipping");continue}let o=i.getText();const a=i.eol===e.EndOfLine.CRLF?"\r\n":"\n";let l=s.join(a);o+=`${a}end${a}end`,l+=`${a}end${a}end`;const u=b(o,l),c=y(we()(u.chars1,u.chars2));if(!c.length)continue;this.documentSkipVersionOnChange.set(i,i.version+1);const h=yield t.edit((n=>{for(const r of c){const i=s.slice(r.newStart,r.newEnd+1);if("removed"===r.type)if(r.end>=t.document.lineCount-1&&r.start>0){const i=t.document.lineAt(r.start-1).range.end.character;n.delete(new e.Range(r.start-1,i,r.end,999999))}else n.delete(new e.Range(r.start,0,r.end+1,0));else if("changed"===r.type){const s=t.document.getText(new e.Range(r.start,0,r.end,99999)).replace("\r\n","\n"),o=i.join("\n");o.length>s.length&&o.startsWith(s)?n.insert(new e.Position(r.start,s.length),o.slice(s.length)):n.replace(new e.Range(r.start,0,r.end,999999),i.join("\n"))}else"added"===r.type&&(r.start>=t.document.lineCount?i.unshift(...new Array(r.start-(t.document.lineCount-1)).fill("")):i.push(""),n.insert(new e.Position(r.start,0),i.join("\n")))}}),{undoStopAfter:!1,undoStopBefore:!1}),d=(null===(n=this.textDocumentChangePromise.get(i))||void 0===n?void 0:n.splice(0,r))||[];h?(t.selection.anchor.isEqual(t.selection.active)||(t.selections=[new e.Selection(t.selection.active,t.selection.active)]),this.cursorAfterTextDocumentChange.set(t.document,{line:t.selection.active.line,character:t.selection.active.character}),d.forEach((e=>e.resolve&&e.resolve())),this.logger.debug(`DocumentChangeManager: Changes succesfully applied for ${i.uri.toString()}`),this.documentContentInNeovim.set(i,i.getText())):(d.forEach((e=>{var t;null===(t=e.promise)||void 0===t||t.catch((()=>this.logger.warn(`DocumentChangeManager: Edit was canceled for doc: ${i.uri.toString()}`))),e.reject&&e.reject()})),this.logger.warn(`DocumentChangeManager: Changes were not applied for ${i.uri.toString()}`))}catch(e){this.logger.error(`DocumentChangeManager: Error applying neovim edits, error: ${e.message}`)}}}const s=[...this.textDocumentChangePromise.values()].flatMap((e=>e));this.textDocumentChangePromise.clear(),s.forEach((e=>e.resolve&&e.resolve())),i&&clearTimeout(i),r&&r(),this.pendingEvents.length&&this.applyEdits(),this.applyingEdits=!1})),this.onChangeTextDocument=t=>{const{document:n,contentChanges:r}=t;if(this.logger.debug(`DocumentChangeManager: Change text document for uri: ${n.uri.toString()}`),this.documentSkipVersionOnChange.get(n)===n.version)return void this.logger.debug("DocumentChangeManager: Skipping a change since versions equals");const i=this.dotRepeatStartModeInsertHint,s=e.window.activeTextEditor;if(s&&s.document===n&&this.modeManager.isInsertMode){this.dotRepeatStartModeInsertHint=void 0;const t=n.eol===e.EndOfLine.LF?"\n":"\r\n",o=s.selection.active;for(const e of r)C(e,o,t)&&(this.dotRepeatChange&&x(e,this.dotRepeatChange)?this.dotRepeatChange=D(e,this.dotRepeatChange):this.dotRepeatChange=S(e,t,i))}this.changedDocuments.add(n),this.modeManager.isInsertMode||this.syncDocumentsWithNeovim()},this.bufferManager.onBufferEvent=this.onNeovimChangeEvent,this.bufferManager.onBufferInit=this.onBufferInit,this.disposables.push(e.workspace.onDidChangeTextDocument(this.onChangeTextDocument))}dispose(){this.disposables.forEach((e=>e.dispose()))}eatDocumentCursorAfterChange(e){const t=this.cursorAfterTextDocumentChange.get(e);return this.cursorAfterTextDocumentChange.delete(e),t}getDocumentChangeCompletionLock(e){const t=this.textDocumentChangePromise.get(e);if(t&&t.length)return Promise.all(t.map((e=>e.promise)).filter(Boolean))}hasDocumentChangeCompletionLock(e){var t;return((null===(t=this.textDocumentChangePromise.get(e))||void 0===t?void 0:t.length)||0)>0}handleExtensionRequest(e,t){return Ee(this,void 0,void 0,(function*(){if("insert-line"===e){const[e]=t;this.dotRepeatStartModeInsertHint="before"===e?"O":"o",this.logger.debug(`DocumentChangeManager: Setting start insert mode hint - ${this.dotRepeatStartModeInsertHint}`)}}))}syncDocumentsWithNeovim(){return Ee(this,void 0,void 0,(function*(){this.logger.debug("DocumentChangeManager: Syncing document changes with neovim");const t=[],n=[...this.changedDocuments];this.changedDocuments.clear();for(const r of n){if(this.logger.debug(`DocumentChangeManager: Processing document ${r.uri.toString()}`),r.isClosed){this.logger.warn(`DocumentChangeManager: Document ${r.uri.toString()} is closed, skipping`);continue}let n=this.documentContentInNeovim.get(r);if(null==n){this.logger.warn(`DocumentChangeManager: Can't get last known neovim content for ${r.uri.toString()}, skipping`);continue}const i=this.bufferManager.getBufferIdForTextDocument(r);if(!i){this.logger.warn(`DocumentChangeManager: No neovim buffer for ${r.uri.toString()}`);continue}let s=r.getText();this.documentContentInNeovim.set(r,s);const o=r.eol===e.EndOfLine.LF?"\n":"\r\n";n+=`${o}end${o}end`,s+=`${o}end${o}end`;const a=b(n,s),l=y(we()(a.chars1,a.chars2));if(!l.length){this.logger.debug(`DocumentChangeManager: No diff ranges for ${r.uri.toString()}, skipping`);continue}const u=[];let c=0;for(const t of l){let a=r.getText(new e.Range(t.newStart,0,t.newEnd,999999)).split(o);const l=t.start+c;let h=t.end+c;"removed"===t.type?(a=[],h++,c--):"changed"===t.type?("\n"!==s.slice(-1)&&"\r\n"!==s.slice(-1)||n.includes(o)||a.push(""),h++):"added"===t.type&&(0!==t.start||n||h++,c++),u.push(["nvim_buf_set_lines",[i,l,h,!1,a]]),c+=t.newEnd-t.newStart-(t.end-t.start)}const h=yield this.client.request("nvim_buf_get_changedtick",[i]);h?(this.logger.debug(`DocumentChangeManager: BufId: ${i}, lineChanges: ${u.length}, tick: ${h}, skipTick: ${h+u.length}`),this.bufferSkipTicks.set(i,h+u.length),t.push(...u)):this.logger.warn(`DocumentChangeManager: Can't get changed tick for bufId: ${i}, deleted?`)}e.window.activeTextEditor&&t.push(["nvim_win_set_cursor",[0,A(e.window.activeTextEditor)]]),t.length&&(yield j(this.client,t,this.logger,_e))}))}syncDotRepatWithNeovim(){return Ee(this,void 0,void 0,(function*(){if(!this.dotRepeatChange)return;this.logger.debug("DocumentChangeManager: Syncing dot repeat");const e=Object.assign({},this.dotRepeatChange);this.dotRepeatChange=void 0;const t=yield this.client.window,n=yield this.client.createBuffer(!1,!0);if("number"==typeof n)return;yield this.client.setOption("eventignore","BufWinEnter,BufEnter,BufLeave");const r=yield this.client.openWindow(n,!0,{external:!0,width:100,height:100});if(yield this.client.setOption("eventignore",""),"number"==typeof r)return;const i=[],s=e.rangeLength;if(s){const e=new Array(s).fill("x").join("");i.push(["nvim_buf_set_lines",[n.id,0,0,!1,[e]]],["nvim_win_set_cursor",[r.id,[1,s]]])}let o="";e.startMode&&(o+=`${e.startMode}`,e.text.startsWith(e.eol)&&(e.text=e.text.slice(e.eol.length))),e.rangeLength&&(o+=[...new Array(e.rangeLength).keys()].map((()=>"")).join("")),o+=e.text.split(e.eol).join("\n").replace("<",""),i.push(["nvim_input",[o]]),yield j(this.client,i,this.logger,_e);const a=[];a.push(["nvim_set_current_win",[t.id]]),a.push(["nvim_win_close",[r.id,!0]]),yield j(this.client,a,this.logger,_e)}))}}var Ce=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};class Me{constructor(t,n){this.isDisplayed=!1,this.disposables=[],this.completionAllowed=!1,this.completionItems=[],this.mode="",this.ignoreHideEvent=!1,this.onAccept=()=>{this.isDisplayed&&this.callbacks.onAccepted()},this.onChange=e=>{if(!this.isDisplayed)return;const t=this.mode;":"!==t||"?"!==e.charAt(0)&&"/"!==e.charAt(0)||!this.input.items.length||(this.input.items=[],this.completionItems=[]);const n=!(":"!==t||"?"===e.charAt(0)||"/"===e.charAt(0)||e.includes("s/")||e.includes("substitute/")||e.includes("g/")||e.includes("global/")||e.includes("v/")||e.includes("vglobal/"));n||this.cancelCompletions(),this.callbacks.onChanged(e,n)},this.onHide=()=>{this.isDisplayed&&(this.clean(),this.ignoreHideEvent?this.ignoreHideEvent=!1:this.callbacks.onCanceled())},this.processCompletionTimer=()=>{this.completionAllowed=!0,this.isDisplayed&&this.completionItems.length&&(this.input.items=this.completionItems),this.completionTimer=void 0},this.cancelCompletions=()=>{this.completionTimer&&(clearTimeout(this.completionTimer),this.completionTimer=void 0),this.input.items=[]},this.deleteAll=()=>{this.isDisplayed&&(this.input.value="",this.onChange(""))},this.deleteChar=()=>{this.isDisplayed&&(this.input.value=this.input.value.slice(0,-1),this.onChange(this.input.value))},this.deleteWord=()=>{this.isDisplayed&&(this.input.value=this.input.value.trimRight().split(" ").slice(0,-1).join(" "),this.onChange(this.input.value))},this.acceptSelection=()=>{if(!this.isDisplayed)return;const e=this.input.activeItems[0];e&&(this.input.value=this.input.value.split(" ").slice(0,-1).concat(e.label).join(" "),this.onChange(this.input.value))},this.onHistoryUp=()=>Ce(this,void 0,void 0,(function*(){yield this.neovimClient.input("");const e=yield this.neovimClient.callFunction("getcmdline",[]);e&&(this.input.value=e,this.input.show())})),this.onHistoryDown=()=>Ce(this,void 0,void 0,(function*(){yield this.neovimClient.input("");const e=yield this.neovimClient.callFunction("getcmdline",[]);e&&(this.input.value=e,this.input.show())})),this.neovimClient=t,this.callbacks=n,this.input=e.window.createQuickPick(),this.input.ignoreFocusOut=!0,this.disposables.push(this.input.onDidAccept(this.onAccept)),this.disposables.push(this.input.onDidChangeValue(this.onChange)),this.disposables.push(this.input.onDidHide(this.onHide)),this.disposables.push(e.commands.registerCommand("vscode-neovim.commit-cmdline",this.onAccept)),this.disposables.push(e.commands.registerCommand("vscode-neovim.delete-word-left-cmdline",this.deleteWord)),this.disposables.push(e.commands.registerCommand("vscode-neovim.delete-all-cmdline",this.deleteAll)),this.disposables.push(e.commands.registerCommand("vscode-neovim.delete-char-left-cmdline",this.deleteChar)),this.disposables.push(e.commands.registerCommand("vscode-neovim.history-up-cmdline",this.onHistoryUp)),this.disposables.push(e.commands.registerCommand("vscode-neovim.history-down-cmdline",this.onHistoryDown)),this.disposables.push(e.commands.registerCommand("vscode-neovim.complete-selection-cmdline",this.acceptSelection))}show(e="",t,n=""){if(this.isDisplayed){const r=n||this.getTitle(t);r!==this.input.title&&(this.input.title=r),"/"!==this.mode&&"?"!==this.mode||(this.input.value=e)}else this.input.value="",this.isDisplayed=!0,this.input.value="",this.mode=t,this.input.title=n||this.getTitle(t),this.input.show(),e&&(this.input.value=e),this.completionAllowed=!1,this.completionItems=[],this.input.items=[],this.completionTimer=setTimeout(this.processCompletionTimer,1500)}setCompletionItems(e){this.completionItems=e.map((e=>({label:e,alwaysShow:!0}))),this.completionAllowed&&(this.input.items=this.completionItems)}cancel(e=!1){this.ignoreHideEvent=e,this.input.hide()}dispose(){for(const e of this.disposables)e.dispose();this.input.dispose()}getTitle(e){switch(e){case"/":return"⟳ Forward Search:";case"?":return"⟲ Backward Search:";case":":return"⌘ VIM Command Line:";default:return e}}clean(){this.completionTimer&&clearTimeout(this.completionTimer),this.isDisplayed=!1,this.input.value="",this.input.title="",this.mode="",this.completionAllowed=!1,this.input.items=[],this.completionItems=[]}}var Se=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};class De{constructor(e,t){this.logger=e,this.client=t,this.disposables=[],this.showCmdOnTimer=(e,t,n)=>{this.commandLine||(this.commandLine=new Me(this.client,{onAccepted:this.onCmdAccept,onCanceled:this.onCmdCancel,onChanged:this.onCmdChange})),this.commandLine.show(e,t,n),this.cmdlineTimer=void 0},this.onCmdChange=(e,t)=>Se(this,void 0,void 0,(function*(){let n=""+F(e);t&&(n+=""),yield this.client.input(n)})),this.onCmdCancel=()=>Se(this,void 0,void 0,(function*(){yield this.client.input("")})),this.onCmdAccept=()=>{this.client.input("")}}dispose(){this.commandLine&&this.commandLine.dispose(),this.disposables.forEach((e=>e.dispose()))}handleRedrawBatch(e){for(const[t,...n]of e){const e=n[0]||[];switch(t){case"cmdline_show":{const[t,n,r,i,s,o]=e,a=t.map((([,e])=>e)).join("");this.cmdlineTimer?(clearTimeout(this.cmdlineTimer),this.cmdlineTimer=void 0,this.commandLine||(this.commandLine=new Me(this.client,{onAccepted:this.onCmdAccept,onCanceled:this.onCmdCancel,onChanged:this.onCmdChange})),this.commandLine.show(a,r,i)):""===a||"'<,'>"===a||this.commandLine?(this.commandLine||(this.commandLine=new Me(this.client,{onAccepted:this.onCmdAccept,onCanceled:this.onCmdCancel,onChanged:this.onCmdChange})),this.commandLine.show(a,r,i)):this.cmdlineTimer=setTimeout((()=>this.showCmdOnTimer(a,r,i)),200);break}case"wildmenu_show":{const[t]=e;this.commandLine&&this.commandLine.setCompletionItems(t);break}case"cmdline_hide":this.cmdlineTimer?(clearTimeout(this.cmdlineTimer),this.cmdlineTimer=void 0):this.commandLine&&(this.commandLine.cancel(!0),this.commandLine.dispose(),this.commandLine=void 0)}}}}class Te{constructor(){this.modeItem=e.window.createStatusBarItem(e.StatusBarAlignment.Left,10),this.commandItem=e.window.createStatusBarItem(e.StatusBarAlignment.Left,5),this.msgItem=e.window.createStatusBarItem(e.StatusBarAlignment.Left,1)}set modeString(e){e?(this.modeItem.text=e,this.modeItem.show()):this.modeItem.hide()}set statusString(e){e?(this.commandItem.text=e,this.commandItem.show()):this.commandItem.hide()}set msgString(e){e?(this.msgItem.text=e,this.msgItem.show()):this.msgItem.hide()}dispose(){this.commandItem.dispose(),this.modeItem.dispose(),this.msgItem.dispose()}}class Ae{constructor(e,t){this.logger=e,this.client=t,this.disposables=[],this.statusLine=new Te,this.disposables.push(this.statusLine)}dispose(){this.disposables.forEach((e=>e.dispose()))}handleRedrawBatch(e){let t=!1,n=!1;e.forEach((([r,...i],s)=>{const o=i[0]||[];switch(r){case"msg_showcmd":{const[e]=o;let t="";if(e)for(const n of e){const[,e]=n;e&&(t+=e)}this.statusLine.statusString=t;break}case"msg_show":{let r="";for(const[o,a]of i)if("return_prompt"===o&&(t=!0,n=!!e.slice(s).find((([e])=>"mouse_on"===e))),a)for(const e of a){const[,t]=e;t&&(r+=t)}this.statusLine.msgString=r;break}case"msg_showmode":{const[e]=o;let t="";if(e)for(const n of e){const[,e]=n;e&&(t+=e)}this.statusLine.modeString=t;break}case"msg_clear":this.statusLine.msgString=""}})),t&&!n&&this.client.input("")}}function ke(e){return"string"==typeof e&&e.startsWith("theme.")}function Fe(t){const n=Object.assign(Object.assign({},t),{after:t.after?Object.assign({},t.after):void 0,before:t.before?Object.assign({},t.before):void 0});return ke(n.backgroundColor)&&(n.backgroundColor=new e.ThemeColor(n.backgroundColor.slice(6))),ke(n.borderColor)&&(n.borderColor=new e.ThemeColor(n.borderColor.slice(6))),ke(n.color)&&(n.borderColor=new e.ThemeColor(n.color.slice(6))),ke(n.outlineColor)&&(n.outlineColor=new e.ThemeColor(n.outlineColor.slice(6))),ke(n.overviewRulerColor)&&(n.overviewRulerColor=new e.ThemeColor(n.overviewRulerColor.slice(6))),n.after&&(ke(n.after.backgroundColor)&&(n.after.backgroundColor=new e.ThemeColor(n.after.backgroundColor.slice(6))),ke(n.after.borderColor)&&(n.after.borderColor=new e.ThemeColor(n.after.borderColor.slice(6))),ke(n.after.color)&&(n.after.color=new e.ThemeColor(n.after.color.slice(6)))),n.before&&(ke(n.before.backgroundColor)&&(n.before.backgroundColor=new e.ThemeColor(n.before.backgroundColor.slice(6))),ke(n.before.borderColor)&&(n.before.borderColor=new e.ThemeColor(n.before.borderColor.slice(6))),ke(n.before.color)&&(n.before.color=new e.ThemeColor(n.before.color.slice(6)))),n}class Oe{constructor(e){this.highlights=new Map,this.prevGridHighlightsIds=new Map,this.highlightIdToGroupName=new Map,this.highlighGroupToDecorator=new Map,this.decoratorConfigurations=new Map,this.ignoredGroupIds=new Set,this.alwaysIgnoreGroups=["Normal","NormalNC","NormalFloat","NonText","SpecialKey","TermCursor","TermCursorNC","Cursor","lCursor","VisualNC","Conceal","CursorLine","CursorLineNr","ColorColumn","LineNr","StatusLine","StatusLineNC","VertSplit","Title","WildMenu","Whitespace"],this.configuration=e,"vim"!==this.configuration.unknownHighlight&&(this.configuration.unknownHighlight=Fe(this.configuration.unknownHighlight));for(const[e,t]of Object.entries(this.configuration.highlights))if("vim"!==t){const n=Fe(t);this.configuration.highlights[e]=n,this.createDecoratorForHighlightGroup(e,n)}}addHighlightGroup(t,n,r){if((this.configuration.ignoreHighlights.includes(n)||this.configuration.ignoreHighlights.find((e=>!(!e.startsWith("^")&&!e.endsWith("$"))&&new RegExp(e).test(n))))&&this.ignoredGroupIds.add(t),this.highlightIdToGroupName.set(t,n),!this.highlighGroupToDecorator.has(n)){const t=this.configuration.highlights[n]||this.configuration.unknownHighlight,i="vim"===t?function(t){const n={};t.background&&(n.backgroundColor="#"+t.background.toString(16)),t.foreground&&(n.color="#"+t.foreground.toString(16));const r=t.special?"#"+t.special.toString(16):"";return t.reverse&&(n.backgroundColor=new e.ThemeColor("editor.foreground"),n.color=new e.ThemeColor("editor.background")),t.italic&&(n.fontStyle="italic"),t.bold&&(n.fontWeight="bold"),t.strikethrough&&(n.textDecoration="line-through solid"),t.underline&&(n.textDecoration=`underline ${r} solid`),t.undercurl&&(n.textDecoration=`underline ${r} wavy`),n}(r):t;this.createDecoratorForHighlightGroup(n,i)}}getHighlightGroupName(e,t=!1){if(this.ignoredGroupIds.has(e)&&!t)return;const n=this.highlightIdToGroupName.get(e);return n&&this.alwaysIgnoreGroups.includes(n)?void 0:n}getDecoratorForHighlightGroup(e){let t=this.highlighGroupToDecorator.get(e);return!t&&e.endsWith("Default")&&(t=this.highlighGroupToDecorator.get(e.slice(0,-7))),t||(t=this.highlighGroupToDecorator.get(e+"Default")),t}getDecoratorOptions(e){return this.decoratorConfigurations.get(e)}cleanRow(e,t){const n=this.highlights.get(e);n&&delete n[t]}processHLCellsEvent(e,t,n,r,i){let s=0,o=n;this.highlights.has(e)||this.highlights.set(e,[]);const a=this.highlights.get(e);let l=!1;for(const[e,n,u]of i){if(""===e)continue;if("♥"===e)continue;null!=n&&(s=n);const i=this.getHighlightGroupName(s,r),c="\t"===e||"❥"===e?1:u||1;for(let e=0;e0){for(let e=0;e{e.push(n)}));for(const i of e)i<=n||(r[i-t]=r[i],delete r[i])}else if(t<0){for(let e=0;e{e.push(n)}));for(const i of e.reverse())i<=n||(r[i+Math.abs(t)]=r[i],delete r[i])}}getGridHighlights(t,n){const r=[],i=new Map,s=this.highlights.get(t);if(s){let e="",t=0,n=0,r=0,o=0;s.forEach(((s,a)=>{s.forEach(((s,l)=>{const u=this.highlightIdToGroupName.get(s);u&&e===u&&n===a&&o===l-1?o=l:(e&&(i.has(e)||i.set(e,[]),i.get(e).push({lineS:t,lineE:n,colS:r,colE:o}),e="",r=0,o=0,t=0,n=0),u&&(e=u,t=a,n=a,r=l,o=l))}))})),e&&(i.has(e)||i.set(e,[]),i.get(e).push({lineS:t,lineE:n,colS:r,colE:o}))}for(const[t,s]of i){const i=this.getDecoratorForHighlightGroup(t);if(!i)continue;const o=s.map((t=>new e.Range(n+t.lineS,t.colS,n+t.lineE,t.colE+1)));r.push([i,o])}const o=this.prevGridHighlightsIds.get(t);if(o)for(const e of o)if(!i.has(e)){const t=this.getDecoratorForHighlightGroup(e);if(!t)continue;r.push([t,[]])}return this.prevGridHighlightsIds.set(t,new Set(i.keys())),r}clearHighlights(e){const t=this.prevGridHighlightsIds.get(e);if(this.highlights.delete(e),this.prevGridHighlightsIds.delete(e),!t)return[];const n=[];for(const e of t){const t=this.getDecoratorForHighlightGroup(e);t&&n.push([t,[]])}return n}createDecoratorForHighlightGroup(t,n){const r=e.window.createTextEditorDecorationType(n);this.decoratorConfigurations.set(r,n),this.highlighGroupToDecorator.set(t,r)}}class je{constructor(e,t,n){this.logger=e,this.bufferManager=t,this.settings=n,this.disposables=[],this.gridLineInfo=new Map,this.commandsDisposables=[],this.textDecorationsAtTop=!1,this.applyHLGridUpdates=e=>{for(const t of e){const e=this.gridLineInfo.get(t),n=this.bufferManager.getEditorFromGridId(t);if(!n||!e)continue;const r=this.highlightProvider.getGridHighlights(t,e.topLine);for(const[e,t]of r)n.setDecorations(e,t)}},this.highlightProvider=new Oe(n.highlight),this.textDecorationsAtTop=n.textDecorationsAtTop}dispose(){this.disposables.forEach((e=>e.dispose())),this.commandsDisposables.forEach((e=>e.dispose()))}handleRedrawBatch(e){const t=new Set;for(const[n,...r]of e)switch(n){case"hl_attr_define":for(const[e,t,,n]of r)if(n&&n[0]&&n[0].hi_name){const r=n[0].hi_name;this.highlightProvider.addHighlightGroup(e,r,t)}break;case"win_viewport":for(const[e,t,n,i,s,o]of r)this.gridLineInfo.set(e,{topLine:n,bottomLine:i});break;case"grid_scroll":for(const[e,n,,,,i]of r)1!==e&&(this.highlightProvider.shiftGridHighlights(e,i,n),t.add(e));break;case"grid_line":{const e=r;for(let[n,r,i,s]of e){if(r>this.lastViewportRow)continue;const e=this.gridLineInfo.get(n);if(!e)continue;const o=this.bufferManager.getEditorFromGridId(n);if(!o)continue;const a=e.topLine+r;if(a>=o.document.lineCount||a<0){a>0&&(this.highlightProvider.cleanRow(n,r),t.add(n));continue}const l=_(o.document.lineAt(a).text,i,o.options.tabSize),u=this.bufferManager.isExternalTextDocument(o.document);this.highlightProvider.processHLCellsEvent(n,r,l,u,s)&&t.add(n)}break}}t.size&&this.applyHLGridUpdates(t)}handleExtensionRequest(e,t){return n=this,r=void 0,s=function*(){switch(e){case"text-decorations":{const[e,n]=t;this.applyTextDecorations(e,n);break}}},new((i=void 0)||(i=Promise))((function(e,t){function o(e){try{l(s.next(e))}catch(e){t(e)}}function a(e){try{l(s.throw(e))}catch(e){t(e)}}function l(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,a)}l((s=s.apply(n,r||[])).next())}));var n,r,i,s}get lastViewportRow(){return this.settings.viewportHeight-1}applyTextDecorations(t,n){const r=e.window.activeTextEditor;if(!r)return;const i=this.highlightProvider.getDecoratorForHighlightGroup(t);if(!i)return;const s=this.highlightProvider.getDecoratorOptions(i),o=[];for(const[t,i]of n)try{const n=parseInt(t,10)-1,a=r.document.lineAt(n).text,l=new Map;for(const[t,r]of i)if(this.textDecorationsAtTop){const i=r.length,u=E(a,t),c=[n,Math.min(u+r.length-1,a.length)].toString();if(l.has(c)){const e=l.get(c).renderOptions.after.contentText;l.get(c).renderOptions.after.contentText=(r[0]+e).substr(0,e.length)}else{const t={range:new e.Range(n,u+r.length-1,n,u+r.length-1),renderOptions:{after:Object.assign(Object.assign(Object.assign({margin:`0 0 0 -${Math.min(r.length-(u+r.length-1-a.length),r.length)}ch`},s),s.before),{width:`${i}ch; position:absoulute; z-index:99;`,contentText:r})}};l.set(c,t),o.push(t)}}else{const i=E(a,t-1),l={range:new e.Range(n,i,n,i),renderOptions:{before:Object.assign(Object.assign(Object.assign({},s),s.before),{contentText:r})}};o.push(l)}}catch(e){}r.setDecorations(i,o)}}class Be{constructor(e){this.logger=e,this.disposables=[]}dispose(){this.disposables.forEach((e=>e.dispose()))}handleVSCodeCommand(t,n){return r=this,i=void 0,o=function*(){return yield e.commands.executeCommand(t,...n)},new((s=void 0)||(s=Promise))((function(e,t){function n(e){try{l(o.next(e))}catch(e){t(e)}}function a(e){try{l(o.throw(e))}catch(e){t(e)}}function l(t){var r;t.done?e(t.value):(r=t.value,r instanceof s?r:new s((function(e){e(r)}))).then(n,a)}l((o=o.apply(r,i||[])).next())}));var r,i,s,o}}class Ie{constructor(t){this.logger=t,this.disposables=[],this.isDisplayed=!1,this.onDidChangeActiveTextEditor=e=>{e&&this.isEditorIsChannel(e)?this.isDisplayed=!0:(this.isDisplayed&&this.hideChannel(),this.isDisplayed=!1)},this.channel=e.window.createOutputChannel(`${m} Messages`),this.disposables.push(this.channel),this.disposables.push(e.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor))}dispose(){this.disposables.forEach((e=>e.dispose()))}handleRedrawBatch(e){for(const[t,...n]of e)switch(t){case"msg_show":{let e="";for(const[t,r,i]of n){if("return_prompt"===t)continue;if(t)continue;i&&(this.channel.clear(),e="");let n="";for(const e of r)n+=e[1];e+=("\n"===n[0]?"":"\n")+n}e.split("\n").slice(1).length>1?(this.showChannel(),this.channel.append(e)):this.isDisplayed&&this.channel.append(e);break}case"msg_history_show":{let e="\n";for(const t of n)for(const n of t)for(const[t,r]of n){let n="";for(const e of r)n+=e[1];e+=`${t}: ${n}\n`}this.showChannel(),this.channel.append(e);break}}}showChannel(){this.isDisplayed||(this.isDisplayed=!0,this.channel.clear(),this.channel.appendLine("VSCode-Neovim:"),this.channel.show())}hideChannel(){this.channel.hide()}isEditorIsChannel(e){const t=e.document;return"output"===t.uri.scheme&&!!t.lineAt(0).text.startsWith("VSCode-Neovim:")}}var Pe=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};class $e{constructor(e){if(this.NEOVIM_WIN_HEIGHT=201,this.NEOVIM_WIN_WIDTH=1e3,this.disposables=[],this.currentRedrawBatch=[],this.onNeovimNotification=(e,t)=>{const n=[this.modeManager,this.bufferManager,this.cursorManager,this.commandLineManager,this.statusLineManager,this.highlightManager,this.multilineMessagesManager],r=[this.modeManager,this.changeManager,this.commandsController,this.bufferManager,this.highlightManager,this.cursorManager],i=[this.customCommandsManager],s=[this.cursorManager];if("vscode-command"===e){const[e,n]=t;return void i.forEach((t=>Pe(this,void 0,void 0,(function*(){try{yield t.handleVSCodeCommand(e,Array.isArray(n)?n:[n])}catch(t){this.logger.error(`${e} failed, args: ${JSON.stringify(n)} error: ${t.message}`)}}))))}if("vscode-range-command"===e){const[e,n,r,i,o,a,l]=t;return void s.forEach((t=>{try{t.handleVSCodeRangeCommand(e,n,r,i,o,!!a,Array.isArray(l)?l:[l])}catch(t){this.logger.error(`${e} failed, range: [${n}, ${r}, ${i}, ${o}] args: ${JSON.stringify(l)} error: ${t.message}`)}}))}if("vscode-neovim"===e){const[e,n]=t;return void r.forEach((t=>{try{t.handleExtensionRequest(e,n)}catch(t){this.logger.error(`${e} failed, args: ${JSON.stringify(n)} error: ${t.message}`)}}))}if("redraw"!==e)return;const o=t;if(O("flush",t)){const e=[...this.currentRedrawBatch.splice(0),...o];n.forEach((t=>t.handleRedrawBatch(e)))}else this.currentRedrawBatch.push(...o)},this.handleCustomRequest=(e,t,n)=>Pe(this,void 0,void 0,(function*(){const r=[this.modeManager,this.changeManager,this.commandsController,this.bufferManager,this.highlightManager,this.cursorManager],i=[this.customCommandsManager],s=[this.cursorManager];try{let o;if("vscode-command"===e){const[e,n]=t;o=(yield Promise.all(i.map((t=>t.handleVSCodeCommand(e,Array.isArray(n)?n:[n]))))).find((e=>null!=e))}else if("vscode-range-command"===e){const[e,n,r,i,a,l,u]=t;o=(yield Promise.all(s.map((t=>t.handleVSCodeRangeCommand(e,n,r,i,a,!!l,Array.isArray(u)?u:[u]))))).find((e=>null!=e))}else if("vscode-neovim"===e){const[e,n]=t;o=(yield Promise.all(r.map((t=>t.handleExtensionRequest(e,n))))).find((e=>null!=e))}n.send(o||"",!1)}catch(e){n.send(e.message,!0)}})),this.settings=e,this.NEOVIM_WIN_HEIGHT=e.neovimViewportHeight,this.NEOVIM_WIN_WIDTH=e.neovimViewportWidth,!e.neovimPath)throw new Error("Neovim path is not defined");this.logger=new be(pe[e.logConf.level],e.logConf.logPath,e.logConf.outputToConsole),this.disposables.push(this.logger);let n=e.extensionPath;e.useWsl&&(n=(0,i.execSync)(`C:\\Windows\\system32\\wsl.exe wslpath '${n}'`).toString().trim());const r=o().posix.join(n,"vim","vscode-neovim.vim"),s=o().posix.join(n,"vim","vscode-options.vim"),u=t().workspace.workspaceFolders,c=["-N","--embed","-c",`source ${s}`,"--cmd",`source ${r}`,"-c",`cd ${u&&u.length?u[0].uri.fsPath:"~"}`];e.useWsl&&c.unshift(e.neovimPath),1===parseInt(process.env.NEOVIM_DEBUG||"",10)&&c.push("-u","NONE","--listen",`${process.env.NEOVIM_DEBUG_HOST||"127.0.0.1"}:${process.env.NEOVIM_DEBUG_PORT||4e3}`),e.customInitFile&&c.push("-u",e.customInitFile),this.logger.debug(`MainController: Spawning nvim, path: ${e.neovimPath}, useWsl: ${e.useWsl}, args: ${JSON.stringify(c)}`),this.nvimProc=(0,i.spawn)(e.useWsl?"C:\\Windows\\system32\\wsl.exe":e.neovimPath,c,{}),this.nvimProc.on("close",(e=>{this.logger.error(`MainController: Neovim exited with code: ${e}`)})),this.nvimProc.on("error",(e=>{this.logger.error(`MainController: Neovim spawn error: ${e.message}`)})),this.logger.debug("MainController: Attaching to neovim"),this.client=(0,a.ub)({proc:this.nvimProc,options:{logger:(0,l.createLogger)({transports:[new l.transports.Console],level:"error",exitOnError:!1})}})}init(){return Pe(this,void 0,void 0,(function*(){this.logger.debug("MainController: Init"),this.logger.debug("MainController: Attaching to neovim notifications"),this.client.on("disconnect",(()=>{this.logger.error("MainController: Neovim was disconnected")})),this.client.on("notification",this.onNeovimNotification),this.client.on("request",this.handleCustomRequest),yield this.client.setClientInfo("vscode-neovim",{major:0,minor:1,patch:0},"embedder",{},{}),yield this.checkNeovimVersion();const e=yield this.client.channelId;yield this.client.setVar("vscode_channel",e),this.commandsController=new c(this.client,this.settings.revealCursorScrollLine),this.disposables.push(this.commandsController),this.modeManager=new B(this.logger,this.client),this.disposables.push(this.modeManager),this.bufferManager=new ue(this.logger,this.client,{neovimViewportHeight:201,neovimViewportWidth:1e3}),this.disposables.push(this.bufferManager),this.highlightManager=new je(this.logger,this.bufferManager,{highlight:this.settings.highlightsConfiguration,viewportHeight:this.settings.neovimViewportHeight,textDecorationsAtTop:this.settings.textDecorationsAtTop}),this.disposables.push(this.highlightManager),this.changeManager=new xe(this.logger,this.client,this.bufferManager,this.modeManager),this.disposables.push(this.changeManager),this.cursorManager=new ge(this.logger,this.client,this.modeManager,this.bufferManager,this.changeManager,{mouseSelectionEnabled:!1}),this.disposables.push(this.cursorManager),this.typingManager=new he(this.logger,this.client,this.modeManager,this.changeManager),this.disposables.push(this.typingManager),this.commandLineManager=new De(this.logger,this.client),this.disposables.push(this.commandLineManager),this.statusLineManager=new Ae(this.logger,this.client),this.disposables.push(this.statusLineManager),this.customCommandsManager=new Be(this.logger),this.disposables.push(this.customCommandsManager),this.multilineMessagesManager=new Ie(this.logger),this.disposables.push(this.multilineMessagesManager),this.logger.debug("MainController: UIAttach"),yield this.client.uiAttach(this.NEOVIM_WIN_WIDTH,this.NEOVIM_WIN_HEIGHT,{rgb:!0,ext_cmdline:!0,ext_linegrid:!0,ext_hlstate:!0,ext_messages:!0,ext_multigrid:!0,ext_popupmenu:!0,ext_tabline:!0,ext_wildmenu:!0}),yield this.bufferManager.forceResync(),yield t().commands.executeCommand("setContext","neovim.init",!0),this.logger.debug("MainController: Init completed")}))}dispose(){for(const e of this.disposables)e.dispose();this.client.quit()}checkNeovimVersion(){return Pe(this,void 0,void 0,(function*(){const[,e]=yield this.client.apiInfo;(0===e.version.major&&e.version.minor<5||!e.ui_events.find((e=>"win_viewport"===e.name)))&&t().window.showErrorMessage("The extension requires neovim 0.5 nightly or greater")}))}}function Le(t){var n,r,i,s,o;return r=this,i=void 0,o=function*(){const r=e.extensions.getExtension(v),i=e.workspace.getConfiguration(m),s=M("neovimExecutablePaths",{vscodeSettingName:"neovimPath",environmentVariableName:"NEOVIM_PATH"});if(!s)return void e.window.showErrorMessage("Neovim: configure the path to neovim and restart the editor");const o="win32"==process.platform,a=i.get("highlightGroups.ignoreHighlights"),l=i.get("highlightGroups.highlights"),u=i.get("highlightGroups.unknownHighlight"),c=i.get("mouseSelectionStartVisualMode",!1),h=i.get("useCtrlKeysForNormalMode",!0),d=i.get("useCtrlKeysForInsertMode",!0),f=o&&i.get("useWSL",!1),g=i.get("revealCursorScrollLine",!1),p=i.get("neovimWidth",1e3),b=null!==(n=M("neovimInitVimPaths",{vscodeSettingName:"neovimInitPath"}))&&void 0!==n?n:"",y=i.get("logPath",""),w=i.get("logLevel","none"),E=i.get("logOutputToConsole",!1),_=i.get("textDecorationsAtTop",!1);e.commands.executeCommand("setContext","neovim.ctrlKeysNormal",h),e.commands.executeCommand("setContext","neovim.ctrlKeysInsert",d);try{const n=new $e({customInitFile:b,extensionPath:t.extensionPath.replace(/\\/g,"\\\\"),highlightsConfiguration:{highlights:l,ignoreHighlights:a,unknownHighlight:u},mouseSelection:c,neovimPath:s,neovimViewportHeight:201,useWsl:r.extensionKind!==e.ExtensionKind.Workspace&&f,neovimViewportWidth:p,textDecorationsAtTop:_,revealCursorScrollLine:g,logConf:{logPath:y,outputToConsole:E,level:w}});t.subscriptions.push(n),yield n.init()}catch(t){e.window.showErrorMessage(`Unable to init vscode-neovim: ${t.message}`)}},new((s=void 0)||(s=Promise))((function(e,t){function n(e){try{l(o.next(e))}catch(e){t(e)}}function a(e){try{l(o.throw(e))}catch(e){t(e)}}function l(t){var r;t.done?e(t.value):(r=t.value,r instanceof s?r:new s((function(e){e(r)}))).then(n,a)}l((o=o.apply(r,i||[])).next())}))}function Re(){}})(),module.exports=r})(); +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js.LICENSE.txt b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js.LICENSE.txt new file mode 100644 index 00000000..21d6cb08 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js.LICENSE.txt @@ -0,0 +1 @@ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js.map b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js.map new file mode 100644 index 00000000..df0f5fd4 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/dist/extension.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[".././node_modules/@msgpack/msgpack/dist/CachedKeyDecoder.js",".././node_modules/@msgpack/msgpack/dist/Decoder.js",".././node_modules/@msgpack/msgpack/dist/Encoder.js",".././node_modules/@msgpack/msgpack/dist/ExtData.js",".././node_modules/@msgpack/msgpack/dist/ExtensionCodec.js",".././node_modules/@msgpack/msgpack/dist/decode.js",".././node_modules/@msgpack/msgpack/dist/decodeAsync.js",".././node_modules/@msgpack/msgpack/dist/encode.js",".././node_modules/@msgpack/msgpack/dist/index.js",".././node_modules/@msgpack/msgpack/dist/timestamp.js",".././node_modules/@msgpack/msgpack/dist/utils/int.js",".././node_modules/@msgpack/msgpack/dist/utils/prettyByte.js",".././node_modules/@msgpack/msgpack/dist/utils/stream.js",".././node_modules/@msgpack/msgpack/dist/utils/typedArrays.js",".././node_modules/@msgpack/msgpack/dist/utils/utf8.js",".././node_modules/async/asyncify.js",".././node_modules/async/eachOf.js",".././node_modules/async/eachOfLimit.js",".././node_modules/async/eachOfSeries.js",".././node_modules/async/forEach.js",".././node_modules/async/internal/breakLoop.js",".././node_modules/async/internal/doLimit.js",".././node_modules/async/internal/eachOfLimit.js",".././node_modules/async/internal/getIterator.js",".././node_modules/async/internal/initialParams.js",".././node_modules/async/internal/iterator.js",".././node_modules/async/internal/once.js",".././node_modules/async/internal/onlyOnce.js",".././node_modules/async/internal/parallel.js",".././node_modules/async/internal/setImmediate.js",".././node_modules/async/internal/slice.js",".././node_modules/async/internal/withoutIndex.js",".././node_modules/async/internal/wrapAsync.js",".././node_modules/async/series.js",".././node_modules/color-convert/conversions.js",".././node_modules/color-convert/index.js",".././node_modules/color-convert/node_modules/color-name/index.js",".././node_modules/color-convert/route.js",".././node_modules/color-name/index.js",".././node_modules/color-string/index.js",".././node_modules/color/index.js",".././node_modules/colornames/colors.js",".././node_modules/colornames/index.js",".././node_modules/colors/lib/colors.js",".././node_modules/colors/lib/custom/trap.js",".././node_modules/colors/lib/custom/zalgo.js",".././node_modules/colors/lib/maps/america.js",".././node_modules/colors/lib/maps/rainbow.js",".././node_modules/colors/lib/maps/random.js",".././node_modules/colors/lib/maps/zebra.js",".././node_modules/colors/lib/styles.js",".././node_modules/colors/lib/system/has-flag.js",".././node_modules/colors/lib/system/supports-colors.js",".././node_modules/colors/safe.js",".././node_modules/colorspace/index.js",".././node_modules/core-util-is/lib/util.js",".././node_modules/diagnostics/index.js",".././node_modules/enabled/index.js",".././node_modules/env-variable/index.js",".././node_modules/fast-diff/diff.js",".././node_modules/fast-safe-stringify/index.js",".././node_modules/fecha/lib/fecha.js",".././node_modules/inherits/inherits.js",".././node_modules/inherits/inherits_browser.js",".././node_modules/is-stream/index.js",".././node_modules/isarray/index.js",".././node_modules/kuler/index.js",".././node_modules/lodash.defaults/index.js",".././node_modules/lodash.omit/index.js",".././node_modules/lodash/_Symbol.js",".././node_modules/lodash/_arrayLikeKeys.js",".././node_modules/lodash/_baseGetTag.js",".././node_modules/lodash/_baseIsArguments.js",".././node_modules/lodash/_baseIsTypedArray.js",".././node_modules/lodash/_baseKeys.js",".././node_modules/lodash/_baseTimes.js",".././node_modules/lodash/_baseUnary.js",".././node_modules/lodash/_freeGlobal.js",".././node_modules/lodash/_getRawTag.js",".././node_modules/lodash/_isIndex.js",".././node_modules/lodash/_isPrototype.js",".././node_modules/lodash/_nativeKeys.js",".././node_modules/lodash/_nodeUtil.js",".././node_modules/lodash/_objectToString.js",".././node_modules/lodash/_overArg.js",".././node_modules/lodash/_root.js",".././node_modules/lodash/isArguments.js",".././node_modules/lodash/isArray.js",".././node_modules/lodash/isArrayLike.js",".././node_modules/lodash/isBuffer.js",".././node_modules/lodash/isFunction.js",".././node_modules/lodash/isLength.js",".././node_modules/lodash/isObject.js",".././node_modules/lodash/isObjectLike.js",".././node_modules/lodash/isTypedArray.js",".././node_modules/lodash/keys.js",".././node_modules/lodash/noop.js",".././node_modules/lodash/stubFalse.js",".././node_modules/logform/align.js",".././node_modules/logform/browser.js",".././node_modules/logform/cli.js",".././node_modules/logform/colorize.js",".././node_modules/logform/combine.js",".././node_modules/logform/dist/align.js",".././node_modules/logform/dist/browser.js",".././node_modules/logform/dist/cli.js",".././node_modules/logform/dist/colorize.js",".././node_modules/logform/dist/combine.js",".././node_modules/logform/dist/errors.js",".././node_modules/logform/dist/format.js",".././node_modules/logform/dist/index.js",".././node_modules/logform/dist/json.js",".././node_modules/logform/dist/label.js",".././node_modules/logform/dist/levels.js",".././node_modules/logform/dist/logstash.js",".././node_modules/logform/dist/metadata.js",".././node_modules/logform/dist/ms.js",".././node_modules/logform/dist/pad-levels.js",".././node_modules/logform/dist/pretty-print.js",".././node_modules/logform/dist/printf.js",".././node_modules/logform/dist/simple.js",".././node_modules/logform/dist/splat.js",".././node_modules/logform/dist/timestamp.js",".././node_modules/logform/dist/uncolorize.js","..//home/alexey/vscode-neovim/node_modules/logform/dist|sync|/^\\.\\/.*\\.js$/",".././node_modules/logform/errors.js",".././node_modules/logform/examples/combine.js",".././node_modules/logform/examples/filter.js",".././node_modules/logform/examples/invalid.js",".././node_modules/logform/examples/metadata.js",".././node_modules/logform/examples/padLevels.js",".././node_modules/logform/examples/volume.js",".././node_modules/logform/format.js",".././node_modules/logform/index.js",".././node_modules/logform/json.js",".././node_modules/logform/label.js",".././node_modules/logform/levels.js",".././node_modules/logform/logstash.js",".././node_modules/logform/metadata.js",".././node_modules/logform/ms.js",".././node_modules/logform/pad-levels.js",".././node_modules/logform/pretty-print.js",".././node_modules/logform/printf.js",".././node_modules/logform/simple.js",".././node_modules/logform/splat.js",".././node_modules/logform/timestamp.js",".././node_modules/logform/uncolorize.js","..//home/alexey/vscode-neovim/node_modules/logform|sync|/^\\.\\/.*\\.js$/",".././node_modules/ms/index.js",".././node_modules/neovim/lib/api/Base.js",".././node_modules/neovim/lib/api/Buffer.js",".././node_modules/neovim/lib/api/Neovim.js",".././node_modules/neovim/lib/api/Tabpage.js",".././node_modules/neovim/lib/api/Window.js",".././node_modules/neovim/lib/api/client.js",".././node_modules/neovim/lib/api/helpers/createChainableApi.js",".././node_modules/neovim/lib/api/index.js",".././node_modules/neovim/lib/api/types.js",".././node_modules/neovim/lib/attach.js",".././node_modules/neovim/lib/attach/attach.js",".././node_modules/neovim/lib/host/NvimPlugin.js",".././node_modules/neovim/lib/host/factory.js",".././node_modules/neovim/lib/host|sync",".././node_modules/neovim/lib/index.js",".././node_modules/neovim/lib/plugin.js",".././node_modules/neovim/lib/plugin/autocmd.js",".././node_modules/neovim/lib/plugin/command.js",".././node_modules/neovim/lib/plugin/function.js",".././node_modules/neovim/lib/plugin/index.js",".././node_modules/neovim/lib/plugin/plugin.js",".././node_modules/neovim/lib/plugin/properties.js",".././node_modules/neovim/lib/utils/devnull.js",".././node_modules/neovim/lib/utils/logger.js",".././node_modules/neovim/lib/utils/transport.js",".././node_modules/one-time/index.js",".././node_modules/process-nextick-args/index.js",".././node_modules/readable-stream/lib/_stream_duplex.js",".././node_modules/readable-stream/lib/_stream_readable.js",".././node_modules/readable-stream/lib/_stream_writable.js",".././node_modules/readable-stream/lib/internal/streams/BufferList.js",".././node_modules/readable-stream/lib/internal/streams/destroy.js",".././node_modules/readable-stream/lib/internal/streams/stream.js",".././node_modules/readable-stream/writable.js",".././node_modules/safe-buffer/index.js",".././node_modules/simple-swizzle/index.js",".././node_modules/simple-swizzle/node_modules/is-arrayish/index.js",".././node_modules/stack-trace/lib/stack-trace.js",".././node_modules/string_decoder/lib/string_decoder.js",".././node_modules/text-hex/index.js",".././node_modules/triple-beam/config/cli.js",".././node_modules/triple-beam/config/index.js",".././node_modules/triple-beam/config/npm.js",".././node_modules/triple-beam/config/syslog.js",".././node_modules/triple-beam/index.js",".././node_modules/util-deprecate/node.js",".././node_modules/winston-transport/index.js",".././node_modules/winston-transport/legacy.js",".././node_modules/winston/lib/winston.js",".././node_modules/winston/lib/winston/common.js",".././node_modules/winston/lib/winston/config/index.js",".././node_modules/winston/lib/winston/container.js",".././node_modules/winston/lib/winston/create-logger.js",".././node_modules/winston/lib/winston/exception-handler.js",".././node_modules/winston/lib/winston/exception-stream.js",".././node_modules/winston/lib/winston/logger.js",".././node_modules/winston/lib/winston/profiler.js",".././node_modules/winston/lib/winston/rejection-handler.js",".././node_modules/winston/lib/winston/tail-file.js",".././node_modules/winston/lib/winston/transports/console.js",".././node_modules/winston/lib/winston/transports/file.js",".././node_modules/winston/lib/winston/transports/http.js",".././node_modules/winston/lib/winston/transports/index.js",".././node_modules/winston/lib/winston/transports/stream.js",".././node_modules/winston/node_modules/readable-stream/errors.js",".././node_modules/winston/node_modules/readable-stream/lib/_stream_duplex.js",".././node_modules/winston/node_modules/readable-stream/lib/_stream_passthrough.js",".././node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js",".././node_modules/winston/node_modules/readable-stream/lib/_stream_transform.js",".././node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/async_iterator.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/buffer_list.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/destroy.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/end-of-stream.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/from.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/pipeline.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/state.js",".././node_modules/winston/node_modules/readable-stream/lib/internal/streams/stream.js",".././node_modules/winston/node_modules/readable-stream/readable.js",".././node_modules/winston/node_modules/safe-buffer/index.js",".././node_modules/winston/node_modules/string_decoder/lib/string_decoder.js","../external \"buffer\"","../external \"events\"","../external \"fs\"","../external \"http\"","../external \"https\"","../external \"module\"","../external \"net\"","../external \"os\"","../external \"path\"","../external \"stream\"","../external \"string_decoder\"","../external \"tty\"","../external \"util\"","../external \"vm\"","../external \"zlib\"","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../external \"vscode\"","../external \"child_process\"",".././src/commands_controller.ts",".././node_modules/ts-wcwidth/dist/module/combining.js",".././node_modules/ts-wcwidth/dist/module/index.js",".././src/utils.ts",".././src/mode_manager.ts",".././node_modules/lodash-es/isObject.js",".././node_modules/lodash-es/_freeGlobal.js",".././node_modules/lodash-es/_root.js",".././node_modules/lodash-es/now.js",".././node_modules/lodash-es/_trimmedEndIndex.js",".././node_modules/lodash-es/_baseTrim.js",".././node_modules/lodash-es/_Symbol.js",".././node_modules/lodash-es/_getRawTag.js",".././node_modules/lodash-es/_objectToString.js",".././node_modules/lodash-es/_baseGetTag.js",".././node_modules/lodash-es/toNumber.js",".././node_modules/lodash-es/isSymbol.js",".././node_modules/lodash-es/isObjectLike.js",".././node_modules/lodash-es/debounce.js",".././src/buffer_manager.ts",".././src/typing_manager.ts",".././src/cursor_manager.ts",".././src/logger.ts",".././src/document_change_manager.ts",".././src/command_line.ts",".././src/command_line_manager.ts",".././src/status_line.ts",".././src/status_line_manager.ts",".././src/highlight_provider.ts",".././src/highlight_manager.ts",".././src/custom_commands_manager.ts",".././src/multiline_messages_manager.ts",".././src/main_controller.ts",".././src/extension.ts"],"names":["Object","defineProperty","exports","value","CachedKeyDecoder","utf8_1","maxKeyLength","maxLengthPerKey","this","caches","i","push","byteLength","bytes","inputOffset","records","recordsLength","length","FIND_CHUNK","record","recordBytes","j","Math","random","cachedValue","get","utf8DecodeJs","slicedCopyOfBytes","Uint8Array","prototype","slice","call","store","Decoder","DataViewIndexOutOfBoundsError","prettyByte_1","ExtensionCodec_1","int_1","typedArrays_1","CachedKeyDecoder_1","isValidMapKeyType","key","keyType","EMPTY_VIEW","DataView","ArrayBuffer","EMPTY_BYTES","buffer","getInt8","e","constructor","Error","MORE_DATA","sharedCachedKeyDecoder","extensionCodec","ExtensionCodec","defaultCodec","context","maxStrLength","DEFAULT_MAX_LENGTH","maxBinLength","maxArrayLength","maxMapLength","maxExtLength","cachedKeyDecoder","totalPos","pos","view","headByte","stack","ensureUint8Array","createDataView","hasRemaining","remainingData","subarray","newData","concated","set","setBuffer","size","posToShow","RangeError","object","decodeSync","createNoExtraBytesError","stream","decoded","appendBuffer","prettyByte","decodeMultiAsync","isArray","isArrayHeaderRequired","arrayItemsLeft","readArraySize","complete","DECODE","readHeadByte","pushMapState","pushArrayState","decodeUtf8String","readF32","readF64","readU8","readU16","readU32","readU64","readI8","readI16","readI32","readI64","lookU8","lookU16","lookU32","decodeBinary","decodeExtension","state","type","array","position","pop","map","readCount","Array","headerOffset","_a","offset","stateIsMapKey","canBeCached","decode","TEXT_ENCODING_AVAILABLE","TEXT_DECODER_THRESHOLD","utf8DecodeTD","headOffset","extType","data","getUint8","getUint16","getUint32","getInt16","getInt32","getUint64","getInt64","getFloat32","getFloat64","Encoder","DEFAULT_INITIAL_BUFFER_SIZE","DEFAULT_MAX_DEPTH","maxDepth","initialBufferSize","sortKeys","forceFloat32","ignoreUndefined","depth","encodeNil","encodeBoolean","encodeNumber","encodeString","encodeObject","sizeToWrite","requiredSize","resizeBuffer","newSize","newBuffer","newBytes","newView","writeU8","Number","isSafeInteger","writeU16","writeU32","writeU64","writeI8","writeI16","writeI32","writeI64","writeF32","writeF64","strLength","TEXT_ENCODER_THRESHOLD","utf8Count","ensureBufferSizeToWrite","writeStringHeader","utf8EncodeTE","utf8EncodeJs","ext","tryToEncode","encodeExtension","encodeArray","isView","encodeBinary","toString","apply","encodeMap","writeU8a","item","encode","keys","count","undefined","sort","countWithoutUndefined","setUint8","values","setInt8","setUint16","setInt16","setUint32","setInt32","setFloat32","setFloat64","setUint64","setInt64","ExtData","ExtData_1","timestamp_1","builtInEncoders","builtInDecoders","encoders","decoders","register","timestampExtension","index","encoder","decoder","defaultDecodeOptions","Decoder_1","options","decodeSingleSync","decodeStream","decodeArrayStream","decodeAsync","decode_1","stream_1","async","streamLike","ensureAsyncIterabe","decodeSingleAsync","Encoder_1","defaultEncodeOptions","getUint8Array","encode_1","enumerable","decodeAsync_1","EXT_TIMESTAMP","encodeDateToTimeSpec","encodeTimeSpecToTimestamp","decodeTimestampToTimeSpec","encodeTimestampExtension","decodeTimestampExtension","sec","nsec","rv","secHigh","secLow","date","msec","getTime","floor","nsecInSec","Date","byteOffset","nsec30AndSecHigh2","timeSpec","high","low","byte","abs","padStart","isAsyncIterable","Symbol","asyncIterator","assertNonNull","asyncIterableFromStream","reader","getReader","done","read","releaseLock","from","bufferView","process","env","TEXT_ENCODING","TextEncoder","TextDecoder","str","charCodeAt","extra","output","outputOffset","sharedTextEncoder","encodeInto","end","units","result","byte1","byte2","byte3","unit","String","fromCharCode","sharedTextDecoder","TEXT_DECODER","stringBytes","default","func","_initialParams2","args","callback","_isObject2","then","invokeCallback","err","message","_interopRequireDefault","_setImmediate2","obj","__esModule","error","rethrow","module","coll","iteratee","_isArrayLike2","eachOfArrayLike","eachOfGeneric","_wrapAsync2","_breakLoop2","_eachOfLimit2","_doLimit2","_noop2","_once2","_onlyOnce2","completed","iteratorCallback","Infinity","limit","_eachOfLimit3","_eachOf2","_withoutIndex2","fn","iterable","nextElem","_iterator2","running","looping","iterateeCallback","replenish","elem","iteratorSymbol","iterator","_slice2","arguments","len","createArrayIterator","okeys","_getIterator2","next","createES2015Iterator","_keys2","callFn","eachfn","tasks","results","task","hasNextTick","hasSetImmediate","fallback","wrap","_defer","setImmediate","nextTick","setTimeout","defer","arrayLike","start","newLen","max","newArr","idx","isAsync","_asyncify2","supportsSymbol","toStringTag","asyncFn","_parallel2","_eachOfSeries2","cssKeywords","reverseKeywords","hasOwnProperty","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","h","l","r","g","b","min","delta","rdif","gdif","bdif","s","v","diff","diffc","c","k","reversed","currentClosestKeyword","x","y","currentClosestDistance","distance","pow","z","t1","t2","t3","val","smin","lmin","hi","f","p","q","t","sl","vmin","n","wh","bl","ratio","m","y2","x2","z2","a","atan2","PI","sqrt","hr","cos","sin","round","ansi","color","mult","rem","string","toUpperCase","substring","match","colorString","split","char","join","integer","parseInt","hue","chroma","mg","pure","w","conversions","route","forEach","fromModel","routes","toModel","wrappedFn","conversion","wrapRounded","raw","wrapRaw","link","to","wrapConversion","graph","path","parent","cur","unshift","models","buildGraph","queue","current","adjacents","adjacent","node","deriveBFS","colorNames","swizzle","reverseNames","name","cs","clamp","num","hexDouble","toLowerCase","hexAlpha","i2","parseFloat","alpha","isNaN","rgba","percent","hsla","hwba","_slice","skippedModels","hashedModelKeys","limiters","Color","valpha","zeroArray","splice","indexOf","hashedKeys","JSON","stringify","freeze","getset","channel","modifier","maxfn","assertArray","arr","toJSON","places","self","concat","percentString","unitArray","unitObject","toFixed","roundTo","roundToPlace","red","green","blue","saturationl","lightness","saturationv","white","wblack","cyan","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","grayscale","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","newAlpha","colors","cssColors","filter","css","vgaColors","vga","trim","all","themes","util","ansiStyles","styles","defineProps","defineProperties","newLineRegex","RegExp","supportsColor","enabled","enable","disable","stripColors","strip","replace","stylize","style","styleMap","open","close","matchOperatorsRe","build","_styles","builder","applyStyle","__proto__","proto","ret","grey","closeRe","TypeError","escapeStringRegexp","arg","inspect","newLinesPresent","nestedStyles","code","setTheme","theme","out","console","log","sequencer","exploded","trap","zalgo","maps","america","zebra","rainbow","init","text","d","o","u","chars","rand","soul","up","down","mid","randomNumber","range","isChar","character","bool","counts","heComes","letter","rainbowColors","available","inverse","codes","reset","bold","dim","italic","underline","hidden","strikethrough","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgGray","bgGrey","bgBrightRed","bgBrightGreen","bgBrightYellow","bgBrightBlue","bgBrightMagenta","bgBrightCyan","bgBrightWhite","blackBG","redBG","greenBG","yellowBG","blueBG","magentaBG","cyanBG","whiteBG","flag","argv","terminatorPos","prefix","test","os","hasFlag","forceColor","getSupportLevel","isTTY","platform","osRelease","release","versions","some","sign","CI_NAME","TEAMCITY_VERSION","version","TERM_PROGRAM_VERSION","TERM_PROGRAM","TERM","hasBasic","has256","has16m","FORCE_COLOR","stdout","stderr","namespace","delimiter","base","objectToString","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","re","isObject","isDate","isError","isFunction","isPrimitive","isBuffer","Buffer","colorspace","kuler","tty","factory","line","format","write","variables","variable","envy","charAt","substr","has","environment","merge","window","parse","localStorage","debug","location","hash","lower","add","query","part","parser","exec","decodeURIComponent","DIFF_DELETE","diff_main","text1","text2","cursor_pos","_fix_unicode","editdiff","oldText","newText","oldRange","newRange","oldLength","newLength","oldCursor","oldBefore","oldAfter","maybeNewCursor","newCursor","newBefore","newAfter","prefixLength","oldPrefix","newPrefix","make_edit_splice","cursor","suffixLength","oldSuffix","newSuffix","find_cursor_edit_diff","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","longtext","shorttext","hm","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","best_common","text1_a","text1_b","text2_a","text2_b","hm1","ceil","hm2","diff_halfMatch_","mid_common","diffs_a","diffs_b","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","y1","x1","k2_offset","diff_bisectSplit_","k2","diff_bisect_","diff_compute_","diff_cleanupMerge","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","is_surrogate_pair_start","pointerend","is_surrogate_pair_end","fix_unicode","pointer","count_delete","count_insert","text_delete","text_insert","previous_equality","ends_with_pair_start","stray","starts_with_pair_end","changes","charCode","before","oldMiddle","newMiddle","after","tuples","remove_empty_tuples","INSERT","DELETE","EQUAL","stable","deterministicStringify","stableStringify","replacerStack","replacer","spacer","res","decirc","replaceGetterValues","propertyDescriptor","getOwnPropertyDescriptor","configurable","compareFunction","tmp","deterministicDecirc","token","twoDigitsOptional","twoDigits","word","literal","shorten","sLen","monthUpdate","arrName","i18n","assign","origObj","_i","args_1","dayNames","monthNames","monthNamesShort","defaultI18n","dayNamesShort","amPm","DoFn","dayOfMonth","globalI18n","setGlobalDateI18n","regexEscape","pad","formatFlags","D","dateObj","getDate","DD","Do","getDay","dd","ddd","dddd","M","getMonth","MM","MMM","MMMM","YY","getFullYear","YYYY","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","S","getMilliseconds","SS","SSS","A","ZZ","getTimezoneOffset","Z","monthParse","emptyDigits","emptyWord","timezoneOffset","parts","minutes","parseFlags","cent","globalMasks","shortDate","mediumDate","longDate","fullDate","isoDate","isoDateTime","shortTime","mediumTime","longTime","setGlobalDateMasks","masks","mask","literals","$0","$1","combinedI18nSettings","shift","dateStr","dateInfo","year","month","day","hour","minute","second","millisecond","isPm","parseInfo","newFormat","specifiedFields","requiredFields","info","field","regex","requiredField","matches","dateWithoutTZ","validateFields","UTC","inherits","create","ctor","superCtor","super_","writable","TempCtor","isStream","pipe","_write","_writableState","readable","_read","_readableState","duplex","transform","_transform","_transformState","colornames","Kuler","suffix","MAX_SAFE_INTEGER","reIsUint","thisArg","objectProto","propertyIsEnumerable","nativeMax","assignInDefaults","objValue","srcValue","eq","assignValue","baseRest","otherArgs","isIndex","other","isArrayLike","isLength","tag","assigner","assignInWith","source","srcIndex","customizer","props","newValue","copyObject","inherited","isObjectLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","arrayLikeKeys","nativeKeysIn","Ctor","isProto","baseKeysIn","keysIn","sources","guard","isIterateeCall","defaults","HASH_UNDEFINED","reIsHostCtor","freeGlobal","global","freeSelf","root","Function","arrayIncludes","fromIndex","predicate","fromRight","baseFindIndex","baseIsNaN","baseIndexOf","arrayMap","arrayPush","cacheHas","cache","overArg","uid","arrayProto","funcProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","reIsNative","getPrototype","getPrototypeOf","spreadableSymbol","isConcatSpreadable","nativeGetSymbols","getOwnPropertySymbols","Map","getNative","nativeCreate","Hash","entries","clear","entry","ListCache","MapCache","SetCache","__data__","assocIndexOf","baseFlatten","isStrict","isFlattenable","getMapData","getValue","isHostObject","toSource","baseIsNative","getSymbols","stubArray","getSymbolsIn","toKey","omit","basePickBy","basePick","comparator","includes","isCommon","valuesLength","outer","computed","valuesIndex","baseDifference","keysFunc","symbolsFunc","baseGetAllKeys","getAllKeysIn","isTypedArray","isArr","isArg","isBuff","isType","getRawTag","symToStringTag","baseGetTag","typedArrayTags","isPrototype","nativeKeys","nativeObjectToString","isOwn","unmasked","freeExports","nodeType","freeModule","freeProcess","nodeUtil","require","types","binding","baseIsArguments","stubFalse","baseIsTypedArray","baseUnary","nodeIsTypedArray","baseKeys","levels","Colorizer","Padder","configs","MESSAGE","CliFormat","opts","npm","colorizer","padder","Format","LEVEL","hasSpace","addColors","clrs","nextColors","reduce","acc","allColors","lookup","colorize","cascade","formats","every","isValidFormat","fmt","combinedFormat","instance","_classCallCheck","Constructor","_defineProperties","target","descriptor","_require3","protoProps","_require","staticProps","_len","_key","_defineProperty","einfo","_ref","_Object$assign","_typeof","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","bind","sham","Proxy","setPrototypeOf","InvalidFormatError","_Error","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","formatFn","_this","captureStackTrace","createFormatWrap","exposeFormat","jsonStringify","space","label","config","logstash","timestamp","fillExcept","fillExceptKeys","metadataKey","savedKeys","metadata","fillWith","fillWithKeys","ms","curr","prevTime","_arrayLikeToArray","arr2","paddings","paddingForLevels","filler","lvls","_arrayWithoutHoles","iter","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","maxLength","targetLen","rep","repeat","getLongestLevel","paddingForLevel","SPLAT","stripped","Printf","templateFn","template","stringifiedRest","splat","padding","formatRegExp","escapedPercent","Splatter","tokens","msg","percents","escapes","extraSplat","metas","metalen","_splat","fecha","toISOString","alias","webpackContext","req","id","webpackContextResolve","__webpack_require__","resolve","combine","dir","ignorePrivate","private","willNeverThrow","just","too","many","json","defaultMessage","application","purchaseAmount","fillExceptMessage","category","subCategory","fillWithMessage","publisher","author","book","chainedMessage","purchasePrice","purchaseDate","transactionId","padLevels","simple","paddedFormat","warn","http","verbose","silly","volume","yell","whisper","scream","super","plural","msAbs","isPlural","isFinite","long","fmtShort","__awaiter","_arguments","P","generator","Promise","reject","fulfilled","step","rejected","events_1","DO_REQUEST","BaseApi","EventEmitter","transport","logger","client","request","setTransport","_isReady","catch","newError","asyncRequest","_args","_getArgsByPrefix","notify","_b","Base_1","types_1","DETACH","ATTACH","Metadata","ExtType","sendBuffer","isAttached","getLines","getCommands","strictIndexing","indexing","_lines","_start","_end","lines","setLines","mode","hlGroup","_hlGroup","colStart","colEnd","srcId","_srcId","lineStart","lineEnd","nsId","chunks","eventName","cb","attached","unlisten","attachBuffer","detachBuffer","createChainableApi_1","Buffer_1","Tabpage_1","Window_1","Neovim","Window","Tabpage","createChainableApi","tabpage","getWindows","getWindow","win","setWindow","getLine","setLine","nameOrId","isRgb","functionName","expr","lua","dict","fname","calls","escapeCsi","button","action","grid","row","col","flags","highlight","pid","fromPart","doIt","special","outWrite","width","height","event","methods","attributes","getNamespaces","insert","finish","listed","scratch","createBuf","enter","openWin","winConfig","force","winClose","command","transport_1","Neovim_1","NeovimClient","attachedBuffers","Transport","requestQueue","transportAttached","handleRequest","handleNotification","writer","attach","setupTransport","_channelId","method","resp","restArgs","isApiReady","emit","endsWith","startsWith","shortName","bufferKey","delete","emitNotification","on","removeAllListeners","generateApi","requestApi","channelId","pending","bufferMap","cbs","handlers","handler","baseProperties","getOwnPropertyNames","Type","requestPromise","chainCallPromise","status","proxyHandler","prop","isOnPrototype","isGetter","receiver","client_1","attach_1","net_1","_reader","_writer","proc","socket","createConnection","stdin","loggerInstance","neovim","logger_1","callable","NvimPlugin","filename","plugin","nvim","dev","alwaysInit","autocmds","commands","functions","pattern","spec","sync","option","errMsg","__importStar","mod","__importDefault","vm","lodash_defaults_1","lodash_omit_1","devnull_1","NvimPlugin_1","Module","REMOVED_GLOBALS","makeRequireFunction","_resolveFilename","main","mainModule","extensions","_extensions","compileInSandbox","sandbox","content","dirname","newContent","wrapper","compiledWrapper","runInContext","loadPlugin","paths","_nodeModulePaths","createContext","debugId","basename","sout","createDebugFunction","oldCompile","_compile","moduleExports","removedGlobalStub","devNull","DevNull","umask","createSandbox","defaultImport","file","createPlugin","webpackEmptyContext","index_1","plugin_1","Plugin","Autocmd","Command","properties_1","autocmd","cls","methodName","isMethod","nameWithPattern","NVIM_METHOD_NAME","NVIM_SYNC","NVIM_SPEC","nvimFunction","eval","function_1","autocmd_1","command_1","setApi","setOptions","autoCmdOpts","registerAutocmd","cmdOpts","nargs","registerCommand","funcOpts","registerFunction","outter","NVIM_PLUGIN","NVIM_DEV_MODE","Duplex","chunk","enc","winston","winstonLogger","createLogger","NVIM_NODE_LOG_FILE","transports","File","Console","msgpack_1","Response","requestId","sent","encoded","nextRequestId","initializeExtensionCodec","codec","input","asyncDecodeGenerator","resolveGeneratorRecursively","resolved","parseMessage","encodeToBuffer","msgType","called","onetime","displayName","arg1","arg2","arg3","pna","objectKeys","Readable","Writable","allowHalfOpen","once","onend","ended","onEndNT","highWaterMark","destroyed","_destroy","ReadableState","EElistenerCount","emitter","listeners","Stream","OurUint8Array","debugUtil","debuglog","StringDecoder","BufferList","destroyImpl","kProxyEvents","isDuplex","objectMode","readableObjectMode","hwm","readableHwm","readableHighWaterMark","defaultHwm","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","awaitDrain","readingMore","encoding","destroy","readableAddChunk","addToFront","skipChunkCheck","er","emitReadable","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","needMoreData","_undestroy","undestroy","isPaused","setEncoding","MAX_HWM","howMuchToRead","head","computeNewHighWaterMark","emitReadable_","flow","maybeReadMore_","nReadingNextTick","resume_","fromList","list","hasStrings","nb","tail","copyFromBufferString","allocUnsafe","copy","buf","copyFromBuffer","fromListPartial","endReadable","endReadableNT","xs","nOrig","doRead","dest","pipeOpts","src","endFn","unpipe","onunpipe","unpipeInfo","hasUnpiped","removeListener","onclose","onfinish","ondrain","onerror","ondata","cleanedUp","needDrain","pipeOnDrain","increasedAwaitDrain","pause","prependListener","_events","resume","dests","ev","addListener","paused","_fromList","CorkedRequest","corkReq","pendingcb","onCorkedFinish","corkedRequestsFree","asyncWrite","browser","WritableState","realHasInstance","internalUtil","deprecate","nop","writableObjectMode","writableHwm","writableHighWaterMark","finalCalled","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writecb","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","final","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","prefinish","getBuffer","_","hasInstance","writeAfterEnd","valid","validChunk","newChunk","decodeChunk","last","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","alloc","custom","emitErrorNT","readableDestroyed","writableDestroyed","READABLE_STREAM","copyProps","dst","SafeBuffer","encodingOrOffset","allocUnsafeSlow","fill","SlowBuffer","isArrayish","CallSite","properties","property","belowFn","oldLimit","stackTraceLimit","dummyObject","v8Handler","prepareStackTrace","v8StackTrace","_createParsedCallSite","fileName","lineNumber","typeName","columnNumber","lineMatch","isNative","methodStart","lastIndexOf","objectEnd","callSite","isEncoding","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","utf8CheckExtraBytes","total","utf8CheckIncomplete","help","prompt","emerg","alert","crit","warning","notice","for","TransportStream","handleExceptions","handleRejections","silent","logv","exception","errState","transformed","infos","_accept","_nop","LegacyTransportStream","_deprecated","__winstonError","logform","ExceptionHandler","RejectionHandler","Container","loggers","defaultLogger","exceptions","exceptionHandlers","rejectionHandlers","deprecated","forFunctions","forProperties","moved","useFormat","movedTo","movedNotice","cli","syslog","existing","_delete","_removeLogger","Logger","DerivedLogger","_addDefaultMeta","isLevelEnabledFunctionName","isLevelEnabled","asyncForEach","stackTrace","ExceptionStream","_addHandler","catcher","_uncaughtException","getProcessInfo","getOsInfo","trace","getTrace","getuid","gid","getgid","cwd","execPath","memoryUsage","loadavg","uptime","site","column","getColumnNumber","getFileName","function","getFunctionName","getLineNumber","getMethodName","native","getAllInfo","_getExceptionHandlers","timeout","doExit","exitOnError","gracefulExit","_exiting","clearTimeout","exit","onDone","_ending","Transform","Profiler","configure","defaultRequestMetadata","infoClone","defaultMeta","emitErrs","formatters","rewriters","rejections","profilers","handle","givenLevelValue","getLevelValue","configuredLevelValue","findIndex","transportLevelValue","meta","ex","_onEvent","queryObject","formatQuery","formatResults","queryTransport","streams","_streams","time","now","timeEnd","durationMs","unhandle","Boolean","_unhandledRejection","_getRejectionHandlers","fs","noop","buff","fd","stderrLevels","_stringArrayToSet","consoleWarnLevels","eol","EOL","setMaxListeners","_stderr","_stdout","strArray","el","asyncSeries","zlib","PassThrough","tailFile","throwIf","_stream","_onError","_basename","_dest","_setupStream","maxsize","rotationFormat","zippedArchive","maxFiles","tailable","_size","_pendingSize","_created","_drain","_opening","_createLogDirIfNotExist","_rotate","rotatedWhileOpening","_needsNewFile","written","_endStream","_rotateFile","finishIfEnding","rows","until","order","fields","normalizeQuery","createReadStream","attempt","check","reverse","stat","_createStream","eventNames","_getFile","fullpath","_incFile","_cleanupStream","createWriteStream","bytesWritten","gzip","createGzip","extname","_checkMaxFilesTailable","_checkMaxFilesIncrementing","isRotation","oldest","filePath","unlink","isZipped","tmppath","exists","rename","dirPath","existsSync","mkdirSync","recursive","https","ssl","host","port","auth","agent","headers","_request","statusCode","params","body","username","password","isObjectMode","createErrorType","Base","NodeError","getMessage","oneOf","expected","thing","actual","determiner","search","this_len","createReadableStreamAsyncIterator","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","emitClose","autoDestroy","updateReadableListening","listenerCount","first","consume","wState","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","transforming","writechunk","rs","needTransform","writeencoding","flush","_flush","err2","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","rState","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","promise","lastPromise","wrapForNext","_this2","_Object$create","ownKeys","enumerableOnly","symbols","sym","_getString","_getBuffer","getOwnPropertyDescriptors","_objectSpread","customInspect","emitErrorAndCloseNT","emitCloseNT","ERR_STREAM_PREMATURE_CLOSE","eos","onlegacyfinish","writableEnded","readableEnded","onrequest","setHeader","abort","isRequest","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_next2","ERR_MISSING_ARGS","destroyer","closed","popCallback","destroys","ERR_INVALID_OPT_VALUE","duplexKey","highWaterMarkFrom","pipeline","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","getter","definition","nmd","children","CommandsController","revealCursorScrollLine","disposables","sendToVim","ctrlAInsert","editor","callFunction","edit","selection","active","scrollPage","by","revealCursor","scrollLine","goToLine","topVisible","visibleRanges","bottomVisible","lineNum","document","lineAt","selections","firstNonWhitespaceCharacterIndex","revealLine","at","resetCursor","reg","pasteFromRegister","dispose","updateCursor","registerName","combining","DEFAULTS","nul","control","wcswidth","settings","wcwidth","ucs","bisearch","EXT_NAME","EXT_ID","diffLineToChars","lineArray","lineHash","linesToCharsMunge","maxLines","lineArrayLength","chars1","chars2","prepareEditRangesFromDiff","ranges","currRange","oldIdx","newIdx","currRangeDiff","diffRes","diffStr","newEnd","newStart","getBytesFromCodePoint","point","convertByteNumToCharNum","totalBytes","currCharNum","codePointAt","calculateEditorColFromVimScreenCol","screenCol","tabSize","useBytes","currentCharIdx","currentVimCol","isChangeSubsequentToChange","change","lastChange","lastChangeTextLength","lastChangeOffsetStart","rangeOffset","lastChangeOffsetEnd","rangeLength","isCursorChange","contains","isSingleLine","lineLength","newEndLineRange","newEndLastLineCharRange","getSystemSpecificSetting","settingPrefix","legacySetting","workspace","isUseWindowsSubsystemForLinux","environmentVariableName","vscodeSettingName","normalizeDotRepeatChange","startMode","accumulateDotRepeatChange","newLastChange","removedLength","sliceBeforeEnd","sliceAfterStart","editorPositionToNeovimPosition","byteCol","convertCharNumToByteNum","getNeovimCursorPosFromEditor","getDocumentLineArray","doc","EndOfLine","getText","normalizeInputString","wrapEnter","finalStr","findLastEvent","batch","callAtomic","requests","errors","ModeManager","isRecording","eventEmitter","onDidChangeActiveTextEditor","isNormalMode","lastModeChange","modeArg","modeName","isInsertMode","reWhitespace","reTrimStart","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","valueOf","isBinary","nativeMin","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","cancel","BUFFER_NAME_PREFIX","BufferManager","openedEditors","externalTextDocuments","Set","textDocumentToBufferId","textEditorToWinId","winIdToEditor","grids","editorTabConfiguration","WeakMap","onDidCloseTextDocument","find","onDidChangeVisibleTextEditors","changeLayoutPromise","changeLayoutPromiseResolve","syncLayoutDebounced","syncActiveEditorDebounced","syncLayout","currentVisibleEditors","prevVisibleEditors","nvimRequests","visibleEditor","viewColumn","uri","createBuffer","initBufferForDocument","editorBufferId","winId","createNeovimWindow","prevVisibleEditor","isClosed","bufId","syncActiveEditor","waitForLayoutSync","activeEditor","onDidChangeEditorOptions","textEditor","prevOptions","insertSpaces","resyncBufferTabOptions","receivedBufferEvent","tick","firstLine","lastLine","linedata","more","onBufferEvent","conf","gridId","noColumnEditor","getGridIdForWinId","getWinIdForTextEditor","getWinIdForGridId","getEditorFromWinId","textDoc","scheme","currEditor","idStr","expandTab","tabStop","isVscodeUriName","normalizedName","findDocFromUri","Uri","forceTabOptions","buffers","ViewColumn","preserveFocus","preview","attachNeovimExternalBuffer","isExternalTextDocument","onBufferInit","listen","setOption","openWindow","external","neovimViewportWidth","neovimViewportHeight","windows","closeWinId","neovimCursor","finalLine","finalCol","Selection","TypingManager","modeManager","changeManager","isExitingInsertMode","isEnteringInsertMode","pendingKeysAfterExit","pendingKeysAfterEnter","onModeChange","typeHandlerDisposable","isRecordingInInsertMode","hasDocumentChangeCompletionLock","getDocumentChangeCompletionLock","onVSCodeType","_editor","onEscapeKeyCommand","syncDocumentsWithNeovim","syncDotRepatWithNeovim","onInsertCtrlOCommand","handleCompositeEscapeFirstKey","compositeEscapeFirstPressTimestamp","handleCompositeEscapeSecondKey","CursorManager","bufferManager","cursorModes","neovimCursorPosition","ignoreSelectionEvents","gridVisibleViewport","debouncedCursorUpdates","updateCursorStyle","currentMode","onSelectionChanged","kind","documentChange","eatDocumentCursorAfterChange","applySelectionChanged","neovimCursorPos","TextEditorSelectionChangeKind","isEqual","anchor","isVisualMode","mouseSelectionEnabled","firstPos","mouseClickPos","lastSelection","cursorPos","updateCursorPosInEditor","newLine","newCol","editorName","newPos","currCursor","deltaLine","deltaChar","select","revealRange","TextEditorRevealType","topVisibleLine","bottomVisibleLine","getDebouncedUpdateCursorPos","newMode","append","visualMode","startLine1Based","endLine1Based","endCol0based","skipEmpty","multipleCursorFromVisualMode","gridCursorUpdates","gridCursorViewportHint","topline","botline","curline","curcol","top","bottom","firstArg","viewportHint","isByteCol","bot","left","right","cols","modes","cursor_shape","cursorShape","newModeName","getEditorFromGridId","docPromises","startLine","endLine","startPos","endPos","leaveSelection","lineDef","prevSelections","modeConf","cursorStyle","TextEditorCursorStyle","endCol","startCol","newSelections","LogLevel","logLevel","outputToConsole","none","getTimestamp","DocumentChangeManager","pendingEvents","bufferSkipTicks","documentSkipVersionOnChange","textDocumentChangePromise","cursorAfterTextDocumentChange","documentContentInNeovim","changedDocuments","applyingEdits","onNeovimChangeEvent","getTextDocumentForBufferId","documentPromises","promiseDesc","rej","applyEdits","resolveProgress","progressTimer","ProgressLocation","title","newTextByDoc","_tick","_more","newLines","lastPromiseIdx","diffPrepare","success","lineCount","startChar","Range","Position","undoStopAfter","undoStopBefore","promises","flatMap","onChangeTextDocument","contentChanges","startModeHint","dotRepeatStartModeInsertHint","dotRepeatChange","changedDocs","origText","getBufferIdForTextDocument","bufLinesRequests","lineDiffForNextChange","bufTick","currWin","edits","delRangeLength","stub","editStr","cleanEdits","CommandLineController","callbacks","isDisplayed","completionAllowed","completionItems","ignoreHideEvent","onAccept","onAccepted","onChange","items","useCompletion","cancelCompletions","onChanged","onHide","clean","onCanceled","processCompletionTimer","completionTimer","deleteAll","deleteChar","deleteWord","trimRight","acceptSelection","sel","activeItems","onHistoryUp","neovimClient","show","onHistoryDown","ignoreFocusOut","onDidAccept","onDidChangeValue","onDidHide","initialContent","newTitle","getTitle","alwaysShow","hide","modeOrPrompt","CommandLineManager","showCmdOnTimer","firstc","commandLine","onCmdAccept","onCmdCancel","onCmdChange","cmdlineTimer","indent","allContent","setCompletionItems","StatusLineController","modeItem","commandItem","msgItem","StatusLineManager","statusLine","acceptPrompt","hasMouseOnAfterReturnPrompt","cmdStr","statusString","msgString","modeStr","modeString","isEditorThemeColor","normalizeDecorationConfig","newConfig","backgroundColor","ThemeColor","borderColor","outlineColor","overviewRulerColor","HighlightProvider","highlights","prevGridHighlightsIds","highlightIdToGroupName","highlighGroupToDecorator","decoratorConfigurations","ignoredGroupIds","alwaysIgnoreGroups","configuration","unknownHighlight","createDecoratorForHighlightGroup","vimUiAttrs","ignoreHighlights","uiAttrs","background","foreground","specialColor","fontStyle","fontWeight","textDecoration","undercurl","vimHighlightToVSCodeOptions","dec","decorator","gridHl","cells","cellHlId","cellIdx","hasUpdates","hlId","groupName","getHighlightGroupName","repeatTo","idxs","_row","topLine","hlRanges","currHlName","currHlStartRow","currHlEndRow","currHlStartCol","currHlEndCol","rowHighlights","rowIdx","cellHlName","lineS","lineE","colS","colE","getDecoratorForHighlightGroup","decoratorRanges","prevHighlights","HighlightManager","gridLineInfo","commandsDisposables","textDecorationsAtTop","applyHLGridUpdates","updates","gridConf","hls","highlightProvider","getGridHighlights","setDecorations","gridHLUpdates","hi_name","addHighlightGroup","bottomLine","shiftGridHighlights","gridEvents","lastViewportRow","lineInfo","highlightLine","cleanRow","finalStartCol","isExternal","processHLCellsEvent","hlName","applyTextDecorations","viewportHeight","hlGroupName","decorations","getDecoratorOptions","lineStr","drawnAt","colNum","mapKey","ogText","renderOptions","contentText","opt","margin","CustomCommandsManager","MutlilineMessagesManager","isEditorIsChannel","hideChannel","contentStr","showChannel","commandName","cmdContent","appendLine","MainController","NEOVIM_WIN_HEIGHT","NEOVIM_WIN_WIDTH","currentRedrawBatch","onNeovimNotification","events","redrawManagers","cursorManager","commandLineManager","statusLineManager","highlightManager","multilineMessagesManager","extensionCommandManagers","commandsController","vscodeComandManagers","customCommandsManager","vscodeRangeCommandManagers","vscodeCommand","commandArgs","handleVSCodeCommand","line1","line2","pos1","pos2","handleVSCodeRangeCommand","handleExtensionRequest","redrawEvents","handleRedrawBatch","handleCustomRequest","eventArgs","response","vscodeCommandManagers","send","neovimPath","logConf","logPath","extensionPath","useWsl","execSync","neovimSupportScriptPath","neovimOptionScriptPath","workspaceFolder","fsPath","NEOVIM_DEBUG","NEOVIM_DEBUG_HOST","NEOVIM_DEBUG_PORT","customInitFile","nvimProc","spawn","setClientInfo","major","minor","patch","checkNeovimVersion","setVar","highlightsConfiguration","typingManager","uiAttach","ext_cmdline","ext_linegrid","ext_hlstate","ext_messages","ext_multigrid","ext_popupmenu","ext_tabline","ext_wildmenu","forceResync","quit","apiInfo","ui_events","activate","isWindows","highlightConfIgnore","highlightConfHighlights","highlightConfUnknown","mouseVisualSelection","useCtrlKeysNormalMode","useCtrlKeysInsertMode","neovimWidth","customInit","mouseSelection","extensionKind","subscriptions","deactivate"],"mappings":"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,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE,MAAQ,UACR,KAAO,WAET,CACE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C7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAC7C,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","file":"extension.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CachedKeyDecoder = void 0;\nconst utf8_1 = require(\"./utils/utf8\");\nconst DEFAULT_MAX_KEY_LENGTH = 16;\nconst DEFAULT_MAX_LENGTH_PER_KEY = 16;\nclass CachedKeyDecoder {\n constructor(maxKeyLength = DEFAULT_MAX_KEY_LENGTH, maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY) {\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n // avoid `new Array(N)` to create a non-sparse array for performance.\n this.caches = [];\n for (let i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n canBeCached(byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n }\n get(bytes, inputOffset, byteLength) {\n const records = this.caches[byteLength - 1];\n const recordsLength = records.length;\n FIND_CHUNK: for (let i = 0; i < recordsLength; i++) {\n const record = records[i];\n const recordBytes = record.bytes;\n for (let j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.value;\n }\n return null;\n }\n store(bytes, value) {\n const records = this.caches[bytes.length - 1];\n const record = { bytes, value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to a randomized position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n }\n decode(bytes, inputOffset, byteLength) {\n const cachedValue = this.get(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n return cachedValue;\n }\n const value = utf8_1.utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n const slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, value);\n return value;\n }\n}\nexports.CachedKeyDecoder = CachedKeyDecoder;\n//# sourceMappingURL=CachedKeyDecoder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Decoder = exports.DataViewIndexOutOfBoundsError = void 0;\nconst prettyByte_1 = require(\"./utils/prettyByte\");\nconst ExtensionCodec_1 = require(\"./ExtensionCodec\");\nconst int_1 = require(\"./utils/int\");\nconst utf8_1 = require(\"./utils/utf8\");\nconst typedArrays_1 = require(\"./utils/typedArrays\");\nconst CachedKeyDecoder_1 = require(\"./CachedKeyDecoder\");\nconst isValidMapKeyType = (key) => {\n const keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nconst HEAD_BYTE_REQUIRED = -1;\nconst EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nconst EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexports.DataViewIndexOutOfBoundsError = (() => {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nconst MORE_DATA = new exports.DataViewIndexOutOfBoundsError(\"Insufficient data\");\nconst DEFAULT_MAX_LENGTH = 4294967295; // uint32_max\nconst sharedCachedKeyDecoder = new CachedKeyDecoder_1.CachedKeyDecoder();\nclass Decoder {\n constructor(extensionCodec = ExtensionCodec_1.ExtensionCodec.defaultCodec, context, maxStrLength = DEFAULT_MAX_LENGTH, maxBinLength = DEFAULT_MAX_LENGTH, maxArrayLength = DEFAULT_MAX_LENGTH, maxMapLength = DEFAULT_MAX_LENGTH, maxExtLength = DEFAULT_MAX_LENGTH, cachedKeyDecoder = sharedCachedKeyDecoder) {\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.cachedKeyDecoder = cachedKeyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n setBuffer(buffer) {\n this.bytes = typedArrays_1.ensureUint8Array(buffer);\n this.view = typedArrays_1.createDataView(this.bytes);\n this.pos = 0;\n }\n appendBuffer(buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining()) {\n this.setBuffer(buffer);\n }\n else {\n // retried because data is insufficient\n const remainingData = this.bytes.subarray(this.pos);\n const newData = typedArrays_1.ensureUint8Array(buffer);\n const concated = new Uint8Array(remainingData.length + newData.length);\n concated.set(remainingData);\n concated.set(newData, remainingData.length);\n this.setBuffer(concated);\n }\n }\n hasRemaining(size = 1) {\n return this.view.byteLength - this.pos >= size;\n }\n createNoExtraBytesError(posToShow) {\n const { view, pos } = this;\n return new RangeError(`Extra ${view.byteLength - pos} byte(s) found at buffer[${posToShow}]`);\n }\n decodeSingleSync() {\n const object = this.decodeSync();\n if (this.hasRemaining()) {\n throw this.createNoExtraBytesError(this.pos);\n }\n return object;\n }\n async decodeSingleAsync(stream) {\n let decoded = false;\n let object;\n for await (const buffer of stream) {\n if (decoded) {\n throw this.createNoExtraBytesError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.decodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof exports.DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n }\n if (decoded) {\n if (this.hasRemaining()) {\n throw this.createNoExtraBytesError(this.totalPos);\n }\n return object;\n }\n const { headByte, pos, totalPos } = this;\n throw new RangeError(`Insufficient data in parcing ${prettyByte_1.prettyByte(headByte)} at ${totalPos} (${pos} in the current buffer)`);\n }\n decodeArrayStream(stream) {\n return this.decodeMultiAsync(stream, true);\n }\n decodeStream(stream) {\n return this.decodeMultiAsync(stream, false);\n }\n async *decodeMultiAsync(stream, isArray) {\n let isArrayHeaderRequired = isArray;\n let arrayItemsLeft = -1;\n for await (const buffer of stream) {\n if (isArray && arrayItemsLeft === 0) {\n throw this.createNoExtraBytesError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n try {\n while (true) {\n yield this.decodeSync();\n if (--arrayItemsLeft === 0) {\n break;\n }\n }\n }\n catch (e) {\n if (!(e instanceof exports.DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n }\n }\n decodeSync() {\n DECODE: while (true) {\n const headByte = this.readHeadByte();\n let object;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n const size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n const size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n const byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n const byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n const byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n const byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n const size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n const size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n const size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n const size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n const size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n const size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n const size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n const size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n const size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n const size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new Error(`Unrecognized type byte: ${prettyByte_1.prettyByte(headByte)}`);\n }\n this.complete();\n const stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n const state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new Error(\"The type of key must be string or number but \" + typeof object);\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n }\n readHeadByte() {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n }\n complete() {\n this.headByte = HEAD_BYTE_REQUIRED;\n }\n readArraySize() {\n const headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new Error(`Unrecognized array type byte: ${prettyByte_1.prettyByte(headByte)}`);\n }\n }\n }\n }\n pushMapState(size) {\n if (size > this.maxMapLength) {\n throw new Error(`Max length exceeded: map length (${size}) > maxMapLengthLength (${this.maxMapLength})`);\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size,\n key: null,\n readCount: 0,\n map: {},\n });\n }\n pushArrayState(size) {\n if (size > this.maxArrayLength) {\n throw new Error(`Max length exceeded: array length (${size}) > maxArrayLength (${this.maxArrayLength})`);\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size,\n array: new Array(size),\n position: 0,\n });\n }\n decodeUtf8String(byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new Error(`Max length exceeded: UTF-8 byte length (${byteLength}) > maxStrLength (${this.maxStrLength})`);\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n const offset = this.pos + headerOffset;\n let object;\n if (this.stateIsMapKey() && ((_a = this.cachedKeyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.cachedKeyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (utf8_1.TEXT_ENCODING_AVAILABLE && byteLength > utf8_1.TEXT_DECODER_THRESHOLD) {\n object = utf8_1.utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8_1.utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n }\n stateIsMapKey() {\n if (this.stack.length > 0) {\n const state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n }\n decodeBinary(byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new Error(`Max length exceeded: bin length (${byteLength}) > maxBinLength (${this.maxBinLength})`);\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n const offset = this.pos + headOffset;\n const object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n }\n decodeExtension(size, headOffset) {\n if (size > this.maxExtLength) {\n throw new Error(`Max length exceeded: ext length (${size}) > maxExtLength (${this.maxExtLength})`);\n }\n const extType = this.view.getInt8(this.pos + headOffset);\n const data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n }\n lookU8() {\n return this.view.getUint8(this.pos);\n }\n lookU16() {\n return this.view.getUint16(this.pos);\n }\n lookU32() {\n return this.view.getUint32(this.pos);\n }\n readU8() {\n const value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n }\n readI8() {\n const value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n }\n readU16() {\n const value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n }\n readI16() {\n const value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n }\n readU32() {\n const value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n }\n readI32() {\n const value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n }\n readU64() {\n const value = int_1.getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n }\n readI64() {\n const value = int_1.getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n }\n readF32() {\n const value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n }\n readF64() {\n const value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n }\n}\nexports.Decoder = Decoder;\n//# sourceMappingURL=Decoder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Encoder = exports.DEFAULT_INITIAL_BUFFER_SIZE = exports.DEFAULT_MAX_DEPTH = void 0;\nconst utf8_1 = require(\"./utils/utf8\");\nconst ExtensionCodec_1 = require(\"./ExtensionCodec\");\nconst int_1 = require(\"./utils/int\");\nconst typedArrays_1 = require(\"./utils/typedArrays\");\nexports.DEFAULT_MAX_DEPTH = 100;\nexports.DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nclass Encoder {\n constructor(extensionCodec = ExtensionCodec_1.ExtensionCodec.defaultCodec, context, maxDepth = exports.DEFAULT_MAX_DEPTH, initialBufferSize = exports.DEFAULT_INITIAL_BUFFER_SIZE, sortKeys = false, forceFloat32 = false, ignoreUndefined = false) {\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n encode(object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(`Too deep objects in depth ${depth}`);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n }\n getUint8Array() {\n return this.bytes.subarray(0, this.pos);\n }\n ensureBufferSizeToWrite(sizeToWrite) {\n const requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n }\n resizeBuffer(newSize) {\n const newBuffer = new ArrayBuffer(newSize);\n const newBytes = new Uint8Array(newBuffer);\n const newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n }\n encodeNil() {\n this.writeU8(0xc0);\n }\n encodeBoolean(object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n }\n encodeNumber(object) {\n if (Number.isSafeInteger(object)) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // nagative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n }\n writeStringHeader(byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(`Too long string: ${byteLength} bytes in UTF-8`);\n }\n }\n encodeString(object) {\n const maxHeaderSize = 1 + 4;\n const strLength = object.length;\n if (utf8_1.TEXT_ENCODING_AVAILABLE && strLength > utf8_1.TEXT_ENCODER_THRESHOLD) {\n const byteLength = utf8_1.utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8_1.utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n const byteLength = utf8_1.utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8_1.utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n }\n encodeObject(object, depth) {\n // try to encode objects with custom codec first of non-primitives\n const ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(object)}`);\n }\n }\n encodeBinary(object) {\n const size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(`Too large binary: ${size}`);\n }\n const bytes = typedArrays_1.ensureUint8Array(object);\n this.writeU8a(bytes);\n }\n encodeArray(object, depth) {\n const size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(`Too large array: ${size}`);\n }\n for (const item of object) {\n this.encode(item, depth + 1);\n }\n }\n countWithoutUndefined(object, keys) {\n let count = 0;\n for (const key of keys) {\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n }\n encodeMap(object, depth) {\n const keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n const size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(`Too large map object: ${size}`);\n }\n for (const key of keys) {\n const value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.encode(value, depth + 1);\n }\n }\n }\n encodeExtension(ext) {\n const size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(`Too large extension object: ${size}`);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n }\n writeU8(value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n }\n writeU8a(values) {\n const size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n }\n writeI8(value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n }\n writeU16(value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n }\n writeI16(value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n }\n writeU32(value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n }\n writeI32(value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n }\n writeF32(value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n }\n writeF64(value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n }\n writeU64(value) {\n this.ensureBufferSizeToWrite(8);\n int_1.setUint64(this.view, this.pos, value);\n this.pos += 8;\n }\n writeI64(value) {\n this.ensureBufferSizeToWrite(8);\n int_1.setInt64(this.view, this.pos, value);\n this.pos += 8;\n }\n}\nexports.Encoder = Encoder;\n//# sourceMappingURL=Encoder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtData = void 0;\n/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nclass ExtData {\n constructor(type, data) {\n this.type = type;\n this.data = data;\n }\n}\nexports.ExtData = ExtData;\n//# sourceMappingURL=ExtData.js.map","\"use strict\";\n// ExtensionCodec to handle MessagePack extensions\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtensionCodec = void 0;\nconst ExtData_1 = require(\"./ExtData\");\nconst timestamp_1 = require(\"./timestamp\");\nlet ExtensionCodec = /** @class */ (() => {\n class ExtensionCodec {\n constructor() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestamp_1.timestampExtension);\n }\n register({ type, encode, decode, }) {\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n const index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n }\n tryToEncode(object, context) {\n // built-in extensions\n for (let i = 0; i < this.builtInEncoders.length; i++) {\n const encoder = this.builtInEncoders[i];\n if (encoder != null) {\n const data = encoder(object, context);\n if (data != null) {\n const type = -1 - i;\n return new ExtData_1.ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (let i = 0; i < this.encoders.length; i++) {\n const encoder = this.encoders[i];\n if (encoder != null) {\n const data = encoder(object, context);\n if (data != null) {\n const type = i;\n return new ExtData_1.ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData_1.ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n }\n decode(data, type, context) {\n const decoder = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decoder) {\n return decoder(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData_1.ExtData(type, data);\n }\n }\n }\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n})();\nexports.ExtensionCodec = ExtensionCodec;\n//# sourceMappingURL=ExtensionCodec.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decode = exports.defaultDecodeOptions = void 0;\nconst Decoder_1 = require(\"./Decoder\");\nexports.defaultDecodeOptions = {};\n/**\n * It decodes a MessagePack-encoded buffer.\n *\n * This is a synchronous decoding function. See other variants for asynchronous decoding: `decodeAsync()`, `decodeStream()`, `decodeArrayStream()`.\n */\nfunction decode(buffer, options = exports.defaultDecodeOptions) {\n const decoder = new Decoder_1.Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n decoder.setBuffer(buffer); // decodeSync() requires only one buffer\n return decoder.decodeSingleSync();\n}\nexports.decode = decode;\n//# sourceMappingURL=decode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeStream = exports.decodeArrayStream = exports.decodeAsync = void 0;\nconst Decoder_1 = require(\"./Decoder\");\nconst decode_1 = require(\"./decode\");\nconst stream_1 = require(\"./utils/stream\");\nasync function decodeAsync(streamLike, options = decode_1.defaultDecodeOptions) {\n const stream = stream_1.ensureAsyncIterabe(streamLike);\n const decoder = new Decoder_1.Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decodeSingleAsync(stream);\n}\nexports.decodeAsync = decodeAsync;\nfunction decodeArrayStream(streamLike, options = decode_1.defaultDecodeOptions) {\n const stream = stream_1.ensureAsyncIterabe(streamLike);\n const decoder = new Decoder_1.Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decodeArrayStream(stream);\n}\nexports.decodeArrayStream = decodeArrayStream;\nfunction decodeStream(streamLike, options = decode_1.defaultDecodeOptions) {\n const stream = stream_1.ensureAsyncIterabe(streamLike);\n const decoder = new Decoder_1.Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decodeStream(stream);\n}\nexports.decodeStream = decodeStream;\n//# sourceMappingURL=decodeAsync.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encode = void 0;\nconst Encoder_1 = require(\"./Encoder\");\nconst defaultEncodeOptions = {};\n/**\n * It encodes `value` in the MessagePack format and\n * returns a byte buffer.\n *\n * The returned buffer is a slice of a larger `ArrayBuffer`, so you have to use its `#byteOffset` and `#byteLength` in order to convert it to another typed arrays including NodeJS `Buffer`.\n */\nfunction encode(value, options = defaultEncodeOptions) {\n const encoder = new Encoder_1.Encoder(options.extensionCodec, options.context, options.maxDepth, options.initialBufferSize, options.sortKeys, options.forceFloat32, options.ignoreUndefined);\n encoder.encode(value, 1);\n return encoder.getUint8Array();\n}\nexports.encode = encode;\n//# sourceMappingURL=encode.js.map","\"use strict\";\n// Main Functions:\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar encode_1 = require(\"./encode\");\nObject.defineProperty(exports, \"encode\", { enumerable: true, get: function () { return encode_1.encode; } });\nvar decode_1 = require(\"./decode\");\nObject.defineProperty(exports, \"decode\", { enumerable: true, get: function () { return decode_1.decode; } });\nvar decodeAsync_1 = require(\"./decodeAsync\");\nObject.defineProperty(exports, \"decodeAsync\", { enumerable: true, get: function () { return decodeAsync_1.decodeAsync; } });\nObject.defineProperty(exports, \"decodeArrayStream\", { enumerable: true, get: function () { return decodeAsync_1.decodeArrayStream; } });\nObject.defineProperty(exports, \"decodeStream\", { enumerable: true, get: function () { return decodeAsync_1.decodeStream; } });\n/**\n * @experimental `Decoder` is exported for experimental use.\n */\nvar Decoder_1 = require(\"./Decoder\");\nObject.defineProperty(exports, \"Decoder\", { enumerable: true, get: function () { return Decoder_1.Decoder; } });\n/**\n * @experimental `Encoder` is exported for experimental use.\n */\nvar Encoder_1 = require(\"./Encoder\");\nObject.defineProperty(exports, \"Encoder\", { enumerable: true, get: function () { return Encoder_1.Encoder; } });\n// Utilitiies for Extension Types:\nvar ExtensionCodec_1 = require(\"./ExtensionCodec\");\nObject.defineProperty(exports, \"ExtensionCodec\", { enumerable: true, get: function () { return ExtensionCodec_1.ExtensionCodec; } });\nvar ExtData_1 = require(\"./ExtData\");\nObject.defineProperty(exports, \"ExtData\", { enumerable: true, get: function () { return ExtData_1.ExtData; } });\nvar timestamp_1 = require(\"./timestamp\");\nObject.defineProperty(exports, \"EXT_TIMESTAMP\", { enumerable: true, get: function () { return timestamp_1.EXT_TIMESTAMP; } });\nObject.defineProperty(exports, \"encodeDateToTimeSpec\", { enumerable: true, get: function () { return timestamp_1.encodeDateToTimeSpec; } });\nObject.defineProperty(exports, \"encodeTimeSpecToTimestamp\", { enumerable: true, get: function () { return timestamp_1.encodeTimeSpecToTimestamp; } });\nObject.defineProperty(exports, \"decodeTimestampToTimeSpec\", { enumerable: true, get: function () { return timestamp_1.decodeTimestampToTimeSpec; } });\nObject.defineProperty(exports, \"encodeTimestampExtension\", { enumerable: true, get: function () { return timestamp_1.encodeTimestampExtension; } });\nObject.defineProperty(exports, \"decodeTimestampExtension\", { enumerable: true, get: function () { return timestamp_1.decodeTimestampExtension; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timestampExtension = exports.decodeTimestampExtension = exports.decodeTimestampToTimeSpec = exports.encodeTimestampExtension = exports.encodeDateToTimeSpec = exports.encodeTimeSpecToTimestamp = exports.EXT_TIMESTAMP = void 0;\n// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nconst int_1 = require(\"./utils/int\");\nexports.EXT_TIMESTAMP = -1;\nconst TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nconst TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nfunction encodeTimeSpecToTimestamp({ sec, nsec }) {\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n const rv = new Uint8Array(4);\n const view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n const secHigh = sec / 0x100000000;\n const secLow = sec & 0xffffffff;\n const rv = new Uint8Array(8);\n const view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n const rv = new Uint8Array(12);\n const view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n int_1.setInt64(view, 4, sec);\n return rv;\n }\n}\nexports.encodeTimeSpecToTimestamp = encodeTimeSpecToTimestamp;\nfunction encodeDateToTimeSpec(date) {\n const msec = date.getTime();\n const sec = Math.floor(msec / 1e3);\n const nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n const nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexports.encodeDateToTimeSpec = encodeDateToTimeSpec;\nfunction encodeTimestampExtension(object) {\n if (object instanceof Date) {\n const timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexports.encodeTimestampExtension = encodeTimestampExtension;\nfunction decodeTimestampToTimeSpec(data) {\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n const sec = view.getUint32(0);\n const nsec = 0;\n return { sec, nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n const nsec30AndSecHigh2 = view.getUint32(0);\n const secLow32 = view.getUint32(4);\n const sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n const nsec = nsec30AndSecHigh2 >>> 2;\n return { sec, nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n const sec = int_1.getInt64(view, 4);\n const nsec = view.getUint32(0);\n return { sec, nsec };\n }\n default:\n throw new Error(`Unrecognized data size for timestamp: ${data.length}`);\n }\n}\nexports.decodeTimestampToTimeSpec = decodeTimestampToTimeSpec;\nfunction decodeTimestampExtension(data) {\n const timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexports.decodeTimestampExtension = decodeTimestampExtension;\nexports.timestampExtension = {\n type: exports.EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.js.map","\"use strict\";\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUint64 = exports.getInt64 = exports.setInt64 = exports.setUint64 = void 0;\nfunction setUint64(view, offset, value) {\n const high = value / 4294967296;\n const low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexports.setUint64 = setUint64;\nfunction setInt64(view, offset, value) {\n const high = Math.floor(value / 4294967296);\n const low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexports.setInt64 = setInt64;\nfunction getInt64(view, offset) {\n const high = view.getInt32(offset);\n const low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexports.getInt64 = getInt64;\nfunction getUint64(view, offset) {\n const high = view.getUint32(offset);\n const low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexports.getUint64 = getUint64;\n//# sourceMappingURL=int.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prettyByte = void 0;\nfunction prettyByte(byte) {\n return `${byte < 0 ? \"-\" : \"\"}0x${Math.abs(byte).toString(16).padStart(2, \"0\")}`;\n}\nexports.prettyByte = prettyByte;\n//# sourceMappingURL=prettyByte.js.map","\"use strict\";\n// utility for whatwg streams\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ensureAsyncIterabe = exports.asyncIterableFromStream = exports.isAsyncIterable = void 0;\nfunction isAsyncIterable(object) {\n return object[Symbol.asyncIterator] != null;\n}\nexports.isAsyncIterable = isAsyncIterable;\nfunction assertNonNull(value) {\n if (value == null) {\n throw new Error(\"Assertion Failure: value must not be null nor undefined\");\n }\n}\nasync function* asyncIterableFromStream(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n return;\n }\n assertNonNull(value);\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n}\nexports.asyncIterableFromStream = asyncIterableFromStream;\nfunction ensureAsyncIterabe(streamLike) {\n if (isAsyncIterable(streamLike)) {\n return streamLike;\n }\n else {\n return asyncIterableFromStream(streamLike);\n }\n}\nexports.ensureAsyncIterabe = ensureAsyncIterabe;\n//# sourceMappingURL=stream.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDataView = exports.ensureUint8Array = void 0;\nfunction ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexports.ensureUint8Array = ensureUint8Array;\nfunction createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n const bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\nexports.createDataView = createDataView;\n//# sourceMappingURL=typedArrays.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.utf8DecodeTD = exports.TEXT_DECODER_THRESHOLD = exports.utf8DecodeJs = exports.utf8EncodeTE = exports.TEXT_ENCODER_THRESHOLD = exports.utf8EncodeJs = exports.utf8Count = exports.TEXT_ENCODING_AVAILABLE = void 0;\nexports.TEXT_ENCODING_AVAILABLE = typeof process !== \"undefined\" &&\n process.env.TEXT_ENCODING !== \"never\" &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nfunction utf8Count(str) {\n const strLength = str.length;\n let byteLength = 0;\n let pos = 0;\n while (pos < strLength) {\n let value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n const extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexports.utf8Count = utf8Count;\nfunction utf8EncodeJs(str, output, outputOffset) {\n const strLength = str.length;\n let offset = outputOffset;\n let pos = 0;\n while (pos < strLength) {\n let value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n const extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nexports.utf8EncodeJs = utf8EncodeJs;\nconst sharedTextEncoder = exports.TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexports.TEXT_ENCODER_THRESHOLD = typeof process !== \"undefined\" && process.env.TEXT_ENCODING !== \"force\" ? 200 : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexports.utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nconst CHUNK_SIZE = 4096;\nfunction utf8DecodeJs(bytes, inputOffset, byteLength) {\n let offset = inputOffset;\n const end = offset + byteLength;\n const units = [];\n let result = \"\";\n while (offset < end) {\n const byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n const byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n const byte2 = bytes[offset++] & 0x3f;\n const byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n const byte2 = bytes[offset++] & 0x3f;\n const byte3 = bytes[offset++] & 0x3f;\n const byte4 = bytes[offset++] & 0x3f;\n let unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode(...units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode(...units);\n }\n return result;\n}\nexports.utf8DecodeJs = utf8DecodeJs;\nconst sharedTextDecoder = exports.TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexports.TEXT_DECODER_THRESHOLD = typeof process !== \"undefined\" && process.env.TEXT_DECODER !== \"force\" ? 200 : 0;\nfunction utf8DecodeTD(bytes, inputOffset, byteLength) {\n const stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return sharedTextDecoder.decode(stringBytes);\n}\nexports.utf8DecodeTD = utf8DecodeTD;\n//# sourceMappingURL=utf8.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = asyncify;\n\nvar _isObject = require('lodash/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _initialParams = require('./internal/initialParams');\n\nvar _initialParams2 = _interopRequireDefault(_initialParams);\n\nvar _setImmediate = require('./internal/setImmediate');\n\nvar _setImmediate2 = _interopRequireDefault(_setImmediate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Take a sync function and make it async, passing its return value to a\n * callback. This is useful for plugging sync functions into a waterfall,\n * series, or other async functions. Any arguments passed to the generated\n * function will be passed to the wrapped function (except for the final\n * callback argument). Errors thrown will be passed to the callback.\n *\n * If the function passed to `asyncify` returns a Promise, that promises's\n * resolved/rejected state will be used to call the callback, rather than simply\n * the synchronous return value.\n *\n * This also means you can asyncify ES2017 `async` functions.\n *\n * @name asyncify\n * @static\n * @memberOf module:Utils\n * @method\n * @alias wrapSync\n * @category Util\n * @param {Function} func - The synchronous function, or Promise-returning\n * function to convert to an {@link AsyncFunction}.\n * @returns {AsyncFunction} An asynchronous wrapper of the `func`. To be\n * invoked with `(args..., callback)`.\n * @example\n *\n * // passing a regular synchronous function\n * async.waterfall([\n * async.apply(fs.readFile, filename, \"utf8\"),\n * async.asyncify(JSON.parse),\n * function (data, next) {\n * // data is the result of parsing the text.\n * // If there was a parsing error, it would have been caught.\n * }\n * ], callback);\n *\n * // passing a function returning a promise\n * async.waterfall([\n * async.apply(fs.readFile, filename, \"utf8\"),\n * async.asyncify(function (contents) {\n * return db.model.create(contents);\n * }),\n * function (model, next) {\n * // `model` is the instantiated model object.\n * // If there was an error, this function would be skipped.\n * }\n * ], callback);\n *\n * // es2017 example, though `asyncify` is not needed if your JS environment\n * // supports async functions out of the box\n * var q = async.queue(async.asyncify(async function(file) {\n * var intermediateStep = await processFile(file);\n * return await somePromise(intermediateStep)\n * }));\n *\n * q.push(files);\n */\nfunction asyncify(func) {\n return (0, _initialParams2.default)(function (args, callback) {\n var result;\n try {\n result = func.apply(this, args);\n } catch (e) {\n return callback(e);\n }\n // if result is Promise object\n if ((0, _isObject2.default)(result) && typeof result.then === 'function') {\n result.then(function (value) {\n invokeCallback(callback, null, value);\n }, function (err) {\n invokeCallback(callback, err.message ? err : new Error(err));\n });\n } else {\n callback(null, result);\n }\n });\n}\n\nfunction invokeCallback(callback, error, value) {\n try {\n callback(error, value);\n } catch (e) {\n (0, _setImmediate2.default)(rethrow, e);\n }\n}\n\nfunction rethrow(error) {\n throw error;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (coll, iteratee, callback) {\n var eachOfImplementation = (0, _isArrayLike2.default)(coll) ? eachOfArrayLike : eachOfGeneric;\n eachOfImplementation(coll, (0, _wrapAsync2.default)(iteratee), callback);\n};\n\nvar _isArrayLike = require('lodash/isArrayLike');\n\nvar _isArrayLike2 = _interopRequireDefault(_isArrayLike);\n\nvar _breakLoop = require('./internal/breakLoop');\n\nvar _breakLoop2 = _interopRequireDefault(_breakLoop);\n\nvar _eachOfLimit = require('./eachOfLimit');\n\nvar _eachOfLimit2 = _interopRequireDefault(_eachOfLimit);\n\nvar _doLimit = require('./internal/doLimit');\n\nvar _doLimit2 = _interopRequireDefault(_doLimit);\n\nvar _noop = require('lodash/noop');\n\nvar _noop2 = _interopRequireDefault(_noop);\n\nvar _once = require('./internal/once');\n\nvar _once2 = _interopRequireDefault(_once);\n\nvar _onlyOnce = require('./internal/onlyOnce');\n\nvar _onlyOnce2 = _interopRequireDefault(_onlyOnce);\n\nvar _wrapAsync = require('./internal/wrapAsync');\n\nvar _wrapAsync2 = _interopRequireDefault(_wrapAsync);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// eachOf implementation optimized for array-likes\nfunction eachOfArrayLike(coll, iteratee, callback) {\n callback = (0, _once2.default)(callback || _noop2.default);\n var index = 0,\n completed = 0,\n length = coll.length;\n if (length === 0) {\n callback(null);\n }\n\n function iteratorCallback(err, value) {\n if (err) {\n callback(err);\n } else if (++completed === length || value === _breakLoop2.default) {\n callback(null);\n }\n }\n\n for (; index < length; index++) {\n iteratee(coll[index], index, (0, _onlyOnce2.default)(iteratorCallback));\n }\n}\n\n// a generic version of eachOf which can handle array, object, and iterator cases.\nvar eachOfGeneric = (0, _doLimit2.default)(_eachOfLimit2.default, Infinity);\n\n/**\n * Like [`each`]{@link module:Collections.each}, except that it passes the key (or index) as the second argument\n * to the iteratee.\n *\n * @name eachOf\n * @static\n * @memberOf module:Collections\n * @method\n * @alias forEachOf\n * @category Collection\n * @see [async.each]{@link module:Collections.each}\n * @param {Array|Iterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - A function to apply to each\n * item in `coll`.\n * The `key` is the item's key, or index in the case of an array.\n * Invoked with (item, key, callback).\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @example\n *\n * var obj = {dev: \"/dev.json\", test: \"/test.json\", prod: \"/prod.json\"};\n * var configs = {};\n *\n * async.forEachOf(obj, function (value, key, callback) {\n * fs.readFile(__dirname + value, \"utf8\", function (err, data) {\n * if (err) return callback(err);\n * try {\n * configs[key] = JSON.parse(data);\n * } catch (e) {\n * return callback(e);\n * }\n * callback();\n * });\n * }, function (err) {\n * if (err) console.error(err.message);\n * // configs is now a map of JSON data\n * doSomethingWith(configs);\n * });\n */\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = eachOfLimit;\n\nvar _eachOfLimit2 = require('./internal/eachOfLimit');\n\nvar _eachOfLimit3 = _interopRequireDefault(_eachOfLimit2);\n\nvar _wrapAsync = require('./internal/wrapAsync');\n\nvar _wrapAsync2 = _interopRequireDefault(_wrapAsync);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * The same as [`eachOf`]{@link module:Collections.eachOf} but runs a maximum of `limit` async operations at a\n * time.\n *\n * @name eachOfLimit\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.eachOf]{@link module:Collections.eachOf}\n * @alias forEachOfLimit\n * @category Collection\n * @param {Array|Iterable|Object} coll - A collection to iterate over.\n * @param {number} limit - The maximum number of async operations at a time.\n * @param {AsyncFunction} iteratee - An async function to apply to each\n * item in `coll`. The `key` is the item's key, or index in the case of an\n * array.\n * Invoked with (item, key, callback).\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n */\nfunction eachOfLimit(coll, limit, iteratee, callback) {\n (0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _eachOfLimit = require('./eachOfLimit');\n\nvar _eachOfLimit2 = _interopRequireDefault(_eachOfLimit);\n\nvar _doLimit = require('./internal/doLimit');\n\nvar _doLimit2 = _interopRequireDefault(_doLimit);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * The same as [`eachOf`]{@link module:Collections.eachOf} but runs only a single async operation at a time.\n *\n * @name eachOfSeries\n * @static\n * @memberOf module:Collections\n * @method\n * @see [async.eachOf]{@link module:Collections.eachOf}\n * @alias forEachOfSeries\n * @category Collection\n * @param {Array|Iterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to each item in\n * `coll`.\n * Invoked with (item, key, callback).\n * @param {Function} [callback] - A callback which is called when all `iteratee`\n * functions have finished, or an error occurs. Invoked with (err).\n */\nexports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = eachLimit;\n\nvar _eachOf = require('./eachOf');\n\nvar _eachOf2 = _interopRequireDefault(_eachOf);\n\nvar _withoutIndex = require('./internal/withoutIndex');\n\nvar _withoutIndex2 = _interopRequireDefault(_withoutIndex);\n\nvar _wrapAsync = require('./internal/wrapAsync');\n\nvar _wrapAsync2 = _interopRequireDefault(_wrapAsync);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Applies the function `iteratee` to each item in `coll`, in parallel.\n * The `iteratee` is called with an item from the list, and a callback for when\n * it has finished. If the `iteratee` passes an error to its `callback`, the\n * main `callback` (for the `each` function) is immediately called with the\n * error.\n *\n * Note, that since this function applies `iteratee` to each item in parallel,\n * there is no guarantee that the iteratee functions will complete in order.\n *\n * @name each\n * @static\n * @memberOf module:Collections\n * @method\n * @alias forEach\n * @category Collection\n * @param {Array|Iterable|Object} coll - A collection to iterate over.\n * @param {AsyncFunction} iteratee - An async function to apply to\n * each item in `coll`. Invoked with (item, callback).\n * The array index is not passed to the iteratee.\n * If you need the index, use `eachOf`.\n * @param {Function} [callback] - A callback which is called when all\n * `iteratee` functions have finished, or an error occurs. Invoked with (err).\n * @example\n *\n * // assuming openFiles is an array of file names and saveFile is a function\n * // to save the modified contents of that file:\n *\n * async.each(openFiles, saveFile, function(err){\n * // if any of the saves produced an error, err would equal that error\n * });\n *\n * // assuming openFiles is an array of file names\n * async.each(openFiles, function(file, callback) {\n *\n * // Perform operation on file here.\n * console.log('Processing file ' + file);\n *\n * if( file.length > 32 ) {\n * console.log('This file name is too long');\n * callback('File name too long');\n * } else {\n * // Do work to process file here\n * console.log('File processed');\n * callback();\n * }\n * }, function(err) {\n * // if any of the file processing produced an error, err would equal that error\n * if( err ) {\n * // One of the iterations produced an error.\n * // All processing will now stop.\n * console.log('A file failed to process');\n * } else {\n * console.log('All files have been processed successfully');\n * }\n * });\n */\nfunction eachLimit(coll, iteratee, callback) {\n (0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// A temporary value used to identify if the loop should be broken.\n// See #1064, #1293\nexports.default = {};\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = doLimit;\nfunction doLimit(fn, limit) {\n return function (iterable, iteratee, callback) {\n return fn(iterable, limit, iteratee, callback);\n };\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _eachOfLimit;\n\nvar _noop = require('lodash/noop');\n\nvar _noop2 = _interopRequireDefault(_noop);\n\nvar _once = require('./once');\n\nvar _once2 = _interopRequireDefault(_once);\n\nvar _iterator = require('./iterator');\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _onlyOnce = require('./onlyOnce');\n\nvar _onlyOnce2 = _interopRequireDefault(_onlyOnce);\n\nvar _breakLoop = require('./breakLoop');\n\nvar _breakLoop2 = _interopRequireDefault(_breakLoop);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _eachOfLimit(limit) {\n return function (obj, iteratee, callback) {\n callback = (0, _once2.default)(callback || _noop2.default);\n if (limit <= 0 || !obj) {\n return callback(null);\n }\n var nextElem = (0, _iterator2.default)(obj);\n var done = false;\n var running = 0;\n var looping = false;\n\n function iterateeCallback(err, value) {\n running -= 1;\n if (err) {\n done = true;\n callback(err);\n } else if (value === _breakLoop2.default || done && running <= 0) {\n done = true;\n return callback(null);\n } else if (!looping) {\n replenish();\n }\n }\n\n function replenish() {\n looping = true;\n while (running < limit && !done) {\n var elem = nextElem();\n if (elem === null) {\n done = true;\n if (running <= 0) {\n callback(null);\n }\n return;\n }\n running += 1;\n iteratee(elem.value, elem.key, (0, _onlyOnce2.default)(iterateeCallback));\n }\n looping = false;\n }\n\n replenish();\n };\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (coll) {\n return iteratorSymbol && coll[iteratorSymbol] && coll[iteratorSymbol]();\n};\n\nvar iteratorSymbol = typeof Symbol === 'function' && Symbol.iterator;\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (fn) {\n return function () /*...args, callback*/{\n var args = (0, _slice2.default)(arguments);\n var callback = args.pop();\n fn.call(this, args, callback);\n };\n};\n\nvar _slice = require('./slice');\n\nvar _slice2 = _interopRequireDefault(_slice);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = iterator;\n\nvar _isArrayLike = require('lodash/isArrayLike');\n\nvar _isArrayLike2 = _interopRequireDefault(_isArrayLike);\n\nvar _getIterator = require('./getIterator');\n\nvar _getIterator2 = _interopRequireDefault(_getIterator);\n\nvar _keys = require('lodash/keys');\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createArrayIterator(coll) {\n var i = -1;\n var len = coll.length;\n return function next() {\n return ++i < len ? { value: coll[i], key: i } : null;\n };\n}\n\nfunction createES2015Iterator(iterator) {\n var i = -1;\n return function next() {\n var item = iterator.next();\n if (item.done) return null;\n i++;\n return { value: item.value, key: i };\n };\n}\n\nfunction createObjectIterator(obj) {\n var okeys = (0, _keys2.default)(obj);\n var i = -1;\n var len = okeys.length;\n return function next() {\n var key = okeys[++i];\n return i < len ? { value: obj[key], key: key } : null;\n };\n}\n\nfunction iterator(coll) {\n if ((0, _isArrayLike2.default)(coll)) {\n return createArrayIterator(coll);\n }\n\n var iterator = (0, _getIterator2.default)(coll);\n return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll);\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = once;\nfunction once(fn) {\n return function () {\n if (fn === null) return;\n var callFn = fn;\n fn = null;\n callFn.apply(this, arguments);\n };\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = onlyOnce;\nfunction onlyOnce(fn) {\n return function () {\n if (fn === null) throw new Error(\"Callback was already called.\");\n var callFn = fn;\n fn = null;\n callFn.apply(this, arguments);\n };\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _parallel;\n\nvar _noop = require('lodash/noop');\n\nvar _noop2 = _interopRequireDefault(_noop);\n\nvar _isArrayLike = require('lodash/isArrayLike');\n\nvar _isArrayLike2 = _interopRequireDefault(_isArrayLike);\n\nvar _slice = require('./slice');\n\nvar _slice2 = _interopRequireDefault(_slice);\n\nvar _wrapAsync = require('./wrapAsync');\n\nvar _wrapAsync2 = _interopRequireDefault(_wrapAsync);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _parallel(eachfn, tasks, callback) {\n callback = callback || _noop2.default;\n var results = (0, _isArrayLike2.default)(tasks) ? [] : {};\n\n eachfn(tasks, function (task, key, callback) {\n (0, _wrapAsync2.default)(task)(function (err, result) {\n if (arguments.length > 2) {\n result = (0, _slice2.default)(arguments, 1);\n }\n results[key] = result;\n callback(err);\n });\n }, function (err) {\n callback(err, results);\n });\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hasNextTick = exports.hasSetImmediate = undefined;\nexports.fallback = fallback;\nexports.wrap = wrap;\n\nvar _slice = require('./slice');\n\nvar _slice2 = _interopRequireDefault(_slice);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasSetImmediate = exports.hasSetImmediate = typeof setImmediate === 'function' && setImmediate;\nvar hasNextTick = exports.hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function';\n\nfunction fallback(fn) {\n setTimeout(fn, 0);\n}\n\nfunction wrap(defer) {\n return function (fn /*, ...args*/) {\n var args = (0, _slice2.default)(arguments, 1);\n defer(function () {\n fn.apply(null, args);\n });\n };\n}\n\nvar _defer;\n\nif (hasSetImmediate) {\n _defer = setImmediate;\n} else if (hasNextTick) {\n _defer = process.nextTick;\n} else {\n _defer = fallback;\n}\n\nexports.default = wrap(_defer);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = slice;\nfunction slice(arrayLike, start) {\n start = start | 0;\n var newLen = Math.max(arrayLike.length - start, 0);\n var newArr = Array(newLen);\n for (var idx = 0; idx < newLen; idx++) {\n newArr[idx] = arrayLike[start + idx];\n }\n return newArr;\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _withoutIndex;\nfunction _withoutIndex(iteratee) {\n return function (value, index, callback) {\n return iteratee(value, callback);\n };\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isAsync = undefined;\n\nvar _asyncify = require('../asyncify');\n\nvar _asyncify2 = _interopRequireDefault(_asyncify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar supportsSymbol = typeof Symbol === 'function';\n\nfunction isAsync(fn) {\n return supportsSymbol && fn[Symbol.toStringTag] === 'AsyncFunction';\n}\n\nfunction wrapAsync(asyncFn) {\n return isAsync(asyncFn) ? (0, _asyncify2.default)(asyncFn) : asyncFn;\n}\n\nexports.default = wrapAsync;\nexports.isAsync = isAsync;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = series;\n\nvar _parallel = require('./internal/parallel');\n\nvar _parallel2 = _interopRequireDefault(_parallel);\n\nvar _eachOfSeries = require('./eachOfSeries');\n\nvar _eachOfSeries2 = _interopRequireDefault(_eachOfSeries);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Run the functions in the `tasks` collection in series, each one running once\n * the previous function has completed. If any functions in the series pass an\n * error to its callback, no more functions are run, and `callback` is\n * immediately called with the value of the error. Otherwise, `callback`\n * receives an array of results when `tasks` have completed.\n *\n * It is also possible to use an object instead of an array. Each property will\n * be run as a function, and the results will be passed to the final `callback`\n * as an object instead of an array. This can be a more readable way of handling\n * results from {@link async.series}.\n *\n * **Note** that while many implementations preserve the order of object\n * properties, the [ECMAScript Language Specification](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6)\n * explicitly states that\n *\n * > The mechanics and order of enumerating the properties is not specified.\n *\n * So if you rely on the order in which your series of functions are executed,\n * and want this to work on all platforms, consider using an array.\n *\n * @name series\n * @static\n * @memberOf module:ControlFlow\n * @method\n * @category Control Flow\n * @param {Array|Iterable|Object} tasks - A collection containing\n * [async functions]{@link AsyncFunction} to run in series.\n * Each function can complete with any number of optional `result` values.\n * @param {Function} [callback] - An optional callback to run once all the\n * functions have completed. This function gets a results array (or object)\n * containing all the result arguments passed to the `task` callbacks. Invoked\n * with (err, result).\n * @example\n * async.series([\n * function(callback) {\n * // do some stuff ...\n * callback(null, 'one');\n * },\n * function(callback) {\n * // do some more stuff ...\n * callback(null, 'two');\n * }\n * ],\n * // optional callback\n * function(err, results) {\n * // results is now equal to ['one', 'two']\n * });\n *\n * async.series({\n * one: function(callback) {\n * setTimeout(function() {\n * callback(null, 1);\n * }, 200);\n * },\n * two: function(callback){\n * setTimeout(function() {\n * callback(null, 2);\n * }, 100);\n * }\n * }, function(err, results) {\n * // results is now equal to: {one: 1, two: 2}\n * });\n */\nfunction series(tasks, callback) {\n (0, _parallel2.default)(_eachOfSeries2.default, tasks, callback);\n}\nmodule.exports = exports['default'];","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\n\nvar reverseNames = {};\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (colorNames.hasOwnProperty(name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar keyword = /(\\D+)/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\n\t\tif (!rgb) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = num.toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict';\n\nvar colorString = require('color-string');\nvar convert = require('color-convert');\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (!obj) {\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n","module.exports = [\n {\n \"value\":\"#B0171F\",\n \"name\":\"indian red\"\n },\n {\n \"value\":\"#DC143C\",\n \"css\":true,\n \"name\":\"crimson\"\n },\n {\n \"value\":\"#FFB6C1\",\n \"css\":true,\n \"name\":\"lightpink\"\n },\n {\n \"value\":\"#FFAEB9\",\n \"name\":\"lightpink 1\"\n },\n {\n \"value\":\"#EEA2AD\",\n \"name\":\"lightpink 2\"\n },\n {\n \"value\":\"#CD8C95\",\n \"name\":\"lightpink 3\"\n },\n {\n \"value\":\"#8B5F65\",\n \"name\":\"lightpink 4\"\n },\n {\n \"value\":\"#FFC0CB\",\n \"css\":true,\n \"name\":\"pink\"\n },\n {\n \"value\":\"#FFB5C5\",\n \"name\":\"pink 1\"\n },\n {\n \"value\":\"#EEA9B8\",\n \"name\":\"pink 2\"\n },\n {\n \"value\":\"#CD919E\",\n \"name\":\"pink 3\"\n },\n {\n \"value\":\"#8B636C\",\n \"name\":\"pink 4\"\n },\n {\n \"value\":\"#DB7093\",\n \"css\":true,\n \"name\":\"palevioletred\"\n },\n {\n \"value\":\"#FF82AB\",\n \"name\":\"palevioletred 1\"\n },\n {\n \"value\":\"#EE799F\",\n \"name\":\"palevioletred 2\"\n },\n {\n \"value\":\"#CD6889\",\n \"name\":\"palevioletred 3\"\n },\n {\n \"value\":\"#8B475D\",\n \"name\":\"palevioletred 4\"\n },\n {\n \"value\":\"#FFF0F5\",\n \"name\":\"lavenderblush 1\"\n },\n {\n \"value\":\"#FFF0F5\",\n \"css\":true,\n \"name\":\"lavenderblush\"\n },\n {\n \"value\":\"#EEE0E5\",\n \"name\":\"lavenderblush 2\"\n },\n {\n \"value\":\"#CDC1C5\",\n \"name\":\"lavenderblush 3\"\n },\n {\n \"value\":\"#8B8386\",\n \"name\":\"lavenderblush 4\"\n },\n {\n \"value\":\"#FF3E96\",\n \"name\":\"violetred 1\"\n },\n {\n \"value\":\"#EE3A8C\",\n \"name\":\"violetred 2\"\n },\n {\n \"value\":\"#CD3278\",\n \"name\":\"violetred 3\"\n },\n {\n \"value\":\"#8B2252\",\n \"name\":\"violetred 4\"\n },\n {\n \"value\":\"#FF69B4\",\n \"css\":true,\n \"name\":\"hotpink\"\n },\n {\n \"value\":\"#FF6EB4\",\n \"name\":\"hotpink 1\"\n },\n {\n \"value\":\"#EE6AA7\",\n \"name\":\"hotpink 2\"\n },\n {\n \"value\":\"#CD6090\",\n \"name\":\"hotpink 3\"\n },\n {\n \"value\":\"#8B3A62\",\n \"name\":\"hotpink 4\"\n },\n {\n \"value\":\"#872657\",\n \"name\":\"raspberry\"\n },\n {\n \"value\":\"#FF1493\",\n \"name\":\"deeppink 1\"\n },\n {\n \"value\":\"#FF1493\",\n \"css\":true,\n \"name\":\"deeppink\"\n },\n {\n \"value\":\"#EE1289\",\n \"name\":\"deeppink 2\"\n },\n {\n \"value\":\"#CD1076\",\n \"name\":\"deeppink 3\"\n },\n {\n \"value\":\"#8B0A50\",\n \"name\":\"deeppink 4\"\n },\n {\n \"value\":\"#FF34B3\",\n \"name\":\"maroon 1\"\n },\n {\n \"value\":\"#EE30A7\",\n \"name\":\"maroon 2\"\n },\n {\n \"value\":\"#CD2990\",\n \"name\":\"maroon 3\"\n },\n {\n \"value\":\"#8B1C62\",\n \"name\":\"maroon 4\"\n },\n {\n \"value\":\"#C71585\",\n \"css\":true,\n \"name\":\"mediumvioletred\"\n },\n {\n \"value\":\"#D02090\",\n \"name\":\"violetred\"\n },\n {\n \"value\":\"#DA70D6\",\n \"css\":true,\n \"name\":\"orchid\"\n },\n {\n \"value\":\"#FF83FA\",\n \"name\":\"orchid 1\"\n },\n {\n \"value\":\"#EE7AE9\",\n \"name\":\"orchid 2\"\n },\n {\n \"value\":\"#CD69C9\",\n \"name\":\"orchid 3\"\n },\n {\n \"value\":\"#8B4789\",\n \"name\":\"orchid 4\"\n },\n {\n \"value\":\"#D8BFD8\",\n \"css\":true,\n \"name\":\"thistle\"\n },\n {\n \"value\":\"#FFE1FF\",\n \"name\":\"thistle 1\"\n },\n {\n \"value\":\"#EED2EE\",\n \"name\":\"thistle 2\"\n },\n {\n \"value\":\"#CDB5CD\",\n \"name\":\"thistle 3\"\n },\n {\n \"value\":\"#8B7B8B\",\n \"name\":\"thistle 4\"\n },\n {\n \"value\":\"#FFBBFF\",\n \"name\":\"plum 1\"\n },\n {\n \"value\":\"#EEAEEE\",\n \"name\":\"plum 2\"\n },\n {\n \"value\":\"#CD96CD\",\n \"name\":\"plum 3\"\n },\n {\n \"value\":\"#8B668B\",\n \"name\":\"plum 4\"\n },\n {\n \"value\":\"#DDA0DD\",\n \"css\":true,\n \"name\":\"plum\"\n },\n {\n \"value\":\"#EE82EE\",\n \"css\":true,\n \"name\":\"violet\"\n },\n {\n \"value\":\"#FF00FF\",\n \"vga\":true,\n \"name\":\"magenta\"\n },\n {\n \"value\":\"#FF00FF\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"fuchsia\"\n },\n {\n \"value\":\"#EE00EE\",\n \"name\":\"magenta 2\"\n },\n {\n \"value\":\"#CD00CD\",\n \"name\":\"magenta 3\"\n },\n {\n \"value\":\"#8B008B\",\n \"name\":\"magenta 4\"\n },\n {\n \"value\":\"#8B008B\",\n \"css\":true,\n \"name\":\"darkmagenta\"\n },\n {\n \"value\":\"#800080\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"purple\"\n },\n {\n \"value\":\"#BA55D3\",\n \"css\":true,\n \"name\":\"mediumorchid\"\n },\n {\n \"value\":\"#E066FF\",\n \"name\":\"mediumorchid 1\"\n },\n {\n \"value\":\"#D15FEE\",\n \"name\":\"mediumorchid 2\"\n },\n {\n \"value\":\"#B452CD\",\n \"name\":\"mediumorchid 3\"\n },\n {\n \"value\":\"#7A378B\",\n \"name\":\"mediumorchid 4\"\n },\n {\n \"value\":\"#9400D3\",\n \"css\":true,\n \"name\":\"darkviolet\"\n },\n {\n \"value\":\"#9932CC\",\n \"css\":true,\n \"name\":\"darkorchid\"\n },\n {\n \"value\":\"#BF3EFF\",\n \"name\":\"darkorchid 1\"\n },\n {\n \"value\":\"#B23AEE\",\n \"name\":\"darkorchid 2\"\n },\n {\n \"value\":\"#9A32CD\",\n \"name\":\"darkorchid 3\"\n },\n {\n \"value\":\"#68228B\",\n \"name\":\"darkorchid 4\"\n },\n {\n \"value\":\"#4B0082\",\n \"css\":true,\n \"name\":\"indigo\"\n },\n {\n \"value\":\"#8A2BE2\",\n \"css\":true,\n \"name\":\"blueviolet\"\n },\n {\n \"value\":\"#9B30FF\",\n \"name\":\"purple 1\"\n },\n {\n \"value\":\"#912CEE\",\n \"name\":\"purple 2\"\n },\n {\n \"value\":\"#7D26CD\",\n \"name\":\"purple 3\"\n },\n {\n \"value\":\"#551A8B\",\n \"name\":\"purple 4\"\n },\n {\n \"value\":\"#9370DB\",\n \"css\":true,\n \"name\":\"mediumpurple\"\n },\n {\n \"value\":\"#AB82FF\",\n \"name\":\"mediumpurple 1\"\n },\n {\n \"value\":\"#9F79EE\",\n \"name\":\"mediumpurple 2\"\n },\n {\n \"value\":\"#8968CD\",\n \"name\":\"mediumpurple 3\"\n },\n {\n \"value\":\"#5D478B\",\n \"name\":\"mediumpurple 4\"\n },\n {\n \"value\":\"#483D8B\",\n \"css\":true,\n \"name\":\"darkslateblue\"\n },\n {\n \"value\":\"#8470FF\",\n \"name\":\"lightslateblue\"\n },\n {\n \"value\":\"#7B68EE\",\n \"css\":true,\n \"name\":\"mediumslateblue\"\n },\n {\n \"value\":\"#6A5ACD\",\n \"css\":true,\n \"name\":\"slateblue\"\n },\n {\n \"value\":\"#836FFF\",\n \"name\":\"slateblue 1\"\n },\n {\n \"value\":\"#7A67EE\",\n \"name\":\"slateblue 2\"\n },\n {\n \"value\":\"#6959CD\",\n \"name\":\"slateblue 3\"\n },\n {\n \"value\":\"#473C8B\",\n \"name\":\"slateblue 4\"\n },\n {\n \"value\":\"#F8F8FF\",\n \"css\":true,\n \"name\":\"ghostwhite\"\n },\n {\n \"value\":\"#E6E6FA\",\n \"css\":true,\n \"name\":\"lavender\"\n },\n {\n \"value\":\"#0000FF\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"blue\"\n },\n {\n \"value\":\"#0000EE\",\n \"name\":\"blue 2\"\n },\n {\n \"value\":\"#0000CD\",\n \"name\":\"blue 3\"\n },\n {\n \"value\":\"#0000CD\",\n \"css\":true,\n \"name\":\"mediumblue\"\n },\n {\n \"value\":\"#00008B\",\n \"name\":\"blue 4\"\n },\n {\n \"value\":\"#00008B\",\n \"css\":true,\n \"name\":\"darkblue\"\n },\n {\n \"value\":\"#000080\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"navy\"\n },\n {\n \"value\":\"#191970\",\n \"css\":true,\n \"name\":\"midnightblue\"\n },\n {\n \"value\":\"#3D59AB\",\n \"name\":\"cobalt\"\n },\n {\n \"value\":\"#4169E1\",\n \"css\":true,\n \"name\":\"royalblue\"\n },\n {\n \"value\":\"#4876FF\",\n \"name\":\"royalblue 1\"\n },\n {\n \"value\":\"#436EEE\",\n \"name\":\"royalblue 2\"\n },\n {\n \"value\":\"#3A5FCD\",\n \"name\":\"royalblue 3\"\n },\n {\n \"value\":\"#27408B\",\n \"name\":\"royalblue 4\"\n },\n {\n \"value\":\"#6495ED\",\n \"css\":true,\n \"name\":\"cornflowerblue\"\n },\n {\n \"value\":\"#B0C4DE\",\n \"css\":true,\n \"name\":\"lightsteelblue\"\n },\n {\n \"value\":\"#CAE1FF\",\n \"name\":\"lightsteelblue 1\"\n },\n {\n \"value\":\"#BCD2EE\",\n \"name\":\"lightsteelblue 2\"\n },\n {\n \"value\":\"#A2B5CD\",\n \"name\":\"lightsteelblue 3\"\n },\n {\n \"value\":\"#6E7B8B\",\n \"name\":\"lightsteelblue 4\"\n },\n {\n \"value\":\"#778899\",\n \"css\":true,\n \"name\":\"lightslategray\"\n },\n {\n \"value\":\"#708090\",\n \"css\":true,\n \"name\":\"slategray\"\n },\n {\n \"value\":\"#C6E2FF\",\n \"name\":\"slategray 1\"\n },\n {\n \"value\":\"#B9D3EE\",\n \"name\":\"slategray 2\"\n },\n {\n \"value\":\"#9FB6CD\",\n \"name\":\"slategray 3\"\n },\n {\n \"value\":\"#6C7B8B\",\n \"name\":\"slategray 4\"\n },\n {\n \"value\":\"#1E90FF\",\n \"name\":\"dodgerblue 1\"\n },\n {\n \"value\":\"#1E90FF\",\n \"css\":true,\n \"name\":\"dodgerblue\"\n },\n {\n \"value\":\"#1C86EE\",\n \"name\":\"dodgerblue 2\"\n },\n {\n \"value\":\"#1874CD\",\n \"name\":\"dodgerblue 3\"\n },\n {\n \"value\":\"#104E8B\",\n \"name\":\"dodgerblue 4\"\n },\n {\n \"value\":\"#F0F8FF\",\n \"css\":true,\n \"name\":\"aliceblue\"\n },\n {\n \"value\":\"#4682B4\",\n \"css\":true,\n \"name\":\"steelblue\"\n },\n {\n \"value\":\"#63B8FF\",\n \"name\":\"steelblue 1\"\n },\n {\n \"value\":\"#5CACEE\",\n \"name\":\"steelblue 2\"\n },\n {\n \"value\":\"#4F94CD\",\n \"name\":\"steelblue 3\"\n },\n {\n \"value\":\"#36648B\",\n \"name\":\"steelblue 4\"\n },\n {\n \"value\":\"#87CEFA\",\n \"css\":true,\n \"name\":\"lightskyblue\"\n },\n {\n \"value\":\"#B0E2FF\",\n \"name\":\"lightskyblue 1\"\n },\n {\n \"value\":\"#A4D3EE\",\n \"name\":\"lightskyblue 2\"\n },\n {\n \"value\":\"#8DB6CD\",\n \"name\":\"lightskyblue 3\"\n },\n {\n \"value\":\"#607B8B\",\n \"name\":\"lightskyblue 4\"\n },\n {\n \"value\":\"#87CEFF\",\n \"name\":\"skyblue 1\"\n },\n {\n \"value\":\"#7EC0EE\",\n \"name\":\"skyblue 2\"\n },\n {\n \"value\":\"#6CA6CD\",\n \"name\":\"skyblue 3\"\n },\n {\n \"value\":\"#4A708B\",\n \"name\":\"skyblue 4\"\n },\n {\n \"value\":\"#87CEEB\",\n \"css\":true,\n \"name\":\"skyblue\"\n },\n {\n \"value\":\"#00BFFF\",\n \"name\":\"deepskyblue 1\"\n },\n {\n \"value\":\"#00BFFF\",\n \"css\":true,\n \"name\":\"deepskyblue\"\n },\n {\n \"value\":\"#00B2EE\",\n \"name\":\"deepskyblue 2\"\n },\n {\n \"value\":\"#009ACD\",\n \"name\":\"deepskyblue 3\"\n },\n {\n \"value\":\"#00688B\",\n \"name\":\"deepskyblue 4\"\n },\n {\n \"value\":\"#33A1C9\",\n \"name\":\"peacock\"\n },\n {\n \"value\":\"#ADD8E6\",\n \"css\":true,\n \"name\":\"lightblue\"\n },\n {\n \"value\":\"#BFEFFF\",\n \"name\":\"lightblue 1\"\n },\n {\n \"value\":\"#B2DFEE\",\n \"name\":\"lightblue 2\"\n },\n {\n \"value\":\"#9AC0CD\",\n \"name\":\"lightblue 3\"\n },\n {\n \"value\":\"#68838B\",\n \"name\":\"lightblue 4\"\n },\n {\n \"value\":\"#B0E0E6\",\n \"css\":true,\n \"name\":\"powderblue\"\n },\n {\n \"value\":\"#98F5FF\",\n \"name\":\"cadetblue 1\"\n },\n {\n \"value\":\"#8EE5EE\",\n \"name\":\"cadetblue 2\"\n },\n {\n \"value\":\"#7AC5CD\",\n \"name\":\"cadetblue 3\"\n },\n {\n \"value\":\"#53868B\",\n \"name\":\"cadetblue 4\"\n },\n {\n \"value\":\"#00F5FF\",\n \"name\":\"turquoise 1\"\n },\n {\n \"value\":\"#00E5EE\",\n \"name\":\"turquoise 2\"\n },\n {\n \"value\":\"#00C5CD\",\n \"name\":\"turquoise 3\"\n },\n {\n \"value\":\"#00868B\",\n \"name\":\"turquoise 4\"\n },\n {\n \"value\":\"#5F9EA0\",\n \"css\":true,\n \"name\":\"cadetblue\"\n },\n {\n \"value\":\"#00CED1\",\n \"css\":true,\n \"name\":\"darkturquoise\"\n },\n {\n \"value\":\"#F0FFFF\",\n \"name\":\"azure 1\"\n },\n {\n \"value\":\"#F0FFFF\",\n \"css\":true,\n \"name\":\"azure\"\n },\n {\n \"value\":\"#E0EEEE\",\n \"name\":\"azure 2\"\n },\n {\n \"value\":\"#C1CDCD\",\n \"name\":\"azure 3\"\n },\n {\n \"value\":\"#838B8B\",\n \"name\":\"azure 4\"\n },\n {\n \"value\":\"#E0FFFF\",\n \"name\":\"lightcyan 1\"\n },\n {\n \"value\":\"#E0FFFF\",\n \"css\":true,\n \"name\":\"lightcyan\"\n },\n {\n \"value\":\"#D1EEEE\",\n \"name\":\"lightcyan 2\"\n },\n {\n \"value\":\"#B4CDCD\",\n \"name\":\"lightcyan 3\"\n },\n {\n \"value\":\"#7A8B8B\",\n \"name\":\"lightcyan 4\"\n },\n {\n \"value\":\"#BBFFFF\",\n \"name\":\"paleturquoise 1\"\n },\n {\n \"value\":\"#AEEEEE\",\n \"name\":\"paleturquoise 2\"\n },\n {\n \"value\":\"#AEEEEE\",\n \"css\":true,\n \"name\":\"paleturquoise\"\n },\n {\n \"value\":\"#96CDCD\",\n \"name\":\"paleturquoise 3\"\n },\n {\n \"value\":\"#668B8B\",\n \"name\":\"paleturquoise 4\"\n },\n {\n \"value\":\"#2F4F4F\",\n \"css\":true,\n \"name\":\"darkslategray\"\n },\n {\n \"value\":\"#97FFFF\",\n \"name\":\"darkslategray 1\"\n },\n {\n \"value\":\"#8DEEEE\",\n \"name\":\"darkslategray 2\"\n },\n {\n \"value\":\"#79CDCD\",\n \"name\":\"darkslategray 3\"\n },\n {\n \"value\":\"#528B8B\",\n \"name\":\"darkslategray 4\"\n },\n {\n \"value\":\"#00FFFF\",\n \"name\":\"cyan\"\n },\n {\n \"value\":\"#00FFFF\",\n \"css\":true,\n \"name\":\"aqua\"\n },\n {\n \"value\":\"#00EEEE\",\n \"name\":\"cyan 2\"\n },\n {\n \"value\":\"#00CDCD\",\n \"name\":\"cyan 3\"\n },\n {\n \"value\":\"#008B8B\",\n \"name\":\"cyan 4\"\n },\n {\n \"value\":\"#008B8B\",\n \"css\":true,\n \"name\":\"darkcyan\"\n },\n {\n \"value\":\"#008080\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"teal\"\n },\n {\n \"value\":\"#48D1CC\",\n \"css\":true,\n \"name\":\"mediumturquoise\"\n },\n {\n \"value\":\"#20B2AA\",\n \"css\":true,\n \"name\":\"lightseagreen\"\n },\n {\n \"value\":\"#03A89E\",\n \"name\":\"manganeseblue\"\n },\n {\n \"value\":\"#40E0D0\",\n \"css\":true,\n \"name\":\"turquoise\"\n },\n {\n \"value\":\"#808A87\",\n \"name\":\"coldgrey\"\n },\n {\n \"value\":\"#00C78C\",\n \"name\":\"turquoiseblue\"\n },\n {\n \"value\":\"#7FFFD4\",\n \"name\":\"aquamarine 1\"\n },\n {\n \"value\":\"#7FFFD4\",\n \"css\":true,\n \"name\":\"aquamarine\"\n },\n {\n \"value\":\"#76EEC6\",\n \"name\":\"aquamarine 2\"\n },\n {\n \"value\":\"#66CDAA\",\n \"name\":\"aquamarine 3\"\n },\n {\n \"value\":\"#66CDAA\",\n \"css\":true,\n \"name\":\"mediumaquamarine\"\n },\n {\n \"value\":\"#458B74\",\n \"name\":\"aquamarine 4\"\n },\n {\n \"value\":\"#00FA9A\",\n \"css\":true,\n \"name\":\"mediumspringgreen\"\n },\n {\n \"value\":\"#F5FFFA\",\n \"css\":true,\n \"name\":\"mintcream\"\n },\n {\n \"value\":\"#00FF7F\",\n \"css\":true,\n \"name\":\"springgreen\"\n },\n {\n \"value\":\"#00EE76\",\n \"name\":\"springgreen 1\"\n },\n {\n \"value\":\"#00CD66\",\n \"name\":\"springgreen 2\"\n },\n {\n \"value\":\"#008B45\",\n \"name\":\"springgreen 3\"\n },\n {\n \"value\":\"#3CB371\",\n \"css\":true,\n \"name\":\"mediumseagreen\"\n },\n {\n \"value\":\"#54FF9F\",\n \"name\":\"seagreen 1\"\n },\n {\n \"value\":\"#4EEE94\",\n \"name\":\"seagreen 2\"\n },\n {\n \"value\":\"#43CD80\",\n \"name\":\"seagreen 3\"\n },\n {\n \"value\":\"#2E8B57\",\n \"name\":\"seagreen 4\"\n },\n {\n \"value\":\"#2E8B57\",\n \"css\":true,\n \"name\":\"seagreen\"\n },\n {\n \"value\":\"#00C957\",\n \"name\":\"emeraldgreen\"\n },\n {\n \"value\":\"#BDFCC9\",\n \"name\":\"mint\"\n },\n {\n \"value\":\"#3D9140\",\n \"name\":\"cobaltgreen\"\n },\n {\n \"value\":\"#F0FFF0\",\n \"name\":\"honeydew 1\"\n },\n {\n \"value\":\"#F0FFF0\",\n \"css\":true,\n \"name\":\"honeydew\"\n },\n {\n \"value\":\"#E0EEE0\",\n \"name\":\"honeydew 2\"\n },\n {\n \"value\":\"#C1CDC1\",\n \"name\":\"honeydew 3\"\n },\n {\n \"value\":\"#838B83\",\n \"name\":\"honeydew 4\"\n },\n {\n \"value\":\"#8FBC8F\",\n \"css\":true,\n \"name\":\"darkseagreen\"\n },\n {\n \"value\":\"#C1FFC1\",\n \"name\":\"darkseagreen 1\"\n },\n {\n \"value\":\"#B4EEB4\",\n \"name\":\"darkseagreen 2\"\n },\n {\n \"value\":\"#9BCD9B\",\n \"name\":\"darkseagreen 3\"\n },\n {\n \"value\":\"#698B69\",\n \"name\":\"darkseagreen 4\"\n },\n {\n \"value\":\"#98FB98\",\n \"css\":true,\n \"name\":\"palegreen\"\n },\n {\n \"value\":\"#9AFF9A\",\n \"name\":\"palegreen 1\"\n },\n {\n \"value\":\"#90EE90\",\n \"name\":\"palegreen 2\"\n },\n {\n \"value\":\"#90EE90\",\n \"css\":true,\n \"name\":\"lightgreen\"\n },\n {\n \"value\":\"#7CCD7C\",\n \"name\":\"palegreen 3\"\n },\n {\n \"value\":\"#548B54\",\n \"name\":\"palegreen 4\"\n },\n {\n \"value\":\"#32CD32\",\n \"css\":true,\n \"name\":\"limegreen\"\n },\n {\n \"value\":\"#228B22\",\n \"css\":true,\n \"name\":\"forestgreen\"\n },\n {\n \"value\":\"#00FF00\",\n \"vga\":true,\n \"name\":\"green 1\"\n },\n {\n \"value\":\"#00FF00\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"lime\"\n },\n {\n \"value\":\"#00EE00\",\n \"name\":\"green 2\"\n },\n {\n \"value\":\"#00CD00\",\n \"name\":\"green 3\"\n },\n {\n \"value\":\"#008B00\",\n \"name\":\"green 4\"\n },\n {\n \"value\":\"#008000\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"green\"\n },\n {\n \"value\":\"#006400\",\n \"css\":true,\n \"name\":\"darkgreen\"\n },\n {\n \"value\":\"#308014\",\n \"name\":\"sapgreen\"\n },\n {\n \"value\":\"#7CFC00\",\n \"css\":true,\n \"name\":\"lawngreen\"\n },\n {\n \"value\":\"#7FFF00\",\n \"name\":\"chartreuse 1\"\n },\n {\n \"value\":\"#7FFF00\",\n \"css\":true,\n \"name\":\"chartreuse\"\n },\n {\n \"value\":\"#76EE00\",\n \"name\":\"chartreuse 2\"\n },\n {\n \"value\":\"#66CD00\",\n \"name\":\"chartreuse 3\"\n },\n {\n \"value\":\"#458B00\",\n \"name\":\"chartreuse 4\"\n },\n {\n \"value\":\"#ADFF2F\",\n \"css\":true,\n \"name\":\"greenyellow\"\n },\n {\n \"value\":\"#CAFF70\",\n \"name\":\"darkolivegreen 1\"\n },\n {\n \"value\":\"#BCEE68\",\n \"name\":\"darkolivegreen 2\"\n },\n {\n \"value\":\"#A2CD5A\",\n \"name\":\"darkolivegreen 3\"\n },\n {\n \"value\":\"#6E8B3D\",\n \"name\":\"darkolivegreen 4\"\n },\n {\n \"value\":\"#556B2F\",\n \"css\":true,\n \"name\":\"darkolivegreen\"\n },\n {\n \"value\":\"#6B8E23\",\n \"css\":true,\n \"name\":\"olivedrab\"\n },\n {\n \"value\":\"#C0FF3E\",\n \"name\":\"olivedrab 1\"\n },\n {\n \"value\":\"#B3EE3A\",\n \"name\":\"olivedrab 2\"\n },\n {\n \"value\":\"#9ACD32\",\n \"name\":\"olivedrab 3\"\n },\n {\n \"value\":\"#9ACD32\",\n \"css\":true,\n \"name\":\"yellowgreen\"\n },\n {\n \"value\":\"#698B22\",\n \"name\":\"olivedrab 4\"\n },\n {\n \"value\":\"#FFFFF0\",\n \"name\":\"ivory 1\"\n },\n {\n \"value\":\"#FFFFF0\",\n \"css\":true,\n \"name\":\"ivory\"\n },\n {\n \"value\":\"#EEEEE0\",\n \"name\":\"ivory 2\"\n },\n {\n \"value\":\"#CDCDC1\",\n \"name\":\"ivory 3\"\n },\n {\n \"value\":\"#8B8B83\",\n \"name\":\"ivory 4\"\n },\n {\n \"value\":\"#F5F5DC\",\n \"css\":true,\n \"name\":\"beige\"\n },\n {\n \"value\":\"#FFFFE0\",\n \"name\":\"lightyellow 1\"\n },\n {\n \"value\":\"#FFFFE0\",\n \"css\":true,\n \"name\":\"lightyellow\"\n },\n {\n \"value\":\"#EEEED1\",\n \"name\":\"lightyellow 2\"\n },\n {\n \"value\":\"#CDCDB4\",\n \"name\":\"lightyellow 3\"\n },\n {\n \"value\":\"#8B8B7A\",\n \"name\":\"lightyellow 4\"\n },\n {\n \"value\":\"#FAFAD2\",\n \"css\":true,\n \"name\":\"lightgoldenrodyellow\"\n },\n {\n \"value\":\"#FFFF00\",\n \"vga\":true,\n \"name\":\"yellow 1\"\n },\n {\n \"value\":\"#FFFF00\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"yellow\"\n },\n {\n \"value\":\"#EEEE00\",\n \"name\":\"yellow 2\"\n },\n {\n \"value\":\"#CDCD00\",\n \"name\":\"yellow 3\"\n },\n {\n \"value\":\"#8B8B00\",\n \"name\":\"yellow 4\"\n },\n {\n \"value\":\"#808069\",\n \"name\":\"warmgrey\"\n },\n {\n \"value\":\"#808000\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"olive\"\n },\n {\n \"value\":\"#BDB76B\",\n \"css\":true,\n \"name\":\"darkkhaki\"\n },\n {\n \"value\":\"#FFF68F\",\n \"name\":\"khaki 1\"\n },\n {\n \"value\":\"#EEE685\",\n \"name\":\"khaki 2\"\n },\n {\n \"value\":\"#CDC673\",\n \"name\":\"khaki 3\"\n },\n {\n \"value\":\"#8B864E\",\n \"name\":\"khaki 4\"\n },\n {\n \"value\":\"#F0E68C\",\n \"css\":true,\n \"name\":\"khaki\"\n },\n {\n \"value\":\"#EEE8AA\",\n \"css\":true,\n \"name\":\"palegoldenrod\"\n },\n {\n \"value\":\"#FFFACD\",\n \"name\":\"lemonchiffon 1\"\n },\n {\n \"value\":\"#FFFACD\",\n \"css\":true,\n \"name\":\"lemonchiffon\"\n },\n {\n \"value\":\"#EEE9BF\",\n \"name\":\"lemonchiffon 2\"\n },\n {\n \"value\":\"#CDC9A5\",\n \"name\":\"lemonchiffon 3\"\n },\n {\n \"value\":\"#8B8970\",\n \"name\":\"lemonchiffon 4\"\n },\n {\n \"value\":\"#FFEC8B\",\n \"name\":\"lightgoldenrod 1\"\n },\n {\n \"value\":\"#EEDC82\",\n \"name\":\"lightgoldenrod 2\"\n },\n {\n \"value\":\"#CDBE70\",\n \"name\":\"lightgoldenrod 3\"\n },\n {\n \"value\":\"#8B814C\",\n \"name\":\"lightgoldenrod 4\"\n },\n {\n \"value\":\"#E3CF57\",\n \"name\":\"banana\"\n },\n {\n \"value\":\"#FFD700\",\n \"name\":\"gold 1\"\n },\n {\n \"value\":\"#FFD700\",\n \"css\":true,\n \"name\":\"gold\"\n },\n {\n \"value\":\"#EEC900\",\n \"name\":\"gold 2\"\n },\n {\n \"value\":\"#CDAD00\",\n \"name\":\"gold 3\"\n },\n {\n \"value\":\"#8B7500\",\n \"name\":\"gold 4\"\n },\n {\n \"value\":\"#FFF8DC\",\n \"name\":\"cornsilk 1\"\n },\n {\n \"value\":\"#FFF8DC\",\n \"css\":true,\n \"name\":\"cornsilk\"\n },\n {\n \"value\":\"#EEE8CD\",\n \"name\":\"cornsilk 2\"\n },\n {\n \"value\":\"#CDC8B1\",\n \"name\":\"cornsilk 3\"\n },\n {\n \"value\":\"#8B8878\",\n \"name\":\"cornsilk 4\"\n },\n {\n \"value\":\"#DAA520\",\n \"css\":true,\n \"name\":\"goldenrod\"\n },\n {\n \"value\":\"#FFC125\",\n \"name\":\"goldenrod 1\"\n },\n {\n \"value\":\"#EEB422\",\n \"name\":\"goldenrod 2\"\n },\n {\n \"value\":\"#CD9B1D\",\n \"name\":\"goldenrod 3\"\n },\n {\n \"value\":\"#8B6914\",\n \"name\":\"goldenrod 4\"\n },\n {\n \"value\":\"#B8860B\",\n \"css\":true,\n \"name\":\"darkgoldenrod\"\n },\n {\n \"value\":\"#FFB90F\",\n \"name\":\"darkgoldenrod 1\"\n },\n {\n \"value\":\"#EEAD0E\",\n \"name\":\"darkgoldenrod 2\"\n },\n {\n \"value\":\"#CD950C\",\n \"name\":\"darkgoldenrod 3\"\n },\n {\n \"value\":\"#8B6508\",\n \"name\":\"darkgoldenrod 4\"\n },\n {\n \"value\":\"#FFA500\",\n \"name\":\"orange 1\"\n },\n {\n \"value\":\"#FF8000\",\n \"css\":true,\n \"name\":\"orange\"\n },\n {\n \"value\":\"#EE9A00\",\n \"name\":\"orange 2\"\n },\n {\n \"value\":\"#CD8500\",\n \"name\":\"orange 3\"\n },\n {\n \"value\":\"#8B5A00\",\n \"name\":\"orange 4\"\n },\n {\n \"value\":\"#FFFAF0\",\n \"css\":true,\n \"name\":\"floralwhite\"\n },\n {\n \"value\":\"#FDF5E6\",\n \"css\":true,\n \"name\":\"oldlace\"\n },\n {\n \"value\":\"#F5DEB3\",\n \"css\":true,\n \"name\":\"wheat\"\n },\n {\n \"value\":\"#FFE7BA\",\n \"name\":\"wheat 1\"\n },\n {\n \"value\":\"#EED8AE\",\n \"name\":\"wheat 2\"\n },\n {\n \"value\":\"#CDBA96\",\n \"name\":\"wheat 3\"\n },\n {\n \"value\":\"#8B7E66\",\n \"name\":\"wheat 4\"\n },\n {\n \"value\":\"#FFE4B5\",\n \"css\":true,\n \"name\":\"moccasin\"\n },\n {\n \"value\":\"#FFEFD5\",\n \"css\":true,\n \"name\":\"papayawhip\"\n },\n {\n \"value\":\"#FFEBCD\",\n \"css\":true,\n \"name\":\"blanchedalmond\"\n },\n {\n \"value\":\"#FFDEAD\",\n \"name\":\"navajowhite 1\"\n },\n {\n \"value\":\"#FFDEAD\",\n \"css\":true,\n \"name\":\"navajowhite\"\n },\n {\n \"value\":\"#EECFA1\",\n \"name\":\"navajowhite 2\"\n },\n {\n \"value\":\"#CDB38B\",\n \"name\":\"navajowhite 3\"\n },\n {\n \"value\":\"#8B795E\",\n \"name\":\"navajowhite 4\"\n },\n {\n \"value\":\"#FCE6C9\",\n \"name\":\"eggshell\"\n },\n {\n \"value\":\"#D2B48C\",\n \"css\":true,\n \"name\":\"tan\"\n },\n {\n \"value\":\"#9C661F\",\n \"name\":\"brick\"\n },\n {\n \"value\":\"#FF9912\",\n \"name\":\"cadmiumyellow\"\n },\n {\n \"value\":\"#FAEBD7\",\n \"css\":true,\n \"name\":\"antiquewhite\"\n },\n {\n \"value\":\"#FFEFDB\",\n \"name\":\"antiquewhite 1\"\n },\n {\n \"value\":\"#EEDFCC\",\n \"name\":\"antiquewhite 2\"\n },\n {\n \"value\":\"#CDC0B0\",\n \"name\":\"antiquewhite 3\"\n },\n {\n \"value\":\"#8B8378\",\n \"name\":\"antiquewhite 4\"\n },\n {\n \"value\":\"#DEB887\",\n \"css\":true,\n \"name\":\"burlywood\"\n },\n {\n \"value\":\"#FFD39B\",\n \"name\":\"burlywood 1\"\n },\n {\n \"value\":\"#EEC591\",\n \"name\":\"burlywood 2\"\n },\n {\n \"value\":\"#CDAA7D\",\n \"name\":\"burlywood 3\"\n },\n {\n \"value\":\"#8B7355\",\n \"name\":\"burlywood 4\"\n },\n {\n \"value\":\"#FFE4C4\",\n \"name\":\"bisque 1\"\n },\n {\n \"value\":\"#FFE4C4\",\n \"css\":true,\n \"name\":\"bisque\"\n },\n {\n \"value\":\"#EED5B7\",\n \"name\":\"bisque 2\"\n },\n {\n \"value\":\"#CDB79E\",\n \"name\":\"bisque 3\"\n },\n {\n \"value\":\"#8B7D6B\",\n \"name\":\"bisque 4\"\n },\n {\n \"value\":\"#E3A869\",\n \"name\":\"melon\"\n },\n {\n \"value\":\"#ED9121\",\n \"name\":\"carrot\"\n },\n {\n \"value\":\"#FF8C00\",\n \"css\":true,\n \"name\":\"darkorange\"\n },\n {\n \"value\":\"#FF7F00\",\n \"name\":\"darkorange 1\"\n },\n {\n \"value\":\"#EE7600\",\n \"name\":\"darkorange 2\"\n },\n {\n \"value\":\"#CD6600\",\n \"name\":\"darkorange 3\"\n },\n {\n \"value\":\"#8B4500\",\n \"name\":\"darkorange 4\"\n },\n {\n \"value\":\"#FFA54F\",\n \"name\":\"tan 1\"\n },\n {\n \"value\":\"#EE9A49\",\n \"name\":\"tan 2\"\n },\n {\n \"value\":\"#CD853F\",\n \"name\":\"tan 3\"\n },\n {\n \"value\":\"#CD853F\",\n \"css\":true,\n \"name\":\"peru\"\n },\n {\n \"value\":\"#8B5A2B\",\n \"name\":\"tan 4\"\n },\n {\n \"value\":\"#FAF0E6\",\n \"css\":true,\n \"name\":\"linen\"\n },\n {\n \"value\":\"#FFDAB9\",\n \"name\":\"peachpuff 1\"\n },\n {\n \"value\":\"#FFDAB9\",\n \"css\":true,\n \"name\":\"peachpuff\"\n },\n {\n \"value\":\"#EECBAD\",\n \"name\":\"peachpuff 2\"\n },\n {\n \"value\":\"#CDAF95\",\n \"name\":\"peachpuff 3\"\n },\n {\n \"value\":\"#8B7765\",\n \"name\":\"peachpuff 4\"\n },\n {\n \"value\":\"#FFF5EE\",\n \"name\":\"seashell 1\"\n },\n {\n \"value\":\"#FFF5EE\",\n \"css\":true,\n \"name\":\"seashell\"\n },\n {\n \"value\":\"#EEE5DE\",\n \"name\":\"seashell 2\"\n },\n {\n \"value\":\"#CDC5BF\",\n \"name\":\"seashell 3\"\n },\n {\n \"value\":\"#8B8682\",\n \"name\":\"seashell 4\"\n },\n {\n \"value\":\"#F4A460\",\n \"css\":true,\n \"name\":\"sandybrown\"\n },\n {\n \"value\":\"#C76114\",\n \"name\":\"rawsienna\"\n },\n {\n \"value\":\"#D2691E\",\n \"css\":true,\n \"name\":\"chocolate\"\n },\n {\n \"value\":\"#FF7F24\",\n \"name\":\"chocolate 1\"\n },\n {\n \"value\":\"#EE7621\",\n \"name\":\"chocolate 2\"\n },\n {\n \"value\":\"#CD661D\",\n \"name\":\"chocolate 3\"\n },\n {\n \"value\":\"#8B4513\",\n \"name\":\"chocolate 4\"\n },\n {\n \"value\":\"#8B4513\",\n \"css\":true,\n \"name\":\"saddlebrown\"\n },\n {\n \"value\":\"#292421\",\n \"name\":\"ivoryblack\"\n },\n {\n \"value\":\"#FF7D40\",\n \"name\":\"flesh\"\n },\n {\n \"value\":\"#FF6103\",\n \"name\":\"cadmiumorange\"\n },\n {\n \"value\":\"#8A360F\",\n \"name\":\"burntsienna\"\n },\n {\n \"value\":\"#A0522D\",\n \"css\":true,\n \"name\":\"sienna\"\n },\n {\n \"value\":\"#FF8247\",\n \"name\":\"sienna 1\"\n },\n {\n \"value\":\"#EE7942\",\n \"name\":\"sienna 2\"\n },\n {\n \"value\":\"#CD6839\",\n \"name\":\"sienna 3\"\n },\n {\n \"value\":\"#8B4726\",\n \"name\":\"sienna 4\"\n },\n {\n \"value\":\"#FFA07A\",\n \"name\":\"lightsalmon 1\"\n },\n {\n \"value\":\"#FFA07A\",\n \"css\":true,\n \"name\":\"lightsalmon\"\n },\n {\n \"value\":\"#EE9572\",\n \"name\":\"lightsalmon 2\"\n },\n {\n \"value\":\"#CD8162\",\n \"name\":\"lightsalmon 3\"\n },\n {\n \"value\":\"#8B5742\",\n \"name\":\"lightsalmon 4\"\n },\n {\n \"value\":\"#FF7F50\",\n \"css\":true,\n \"name\":\"coral\"\n },\n {\n \"value\":\"#FF4500\",\n \"name\":\"orangered 1\"\n },\n {\n \"value\":\"#FF4500\",\n \"css\":true,\n \"name\":\"orangered\"\n },\n {\n \"value\":\"#EE4000\",\n \"name\":\"orangered 2\"\n },\n {\n \"value\":\"#CD3700\",\n \"name\":\"orangered 3\"\n },\n {\n \"value\":\"#8B2500\",\n \"name\":\"orangered 4\"\n },\n {\n \"value\":\"#5E2612\",\n \"name\":\"sepia\"\n },\n {\n \"value\":\"#E9967A\",\n \"css\":true,\n \"name\":\"darksalmon\"\n },\n {\n \"value\":\"#FF8C69\",\n \"name\":\"salmon 1\"\n },\n {\n \"value\":\"#EE8262\",\n \"name\":\"salmon 2\"\n },\n {\n \"value\":\"#CD7054\",\n \"name\":\"salmon 3\"\n },\n {\n \"value\":\"#8B4C39\",\n \"name\":\"salmon 4\"\n },\n {\n \"value\":\"#FF7256\",\n \"name\":\"coral 1\"\n },\n {\n \"value\":\"#EE6A50\",\n \"name\":\"coral 2\"\n },\n {\n \"value\":\"#CD5B45\",\n \"name\":\"coral 3\"\n },\n {\n \"value\":\"#8B3E2F\",\n \"name\":\"coral 4\"\n },\n {\n \"value\":\"#8A3324\",\n \"name\":\"burntumber\"\n },\n {\n \"value\":\"#FF6347\",\n \"name\":\"tomato 1\"\n },\n {\n \"value\":\"#FF6347\",\n \"css\":true,\n \"name\":\"tomato\"\n },\n {\n \"value\":\"#EE5C42\",\n \"name\":\"tomato 2\"\n },\n {\n \"value\":\"#CD4F39\",\n \"name\":\"tomato 3\"\n },\n {\n \"value\":\"#8B3626\",\n \"name\":\"tomato 4\"\n },\n {\n \"value\":\"#FA8072\",\n \"css\":true,\n \"name\":\"salmon\"\n },\n {\n \"value\":\"#FFE4E1\",\n \"name\":\"mistyrose 1\"\n },\n {\n \"value\":\"#FFE4E1\",\n \"css\":true,\n \"name\":\"mistyrose\"\n },\n {\n \"value\":\"#EED5D2\",\n \"name\":\"mistyrose 2\"\n },\n {\n \"value\":\"#CDB7B5\",\n \"name\":\"mistyrose 3\"\n },\n {\n \"value\":\"#8B7D7B\",\n \"name\":\"mistyrose 4\"\n },\n {\n \"value\":\"#FFFAFA\",\n \"name\":\"snow 1\"\n },\n {\n \"value\":\"#FFFAFA\",\n \"css\":true,\n \"name\":\"snow\"\n },\n {\n \"value\":\"#EEE9E9\",\n \"name\":\"snow 2\"\n },\n {\n \"value\":\"#CDC9C9\",\n \"name\":\"snow 3\"\n },\n {\n \"value\":\"#8B8989\",\n \"name\":\"snow 4\"\n },\n {\n \"value\":\"#BC8F8F\",\n \"css\":true,\n \"name\":\"rosybrown\"\n },\n {\n \"value\":\"#FFC1C1\",\n \"name\":\"rosybrown 1\"\n },\n {\n \"value\":\"#EEB4B4\",\n \"name\":\"rosybrown 2\"\n },\n {\n \"value\":\"#CD9B9B\",\n \"name\":\"rosybrown 3\"\n },\n {\n \"value\":\"#8B6969\",\n \"name\":\"rosybrown 4\"\n },\n {\n \"value\":\"#F08080\",\n \"css\":true,\n \"name\":\"lightcoral\"\n },\n {\n \"value\":\"#CD5C5C\",\n \"css\":true,\n \"name\":\"indianred\"\n },\n {\n \"value\":\"#FF6A6A\",\n \"name\":\"indianred 1\"\n },\n {\n \"value\":\"#EE6363\",\n \"name\":\"indianred 2\"\n },\n {\n \"value\":\"#8B3A3A\",\n \"name\":\"indianred 4\"\n },\n {\n \"value\":\"#CD5555\",\n \"name\":\"indianred 3\"\n },\n {\n \"value\":\"#A52A2A\",\n \"css\":true,\n \"name\":\"brown\"\n },\n {\n \"value\":\"#FF4040\",\n \"name\":\"brown 1\"\n },\n {\n \"value\":\"#EE3B3B\",\n \"name\":\"brown 2\"\n },\n {\n \"value\":\"#CD3333\",\n \"name\":\"brown 3\"\n },\n {\n \"value\":\"#8B2323\",\n \"name\":\"brown 4\"\n },\n {\n \"value\":\"#B22222\",\n \"css\":true,\n \"name\":\"firebrick\"\n },\n {\n \"value\":\"#FF3030\",\n \"name\":\"firebrick 1\"\n },\n {\n \"value\":\"#EE2C2C\",\n \"name\":\"firebrick 2\"\n },\n {\n \"value\":\"#CD2626\",\n \"name\":\"firebrick 3\"\n },\n {\n \"value\":\"#8B1A1A\",\n \"name\":\"firebrick 4\"\n },\n {\n \"value\":\"#FF0000\",\n \"vga\":true,\n \"name\":\"red 1\"\n },\n {\n \"value\":\"#FF0000\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"red\"\n },\n {\n \"value\":\"#EE0000\",\n \"name\":\"red 2\"\n },\n {\n \"value\":\"#CD0000\",\n \"name\":\"red 3\"\n },\n {\n \"value\":\"#8B0000\",\n \"name\":\"red 4\"\n },\n {\n \"value\":\"#8B0000\",\n \"css\":true,\n \"name\":\"darkred\"\n },\n {\n \"value\":\"#800000\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"maroon\"\n },\n {\n \"value\":\"#8E388E\",\n \"name\":\"sgi beet\"\n },\n {\n \"value\":\"#7171C6\",\n \"name\":\"sgi slateblue\"\n },\n {\n \"value\":\"#7D9EC0\",\n \"name\":\"sgi lightblue\"\n },\n {\n \"value\":\"#388E8E\",\n \"name\":\"sgi teal\"\n },\n {\n \"value\":\"#71C671\",\n \"name\":\"sgi chartreuse\"\n },\n {\n \"value\":\"#8E8E38\",\n \"name\":\"sgi olivedrab\"\n },\n {\n \"value\":\"#C5C1AA\",\n \"name\":\"sgi brightgray\"\n },\n {\n \"value\":\"#C67171\",\n \"name\":\"sgi salmon\"\n },\n {\n \"value\":\"#555555\",\n \"name\":\"sgi darkgray\"\n },\n {\n \"value\":\"#1E1E1E\",\n \"name\":\"sgi gray 12\"\n },\n {\n \"value\":\"#282828\",\n \"name\":\"sgi gray 16\"\n },\n {\n \"value\":\"#515151\",\n \"name\":\"sgi gray 32\"\n },\n {\n \"value\":\"#5B5B5B\",\n \"name\":\"sgi gray 36\"\n },\n {\n \"value\":\"#848484\",\n \"name\":\"sgi gray 52\"\n },\n {\n \"value\":\"#8E8E8E\",\n \"name\":\"sgi gray 56\"\n },\n {\n \"value\":\"#AAAAAA\",\n \"name\":\"sgi lightgray\"\n },\n {\n \"value\":\"#B7B7B7\",\n \"name\":\"sgi gray 72\"\n },\n {\n \"value\":\"#C1C1C1\",\n \"name\":\"sgi gray 76\"\n },\n {\n \"value\":\"#EAEAEA\",\n \"name\":\"sgi gray 92\"\n },\n {\n \"value\":\"#F4F4F4\",\n \"name\":\"sgi gray 96\"\n },\n {\n \"value\":\"#FFFFFF\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"white\"\n },\n {\n \"value\":\"#F5F5F5\",\n \"name\":\"white smoke\"\n },\n {\n \"value\":\"#F5F5F5\",\n \"name\":\"gray 96\"\n },\n {\n \"value\":\"#DCDCDC\",\n \"css\":true,\n \"name\":\"gainsboro\"\n },\n {\n \"value\":\"#D3D3D3\",\n \"css\":true,\n \"name\":\"lightgrey\"\n },\n {\n \"value\":\"#C0C0C0\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"silver\"\n },\n {\n \"value\":\"#A9A9A9\",\n \"css\":true,\n \"name\":\"darkgray\"\n },\n {\n \"value\":\"#808080\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"gray\"\n },\n {\n \"value\":\"#696969\",\n \"css\":true,\n \"name\":\"dimgray\"\n },\n {\n \"value\":\"#696969\",\n \"name\":\"gray 42\"\n },\n {\n \"value\":\"#000000\",\n \"vga\":true,\n \"css\":true,\n \"name\":\"black\"\n },\n {\n \"value\":\"#FCFCFC\",\n \"name\":\"gray 99\"\n },\n {\n \"value\":\"#FAFAFA\",\n \"name\":\"gray 98\"\n },\n {\n \"value\":\"#F7F7F7\",\n \"name\":\"gray 97\"\n },\n {\n \"value\":\"#F2F2F2\",\n \"name\":\"gray 95\"\n },\n {\n \"value\":\"#F0F0F0\",\n \"name\":\"gray 94\"\n },\n {\n \"value\":\"#EDEDED\",\n \"name\":\"gray 93\"\n },\n {\n \"value\":\"#EBEBEB\",\n \"name\":\"gray 92\"\n },\n {\n \"value\":\"#E8E8E8\",\n \"name\":\"gray 91\"\n },\n {\n \"value\":\"#E5E5E5\",\n \"name\":\"gray 90\"\n },\n {\n \"value\":\"#E3E3E3\",\n \"name\":\"gray 89\"\n },\n {\n \"value\":\"#E0E0E0\",\n \"name\":\"gray 88\"\n },\n {\n \"value\":\"#DEDEDE\",\n \"name\":\"gray 87\"\n },\n {\n \"value\":\"#DBDBDB\",\n \"name\":\"gray 86\"\n },\n {\n \"value\":\"#D9D9D9\",\n \"name\":\"gray 85\"\n },\n {\n \"value\":\"#D6D6D6\",\n \"name\":\"gray 84\"\n },\n {\n \"value\":\"#D4D4D4\",\n \"name\":\"gray 83\"\n },\n {\n \"value\":\"#D1D1D1\",\n \"name\":\"gray 82\"\n },\n {\n \"value\":\"#CFCFCF\",\n \"name\":\"gray 81\"\n },\n {\n \"value\":\"#CCCCCC\",\n \"name\":\"gray 80\"\n },\n {\n \"value\":\"#C9C9C9\",\n \"name\":\"gray 79\"\n },\n {\n \"value\":\"#C7C7C7\",\n \"name\":\"gray 78\"\n },\n {\n \"value\":\"#C4C4C4\",\n \"name\":\"gray 77\"\n },\n {\n \"value\":\"#C2C2C2\",\n \"name\":\"gray 76\"\n },\n {\n \"value\":\"#BFBFBF\",\n \"name\":\"gray 75\"\n },\n {\n \"value\":\"#BDBDBD\",\n \"name\":\"gray 74\"\n },\n {\n \"value\":\"#BABABA\",\n \"name\":\"gray 73\"\n },\n {\n \"value\":\"#B8B8B8\",\n \"name\":\"gray 72\"\n },\n {\n \"value\":\"#B5B5B5\",\n \"name\":\"gray 71\"\n },\n {\n \"value\":\"#B3B3B3\",\n \"name\":\"gray 70\"\n },\n {\n \"value\":\"#B0B0B0\",\n \"name\":\"gray 69\"\n },\n {\n \"value\":\"#ADADAD\",\n \"name\":\"gray 68\"\n },\n {\n \"value\":\"#ABABAB\",\n \"name\":\"gray 67\"\n },\n {\n \"value\":\"#A8A8A8\",\n \"name\":\"gray 66\"\n },\n {\n \"value\":\"#A6A6A6\",\n \"name\":\"gray 65\"\n },\n {\n \"value\":\"#A3A3A3\",\n \"name\":\"gray 64\"\n },\n {\n \"value\":\"#A1A1A1\",\n \"name\":\"gray 63\"\n },\n {\n \"value\":\"#9E9E9E\",\n \"name\":\"gray 62\"\n },\n {\n \"value\":\"#9C9C9C\",\n \"name\":\"gray 61\"\n },\n {\n \"value\":\"#999999\",\n \"name\":\"gray 60\"\n },\n {\n \"value\":\"#969696\",\n \"name\":\"gray 59\"\n },\n {\n \"value\":\"#949494\",\n \"name\":\"gray 58\"\n },\n {\n \"value\":\"#919191\",\n \"name\":\"gray 57\"\n },\n {\n \"value\":\"#8F8F8F\",\n \"name\":\"gray 56\"\n },\n {\n \"value\":\"#8C8C8C\",\n \"name\":\"gray 55\"\n },\n {\n \"value\":\"#8A8A8A\",\n \"name\":\"gray 54\"\n },\n {\n \"value\":\"#878787\",\n \"name\":\"gray 53\"\n },\n {\n \"value\":\"#858585\",\n \"name\":\"gray 52\"\n },\n {\n \"value\":\"#828282\",\n \"name\":\"gray 51\"\n },\n {\n \"value\":\"#7F7F7F\",\n \"name\":\"gray 50\"\n },\n {\n \"value\":\"#7D7D7D\",\n \"name\":\"gray 49\"\n },\n {\n \"value\":\"#7A7A7A\",\n \"name\":\"gray 48\"\n },\n {\n \"value\":\"#787878\",\n \"name\":\"gray 47\"\n },\n {\n \"value\":\"#757575\",\n \"name\":\"gray 46\"\n },\n {\n \"value\":\"#737373\",\n \"name\":\"gray 45\"\n },\n {\n \"value\":\"#707070\",\n \"name\":\"gray 44\"\n },\n {\n \"value\":\"#6E6E6E\",\n \"name\":\"gray 43\"\n },\n {\n \"value\":\"#666666\",\n \"name\":\"gray 40\"\n },\n {\n \"value\":\"#636363\",\n \"name\":\"gray 39\"\n },\n {\n \"value\":\"#616161\",\n \"name\":\"gray 38\"\n },\n {\n \"value\":\"#5E5E5E\",\n \"name\":\"gray 37\"\n },\n {\n \"value\":\"#5C5C5C\",\n \"name\":\"gray 36\"\n },\n {\n \"value\":\"#595959\",\n \"name\":\"gray 35\"\n },\n {\n \"value\":\"#575757\",\n \"name\":\"gray 34\"\n },\n {\n \"value\":\"#545454\",\n \"name\":\"gray 33\"\n },\n {\n \"value\":\"#525252\",\n \"name\":\"gray 32\"\n },\n {\n \"value\":\"#4F4F4F\",\n \"name\":\"gray 31\"\n },\n {\n \"value\":\"#4D4D4D\",\n \"name\":\"gray 30\"\n },\n {\n \"value\":\"#4A4A4A\",\n \"name\":\"gray 29\"\n },\n {\n \"value\":\"#474747\",\n \"name\":\"gray 28\"\n },\n {\n \"value\":\"#454545\",\n \"name\":\"gray 27\"\n },\n {\n \"value\":\"#424242\",\n \"name\":\"gray 26\"\n },\n {\n \"value\":\"#404040\",\n \"name\":\"gray 25\"\n },\n {\n \"value\":\"#3D3D3D\",\n \"name\":\"gray 24\"\n },\n {\n \"value\":\"#3B3B3B\",\n \"name\":\"gray 23\"\n },\n {\n \"value\":\"#383838\",\n \"name\":\"gray 22\"\n },\n {\n \"value\":\"#363636\",\n \"name\":\"gray 21\"\n },\n {\n \"value\":\"#333333\",\n \"name\":\"gray 20\"\n },\n {\n \"value\":\"#303030\",\n \"name\":\"gray 19\"\n },\n {\n \"value\":\"#2E2E2E\",\n \"name\":\"gray 18\"\n },\n {\n \"value\":\"#2B2B2B\",\n \"name\":\"gray 17\"\n },\n {\n \"value\":\"#292929\",\n \"name\":\"gray 16\"\n },\n {\n \"value\":\"#262626\",\n \"name\":\"gray 15\"\n },\n {\n \"value\":\"#242424\",\n \"name\":\"gray 14\"\n },\n {\n \"value\":\"#212121\",\n \"name\":\"gray 13\"\n },\n {\n \"value\":\"#1F1F1F\",\n \"name\":\"gray 12\"\n },\n {\n \"value\":\"#1C1C1C\",\n \"name\":\"gray 11\"\n },\n {\n \"value\":\"#1A1A1A\",\n \"name\":\"gray 10\"\n },\n {\n \"value\":\"#171717\",\n \"name\":\"gray 9\"\n },\n {\n \"value\":\"#141414\",\n \"name\":\"gray 8\"\n },\n {\n \"value\":\"#121212\",\n \"name\":\"gray 7\"\n },\n {\n \"value\":\"#0F0F0F\",\n \"name\":\"gray 6\"\n },\n {\n \"value\":\"#0D0D0D\",\n \"name\":\"gray 5\"\n },\n {\n \"value\":\"#0A0A0A\",\n \"name\":\"gray 4\"\n },\n {\n \"value\":\"#080808\",\n \"name\":\"gray 3\"\n },\n {\n \"value\":\"#050505\",\n \"name\":\"gray 2\"\n },\n {\n \"value\":\"#030303\",\n \"name\":\"gray 1\"\n },\n {\n \"value\":\"#F5F5F5\",\n \"css\":true,\n \"name\":\"whitesmoke\"\n }\n]\n","/**\n * Module dependencies\n */\nvar colors = require('./colors')\n\nvar cssColors = colors.filter(function(color){\n return !! color.css\n})\n\nvar vgaColors = colors.filter(function(color){\n return !! color.vga\n})\n\n\n/**\n * Get color value for a certain name.\n * @param name {String}\n * @return {String} Hex color value\n * @api public\n */\n\nmodule.exports = function(name) {\n var color = module.exports.get(name)\n return color && color.value\n}\n\n/**\n * Get color object.\n *\n * @param name {String}\n * @return {Object} Color object\n * @api public\n */\n\nmodule.exports.get = function(name) {\n name = name || ''\n name = name.trim().toLowerCase()\n return colors.filter(function(color){\n return color.name.toLowerCase() === name\n }).pop()\n}\n\n/**\n * Get all color object.\n *\n * @return {Array}\n * @api public\n */\n\nmodule.exports.all = module.exports.get.all = function() {\n return colors\n}\n\n/**\n * Get color object compatible with CSS.\n *\n * @return {Array}\n * @api public\n */\n\nmodule.exports.get.css = function(name) {\n if (!name) return cssColors\n name = name || ''\n name = name.trim().toLowerCase()\n return cssColors.filter(function(color){\n return color.name.toLowerCase() === name\n }).pop()\n}\n\n\n\nmodule.exports.get.vga = function(name) {\n if (!name) return vgaColors\n name = name || ''\n name = name.trim().toLowerCase()\n return vgaColors.filter(function(color){\n return color.name.toLowerCase() === name\n }).pop()\n}\n","/*\n\nThe MIT License (MIT)\n\nOriginal Library\n - Copyright (c) Marak Squires\n\nAdditional functionality\n - Copyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar colors = {};\nmodule['exports'] = colors;\n\ncolors.themes = {};\n\nvar util = require('util');\nvar ansiStyles = colors.styles = require('./styles');\nvar defineProps = Object.defineProperties;\nvar newLineRegex = new RegExp(/[\\r\\n]+/g);\n\ncolors.supportsColor = require('./system/supports-colors').supportsColor;\n\nif (typeof colors.enabled === 'undefined') {\n colors.enabled = colors.supportsColor() !== false;\n}\n\ncolors.enable = function() {\n colors.enabled = true;\n};\n\ncolors.disable = function() {\n colors.enabled = false;\n};\n\ncolors.stripColors = colors.strip = function(str) {\n return ('' + str).replace(/\\x1B\\[\\d+m/g, '');\n};\n\n// eslint-disable-next-line no-unused-vars\nvar stylize = colors.stylize = function stylize(str, style) {\n if (!colors.enabled) {\n return str+'';\n }\n\n var styleMap = ansiStyles[style];\n\n // Stylize should work for non-ANSI styles, too\n if(!styleMap && style in colors){\n // Style maps like trap operate as functions on strings;\n // they don't have properties like open or close.\n return colors[style](str);\n }\n\n return styleMap.open + str + styleMap.close;\n};\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nvar escapeStringRegexp = function(str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nfunction build(_styles) {\n var builder = function builder() {\n return applyStyle.apply(builder, arguments);\n };\n builder._styles = _styles;\n // __proto__ is used because we must return a function, but there is\n // no way to create a function with a different prototype.\n builder.__proto__ = proto;\n return builder;\n}\n\nvar styles = (function() {\n var ret = {};\n ansiStyles.grey = ansiStyles.gray;\n Object.keys(ansiStyles).forEach(function(key) {\n ansiStyles[key].closeRe =\n new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n ret[key] = {\n get: function() {\n return build(this._styles.concat(key));\n },\n };\n });\n return ret;\n})();\n\nvar proto = defineProps(function colors() {}, styles);\n\nfunction applyStyle() {\n var args = Array.prototype.slice.call(arguments);\n\n var str = args.map(function(arg) {\n // Use weak equality check so we can colorize null/undefined in safe mode\n if (arg != null && arg.constructor === String) {\n return arg;\n } else {\n return util.inspect(arg);\n }\n }).join(' ');\n\n if (!colors.enabled || !str) {\n return str;\n }\n\n var newLinesPresent = str.indexOf('\\n') != -1;\n\n var nestedStyles = this._styles;\n\n var i = nestedStyles.length;\n while (i--) {\n var code = ansiStyles[nestedStyles[i]];\n str = code.open + str.replace(code.closeRe, code.open) + code.close;\n if (newLinesPresent) {\n str = str.replace(newLineRegex, function(match) {\n return code.close + match + code.open;\n });\n }\n }\n\n return str;\n}\n\ncolors.setTheme = function(theme) {\n if (typeof theme === 'string') {\n console.log('colors.setTheme now only accepts an object, not a string. ' +\n 'If you are trying to set a theme from a file, it is now your (the ' +\n 'caller\\'s) responsibility to require the file. The old syntax ' +\n 'looked like colors.setTheme(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'); The new syntax looks like '+\n 'colors.setTheme(require(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'));');\n return;\n }\n for (var style in theme) {\n (function(style) {\n colors[style] = function(str) {\n if (typeof theme[style] === 'object') {\n var out = str;\n for (var i in theme[style]) {\n out = colors[theme[style][i]](out);\n }\n return out;\n }\n return colors[theme[style]](str);\n };\n })(style);\n }\n};\n\nfunction init() {\n var ret = {};\n Object.keys(styles).forEach(function(name) {\n ret[name] = {\n get: function() {\n return build([name]);\n },\n };\n });\n return ret;\n}\n\nvar sequencer = function sequencer(map, str) {\n var exploded = str.split('');\n exploded = exploded.map(map);\n return exploded.join('');\n};\n\n// custom formatter methods\ncolors.trap = require('./custom/trap');\ncolors.zalgo = require('./custom/zalgo');\n\n// maps\ncolors.maps = {};\ncolors.maps.america = require('./maps/america')(colors);\ncolors.maps.zebra = require('./maps/zebra')(colors);\ncolors.maps.rainbow = require('./maps/rainbow')(colors);\ncolors.maps.random = require('./maps/random')(colors);\n\nfor (var map in colors.maps) {\n (function(map) {\n colors[map] = function(str) {\n return sequencer(colors.maps[map], str);\n };\n })(map);\n}\n\ndefineProps(colors, init());\n","module['exports'] = function runTheTrap(text, options) {\n var result = '';\n text = text || 'Run the trap, drop the bass';\n text = text.split('');\n var trap = {\n a: ['\\u0040', '\\u0104', '\\u023a', '\\u0245', '\\u0394', '\\u039b', '\\u0414'],\n b: ['\\u00df', '\\u0181', '\\u0243', '\\u026e', '\\u03b2', '\\u0e3f'],\n c: ['\\u00a9', '\\u023b', '\\u03fe'],\n d: ['\\u00d0', '\\u018a', '\\u0500', '\\u0501', '\\u0502', '\\u0503'],\n e: ['\\u00cb', '\\u0115', '\\u018e', '\\u0258', '\\u03a3', '\\u03be', '\\u04bc',\n '\\u0a6c'],\n f: ['\\u04fa'],\n g: ['\\u0262'],\n h: ['\\u0126', '\\u0195', '\\u04a2', '\\u04ba', '\\u04c7', '\\u050a'],\n i: ['\\u0f0f'],\n j: ['\\u0134'],\n k: ['\\u0138', '\\u04a0', '\\u04c3', '\\u051e'],\n l: ['\\u0139'],\n m: ['\\u028d', '\\u04cd', '\\u04ce', '\\u0520', '\\u0521', '\\u0d69'],\n n: ['\\u00d1', '\\u014b', '\\u019d', '\\u0376', '\\u03a0', '\\u048a'],\n o: ['\\u00d8', '\\u00f5', '\\u00f8', '\\u01fe', '\\u0298', '\\u047a', '\\u05dd',\n '\\u06dd', '\\u0e4f'],\n p: ['\\u01f7', '\\u048e'],\n q: ['\\u09cd'],\n r: ['\\u00ae', '\\u01a6', '\\u0210', '\\u024c', '\\u0280', '\\u042f'],\n s: ['\\u00a7', '\\u03de', '\\u03df', '\\u03e8'],\n t: ['\\u0141', '\\u0166', '\\u0373'],\n u: ['\\u01b1', '\\u054d'],\n v: ['\\u05d8'],\n w: ['\\u0428', '\\u0460', '\\u047c', '\\u0d70'],\n x: ['\\u04b2', '\\u04fe', '\\u04fc', '\\u04fd'],\n y: ['\\u00a5', '\\u04b0', '\\u04cb'],\n z: ['\\u01b5', '\\u0240'],\n };\n text.forEach(function(c) {\n c = c.toLowerCase();\n var chars = trap[c] || [' '];\n var rand = Math.floor(Math.random() * chars.length);\n if (typeof trap[c] !== 'undefined') {\n result += trap[c][rand];\n } else {\n result += c;\n }\n });\n return result;\n};\n","// please no\nmodule['exports'] = function zalgo(text, options) {\n text = text || ' he is here ';\n var soul = {\n 'up': [\n '̍', '̎', '̄', '̅',\n '̿', '̑', '̆', '̐',\n '͒', '͗', '͑', '̇',\n '̈', '̊', '͂', '̓',\n '̈', '͊', '͋', '͌',\n '̃', '̂', '̌', '͐',\n '̀', '́', '̋', '̏',\n '̒', '̓', '̔', '̽',\n '̉', 'ͣ', 'ͤ', 'ͥ',\n 'ͦ', 'ͧ', 'ͨ', 'ͩ',\n 'ͪ', 'ͫ', 'ͬ', 'ͭ',\n 'ͮ', 'ͯ', '̾', '͛',\n '͆', '̚',\n ],\n 'down': [\n '̖', '̗', '̘', '̙',\n '̜', '̝', '̞', '̟',\n '̠', '̤', '̥', '̦',\n '̩', '̪', '̫', '̬',\n '̭', '̮', '̯', '̰',\n '̱', '̲', '̳', '̹',\n '̺', '̻', '̼', 'ͅ',\n '͇', '͈', '͉', '͍',\n '͎', '͓', '͔', '͕',\n '͖', '͙', '͚', '̣',\n ],\n 'mid': [\n '̕', '̛', '̀', '́',\n '͘', '̡', '̢', '̧',\n '̨', '̴', '̵', '̶',\n '͜', '͝', '͞',\n '͟', '͠', '͢', '̸',\n '̷', '͡', ' ҉',\n ],\n };\n var all = [].concat(soul.up, soul.down, soul.mid);\n\n function randomNumber(range) {\n var r = Math.floor(Math.random() * range);\n return r;\n }\n\n function isChar(character) {\n var bool = false;\n all.filter(function(i) {\n bool = (i === character);\n });\n return bool;\n }\n\n\n function heComes(text, options) {\n var result = '';\n var counts;\n var l;\n options = options || {};\n options['up'] =\n typeof options['up'] !== 'undefined' ? options['up'] : true;\n options['mid'] =\n typeof options['mid'] !== 'undefined' ? options['mid'] : true;\n options['down'] =\n typeof options['down'] !== 'undefined' ? options['down'] : true;\n options['size'] =\n typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';\n text = text.split('');\n for (l in text) {\n if (isChar(l)) {\n continue;\n }\n result = result + text[l];\n counts = {'up': 0, 'down': 0, 'mid': 0};\n switch (options.size) {\n case 'mini':\n counts.up = randomNumber(8);\n counts.mid = randomNumber(2);\n counts.down = randomNumber(8);\n break;\n case 'maxi':\n counts.up = randomNumber(16) + 3;\n counts.mid = randomNumber(4) + 1;\n counts.down = randomNumber(64) + 3;\n break;\n default:\n counts.up = randomNumber(8) + 1;\n counts.mid = randomNumber(6) / 2;\n counts.down = randomNumber(8) + 1;\n break;\n }\n\n var arr = ['up', 'mid', 'down'];\n for (var d in arr) {\n var index = arr[d];\n for (var i = 0; i <= counts[index]; i++) {\n if (options[index]) {\n result = result + soul[index][randomNumber(soul[index].length)];\n }\n }\n }\n }\n return result;\n }\n // don't summon him\n return heComes(text, options);\n};\n\n","module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n if (letter === ' ') return letter;\n switch (i%3) {\n case 0: return colors.red(letter);\n case 1: return colors.white(letter);\n case 2: return colors.blue(letter);\n }\n };\n};\n","module['exports'] = function(colors) {\n // RoY G BiV\n var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];\n return function(letter, i, exploded) {\n if (letter === ' ') {\n return letter;\n } else {\n return colors[rainbowColors[i++ % rainbowColors.length]](letter);\n }\n };\n};\n\n","module['exports'] = function(colors) {\n var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',\n 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed',\n 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta'];\n return function(letter, i, exploded) {\n return letter === ' ' ? letter :\n colors[\n available[Math.round(Math.random() * (available.length - 2))]\n ](letter);\n };\n};\n","module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n return i % 2 === 0 ? letter : colors.inverse(letter);\n };\n};\n","/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar styles = {};\nmodule['exports'] = styles;\n\nvar codes = {\n reset: [0, 0],\n\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n grey: [90, 39],\n\n brightRed: [91, 39],\n brightGreen: [92, 39],\n brightYellow: [93, 39],\n brightBlue: [94, 39],\n brightMagenta: [95, 39],\n brightCyan: [96, 39],\n brightWhite: [97, 39],\n\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n bgGray: [100, 49],\n bgGrey: [100, 49],\n\n bgBrightRed: [101, 49],\n bgBrightGreen: [102, 49],\n bgBrightYellow: [103, 49],\n bgBrightBlue: [104, 49],\n bgBrightMagenta: [105, 49],\n bgBrightCyan: [106, 49],\n bgBrightWhite: [107, 49],\n\n // legacy styles for colors pre v1.0.0\n blackBG: [40, 49],\n redBG: [41, 49],\n greenBG: [42, 49],\n yellowBG: [43, 49],\n blueBG: [44, 49],\n magentaBG: [45, 49],\n cyanBG: [46, 49],\n whiteBG: [47, 49],\n\n};\n\nObject.keys(codes).forEach(function(key) {\n var val = codes[key];\n var style = styles[key] = [];\n style.open = '\\u001b[' + val[0] + 'm';\n style.close = '\\u001b[' + val[1] + 'm';\n});\n","/*\nMIT License\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n'use strict';\n\nmodule.exports = function(flag, argv) {\n argv = argv || process.argv;\n\n var terminatorPos = argv.indexOf('--');\n var prefix = /^-{1,2}/.test(flag) ? '' : '--';\n var pos = argv.indexOf(prefix + flag);\n\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\n'use strict';\n\nvar os = require('os');\nvar hasFlag = require('./has-flag.js');\n\nvar env = process.env;\n\nvar forceColor = void 0;\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')\n || hasFlag('color=always')) {\n forceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0\n || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level: level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3,\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full')\n || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n var min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first\n // Windows release that supports 256 colors. Windows 10 build 14931 is the\n // first release that supports 16m/TrueColor.\n var osRelease = os.release().split('.');\n if (Number(process.versions.node.split('.')[0]) >= 8\n && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {\n return sign in env;\n }) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return (/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0\n );\n }\n\n if ('TERM_PROGRAM' in env) {\n var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n case 'Hyper':\n return 3;\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n var level = supportsColor(stream);\n return translateLevel(level);\n}\n\nmodule.exports = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr),\n};\n","//\n// Remark: Requiring this file will use the \"safe\" colors API,\n// which will not touch String.prototype.\n//\n// var colors = require('colors/safe');\n// colors.red(\"foo\")\n//\n//\nvar colors = require('./lib/colors');\nmodule['exports'] = colors;\n","'use strict';\n\nvar color = require('color')\n , hex = require('text-hex');\n\n/**\n * Generate a color for a given name. But be reasonably smart about it by\n * understanding name spaces and coloring each namespace a bit lighter so they\n * still have the same base color as the root.\n *\n * @param {string} namespace The namespace\n * @param {string} [delimiter] The delimiter\n * @returns {string} color\n */\nmodule.exports = function colorspace(namespace, delimiter) {\n var split = namespace.split(delimiter || ':');\n var base = hex(split[0]);\n\n if (!split.length) return base;\n\n for (var i = 0, l = split.length - 1; i < l; i++) {\n base = color(base)\n .mix(color(hex(split[i + 1])))\n .saturate(1)\n .hex();\n }\n\n return base;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","'use strict';\n\nvar colorspace = require('colorspace')\n , enabled = require('enabled')\n , kuler = require('kuler')\n , util = require('util');\n\n/**\n * Check if the terminal we're using allows the use of colors.\n *\n * @type {Boolean}\n * @private\n */\nvar tty = require('tty').isatty(1);\n\n/**\n * The default stream instance we should be writing against.\n *\n * @type {Stream}\n * @public\n */\nvar stream = process.stdout;\n\n/**\n * A simple environment based logger.\n *\n * Options:\n *\n * - colors: Force the use of colors or forcefully disable them. If this option\n * is not supplied the colors will be based on your terminal.\n * - stream: The Stream instance we should write our logs to, defaults to\n * process.stdout but can be anything you like.\n *\n * @param {String} name The namespace of your log function.\n * @param {Object} options Logger configuration.\n * @returns {Function} Configured logging method.\n * @api public\n */\nfunction factory(name, options) {\n if (!enabled(name)) return function diagnopes() {};\n\n options = options || {};\n options.colors = 'colors' in options ? options.colors : tty;\n options.ansi = options.colors ? kuler(name, colorspace(name)) : name;\n options.stream = options.stream || stream;\n\n //\n // Allow multiple streams, so make sure it's an array which makes iteration\n // easier.\n //\n if (!Array.isArray(options.stream)) {\n options.stream = [options.stream];\n }\n\n //\n // The actual debug function which does the logging magic.\n //\n return function debug(line) {\n //\n // Better formatting for error instances.\n //\n if (line instanceof Error) line = line.stack || line.message || line;\n\n line = [\n //\n // Add the colorized namespace.\n //\n options.ansi,\n\n //\n // The total time we took to execute the next debug statement.\n //\n ' ',\n line\n ].join('');\n\n //\n // Use util.format so we can follow the same API as console.log.\n //\n line = util.format.apply(this, [line].concat(\n Array.prototype.slice.call(arguments, 1)\n )) + '\\n';\n\n options.stream.forEach(function each(stream) {\n stream.write(line);\n });\n };\n}\n\n/**\n * Override the \"default\" stream that we write to. This allows you to globally\n * configure the steams.\n *\n * @param {Stream} output\n * @returns {function} Factory\n * @api private\n */\nfactory.to = function to(output) {\n stream = output;\n return factory;\n};\n\n//\n// Expose the module.\n//\nmodule.exports = factory;\n","'use strict';\n\nvar env = require('env-variable');\n\n/**\n * Checks if a given namespace is allowed by the environment variables.\n *\n * @param {String} name namespace that should be included.\n * @param {Array} variables\n * @returns {Boolean}\n * @api public\n */\nmodule.exports = function enabled(name, variables) {\n var envy = env()\n , variable\n , i = 0;\n\n variables = variables || ['diagnostics', 'debug'];\n\n for (; i < variables.length; i++) {\n if ((variable = envy[variables[i]])) break;\n }\n\n if (!variable) return false;\n\n variables = variable.split(/[\\s,]+/);\n i = 0;\n\n for (; i < variables.length; i++) {\n variable = variables[i].replace('*', '.*?');\n\n if ('-' === variable.charAt(0)) {\n if ((new RegExp('^'+ variable.substr(1) +'$')).test(name)) {\n return false;\n }\n\n continue;\n }\n\n if ((new RegExp('^'+ variable +'$')).test(name)) {\n return true;\n }\n }\n\n return false;\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\n/**\n * Gather environment variables from various locations.\n *\n * @param {Object} environment The default environment variables.\n * @returns {Object} environment.\n * @api public\n */\nfunction env(environment) {\n environment = environment || {};\n\n if ('object' === typeof process && 'object' === typeof process.env) {\n env.merge(environment, process.env);\n }\n\n if ('undefined' !== typeof window) {\n if ('string' === window.name && window.name.length) {\n env.merge(environment, env.parse(window.name));\n }\n\n try {\n if (window.localStorage) {\n env.merge(environment, env.parse(window.localStorage.env || window.localStorage.debug));\n }\n } catch (e) {}\n\n if (\n 'object' === typeof window.location\n && 'string' === typeof window.location.hash\n && window.location.hash.length\n ) {\n env.merge(environment, env.parse(window.location.hash.charAt(0) === '#'\n ? window.location.hash.slice(1)\n : window.location.hash\n ));\n }\n }\n\n //\n // Also add lower case variants to the object for easy access.\n //\n var key, lower;\n for (key in environment) {\n lower = key.toLowerCase();\n\n if (!(lower in environment)) {\n environment[lower] = environment[key];\n }\n }\n\n return environment;\n}\n\n/**\n * A poor man's merge utility.\n *\n * @param {Object} base Object where the add object is merged in.\n * @param {Object} add Object that needs to be added to the base object.\n * @returns {Object} base\n * @api private\n */\nenv.merge = function merge(base, add) {\n for (var key in add) {\n if (has.call(add, key)) {\n base[key] = add[key];\n }\n }\n\n return base;\n};\n\n/**\n * A poor man's query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object} Key value mapped query string.\n * @api private\n */\nenv.parse = function parse(query) {\n var parser = /([^=?&]+)=([^&]*)/g\n , result = {}\n , part;\n\n if (!query) return result;\n\n for (;\n part = parser.exec(query);\n result[decodeURIComponent(part[1])] = decodeURIComponent(part[2])\n );\n\n return result.env || result;\n};\n\n//\n// Expose the module\n//\nmodule.exports = env;\n","/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 !== 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i), shorttext.substring(j));\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i), shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(\n j - suffixLength, j) + shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(0, -1);\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length - commonlength);\n text_delete = text_delete.substring(0, text_delete.length - commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n};\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xD800 && charCode <= 0xDBFF;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xDC00 && charCode <= 0xDFFF;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after]\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange = typeof cursor_pos === 'number' ?\n { index: cursor_pos, length: 0 } : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === 'number' ?\n null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n","module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar arr = []\nvar replacerStack = []\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer) {\n decirc(obj, '', [], undefined)\n var res\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n return res\n}\nfunction decirc (val, k, stack, parent) {\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: '[Circular]' })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k])\n }\n } else {\n parent[k] = '[Circular]'\n arr.push([parent, k, val])\n }\n return\n }\n }\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, stack, val)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, stack, val)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer) {\n var tmp = deterministicDecirc(obj, '', [], undefined) || obj\n var res\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, stack, parent) {\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: '[Circular]' })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k])\n }\n } else {\n parent[k] = '[Circular]'\n arr.push([parent, k, val])\n }\n return\n }\n }\n if (typeof val.toJSON === 'function') {\n return\n }\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, stack, val)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, stack, val)\n tmp[key] = val[key]\n }\n if (parent !== undefined) {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as [Circular]\nfunction replaceGetterValues (replacer) {\n replacer = replacer !== undefined ? replacer : function (k, v) { return v }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = '[Circular]'\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n","var token = /d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\nvar twoDigitsOptional = \"[1-9]\\\\d?\";\nvar twoDigits = \"\\\\d\\\\d\";\nvar threeDigits = \"\\\\d{3}\";\nvar fourDigits = \"\\\\d{4}\";\nvar word = \"[^\\\\s]+\";\nvar literal = /\\[([^]*?)\\]/gm;\nfunction shorten(arr, sLen) {\n var newArr = [];\n for (var i = 0, len = arr.length; i < len; i++) {\n newArr.push(arr[i].substr(0, sLen));\n }\n return newArr;\n}\nvar monthUpdate = function (arrName) { return function (v, i18n) {\n var lowerCaseArr = i18n[arrName].map(function (v) { return v.toLowerCase(); });\n var index = lowerCaseArr.indexOf(v.toLowerCase());\n if (index > -1) {\n return index;\n }\n return null;\n}; };\nfunction assign(origObj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var obj = args_1[_a];\n for (var key in obj) {\n // @ts-ignore ex\n origObj[key] = obj[key];\n }\n }\n return origObj;\n}\nvar dayNames = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\nvar monthNames = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\nvar monthNamesShort = shorten(monthNames, 3);\nvar dayNamesShort = shorten(dayNames, 3);\nvar defaultI18n = {\n dayNamesShort: dayNamesShort,\n dayNames: dayNames,\n monthNamesShort: monthNamesShort,\n monthNames: monthNames,\n amPm: [\"am\", \"pm\"],\n DoFn: function (dayOfMonth) {\n return (dayOfMonth +\n [\"th\", \"st\", \"nd\", \"rd\"][dayOfMonth % 10 > 3\n ? 0\n : ((dayOfMonth - (dayOfMonth % 10) !== 10 ? 1 : 0) * dayOfMonth) % 10]);\n }\n};\nvar globalI18n = assign({}, defaultI18n);\nvar setGlobalDateI18n = function (i18n) {\n return (globalI18n = assign(globalI18n, i18n));\n};\nvar regexEscape = function (str) {\n return str.replace(/[|\\\\{()[^$+*?.-]/g, \"\\\\$&\");\n};\nvar pad = function (val, len) {\n if (len === void 0) { len = 2; }\n val = String(val);\n while (val.length < len) {\n val = \"0\" + val;\n }\n return val;\n};\nvar formatFlags = {\n D: function (dateObj) { return String(dateObj.getDate()); },\n DD: function (dateObj) { return pad(dateObj.getDate()); },\n Do: function (dateObj, i18n) {\n return i18n.DoFn(dateObj.getDate());\n },\n d: function (dateObj) { return String(dateObj.getDay()); },\n dd: function (dateObj) { return pad(dateObj.getDay()); },\n ddd: function (dateObj, i18n) {\n return i18n.dayNamesShort[dateObj.getDay()];\n },\n dddd: function (dateObj, i18n) {\n return i18n.dayNames[dateObj.getDay()];\n },\n M: function (dateObj) { return String(dateObj.getMonth() + 1); },\n MM: function (dateObj) { return pad(dateObj.getMonth() + 1); },\n MMM: function (dateObj, i18n) {\n return i18n.monthNamesShort[dateObj.getMonth()];\n },\n MMMM: function (dateObj, i18n) {\n return i18n.monthNames[dateObj.getMonth()];\n },\n YY: function (dateObj) {\n return pad(String(dateObj.getFullYear()), 4).substr(2);\n },\n YYYY: function (dateObj) { return pad(dateObj.getFullYear(), 4); },\n h: function (dateObj) { return String(dateObj.getHours() % 12 || 12); },\n hh: function (dateObj) { return pad(dateObj.getHours() % 12 || 12); },\n H: function (dateObj) { return String(dateObj.getHours()); },\n HH: function (dateObj) { return pad(dateObj.getHours()); },\n m: function (dateObj) { return String(dateObj.getMinutes()); },\n mm: function (dateObj) { return pad(dateObj.getMinutes()); },\n s: function (dateObj) { return String(dateObj.getSeconds()); },\n ss: function (dateObj) { return pad(dateObj.getSeconds()); },\n S: function (dateObj) {\n return String(Math.round(dateObj.getMilliseconds() / 100));\n },\n SS: function (dateObj) {\n return pad(Math.round(dateObj.getMilliseconds() / 10), 2);\n },\n SSS: function (dateObj) { return pad(dateObj.getMilliseconds(), 3); },\n a: function (dateObj, i18n) {\n return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1];\n },\n A: function (dateObj, i18n) {\n return dateObj.getHours() < 12\n ? i18n.amPm[0].toUpperCase()\n : i18n.amPm[1].toUpperCase();\n },\n ZZ: function (dateObj) {\n var offset = dateObj.getTimezoneOffset();\n return ((offset > 0 ? \"-\" : \"+\") +\n pad(Math.floor(Math.abs(offset) / 60) * 100 + (Math.abs(offset) % 60), 4));\n },\n Z: function (dateObj) {\n var offset = dateObj.getTimezoneOffset();\n return ((offset > 0 ? \"-\" : \"+\") +\n pad(Math.floor(Math.abs(offset) / 60), 2) +\n \":\" +\n pad(Math.abs(offset) % 60, 2));\n }\n};\nvar monthParse = function (v) { return +v - 1; };\nvar emptyDigits = [null, twoDigitsOptional];\nvar emptyWord = [null, word];\nvar amPm = [\n \"isPm\",\n word,\n function (v, i18n) {\n var val = v.toLowerCase();\n if (val === i18n.amPm[0]) {\n return 0;\n }\n else if (val === i18n.amPm[1]) {\n return 1;\n }\n return null;\n }\n];\nvar timezoneOffset = [\n \"timezoneOffset\",\n \"[^\\\\s]*?[\\\\+\\\\-]\\\\d\\\\d:?\\\\d\\\\d|[^\\\\s]*?Z?\",\n function (v) {\n var parts = (v + \"\").match(/([+-]|\\d\\d)/gi);\n if (parts) {\n var minutes = +parts[1] * 60 + parseInt(parts[2], 10);\n return parts[0] === \"+\" ? minutes : -minutes;\n }\n return 0;\n }\n];\nvar parseFlags = {\n D: [\"day\", twoDigitsOptional],\n DD: [\"day\", twoDigits],\n Do: [\"day\", twoDigitsOptional + word, function (v) { return parseInt(v, 10); }],\n M: [\"month\", twoDigitsOptional, monthParse],\n MM: [\"month\", twoDigits, monthParse],\n YY: [\n \"year\",\n twoDigits,\n function (v) {\n var now = new Date();\n var cent = +(\"\" + now.getFullYear()).substr(0, 2);\n return +(\"\" + (+v > 68 ? cent - 1 : cent) + v);\n }\n ],\n h: [\"hour\", twoDigitsOptional, undefined, \"isPm\"],\n hh: [\"hour\", twoDigits, undefined, \"isPm\"],\n H: [\"hour\", twoDigitsOptional],\n HH: [\"hour\", twoDigits],\n m: [\"minute\", twoDigitsOptional],\n mm: [\"minute\", twoDigits],\n s: [\"second\", twoDigitsOptional],\n ss: [\"second\", twoDigits],\n YYYY: [\"year\", fourDigits],\n S: [\"millisecond\", \"\\\\d\", function (v) { return +v * 100; }],\n SS: [\"millisecond\", twoDigits, function (v) { return +v * 10; }],\n SSS: [\"millisecond\", threeDigits],\n d: emptyDigits,\n dd: emptyDigits,\n ddd: emptyWord,\n dddd: emptyWord,\n MMM: [\"month\", word, monthUpdate(\"monthNamesShort\")],\n MMMM: [\"month\", word, monthUpdate(\"monthNames\")],\n a: amPm,\n A: amPm,\n ZZ: timezoneOffset,\n Z: timezoneOffset\n};\n// Some common format strings\nvar globalMasks = {\n default: \"ddd MMM DD YYYY HH:mm:ss\",\n shortDate: \"M/D/YY\",\n mediumDate: \"MMM D, YYYY\",\n longDate: \"MMMM D, YYYY\",\n fullDate: \"dddd, MMMM D, YYYY\",\n isoDate: \"YYYY-MM-DD\",\n isoDateTime: \"YYYY-MM-DDTHH:mm:ssZ\",\n shortTime: \"HH:mm\",\n mediumTime: \"HH:mm:ss\",\n longTime: \"HH:mm:ss.SSS\"\n};\nvar setGlobalDateMasks = function (masks) { return assign(globalMasks, masks); };\n/***\n * Format a date\n * @method format\n * @param {Date|number} dateObj\n * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate'\n * @returns {string} Formatted date string\n */\nvar format = function (dateObj, mask, i18n) {\n if (mask === void 0) { mask = globalMasks[\"default\"]; }\n if (i18n === void 0) { i18n = {}; }\n if (typeof dateObj === \"number\") {\n dateObj = new Date(dateObj);\n }\n if (Object.prototype.toString.call(dateObj) !== \"[object Date]\" ||\n isNaN(dateObj.getTime())) {\n throw new Error(\"Invalid Date pass to format\");\n }\n mask = globalMasks[mask] || mask;\n var literals = [];\n // Make literals inactive by replacing them with @@@\n mask = mask.replace(literal, function ($0, $1) {\n literals.push($1);\n return \"@@@\";\n });\n var combinedI18nSettings = assign(assign({}, globalI18n), i18n);\n // Apply formatting rules\n mask = mask.replace(token, function ($0) {\n return formatFlags[$0](dateObj, combinedI18nSettings);\n });\n // Inline literal values back into the formatted value\n return mask.replace(/@@@/g, function () { return literals.shift(); });\n};\n/**\n * Parse a date string into a Javascript Date object /\n * @method parse\n * @param {string} dateStr Date string\n * @param {string} format Date parse format\n * @param {i18n} I18nSettingsOptional Full or subset of I18N settings\n * @returns {Date|null} Returns Date object. Returns null what date string is invalid or doesn't match format\n */\nfunction parse(dateStr, format, i18n) {\n if (i18n === void 0) { i18n = {}; }\n if (typeof format !== \"string\") {\n throw new Error(\"Invalid format in fecha parse\");\n }\n // Check to see if the format is actually a mask\n format = globalMasks[format] || format;\n // Avoid regular expression denial of service, fail early for really long strings\n // https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS\n if (dateStr.length > 1000) {\n return null;\n }\n // Default to the beginning of the year.\n var today = new Date();\n var dateInfo = {\n year: today.getFullYear(),\n month: 0,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n isPm: null,\n timezoneOffset: null\n };\n var parseInfo = [];\n var literals = [];\n // Replace all the literals with @@@. Hopefully a string that won't exist in the format\n var newFormat = format.replace(literal, function ($0, $1) {\n literals.push(regexEscape($1));\n return \"@@@\";\n });\n var specifiedFields = {};\n var requiredFields = {};\n // Change every token that we find into the correct regex\n newFormat = regexEscape(newFormat).replace(token, function ($0) {\n var info = parseFlags[$0];\n var field = info[0], regex = info[1], requiredField = info[3];\n // Check if the person has specified the same field twice. This will lead to confusing results.\n if (specifiedFields[field]) {\n throw new Error(\"Invalid format. \" + field + \" specified twice in format\");\n }\n specifiedFields[field] = true;\n // Check if there are any required fields. For instance, 12 hour time requires AM/PM specified\n if (requiredField) {\n requiredFields[requiredField] = true;\n }\n parseInfo.push(info);\n return \"(\" + regex + \")\";\n });\n // Check all the required fields are present\n Object.keys(requiredFields).forEach(function (field) {\n if (!specifiedFields[field]) {\n throw new Error(\"Invalid format. \" + field + \" is required in specified format\");\n }\n });\n // Add back all the literals after\n newFormat = newFormat.replace(/@@@/g, function () { return literals.shift(); });\n // Check if the date string matches the format. If it doesn't return null\n var matches = dateStr.match(new RegExp(newFormat, \"i\"));\n if (!matches) {\n return null;\n }\n var combinedI18nSettings = assign(assign({}, globalI18n), i18n);\n // For each match, call the parser function for that date part\n for (var i = 1; i < matches.length; i++) {\n var _a = parseInfo[i - 1], field = _a[0], parser = _a[2];\n var value = parser\n ? parser(matches[i], combinedI18nSettings)\n : +matches[i];\n // If the parser can't make sense of the value, return null\n if (value == null) {\n return null;\n }\n dateInfo[field] = value;\n }\n if (dateInfo.isPm === 1 && dateInfo.hour != null && +dateInfo.hour !== 12) {\n dateInfo.hour = +dateInfo.hour + 12;\n }\n else if (dateInfo.isPm === 0 && +dateInfo.hour === 12) {\n dateInfo.hour = 0;\n }\n var dateWithoutTZ = new Date(dateInfo.year, dateInfo.month, dateInfo.day, dateInfo.hour, dateInfo.minute, dateInfo.second, dateInfo.millisecond);\n var validateFields = [\n [\"month\", \"getMonth\"],\n [\"day\", \"getDate\"],\n [\"hour\", \"getHours\"],\n [\"minute\", \"getMinutes\"],\n [\"second\", \"getSeconds\"]\n ];\n for (var i = 0, len = validateFields.length; i < len; i++) {\n // Check to make sure the date field is within the allowed range. Javascript dates allows values\n // outside the allowed range. If the values don't match the value was invalid\n if (specifiedFields[validateFields[i][0]] &&\n dateInfo[validateFields[i][0]] !== dateWithoutTZ[validateFields[i][1]]()) {\n return null;\n }\n }\n if (dateInfo.timezoneOffset == null) {\n return dateWithoutTZ;\n }\n return new Date(Date.UTC(dateInfo.year, dateInfo.month, dateInfo.day, dateInfo.hour, dateInfo.minute - dateInfo.timezoneOffset, dateInfo.second, dateInfo.millisecond));\n}\nvar fecha = {\n format: format,\n parse: parse,\n defaultI18n: defaultI18n,\n setGlobalDateI18n: setGlobalDateI18n,\n setGlobalDateMasks: setGlobalDateMasks\n};\n\nexport default fecha;\nexport { assign, format, parse, defaultI18n, setGlobalDateI18n, setGlobalDateMasks };\n//# sourceMappingURL=fecha.js.map\n","try {\n var util = require('util');\n /* istanbul ignore next */\n if (typeof util.inherits !== 'function') throw '';\n module.exports = util.inherits;\n} catch (e) {\n /* istanbul ignore next */\n module.exports = require('./inherits_browser.js');\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar isStream = module.exports = function (stream) {\n\treturn stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';\n};\n\nisStream.writable = function (stream) {\n\treturn isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';\n};\n\nisStream.readable = function (stream) {\n\treturn isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';\n};\n\nisStream.duplex = function (stream) {\n\treturn isStream.writable(stream) && isStream.readable(stream);\n};\n\nisStream.transform = function (stream) {\n\treturn isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar colornames = require('colornames');\n\n/**\n * Kuler: Color text using CSS colors\n *\n * @constructor\n * @param {String} text The text that needs to be styled\n * @param {String} color Optional color for alternate API.\n * @api public\n */\nfunction Kuler(text, color) {\n if (color) return (new Kuler(text)).style(color);\n if (!(this instanceof Kuler)) return new Kuler(text);\n\n this.text = text;\n}\n\n/**\n * ANSI color codes.\n *\n * @type {String}\n * @private\n */\nKuler.prototype.prefix = '\\x1b[';\nKuler.prototype.suffix = 'm';\n\n/**\n * Parse a hex color string and parse it to it's RGB equiv.\n *\n * @param {String} color\n * @returns {Array}\n * @api private\n */\nKuler.prototype.hex = function hex(color) {\n color = color[0] === '#' ? color.substring(1) : color;\n\n //\n // Pre-parse for shorthand hex colors.\n //\n if (color.length === 3) {\n color = color.split('');\n\n color[5] = color[2]; // F60##0\n color[4] = color[2]; // F60#00\n color[3] = color[1]; // F60600\n color[2] = color[1]; // F66600\n color[1] = color[0]; // FF6600\n\n color = color.join('');\n }\n\n var r = color.substring(0, 2)\n , g = color.substring(2, 4)\n , b = color.substring(4, 6);\n\n return [ parseInt(r, 16), parseInt(g, 16), parseInt(b, 16) ];\n};\n\n/**\n * Transform a 255 RGB value to an RGV code.\n *\n * @param {Number} r Red color channel.\n * @param {Number} g Green color channel.\n * @param {Number} b Blue color channel.\n * @returns {String}\n * @api public\n */\nKuler.prototype.rgb = function rgb(r, g, b) {\n var red = r / 255 * 5\n , green = g / 255 * 5\n , blue = b / 255 * 5;\n\n return this.ansi(red, green, blue);\n};\n\n/**\n * Turns RGB 0-5 values into a single ANSI code.\n *\n * @param {Number} r Red color channel.\n * @param {Number} g Green color channel.\n * @param {Number} b Blue color channel.\n * @returns {String}\n * @api public\n */\nKuler.prototype.ansi = function ansi(r, g, b) {\n var red = Math.round(r)\n , green = Math.round(g)\n , blue = Math.round(b);\n\n return 16 + (red * 36) + (green * 6) + blue;\n};\n\n/**\n * Marks an end of color sequence.\n *\n * @returns {String} Reset sequence.\n * @api public\n */\nKuler.prototype.reset = function reset() {\n return this.prefix +'39;49'+ this.suffix;\n};\n\n/**\n * Colour the terminal using CSS.\n *\n * @param {String} color The HEX color code.\n * @returns {String} the escape code.\n * @api public\n */\nKuler.prototype.style = function style(color) {\n //\n // We've been supplied a CSS color name instead of a hex color format so we\n // need to transform it to proper CSS color and continue with our execution\n // flow.\n //\n if (!/^#?(?:[0-9a-fA-F]{3}){1,2}$/.test(color)) {\n color = colornames(color);\n }\n\n return this.prefix +'38;5;'+ this.rgb.apply(this, this.hex(color)) + this.suffix + this.text + this.reset();\n};\n\n\n//\n// Expose the actual interface.\n//\nmodule.exports = Kuler;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction assignInDefaults(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n});\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(args) {\n args.push(undefined, assignInDefaults);\n return apply(assignInWith, undefined, args);\n});\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = defaults;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Creates an array of the own and inherited enumerable symbol properties\n * of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable string keyed properties of `object` that are\n * not omitted.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = baseRest(function(object, props) {\n if (object == null) {\n return {};\n }\n props = arrayMap(baseFlatten(props, 1), toKey);\n return basePick(object, baseDifference(getAllKeysIn(object), props));\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = omit;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","'use strict';\n\nconst format = require('./format');\n\n/*\n * function align (info)\n * Returns a new instance of the align Format which adds a `\\t`\n * delimiter before the message to properly align it in the same place.\n * It was previously { align: true } in winston < 3.0.0\n */\nmodule.exports = format(info => {\n info.message = `\\t${info.message}`;\n return info;\n});\n","'use strict';\n\n/*\n * @api public\n * @property {function} format\n * Both the construction method and set of exposed\n * formats.\n */\nconst format = exports.format = require('././format');\n\n/*\n * @api public\n * @method {function} levels\n * Registers the specified levels with logform.\n */\nexports.levels = require('././levels');\n\n//\n// Setup all transports as eager-loaded exports\n// so that they are static for the bundlers.\n//\nObject.defineProperty(format, 'align', { value: require('./align') });\nObject.defineProperty(format, 'cli', { value: require('./cli') });\nObject.defineProperty(format, 'combine', { value: require('./combine') });\nObject.defineProperty(format, 'colorize', { value: require('./colorize') });\nObject.defineProperty(format, 'json', { value: require('./json') });\nObject.defineProperty(format, 'label', { value: require('./label') });\nObject.defineProperty(format, 'logstash', { value: require('./logstash') });\nObject.defineProperty(format, 'metadata', { value: require('./metadata') });\nObject.defineProperty(format, 'padLevels', { value: require('./pad-levels') });\nObject.defineProperty(format, 'prettyPrint', { value: require('./pretty-print') });\nObject.defineProperty(format, 'printf', { value: require('./printf') });\nObject.defineProperty(format, 'simple', { value: require('./simple') });\nObject.defineProperty(format, 'splat', { value: require('./splat') });\nObject.defineProperty(format, 'timestamp', { value: require('./timestamp') });\nObject.defineProperty(format, 'uncolorize', { value: require('./uncolorize') });\n","'use strict';\n\nconst { Colorizer } = require('./colorize');\nconst { Padder } = require('./pad-levels');\nconst { configs, MESSAGE } = require('triple-beam');\n\n\n/**\n * Cli format class that handles initial state for a a separate\n * Colorizer and Padder instance.\n */\nclass CliFormat {\n constructor(opts = {}) {\n if (!opts.levels) {\n opts.levels = configs.npm.levels;\n }\n\n this.colorizer = new Colorizer(opts);\n this.padder = new Padder(opts);\n this.options = opts;\n }\n\n /*\n * function transform (info, opts)\n * Attempts to both:\n * 1. Pad the { level }\n * 2. Colorize the { level, message }\n * of the given `logform` info object depending on the `opts`.\n */\n transform(info, opts) {\n this.colorizer.transform(\n this.padder.transform(info, opts),\n opts\n );\n\n info[MESSAGE] = `${info.level}:${info.message}`;\n return info;\n }\n}\n\n/*\n * function cli (opts)\n * Returns a new instance of the CLI format that turns a log\n * `info` object into the same format previously available\n * in `winston.cli()` in `winston < 3.0.0`.\n */\nmodule.exports = opts => new CliFormat(opts);\n\n//\n// Attach the CliFormat for registration purposes\n//\nmodule.exports.Format = CliFormat;\n","'use strict';\n\nconst colors = require('colors/safe');\nconst { LEVEL, MESSAGE } = require('triple-beam');\n\n//\n// Fix colors not appearing in non-tty environments\n//\ncolors.enabled = true;\n\n/**\n * @property {RegExp} hasSpace\n * Simple regex to check for presence of spaces.\n */\nconst hasSpace = /\\s+/;\n\n/*\n * Colorizer format. Wraps the `level` and/or `message` properties\n * of the `info` objects with ANSI color codes based on a few options.\n */\nclass Colorizer {\n constructor(opts = {}) {\n if (opts.colors) {\n this.addColors(opts.colors);\n }\n\n this.options = opts;\n }\n\n /*\n * Adds the colors Object to the set of allColors\n * known by the Colorizer\n *\n * @param {Object} colors Set of color mappings to add.\n */\n static addColors(clrs) {\n const nextColors = Object.keys(clrs).reduce((acc, level) => {\n acc[level] = hasSpace.test(clrs[level])\n ? clrs[level].split(hasSpace)\n : clrs[level];\n\n return acc;\n }, {});\n\n Colorizer.allColors = Object.assign({}, Colorizer.allColors || {}, nextColors);\n return Colorizer.allColors;\n }\n\n /*\n * Adds the colors Object to the set of allColors\n * known by the Colorizer\n *\n * @param {Object} colors Set of color mappings to add.\n */\n addColors(clrs) {\n return Colorizer.addColors(clrs);\n }\n\n /*\n * function colorize (lookup, level, message)\n * Performs multi-step colorization using colors/safe\n */\n colorize(lookup, level, message) {\n if (typeof message === 'undefined') {\n message = level;\n }\n\n //\n // If the color for the level is just a string\n // then attempt to colorize the message with it.\n //\n if (!Array.isArray(Colorizer.allColors[lookup])) {\n return colors[Colorizer.allColors[lookup]](message);\n }\n\n //\n // If it is an Array then iterate over that Array, applying\n // the colors function for each item.\n //\n for (let i = 0, len = Colorizer.allColors[lookup].length; i < len; i++) {\n message = colors[Colorizer.allColors[lookup][i]](message);\n }\n\n return message;\n }\n\n /*\n * function transform (info, opts)\n * Attempts to colorize the { level, message } of the given\n * `logform` info object.\n */\n transform(info, opts) {\n if (opts.all && typeof info[MESSAGE] === 'string') {\n info[MESSAGE] = this.colorize(info[LEVEL], info.level, info[MESSAGE]);\n }\n\n if (opts.level || opts.all || !opts.message) {\n info.level = this.colorize(info[LEVEL], info.level);\n }\n\n if (opts.all || opts.message) {\n info.message = this.colorize(info[LEVEL], info.level, info.message);\n }\n\n return info;\n }\n}\n\n/*\n * function colorize (info)\n * Returns a new instance of the colorize Format that applies\n * level colors to `info` objects. This was previously exposed\n * as { colorize: true } to transports in `winston < 3.0.0`.\n */\nmodule.exports = opts => new Colorizer(opts);\n\n//\n// Attach the Colorizer for registration purposes\n//\nmodule.exports.Colorizer\n = module.exports.Format\n = Colorizer;\n","'use strict';\n\nconst format = require('./format');\n\n/*\n * function cascade(formats)\n * Returns a function that invokes the `._format` function in-order\n * for the specified set of `formats`. In this manner we say that Formats\n * are \"pipe-like\", but not a pure pumpify implementation. Since there is no back\n * pressure we can remove all of the \"readable\" plumbing in Node streams.\n */\nfunction cascade(formats) {\n if (!formats.every(isValidFormat)) {\n return;\n }\n\n return info => {\n let obj = info;\n for (let i = 0; i < formats.length; i++) {\n obj = formats[i].transform(obj, formats[i].options);\n if (!obj) {\n return false;\n }\n }\n\n return obj;\n };\n}\n\n/*\n * function isValidFormat(format)\n * If the format does not define a `transform` function throw an error\n * with more detailed usage.\n */\nfunction isValidFormat(fmt) {\n if (typeof fmt.transform !== 'function') {\n throw new Error([\n 'No transform function found on format. Did you create a format instance?',\n 'const myFormat = format(formatFn);',\n 'const instance = myFormat();'\n ].join('\\n'));\n }\n\n return true;\n}\n\n/*\n * function combine (info)\n * Returns a new instance of the combine Format which combines the specified\n * formats into a new format. This is similar to a pipe-chain in transform streams.\n * We choose to combine the prototypes this way because there is no back pressure in\n * an in-memory transform chain.\n */\nmodule.exports = (...formats) => {\n const combinedFormat = format(cascade(formats));\n const instance = combinedFormat();\n instance.Format = combinedFormat.Format;\n return instance;\n};\n\n//\n// Export the cascade method for use in cli and other\n// combined formats that should not be assumed to be\n// singletons.\n//\nmodule.exports.cascade = cascade;\n","'use strict';\n\nvar format = require('./format');\n/*\n * function align (info)\n * Returns a new instance of the align Format which adds a `\\t`\n * delimiter before the message to properly align it in the same place.\n * It was previously { align: true } in winston < 3.0.0\n */\n\n\nmodule.exports = format(function (info) {\n info.message = \"\\t\".concat(info.message);\n return info;\n});","'use strict';\n/*\n * @api public\n * @property {function} format\n * Both the construction method and set of exposed\n * formats.\n */\n\nvar format = exports.format = require('././format');\n/*\n * @api public\n * @method {function} levels\n * Registers the specified levels with logform.\n */\n\n\nexports.levels = require('././levels'); //\n// Setup all transports as eager-loaded exports\n// so that they are static for the bundlers.\n//\n\nObject.defineProperty(format, 'align', {\n value: require('./align')\n});\nObject.defineProperty(format, 'cli', {\n value: require('./cli')\n});\nObject.defineProperty(format, 'combine', {\n value: require('./combine')\n});\nObject.defineProperty(format, 'colorize', {\n value: require('./colorize')\n});\nObject.defineProperty(format, 'json', {\n value: require('./json')\n});\nObject.defineProperty(format, 'label', {\n value: require('./label')\n});\nObject.defineProperty(format, 'logstash', {\n value: require('./logstash')\n});\nObject.defineProperty(format, 'metadata', {\n value: require('./metadata')\n});\nObject.defineProperty(format, 'padLevels', {\n value: require('./pad-levels')\n});\nObject.defineProperty(format, 'prettyPrint', {\n value: require('./pretty-print')\n});\nObject.defineProperty(format, 'printf', {\n value: require('./printf')\n});\nObject.defineProperty(format, 'simple', {\n value: require('./simple')\n});\nObject.defineProperty(format, 'splat', {\n value: require('./splat')\n});\nObject.defineProperty(format, 'timestamp', {\n value: require('./timestamp')\n});\nObject.defineProperty(format, 'uncolorize', {\n value: require('./uncolorize')\n});","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('./colorize'),\n Colorizer = _require.Colorizer;\n\nvar _require2 = require('./pad-levels'),\n Padder = _require2.Padder;\n\nvar _require3 = require('triple-beam'),\n configs = _require3.configs,\n MESSAGE = _require3.MESSAGE;\n/**\n * Cli format class that handles initial state for a a separate\n * Colorizer and Padder instance.\n */\n\n\nvar CliFormat = /*#__PURE__*/function () {\n function CliFormat() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, CliFormat);\n\n if (!opts.levels) {\n opts.levels = configs.npm.levels;\n }\n\n this.colorizer = new Colorizer(opts);\n this.padder = new Padder(opts);\n this.options = opts;\n }\n /*\n * function transform (info, opts)\n * Attempts to both:\n * 1. Pad the { level }\n * 2. Colorize the { level, message }\n * of the given `logform` info object depending on the `opts`.\n */\n\n\n _createClass(CliFormat, [{\n key: \"transform\",\n value: function transform(info, opts) {\n this.colorizer.transform(this.padder.transform(info, opts), opts);\n info[MESSAGE] = \"\".concat(info.level, \":\").concat(info.message);\n return info;\n }\n }]);\n\n return CliFormat;\n}();\n/*\n * function cli (opts)\n * Returns a new instance of the CLI format that turns a log\n * `info` object into the same format previously available\n * in `winston.cli()` in `winston < 3.0.0`.\n */\n\n\nmodule.exports = function (opts) {\n return new CliFormat(opts);\n}; //\n// Attach the CliFormat for registration purposes\n//\n\n\nmodule.exports.Format = CliFormat;","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar colors = require('colors/safe');\n\nvar _require = require('triple-beam'),\n LEVEL = _require.LEVEL,\n MESSAGE = _require.MESSAGE; //\n// Fix colors not appearing in non-tty environments\n//\n\n\ncolors.enabled = true;\n/**\n * @property {RegExp} hasSpace\n * Simple regex to check for presence of spaces.\n */\n\nvar hasSpace = /\\s+/;\n/*\n * Colorizer format. Wraps the `level` and/or `message` properties\n * of the `info` objects with ANSI color codes based on a few options.\n */\n\nvar Colorizer = /*#__PURE__*/function () {\n function Colorizer() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Colorizer);\n\n if (opts.colors) {\n this.addColors(opts.colors);\n }\n\n this.options = opts;\n }\n /*\n * Adds the colors Object to the set of allColors\n * known by the Colorizer\n *\n * @param {Object} colors Set of color mappings to add.\n */\n\n\n _createClass(Colorizer, [{\n key: \"addColors\",\n\n /*\n * Adds the colors Object to the set of allColors\n * known by the Colorizer\n *\n * @param {Object} colors Set of color mappings to add.\n */\n value: function addColors(clrs) {\n return Colorizer.addColors(clrs);\n }\n /*\n * function colorize (lookup, level, message)\n * Performs multi-step colorization using colors/safe\n */\n\n }, {\n key: \"colorize\",\n value: function colorize(lookup, level, message) {\n if (typeof message === 'undefined') {\n message = level;\n } //\n // If the color for the level is just a string\n // then attempt to colorize the message with it.\n //\n\n\n if (!Array.isArray(Colorizer.allColors[lookup])) {\n return colors[Colorizer.allColors[lookup]](message);\n } //\n // If it is an Array then iterate over that Array, applying\n // the colors function for each item.\n //\n\n\n for (var i = 0, len = Colorizer.allColors[lookup].length; i < len; i++) {\n message = colors[Colorizer.allColors[lookup][i]](message);\n }\n\n return message;\n }\n /*\n * function transform (info, opts)\n * Attempts to colorize the { level, message } of the given\n * `logform` info object.\n */\n\n }, {\n key: \"transform\",\n value: function transform(info, opts) {\n if (opts.all && typeof info[MESSAGE] === 'string') {\n info[MESSAGE] = this.colorize(info[LEVEL], info.level, info[MESSAGE]);\n }\n\n if (opts.level || opts.all || !opts.message) {\n info.level = this.colorize(info[LEVEL], info.level);\n }\n\n if (opts.all || opts.message) {\n info.message = this.colorize(info[LEVEL], info.level, info.message);\n }\n\n return info;\n }\n }], [{\n key: \"addColors\",\n value: function addColors(clrs) {\n var nextColors = Object.keys(clrs).reduce(function (acc, level) {\n acc[level] = hasSpace.test(clrs[level]) ? clrs[level].split(hasSpace) : clrs[level];\n return acc;\n }, {});\n Colorizer.allColors = Object.assign({}, Colorizer.allColors || {}, nextColors);\n return Colorizer.allColors;\n }\n }]);\n\n return Colorizer;\n}();\n/*\n * function colorize (info)\n * Returns a new instance of the colorize Format that applies\n * level colors to `info` objects. This was previously exposed\n * as { colorize: true } to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = function (opts) {\n return new Colorizer(opts);\n}; //\n// Attach the Colorizer for registration purposes\n//\n\n\nmodule.exports.Colorizer = module.exports.Format = Colorizer;","'use strict';\n\nvar format = require('./format');\n/*\n * function cascade(formats)\n * Returns a function that invokes the `._format` function in-order\n * for the specified set of `formats`. In this manner we say that Formats\n * are \"pipe-like\", but not a pure pumpify implementation. Since there is no back\n * pressure we can remove all of the \"readable\" plumbing in Node streams.\n */\n\n\nfunction cascade(formats) {\n if (!formats.every(isValidFormat)) {\n return;\n }\n\n return function (info) {\n var obj = info;\n\n for (var i = 0; i < formats.length; i++) {\n obj = formats[i].transform(obj, formats[i].options);\n\n if (!obj) {\n return false;\n }\n }\n\n return obj;\n };\n}\n/*\n * function isValidFormat(format)\n * If the format does not define a `transform` function throw an error\n * with more detailed usage.\n */\n\n\nfunction isValidFormat(fmt) {\n if (typeof fmt.transform !== 'function') {\n throw new Error(['No transform function found on format. Did you create a format instance?', 'const myFormat = format(formatFn);', 'const instance = myFormat();'].join('\\n'));\n }\n\n return true;\n}\n/*\n * function combine (info)\n * Returns a new instance of the combine Format which combines the specified\n * formats into a new format. This is similar to a pipe-chain in transform streams.\n * We choose to combine the prototypes this way because there is no back pressure in\n * an in-memory transform chain.\n */\n\n\nmodule.exports = function () {\n for (var _len = arguments.length, formats = new Array(_len), _key = 0; _key < _len; _key++) {\n formats[_key] = arguments[_key];\n }\n\n var combinedFormat = format(cascade(formats));\n var instance = combinedFormat();\n instance.Format = combinedFormat.Format;\n return instance;\n}; //\n// Export the cascade method for use in cli and other\n// combined formats that should not be assumed to be\n// singletons.\n//\n\n\nmodule.exports.cascade = cascade;","/* eslint no-undefined: 0 */\n'use strict';\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar format = require('./format');\n\nvar _require = require('triple-beam'),\n LEVEL = _require.LEVEL,\n MESSAGE = _require.MESSAGE;\n/*\n * function errors (info)\n * If the `message` property of the `info` object is an instance of `Error`,\n * replace the `Error` object its own `message` property.\n *\n * Optionally, the Error's `stack` property can also be appended to the `info` object.\n */\n\n\nmodule.exports = format(function (einfo, _ref) {\n var stack = _ref.stack;\n\n if (einfo instanceof Error) {\n var _Object$assign;\n\n var info = Object.assign({}, einfo, (_Object$assign = {\n level: einfo.level\n }, _defineProperty(_Object$assign, LEVEL, einfo[LEVEL] || einfo.level), _defineProperty(_Object$assign, \"message\", einfo.message), _defineProperty(_Object$assign, MESSAGE, einfo[MESSAGE] || einfo.message), _Object$assign));\n if (stack) info.stack = einfo.stack;\n return info;\n }\n\n if (!(einfo.message instanceof Error)) return einfo; // Assign all enumerable properties and the\n // message property from the error provided.\n\n Object.assign(einfo, einfo.message);\n var err = einfo.message;\n einfo.message = err.message;\n einfo[MESSAGE] = err.message; // Assign the stack if requested.\n\n if (stack) einfo.stack = err.stack;\n return einfo;\n});","'use strict';\n/*\n * Displays a helpful message and the source of\n * the format when it is invalid.\n */\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar InvalidFormatError = /*#__PURE__*/function (_Error) {\n _inherits(InvalidFormatError, _Error);\n\n var _super = _createSuper(InvalidFormatError);\n\n function InvalidFormatError(formatFn) {\n var _this;\n\n _classCallCheck(this, InvalidFormatError);\n\n _this = _super.call(this, \"Format functions must be synchronous taking a two arguments: (info, opts)\\nFound: \".concat(formatFn.toString().split('\\n')[0], \"\\n\"));\n Error.captureStackTrace(_assertThisInitialized(_this), InvalidFormatError);\n return _this;\n }\n\n return InvalidFormatError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/*\n * function format (formatFn)\n * Returns a create function for the `formatFn`.\n */\n\n\nmodule.exports = function (formatFn) {\n if (formatFn.length > 2) {\n throw new InvalidFormatError(formatFn);\n }\n /*\n * function Format (options)\n * Base prototype which calls a `_format`\n * function and pushes the result.\n */\n\n\n function Format() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.options = options;\n }\n\n Format.prototype.transform = formatFn; //\n // Create a function which returns new instances of\n // FormatWrap for simple syntax like:\n //\n // require('winston').formats.json();\n //\n\n function createFormatWrap(opts) {\n return new Format(opts);\n } //\n // Expose the FormatWrap through the create function\n // for testability.\n //\n\n\n createFormatWrap.Format = Format;\n return createFormatWrap;\n};","'use strict';\n/*\n * @api public\n * @property {function} format\n * Both the construction method and set of exposed\n * formats.\n */\n\nvar format = exports.format = require('./format');\n/*\n * @api public\n * @method {function} levels\n * Registers the specified levels with logform.\n */\n\n\nexports.levels = require('./levels');\n/*\n * @api private\n * method {function} exposeFormat\n * Exposes a sub-format on the main format object\n * as a lazy-loaded getter.\n */\n\nfunction exposeFormat(name, path) {\n path = path || name;\n Object.defineProperty(format, name, {\n get: function get() {\n return require(\"./\".concat(path, \".js\"));\n },\n configurable: true\n });\n} //\n// Setup all transports as lazy-loaded getters.\n//\n\n\nexposeFormat('align');\nexposeFormat('errors');\nexposeFormat('cli');\nexposeFormat('combine');\nexposeFormat('colorize');\nexposeFormat('json');\nexposeFormat('label');\nexposeFormat('logstash');\nexposeFormat('metadata');\nexposeFormat('ms');\nexposeFormat('padLevels', 'pad-levels');\nexposeFormat('prettyPrint', 'pretty-print');\nexposeFormat('printf');\nexposeFormat('simple');\nexposeFormat('splat');\nexposeFormat('timestamp');\nexposeFormat('uncolorize');","'use strict';\n\nvar format = require('./format');\n\nvar _require = require('triple-beam'),\n MESSAGE = _require.MESSAGE;\n\nvar jsonStringify = require('fast-safe-stringify');\n/*\n * function replacer (key, value)\n * Handles proper stringification of Buffer and bigint output.\n */\n\n\nfunction replacer(key, value) {\n if (value instanceof Buffer) return value.toString('base64'); // eslint-disable-next-line valid-typeof\n\n if (typeof value === 'bigint') return value.toString();\n return value;\n}\n/*\n * function json (info)\n * Returns a new instance of the JSON format that turns a log `info`\n * object into pure JSON. This was previously exposed as { json: true }\n * to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = format(function (info) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n info[MESSAGE] = (opts.stable ? jsonStringify.stableStringify : jsonStringify)(info, opts.replacer || replacer, opts.space);\n return info;\n});","'use strict';\n\nvar format = require('./format');\n/*\n * function label (info)\n * Returns a new instance of the label Format which adds the specified\n * `opts.label` before the message. This was previously exposed as\n * { label: 'my label' } to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = format(function (info, opts) {\n if (opts.message) {\n info.message = \"[\".concat(opts.label, \"] \").concat(info.message);\n return info;\n }\n\n info.label = opts.label;\n return info;\n});","'use strict';\n\nvar _require = require('./colorize'),\n Colorizer = _require.Colorizer;\n/*\n * Simple method to register colors with a simpler require\n * path within the module.\n */\n\n\nmodule.exports = function (config) {\n Colorizer.addColors(config.colors || config);\n return config;\n};","'use strict';\n\nvar format = require('./format');\n\nvar _require = require('triple-beam'),\n MESSAGE = _require.MESSAGE;\n\nvar jsonStringify = require('fast-safe-stringify');\n/*\n * function logstash (info)\n * Returns a new instance of the LogStash Format that turns a\n * log `info` object into pure JSON with the appropriate logstash\n * options. This was previously exposed as { logstash: true }\n * to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = format(function (info) {\n var logstash = {};\n\n if (info.message) {\n logstash['@message'] = info.message;\n delete info.message;\n }\n\n if (info.timestamp) {\n logstash['@timestamp'] = info.timestamp;\n delete info.timestamp;\n }\n\n logstash['@fields'] = info;\n info[MESSAGE] = jsonStringify(logstash);\n return info;\n});","'use strict';\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar format = require('./format');\n\nfunction fillExcept(info, fillExceptKeys, metadataKey) {\n var savedKeys = fillExceptKeys.reduce(function (acc, key) {\n acc[key] = info[key];\n delete info[key];\n return acc;\n }, {});\n var metadata = Object.keys(info).reduce(function (acc, key) {\n acc[key] = info[key];\n delete info[key];\n return acc;\n }, {});\n Object.assign(info, savedKeys, _defineProperty({}, metadataKey, metadata));\n return info;\n}\n\nfunction fillWith(info, fillWithKeys, metadataKey) {\n info[metadataKey] = fillWithKeys.reduce(function (acc, key) {\n acc[key] = info[key];\n delete info[key];\n return acc;\n }, {});\n return info;\n}\n/**\n * Adds in a \"metadata\" object to collect extraneous data, similar to the metadata\n * object in winston 2.x.\n */\n\n\nmodule.exports = format(function (info) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var metadataKey = 'metadata';\n\n if (opts.key) {\n metadataKey = opts.key;\n }\n\n var fillExceptKeys = [];\n\n if (!opts.fillExcept && !opts.fillWith) {\n fillExceptKeys.push('level');\n fillExceptKeys.push('message');\n }\n\n if (opts.fillExcept) {\n fillExceptKeys = opts.fillExcept;\n }\n\n if (fillExceptKeys.length > 0) {\n return fillExcept(info, fillExceptKeys, metadataKey);\n }\n\n if (opts.fillWith) {\n return fillWith(info, opts.fillWith, metadataKey);\n }\n\n return info;\n});","'use strict';\n\nvar _this = void 0;\n\nvar format = require('./format');\n\nvar ms = require('ms');\n/*\n * function ms (info)\n * Returns an `info` with a `ms` property. The `ms` property holds the Value\n * of the time difference between two calls in milliseconds.\n */\n\n\nmodule.exports = format(function (info) {\n var curr = +new Date();\n _this.diff = curr - (_this.prevTime || curr);\n _this.prevTime = curr;\n info.ms = \"+\".concat(ms(_this.diff));\n return info;\n});","/* eslint no-unused-vars: 0 */\n'use strict';\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('triple-beam'),\n configs = _require.configs,\n LEVEL = _require.LEVEL,\n MESSAGE = _require.MESSAGE;\n\nvar Padder = /*#__PURE__*/function () {\n function Padder() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n levels: configs.npm.levels\n };\n\n _classCallCheck(this, Padder);\n\n this.paddings = Padder.paddingForLevels(opts.levels, opts.filler);\n this.options = opts;\n }\n /**\n * Returns the maximum length of keys in the specified `levels` Object.\n * @param {Object} levels Set of all levels to calculate longest level against.\n * @returns {Number} Maximum length of the longest level string.\n */\n\n\n _createClass(Padder, [{\n key: \"transform\",\n\n /**\n * Prepends the padding onto the `message` based on the `LEVEL` of\n * the `info`. This is based on the behavior of `winston@2` which also\n * prepended the level onto the message.\n *\n * See: https://github.com/winstonjs/winston/blob/2.x/lib/winston/logger.js#L198-L201\n *\n * @param {Info} info Logform info object\n * @param {Object} opts Options passed along to this instance.\n * @returns {Info} Modified logform info object.\n */\n value: function transform(info, opts) {\n info.message = \"\".concat(this.paddings[info[LEVEL]]).concat(info.message);\n\n if (info[MESSAGE]) {\n info[MESSAGE] = \"\".concat(this.paddings[info[LEVEL]]).concat(info[MESSAGE]);\n }\n\n return info;\n }\n }], [{\n key: \"getLongestLevel\",\n value: function getLongestLevel(levels) {\n var lvls = Object.keys(levels).map(function (level) {\n return level.length;\n });\n return Math.max.apply(Math, _toConsumableArray(lvls));\n }\n /**\n * Returns the padding for the specified `level` assuming that the\n * maximum length of all levels it's associated with is `maxLength`.\n * @param {String} level Level to calculate padding for.\n * @param {String} filler Repeatable text to use for padding.\n * @param {Number} maxLength Length of the longest level\n * @returns {String} Padding string for the `level`\n */\n\n }, {\n key: \"paddingForLevel\",\n value: function paddingForLevel(level, filler, maxLength) {\n var targetLen = maxLength + 1 - level.length;\n var rep = Math.floor(targetLen / filler.length);\n var padding = \"\".concat(filler).concat(filler.repeat(rep));\n return padding.slice(0, targetLen);\n }\n /**\n * Returns an object with the string paddings for the given `levels`\n * using the specified `filler`.\n * @param {Object} levels Set of all levels to calculate padding for.\n * @param {String} filler Repeatable text to use for padding.\n * @returns {Object} Mapping of level to desired padding.\n */\n\n }, {\n key: \"paddingForLevels\",\n value: function paddingForLevels(levels) {\n var filler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' ';\n var maxLength = Padder.getLongestLevel(levels);\n return Object.keys(levels).reduce(function (acc, level) {\n acc[level] = Padder.paddingForLevel(level, filler, maxLength);\n return acc;\n }, {});\n }\n }]);\n\n return Padder;\n}();\n/*\n * function padLevels (info)\n * Returns a new instance of the padLevels Format which pads\n * levels to be the same length. This was previously exposed as\n * { padLevels: true } to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = function (opts) {\n return new Padder(opts);\n};\n\nmodule.exports.Padder = module.exports.Format = Padder;","'use strict';\n\nvar inspect = require('util').inspect;\n\nvar format = require('./format');\n\nvar _require = require('triple-beam'),\n LEVEL = _require.LEVEL,\n MESSAGE = _require.MESSAGE,\n SPLAT = _require.SPLAT;\n/*\n * function prettyPrint (info)\n * Returns a new instance of the prettyPrint Format that \"prettyPrint\"\n * serializes `info` objects. This was previously exposed as\n * { prettyPrint: true } to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = format(function (info) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n //\n // info[{LEVEL, MESSAGE, SPLAT}] are enumerable here. Since they\n // are internal, we remove them before util.inspect so they\n // are not printed.\n //\n var stripped = Object.assign({}, info); // Remark (indexzero): update this technique in April 2019\n // when node@6 is EOL\n\n delete stripped[LEVEL];\n delete stripped[MESSAGE];\n delete stripped[SPLAT];\n info[MESSAGE] = inspect(stripped, false, opts.depth || null, opts.colorize);\n return info;\n});","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('triple-beam'),\n MESSAGE = _require.MESSAGE;\n\nvar Printf = /*#__PURE__*/function () {\n function Printf(templateFn) {\n _classCallCheck(this, Printf);\n\n this.template = templateFn;\n }\n\n _createClass(Printf, [{\n key: \"transform\",\n value: function transform(info) {\n info[MESSAGE] = this.template(info);\n return info;\n }\n }]);\n\n return Printf;\n}();\n/*\n * function printf (templateFn)\n * Returns a new instance of the printf Format that creates an\n * intermediate prototype to store the template string-based formatter\n * function.\n */\n\n\nmodule.exports = function (opts) {\n return new Printf(opts);\n};\n\nmodule.exports.Printf = module.exports.Format = Printf;","/* eslint no-undefined: 0 */\n'use strict';\n\nvar format = require('./format');\n\nvar _require = require('triple-beam'),\n MESSAGE = _require.MESSAGE;\n\nvar jsonStringify = require('fast-safe-stringify');\n/*\n * function simple (info)\n * Returns a new instance of the simple format TransformStream\n * which writes a simple representation of logs.\n *\n * const { level, message, splat, ...rest } = info;\n *\n * ${level}: ${message} if rest is empty\n * ${level}: ${message} ${JSON.stringify(rest)} otherwise\n */\n\n\nmodule.exports = format(function (info) {\n var stringifiedRest = jsonStringify(Object.assign({}, info, {\n level: undefined,\n message: undefined,\n splat: undefined\n }));\n var padding = info.padding && info.padding[info.level] || '';\n\n if (stringifiedRest !== '{}') {\n info[MESSAGE] = \"\".concat(info.level, \":\").concat(padding, \" \").concat(info.message, \" \").concat(stringifiedRest);\n } else {\n info[MESSAGE] = \"\".concat(info.level, \":\").concat(padding, \" \").concat(info.message);\n }\n\n return info;\n});","'use strict';\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar util = require('util');\n\nvar _require = require('triple-beam'),\n SPLAT = _require.SPLAT;\n/**\n * Captures the number of format (i.e. %s strings) in a given string.\n * Based on `util.format`, see Node.js source:\n * https://github.com/nodejs/node/blob/b1c8f15c5f169e021f7c46eb7b219de95fe97603/lib/util.js#L201-L230\n * @type {RegExp}\n */\n\n\nvar formatRegExp = /%[scdjifoO%]/g;\n/**\n * Captures the number of escaped % signs in a format string (i.e. %s strings).\n * @type {RegExp}\n */\n\nvar escapedPercent = /%%/g;\n\nvar Splatter = /*#__PURE__*/function () {\n function Splatter(opts) {\n _classCallCheck(this, Splatter);\n\n this.options = opts;\n }\n /**\n * Check to see if tokens <= splat.length, assign { splat, meta } into the\n * `info` accordingly, and write to this instance.\n *\n * @param {Info} info Logform info message.\n * @param {String[]} tokens Set of string interpolation tokens.\n * @returns {Info} Modified info message\n * @private\n */\n\n\n _createClass(Splatter, [{\n key: \"_splat\",\n value: function _splat(info, tokens) {\n var msg = info.message;\n var splat = info[SPLAT] || info.splat || [];\n var percents = msg.match(escapedPercent);\n var escapes = percents && percents.length || 0; // The expected splat is the number of tokens minus the number of escapes\n // e.g.\n // - { expectedSplat: 3 } '%d %s %j'\n // - { expectedSplat: 5 } '[%s] %d%% %d%% %s %j'\n //\n // Any \"meta\" will be arugments in addition to the expected splat size\n // regardless of type. e.g.\n //\n // logger.log('info', '%d%% %s %j', 100, 'wow', { such: 'js' }, { thisIsMeta: true });\n // would result in splat of four (4), but only three (3) are expected. Therefore:\n //\n // extraSplat = 3 - 4 = -1\n // metas = [100, 'wow', { such: 'js' }, { thisIsMeta: true }].splice(-1, -1 * -1);\n // splat = [100, 'wow', { such: 'js' }]\n\n var expectedSplat = tokens.length - escapes;\n var extraSplat = expectedSplat - splat.length;\n var metas = extraSplat < 0 ? splat.splice(extraSplat, -1 * extraSplat) : []; // Now that { splat } has been separated from any potential { meta }. we\n // can assign this to the `info` object and write it to our format stream.\n // If the additional metas are **NOT** objects or **LACK** enumerable properties\n // you are going to have a bad time.\n\n var metalen = metas.length;\n\n if (metalen) {\n for (var i = 0; i < metalen; i++) {\n Object.assign(info, metas[i]);\n }\n }\n\n info.message = util.format.apply(util, [msg].concat(_toConsumableArray(splat)));\n return info;\n }\n /**\n * Transforms the `info` message by using `util.format` to complete\n * any `info.message` provided it has string interpolation tokens.\n * If no tokens exist then `info` is immutable.\n *\n * @param {Info} info Logform info message.\n * @param {Object} opts Options for this instance.\n * @returns {Info} Modified info message\n */\n\n }, {\n key: \"transform\",\n value: function transform(info) {\n var msg = info.message;\n var splat = info[SPLAT] || info.splat; // No need to process anything if splat is undefined\n\n if (!splat || !splat.length) {\n return info;\n } // Extract tokens, if none available default to empty array to\n // ensure consistancy in expected results\n\n\n var tokens = msg && msg.match && msg.match(formatRegExp); // This condition will take care of inputs with info[SPLAT]\n // but no tokens present\n\n if (!tokens && (splat || splat.length)) {\n var metas = splat.length > 1 ? splat.splice(0) : splat; // Now that { splat } has been separated from any potential { meta }. we\n // can assign this to the `info` object and write it to our format stream.\n // If the additional metas are **NOT** objects or **LACK** enumerable properties\n // you are going to have a bad time.\n\n var metalen = metas.length;\n\n if (metalen) {\n for (var i = 0; i < metalen; i++) {\n Object.assign(info, metas[i]);\n }\n }\n\n return info;\n }\n\n if (tokens) {\n return this._splat(info, tokens);\n }\n\n return info;\n }\n }]);\n\n return Splatter;\n}();\n/*\n * function splat (info)\n * Returns a new instance of the splat format TransformStream\n * which performs string interpolation from `info` objects. This was\n * previously exposed implicitly in `winston < 3.0.0`.\n */\n\n\nmodule.exports = function (opts) {\n return new Splatter(opts);\n};","'use strict';\n\nvar fecha = require('fecha');\n\nvar format = require('./format');\n/*\n * function timestamp (info)\n * Returns a new instance of the timestamp Format which adds a timestamp\n * to the info. It was previously available in winston < 3.0.0 as:\n *\n * - { timestamp: true } // `new Date.toISOString()`\n * - { timestamp: function:String } // Value returned by `timestamp()`\n */\n\n\nmodule.exports = format(function (info) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.format) {\n info.timestamp = typeof opts.format === 'function' ? opts.format() : fecha.format(new Date(), opts.format);\n }\n\n if (!info.timestamp) {\n info.timestamp = new Date().toISOString();\n }\n\n if (opts.alias) {\n info[opts.alias] = info.timestamp;\n }\n\n return info;\n});","'use strict';\n\nvar colors = require('colors/safe');\n\nvar format = require('./format');\n\nvar _require = require('triple-beam'),\n MESSAGE = _require.MESSAGE;\n/*\n * function uncolorize (info)\n * Returns a new instance of the uncolorize Format that strips colors\n * from `info` objects. This was previously exposed as { stripColors: true }\n * to transports in `winston < 3.0.0`.\n */\n\n\nmodule.exports = format(function (info, opts) {\n if (opts.level !== false) {\n info.level = colors.strip(info.level);\n }\n\n if (opts.message !== false) {\n info.message = colors.strip(info.message);\n }\n\n if (opts.raw !== false && info[MESSAGE]) {\n info[MESSAGE] = colors.strip(info[MESSAGE]);\n }\n\n return info;\n});","var map = {\n\t\"./align.js\": 6894,\n\t\"./browser.js\": 6850,\n\t\"./cli.js\": 9008,\n\t\"./colorize.js\": 2046,\n\t\"./combine.js\": 1145,\n\t\"./errors.js\": 2657,\n\t\"./format.js\": 8287,\n\t\"./index.js\": 6941,\n\t\"./json.js\": 3048,\n\t\"./label.js\": 4403,\n\t\"./levels.js\": 7371,\n\t\"./logstash.js\": 9660,\n\t\"./metadata.js\": 2883,\n\t\"./ms.js\": 3584,\n\t\"./pad-levels.js\": 2886,\n\t\"./pretty-print.js\": 8703,\n\t\"./printf.js\": 2361,\n\t\"./simple.js\": 2167,\n\t\"./splat.js\": 7729,\n\t\"./timestamp.js\": 7271,\n\t\"./uncolorize.js\": 9729\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5378;","/* eslint no-undefined: 0 */\n'use strict';\n\nconst format = require('./format');\nconst { LEVEL, MESSAGE } = require('triple-beam');\n\n/*\n * function errors (info)\n * If the `message` property of the `info` object is an instance of `Error`,\n * replace the `Error` object its own `message` property.\n *\n * Optionally, the Error's `stack` property can also be appended to the `info` object.\n */\nmodule.exports = format((einfo, { stack }) => {\n if (einfo instanceof Error) {\n const info = Object.assign({}, einfo, {\n level: einfo.level,\n [LEVEL]: einfo[LEVEL] || einfo.level,\n message: einfo.message,\n [MESSAGE]: einfo[MESSAGE] || einfo.message\n });\n\n if (stack) info.stack = einfo.stack;\n return info;\n }\n\n if (!(einfo.message instanceof Error)) return einfo;\n\n // Assign all enumerable properties and the\n // message property from the error provided.\n Object.assign(einfo, einfo.message);\n const err = einfo.message;\n einfo.message = err.message;\n einfo[MESSAGE] = err.message;\n\n // Assign the stack if requested.\n if (stack) einfo.stack = err.stack;\n return einfo;\n});\n","const { format } = require('../');\nconst { combine, timestamp, label } = format;\n\nconst labelTimestamp = combine(\n label({ label: 'right meow!' }),\n timestamp()\n);\n\nconst info = labelTimestamp.transform({\n level: 'info',\n message: 'What time is the testing at?'\n});\n\nconsole.dir(info);\n","/* eslint no-unused-vars: 0 */\n\nconst { format } = require('../');\nconst { combine, timestamp, label } = format;\n\nconst ignorePrivate = format((info, opts) => {\n if (info.private) { return false; }\n return info;\n})();\n\nconsole.dir(ignorePrivate.transform({\n level: 'error',\n message: 'Public error to share'\n}));\n\nconsole.dir(ignorePrivate.transform({\n level: 'error',\n private: true,\n message: 'This is super secret - hide it.'\n}));\n\nconst willNeverThrow = format.combine(\n format(info => { return false; })(), // Ignores everything\n format(info => { throw new Error('Never reached'); })()\n);\n\nconsole.dir(willNeverThrow.transform({\n level: 'info',\n message: 'wow such testing'\n}));\n","/* eslint no-unused-vars: 0 */\nconst { format } = require('../');\n\nconst invalid = format(function invalid(just, too, many, args) {\n return just;\n});\n","const { format } = require('../');\nconst { combine, json, metadata, timestamp } = format;\n\n// Default Functionality (no options passed)\nconst defaultFormatter = combine(\n timestamp(),\n metadata(),\n json()\n);\n\nconst defaultMessage = defaultFormatter.transform({\n level: 'info',\n message: 'This should be a message.',\n application: 'Microsoft Office',\n store: 'Big Box Store',\n purchaseAmount: '9.99'\n});\n\nconsole.dir(defaultMessage);\n\n\n// Fill all keys into metadata except those provided\nconst formattedLogger = combine(\n timestamp(),\n metadata({ fillExcept: ['message', 'level', 'timestamp'] }),\n json()\n);\n\nconst fillExceptMessage = formattedLogger.transform({\n level: 'info',\n message: 'This should have attached metadata',\n category: 'movies',\n subCategory: 'action'\n});\n\nconsole.dir(fillExceptMessage);\n\n\n// Fill only the keys provided into the object, and also give it a different key\nconst customMetadataLogger = combine(\n timestamp(),\n metadata({ fillWith: ['publisher', 'author', 'book'], key: 'bookInfo' }),\n json()\n);\n\nconst fillWithMessage = customMetadataLogger.transform({\n level: 'debug',\n message: 'This message should be outside of the bookInfo object',\n publisher: 'Lorem Press',\n author: 'Albert Einstein',\n book: '4D Chess for Dummies',\n label: 'myCustomLabel'\n});\n\nconsole.dir(fillWithMessage);\n\n// Demonstrates Metadata 'chaining' to combine multiple datapoints.\nconst chainedMetadata = combine(\n timestamp(),\n metadata({ fillWith: ['publisher', 'author', 'book'], key: 'bookInfo' }),\n metadata({ fillWith: ['purchasePrice', 'purchaseDate', 'transactionId'], key: 'transactionInfo' }),\n metadata({ fillExcept: ['level', 'message', 'label', 'timestamp'] }),\n json()\n);\n\nconst chainedMessage = chainedMetadata.transform({\n level: 'debug',\n message: 'This message should be outside of the bookInfo object',\n publisher: 'Lorem Press',\n author: 'Albert Einstein',\n book: '4D Chess for Dummies',\n label: 'myCustomLabel',\n purchasePrice: '9.99',\n purchaseDate: '2.10.2018',\n transactionId: '123ABC'\n});\n\nconsole.dir(chainedMessage);\n","const { format } = require('../');\nconst { combine, padLevels, simple } = format;\n\nconst { MESSAGE } = require('triple-beam');\n\nconst paddedFormat = combine(\n padLevels({\n // Uncomment for a custom filler for the padding, defaults to ' '.\n // filler: 'foo',\n // Levels has to be defined, same as `winston.createLoggers({ levels })`.\n levels: {\n error: 0,\n warn: 1,\n info: 2,\n http: 3,\n verbose: 4,\n debug: 5,\n silly: 6\n }\n }),\n simple()\n);\n\nconst info = paddedFormat.transform({\n level: 'info',\n message: 'This is an info level message.'\n});\nconst error = paddedFormat.transform({\n level: 'error',\n message: 'This is an error level message.'\n});\nconst verbose = paddedFormat.transform({\n level: 'verbose',\n message: 'This is a verbose level message.'\n});\n\nconsole.dir(info[MESSAGE]);\nconsole.dir(error[MESSAGE]);\nconsole.dir(verbose[MESSAGE]);\n","const { format } = require('../');\n\nconst volume = format((info, opts) => {\n if (opts.yell) {\n info.message = info.message.toUpperCase();\n } else if (opts.whisper) {\n info.message = info.message.toLowerCase();\n }\n\n return info;\n});\n\n// `volume` is now a function that returns instances of the format.\nconst scream = volume({ yell: true });\nconsole.dir(scream.transform({\n level: 'info',\n message: `sorry for making you YELL in your head!`\n}, scream.options));\n\n// `volume` can be used multiple times to create different formats.\nconst whisper = volume({ whisper: true });\nconsole.dir(whisper.transform({\n level: 'info',\n message: `WHY ARE THEY MAKING US YELL SO MUCH!`\n}, whisper.options));\n","'use strict';\n\n/*\n * Displays a helpful message and the source of\n * the format when it is invalid.\n */\nclass InvalidFormatError extends Error {\n constructor(formatFn) {\n super(`Format functions must be synchronous taking a two arguments: (info, opts)\nFound: ${formatFn.toString().split('\\n')[0]}\\n`);\n\n Error.captureStackTrace(this, InvalidFormatError);\n }\n}\n\n/*\n * function format (formatFn)\n * Returns a create function for the `formatFn`.\n */\nmodule.exports = formatFn => {\n if (formatFn.length > 2) {\n throw new InvalidFormatError(formatFn);\n }\n\n /*\n * function Format (options)\n * Base prototype which calls a `_format`\n * function and pushes the result.\n */\n function Format(options = {}) {\n this.options = options;\n }\n\n Format.prototype.transform = formatFn;\n\n //\n // Create a function which returns new instances of\n // FormatWrap for simple syntax like:\n //\n // require('winston').formats.json();\n //\n function createFormatWrap(opts) {\n return new Format(opts);\n }\n\n //\n // Expose the FormatWrap through the create function\n // for testability.\n //\n createFormatWrap.Format = Format;\n return createFormatWrap;\n};\n","'use strict';\n\n/*\n * @api public\n * @property {function} format\n * Both the construction method and set of exposed\n * formats.\n */\nconst format = exports.format = require('./format');\n\n/*\n * @api public\n * @method {function} levels\n * Registers the specified levels with logform.\n */\nexports.levels = require('./levels');\n\n/*\n * @api private\n * method {function} exposeFormat\n * Exposes a sub-format on the main format object\n * as a lazy-loaded getter.\n */\nfunction exposeFormat(name, path) {\n path = path || name;\n Object.defineProperty(format, name, {\n get() {\n return require(`./${path}.js`);\n },\n configurable: true\n });\n}\n\n//\n// Setup all transports as lazy-loaded getters.\n//\nexposeFormat('align');\nexposeFormat('errors');\nexposeFormat('cli');\nexposeFormat('combine');\nexposeFormat('colorize');\nexposeFormat('json');\nexposeFormat('label');\nexposeFormat('logstash');\nexposeFormat('metadata');\nexposeFormat('ms');\nexposeFormat('padLevels', 'pad-levels');\nexposeFormat('prettyPrint', 'pretty-print');\nexposeFormat('printf');\nexposeFormat('simple');\nexposeFormat('splat');\nexposeFormat('timestamp');\nexposeFormat('uncolorize');\n","'use strict';\n\nconst format = require('./format');\nconst { MESSAGE } = require('triple-beam');\nconst jsonStringify = require('fast-safe-stringify');\n\n/*\n * function replacer (key, value)\n * Handles proper stringification of Buffer and bigint output.\n */\nfunction replacer(key, value) {\n if (value instanceof Buffer)\n return value.toString('base64');\n // eslint-disable-next-line valid-typeof\n if (typeof value === 'bigint')\n return value.toString();\n return value;\n}\n\n/*\n * function json (info)\n * Returns a new instance of the JSON format that turns a log `info`\n * object into pure JSON. This was previously exposed as { json: true }\n * to transports in `winston < 3.0.0`.\n */\nmodule.exports = format((info, opts = {}) => {\n info[MESSAGE] = (opts.stable ? jsonStringify.stableStringify\n : jsonStringify)(info, opts.replacer || replacer, opts.space);\n return info;\n});\n","'use strict';\n\nconst format = require('./format');\n\n/*\n * function label (info)\n * Returns a new instance of the label Format which adds the specified\n * `opts.label` before the message. This was previously exposed as\n * { label: 'my label' } to transports in `winston < 3.0.0`.\n */\nmodule.exports = format((info, opts) => {\n if (opts.message) {\n info.message = `[${opts.label}] ${info.message}`;\n return info;\n }\n\n info.label = opts.label;\n return info;\n});\n","'use strict';\n\nconst { Colorizer } = require('./colorize');\n\n/*\n * Simple method to register colors with a simpler require\n * path within the module.\n */\nmodule.exports = config => {\n Colorizer.addColors(config.colors || config);\n return config;\n};\n","'use strict';\n\nconst format = require('./format');\nconst { MESSAGE } = require('triple-beam');\nconst jsonStringify = require('fast-safe-stringify');\n\n/*\n * function logstash (info)\n * Returns a new instance of the LogStash Format that turns a\n * log `info` object into pure JSON with the appropriate logstash\n * options. This was previously exposed as { logstash: true }\n * to transports in `winston < 3.0.0`.\n */\nmodule.exports = format(info => {\n const logstash = {};\n if (info.message) {\n logstash['@message'] = info.message;\n delete info.message;\n }\n\n if (info.timestamp) {\n logstash['@timestamp'] = info.timestamp;\n delete info.timestamp;\n }\n\n logstash['@fields'] = info;\n info[MESSAGE] = jsonStringify(logstash);\n return info;\n});\n","'use strict';\n\nconst format = require('./format');\n\nfunction fillExcept(info, fillExceptKeys, metadataKey) {\n const savedKeys = fillExceptKeys.reduce((acc, key) => {\n acc[key] = info[key];\n delete info[key];\n return acc;\n }, {});\n const metadata = Object.keys(info).reduce((acc, key) => {\n acc[key] = info[key];\n delete info[key];\n return acc;\n }, {});\n\n Object.assign(info, savedKeys, {\n [metadataKey]: metadata\n });\n return info;\n}\n\nfunction fillWith(info, fillWithKeys, metadataKey) {\n info[metadataKey] = fillWithKeys.reduce((acc, key) => {\n acc[key] = info[key];\n delete info[key];\n return acc;\n }, {});\n return info;\n}\n\n/**\n * Adds in a \"metadata\" object to collect extraneous data, similar to the metadata\n * object in winston 2.x.\n */\nmodule.exports = format((info, opts = {}) => {\n let metadataKey = 'metadata';\n if (opts.key) {\n metadataKey = opts.key;\n }\n\n let fillExceptKeys = [];\n if (!opts.fillExcept && !opts.fillWith) {\n fillExceptKeys.push('level');\n fillExceptKeys.push('message');\n }\n\n if (opts.fillExcept) {\n fillExceptKeys = opts.fillExcept;\n }\n\n if (fillExceptKeys.length > 0) {\n return fillExcept(info, fillExceptKeys, metadataKey);\n }\n\n if (opts.fillWith) {\n return fillWith(info, opts.fillWith, metadataKey);\n }\n\n return info;\n});\n","'use strict';\n\nconst format = require('./format');\nconst ms = require('ms');\n\n/*\n * function ms (info)\n * Returns an `info` with a `ms` property. The `ms` property holds the Value\n * of the time difference between two calls in milliseconds.\n */\nmodule.exports = format(info => {\n const curr = +new Date();\n this.diff = curr - (this.prevTime || curr);\n this.prevTime = curr;\n info.ms = `+${ms(this.diff)}`;\n\n return info;\n});\n","/* eslint no-unused-vars: 0 */\n'use strict';\n\nconst { configs, LEVEL, MESSAGE } = require('triple-beam');\n\nclass Padder {\n constructor(opts = { levels: configs.npm.levels }) {\n this.paddings = Padder.paddingForLevels(opts.levels, opts.filler);\n this.options = opts;\n }\n\n /**\n * Returns the maximum length of keys in the specified `levels` Object.\n * @param {Object} levels Set of all levels to calculate longest level against.\n * @returns {Number} Maximum length of the longest level string.\n */\n static getLongestLevel(levels) {\n const lvls = Object.keys(levels).map(level => level.length);\n return Math.max(...lvls);\n }\n\n /**\n * Returns the padding for the specified `level` assuming that the\n * maximum length of all levels it's associated with is `maxLength`.\n * @param {String} level Level to calculate padding for.\n * @param {String} filler Repeatable text to use for padding.\n * @param {Number} maxLength Length of the longest level\n * @returns {String} Padding string for the `level`\n */\n static paddingForLevel(level, filler, maxLength) {\n const targetLen = maxLength + 1 - level.length;\n const rep = Math.floor(targetLen / filler.length);\n const padding = `${filler}${filler.repeat(rep)}`;\n return padding.slice(0, targetLen);\n }\n\n /**\n * Returns an object with the string paddings for the given `levels`\n * using the specified `filler`.\n * @param {Object} levels Set of all levels to calculate padding for.\n * @param {String} filler Repeatable text to use for padding.\n * @returns {Object} Mapping of level to desired padding.\n */\n static paddingForLevels(levels, filler = ' ') {\n const maxLength = Padder.getLongestLevel(levels);\n return Object.keys(levels).reduce((acc, level) => {\n acc[level] = Padder.paddingForLevel(level, filler, maxLength);\n return acc;\n }, {});\n }\n\n /**\n * Prepends the padding onto the `message` based on the `LEVEL` of\n * the `info`. This is based on the behavior of `winston@2` which also\n * prepended the level onto the message.\n *\n * See: https://github.com/winstonjs/winston/blob/2.x/lib/winston/logger.js#L198-L201\n *\n * @param {Info} info Logform info object\n * @param {Object} opts Options passed along to this instance.\n * @returns {Info} Modified logform info object.\n */\n transform(info, opts) {\n info.message = `${this.paddings[info[LEVEL]]}${info.message}`;\n if (info[MESSAGE]) {\n info[MESSAGE] = `${this.paddings[info[LEVEL]]}${info[MESSAGE]}`;\n }\n\n return info;\n }\n}\n\n/*\n * function padLevels (info)\n * Returns a new instance of the padLevels Format which pads\n * levels to be the same length. This was previously exposed as\n * { padLevels: true } to transports in `winston < 3.0.0`.\n */\nmodule.exports = opts => new Padder(opts);\n\nmodule.exports.Padder\n = module.exports.Format\n = Padder;\n","'use strict';\n\nconst inspect = require('util').inspect;\nconst format = require('./format');\nconst { LEVEL, MESSAGE, SPLAT } = require('triple-beam');\n\n/*\n * function prettyPrint (info)\n * Returns a new instance of the prettyPrint Format that \"prettyPrint\"\n * serializes `info` objects. This was previously exposed as\n * { prettyPrint: true } to transports in `winston < 3.0.0`.\n */\nmodule.exports = format((info, opts = {}) => {\n //\n // info[{LEVEL, MESSAGE, SPLAT}] are enumerable here. Since they\n // are internal, we remove them before util.inspect so they\n // are not printed.\n //\n const stripped = Object.assign({}, info);\n\n // Remark (indexzero): update this technique in April 2019\n // when node@6 is EOL\n delete stripped[LEVEL];\n delete stripped[MESSAGE];\n delete stripped[SPLAT];\n\n info[MESSAGE] = inspect(stripped, false, opts.depth || null, opts.colorize);\n return info;\n});\n","'use strict';\n\nconst { MESSAGE } = require('triple-beam');\n\nclass Printf {\n constructor(templateFn) {\n this.template = templateFn;\n }\n\n transform(info) {\n info[MESSAGE] = this.template(info);\n return info;\n }\n}\n\n/*\n * function printf (templateFn)\n * Returns a new instance of the printf Format that creates an\n * intermediate prototype to store the template string-based formatter\n * function.\n */\nmodule.exports = opts => new Printf(opts);\n\nmodule.exports.Printf\n = module.exports.Format\n = Printf;\n","/* eslint no-undefined: 0 */\n'use strict';\n\nconst format = require('./format');\nconst { MESSAGE } = require('triple-beam');\nconst jsonStringify = require('fast-safe-stringify');\n\n/*\n * function simple (info)\n * Returns a new instance of the simple format TransformStream\n * which writes a simple representation of logs.\n *\n * const { level, message, splat, ...rest } = info;\n *\n * ${level}: ${message} if rest is empty\n * ${level}: ${message} ${JSON.stringify(rest)} otherwise\n */\nmodule.exports = format(info => {\n const stringifiedRest = jsonStringify(Object.assign({}, info, {\n level: undefined,\n message: undefined,\n splat: undefined\n }));\n\n const padding = info.padding && info.padding[info.level] || '';\n if (stringifiedRest !== '{}') {\n info[MESSAGE] = `${info.level}:${padding} ${info.message} ${stringifiedRest}`;\n } else {\n info[MESSAGE] = `${info.level}:${padding} ${info.message}`;\n }\n\n return info;\n});\n","'use strict';\n\nconst util = require('util');\nconst { SPLAT } = require('triple-beam');\n\n/**\n * Captures the number of format (i.e. %s strings) in a given string.\n * Based on `util.format`, see Node.js source:\n * https://github.com/nodejs/node/blob/b1c8f15c5f169e021f7c46eb7b219de95fe97603/lib/util.js#L201-L230\n * @type {RegExp}\n */\nconst formatRegExp = /%[scdjifoO%]/g;\n\n/**\n * Captures the number of escaped % signs in a format string (i.e. %s strings).\n * @type {RegExp}\n */\nconst escapedPercent = /%%/g;\n\nclass Splatter {\n constructor(opts) {\n this.options = opts;\n }\n\n /**\n * Check to see if tokens <= splat.length, assign { splat, meta } into the\n * `info` accordingly, and write to this instance.\n *\n * @param {Info} info Logform info message.\n * @param {String[]} tokens Set of string interpolation tokens.\n * @returns {Info} Modified info message\n * @private\n */\n _splat(info, tokens) {\n const msg = info.message;\n const splat = info[SPLAT] || info.splat || [];\n const percents = msg.match(escapedPercent);\n const escapes = percents && percents.length || 0;\n\n // The expected splat is the number of tokens minus the number of escapes\n // e.g.\n // - { expectedSplat: 3 } '%d %s %j'\n // - { expectedSplat: 5 } '[%s] %d%% %d%% %s %j'\n //\n // Any \"meta\" will be arugments in addition to the expected splat size\n // regardless of type. e.g.\n //\n // logger.log('info', '%d%% %s %j', 100, 'wow', { such: 'js' }, { thisIsMeta: true });\n // would result in splat of four (4), but only three (3) are expected. Therefore:\n //\n // extraSplat = 3 - 4 = -1\n // metas = [100, 'wow', { such: 'js' }, { thisIsMeta: true }].splice(-1, -1 * -1);\n // splat = [100, 'wow', { such: 'js' }]\n const expectedSplat = tokens.length - escapes;\n const extraSplat = expectedSplat - splat.length;\n const metas = extraSplat < 0\n ? splat.splice(extraSplat, -1 * extraSplat)\n : [];\n\n // Now that { splat } has been separated from any potential { meta }. we\n // can assign this to the `info` object and write it to our format stream.\n // If the additional metas are **NOT** objects or **LACK** enumerable properties\n // you are going to have a bad time.\n const metalen = metas.length;\n if (metalen) {\n for (let i = 0; i < metalen; i++) {\n Object.assign(info, metas[i]);\n }\n }\n\n info.message = util.format(msg, ...splat);\n return info;\n }\n\n /**\n * Transforms the `info` message by using `util.format` to complete\n * any `info.message` provided it has string interpolation tokens.\n * If no tokens exist then `info` is immutable.\n *\n * @param {Info} info Logform info message.\n * @param {Object} opts Options for this instance.\n * @returns {Info} Modified info message\n */\n transform(info) {\n const msg = info.message;\n const splat = info[SPLAT] || info.splat;\n\n // No need to process anything if splat is undefined\n if (!splat || !splat.length) {\n return info;\n }\n\n // Extract tokens, if none available default to empty array to\n // ensure consistancy in expected results\n const tokens = msg && msg.match && msg.match(formatRegExp);\n\n // This condition will take care of inputs with info[SPLAT]\n // but no tokens present\n if (!tokens && (splat || splat.length)) {\n const metas = splat.length > 1\n ? splat.splice(0)\n : splat;\n\n // Now that { splat } has been separated from any potential { meta }. we\n // can assign this to the `info` object and write it to our format stream.\n // If the additional metas are **NOT** objects or **LACK** enumerable properties\n // you are going to have a bad time.\n const metalen = metas.length;\n if (metalen) {\n for (let i = 0; i < metalen; i++) {\n Object.assign(info, metas[i]);\n }\n }\n\n return info;\n }\n\n if (tokens) {\n return this._splat(info, tokens);\n }\n\n return info;\n }\n}\n\n/*\n * function splat (info)\n * Returns a new instance of the splat format TransformStream\n * which performs string interpolation from `info` objects. This was\n * previously exposed implicitly in `winston < 3.0.0`.\n */\nmodule.exports = opts => new Splatter(opts);\n","'use strict';\n\nconst fecha = require('fecha');\nconst format = require('./format');\n\n/*\n * function timestamp (info)\n * Returns a new instance of the timestamp Format which adds a timestamp\n * to the info. It was previously available in winston < 3.0.0 as:\n *\n * - { timestamp: true } // `new Date.toISOString()`\n * - { timestamp: function:String } // Value returned by `timestamp()`\n */\nmodule.exports = format((info, opts = {}) => {\n if (opts.format) {\n info.timestamp = typeof opts.format === 'function'\n ? opts.format()\n : fecha.format(new Date(), opts.format);\n }\n\n if (!info.timestamp) {\n info.timestamp = new Date().toISOString();\n }\n\n if (opts.alias) {\n info[opts.alias] = info.timestamp;\n }\n\n return info;\n});\n","'use strict';\n\nconst colors = require('colors/safe');\nconst format = require('./format');\nconst { MESSAGE } = require('triple-beam');\n\n/*\n * function uncolorize (info)\n * Returns a new instance of the uncolorize Format that strips colors\n * from `info` objects. This was previously exposed as { stripColors: true }\n * to transports in `winston < 3.0.0`.\n */\nmodule.exports = format((info, opts) => {\n if (opts.level !== false) {\n info.level = colors.strip(info.level);\n }\n\n if (opts.message !== false) {\n info.message = colors.strip(info.message);\n }\n\n if (opts.raw !== false && info[MESSAGE]) {\n info[MESSAGE] = colors.strip(info[MESSAGE]);\n }\n\n return info;\n});\n","var map = {\n\t\"./align.js\": 6281,\n\t\"./browser.js\": 8650,\n\t\"./cli.js\": 153,\n\t\"./colorize.js\": 8580,\n\t\"./combine.js\": 2390,\n\t\"./dist/align.js\": 6894,\n\t\"./dist/browser.js\": 6850,\n\t\"./dist/cli.js\": 9008,\n\t\"./dist/colorize.js\": 2046,\n\t\"./dist/combine.js\": 1145,\n\t\"./dist/errors.js\": 2657,\n\t\"./dist/format.js\": 8287,\n\t\"./dist/index.js\": 6941,\n\t\"./dist/json.js\": 3048,\n\t\"./dist/label.js\": 4403,\n\t\"./dist/levels.js\": 7371,\n\t\"./dist/logstash.js\": 9660,\n\t\"./dist/metadata.js\": 2883,\n\t\"./dist/ms.js\": 3584,\n\t\"./dist/pad-levels.js\": 2886,\n\t\"./dist/pretty-print.js\": 8703,\n\t\"./dist/printf.js\": 2361,\n\t\"./dist/simple.js\": 2167,\n\t\"./dist/splat.js\": 7729,\n\t\"./dist/timestamp.js\": 7271,\n\t\"./dist/uncolorize.js\": 9729,\n\t\"./errors.js\": 1648,\n\t\"./examples/combine.js\": 1831,\n\t\"./examples/filter.js\": 6803,\n\t\"./examples/invalid.js\": 1645,\n\t\"./examples/metadata.js\": 8010,\n\t\"./examples/padLevels.js\": 7836,\n\t\"./examples/volume.js\": 317,\n\t\"./format.js\": 9235,\n\t\"./index.js\": 562,\n\t\"./json.js\": 3922,\n\t\"./label.js\": 3084,\n\t\"./levels.js\": 7823,\n\t\"./logstash.js\": 3388,\n\t\"./metadata.js\": 2523,\n\t\"./ms.js\": 7560,\n\t\"./pad-levels.js\": 6566,\n\t\"./pretty-print.js\": 5894,\n\t\"./printf.js\": 8242,\n\t\"./simple.js\": 459,\n\t\"./splat.js\": 8102,\n\t\"./timestamp.js\": 6645,\n\t\"./uncolorize.js\": 9095\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6835;","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nconst DO_REQUEST = Symbol('DO_REQUEST');\n// TODO:\n// APIs that should not be allowed to be called directly\n// attach/detach should be handled by the API client instead of the\n// user directly.\n//\n// i.e. a plugin that detaches will affect all plugins registered on host\n// const EXCLUDED = ['nvim_buf_attach', 'nvim_buf_detach'];\n// Instead of dealing with multiple inheritance (or lackof), just extend EE\n// Only the Neovim API class should use EE though\nclass BaseApi extends events_1.EventEmitter {\n constructor({ transport, data, logger, metadata, client, }) {\n super();\n this[_a] = (name, args = []) => new Promise((resolve, reject) => {\n this.transport.request(name, args, (err, res) => {\n this.logger.debug(`response -> neovim.api.${name}: ${res}`);\n if (err) {\n reject(new Error(`${name}: ${err[1]}`));\n }\n else {\n resolve(res);\n }\n });\n });\n this.setTransport(transport);\n this.data = data;\n // eslint-disable-next-line global-require\n this.logger = logger || require('../utils/logger').logger;\n this.client = client;\n if (metadata) {\n Object.defineProperty(this, 'metadata', { value: metadata });\n }\n }\n setTransport(transport) {\n this.transport = transport;\n }\n equals(other) {\n try {\n return String(this.data) === String(other.data);\n }\n catch (e) {\n return false;\n }\n }\n asyncRequest(name, args = [], stack) {\n return __awaiter(this, void 0, void 0, function* () {\n // `this._isReady` is undefined in ExtType classes (i.e. Buffer, Window, Tabpage)\n // But this is just for Neovim API, since it's possible to call this method from Neovim class\n // before transport is ready.\n // Not possible for ExtType classes since they are only created after transport is ready\n yield this._isReady;\n this.logger.debug(`request -> neovim.api.${name}`);\n return this[DO_REQUEST](name, args).catch(err => {\n const newError = new Error(err.message);\n newError.stack = stack;\n this.logger.error(`Error making request to ${name}`, newError);\n throw newError;\n });\n });\n }\n request(name, args = []) {\n const error = new Error(`Error making request to ${name}`);\n return this.asyncRequest(name, args, error.stack);\n }\n _getArgsByPrefix(...args) {\n const _args = [];\n // Check if class is Neovim and if so, should not send `this` as first arg\n if (this.prefix !== 'nvim_') {\n _args.push(this);\n }\n return _args.concat(args);\n }\n /** Retrieves a scoped variable depending on type (using `this.prefix`) */\n getVar(name) {\n return __awaiter(this, void 0, void 0, function* () {\n const args = this._getArgsByPrefix(name);\n return this.request(`${this.prefix}get_var`, args).then(res => res, err => {\n if (err && err.message && err.message.includes('not found')) {\n return null;\n }\n throw err;\n });\n });\n }\n /** Set a scoped variable */\n setVar(name, value) {\n const args = this._getArgsByPrefix(name, value);\n return this.request(`${this.prefix}set_var`, args);\n }\n /** Delete a scoped variable */\n deleteVar(name) {\n const args = this._getArgsByPrefix(name);\n return this.request(`${this.prefix}del_var`, args);\n }\n /** Retrieves a scoped option depending on type of `this` */\n getOption(name) {\n const args = this._getArgsByPrefix(name);\n return this.request(`${this.prefix}get_option`, args);\n }\n /** Set scoped option */\n setOption(name, value) {\n const args = this._getArgsByPrefix(name, value);\n return this.request(`${this.prefix}set_option`, args);\n }\n // TODO: Is this necessary?\n /** `request` is basically the same except you can choose to wait forpromise to be resolved */\n notify(name, args) {\n this.logger.debug(`notify -> neovim.api.${name}`);\n this.transport.notify(name, args);\n }\n}\nexports.BaseApi = BaseApi;\n_a = DO_REQUEST;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar _a, _b;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Base_1 = require(\"./Base\");\nconst types_1 = require(\"./types\");\nexports.DETACH = Symbol('detachBuffer');\nexports.ATTACH = Symbol('attachBuffer');\nclass Buffer extends Base_1.BaseApi {\n constructor() {\n super(...arguments);\n this.prefix = types_1.Metadata[types_1.ExtType.Buffer].prefix;\n /**\n * Attach to buffer to listen to buffer events\n * @param sendBuffer Set to true if the initial notification should contain\n * the whole buffer. If so, the first notification will be a\n * `nvim_buf_lines_event`. Otherwise, the first notification will be\n * a `nvim_buf_changedtick_event`\n */\n this[_a] = (sendBuffer = false, options = {}) => __awaiter(this, void 0, void 0, function* () {\n if (this.client.isAttached(this))\n return true;\n return this.request(`${this.prefix}attach`, [this, sendBuffer, options]);\n });\n /**\n * Detach from buffer to stop listening to buffer events\n */\n this[_b] = () => this.request(`${this.prefix}detach`, [this]);\n }\n get isAttached() {\n return this.client.isAttached(this);\n }\n /**\n * Get the bufnr of Buffer\n */\n get id() {\n return this.data;\n }\n /** Total number of lines in buffer */\n get length() {\n return this.request(`${this.prefix}line_count`, [this]);\n }\n /** Get lines in buffer */\n get lines() {\n return this.getLines();\n }\n /** Gets a changed tick of a buffer */\n get changedtick() {\n return this.request(`${this.prefix}get_changedtick`, [this]);\n }\n get commands() {\n return this.getCommands();\n }\n getCommands(options = {}) {\n return this.request(`${this.prefix}get_commands`, [this, options]);\n }\n /** Get specific lines of buffer */\n getLines({ start, end, strictIndexing } = { start: 0, end: -1, strictIndexing: true }) {\n const indexing = typeof strictIndexing === 'undefined' ? true : strictIndexing;\n return this.request(`${this.prefix}get_lines`, [\n this,\n start,\n end,\n indexing,\n ]);\n }\n /** Set lines of buffer given indeces */\n setLines(_lines, { start: _start, end: _end, strictIndexing } = {\n strictIndexing: true,\n }) {\n // TODO: Error checking\n // if (typeof start === 'undefined' || typeof end === 'undefined') {\n // }\n const indexing = typeof strictIndexing === 'undefined' ? true : strictIndexing;\n const lines = typeof _lines === 'string' ? [_lines] : _lines;\n const end = typeof _end !== 'undefined' ? _end : _start + 1;\n return this.request(`${this.prefix}set_lines`, [\n this,\n _start,\n end,\n indexing,\n lines,\n ]);\n }\n /** Insert lines at `start` index */\n insert(lines, start) {\n return this.setLines(lines, {\n start,\n end: start,\n strictIndexing: true,\n });\n }\n /** Replace lines starting at `start` index */\n replace(_lines, start) {\n const lines = typeof _lines === 'string' ? [_lines] : _lines;\n return this.setLines(lines, {\n start,\n end: start + lines.length,\n strictIndexing: false,\n });\n }\n /** Remove lines at index */\n remove(start, end, strictIndexing) {\n return this.setLines([], { start, end, strictIndexing });\n }\n /** Append a string or list of lines to end of buffer */\n append(lines) {\n return this.setLines(lines, {\n start: -1,\n end: -1,\n strictIndexing: false,\n });\n }\n /** Get buffer name */\n get name() {\n return this.request(`${this.prefix}get_name`, [this]);\n }\n /** Set current buffer name */\n set name(value) {\n this.request(`${this.prefix}set_name`, [this, value]);\n }\n /** Is current buffer valid */\n get valid() {\n return this.request(`${this.prefix}is_valid`, [this]);\n }\n /** Get mark position given mark name */\n mark(name) {\n return this.request(`${this.prefix}get_mark`, [this, name]);\n }\n // range(start, end) {\n // \"\"\"Return a `Range` object, which represents part of the Buffer.\"\"\"\n // return Range(this, start, end)\n // }\n /**\n * Gets a list of buffer-local |mapping| definitions.\n */\n getKeymap(mode) {\n return this.request(`${this.prefix}get_keymap`, [this, mode]);\n }\n /**\n * Checks if a buffer is valid and loaded. See |api-buffer| for\n * more info about unloaded buffers.\n */\n get loaded() {\n return this.request(`${this.prefix}is_loaded`, [this]);\n }\n /**\n * Returns the byte offset for a line.\n *\n * Line 1 (index=0) has offset 0. UTF-8 bytes are counted. EOL is\n * one byte. 'fileformat' and 'fileencoding' are ignored. The\n * line index just after the last line gives the total byte-count\n * of the buffer. A final EOL byte is counted if it would be\n * written, see 'eol'.\n *\n * Unlike |line2byte()|, throws error for out-of-bounds indexing.\n * Returns -1 for unloaded buffer.\n *\n * @return {Number} Integer byte offset, or -1 for unloaded buffer.\n */\n getOffset(index) {\n return this.request(`${this.prefix}get_offset`, [this, index]);\n }\n /**\n * Adds a highlight to buffer.\n *\n * Useful for plugins that dynamically generate highlights to a\n * buffer (like a semantic highlighter or linter). The function\n * adds a single highlight to a buffer. Unlike |matchaddpos()|\n * highlights follow changes to line numbering (as lines are\n * inserted/removed above the highlighted line), like signs and\n * marks do.\n *\n * Namespaces are used for batch deletion/updating of a set of\n * highlights. To create a namespace, use |nvim_create_namespace|\n * which returns a namespace id. Pass it in to this function as\n * `ns_id` to add highlights to the namespace. All highlights in\n * the same namespace can then be cleared with single call to\n * |nvim_buf_clear_namespace|. If the highlight never will be\n * deleted by an API call, pass `ns_id = -1`.\n *\n * As a shorthand, `ns_id = 0` can be used to create a new\n * namespace for the highlight, the allocated id is then\n * returned. If `hl_group` is the empty string no highlight is\n * added, but a new `ns_id` is still returned. This is supported\n * for backwards compatibility, new code should use\n * |nvim_create_namespace| to create a new empty namespace.\n */\n addHighlight({ hlGroup: _hlGroup, line, colStart: _start, colEnd: _end, srcId: _srcId, }) {\n const hlGroup = typeof _hlGroup !== 'undefined' ? _hlGroup : '';\n const colEnd = typeof _end !== 'undefined' ? _end : -1;\n const colStart = typeof _start !== 'undefined' ? _start : -0;\n const srcId = typeof _srcId !== 'undefined' ? _srcId : -1;\n return this.request(`${this.prefix}add_highlight`, [\n this,\n srcId,\n hlGroup,\n line,\n colStart,\n colEnd,\n ]);\n }\n /**\n * Deprecated\n */\n clearHighlight(args = {}) {\n // eslint-disable-next-line no-console\n console.warn('`clearHighlight` is deprecated, use ``clearNamespace()` instead');\n const defaults = {\n srcId: -1,\n lineStart: 0,\n lineEnd: -1,\n };\n const { srcId, lineStart, lineEnd } = Object.assign(Object.assign({}, defaults), args);\n return this.request(`${this.prefix}clear_highlight`, [\n this,\n srcId,\n lineStart,\n lineEnd,\n ]);\n }\n /**\n * Clears namespaced objects, highlights and virtual text, from a line range\n *\n * To clear the namespace in the entire buffer, pass in 0 and -1 to line_start and line_end respectively.\n *\n * @param {Number} nsId Namespace to clear, or -1 to clear all namespaces\n * @param {Number} lineStart Start of range of lines to clear\n * @param {Number} lineEnd End of range of lines to clear (exclusive) or -1 to clear to end of buffer\n */\n clearNamespace(args) {\n const defaults = {\n nsId: -1,\n lineStart: 0,\n lineEnd: -1,\n };\n const { nsId, lineStart, lineEnd } = Object.assign(Object.assign({}, defaults), args);\n this.request(`${this.prefix}clear_namespace`, [\n this,\n nsId,\n lineStart,\n lineEnd,\n ]);\n }\n /**\n * Set the virtual text (annotation) for a buffer line.\n *\n * By default (and currently the only option) the text will be\n * placed after the buffer text. Virtual text will never cause\n * reflow, rather virtual text will be truncated at the end of\n * the screen line. The virtual text will begin one cell\n * (|lcs-eol| or space) after the ordinary text.\n *\n * Namespaces are used to support batch deletion/updating of\n * virtual text. To create a namespace, use\n * |nvim_create_namespace|. Virtual text is cleared using\n * |nvim_buf_clear_namespace|. The same `ns_id` can be used for\n * both virtual text and highlights added by\n * |nvim_buf_add_highlight|, both can then be cleared with a\n * single call to |nvim_buf_clear_namespace|. If the virtual text\n * never will be cleared by an API call, pass `ns_id = -1`.\n *\n * As a shorthand, `ns_id = 0` can be used to create a new\n * namespace for the virtual text, the allocated id is then\n * returned.\n *\n * @param\n * @param {Number} nsId Namespace to use or 0 to create a namespace, or -1 for a ungrouped annotation\n * @param {Number} line Line to annotate with virtual text (zero-indexed)\n * @param {VirtualTextChunk[]} chunks A list of [text, hl_group] arrays, each\n representing a text chunk with specified\n highlight. `hl_group` element can be omitted for\n no highlight.\n * @param {Object} opts Optional parameters. Currently not used.\n */\n setVirtualText(nsId, line, chunks, opts = {}) {\n return this.request(`${this.prefix}set_virtual_text`, [\n this,\n nsId,\n line,\n chunks,\n opts,\n ]);\n }\n /**\n * Listens to buffer for events\n */\n listen(eventName, cb) {\n if (!this.isAttached) {\n this[exports.ATTACH]().then(attached => {\n if (!attached) {\n this.unlisten(eventName, cb);\n }\n });\n }\n this.client.attachBuffer(this, eventName, cb);\n return () => {\n this.unlisten(eventName, cb);\n };\n }\n unlisten(eventName, cb) {\n if (!this.isAttached)\n return;\n const shouldDetach = this.client.detachBuffer(this, eventName, cb);\n if (!shouldDetach)\n return;\n this[exports.DETACH]();\n }\n}\nexports.Buffer = Buffer;\n_a = exports.ATTACH, _b = exports.DETACH;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Base_1 = require(\"./Base\");\nconst createChainableApi_1 = require(\"./helpers/createChainableApi\");\nconst Buffer_1 = require(\"./Buffer\");\nconst Tabpage_1 = require(\"./Tabpage\");\nconst Window_1 = require(\"./Window\");\n/**\n * Neovim API\n */\nclass Neovim extends Base_1.BaseApi {\n constructor() {\n super(...arguments);\n this.prefix = 'nvim_';\n this.Buffer = Buffer_1.Buffer;\n this.Window = Window_1.Window;\n this.Tabpage = Tabpage_1.Tabpage;\n }\n /**\n * Retrieves nvim API information\n */\n get apiInfo() {\n return this.request(`${this.prefix}get_api_info`);\n }\n /**\n * Gets the current list of buffer handles\n *\n * Includes unlisted (unloaded/deleted) buffers, like `ls!`. Use `Buffer.isLoaded`\n * to check if a buffer is loaded\n *\n * @return {Buffer[]} List of buffer handles\n */\n get buffers() {\n return this.request(`${this.prefix}list_bufs`);\n }\n /**\n * Gets the current buffer\n *\n * @return {Buffer} Buffer handle\n */\n get buffer() {\n return createChainableApi_1.createChainableApi.call(this, 'Buffer', Buffer_1.Buffer, () => this.request(`${this.prefix}get_current_buf`));\n }\n /**\n * Sets the current buffer\n */\n set buffer(buffer) {\n this.request(`${this.prefix}set_current_buf`, [buffer]);\n }\n /**\n * Get information about all open channels\n *\n * @return {Channel[]} Array of channels\n */\n get chans() {\n return this.request(`${this.prefix}list_chans`);\n }\n /**\n * Gets information about a channel\n *\n * @param {Number} chan The channel number\n * @return {Channel} A channel\n */\n getChanInfo(chan) {\n return this.request(`${this.prefix}get_chan_info`, [chan]);\n }\n /**\n * Gets a map of buffer-local |user-commands|.\n */\n get commands() {\n return this.getCommands();\n }\n /**\n * Gets a map of buffer-local |user-commands|.\n *\n * @param {Object} options Optional parameters (currently not used)\n * @return {Object} Map of maps describing commands\n */\n getCommands(options = {}) {\n return this.request(`${this.prefix}get_commands`, [options]);\n }\n /**\n * Gets the current list of tabpage handles\n *\n * @return {Tabpage[]} List of tagpage handles\n */\n get tabpages() {\n return this.request(`${this.prefix}list_tabpages`);\n }\n /**\n * Gets the window tabpage\n *\n * @return {Tabpage} Tagpage that contains the window\n */\n get tabpage() {\n return createChainableApi_1.createChainableApi.call(this, 'Tabpage', Tabpage_1.Tabpage, () => this.request(`${this.prefix}get_current_tabpage`));\n }\n /**\n * Sets the current tabpage\n */\n set tabpage(tabpage) {\n this.request(`${this.prefix}set_current_tabpage`, [tabpage]);\n }\n /**\n * Gets the current list of window handles\n *\n * @return {Window[]} List of window handles\n */\n get windows() {\n return this.getWindows();\n }\n /**\n * Gets the current window\n *\n * @return {Window} Window handle\n */\n get window() {\n return this.getWindow();\n }\n /**\n * Sets the current window\n *\n * @param {Window} Window handle\n */\n set window(win) {\n this.setWindow(win);\n }\n /**\n * Gets the current list of window handles\n *\n * @return {Window[]} List of window handles\n */\n getWindows() {\n return this.request(`${this.prefix}list_wins`);\n }\n /**\n * Gets the current window\n *\n * @return {Window} Window handle\n */\n getWindow() {\n return createChainableApi_1.createChainableApi.call(this, 'Window', Window_1.Window, () => this.request(`${this.prefix}get_current_win`));\n }\n /**\n * Sets the current window\n *\n * @param {Window} Window handle\n */\n setWindow(win) {\n // Throw error if win is not instance of Window?\n return this.request(`${this.prefix}set_current_win`, [win]);\n }\n /**\n * Gets the paths contained in \"runtimepath\"\n *\n * @return {String[]} List of paths\n */\n get runtimePaths() {\n return this.request(`${this.prefix}list_runtime_paths`);\n }\n /**\n * Changes the global working directory\n *\n * @param {String} Directory path\n *\n */\n set dir(dir) {\n this.request(`${this.prefix}set_current_dir`, [dir]);\n }\n /**\n * Gets the current line\n *\n * @return {String} Current line string\n */\n get line() {\n return this.getLine();\n }\n /**\n * Sets current line\n *\n * @param {String} line Line contents\n */\n set line(line) {\n // Doing this to satisfy TS requirement that get/setters have to be same type\n if (typeof line === 'string') {\n this.setLine(line);\n }\n }\n /**\n * Gets the current line\n *\n * @return {String} Current line string\n */\n getLine() {\n return this.request(`${this.prefix}get_current_line`);\n }\n /**\n * Sets current line\n *\n * @param {String} line Line contents\n */\n setLine(line) {\n return this.request(`${this.prefix}set_current_line`, [line]);\n }\n /**\n * Gets a list of global (non-buffer-local) |mapping| definitions.\n *\n * @param {String} mode Mode short-name (\"n\", \"i\", \"v\", ...)\n * @return {Object[]} Array of maparg()-like dictionaries describing mappings. The \"buffer\" key is always zero.\n */\n getKeymap(mode) {\n return this.request(`${this.prefix}get_keymap`, [mode]);\n }\n /**\n * Gets the current mode. |mode()| \"blocking\" is true if Nvim is waiting for input.\n *\n * @return {Object} Dictionary { \"mode\": String, \"blocking\": Boolean }\n */\n get mode() {\n return this.request(`${this.prefix}get_mode`);\n }\n /**\n * Gets map of defined colors\n *\n * @return {Object} Color map\n */\n get colorMap() {\n return this.request(`${this.prefix}get_color_map`);\n }\n /**\n * Get color by name\n *\n * @param {String} name Color name\n * @return {Number} Color value\n */\n getColorByName(name) {\n return this.request(`${this.prefix}get_color_by_name`, [name]);\n }\n /**\n * Get highlight by name or id\n *\n * @param {String|Number} nameOrId Name or ID\n * @param {Boolean} isRgb Should export RGB colors\n * @return {Object} Highlight definition map\n */\n getHighlight(nameOrId, isRgb = true) {\n const functionName = typeof nameOrId === 'string' ? 'by_name' : 'by_id';\n return this.request(`${this.prefix}get_hl_${functionName}`, [\n nameOrId,\n isRgb,\n ]);\n }\n /**\n * Get highlight definition by name\n *\n * @param {String} name Highlight group name\n * @param {Boolean} isRgb Should export RGB colors\n * @return {Object} Highlight definition map\n */\n getHighlightByName(name, isRgb = true) {\n return this.request(`${this.prefix}get_hl_by_name`, [name, isRgb]);\n }\n /**\n * Get highlight definition by id |hlID()|\n *\n * @param {Number} id Highlight id as returned by |hlID()|\n * @param {Boolean} isRgb Should export RGB colors\n * @return {Object} Highlight definition map\n */\n getHighlightById(id, isRgb = true) {\n return this.request(`${this.prefix}get_hl_by_id`, [id, isRgb]);\n }\n /**\n * Deletes the current line\n */\n deleteCurrentLine() {\n return this.request(`${this.prefix}del_current_line`);\n }\n /**\n * Evaluates a VimL expression (:help expression). Dictionaries\n * and Lists are recursively expanded. On VimL error: Returns a\n * generic error; v:errmsg is not updated.\n *\n */\n eval(expr) {\n return this.request(`${this.prefix}eval`, [expr]);\n }\n /**\n * Executes lua, it's possible neovim client does not support this\n */\n lua(code, args = []) {\n const _args = Array.isArray(args) ? args : [args];\n return this.request(`${this.prefix}execute_lua`, [code, _args]);\n }\n /**\n * Alias for `lua()` to be consistent with neovim API\n */\n executeLua(code, args = []) {\n return this.lua(code, args);\n }\n /**\n * Calls a VimL |Dictionary-function| with the given arguments.\n *\n * On execution error: fails with VimL error, does not update v:errmsg.\n */\n callDictFunction(dict, fname, args = []) {\n const _args = Array.isArray(args) ? args : [args];\n return this.request(`${this.prefix}call_dict_function`, [\n dict,\n fname,\n _args,\n ]);\n }\n /**\n * Calls a VimL function with the given arguments.\n *\n * On execution error: fails with VimL error, does not update v:errmsg.\n */\n call(fname, args = []) {\n const _args = Array.isArray(args) ? args : [args];\n return this.request(`${this.prefix}call_function`, [fname, _args]);\n }\n /**\n * Alias for `call`\n */\n callFunction(fname, args = []) {\n return this.call(fname, args);\n }\n /**\n * Calls many API methods atomically.\n *\n * This has two main usages:\n * - To perform several requests from an async context atomically, i.e. without\n * interleaving redraws, RPC requests from other clients, or user interactions\n * (however API methods may trigger autocommands or event processing which have\n * such side-effects, e.g. |:sleep| may wake timers)\n *\n * - To minimize RPC overhead (roundtrips) of a sequence of many requests.\n */\n callAtomic(calls) {\n return this.request(`${this.prefix}call_atomic`, [calls]);\n }\n /**\n * Executes an ex-command.\n *\n * On execution error: fails with VimL error, does not update v:errmsg.\n *\n * @param {String} arg Ex-command string\n */\n command(arg) {\n return this.request(`${this.prefix}command`, [arg]);\n }\n /**\n * Executes an ex-command and returns its (non-error) output.\n * Shell |:!| output is not captured.\n *\n * On execution error: fails with VimL error, does not update v:errmsg.\n */\n commandOutput(arg) {\n return this.request(`${this.prefix}command_output`, [arg]);\n }\n /**\n * Gets a v: variable\n *\n * @param {String} name Variable name\n * @return {VimValue} Variable value\n */\n getVvar(name) {\n return this.request(`${this.prefix}get_vvar`, [name]);\n }\n /**\n * Sets a v: variable, if it is not readonly.\n *\n * @param {String} name Variable name\n * @param {VimValue} value Variable value\n */\n setVvar(name, value) {\n return this.request(`${this.prefix}set_vvar`, [name, value]);\n }\n /**\n * Sends input-keys to Nvim, subject to various quirks controlled\n * by `mode` flags. This is a blocking call, unlike |nvim_input()|.\n *\n * On execution error: does not fail, but updates v:errmsg.\n *\n * @param {String} keys To be typed\n * @param {String} mode Behavior flags, see |feedkeys()|\n * @param {Boolean} escapeCsi If true, escape K_SPECIAL/CSI bytes in `keys`\n */\n feedKeys(keys, mode, escapeCsi) {\n return this.request(`${this.prefix}feedkeys`, [keys, mode, escapeCsi]);\n }\n /**\n * Queues raw user-input. Unlike |nvim_feedkeys()|, this uses a\n * low-level input buffer and the call is non-blocking (input is\n * processed asynchronously by the eventloop).\n *\n * On execution error: does not fail, but updates v:errmsg.\n *\n * Note:\n * |keycodes| like are translated, so \"<\" is special. To\n * input a literal \"<\", send .\n *\n * Note:\n * For mouse events use |nvim_input_mouse()|. The pseudokey\n * form \"\" is deprecated since\n * |api-level| 6.\n *\n * @param {String} keys To be typed\n */\n input(keys) {\n return this.request(`${this.prefix}input`, [keys]);\n }\n /**\n * Send mouse event from GUI.\n *\n * The call is non-blocking. It doesn't wait on any resulting\n * action, but queues the event to be processed soon by the event\n * loop.\n *\n * Note:\n * Currently this doesn't support \"scripting\" multiple mouse\n * events by calling it multiple times in a loop: the\n * intermediate mouse positions will be ignored. It should be\n * used to implement real-time mouse input in a GUI. The\n * deprecated pseudokey form (\"\") of\n * |nvim_input()| has the same limitiation.\n *\n * @param {String} button Mouse button: one of \"left\", \"right\", \"middle\", \"wheel\".\n * @param {String} action For ordinary buttons, one of \"press\", \"drag\", \"release\".\n * For the wheel, one of \"up\", \"down\", \"left\", \"right\".\n * @param {String} modifier String of modifiers each represented by a\n * single char. The same specifiers are used as\n * for a key press, except that the \"-\" separator\n * is optional, so \"C-A-\", \"c-a\" and \"CA\" can all\n * be used to specify Ctrl+Alt+click.\n * @param {Number} grid Grid number if the client uses |ui-multigrid|, else 0.\n * @param {Number} row Mouse row-position (zero-based, like redraw events)\n * @param {Number} col Mouse column-position (zero-based, like redraw events)\n */\n inputMouse(button, action, modifier, grid, row, col) {\n return this.request(`${this.prefix}input_mouse`, [\n button,\n action,\n modifier,\n grid,\n row,\n col,\n ]);\n }\n /**\n * Parse a VimL Expression\n *\n * TODO: return type, see :help\n */\n parseExpression(expr, flags, highlight) {\n return this.request(`${this.prefix}parse_expression`, [\n expr,\n flags,\n highlight,\n ]);\n }\n /**\n * Gets info describing process `pid`.\n *\n * @param {Number} pid pid\n * @return {Proc} Map of process properties, or null if process not found\n */\n getProc(pid) {\n return this.request(`${this.prefix}get_proc`, [pid]);\n }\n /**\n * Gets the immediate children of process `pid`\n *\n * @return {Proc[]} Array of child process ids, empty if process not found\n */\n getProcChildren(pid) {\n return this.request(`${this.prefix}get_proc_children`, [pid]);\n }\n /**\n * Replaces terminal codes and |keycodes| (, , ...) in a\n * string with the internal representation.\n *\n * @param {String} str String to be converted.\n * @param {Boolean} fromPart Legacy Vim parameter. Usually true.\n * @param {Boolean} doIt Also translate . Ignored if `special` is false.\n * @param {Boolean} special Replace |keycodes|, e.g. becomes a \"\\n\" char.\n */\n replaceTermcodes(str, fromPart, doIt, special) {\n return this.request(`${this.prefix}replace_termcodes`, [\n str,\n fromPart,\n doIt,\n special,\n ]);\n }\n /**\n * Calculates the number of display cells occupied by `text`.\n * counts as one cell.\n *\n * @param {String} str Some text\n * @return {Number} Number of cells\n */\n strWidth(str) {\n return this.request(`${this.prefix}strwidth`, [str]);\n }\n /** Write to output buffer */\n outWrite(str) {\n return this.request(`${this.prefix}out_write`, [str]);\n }\n outWriteLine(str) {\n return this.outWrite(`${str}\\n`);\n }\n /** Write to error buffer */\n errWrite(str) {\n return this.request(`${this.prefix}err_write`, [str]);\n }\n /** Write to error buffer */\n errWriteLine(str) {\n return this.request(`${this.prefix}err_writeln`, [str]);\n }\n /**\n * Gets a list of dictionaries representing attached UIs.\n *\n * @return {Ui[]} Array of UI dictionaries\n * Each dictionary has the following keys:\n * \"height\" requested height of the UI\n * \"width\" requested width of the UI\n * \"rgb\" whether the UI uses rgb colors (false implies cterm colors)\n * \"ext_...\" Requested UI extensions, see |ui-options|\n * \"chan\" Channel id of remote UI (not present for TUI)\n */\n get uis() {\n return this.request(`${this.prefix}list_uis`);\n }\n uiAttach(width, height, options) {\n return this.request(`${this.prefix}ui_attach`, [width, height, options]);\n }\n uiDetach() {\n return this.request(`${this.prefix}ui_detach`, []);\n }\n /**\n * TODO: Documentation\n *\n * @param {Number} width The new requested width\n * @param {Number} height The new requested height\n */\n uiTryResize(width, height) {\n return this.request(`${this.prefix}ui_try_resize`, [width, height]);\n }\n /**\n * Tell Nvim to resize a grid. Triggers a grid_resize event with\n * the requested grid size or the maximum size if it exceeds size\n * limits.\n *\n * On invalid grid handle, fails with error.\n *\n * @param {Number} grid The handle of the grid to be changed\n * @param {Number} width The new requested width\n * @param {Number} height The new requested height\n */\n uiTryResizeGrid(grid, width, height) {\n return this.request(`${this.prefix}ui_try_resize_grid`, [\n grid,\n width,\n height,\n ]);\n }\n /**\n * Set UI Option\n */\n uiSetOption(name, value) {\n return this.request(`${this.prefix}ui_set_option`, [name, value]);\n }\n /**\n * Subscribe to nvim event broadcasts\n *\n * @param {String} event Event type string\n */\n subscribe(event) {\n return this.request(`${this.prefix}subscribe`, [event]);\n }\n /**\n * Unsubscribe to nvim event broadcasts\n *\n * @param {String} event Event type string\n */\n unsubscribe(event) {\n return this.request(`${this.prefix}unsubscribe`, [event]);\n }\n /**\n * Identify the client for nvim. Can be called more than once,\n * but subsequent calls will remove earlier info, which should be\n * resent if it is still valid. (This could happen if a library\n * first identifies the channel, and a plugin using that library\n * later overrides that info)\n *\n */\n setClientInfo(name, version, type, methods, attributes) {\n this.request(`${this.prefix}set_client_info`, [\n name,\n version,\n type,\n methods,\n attributes,\n ]);\n }\n /**\n * Creates a new namespace, or gets an existing one.\n *\n * Namespaces are used for buffer highlights and virtual text,\n * see |nvim_buf_add_highlight()| and |nvim_buf_set_virtual_text()|.\n *\n * Namespaces can be named or anonymous. If `name` matches an\n * existing namespace, the associated id is returned. If `name`\n * is an empty string a new, anonymous namespace is created.\n *\n * @param {String} name Namespace name or empty string\n * @return {Number} Namespace id\n */\n createNamespace(name = '') {\n return this.request(`${this.prefix}create_namespace`, [name]);\n }\n /**\n * Alias for `getNamespaces()`\n */\n get namespaces() {\n return this.getNamespaces();\n }\n /**\n * Gets existing, non-anonymous namespaces.\n *\n * @return {Object} dict that maps from names to namespace ids.\n */\n getNamespaces() {\n return this.request(`${this.prefix}get_namespaces`);\n }\n /**\n * Selects an item in the completion popupmenu.\n *\n * If |ins-completion| is not active this API call is silently\n * ignored. Useful for an external UI using |ui-popupmenu| to\n * control the popupmenu with the mouse. Can also be used in a\n * mapping; use |:map-cmd| to ensure the mapping doesn't\n * end completion mode.\n *\n * @param {Number} item Index (zero-based) of the item to select.\n * Value of -1 selects nothing and restores the original text.\n * @param {Boolean} insert Whether the selection should be inserted in the buffer.\n * @param {Boolean} finish Finish the completion and dismiss the popupmenu.\n * Implies `insert`.\n * @param {Object} opts Optional parameters. Reserved for future use.\n */\n selectPopupmenuItem(item, insert, finish, opts = {}) {\n return this.request(`${this.prefix}select_popupmenu_item`, [\n item,\n insert,\n finish,\n opts,\n ]);\n }\n /**\n * Creates a new, empty, unnamed buffer.\n *\n * @param {Boolean} listed Controls 'buflisted'\n * @param {Boolean} scratch Creates a \"throwaway\" |scratch-buffer| for temporary work (always 'nomodified')\n * @return {Buffer|Number} Buffer handle, or 0 on error\n */\n createBuf(listed, scratch) {\n return this.request(`${this.prefix}create_buf`, [listed, scratch]);\n }\n /**\n * Public alias for `createBuf`\n */\n createBuffer(listed, scratch) {\n return this.createBuf(listed, scratch);\n }\n /**\n * Open a new window.\n * Currently this is used to open floating and external windows.\n * Floats are windows that are drawn above the split layout, at\n * some anchor position in some other window. Floats can be draw\n * internally or by external GUI with the |ui-multigrid|\n * extension. External windows are only supported with multigrid\n * GUIs, and are displayed as separate top-level windows.\n *\n * Exactly one of `external` and `relative` must be specified.\n *\n * @param {Buffer} buffer Handle of buffer to be displayed in the window\n * @param {Boolean} enter Whether the window should be entered (made the current window)\n * @Param {Object} options Options object\n * @return {Window|Number} The Window handle or 0 when error\n */\n openWin(buffer, enter, options) {\n return this.request(`${this.prefix}open_win`, [buffer, enter, options]);\n }\n /**\n * Public alias for `openWin`\n */\n openWindow(buffer, enter, options) {\n return this.openWin(buffer, enter, options);\n }\n /**\n * Configure window position. Currently this is only used to\n * configure floating and external windows (including changing a\n * split window to these types).\n *\n * See documentation at |nvim_open_win()|, for the meaning of\n * parameters. Pass in -1 for 'witdh' and 'height' to keep\n * exiting size.\n *\n * When reconfiguring a floating window, absent option keys will\n * not be changed. The following restriction apply: `row`, `col`\n * and `relative` must be reconfigured together. Only changing a\n * subset of these is an error.\n *\n * @param {Window} window Window handle\n * @param {Number} width Width of window (in character cells)\n * @param {Number} height Height of window (in character cells)\n * @Param {Object} options Options object\n */\n winConfig(window, options = {}) {\n return window.config(options);\n }\n /**\n * Public Alias for `winConfig`\n */\n windowConfig(window, options = {}) {\n return this.winConfig(window, options);\n }\n /**\n * Closes window\n *\n * @param {Boolean} force Force close window\n */\n winClose(window, force) {\n return window.close(force);\n }\n /**\n * Public alias for `winClose`\n */\n windowClose(window, force) {\n return this.winClose(window, force);\n }\n /**\n * Quit nvim\n */\n quit() {\n this.command('qa!');\n }\n}\nexports.Neovim = Neovim;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Base_1 = require(\"./Base\");\nconst types_1 = require(\"./types\");\nconst createChainableApi_1 = require(\"./helpers/createChainableApi\");\nconst Window_1 = require(\"./Window\");\nclass Tabpage extends Base_1.BaseApi {\n constructor() {\n super(...arguments);\n this.prefix = types_1.Metadata[types_1.ExtType.Tabpage].prefix;\n }\n /** Returns all windows of tabpage */\n get windows() {\n return this.request(`${this.prefix}list_wins`, [this]);\n }\n /** Gets the current window of tabpage */\n get window() {\n // Require is here otherwise we get circular refs\n return createChainableApi_1.createChainableApi.call(this, 'Window', Window_1.Window, () => this.request(`${this.prefix}get_win`, [this]));\n }\n /** Is current tabpage valid */\n get valid() {\n return this.request(`${this.prefix}is_valid`, [this]);\n }\n /** Tabpage number */\n get number() {\n return this.request(`${this.prefix}get_number`, [this]);\n }\n /** Invalid */\n getOption() {\n this.logger.error('Tabpage does not have `getOption`');\n }\n /** Invalid */\n setOption() {\n this.logger.error('Tabpage does not have `setOption`');\n }\n}\nexports.Tabpage = Tabpage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Base_1 = require(\"./Base\");\nconst types_1 = require(\"./types\");\nconst createChainableApi_1 = require(\"./helpers/createChainableApi\");\nconst Tabpage_1 = require(\"./Tabpage\");\nconst Buffer_1 = require(\"./Buffer\");\nclass Window extends Base_1.BaseApi {\n constructor() {\n super(...arguments);\n this.prefix = types_1.Metadata[types_1.ExtType.Window].prefix;\n }\n /**\n * The windowid that not change within a Vim session\n */\n get id() {\n return this.data;\n }\n /** Get current buffer of window */\n get buffer() {\n return createChainableApi_1.createChainableApi.call(this, 'Buffer', Buffer_1.Buffer, () => this.request(`${this.prefix}get_buf`, [this]));\n }\n /** Get the Tabpage that contains the window */\n get tabpage() {\n return createChainableApi_1.createChainableApi.call(this, 'Tabpage', Tabpage_1.Tabpage, () => this.request(`${this.prefix}get_tabpage`, [this]));\n }\n /** Get cursor position */\n get cursor() {\n return this.request(`${this.prefix}get_cursor`, [this]);\n }\n /** Set cursor position */\n set cursor(pos) {\n this.request(`${this.prefix}set_cursor`, [this, pos]);\n }\n /** Get window height by number of rows */\n get height() {\n return this.request(`${this.prefix}get_height`, [this]);\n }\n /** Set window height by number of rows */\n set height(height) {\n this.request(`${this.prefix}set_height`, [this, height]);\n }\n /** Get window width by number of columns */\n get width() {\n return this.request(`${this.prefix}get_width`, [this]);\n }\n /** Set window width by number of columns */\n set width(width) {\n this.request(`${this.prefix}set_width`, [this, width]);\n }\n /** Get window position */\n get position() {\n return this.request(`${this.prefix}get_position`, [this]);\n }\n /** 0-indexed, on-screen window position(row) in display cells. */\n get row() {\n return this.request(`${this.prefix}get_position`, [this]).then(position => position[0]);\n }\n /** 0-indexed, on-screen window position(col) in display cells. */\n get col() {\n return this.request(`${this.prefix}get_position`, [this]).then(position => position[1]);\n }\n /** Is window valid */\n get valid() {\n return this.request(`${this.prefix}is_valid`, [this]);\n }\n /** Get window number */\n get number() {\n return this.request(`${this.prefix}get_number`, [this]);\n }\n /**\n * Closes window\n *\n * @param {Boolean} force Force close window\n */\n close(force = false) {\n return this.request(`${this.prefix}close`, [this, force]);\n }\n /**\n * Configure window position. Currently this is only used to\n * configure floating and external windows (including changing a\n * split window to these types).\n *\n * See documentation at |nvim_open_win()|, for the meaning of\n * parameters. Pass in -1 for 'witdh' and 'height' to keep\n * exiting size.\n *\n * When reconfiguring a floating window, absent option keys will\n * not be changed. The following restriction apply: `row`, `col`\n * and `relative` must be reconfigured together. Only changing a\n * subset of these is an error.\n *\n * @param {Window} window Window handle\n * @Param {Object} options Options object\n */\n config(options = {}) {\n return this.request(`${this.prefix}set_config`, [this, options]);\n }\n}\nexports.Window = Window;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst transport_1 = require(\"../utils/transport\");\nconst Neovim_1 = require(\"./Neovim\");\nclass NeovimClient extends Neovim_1.Neovim {\n constructor(options = {}) {\n // Neovim has no `data` or `metadata`\n super({\n logger: options.logger,\n });\n this.attachedBuffers = new Map();\n const transport = options.transport || new transport_1.Transport();\n this.setTransport(transport);\n this.requestQueue = [];\n this.transportAttached = false;\n this.handleRequest = this.handleRequest.bind(this);\n this.handleNotification = this.handleNotification.bind(this);\n }\n /** Attaches msgpack to read/write streams * */\n attach({ reader, writer, }) {\n this.transport.attach(writer, reader, this);\n this.transportAttached = true;\n this.setupTransport();\n }\n get isApiReady() {\n return this.transportAttached && typeof this._channelId !== 'undefined';\n }\n get channelId() {\n return (() => __awaiter(this, void 0, void 0, function* () {\n yield this._isReady;\n return this._channelId;\n }))();\n }\n isAttached(buffer) {\n const key = `${buffer.data}`;\n return this.attachedBuffers.has(key);\n }\n handleRequest(method, args, resp, ...restArgs) {\n this.logger.info('handleRequest: ', method);\n // If neovim API is not generated yet and we are not handle a 'specs' request\n // then queue up requests\n //\n // Otherwise emit as normal\n if (!this.isApiReady && method !== 'specs') {\n this.requestQueue.push({\n type: 'request',\n args: [method, args, resp, ...restArgs],\n });\n }\n else {\n this.emit('request', method, args, resp);\n }\n }\n emitNotification(method, args) {\n if (method.endsWith('_event')) {\n if (!method.startsWith('nvim_buf_')) {\n this.logger.error('Unhandled event: ', method);\n return;\n }\n const shortName = method.replace(/nvim_buf_(.*)_event/, '$1');\n const [buffer] = args;\n const bufferKey = `${buffer.data}`;\n if (!this.attachedBuffers.has(bufferKey)) {\n // this is a problem\n return;\n }\n const bufferMap = this.attachedBuffers.get(bufferKey);\n const cbs = bufferMap.get(shortName) || [];\n cbs.forEach(cb => cb(...args));\n // Handle `nvim_buf_detach_event`\n // clean `attachedBuffers` since it will no longer be attached\n if (shortName === 'detach') {\n this.attachedBuffers.delete(bufferKey);\n }\n }\n else {\n this.emit('notification', method, args);\n }\n }\n handleNotification(method, args, ...restArgs) {\n this.logger.info('handleNotification: ', method);\n // If neovim API is not generated yet then queue up requests\n //\n // Otherwise emit as normal\n if (!this.isApiReady) {\n this.requestQueue.push({\n type: 'notification',\n args: [method, args, ...restArgs],\n });\n }\n else {\n this.emitNotification(method, args);\n }\n }\n // Listen and setup handlers for transport\n setupTransport() {\n if (!this.transportAttached) {\n throw new Error('Not attached to input/output');\n }\n this.transport.on('request', this.handleRequest);\n this.transport.on('notification', this.handleNotification);\n this.transport.on('detach', () => {\n this.emit('disconnect');\n this.transport.removeAllListeners('request');\n this.transport.removeAllListeners('notification');\n this.transport.removeAllListeners('detach');\n });\n this._isReady = this.generateApi();\n }\n requestApi() {\n return new Promise((resolve, reject) => {\n this.transport.request('nvim_get_api_info', [], (err, res) => {\n if (err) {\n reject(err);\n }\n else {\n resolve(res);\n }\n });\n });\n }\n // Request API from neovim and augment this current class to add these APIs\n generateApi() {\n return __awaiter(this, void 0, void 0, function* () {\n let results;\n try {\n results = yield this.requestApi();\n }\n catch (err) {\n this.logger.error('Could not get vim api results');\n this.logger.error(err);\n }\n if (results) {\n try {\n const [channelId /* , encodedMetadata */] = results;\n // const metadata = encodedMetadata;\n // this.logger.debug(`$$$: ${metadata}`);\n // Perform sanity check for metadata types\n // Object.keys(metadata.types).forEach((name: string) => {\n // const metaDataForType = metadata.types[name]; // eslint-disable-line @typescript-eslint/no-unused-vars\n // TODO: check `prefix` and `id`\n // });\n this._channelId = channelId;\n // register the non-queueing handlers\n // dequeue any pending RPCs\n this.requestQueue.forEach(pending => {\n if (pending.type === 'notification') {\n this.emitNotification(pending.args[0], pending.args[1]);\n }\n else {\n this.emit(pending.type, ...pending.args);\n }\n });\n this.requestQueue = [];\n return true;\n }\n catch (err) {\n this.logger.error(`Could not dynamically generate neovim API: ${err}`, {\n error: err,\n });\n this.logger.error(err.stack);\n return null;\n }\n }\n return null;\n });\n }\n attachBuffer(buffer, eventName, cb) {\n const bufferKey = `${buffer.data}`;\n if (!this.attachedBuffers.has(bufferKey)) {\n this.attachedBuffers.set(bufferKey, new Map());\n }\n const bufferMap = this.attachedBuffers.get(bufferKey);\n if (!bufferMap.get(eventName)) {\n bufferMap.set(eventName, []);\n }\n const cbs = bufferMap.get(eventName);\n if (cbs.indexOf(cb) !== -1)\n return cb;\n cbs.push(cb);\n bufferMap.set(eventName, cbs);\n this.attachedBuffers.set(bufferKey, bufferMap);\n return cb;\n }\n /**\n * Returns `true` if buffer should be detached\n */\n detachBuffer(buffer, eventName, cb) {\n const bufferKey = `${buffer.data}`;\n const bufferMap = this.attachedBuffers.get(bufferKey);\n if (!bufferMap)\n return false;\n const handlers = (bufferMap.get(eventName) || []).filter(handler => handler !== cb);\n // Remove eventName listener from bufferMap if no more handlers\n if (!handlers.length) {\n bufferMap.delete(eventName);\n }\n else {\n bufferMap.set(eventName, handlers);\n }\n if (!bufferMap.size) {\n this.attachedBuffers.delete(bufferKey);\n return true;\n }\n return false;\n }\n}\nexports.NeovimClient = NeovimClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Base_1 = require(\"../Base\");\nconst baseProperties = Object.getOwnPropertyNames(Base_1.BaseApi.prototype);\nfunction createChainableApi(name, Type, requestPromise, chainCallPromise) {\n // re-use current promise if not resolved yet\n if (this[`${name}Promise`] &&\n this[`${name}Promise`].status === 0 &&\n this[`${name}Proxy`]) {\n return this[`${name}Proxy`];\n }\n this[`${name}Promise`] = requestPromise();\n // TODO: Optimize this\n // Define properties on the promise for devtools\n [...baseProperties, ...Object.getOwnPropertyNames(Type.prototype)].forEach(key => {\n Object.defineProperty(this[`${name}Promise`], key, {\n enumerable: true,\n writable: true,\n configurable: true,\n });\n });\n const proxyHandler = {\n get: (target, prop) => {\n // XXX which takes priority?\n // Check if property is property of an API object (Window, Buffer, Tabpage, etc)\n // If it is, then we return a promise of results of the call on that API object\n // i.e. await this.buffer.name will return a promise of buffer name\n const isOnPrototype = Object.prototype.hasOwnProperty.call(Type.prototype, prop) ||\n Object.prototype.hasOwnProperty.call(Base_1.BaseApi.prototype, prop);\n // Inspect the property descriptor to see if it is a getter or setter\n // Otherwise when we check if property is a method, it will call the getter\n const descriptor = Object.getOwnPropertyDescriptor(Type.prototype, prop) ||\n Object.getOwnPropertyDescriptor(Base_1.BaseApi.prototype, prop);\n const isGetter = descriptor &&\n (typeof descriptor.get !== 'undefined' ||\n typeof descriptor.set !== 'undefined');\n // XXX: the promise can potentially be stale\n // Check if resolved, else do a refresh request for current buffer?\n if (Type && isOnPrototype) {\n if (isOnPrototype &&\n !isGetter &&\n ((prop in Type.prototype &&\n typeof Type.prototype[prop] === 'function') ||\n (prop in Base_1.BaseApi.prototype &&\n typeof Base_1.BaseApi.prototype[prop] === 'function'))) {\n // If property is a method on Type, we need to invoke it with captured args\n return (...args) => this[`${name}Promise`].then((res) => res[prop].call(res, ...args));\n }\n // Otherwise return the property requested after promise is resolved\n return ((chainCallPromise && chainCallPromise()) ||\n this[`${name}Promise`].then((res) => res[prop]));\n }\n if (prop in target) {\n // Forward rest of requests to Promise\n if (typeof target[prop] === 'function') {\n return target[prop].bind(target);\n }\n return target[prop];\n }\n return null;\n },\n set: (target, prop, value, receiver) => {\n // eslint-disable-next-line no-param-reassign\n if (receiver &&\n (receiver instanceof Promise || ('then' in receiver))) {\n receiver.then(obj => {\n if (prop in obj) {\n // eslint-disable-next-line no-param-reassign\n obj[prop] = value;\n }\n });\n }\n else {\n // eslint-disable-next-line no-param-reassign\n target[prop] = value;\n }\n // Maintain default assignment behavior\n return true;\n },\n };\n // Proxy the promise so that we can check for chained API calls\n this[`${name}Proxy`] = new Proxy(this[`${name}Promise`], proxyHandler);\n return this[`${name}Proxy`];\n}\nexports.createChainableApi = createChainableApi;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Neovim_1 = require(\"./Neovim\");\nexports.Neovim = Neovim_1.Neovim;\nvar client_1 = require(\"./client\");\nexports.NeovimClient = client_1.NeovimClient;\nvar Buffer_1 = require(\"./Buffer\");\nexports.Buffer = Buffer_1.Buffer;\nvar Window_1 = require(\"./Window\");\nexports.Window = Window_1.Window;\nvar Tabpage_1 = require(\"./Tabpage\");\nexports.Tabpage = Tabpage_1.Tabpage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Buffer_1 = require(\"./Buffer\");\nconst Window_1 = require(\"./Window\");\nconst Tabpage_1 = require(\"./Tabpage\");\nvar ExtType;\n(function (ExtType) {\n ExtType[ExtType[\"Buffer\"] = 0] = \"Buffer\";\n ExtType[ExtType[\"Window\"] = 1] = \"Window\";\n ExtType[ExtType[\"Tabpage\"] = 2] = \"Tabpage\";\n})(ExtType = exports.ExtType || (exports.ExtType = {}));\nexports.Metadata = [\n {\n constructor: Buffer_1.Buffer,\n name: 'Buffer',\n prefix: 'nvim_buf_',\n },\n {\n constructor: Window_1.Window,\n name: 'Window',\n prefix: 'nvim_win_',\n },\n {\n constructor: Tabpage_1.Tabpage,\n name: 'Tabpage',\n prefix: 'nvim_tabpage_',\n },\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attach_1 = require(\"./attach/attach\");\nexports.attach = attach_1.attach;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst net_1 = require(\"net\");\nconst client_1 = require(\"../api/client\");\nfunction attach({ reader: _reader, writer: _writer, proc, socket, options = {}, }) {\n let writer;\n let reader;\n if (socket) {\n const client = net_1.createConnection(socket);\n writer = client;\n reader = client;\n }\n else if (_reader && _writer) {\n writer = _writer;\n reader = _reader;\n }\n else if (proc) {\n writer = proc.stdin;\n reader = proc.stdout;\n }\n if (writer && reader) {\n // eslint-disable-next-line global-require\n const loggerInstance = options.logger || require('../utils/logger').logger; // lazy load to winston only if needed\n const neovim = new client_1.NeovimClient({ logger: loggerInstance });\n neovim.attach({\n writer,\n reader,\n });\n return neovim;\n }\n throw new Error('Invalid arguments, could not attach');\n}\nexports.attach = attach;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst logger_1 = require(\"../utils/logger\");\nfunction callable(fn) {\n if (typeof fn === 'function') {\n return fn;\n }\n if (Array.isArray(fn) && fn.length === 2) {\n return function (...args) {\n return fn[1].apply(fn[0], args);\n };\n }\n throw new Error();\n}\nexports.callable = callable;\nclass NvimPlugin {\n constructor(filename, plugin, nvim) {\n this.filename = filename;\n this.nvim = nvim;\n this.dev = false;\n this.alwaysInit = false;\n this.autocmds = {};\n this.commands = {};\n this.functions = {};\n // Simplifies class and decorator style plugins\n try {\n // eslint-disable-next-line new-cap\n this.instance = new plugin(this);\n }\n catch (err) {\n if (err instanceof TypeError) {\n this.instance = plugin(this);\n }\n else {\n throw err;\n }\n }\n }\n setOptions(options) {\n this.dev = options.dev === undefined ? this.dev : options.dev;\n this.alwaysInit = options.alwaysInit;\n }\n // Cache module (in dev mode will clear the require module cache)\n get shouldCacheModule() {\n return !this.dev;\n }\n registerAutocmd(name, fn, options) {\n if (!options.pattern) {\n logger_1.logger.error(`registerAutocmd expected pattern option for ${name}`);\n return;\n }\n const spec = {\n type: 'autocmd',\n name,\n sync: options && !!options.sync,\n opts: {},\n };\n ['pattern', 'eval'].forEach((option) => {\n if (options && typeof options[option] !== 'undefined') {\n spec.opts[option] = options[option];\n }\n });\n try {\n this.autocmds[`${name} ${options.pattern}`] = {\n fn: callable(fn),\n spec,\n };\n }\n catch (err) {\n logger_1.logger.error(`registerAutocmd expected callable argument for ${name}`);\n }\n }\n registerCommand(name, fn, options) {\n const spec = {\n type: 'command',\n name,\n sync: options && !!options.sync,\n opts: {},\n };\n ['range', 'nargs', 'complete'].forEach((option) => {\n if (options && typeof options[option] !== 'undefined') {\n spec.opts[option] = options[option];\n }\n });\n try {\n this.commands[name] = {\n fn: callable(fn),\n spec,\n };\n }\n catch (err) {\n logger_1.logger.error(`registerCommand expected callable argument for ${name}`);\n }\n }\n registerFunction(name, fn, options) {\n const spec = {\n type: 'function',\n name,\n sync: options && !!options.sync,\n opts: {},\n };\n ['range', 'eval'].forEach((option) => {\n if (options && typeof options[option] !== 'undefined') {\n spec.opts[option] = options[option];\n }\n });\n try {\n this.functions[name] = {\n fn: callable(fn),\n spec,\n };\n }\n catch (err) {\n logger_1.logger.error(`registerFunction expected callable argument for ${name}`);\n }\n }\n get specs() {\n const autocmds = Object.keys(this.autocmds).map(key => this.autocmds[key].spec);\n const commands = Object.keys(this.commands).map(key => this.commands[key].spec);\n const functions = Object.keys(this.functions).map(key => this.functions[key].spec);\n return autocmds.concat(commands).concat(functions);\n }\n handleRequest(name, type, args) {\n return __awaiter(this, void 0, void 0, function* () {\n let handlers;\n switch (type) {\n case 'autocmd':\n handlers = this.autocmds;\n break;\n case 'command':\n handlers = this.commands;\n break;\n case 'function':\n handlers = this.functions;\n break;\n default:\n const errMsg = `No handler for unknown type ${type}: \"${name}\" in ${this.filename}`;\n logger_1.logger.error(errMsg);\n throw new Error(errMsg);\n }\n if (handlers.hasOwnProperty(name)) {\n const handler = handlers[name];\n try {\n return handler.spec.sync\n ? handler.fn(...args)\n : yield handler.fn(...args);\n }\n catch (err) {\n const msg = `Error in plugin for ${type}:${name}: ${err.message}`;\n logger_1.logger.error(`${msg} (file: ${this.filename}, stack: ${err.stack})`);\n throw new Error(err);\n }\n }\n else {\n const errMsg = `Missing handler for ${type}: \"${name}\" in ${this.filename}`;\n logger_1.logger.error(errMsg);\n throw new Error(errMsg);\n }\n });\n }\n}\nexports.NvimPlugin = NvimPlugin;\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst path = __importStar(require(\"path\"));\nconst util = __importStar(require(\"util\"));\nconst vm = __importStar(require(\"vm\"));\nconst lodash_defaults_1 = __importDefault(require(\"lodash.defaults\"));\nconst lodash_omit_1 = __importDefault(require(\"lodash.omit\"));\nconst logger_1 = require(\"../utils/logger\");\nconst devnull_1 = require(\"../utils/devnull\");\nconst NvimPlugin_1 = require(\"./NvimPlugin\");\n// eslint-disable-next-line\nconst Module = require('module');\nconst REMOVED_GLOBALS = [\n 'reallyExit',\n 'abort',\n 'chdir',\n 'umask',\n 'setuid',\n 'setgid',\n 'setgroups',\n '_kill',\n 'EventEmitter',\n '_maxListeners',\n '_fatalException',\n 'exit',\n 'kill',\n];\nfunction removedGlobalStub(name) {\n return () => {\n throw new Error(`process.${name}() is not allowed in Plugin sandbox`);\n };\n}\n// @see node/lib/internal/module.js\nfunction makeRequireFunction() {\n const require = ((p) => this.require(p));\n require.resolve = (request) => Module._resolveFilename(request, this);\n require.main = process.mainModule;\n // Enable support to add extra extension types\n require.extensions = Module._extensions;\n require.cache = Module._cache;\n return require;\n}\n// @see node/lib/module.js\nfunction compileInSandbox(sandbox) {\n // eslint-disable-next-line\n return function (content, filename) {\n const require = makeRequireFunction.call(this);\n const dirname = path.dirname(filename);\n // remove shebang\n // eslint-disable-next-line\n const newContent = content.replace(/^\\#\\!.*/, '');\n const wrapper = Module.wrap(newContent);\n const compiledWrapper = vm.runInContext(wrapper, sandbox, { filename });\n const args = [this.exports, require, this, filename, dirname];\n return compiledWrapper.apply(this.exports, args);\n };\n}\nfunction createDebugFunction(filename) {\n return (...args) => {\n const debugId = path.basename(filename);\n const sout = util.format.apply(null, [`[${debugId}]`].concat(args));\n logger_1.logger.info(sout);\n };\n}\nfunction createSandbox(filename) {\n const module = new Module(filename);\n module.paths = Module._nodeModulePaths(filename);\n const sandbox = vm.createContext({\n module,\n console: {},\n });\n lodash_defaults_1.default(sandbox, global);\n // Redirect console calls into logger\n Object.keys(console).forEach((k) => {\n if (k === 'log') {\n sandbox.console.log = createDebugFunction(filename);\n }\n else if (k in logger_1.logger) {\n sandbox.console[k] = logger_1.logger[k];\n }\n });\n sandbox.require = function sandboxRequire(p) {\n const oldCompile = Module.prototype._compile;\n Module.prototype._compile = compileInSandbox(sandbox);\n const moduleExports = sandbox.module.require(p);\n Module.prototype._compile = oldCompile;\n return moduleExports;\n };\n // patch `require` in sandbox to run loaded module in sandbox context\n // if you need any of these, it might be worth discussing spawning separate processes\n sandbox.process = lodash_omit_1.default(process, REMOVED_GLOBALS);\n REMOVED_GLOBALS.forEach(name => {\n sandbox.process[name] = removedGlobalStub(name);\n });\n const devNull = new devnull_1.DevNull();\n // read-only umask\n sandbox.process.umask = (mask) => {\n if (typeof mask !== 'undefined') {\n throw new Error('Cannot use process.umask() to change mask (read-only)');\n }\n return process.umask();\n };\n sandbox.process.stdin = devNull;\n sandbox.process.stdout = devNull;\n sandbox.process.stderr = devNull;\n // Buffer is no longer an owned property of 'global' variable in Node.js v12 (#141)\n sandbox.Buffer = global.Buffer;\n return sandbox;\n}\n// inspiration drawn from Module\nfunction createPlugin(filename, nvim, options = {}) {\n try {\n const sandbox = createSandbox(filename);\n logger_1.logger.debug(`createPlugin.${filename}.clearCache: ${options && !options.cache}`);\n // Clear module from cache\n if (options && !options.cache) {\n try {\n delete Module._cache[require.resolve(filename)];\n }\n catch (err) {\n // possible this doesn't exist in cache, ignore\n }\n }\n // attempt to import plugin\n // Require plugin to export a class\n const defaultImport = sandbox.require(filename);\n const plugin = (defaultImport && defaultImport.default) || defaultImport;\n if (typeof plugin === 'function') {\n return new NvimPlugin_1.NvimPlugin(filename, plugin, nvim);\n }\n }\n catch (err) {\n const file = path.basename(filename);\n logger_1.logger.error(`[${file}] ${err.stack}`);\n logger_1.logger.error(`[${file}] Error loading child ChildPlugin ${filename}`);\n }\n // There may have been an error, but maybe not\n return null;\n}\nfunction loadPlugin(filename, nvim, options = {}) {\n try {\n return createPlugin(filename, nvim, options);\n }\n catch (err) {\n // logger.error(`Could not load plugin \"${filename}\":`, err, err.stack);\n return null;\n }\n}\nexports.loadPlugin = loadPlugin;\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 9071;\nmodule.exports = webpackEmptyContext;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attach_1 = require(\"./attach\");\nexports.attach = attach_1.attach;\nvar index_1 = require(\"./api/index\");\nexports.Neovim = index_1.Neovim;\nexports.NeovimClient = index_1.NeovimClient;\nexports.Buffer = index_1.Buffer;\nexports.Tabpage = index_1.Tabpage;\nexports.Window = index_1.Window;\nvar plugin_1 = require(\"./plugin\");\nexports.Plugin = plugin_1.Plugin;\nexports.Function = plugin_1.Function;\nexports.Autocmd = plugin_1.Autocmd;\nexports.Command = plugin_1.Command;\nvar NvimPlugin_1 = require(\"./host/NvimPlugin\");\nexports.NvimPlugin = NvimPlugin_1.NvimPlugin;\nvar factory_1 = require(\"./host/factory\");\nexports.loadPlugin = factory_1.loadPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar index_1 = require(\"./plugin/index\");\nexports.Plugin = index_1.Plugin;\nexports.Function = index_1.Function;\nexports.Autocmd = index_1.Autocmd;\nexports.Command = index_1.Command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst properties_1 = require(\"./properties\");\n// Example\n// @autocmd('BufEnter', { pattern: '*.js', eval: 'expand(\"\")', sync: true })\nfunction autocmd(name, options) {\n return function (cls, methodName) {\n // const {\n // sync,\n // ...opts,\n // } = options;\n const sync = options && !!options.sync;\n const isMethod = typeof methodName === 'string';\n const f = isMethod ? cls[methodName] : cls;\n const opts = {\n pattern: '',\n };\n ['pattern', 'eval'].forEach((option) => {\n if (options && typeof options[option] !== 'undefined') {\n opts[option] = options[option];\n }\n });\n const nameWithPattern = `${name}${options.pattern ? `:${options.pattern}` : ''}`;\n Object.defineProperty(f, properties_1.NVIM_METHOD_NAME, {\n value: `autocmd:${nameWithPattern}`,\n });\n Object.defineProperty(f, properties_1.NVIM_SYNC, { value: !!sync });\n Object.defineProperty(f, properties_1.NVIM_SPEC, {\n value: {\n type: 'autocmd',\n name,\n sync: !!sync,\n opts,\n },\n });\n if (isMethod) {\n // eslint-disable-next-line no-param-reassign\n cls[methodName] = f;\n }\n return cls;\n };\n}\nexports.autocmd = autocmd;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst properties_1 = require(\"./properties\");\n// Example\n// @command('BufEnter', { range: '', nargs: '*' })\n// @command('MyCommand', { complete: 'customlist,MyCustomCompleteListFunc' })\n// @command('MyCommand', { complete: 'dir' })\nfunction command(name, options) {\n return function (cls, methodName) {\n const sync = options && !!options.sync;\n const isMethod = typeof methodName === 'string';\n const f = isMethod ? cls[methodName] : cls;\n const opts = {};\n ['range', 'nargs', 'complete'].forEach((option) => {\n if (options && typeof options[option] !== 'undefined') {\n opts[option] = options[option];\n }\n });\n Object.defineProperty(f, properties_1.NVIM_METHOD_NAME, { value: `command:${name}` });\n Object.defineProperty(f, properties_1.NVIM_SYNC, { value: !!sync });\n Object.defineProperty(f, properties_1.NVIM_SPEC, {\n value: {\n type: 'command',\n name,\n sync: !!sync,\n opts,\n },\n });\n if (isMethod) {\n // eslint-disable-next-line no-param-reassign\n cls[methodName] = f;\n }\n return cls;\n };\n}\nexports.command = command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst properties_1 = require(\"./properties\");\nfunction nvimFunction(name, options = {}) {\n return function (cls, methodName) {\n // const {\n // sync,\n // ...opts,\n // } = options;\n const sync = options && !!options.sync;\n const isMethod = typeof methodName === 'string';\n const f = isMethod ? cls[methodName] : cls;\n const opts = {};\n if (options && options.range) {\n opts.range = options.range;\n }\n if (options && options.eval) {\n opts.eval = options.eval;\n }\n Object.defineProperty(f, properties_1.NVIM_METHOD_NAME, { value: `function:${name}` });\n Object.defineProperty(f, properties_1.NVIM_SYNC, { value: !!sync });\n Object.defineProperty(f, properties_1.NVIM_SPEC, {\n value: {\n type: 'function',\n name,\n sync: !!sync,\n opts,\n },\n });\n if (isMethod) {\n // eslint-disable-next-line no-param-reassign\n cls[methodName] = f;\n }\n return cls;\n };\n}\nexports.nvimFunction = nvimFunction;\n","\"use strict\";\n/* eslint global-require:0 */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar plugin_1 = require(\"./plugin\");\nexports.Plugin = plugin_1.plugin;\nvar function_1 = require(\"./function\");\nexports.Function = function_1.nvimFunction;\nvar autocmd_1 = require(\"./autocmd\");\nexports.Autocmd = autocmd_1.autocmd;\nvar command_1 = require(\"./command\");\nexports.Command = command_1.command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint no-shadow:0, import/export:0 */\n// Plugin decorator\nconst logger_1 = require(\"../utils/logger\");\nconst properties_1 = require(\"./properties\");\nconst Neovim_1 = require(\"../api/Neovim\");\nexports.Neovim = Neovim_1.Neovim;\nconst NvimPlugin_1 = require(\"../host/NvimPlugin\");\nexports.NvimPlugin = NvimPlugin_1.NvimPlugin;\nfunction wrapper(cls, options) {\n logger_1.logger.info(`Decorating class ${cls}`);\n return class extends cls {\n constructor(...args) {\n const plugin = args[0];\n super(plugin.nvim, plugin);\n this.setApi(plugin.nvim);\n if (options) {\n plugin.setOptions(options);\n }\n // Search for decorated methods\n Object.getOwnPropertyNames(cls.prototype).forEach(methodName => {\n logger_1.logger.info(`Method name ${methodName}`);\n logger_1.logger.info(`${cls.prototype[methodName]} ${typeof cls.prototype[methodName]}`);\n logger_1.logger.info(`${this} ${typeof this}`);\n const method = cls.prototype[methodName];\n if (method && method[properties_1.NVIM_SPEC]) {\n const spec = method[properties_1.NVIM_SPEC];\n switch (spec.type) {\n case 'autocmd':\n const autoCmdOpts = {\n pattern: spec.opts.pattern,\n sync: spec.sync,\n };\n if (typeof spec.opts.eval !== 'undefined') {\n autoCmdOpts.eval = spec.opts.eval;\n }\n plugin.registerAutocmd(spec.name, [this, method], autoCmdOpts);\n break;\n case 'command':\n const cmdOpts = {\n sync: spec.sync,\n };\n if (typeof spec.opts.range !== 'undefined') {\n cmdOpts.range = spec.opts.range;\n }\n if (typeof spec.opts.nargs !== 'undefined') {\n cmdOpts.nargs = spec.opts.nargs;\n }\n if (typeof spec.opts.complete !== 'undefined') {\n cmdOpts.complete = spec.opts.complete;\n }\n plugin.registerCommand(spec.name, [this, method], cmdOpts);\n break;\n case 'function':\n const funcOpts = {\n sync: spec.sync,\n };\n if (typeof spec.opts.range !== 'undefined') {\n funcOpts.range = spec.opts.range;\n }\n if (typeof spec.opts.eval !== 'undefined') {\n funcOpts.eval = spec.opts.eval;\n }\n plugin.registerFunction(spec.name, [this, method], funcOpts);\n break;\n default:\n break;\n }\n }\n });\n }\n setApi(nvim) {\n this.nvim = nvim;\n }\n };\n}\nfunction plugin(outter) {\n /**\n * Decorator should support\n *\n * @Plugin(opts)\n * class TestPlug {}\n *\n * and\n *\n * @Plugin\n * class TestPlug {}\n *\n *and\n *\n * Plugin(opts)(TestPlugin)\n *\n * or\n *\n * Plugin(TestPlugin)\n */\n return typeof outter !== 'function'\n ? (cls) => wrapper(cls, outter)\n : wrapper(outter);\n}\nexports.plugin = plugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Constants for plugin properties\nexports.NVIM_PLUGIN = '_nvim_plugin';\nexports.NVIM_DEV_MODE = '_nvim_dev_mode';\nexports.NVIM_SPEC = '_nvim_rpc_spec';\nexports.NVIM_SYNC = '_nvim_rpc_sync';\nexports.NVIM_METHOD_NAME = '_nvim_rpc_method_name';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stream_1 = require(\"stream\");\nclass DevNull extends stream_1.Duplex {\n _read() { }\n _write(chunk, enc, cb) {\n cb();\n }\n}\nexports.DevNull = DevNull;\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst winston = __importStar(require(\"winston\"));\nconst level = process.env.NVIM_NODE_LOG_LEVEL || 'debug';\nconst winstonLogger = winston.createLogger({\n level,\n});\nif (process.env.NVIM_NODE_LOG_FILE) {\n winstonLogger.add(new winston.transports.File({\n filename: process.env.NVIM_NODE_LOG_FILE,\n level,\n }));\n}\nif (process.env.ALLOW_CONSOLE) {\n winstonLogger.add(new winston.transports.Console({\n format: winston.format.simple(),\n }));\n}\nexports.logger = winstonLogger;\n","\"use strict\";\n/**\n * Some code borrowed from https://github.com/tarruda/node-msgpack5rpc\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nconst msgpack_1 = require(\"@msgpack/msgpack\");\nconst types_1 = require(\"../api/types\");\nclass Response {\n constructor(encoder, requestId) {\n this.encoder = encoder;\n this.requestId = requestId;\n }\n send(resp, isError) {\n if (this.sent) {\n throw new Error(`Response to id ${this.requestId} already sent`);\n }\n const encoded = msgpack_1.encode([\n 1,\n this.requestId,\n isError ? resp : null,\n !isError ? resp : null,\n ]);\n this.encoder.write(Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength));\n this.sent = true;\n }\n}\nclass Transport extends events_1.EventEmitter {\n constructor() {\n super(...arguments);\n this.pending = new Map();\n this.nextRequestId = 1;\n this.extensionCodec = this.initializeExtensionCodec();\n }\n initializeExtensionCodec() {\n const codec = new msgpack_1.ExtensionCodec();\n types_1.Metadata.forEach(({ constructor }, id) => {\n codec.register({\n type: id,\n encode: (input) => {\n if (input instanceof constructor) {\n return msgpack_1.encode(input.data);\n }\n return null;\n },\n decode: data => {\n return new constructor({\n transport: this,\n client: this.client,\n data: msgpack_1.decode(data),\n });\n },\n });\n });\n return codec;\n }\n encodeToBuffer(value) {\n const encoded = msgpack_1.encode(value, { extensionCodec: this.extensionCodec });\n return Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n }\n attach(writer, reader, client) {\n this.writer = writer;\n this.reader = reader;\n this.client = client;\n this.reader.on('end', () => {\n this.emit('detach');\n });\n const asyncDecodeGenerator = msgpack_1.decodeStream(this.reader, {\n extensionCodec: this.extensionCodec,\n });\n // naively iterate async generator created via decodeStream.\n // when runtime / polyfill allows replace to `for await (const val of asyncDecodeGenerator)`\n // syntax instead.\n const resolveGeneratorRecursively = (iter) => {\n iter.next().then(resolved => {\n if (!resolved.done) {\n this.parseMessage(resolved.value);\n return resolveGeneratorRecursively(iter);\n }\n return Promise.resolve();\n });\n };\n resolveGeneratorRecursively(asyncDecodeGenerator);\n }\n request(method, args, cb) {\n this.nextRequestId = this.nextRequestId + 1;\n this.writer.write(this.encodeToBuffer([0, this.nextRequestId, method, args]));\n this.pending.set(this.nextRequestId, cb);\n }\n notify(method, args) {\n this.writer.write(this.encodeToBuffer([2, method, args]));\n }\n parseMessage(msg) {\n const msgType = msg[0];\n if (msgType === 0) {\n // request\n // - msg[1]: id\n // - msg[2]: method name\n // - msg[3]: arguments\n this.emit('request', msg[2].toString(), msg[3], new Response(this.writer, msg[1]));\n }\n else if (msgType === 1) {\n // response to a previous request:\n // - msg[1]: the id\n // - msg[2]: error(if any)\n // - msg[3]: result(if not errored)\n const id = msg[1];\n const handler = this.pending.get(id);\n this.pending.delete(id);\n handler(msg[2], msg[3]);\n }\n else if (msgType === 2) {\n // notification/event\n // - msg[1]: event name\n // - msg[2]: arguments\n this.emit('notification', msg[1].toString(), msg[2]);\n }\n else {\n this.writer.write(this.encodeToBuffer([1, 0, 'Invalid message type', null]));\n }\n }\n}\nexports.Transport = Transport;\n","'use strict';\n\n/**\n * Wrap callbacks to prevent double execution.\n *\n * @param {Function} fn Function that should only be called once.\n * @returns {Function} A wrapped callback which prevents execution.\n * @api public\n */\nmodule.exports = function one(fn) {\n var called = 0\n , value;\n\n /**\n * The function that prevents double execution.\n *\n * @api private\n */\n function onetime() {\n if (called) return value;\n\n called = 1;\n value = fn.apply(this, arguments);\n fn = null;\n\n return value;\n }\n\n //\n // To make debugging more easy we want to use the name of the supplied\n // function. So when you look at the functions that are assigned to event\n // listeners you don't see a load of `onetime` functions but actually the\n // names of the functions that this module will call.\n //\n onetime.displayName = fn.displayName || fn.name || onetime.displayName || onetime.name;\n return onetime;\n};\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","module.exports = require('stream');\n","var Stream = require(\"stream\")\nvar Writable = require(\"./lib/_stream_writable.js\")\n\nif (process.env.READABLE_STREAM === 'disable') {\n module.exports = Stream && Stream.Writable || Writable\n} else {\n module.exports = Writable\n}\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","exports.get = function(belowFn) {\n var oldLimit = Error.stackTraceLimit;\n Error.stackTraceLimit = Infinity;\n\n var dummyObject = {};\n\n var v8Handler = Error.prepareStackTrace;\n Error.prepareStackTrace = function(dummyObject, v8StackTrace) {\n return v8StackTrace;\n };\n Error.captureStackTrace(dummyObject, belowFn || exports.get);\n\n var v8StackTrace = dummyObject.stack;\n Error.prepareStackTrace = v8Handler;\n Error.stackTraceLimit = oldLimit;\n\n return v8StackTrace;\n};\n\nexports.parse = function(err) {\n if (!err.stack) {\n return [];\n }\n\n var self = this;\n var lines = err.stack.split('\\n').slice(1);\n\n return lines\n .map(function(line) {\n if (line.match(/^\\s*[-]{4,}$/)) {\n return self._createParsedCallSite({\n fileName: line,\n lineNumber: null,\n functionName: null,\n typeName: null,\n methodName: null,\n columnNumber: null,\n 'native': null,\n });\n }\n\n var lineMatch = line.match(/at (?:(.+)\\s+\\()?(?:(.+?):(\\d+)(?::(\\d+))?|([^)]+))\\)?/);\n if (!lineMatch) {\n return;\n }\n\n var object = null;\n var method = null;\n var functionName = null;\n var typeName = null;\n var methodName = null;\n var isNative = (lineMatch[5] === 'native');\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n var methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart-1] == '.')\n methodStart--;\n if (methodStart > 0) {\n object = functionName.substr(0, methodStart);\n method = functionName.substr(methodStart + 1);\n var objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.substr(objectEnd + 1);\n object = object.substr(0, objectEnd);\n }\n }\n typeName = null;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '') {\n methodName = null;\n functionName = null;\n }\n\n var properties = {\n fileName: lineMatch[2] || null,\n lineNumber: parseInt(lineMatch[3], 10) || null,\n functionName: functionName,\n typeName: typeName,\n methodName: methodName,\n columnNumber: parseInt(lineMatch[4], 10) || null,\n 'native': isNative,\n };\n\n return self._createParsedCallSite(properties);\n })\n .filter(function(callSite) {\n return !!callSite;\n });\n};\n\nfunction CallSite(properties) {\n for (var property in properties) {\n this[property] = properties[property];\n }\n}\n\nvar strProperties = [\n 'this',\n 'typeName',\n 'functionName',\n 'methodName',\n 'fileName',\n 'lineNumber',\n 'columnNumber',\n 'function',\n 'evalOrigin'\n];\nvar boolProperties = [\n 'topLevel',\n 'eval',\n 'native',\n 'constructor'\n];\nstrProperties.forEach(function (property) {\n CallSite.prototype[property] = null;\n CallSite.prototype['get' + property[0].toUpperCase() + property.substr(1)] = function () {\n return this[property];\n }\n});\nboolProperties.forEach(function (property) {\n CallSite.prototype[property] = false;\n CallSite.prototype['is' + property[0].toUpperCase() + property.substr(1)] = function () {\n return this[property];\n }\n});\n\nexports._createParsedCallSite = function(properties) {\n return new CallSite(properties);\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","'use strict';\n\n/***\n * Convert string to hex color.\n *\n * @param {String} str Text to hash and convert to hex.\n * @returns {String}\n * @api public\n */\nmodule.exports = function hex(str) {\n for (\n var i = 0, hash = 0;\n i < str.length;\n hash = str.charCodeAt(i++) + ((hash << 5) - hash)\n );\n\n var color = Math.floor(\n Math.abs(\n (Math.sin(hash) * 10000) % 1 * 16777216\n )\n ).toString(16);\n\n return '#' + Array(6 - color.length + 1).join('0') + color;\n};\n","/**\n * cli.js: Config that conform to commonly used CLI logging levels.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\n/**\n * Default levels for the CLI configuration.\n * @type {Object}\n */\nexports.levels = {\n error: 0,\n warn: 1,\n help: 2,\n data: 3,\n info: 4,\n debug: 5,\n prompt: 6,\n verbose: 7,\n input: 8,\n silly: 9\n};\n\n/**\n * Default colors for the CLI configuration.\n * @type {Object}\n */\nexports.colors = {\n error: 'red',\n warn: 'yellow',\n help: 'cyan',\n data: 'grey',\n info: 'green',\n debug: 'blue',\n prompt: 'grey',\n verbose: 'cyan',\n input: 'grey',\n silly: 'magenta'\n};\n","/**\n * index.js: Default settings for all levels that winston knows about.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\n/**\n * Export config set for the CLI.\n * @type {Object}\n */\nObject.defineProperty(exports, 'cli', {\n value: require('./cli')\n});\n\n/**\n * Export config set for npm.\n * @type {Object}\n */\nObject.defineProperty(exports, 'npm', {\n value: require('./npm')\n});\n\n/**\n * Export config set for the syslog.\n * @type {Object}\n */\nObject.defineProperty(exports, 'syslog', {\n value: require('./syslog')\n});\n","/**\n * npm.js: Config that conform to npm logging levels.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\n/**\n * Default levels for the npm configuration.\n * @type {Object}\n */\nexports.levels = {\n error: 0,\n warn: 1,\n info: 2,\n http: 3,\n verbose: 4,\n debug: 5,\n silly: 6\n};\n\n/**\n * Default levels for the npm configuration.\n * @type {Object}\n */\nexports.colors = {\n error: 'red',\n warn: 'yellow',\n info: 'green',\n http: 'green',\n verbose: 'cyan',\n debug: 'blue',\n silly: 'magenta'\n};\n","/**\n * syslog.js: Config that conform to syslog logging levels.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\n/**\n * Default levels for the syslog configuration.\n * @type {Object}\n */\nexports.levels = {\n emerg: 0,\n alert: 1,\n crit: 2,\n error: 3,\n warning: 4,\n notice: 5,\n info: 6,\n debug: 7\n};\n\n/**\n * Default levels for the syslog configuration.\n * @type {Object}\n */\nexports.colors = {\n emerg: 'red',\n alert: 'yellow',\n crit: 'red',\n error: 'red',\n warning: 'red',\n notice: 'yellow',\n info: 'green',\n debug: 'blue'\n};\n","'use strict';\n\n/**\n * A shareable symbol constant that can be used\n * as a non-enumerable / semi-hidden level identifier\n * to allow the readable level property to be mutable for\n * operations like colorization\n *\n * @type {Symbol}\n */\nObject.defineProperty(exports, 'LEVEL', {\n value: Symbol.for('level')\n});\n\n/**\n * A shareable symbol constant that can be used\n * as a non-enumerable / semi-hidden message identifier\n * to allow the final message property to not have\n * side effects on another.\n *\n * @type {Symbol}\n */\nObject.defineProperty(exports, 'MESSAGE', {\n value: Symbol.for('message')\n});\n\n/**\n * A shareable symbol constant that can be used\n * as a non-enumerable / semi-hidden message identifier\n * to allow the extracted splat property be hidden\n *\n * @type {Symbol}\n */\nObject.defineProperty(exports, 'SPLAT', {\n value: Symbol.for('splat')\n});\n\n/**\n * A shareable object constant that can be used\n * as a standard configuration for winston@3.\n *\n * @type {Object}\n */\nObject.defineProperty(exports, 'configs', {\n value: require('./config')\n});\n","\n/**\n * For Node.js, simply re-export the core `util.deprecate` function.\n */\n\nmodule.exports = require('util').deprecate;\n","'use strict';\n\nconst util = require('util');\nconst Writable = require('readable-stream/writable');\nconst { LEVEL } = require('triple-beam');\n\n/**\n * Constructor function for the TransportStream. This is the base prototype\n * that all `winston >= 3` transports should inherit from.\n * @param {Object} options - Options for this TransportStream instance\n * @param {String} options.level - Highest level according to RFC5424.\n * @param {Boolean} options.handleExceptions - If true, info with\n * { exception: true } will be written.\n * @param {Function} options.log - Custom log function for simple Transport\n * creation\n * @param {Function} options.close - Called on \"unpipe\" from parent.\n */\nconst TransportStream = module.exports = function TransportStream(options = {}) {\n Writable.call(this, { objectMode: true, highWaterMark: options.highWaterMark });\n\n this.format = options.format;\n this.level = options.level;\n this.handleExceptions = options.handleExceptions;\n this.handleRejections = options.handleRejections;\n this.silent = options.silent;\n\n if (options.log) this.log = options.log;\n if (options.logv) this.logv = options.logv;\n if (options.close) this.close = options.close;\n\n // Get the levels from the source we are piped from.\n this.once('pipe', logger => {\n // Remark (indexzero): this bookkeeping can only support multiple\n // Logger parents with the same `levels`. This comes into play in\n // the `winston.Container` code in which `container.add` takes\n // a fully realized set of options with pre-constructed TransportStreams.\n this.levels = logger.levels;\n this.parent = logger;\n });\n\n // If and/or when the transport is removed from this instance\n this.once('unpipe', src => {\n // Remark (indexzero): this bookkeeping can only support multiple\n // Logger parents with the same `levels`. This comes into play in\n // the `winston.Container` code in which `container.add` takes\n // a fully realized set of options with pre-constructed TransportStreams.\n if (src === this.parent) {\n this.parent = null;\n if (this.close) {\n this.close();\n }\n }\n });\n};\n\n/*\n * Inherit from Writeable using Node.js built-ins\n */\nutil.inherits(TransportStream, Writable);\n\n/**\n * Writes the info object to our transport instance.\n * @param {mixed} info - TODO: add param description.\n * @param {mixed} enc - TODO: add param description.\n * @param {function} callback - TODO: add param description.\n * @returns {undefined}\n * @private\n */\nTransportStream.prototype._write = function _write(info, enc, callback) {\n if (this.silent || (info.exception === true && !this.handleExceptions)) {\n return callback(null);\n }\n\n // Remark: This has to be handled in the base transport now because we\n // cannot conditionally write to our pipe targets as stream. We always\n // prefer any explicit level set on the Transport itself falling back to\n // any level set on the parent.\n const level = this.level || (this.parent && this.parent.level);\n\n if (!level || this.levels[level] >= this.levels[info[LEVEL]]) {\n if (info && !this.format) {\n return this.log(info, callback);\n }\n\n let errState;\n let transformed;\n\n // We trap(and re-throw) any errors generated by the user-provided format, but also\n // guarantee that the streams callback is invoked so that we can continue flowing.\n try {\n transformed = this.format.transform(Object.assign({}, info), this.format.options);\n } catch (err) {\n errState = err;\n }\n\n if (errState || !transformed) {\n // eslint-disable-next-line callback-return\n callback();\n if (errState) throw errState;\n return;\n }\n\n return this.log(transformed, callback);\n }\n\n return callback(null);\n};\n\n/**\n * Writes the batch of info objects (i.e. \"object chunks\") to our transport\n * instance after performing any necessary filtering.\n * @param {mixed} chunks - TODO: add params description.\n * @param {function} callback - TODO: add params description.\n * @returns {mixed} - TODO: add returns description.\n * @private\n */\nTransportStream.prototype._writev = function _writev(chunks, callback) {\n if (this.logv) {\n const infos = chunks.filter(this._accept, this);\n if (!infos.length) {\n return callback(null);\n }\n\n // Remark (indexzero): from a performance perspective if Transport\n // implementers do choose to implement logv should we make it their\n // responsibility to invoke their format?\n return this.logv(infos, callback);\n }\n\n for (let i = 0; i < chunks.length; i++) {\n if (!this._accept(chunks[i])) continue;\n\n if (chunks[i].chunk && !this.format) {\n this.log(chunks[i].chunk, chunks[i].callback);\n continue;\n }\n\n let errState;\n let transformed;\n\n // We trap(and re-throw) any errors generated by the user-provided format, but also\n // guarantee that the streams callback is invoked so that we can continue flowing.\n try {\n transformed = this.format.transform(\n Object.assign({}, chunks[i].chunk),\n this.format.options\n );\n } catch (err) {\n errState = err;\n }\n\n if (errState || !transformed) {\n // eslint-disable-next-line callback-return\n chunks[i].callback();\n if (errState) {\n // eslint-disable-next-line callback-return\n callback(null);\n throw errState;\n }\n } else {\n this.log(transformed, chunks[i].callback);\n }\n }\n\n return callback(null);\n};\n\n/**\n * Predicate function that returns true if the specfied `info` on the\n * WriteReq, `write`, should be passed down into the derived\n * TransportStream's I/O via `.log(info, callback)`.\n * @param {WriteReq} write - winston@3 Node.js WriteReq for the `info` object\n * representing the log message.\n * @returns {Boolean} - Value indicating if the `write` should be accepted &\n * logged.\n */\nTransportStream.prototype._accept = function _accept(write) {\n const info = write.chunk;\n if (this.silent) {\n return false;\n }\n\n // We always prefer any explicit level set on the Transport itself\n // falling back to any level set on the parent.\n const level = this.level || (this.parent && this.parent.level);\n\n // Immediately check the average case: log level filtering.\n if (\n info.exception === true ||\n !level ||\n this.levels[level] >= this.levels[info[LEVEL]]\n ) {\n // Ensure the info object is valid based on `{ exception }`:\n // 1. { handleExceptions: true }: all `info` objects are valid\n // 2. { exception: false }: accepted by all transports.\n if (this.handleExceptions || info.exception !== true) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * _nop is short for \"No operation\"\n * @returns {Boolean} Intentionally false.\n */\nTransportStream.prototype._nop = function _nop() {\n // eslint-disable-next-line no-undefined\n return void undefined;\n};\n\n\n// Expose legacy stream\nmodule.exports.LegacyTransportStream = require('./legacy');\n","'use strict';\n\nconst util = require('util');\nconst { LEVEL } = require('triple-beam');\nconst TransportStream = require('./');\n\n/**\n * Constructor function for the LegacyTransportStream. This is an internal\n * wrapper `winston >= 3` uses to wrap older transports implementing\n * log(level, message, meta).\n * @param {Object} options - Options for this TransportStream instance.\n * @param {Transpot} options.transport - winston@2 or older Transport to wrap.\n */\n\nconst LegacyTransportStream = module.exports = function LegacyTransportStream(options = {}) {\n TransportStream.call(this, options);\n if (!options.transport || typeof options.transport.log !== 'function') {\n throw new Error('Invalid transport, must be an object with a log method.');\n }\n\n this.transport = options.transport;\n this.level = this.level || options.transport.level;\n this.handleExceptions = this.handleExceptions || options.transport.handleExceptions;\n\n // Display our deprecation notice.\n this._deprecated();\n\n // Properly bubble up errors from the transport to the\n // LegacyTransportStream instance, but only once no matter how many times\n // this transport is shared.\n function transportError(err) {\n this.emit('error', err, this.transport);\n }\n\n if (!this.transport.__winstonError) {\n this.transport.__winstonError = transportError.bind(this);\n this.transport.on('error', this.transport.__winstonError);\n }\n};\n\n/*\n * Inherit from TransportStream using Node.js built-ins\n */\nutil.inherits(LegacyTransportStream, TransportStream);\n\n/**\n * Writes the info object to our transport instance.\n * @param {mixed} info - TODO: add param description.\n * @param {mixed} enc - TODO: add param description.\n * @param {function} callback - TODO: add param description.\n * @returns {undefined}\n * @private\n */\nLegacyTransportStream.prototype._write = function _write(info, enc, callback) {\n if (this.silent || (info.exception === true && !this.handleExceptions)) {\n return callback(null);\n }\n\n // Remark: This has to be handled in the base transport now because we\n // cannot conditionally write to our pipe targets as stream.\n if (!this.level || this.levels[this.level] >= this.levels[info[LEVEL]]) {\n this.transport.log(info[LEVEL], info.message, info, this._nop);\n }\n\n callback(null);\n};\n\n/**\n * Writes the batch of info objects (i.e. \"object chunks\") to our transport\n * instance after performing any necessary filtering.\n * @param {mixed} chunks - TODO: add params description.\n * @param {function} callback - TODO: add params description.\n * @returns {mixed} - TODO: add returns description.\n * @private\n */\nLegacyTransportStream.prototype._writev = function _writev(chunks, callback) {\n for (let i = 0; i < chunks.length; i++) {\n if (this._accept(chunks[i])) {\n this.transport.log(\n chunks[i].chunk[LEVEL],\n chunks[i].chunk.message,\n chunks[i].chunk,\n this._nop\n );\n chunks[i].callback();\n }\n }\n\n return callback(null);\n};\n\n/**\n * Displays a deprecation notice. Defined as a function so it can be\n * overriden in tests.\n * @returns {undefined}\n */\nLegacyTransportStream.prototype._deprecated = function _deprecated() {\n // eslint-disable-next-line no-console\n console.error([\n `${this.transport.name} is a legacy winston transport. Consider upgrading: `,\n '- Upgrade docs: https://github.com/winstonjs/winston/blob/master/UPGRADE-3.0.md'\n ].join('\\n'));\n};\n\n/**\n * Clean up error handling state on the legacy transport associated\n * with this instance.\n * @returns {undefined}\n */\nLegacyTransportStream.prototype.close = function close() {\n if (this.transport.close) {\n this.transport.close();\n }\n\n if (this.transport.__winstonError) {\n this.transport.removeListener('error', this.transport.__winstonError);\n this.transport.__winstonError = null;\n }\n};\n","/**\n * winston.js: Top-level include defining Winston.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst logform = require('logform');\nconst { warn } = require('./winston/common');\n\n/**\n * Setup to expose.\n * @type {Object}\n */\nconst winston = exports;\n\n/**\n * Expose version. Use `require` method for `webpack` support.\n * @type {string}\n */\nwinston.version = require('../package.json').version;\n/**\n * Include transports defined by default by winston\n * @type {Array}\n */\nwinston.transports = require('./winston/transports');\n/**\n * Expose utility methods\n * @type {Object}\n */\nwinston.config = require('./winston/config');\n/**\n * Hoist format-related functionality from logform.\n * @type {Object}\n */\nwinston.addColors = logform.levels;\n/**\n * Hoist format-related functionality from logform.\n * @type {Object}\n */\nwinston.format = logform.format;\n/**\n * Expose core Logging-related prototypes.\n * @type {function}\n */\nwinston.createLogger = require('./winston/create-logger');\n/**\n * Expose core Logging-related prototypes.\n * @type {Object}\n */\nwinston.ExceptionHandler = require('./winston/exception-handler');\n/**\n * Expose core Logging-related prototypes.\n * @type {Object}\n */\nwinston.RejectionHandler = require('./winston/rejection-handler');\n/**\n * Expose core Logging-related prototypes.\n * @type {Container}\n */\nwinston.Container = require('./winston/container');\n/**\n * Expose core Logging-related prototypes.\n * @type {Object}\n */\nwinston.Transport = require('winston-transport');\n/**\n * We create and expose a default `Container` to `winston.loggers` so that the\n * programmer may manage multiple `winston.Logger` instances without any\n * additional overhead.\n * @example\n * // some-file1.js\n * const logger = require('winston').loggers.get('something');\n *\n * // some-file2.js\n * const logger = require('winston').loggers.get('something');\n */\nwinston.loggers = new winston.Container();\n\n/**\n * We create and expose a 'defaultLogger' so that the programmer may do the\n * following without the need to create an instance of winston.Logger directly:\n * @example\n * const winston = require('winston');\n * winston.log('info', 'some message');\n * winston.error('some error');\n */\nconst defaultLogger = winston.createLogger();\n\n// Pass through the target methods onto `winston.\nObject.keys(winston.config.npm.levels)\n .concat([\n 'log',\n 'query',\n 'stream',\n 'add',\n 'remove',\n 'clear',\n 'profile',\n 'startTimer',\n 'handleExceptions',\n 'unhandleExceptions',\n 'handleRejections',\n 'unhandleRejections',\n 'configure'\n ])\n .forEach(\n method => (winston[method] = (...args) => defaultLogger[method](...args))\n );\n\n/**\n * Define getter / setter for the default logger level which need to be exposed\n * by winston.\n * @type {string}\n */\nObject.defineProperty(winston, 'level', {\n get() {\n return defaultLogger.level;\n },\n set(val) {\n defaultLogger.level = val;\n }\n});\n\n/**\n * Define getter for `exceptions` which replaces `handleExceptions` and\n * `unhandleExceptions`.\n * @type {Object}\n */\nObject.defineProperty(winston, 'exceptions', {\n get() {\n return defaultLogger.exceptions;\n }\n});\n\n/**\n * Define getters / setters for appropriate properties of the default logger\n * which need to be exposed by winston.\n * @type {Logger}\n */\n['exitOnError'].forEach(prop => {\n Object.defineProperty(winston, prop, {\n get() {\n return defaultLogger[prop];\n },\n set(val) {\n defaultLogger[prop] = val;\n }\n });\n});\n\n/**\n * The default transports and exceptionHandlers for the default winston logger.\n * @type {Object}\n */\nObject.defineProperty(winston, 'default', {\n get() {\n return {\n exceptionHandlers: defaultLogger.exceptionHandlers,\n rejectionHandlers: defaultLogger.rejectionHandlers,\n transports: defaultLogger.transports\n };\n }\n});\n\n// Have friendlier breakage notices for properties that were exposed by default\n// on winston < 3.0.\nwarn.deprecated(winston, 'setLevels');\nwarn.forFunctions(winston, 'useFormat', ['cli']);\nwarn.forProperties(winston, 'useFormat', ['padLevels', 'stripColors']);\nwarn.forFunctions(winston, 'deprecated', [\n 'addRewriter',\n 'addFilter',\n 'clone',\n 'extend'\n]);\nwarn.forProperties(winston, 'deprecated', ['emitErrs', 'levelLength']);\n// Throw a useful error when users attempt to run `new winston.Logger`.\nwarn.moved(winston, 'createLogger', 'Logger');\n","/**\n * common.js: Internal helper and utility functions for winston.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst { format } = require('util');\n\n/**\n * Set of simple deprecation notices and a way to expose them for a set of\n * properties.\n * @type {Object}\n * @private\n */\nexports.warn = {\n deprecated(prop) {\n return () => {\n throw new Error(format('{ %s } was removed in winston@3.0.0.', prop));\n };\n },\n useFormat(prop) {\n return () => {\n throw new Error([\n format('{ %s } was removed in winston@3.0.0.', prop),\n 'Use a custom winston.format = winston.format(function) instead.'\n ].join('\\n'));\n };\n },\n forFunctions(obj, type, props) {\n props.forEach(prop => {\n obj[prop] = exports.warn[type](prop);\n });\n },\n moved(obj, movedTo, prop) {\n function movedNotice() {\n return () => {\n throw new Error([\n format('winston.%s was moved in winston@3.0.0.', prop),\n format('Use a winston.%s instead.', movedTo)\n ].join('\\n'));\n };\n }\n\n Object.defineProperty(obj, prop, {\n get: movedNotice,\n set: movedNotice\n });\n },\n forProperties(obj, type, props) {\n props.forEach(prop => {\n const notice = exports.warn[type](prop);\n Object.defineProperty(obj, prop, {\n get: notice,\n set: notice\n });\n });\n }\n};\n","/**\n * index.js: Default settings for all levels that winston knows about.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst logform = require('logform');\nconst { configs } = require('triple-beam');\n\n/**\n * Export config set for the CLI.\n * @type {Object}\n */\nexports.cli = logform.levels(configs.cli);\n\n/**\n * Export config set for npm.\n * @type {Object}\n */\nexports.npm = logform.levels(configs.npm);\n\n/**\n * Export config set for the syslog.\n * @type {Object}\n */\nexports.syslog = logform.levels(configs.syslog);\n\n/**\n * Hoist addColors from logform where it was refactored into in winston@3.\n * @type {Object}\n */\nexports.addColors = logform.levels;\n","/**\n * container.js: Inversion of control container for winston logger instances.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst createLogger = require('./create-logger');\n\n/**\n * Inversion of control container for winston logger instances.\n * @type {Container}\n */\nmodule.exports = class Container {\n /**\n * Constructor function for the Container object responsible for managing a\n * set of `winston.Logger` instances based on string ids.\n * @param {!Object} [options={}] - Default pass-thru options for Loggers.\n */\n constructor(options = {}) {\n this.loggers = new Map();\n this.options = options;\n }\n\n /**\n * Retreives a `winston.Logger` instance for the specified `id`. If an\n * instance does not exist, one is created.\n * @param {!string} id - The id of the Logger to get.\n * @param {?Object} [options] - Options for the Logger instance.\n * @returns {Logger} - A configured Logger instance with a specified id.\n */\n add(id, options) {\n if (!this.loggers.has(id)) {\n // Remark: Simple shallow clone for configuration options in case we pass\n // in instantiated protoypal objects\n options = Object.assign({}, options || this.options);\n const existing = options.transports || this.options.transports;\n\n // Remark: Make sure if we have an array of transports we slice it to\n // make copies of those references.\n options.transports = existing ? existing.slice() : [];\n\n const logger = createLogger(options);\n logger.on('close', () => this._delete(id));\n this.loggers.set(id, logger);\n }\n\n return this.loggers.get(id);\n }\n\n /**\n * Retreives a `winston.Logger` instance for the specified `id`. If\n * an instance does not exist, one is created.\n * @param {!string} id - The id of the Logger to get.\n * @param {?Object} [options] - Options for the Logger instance.\n * @returns {Logger} - A configured Logger instance with a specified id.\n */\n get(id, options) {\n return this.add(id, options);\n }\n\n /**\n * Check if the container has a logger with the id.\n * @param {?string} id - The id of the Logger instance to find.\n * @returns {boolean} - Boolean value indicating if this instance has a\n * logger with the specified `id`.\n */\n has(id) {\n return !!this.loggers.has(id);\n }\n\n /**\n * Closes a `Logger` instance with the specified `id` if it exists.\n * If no `id` is supplied then all Loggers are closed.\n * @param {?string} id - The id of the Logger instance to close.\n * @returns {undefined}\n */\n close(id) {\n if (id) {\n return this._removeLogger(id);\n }\n\n this.loggers.forEach((val, key) => this._removeLogger(key));\n }\n\n /**\n * Remove a logger based on the id.\n * @param {!string} id - The id of the logger to remove.\n * @returns {undefined}\n * @private\n */\n _removeLogger(id) {\n if (!this.loggers.has(id)) {\n return;\n }\n\n const logger = this.loggers.get(id);\n logger.close();\n this._delete(id);\n }\n\n /**\n * Deletes a `Logger` instance with the specified `id`.\n * @param {!string} id - The id of the Logger instance to delete from\n * container.\n * @returns {undefined}\n * @private\n */\n _delete(id) {\n this.loggers.delete(id);\n }\n};\n","/**\n * create-logger.js: Logger factory for winston logger instances.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst { LEVEL } = require('triple-beam');\nconst config = require('./config');\nconst Logger = require('./logger');\nconst debug = require('diagnostics')('winston:create-logger');\n\nfunction isLevelEnabledFunctionName(level) {\n return 'is' + level.charAt(0).toUpperCase() + level.slice(1) + 'Enabled';\n}\n\n/**\n * Create a new instance of a winston Logger. Creates a new\n * prototype for each instance.\n * @param {!Object} opts - Options for the created logger.\n * @returns {Logger} - A newly created logger instance.\n */\nmodule.exports = function (opts = {}) {\n //\n // Default levels: npm\n //\n opts.levels = opts.levels || config.npm.levels;\n\n /**\n * DerivedLogger to attach the logs level methods.\n * @type {DerivedLogger}\n * @extends {Logger}\n */\n class DerivedLogger extends Logger {\n /**\n * Create a new class derived logger for which the levels can be attached to\n * the prototype of. This is a V8 optimization that is well know to increase\n * performance of prototype functions.\n * @param {!Object} options - Options for the created logger.\n */\n constructor(options) {\n super(options);\n }\n }\n\n const logger = new DerivedLogger(opts);\n\n //\n // Create the log level methods for the derived logger.\n //\n Object.keys(opts.levels).forEach(function (level) {\n debug('Define prototype method for \"%s\"', level);\n if (level === 'log') {\n // eslint-disable-next-line no-console\n console.warn('Level \"log\" not defined: conflicts with the method \"log\". Use a different level name.');\n return;\n }\n\n //\n // Define prototype methods for each log level e.g.:\n // logger.log('info', msg) implies these methods are defined:\n // - logger.info(msg)\n // - logger.isInfoEnabled()\n //\n // Remark: to support logger.child this **MUST** be a function\n // so it'll always be called on the instance instead of a fixed\n // place in the prototype chain.\n //\n DerivedLogger.prototype[level] = function (...args) {\n // Prefer any instance scope, but default to \"root\" logger\n const self = this || logger;\n\n // Optimize the hot-path which is the single object.\n if (args.length === 1) {\n const [msg] = args;\n const info = msg && msg.message && msg || { message: msg };\n info.level = info[LEVEL] = level;\n self._addDefaultMeta(info);\n self.write(info);\n return (this || logger);\n }\n\n // When provided nothing assume the empty string\n if (args.length === 0) {\n self.log(level, '');\n return self;\n }\n\n // Otherwise build argument list which could potentially conform to\n // either:\n // . v3 API: log(obj)\n // 2. v1/v2 API: log(level, msg, ... [string interpolate], [{metadata}], [callback])\n return self.log(level, ...args);\n };\n\n DerivedLogger.prototype[isLevelEnabledFunctionName(level)] = function () {\n return (this || logger).isLevelEnabled(level);\n };\n });\n\n return logger;\n};\n","/**\n * exception-handler.js: Object for handling uncaughtException events.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst os = require('os');\nconst asyncForEach = require('async/forEach');\nconst debug = require('diagnostics')('winston:exception');\nconst once = require('one-time');\nconst stackTrace = require('stack-trace');\nconst ExceptionStream = require('./exception-stream');\n\n/**\n * Object for handling uncaughtException events.\n * @type {ExceptionHandler}\n */\nmodule.exports = class ExceptionHandler {\n /**\n * TODO: add contructor description\n * @param {!Logger} logger - TODO: add param description\n */\n constructor(logger) {\n if (!logger) {\n throw new Error('Logger is required to handle exceptions');\n }\n\n this.logger = logger;\n this.handlers = new Map();\n }\n\n /**\n * Handles `uncaughtException` events for the current process by adding any\n * handlers passed in.\n * @returns {undefined}\n */\n handle(...args) {\n args.forEach(arg => {\n if (Array.isArray(arg)) {\n return arg.forEach(handler => this._addHandler(handler));\n }\n\n this._addHandler(arg);\n });\n\n if (!this.catcher) {\n this.catcher = this._uncaughtException.bind(this);\n process.on('uncaughtException', this.catcher);\n }\n }\n\n /**\n * Removes any handlers to `uncaughtException` events for the current\n * process. This does not modify the state of the `this.handlers` set.\n * @returns {undefined}\n */\n unhandle() {\n if (this.catcher) {\n process.removeListener('uncaughtException', this.catcher);\n this.catcher = false;\n\n Array.from(this.handlers.values())\n .forEach(wrapper => this.logger.unpipe(wrapper));\n }\n }\n\n /**\n * TODO: add method description\n * @param {Error} err - Error to get information about.\n * @returns {mixed} - TODO: add return description.\n */\n getAllInfo(err) {\n let { message } = err;\n if (!message && typeof err === 'string') {\n message = err;\n }\n\n return {\n error: err,\n // TODO (indexzero): how do we configure this?\n level: 'error',\n message: [\n `uncaughtException: ${(message || '(no error message)')}`,\n err.stack || ' No stack trace'\n ].join('\\n'),\n stack: err.stack,\n exception: true,\n date: new Date().toString(),\n process: this.getProcessInfo(),\n os: this.getOsInfo(),\n trace: this.getTrace(err)\n };\n }\n\n /**\n * Gets all relevant process information for the currently running process.\n * @returns {mixed} - TODO: add return description.\n */\n getProcessInfo() {\n return {\n pid: process.pid,\n uid: process.getuid ? process.getuid() : null,\n gid: process.getgid ? process.getgid() : null,\n cwd: process.cwd(),\n execPath: process.execPath,\n version: process.version,\n argv: process.argv,\n memoryUsage: process.memoryUsage()\n };\n }\n\n /**\n * Gets all relevant OS information for the currently running process.\n * @returns {mixed} - TODO: add return description.\n */\n getOsInfo() {\n return {\n loadavg: os.loadavg(),\n uptime: os.uptime()\n };\n }\n\n /**\n * Gets a stack trace for the specified error.\n * @param {mixed} err - TODO: add param description.\n * @returns {mixed} - TODO: add return description.\n */\n getTrace(err) {\n const trace = err ? stackTrace.parse(err) : stackTrace.get();\n return trace.map(site => {\n return {\n column: site.getColumnNumber(),\n file: site.getFileName(),\n function: site.getFunctionName(),\n line: site.getLineNumber(),\n method: site.getMethodName(),\n native: site.isNative()\n };\n });\n }\n\n /**\n * Helper method to add a transport as an exception handler.\n * @param {Transport} handler - The transport to add as an exception handler.\n * @returns {void}\n */\n _addHandler(handler) {\n if (!this.handlers.has(handler)) {\n handler.handleExceptions = true;\n const wrapper = new ExceptionStream(handler);\n this.handlers.set(handler, wrapper);\n this.logger.pipe(wrapper);\n }\n }\n\n /**\n * Logs all relevant information around the `err` and exits the current\n * process.\n * @param {Error} err - Error to handle\n * @returns {mixed} - TODO: add return description.\n * @private\n */\n _uncaughtException(err) {\n const info = this.getAllInfo(err);\n const handlers = this._getExceptionHandlers();\n // Calculate if we should exit on this error\n let doExit = typeof this.logger.exitOnError === 'function'\n ? this.logger.exitOnError(err)\n : this.logger.exitOnError;\n let timeout;\n\n if (!handlers.length && doExit) {\n // eslint-disable-next-line no-console\n console.warn('winston: exitOnError cannot be true with no exception handlers.');\n // eslint-disable-next-line no-console\n console.warn('winston: not exiting process.');\n doExit = false;\n }\n\n function gracefulExit() {\n debug('doExit', doExit);\n debug('process._exiting', process._exiting);\n\n if (doExit && !process._exiting) {\n // Remark: Currently ignoring any exceptions from transports when\n // catching uncaught exceptions.\n if (timeout) {\n clearTimeout(timeout);\n }\n // eslint-disable-next-line no-process-exit\n process.exit(1);\n }\n }\n\n if (!handlers || handlers.length === 0) {\n return process.nextTick(gracefulExit);\n }\n\n // Log to all transports attempting to listen for when they are completed.\n asyncForEach(handlers, (handler, next) => {\n const done = once(next);\n const transport = handler.transport || handler;\n\n // Debug wrapping so that we can inspect what's going on under the covers.\n function onDone(event) {\n return () => {\n debug(event);\n done();\n };\n }\n\n transport._ending = true;\n transport.once('finish', onDone('finished'));\n transport.once('error', onDone('error'));\n }, () => doExit && gracefulExit());\n\n this.logger.log(info);\n\n // If exitOnError is true, then only allow the logging of exceptions to\n // take up to `3000ms`.\n if (doExit) {\n timeout = setTimeout(gracefulExit, 3000);\n }\n }\n\n /**\n * Returns the list of transports and exceptionHandlers for this instance.\n * @returns {Array} - List of transports and exceptionHandlers for this\n * instance.\n * @private\n */\n _getExceptionHandlers() {\n // Remark (indexzero): since `logger.transports` returns all of the pipes\n // from the _readableState of the stream we actually get the join of the\n // explicit handlers and the implicit transports with\n // `handleExceptions: true`\n return this.logger.transports.filter(wrap => {\n const transport = wrap.transport || wrap;\n return transport.handleExceptions;\n });\n }\n};\n","/**\n * exception-stream.js: TODO: add file header handler.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst { Writable } = require('readable-stream');\n\n/**\n * TODO: add class description.\n * @type {ExceptionStream}\n * @extends {Writable}\n */\nmodule.exports = class ExceptionStream extends Writable {\n /**\n * Constructor function for the ExceptionStream responsible for wrapping a\n * TransportStream; only allowing writes of `info` objects with\n * `info.exception` set to true.\n * @param {!TransportStream} transport - Stream to filter to exceptions\n */\n constructor(transport) {\n super({ objectMode: true });\n\n if (!transport) {\n throw new Error('ExceptionStream requires a TransportStream instance.');\n }\n\n // Remark (indexzero): we set `handleExceptions` here because it's the\n // predicate checked in ExceptionHandler.prototype.__getExceptionHandlers\n this.handleExceptions = true;\n this.transport = transport;\n }\n\n /**\n * Writes the info object to our transport instance if (and only if) the\n * `exception` property is set on the info.\n * @param {mixed} info - TODO: add param description.\n * @param {mixed} enc - TODO: add param description.\n * @param {mixed} callback - TODO: add param description.\n * @returns {mixed} - TODO: add return description.\n * @private\n */\n _write(info, enc, callback) {\n if (info.exception) {\n return this.transport.log(info, callback);\n }\n\n callback();\n return true;\n }\n};\n","/**\n * logger.js: TODO: add file header description.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst { Stream, Transform } = require('readable-stream');\nconst asyncForEach = require('async/forEach');\nconst { LEVEL, SPLAT } = require('triple-beam');\nconst isStream = require('is-stream');\nconst ExceptionHandler = require('./exception-handler');\nconst RejectionHandler = require('./rejection-handler');\nconst LegacyTransportStream = require('winston-transport/legacy');\nconst Profiler = require('./profiler');\nconst { warn } = require('./common');\nconst config = require('./config');\n\n/**\n * Captures the number of format (i.e. %s strings) in a given string.\n * Based on `util.format`, see Node.js source:\n * https://github.com/nodejs/node/blob/b1c8f15c5f169e021f7c46eb7b219de95fe97603/lib/util.js#L201-L230\n * @type {RegExp}\n */\nconst formatRegExp = /%[scdjifoO%]/g;\n\n/**\n * TODO: add class description.\n * @type {Logger}\n * @extends {Transform}\n */\nclass Logger extends Transform {\n /**\n * Constructor function for the Logger object responsible for persisting log\n * messages and metadata to one or more transports.\n * @param {!Object} options - foo\n */\n constructor(options) {\n super({ objectMode: true });\n this.configure(options);\n }\n\n child(defaultRequestMetadata) {\n const logger = this;\n return Object.create(logger, {\n write: {\n value: function (info) {\n const infoClone = Object.assign(\n {},\n defaultRequestMetadata,\n info\n );\n\n // Object.assign doesn't copy inherited Error\n // properties so we have to do that explicitly\n //\n // Remark (indexzero): we should remove this\n // since the errors format will handle this case.\n //\n if (info instanceof Error) {\n infoClone.stack = info.stack;\n infoClone.message = info.message;\n }\n\n logger.write(infoClone);\n }\n }\n });\n }\n\n /**\n * This will wholesale reconfigure this instance by:\n * 1. Resetting all transports. Older transports will be removed implicitly.\n * 2. Set all other options including levels, colors, rewriters, filters,\n * exceptionHandlers, etc.\n * @param {!Object} options - TODO: add param description.\n * @returns {undefined}\n */\n configure({\n silent,\n format,\n defaultMeta,\n levels,\n level = 'info',\n exitOnError = true,\n transports,\n colors,\n emitErrs,\n formatters,\n padLevels,\n rewriters,\n stripColors,\n exceptionHandlers,\n rejectionHandlers\n } = {}) {\n // Reset transports if we already have them\n if (this.transports.length) {\n this.clear();\n }\n\n this.silent = silent;\n this.format = format || this.format || require('logform/json')();\n\n this.defaultMeta = defaultMeta || null;\n // Hoist other options onto this instance.\n this.levels = levels || this.levels || config.npm.levels;\n this.level = level;\n this.exceptions = new ExceptionHandler(this);\n this.rejections = new RejectionHandler(this);\n this.profilers = {};\n this.exitOnError = exitOnError;\n\n // Add all transports we have been provided.\n if (transports) {\n transports = Array.isArray(transports) ? transports : [transports];\n transports.forEach(transport => this.add(transport));\n }\n\n if (\n colors ||\n emitErrs ||\n formatters ||\n padLevels ||\n rewriters ||\n stripColors\n ) {\n throw new Error(\n [\n '{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.',\n 'Use a custom winston.format(function) instead.',\n 'See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md'\n ].join('\\n')\n );\n }\n\n if (exceptionHandlers) {\n this.exceptions.handle(exceptionHandlers);\n }\n if (rejectionHandlers) {\n this.rejections.handle(rejectionHandlers);\n }\n }\n\n isLevelEnabled(level) {\n const givenLevelValue = getLevelValue(this.levels, level);\n if (givenLevelValue === null) {\n return false;\n }\n\n const configuredLevelValue = getLevelValue(this.levels, this.level);\n if (configuredLevelValue === null) {\n return false;\n }\n\n if (!this.transports || this.transports.length === 0) {\n return configuredLevelValue >= givenLevelValue;\n }\n\n const index = this.transports.findIndex(transport => {\n let transportLevelValue = getLevelValue(this.levels, transport.level);\n if (transportLevelValue === null) {\n transportLevelValue = configuredLevelValue;\n }\n return transportLevelValue >= givenLevelValue;\n });\n return index !== -1;\n }\n\n /* eslint-disable valid-jsdoc */\n /**\n * Ensure backwards compatibility with a `log` method\n * @param {mixed} level - Level the log message is written at.\n * @param {mixed} msg - TODO: add param description.\n * @param {mixed} meta - TODO: add param description.\n * @returns {Logger} - TODO: add return description.\n *\n * @example\n * // Supports the existing API:\n * logger.log('info', 'Hello world', { custom: true });\n * logger.log('info', new Error('Yo, it\\'s on fire'));\n *\n * // Requires winston.format.splat()\n * logger.log('info', '%s %d%%', 'A string', 50, { thisIsMeta: true });\n *\n * // And the new API with a single JSON literal:\n * logger.log({ level: 'info', message: 'Hello world', custom: true });\n * logger.log({ level: 'info', message: new Error('Yo, it\\'s on fire') });\n *\n * // Also requires winston.format.splat()\n * logger.log({\n * level: 'info',\n * message: '%s %d%%',\n * [SPLAT]: ['A string', 50],\n * meta: { thisIsMeta: true }\n * });\n *\n */\n /* eslint-enable valid-jsdoc */\n log(level, msg, ...splat) {\n // eslint-disable-line max-params\n // Optimize for the hotpath of logging JSON literals\n if (arguments.length === 1) {\n // Yo dawg, I heard you like levels ... seriously ...\n // In this context the LHS `level` here is actually the `info` so read\n // this as: info[LEVEL] = info.level;\n level[LEVEL] = level.level;\n this._addDefaultMeta(level);\n this.write(level);\n return this;\n }\n\n // Slightly less hotpath, but worth optimizing for.\n if (arguments.length === 2) {\n if (msg && typeof msg === 'object') {\n msg[LEVEL] = msg.level = level;\n this._addDefaultMeta(msg);\n this.write(msg);\n return this;\n }\n\n this.write({ [LEVEL]: level, level, message: msg });\n return this;\n }\n\n const [meta] = splat;\n if (typeof meta === 'object' && meta !== null) {\n // Extract tokens, if none available default to empty array to\n // ensure consistancy in expected results\n const tokens = msg && msg.match && msg.match(formatRegExp);\n\n if (!tokens) {\n const info = Object.assign({}, this.defaultMeta, meta, {\n [LEVEL]: level,\n [SPLAT]: splat,\n level,\n message: msg\n });\n\n if (meta.message) info.message += `${meta.message}`;\n if (meta.stack) info.stack = meta.stack;\n\n this.write(info);\n return this;\n }\n }\n\n this.write(Object.assign({}, this.defaultMeta, {\n [LEVEL]: level,\n [SPLAT]: splat,\n level,\n message: msg\n }));\n\n return this;\n }\n\n /**\n * Pushes data so that it can be picked up by all of our pipe targets.\n * @param {mixed} info - TODO: add param description.\n * @param {mixed} enc - TODO: add param description.\n * @param {mixed} callback - Continues stream processing.\n * @returns {undefined}\n * @private\n */\n _transform(info, enc, callback) {\n if (this.silent) {\n return callback();\n }\n\n // [LEVEL] is only soft guaranteed to be set here since we are a proper\n // stream. It is likely that `info` came in through `.log(info)` or\n // `.info(info)`. If it is not defined, however, define it.\n // This LEVEL symbol is provided by `triple-beam` and also used in:\n // - logform\n // - winston-transport\n // - abstract-winston-transport\n if (!info[LEVEL]) {\n info[LEVEL] = info.level;\n }\n\n // Remark: really not sure what to do here, but this has been reported as\n // very confusing by pre winston@2.0.0 users as quite confusing when using\n // custom levels.\n if (!this.levels[info[LEVEL]] && this.levels[info[LEVEL]] !== 0) {\n // eslint-disable-next-line no-console\n console.error('[winston] Unknown logger level: %s', info[LEVEL]);\n }\n\n // Remark: not sure if we should simply error here.\n if (!this._readableState.pipes) {\n // eslint-disable-next-line no-console\n console.error(\n '[winston] Attempt to write logs with no transports %j',\n info\n );\n }\n\n // Here we write to the `format` pipe-chain, which on `readable` above will\n // push the formatted `info` Object onto the buffer for this instance. We trap\n // (and re-throw) any errors generated by the user-provided format, but also\n // guarantee that the streams callback is invoked so that we can continue flowing.\n try {\n this.push(this.format.transform(info, this.format.options));\n } catch (ex) {\n throw ex;\n } finally {\n // eslint-disable-next-line callback-return\n callback();\n }\n }\n\n /**\n * Delays the 'finish' event until all transport pipe targets have\n * also emitted 'finish' or are already finished.\n * @param {mixed} callback - Continues stream processing.\n */\n _final(callback) {\n const transports = this.transports.slice();\n asyncForEach(\n transports,\n (transport, next) => {\n if (!transport || transport.finished) return setImmediate(next);\n transport.once('finish', next);\n transport.end();\n },\n callback\n );\n }\n\n /**\n * Adds the transport to this logger instance by piping to it.\n * @param {mixed} transport - TODO: add param description.\n * @returns {Logger} - TODO: add return description.\n */\n add(transport) {\n // Support backwards compatibility with all existing `winston < 3.x.x`\n // transports which meet one of two criteria:\n // 1. They inherit from winston.Transport in < 3.x.x which is NOT a stream.\n // 2. They expose a log method which has a length greater than 2 (i.e. more then\n // just `log(info, callback)`.\n const target =\n !isStream(transport) || transport.log.length > 2\n ? new LegacyTransportStream({ transport })\n : transport;\n\n if (!target._writableState || !target._writableState.objectMode) {\n throw new Error(\n 'Transports must WritableStreams in objectMode. Set { objectMode: true }.'\n );\n }\n\n // Listen for the `error` event and the `warn` event on the new Transport.\n this._onEvent('error', target);\n this._onEvent('warn', target);\n this.pipe(target);\n\n if (transport.handleExceptions) {\n this.exceptions.handle();\n }\n\n if (transport.handleRejections) {\n this.rejections.handle();\n }\n\n return this;\n }\n\n /**\n * Removes the transport from this logger instance by unpiping from it.\n * @param {mixed} transport - TODO: add param description.\n * @returns {Logger} - TODO: add return description.\n */\n remove(transport) {\n let target = transport;\n if (!isStream(transport) || transport.log.length > 2) {\n target = this.transports.filter(\n match => match.transport === transport\n )[0];\n }\n\n if (target) {\n this.unpipe(target);\n }\n return this;\n }\n\n /**\n * Removes all transports from this logger instance.\n * @returns {Logger} - TODO: add return description.\n */\n clear() {\n this.unpipe();\n return this;\n }\n\n /**\n * Cleans up resources (streams, event listeners) for all transports\n * associated with this instance (if necessary).\n * @returns {Logger} - TODO: add return description.\n */\n close() {\n this.clear();\n this.emit('close');\n return this;\n }\n\n /**\n * Sets the `target` levels specified on this instance.\n * @param {Object} Target levels to use on this instance.\n */\n setLevels() {\n warn.deprecated('setLevels');\n }\n\n /**\n * Queries the all transports for this instance with the specified `options`.\n * This will aggregate each transport's results into one object containing\n * a property per transport.\n * @param {Object} options - Query options for this instance.\n * @param {function} callback - Continuation to respond to when complete.\n */\n query(options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n options = options || {};\n const results = {};\n const queryObject = Object.assign({}, options.query || {});\n\n // Helper function to query a single transport\n function queryTransport(transport, next) {\n if (options.query && typeof transport.formatQuery === 'function') {\n options.query = transport.formatQuery(queryObject);\n }\n\n transport.query(options, (err, res) => {\n if (err) {\n return next(err);\n }\n\n if (typeof transport.formatResults === 'function') {\n res = transport.formatResults(res, options.format);\n }\n\n next(null, res);\n });\n }\n\n // Helper function to accumulate the results from `queryTransport` into\n // the `results`.\n function addResults(transport, next) {\n queryTransport(transport, (err, result) => {\n // queryTransport could potentially invoke the callback multiple times\n // since Transport code can be unpredictable.\n if (next) {\n result = err || result;\n if (result) {\n results[transport.name] = result;\n }\n\n // eslint-disable-next-line callback-return\n next();\n }\n\n next = null;\n });\n }\n\n // Iterate over the transports in parallel setting the appropriate key in\n // the `results`.\n asyncForEach(\n this.transports.filter(transport => !!transport.query),\n addResults,\n () => callback(null, results)\n );\n }\n\n /**\n * Returns a log stream for all transports. Options object is optional.\n * @param{Object} options={} - Stream options for this instance.\n * @returns {Stream} - TODO: add return description.\n */\n stream(options = {}) {\n const out = new Stream();\n const streams = [];\n\n out._streams = streams;\n out.destroy = () => {\n let i = streams.length;\n while (i--) {\n streams[i].destroy();\n }\n };\n\n // Create a list of all transports for this instance.\n this.transports\n .filter(transport => !!transport.stream)\n .forEach(transport => {\n const str = transport.stream(options);\n if (!str) {\n return;\n }\n\n streams.push(str);\n\n str.on('log', log => {\n log.transport = log.transport || [];\n log.transport.push(transport.name);\n out.emit('log', log);\n });\n\n str.on('error', err => {\n err.transport = err.transport || [];\n err.transport.push(transport.name);\n out.emit('error', err);\n });\n });\n\n return out;\n }\n\n /**\n * Returns an object corresponding to a specific timing. When done is called\n * the timer will finish and log the duration. e.g.:\n * @returns {Profile} - TODO: add return description.\n * @example\n * const timer = winston.startTimer()\n * setTimeout(() => {\n * timer.done({\n * message: 'Logging message'\n * });\n * }, 1000);\n */\n startTimer() {\n return new Profiler(this);\n }\n\n /**\n * Tracks the time inbetween subsequent calls to this method with the same\n * `id` parameter. The second call to this method will log the difference in\n * milliseconds along with the message.\n * @param {string} id Unique id of the profiler\n * @returns {Logger} - TODO: add return description.\n */\n profile(id, ...args) {\n const time = Date.now();\n if (this.profilers[id]) {\n const timeEnd = this.profilers[id];\n delete this.profilers[id];\n\n // Attempt to be kind to users if they are still using older APIs.\n if (typeof args[args.length - 2] === 'function') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Callback function no longer supported as of winston@3.0.0'\n );\n args.pop();\n }\n\n // Set the duration property of the metadata\n const info = typeof args[args.length - 1] === 'object' ? args.pop() : {};\n info.level = info.level || 'info';\n info.durationMs = time - timeEnd;\n info.message = info.message || id;\n return this.write(info);\n }\n\n this.profilers[id] = time;\n return this;\n }\n\n /**\n * Backwards compatibility to `exceptions.handle` in winston < 3.0.0.\n * @returns {undefined}\n * @deprecated\n */\n handleExceptions(...args) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Deprecated: .handleExceptions() will be removed in winston@4. Use .exceptions.handle()'\n );\n this.exceptions.handle(...args);\n }\n\n /**\n * Backwards compatibility to `exceptions.handle` in winston < 3.0.0.\n * @returns {undefined}\n * @deprecated\n */\n unhandleExceptions(...args) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Deprecated: .unhandleExceptions() will be removed in winston@4. Use .exceptions.unhandle()'\n );\n this.exceptions.unhandle(...args);\n }\n\n /**\n * Throw a more meaningful deprecation notice\n * @throws {Error} - TODO: add throws description.\n */\n cli() {\n throw new Error(\n [\n 'Logger.cli() was removed in winston@3.0.0',\n 'Use a custom winston.formats.cli() instead.',\n 'See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md'\n ].join('\\n')\n );\n }\n\n /**\n * Bubbles the `event` that occured on the specified `transport` up\n * from this instance.\n * @param {string} event - The event that occured\n * @param {Object} transport - Transport on which the event occured\n * @private\n */\n _onEvent(event, transport) {\n function transportEvent(err) {\n this.emit(event, err, transport);\n }\n\n if (!transport['__winston' + event]) {\n transport['__winston' + event] = transportEvent.bind(this);\n transport.on(event, transport['__winston' + event]);\n }\n }\n\n _addDefaultMeta(msg) {\n if (this.defaultMeta) {\n Object.assign(msg, this.defaultMeta);\n }\n }\n}\n\nfunction getLevelValue(levels, level) {\n const value = levels[level];\n if (!value && value !== 0) {\n return null;\n }\n return value;\n}\n\n/**\n * Represents the current readableState pipe targets for this Logger instance.\n * @type {Array|Object}\n */\nObject.defineProperty(Logger.prototype, 'transports', {\n configurable: false,\n enumerable: true,\n get() {\n const { pipes } = this._readableState;\n return !Array.isArray(pipes) ? [pipes].filter(Boolean) : pipes;\n }\n});\n\nmodule.exports = Logger;\n","/**\n * profiler.js: TODO: add file header description.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\n/**\n * TODO: add class description.\n * @type {Profiler}\n * @private\n */\nmodule.exports = class Profiler {\n /**\n * Constructor function for the Profiler instance used by\n * `Logger.prototype.startTimer`. When done is called the timer will finish\n * and log the duration.\n * @param {!Logger} logger - TODO: add param description.\n * @private\n */\n constructor(logger) {\n if (!logger) {\n throw new Error('Logger is required for profiling.');\n }\n\n this.logger = logger;\n this.start = Date.now();\n }\n\n /**\n * Ends the current timer (i.e. Profiler) instance and logs the `msg` along\n * with the duration since creation.\n * @returns {mixed} - TODO: add return description.\n * @private\n */\n done(...args) {\n if (typeof args[args.length - 1] === 'function') {\n // eslint-disable-next-line no-console\n console.warn('Callback function no longer supported as of winston@3.0.0');\n args.pop();\n }\n\n const info = typeof args[args.length - 1] === 'object' ? args.pop() : {};\n info.level = info.level || 'info';\n info.durationMs = (Date.now()) - this.start;\n\n return this.logger.write(info);\n }\n};\n","/**\n * exception-handler.js: Object for handling uncaughtException events.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst os = require('os');\nconst asyncForEach = require('async/forEach');\nconst debug = require('diagnostics')('winston:rejection');\nconst once = require('one-time');\nconst stackTrace = require('stack-trace');\nconst ExceptionStream = require('./exception-stream');\n\n/**\n * Object for handling unhandledRejection events.\n * @type {RejectionHandler}\n */\nmodule.exports = class RejectionHandler {\n /**\n * TODO: add contructor description\n * @param {!Logger} logger - TODO: add param description\n */\n constructor(logger) {\n if (!logger) {\n throw new Error('Logger is required to handle rejections');\n }\n\n this.logger = logger;\n this.handlers = new Map();\n }\n\n /**\n * Handles `unhandledRejection` events for the current process by adding any\n * handlers passed in.\n * @returns {undefined}\n */\n handle(...args) {\n args.forEach(arg => {\n if (Array.isArray(arg)) {\n return arg.forEach(handler => this._addHandler(handler));\n }\n\n this._addHandler(arg);\n });\n\n if (!this.catcher) {\n this.catcher = this._unhandledRejection.bind(this);\n process.on('unhandledRejection', this.catcher);\n }\n }\n\n /**\n * Removes any handlers to `unhandledRejection` events for the current\n * process. This does not modify the state of the `this.handlers` set.\n * @returns {undefined}\n */\n unhandle() {\n if (this.catcher) {\n process.removeListener('unhandledRejection', this.catcher);\n this.catcher = false;\n\n Array.from(this.handlers.values()).forEach(wrapper =>\n this.logger.unpipe(wrapper)\n );\n }\n }\n\n /**\n * TODO: add method description\n * @param {Error} err - Error to get information about.\n * @returns {mixed} - TODO: add return description.\n */\n getAllInfo(err) {\n let { message } = err;\n if (!message && typeof err === 'string') {\n message = err;\n }\n\n return {\n error: err,\n // TODO (indexzero): how do we configure this?\n level: 'error',\n message: [\n `unhandledRejection: ${message || '(no error message)'}`,\n err.stack || ' No stack trace'\n ].join('\\n'),\n stack: err.stack,\n exception: true,\n date: new Date().toString(),\n process: this.getProcessInfo(),\n os: this.getOsInfo(),\n trace: this.getTrace(err)\n };\n }\n\n /**\n * Gets all relevant process information for the currently running process.\n * @returns {mixed} - TODO: add return description.\n */\n getProcessInfo() {\n return {\n pid: process.pid,\n uid: process.getuid ? process.getuid() : null,\n gid: process.getgid ? process.getgid() : null,\n cwd: process.cwd(),\n execPath: process.execPath,\n version: process.version,\n argv: process.argv,\n memoryUsage: process.memoryUsage()\n };\n }\n\n /**\n * Gets all relevant OS information for the currently running process.\n * @returns {mixed} - TODO: add return description.\n */\n getOsInfo() {\n return {\n loadavg: os.loadavg(),\n uptime: os.uptime()\n };\n }\n\n /**\n * Gets a stack trace for the specified error.\n * @param {mixed} err - TODO: add param description.\n * @returns {mixed} - TODO: add return description.\n */\n getTrace(err) {\n const trace = err ? stackTrace.parse(err) : stackTrace.get();\n return trace.map(site => {\n return {\n column: site.getColumnNumber(),\n file: site.getFileName(),\n function: site.getFunctionName(),\n line: site.getLineNumber(),\n method: site.getMethodName(),\n native: site.isNative()\n };\n });\n }\n\n /**\n * Helper method to add a transport as an exception handler.\n * @param {Transport} handler - The transport to add as an exception handler.\n * @returns {void}\n */\n _addHandler(handler) {\n if (!this.handlers.has(handler)) {\n handler.handleExceptions = true;\n const wrapper = new ExceptionStream(handler);\n this.handlers.set(handler, wrapper);\n this.logger.pipe(wrapper);\n }\n }\n\n /**\n * Logs all relevant information around the `err` and exits the current\n * process.\n * @param {Error} err - Error to handle\n * @returns {mixed} - TODO: add return description.\n * @private\n */\n _unhandledRejection(err) {\n const info = this.getAllInfo(err);\n const handlers = this._getRejectionHandlers();\n // Calculate if we should exit on this error\n let doExit =\n typeof this.logger.exitOnError === 'function'\n ? this.logger.exitOnError(err)\n : this.logger.exitOnError;\n let timeout;\n\n if (!handlers.length && doExit) {\n // eslint-disable-next-line no-console\n console.warn('winston: exitOnError cannot be true with no rejection handlers.');\n // eslint-disable-next-line no-console\n console.warn('winston: not exiting process.');\n doExit = false;\n }\n\n function gracefulExit() {\n debug('doExit', doExit);\n debug('process._exiting', process._exiting);\n\n if (doExit && !process._exiting) {\n // Remark: Currently ignoring any rejections from transports when\n // catching unhandled rejections.\n if (timeout) {\n clearTimeout(timeout);\n }\n // eslint-disable-next-line no-process-exit\n process.exit(1);\n }\n }\n\n if (!handlers || handlers.length === 0) {\n return process.nextTick(gracefulExit);\n }\n\n // Log to all transports attempting to listen for when they are completed.\n asyncForEach(\n handlers,\n (handler, next) => {\n const done = once(next);\n const transport = handler.transport || handler;\n\n // Debug wrapping so that we can inspect what's going on under the covers.\n function onDone(event) {\n return () => {\n debug(event);\n done();\n };\n }\n\n transport._ending = true;\n transport.once('finish', onDone('finished'));\n transport.once('error', onDone('error'));\n },\n () => doExit && gracefulExit()\n );\n\n this.logger.log(info);\n\n // If exitOnError is true, then only allow the logging of exceptions to\n // take up to `3000ms`.\n if (doExit) {\n timeout = setTimeout(gracefulExit, 3000);\n }\n }\n\n /**\n * Returns the list of transports and exceptionHandlers for this instance.\n * @returns {Array} - List of transports and exceptionHandlers for this\n * instance.\n * @private\n */\n _getRejectionHandlers() {\n // Remark (indexzero): since `logger.transports` returns all of the pipes\n // from the _readableState of the stream we actually get the join of the\n // explicit handlers and the implicit transports with\n // `handleRejections: true`\n return this.logger.transports.filter(wrap => {\n const transport = wrap.transport || wrap;\n return transport.handleRejections;\n });\n }\n};\n","/**\n * tail-file.js: TODO: add file header description.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst fs = require('fs');\nconst { StringDecoder } = require('string_decoder');\nconst { Stream } = require('readable-stream');\n\n/**\n * Simple no-op function.\n * @returns {undefined}\n */\nfunction noop() {}\n\n/**\n * TODO: add function description.\n * @param {Object} options - Options for tail.\n * @param {function} iter - Iterator function to execute on every line.\n* `tail -f` a file. Options must include file.\n * @returns {mixed} - TODO: add return description.\n */\nmodule.exports = (options, iter) => {\n const buffer = Buffer.alloc(64 * 1024);\n const decode = new StringDecoder('utf8');\n const stream = new Stream();\n let buff = '';\n let pos = 0;\n let row = 0;\n\n if (options.start === -1) {\n delete options.start;\n }\n\n stream.readable = true;\n stream.destroy = () => {\n stream.destroyed = true;\n stream.emit('end');\n stream.emit('close');\n };\n\n fs.open(options.file, 'a+', '0644', (err, fd) => {\n if (err) {\n if (!iter) {\n stream.emit('error', err);\n } else {\n iter(err);\n }\n stream.destroy();\n return;\n }\n\n (function read() {\n if (stream.destroyed) {\n fs.close(fd, noop);\n return;\n }\n\n return fs.read(fd, buffer, 0, buffer.length, pos, (err, bytes) => {\n if (err) {\n if (!iter) {\n stream.emit('error', err);\n } else {\n iter(err);\n }\n stream.destroy();\n return;\n }\n\n if (!bytes) {\n if (buff) {\n // eslint-disable-next-line eqeqeq\n if (options.start == null || row > options.start) {\n if (!iter) {\n stream.emit('line', buff);\n } else {\n iter(null, buff);\n }\n }\n row++;\n buff = '';\n }\n return setTimeout(read, 1000);\n }\n\n let data = decode.write(buffer.slice(0, bytes));\n if (!iter) {\n stream.emit('data', data);\n }\n\n data = (buff + data).split(/\\n+/);\n\n const l = data.length - 1;\n let i = 0;\n\n for (; i < l; i++) {\n // eslint-disable-next-line eqeqeq\n if (options.start == null || row > options.start) {\n if (!iter) {\n stream.emit('line', data[i]);\n } else {\n iter(null, data[i]);\n }\n }\n row++;\n }\n\n buff = data[l];\n pos += bytes;\n return read();\n });\n }());\n });\n\n if (!iter) {\n return stream;\n }\n\n return stream.destroy;\n};\n","/* eslint-disable no-console */\n/*\n * console.js: Transport for outputting to the console.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst os = require('os');\nconst { LEVEL, MESSAGE } = require('triple-beam');\nconst TransportStream = require('winston-transport');\n\n/**\n * Transport for outputting to the console.\n * @type {Console}\n * @extends {TransportStream}\n */\nmodule.exports = class Console extends TransportStream {\n /**\n * Constructor function for the Console transport object responsible for\n * persisting log messages and metadata to a terminal or TTY.\n * @param {!Object} [options={}] - Options for this instance.\n */\n constructor(options = {}) {\n super(options);\n\n // Expose the name of this Transport on the prototype\n this.name = options.name || 'console';\n this.stderrLevels = this._stringArrayToSet(options.stderrLevels);\n this.consoleWarnLevels = this._stringArrayToSet(options.consoleWarnLevels);\n this.eol = options.eol || os.EOL;\n\n this.setMaxListeners(30);\n }\n\n /**\n * Core logging method exposed to Winston.\n * @param {Object} info - TODO: add param description.\n * @param {Function} callback - TODO: add param description.\n * @returns {undefined}\n */\n log(info, callback) {\n setImmediate(() => this.emit('logged', info));\n\n // Remark: what if there is no raw...?\n if (this.stderrLevels[info[LEVEL]]) {\n if (console._stderr) {\n // Node.js maps `process.stderr` to `console._stderr`.\n console._stderr.write(`${info[MESSAGE]}${this.eol}`);\n } else {\n // console.error adds a newline\n console.error(info[MESSAGE]);\n }\n\n if (callback) {\n callback(); // eslint-disable-line callback-return\n }\n return;\n } else if (this.consoleWarnLevels[info[LEVEL]]) {\n if (console._stderr) {\n // Node.js maps `process.stderr` to `console._stderr`.\n // in Node.js console.warn is an alias for console.error\n console._stderr.write(`${info[MESSAGE]}${this.eol}`);\n } else {\n // console.warn adds a newline\n console.warn(info[MESSAGE]);\n }\n\n if (callback) {\n callback(); // eslint-disable-line callback-return\n }\n return;\n }\n\n if (console._stdout) {\n // Node.js maps `process.stdout` to `console._stdout`.\n console._stdout.write(`${info[MESSAGE]}${this.eol}`);\n } else {\n // console.log adds a newline.\n console.log(info[MESSAGE]);\n }\n\n if (callback) {\n callback(); // eslint-disable-line callback-return\n }\n }\n\n /**\n * Returns a Set-like object with strArray's elements as keys (each with the\n * value true).\n * @param {Array} strArray - Array of Set-elements as strings.\n * @param {?string} [errMsg] - Custom error message thrown on invalid input.\n * @returns {Object} - TODO: add return description.\n * @private\n */\n _stringArrayToSet(strArray, errMsg) {\n if (!strArray)\n return {};\n\n errMsg = errMsg || 'Cannot make set from type other than Array of string elements';\n\n if (!Array.isArray(strArray)) {\n throw new Error(errMsg);\n }\n\n return strArray.reduce((set, el) => {\n if (typeof el !== 'string') {\n throw new Error(errMsg);\n }\n set[el] = true;\n\n return set;\n }, {});\n }\n};\n","/* eslint-disable complexity,max-statements */\n/**\n * file.js: Transport for outputting to a local log file.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\nconst asyncSeries = require('async/series');\nconst zlib = require('zlib');\nconst { MESSAGE } = require('triple-beam');\nconst { Stream, PassThrough } = require('readable-stream');\nconst TransportStream = require('winston-transport');\nconst debug = require('diagnostics')('winston:file');\nconst os = require('os');\nconst tailFile = require('../tail-file');\n\n/**\n * Transport for outputting to a local log file.\n * @type {File}\n * @extends {TransportStream}\n */\nmodule.exports = class File extends TransportStream {\n /**\n * Constructor function for the File transport object responsible for\n * persisting log messages and metadata to one or more files.\n * @param {Object} options - Options for this instance.\n */\n constructor(options = {}) {\n super(options);\n\n // Expose the name of this Transport on the prototype.\n this.name = options.name || 'file';\n\n // Helper function which throws an `Error` in the event that any of the\n // rest of the arguments is present in `options`.\n function throwIf(target, ...args) {\n args.slice(1).forEach(name => {\n if (options[name]) {\n throw new Error(`Cannot set ${name} and ${target} together`);\n }\n });\n }\n\n // Setup the base stream that always gets piped to to handle buffering.\n this._stream = new PassThrough();\n this._stream.setMaxListeners(30);\n\n // Bind this context for listener methods.\n this._onError = this._onError.bind(this);\n\n if (options.filename || options.dirname) {\n throwIf('filename or dirname', 'stream');\n this._basename = this.filename = options.filename\n ? path.basename(options.filename)\n : 'winston.log';\n\n this.dirname = options.dirname || path.dirname(options.filename);\n this.options = options.options || { flags: 'a' };\n } else if (options.stream) {\n // eslint-disable-next-line no-console\n console.warn('options.stream will be removed in winston@4. Use winston.transports.Stream');\n throwIf('stream', 'filename', 'maxsize');\n this._dest = this._stream.pipe(this._setupStream(options.stream));\n this.dirname = path.dirname(this._dest.path);\n // We need to listen for drain events when write() returns false. This\n // can make node mad at times.\n } else {\n throw new Error('Cannot log to file without filename or stream.');\n }\n\n this.maxsize = options.maxsize || null;\n this.rotationFormat = options.rotationFormat || false;\n this.zippedArchive = options.zippedArchive || false;\n this.maxFiles = options.maxFiles || null;\n this.eol = options.eol || os.EOL;\n this.tailable = options.tailable || false;\n\n // Internal state variables representing the number of files this instance\n // has created and the current size (in bytes) of the current logfile.\n this._size = 0;\n this._pendingSize = 0;\n this._created = 0;\n this._drain = false;\n this._opening = false;\n this._ending = false;\n\n if (this.dirname) this._createLogDirIfNotExist(this.dirname);\n this.open();\n }\n\n finishIfEnding() {\n if (this._ending) {\n if (this._opening) {\n this.once('open', () => {\n this._stream.once('finish', () => this.emit('finish'));\n setImmediate(() => this._stream.end());\n });\n } else {\n this._stream.once('finish', () => this.emit('finish'));\n setImmediate(() => this._stream.end());\n }\n }\n }\n\n\n /**\n * Core logging method exposed to Winston. Metadata is optional.\n * @param {Object} info - TODO: add param description.\n * @param {Function} callback - TODO: add param description.\n * @returns {undefined}\n */\n log(info, callback = () => {}) {\n // Remark: (jcrugzz) What is necessary about this callback(null, true) now\n // when thinking about 3.x? Should silent be handled in the base\n // TransportStream _write method?\n if (this.silent) {\n callback();\n return true;\n }\n\n // Output stream buffer is full and has asked us to wait for the drain event\n if (this._drain) {\n this._stream.once('drain', () => {\n this._drain = false;\n this.log(info, callback);\n });\n return;\n }\n if (this._rotate) {\n this._stream.once('rotate', () => {\n this._rotate = false;\n this.log(info, callback);\n });\n return;\n }\n\n // Grab the raw string and append the expected EOL.\n const output = `${info[MESSAGE]}${this.eol}`;\n const bytes = Buffer.byteLength(output);\n\n // After we have written to the PassThrough check to see if we need\n // to rotate to the next file.\n //\n // Remark: This gets called too early and does not depict when data\n // has been actually flushed to disk.\n function logged() {\n this._size += bytes;\n this._pendingSize -= bytes;\n\n debug('logged %s %s', this._size, output);\n this.emit('logged', info);\n\n // Do not attempt to rotate files while opening\n if (this._opening) {\n return;\n }\n\n // Check to see if we need to end the stream and create a new one.\n if (!this._needsNewFile()) {\n return;\n }\n\n // End the current stream, ensure it flushes and create a new one.\n // This could potentially be optimized to not run a stat call but its\n // the safest way since we are supporting `maxFiles`.\n this._rotate = true;\n this._endStream(() => this._rotateFile());\n }\n\n // Keep track of the pending bytes being written while files are opening\n // in order to properly rotate the PassThrough this._stream when the file\n // eventually does open.\n this._pendingSize += bytes;\n if (this._opening\n && !this.rotatedWhileOpening\n && this._needsNewFile(this._size + this._pendingSize)) {\n this.rotatedWhileOpening = true;\n }\n\n const written = this._stream.write(output, logged.bind(this));\n if (!written) {\n this._drain = true;\n this._stream.once('drain', () => {\n this._drain = false;\n callback();\n });\n } else {\n callback(); // eslint-disable-line callback-return\n }\n\n debug('written', written, this._drain);\n\n this.finishIfEnding();\n\n return written;\n }\n\n /**\n * Query the transport. Options object is optional.\n * @param {Object} options - Loggly-like query options for this instance.\n * @param {function} callback - Continuation to respond to when complete.\n * TODO: Refactor me.\n */\n query(options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n options = normalizeQuery(options);\n const file = path.join(this.dirname, this.filename);\n let buff = '';\n let results = [];\n let row = 0;\n\n const stream = fs.createReadStream(file, {\n encoding: 'utf8'\n });\n\n stream.on('error', err => {\n if (stream.readable) {\n stream.destroy();\n }\n if (!callback) {\n return;\n }\n\n return err.code !== 'ENOENT' ? callback(err) : callback(null, results);\n });\n\n stream.on('data', data => {\n data = (buff + data).split(/\\n+/);\n const l = data.length - 1;\n let i = 0;\n\n for (; i < l; i++) {\n if (!options.start || row >= options.start) {\n add(data[i]);\n }\n row++;\n }\n\n buff = data[l];\n });\n\n stream.on('close', () => {\n if (buff) {\n add(buff, true);\n }\n if (options.order === 'desc') {\n results = results.reverse();\n }\n\n // eslint-disable-next-line callback-return\n if (callback) callback(null, results);\n });\n\n function add(buff, attempt) {\n try {\n const log = JSON.parse(buff);\n if (check(log)) {\n push(log);\n }\n } catch (e) {\n if (!attempt) {\n stream.emit('error', e);\n }\n }\n }\n\n function push(log) {\n if (\n options.rows &&\n results.length >= options.rows &&\n options.order !== 'desc'\n ) {\n if (stream.readable) {\n stream.destroy();\n }\n return;\n }\n\n if (options.fields) {\n log = options.fields.reduce((obj, key) => {\n obj[key] = log[key];\n return obj;\n }, {});\n }\n\n if (options.order === 'desc') {\n if (results.length >= options.rows) {\n results.shift();\n }\n }\n results.push(log);\n }\n\n function check(log) {\n if (!log) {\n return;\n }\n\n if (typeof log !== 'object') {\n return;\n }\n\n const time = new Date(log.timestamp);\n if (\n (options.from && time < options.from) ||\n (options.until && time > options.until) ||\n (options.level && options.level !== log.level)\n ) {\n return;\n }\n\n return true;\n }\n\n function normalizeQuery(options) {\n options = options || {};\n\n // limit\n options.rows = options.rows || options.limit || 10;\n\n // starting row offset\n options.start = options.start || 0;\n\n // now\n options.until = options.until || new Date();\n if (typeof options.until !== 'object') {\n options.until = new Date(options.until);\n }\n\n // now - 24\n options.from = options.from || (options.until - (24 * 60 * 60 * 1000));\n if (typeof options.from !== 'object') {\n options.from = new Date(options.from);\n }\n\n // 'asc' or 'desc'\n options.order = options.order || 'desc';\n\n // which fields to select\n options.fields = options.fields;\n\n return options;\n }\n }\n\n /**\n * Returns a log stream for this transport. Options object is optional.\n * @param {Object} options - Stream options for this instance.\n * @returns {Stream} - TODO: add return description.\n * TODO: Refactor me.\n */\n stream(options = {}) {\n const file = path.join(this.dirname, this.filename);\n const stream = new Stream();\n const tail = {\n file,\n start: options.start\n };\n\n stream.destroy = tailFile(tail, (err, line) => {\n if (err) {\n return stream.emit('error', err);\n }\n\n try {\n stream.emit('data', line);\n line = JSON.parse(line);\n stream.emit('log', line);\n } catch (e) {\n stream.emit('error', e);\n }\n });\n\n return stream;\n }\n\n /**\n * Checks to see the filesize of.\n * @returns {undefined}\n */\n open() {\n // If we do not have a filename then we were passed a stream and\n // don't need to keep track of size.\n if (!this.filename) return;\n if (this._opening) return;\n\n this._opening = true;\n\n // Stat the target file to get the size and create the stream.\n this.stat((err, size) => {\n if (err) {\n return this.emit('error', err);\n }\n debug('stat done: %s { size: %s }', this.filename, size);\n this._size = size;\n this._dest = this._createStream(this._stream);\n this._opening = false;\n this.once('open', () => {\n if (this._stream.eventNames().includes('rotate')) {\n this._stream.emit('rotate');\n } else {\n this._rotate = false;\n }\n });\n });\n }\n\n /**\n * Stat the file and assess information in order to create the proper stream.\n * @param {function} callback - TODO: add param description.\n * @returns {undefined}\n */\n stat(callback) {\n const target = this._getFile();\n const fullpath = path.join(this.dirname, target);\n\n fs.stat(fullpath, (err, stat) => {\n if (err && err.code === 'ENOENT') {\n debug('ENOENT ok', fullpath);\n // Update internally tracked filename with the new target name.\n this.filename = target;\n return callback(null, 0);\n }\n\n if (err) {\n debug(`err ${err.code} ${fullpath}`);\n return callback(err);\n }\n\n if (!stat || this._needsNewFile(stat.size)) {\n // If `stats.size` is greater than the `maxsize` for this\n // instance then try again.\n return this._incFile(() => this.stat(callback));\n }\n\n // Once we have figured out what the filename is, set it\n // and return the size.\n this.filename = target;\n callback(null, stat.size);\n });\n }\n\n /**\n * Closes the stream associated with this instance.\n * @param {function} cb - TODO: add param description.\n * @returns {undefined}\n */\n close(cb) {\n if (!this._stream) {\n return;\n }\n\n this._stream.end(() => {\n if (cb) {\n cb(); // eslint-disable-line callback-return\n }\n this.emit('flush');\n this.emit('closed');\n });\n }\n\n /**\n * TODO: add method description.\n * @param {number} size - TODO: add param description.\n * @returns {undefined}\n */\n _needsNewFile(size) {\n size = size || this._size;\n return this.maxsize && size >= this.maxsize;\n }\n\n /**\n * TODO: add method description.\n * @param {Error} err - TODO: add param description.\n * @returns {undefined}\n */\n _onError(err) {\n this.emit('error', err);\n }\n\n /**\n * TODO: add method description.\n * @param {Stream} stream - TODO: add param description.\n * @returns {mixed} - TODO: add return description.\n */\n _setupStream(stream) {\n stream.on('error', this._onError);\n\n return stream;\n }\n\n /**\n * TODO: add method description.\n * @param {Stream} stream - TODO: add param description.\n * @returns {mixed} - TODO: add return description.\n */\n _cleanupStream(stream) {\n stream.removeListener('error', this._onError);\n\n return stream;\n }\n\n /**\n * TODO: add method description.\n */\n _rotateFile() {\n this._incFile(() => this.open());\n }\n\n /**\n * Unpipe from the stream that has been marked as full and end it so it\n * flushes to disk.\n *\n * @param {function} callback - Callback for when the current file has closed.\n * @private\n */\n _endStream(callback = () => {}) {\n if (this._dest) {\n this._stream.unpipe(this._dest);\n this._dest.end(() => {\n this._cleanupStream(this._dest);\n callback();\n });\n } else {\n callback(); // eslint-disable-line callback-return\n }\n }\n\n /**\n * Returns the WritableStream for the active file on this instance. If we\n * should gzip the file then a zlib stream is returned.\n *\n * @param {ReadableStream} source – PassThrough to pipe to the file when open.\n * @returns {WritableStream} Stream that writes to disk for the active file.\n */\n _createStream(source) {\n const fullpath = path.join(this.dirname, this.filename);\n\n debug('create stream start', fullpath, this.options);\n const dest = fs.createWriteStream(fullpath, this.options)\n // TODO: What should we do with errors here?\n .on('error', err => debug(err))\n .on('close', () => debug('close', dest.path, dest.bytesWritten))\n .on('open', () => {\n debug('file open ok', fullpath);\n this.emit('open', fullpath);\n source.pipe(dest);\n\n // If rotation occured during the open operation then we immediately\n // start writing to a new PassThrough, begin opening the next file\n // and cleanup the previous source and dest once the source has drained.\n if (this.rotatedWhileOpening) {\n this._stream = new PassThrough();\n this._stream.setMaxListeners(30);\n this._rotateFile();\n this.rotatedWhileOpening = false;\n this._cleanupStream(dest);\n source.end();\n }\n });\n\n debug('create stream ok', fullpath);\n if (this.zippedArchive) {\n const gzip = zlib.createGzip();\n gzip.pipe(dest);\n return gzip;\n }\n\n return dest;\n }\n\n /**\n * TODO: add method description.\n * @param {function} callback - TODO: add param description.\n * @returns {undefined}\n */\n _incFile(callback) {\n debug('_incFile', this.filename);\n const ext = path.extname(this._basename);\n const basename = path.basename(this._basename, ext);\n\n if (!this.tailable) {\n this._created += 1;\n this._checkMaxFilesIncrementing(ext, basename, callback);\n } else {\n this._checkMaxFilesTailable(ext, basename, callback);\n }\n }\n\n /**\n * Gets the next filename to use for this instance in the case that log\n * filesizes are being capped.\n * @returns {string} - TODO: add return description.\n * @private\n */\n _getFile() {\n const ext = path.extname(this._basename);\n const basename = path.basename(this._basename, ext);\n const isRotation = this.rotationFormat\n ? this.rotationFormat()\n : this._created;\n\n // Caveat emptor (indexzero): rotationFormat() was broken by design When\n // combined with max files because the set of files to unlink is never\n // stored.\n const target = !this.tailable && this._created\n ? `${basename}${isRotation}${ext}`\n : `${basename}${ext}`;\n\n return this.zippedArchive && !this.tailable\n ? `${target}.gz`\n : target;\n }\n\n /**\n * Increment the number of files created or checked by this instance.\n * @param {mixed} ext - TODO: add param description.\n * @param {mixed} basename - TODO: add param description.\n * @param {mixed} callback - TODO: add param description.\n * @returns {undefined}\n * @private\n */\n _checkMaxFilesIncrementing(ext, basename, callback) {\n // Check for maxFiles option and delete file.\n if (!this.maxFiles || this._created < this.maxFiles) {\n return setImmediate(callback);\n }\n\n const oldest = this._created - this.maxFiles;\n const isOldest = oldest !== 0 ? oldest : '';\n const isZipped = this.zippedArchive ? '.gz' : '';\n const filePath = `${basename}${isOldest}${ext}${isZipped}`;\n const target = path.join(this.dirname, filePath);\n\n fs.unlink(target, callback);\n }\n\n /**\n * Roll files forward based on integer, up to maxFiles. e.g. if base if\n * file.log and it becomes oversized, roll to file1.log, and allow file.log\n * to be re-used. If file is oversized again, roll file1.log to file2.log,\n * roll file.log to file1.log, and so on.\n * @param {mixed} ext - TODO: add param description.\n * @param {mixed} basename - TODO: add param description.\n * @param {mixed} callback - TODO: add param description.\n * @returns {undefined}\n * @private\n */\n _checkMaxFilesTailable(ext, basename, callback) {\n const tasks = [];\n if (!this.maxFiles) {\n return;\n }\n\n // const isZipped = this.zippedArchive ? '.gz' : '';\n const isZipped = this.zippedArchive ? '.gz' : '';\n for (let x = this.maxFiles - 1; x > 1; x--) {\n tasks.push(function (i, cb) {\n let fileName = `${basename}${(i - 1)}${ext}${isZipped}`;\n const tmppath = path.join(this.dirname, fileName);\n\n fs.exists(tmppath, exists => {\n if (!exists) {\n return cb(null);\n }\n\n fileName = `${basename}${i}${ext}${isZipped}`;\n fs.rename(tmppath, path.join(this.dirname, fileName), cb);\n });\n }.bind(this, x));\n }\n\n asyncSeries(tasks, () => {\n fs.rename(\n path.join(this.dirname, `${basename}${ext}`),\n path.join(this.dirname, `${basename}1${ext}${isZipped}`),\n callback\n );\n });\n }\n\n _createLogDirIfNotExist(dirPath) {\n /* eslint-disable no-sync */\n if (!fs.existsSync(dirPath)) {\n fs.mkdirSync(dirPath, { recursive: true });\n }\n /* eslint-enable no-sync */\n }\n};\n","/**\n * http.js: Transport for outputting to a json-rpcserver.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst http = require('http');\nconst https = require('https');\nconst { Stream } = require('readable-stream');\nconst TransportStream = require('winston-transport');\n\n/**\n * Transport for outputting to a json-rpc server.\n * @type {Stream}\n * @extends {TransportStream}\n */\nmodule.exports = class Http extends TransportStream {\n /**\n * Constructor function for the Http transport object responsible for\n * persisting log messages and metadata to a terminal or TTY.\n * @param {!Object} [options={}] - Options for this instance.\n */\n constructor(options = {}) {\n super(options);\n\n this.name = options.name || 'http';\n this.ssl = !!options.ssl;\n this.host = options.host || 'localhost';\n this.port = options.port;\n this.auth = options.auth;\n this.path = options.path || '';\n this.agent = options.agent;\n this.headers = options.headers || {};\n this.headers['content-type'] = 'application/json';\n\n if (!this.port) {\n this.port = this.ssl ? 443 : 80;\n }\n }\n\n /**\n * Core logging method exposed to Winston.\n * @param {Object} info - TODO: add param description.\n * @param {function} callback - TODO: add param description.\n * @returns {undefined}\n */\n log(info, callback) {\n this._request(info, (err, res) => {\n if (res && res.statusCode !== 200) {\n err = new Error(`Invalid HTTP Status Code: ${res.statusCode}`);\n }\n\n if (err) {\n this.emit('warn', err);\n } else {\n this.emit('logged', info);\n }\n });\n\n // Remark: (jcrugzz) Fire and forget here so requests dont cause buffering\n // and block more requests from happening?\n if (callback) {\n setImmediate(callback);\n }\n }\n\n /**\n * Query the transport. Options object is optional.\n * @param {Object} options - Loggly-like query options for this instance.\n * @param {function} callback - Continuation to respond to when complete.\n * @returns {undefined}\n */\n query(options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n options = {\n method: 'query',\n params: this.normalizeQuery(options)\n };\n\n if (options.params.path) {\n options.path = options.params.path;\n delete options.params.path;\n }\n\n if (options.params.auth) {\n options.auth = options.params.auth;\n delete options.params.auth;\n }\n\n this._request(options, (err, res, body) => {\n if (res && res.statusCode !== 200) {\n err = new Error(`Invalid HTTP Status Code: ${res.statusCode}`);\n }\n\n if (err) {\n return callback(err);\n }\n\n if (typeof body === 'string') {\n try {\n body = JSON.parse(body);\n } catch (e) {\n return callback(e);\n }\n }\n\n callback(null, body);\n });\n }\n\n /**\n * Returns a log stream for this transport. Options object is optional.\n * @param {Object} options - Stream options for this instance.\n * @returns {Stream} - TODO: add return description\n */\n stream(options = {}) {\n const stream = new Stream();\n options = {\n method: 'stream',\n params: options\n };\n\n if (options.params.path) {\n options.path = options.params.path;\n delete options.params.path;\n }\n\n if (options.params.auth) {\n options.auth = options.params.auth;\n delete options.params.auth;\n }\n\n let buff = '';\n const req = this._request(options);\n\n stream.destroy = () => req.destroy();\n req.on('data', data => {\n data = (buff + data).split(/\\n+/);\n const l = data.length - 1;\n\n let i = 0;\n for (; i < l; i++) {\n try {\n stream.emit('log', JSON.parse(data[i]));\n } catch (e) {\n stream.emit('error', e);\n }\n }\n\n buff = data[l];\n });\n req.on('error', err => stream.emit('error', err));\n\n return stream;\n }\n\n /**\n * Make a request to a winstond server or any http server which can\n * handle json-rpc.\n * @param {function} options - Options to sent the request.\n * @param {function} callback - Continuation to respond to when complete.\n */\n _request(options, callback) {\n options = options || {};\n\n const auth = options.auth || this.auth;\n const path = options.path || this.path || '';\n\n delete options.auth;\n delete options.path;\n\n // Prepare options for outgoing HTTP request\n const req = (this.ssl ? https : http).request({\n method: 'POST',\n host: this.host,\n port: this.port,\n path: `/${path.replace(/^\\//, '')}`,\n headers: this.headers,\n auth: auth ? (`${auth.username}:${auth.password}`) : '',\n agent: this.agent\n });\n\n req.on('error', callback);\n req.on('response', res => (\n res.on('end', () => callback(null, res)).resume()\n ));\n req.end(Buffer.from(JSON.stringify(options), 'utf8'));\n }\n};\n","/**\n * transports.js: Set of all transports Winston knows about.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\n/**\n * TODO: add property description.\n * @type {Console}\n */\nObject.defineProperty(exports, 'Console', {\n configurable: true,\n enumerable: true,\n get() {\n return require('./console');\n }\n});\n\n/**\n * TODO: add property description.\n * @type {File}\n */\nObject.defineProperty(exports, 'File', {\n configurable: true,\n enumerable: true,\n get() {\n return require('./file');\n }\n});\n\n/**\n * TODO: add property description.\n * @type {Http}\n */\nObject.defineProperty(exports, 'Http', {\n configurable: true,\n enumerable: true,\n get() {\n return require('./http');\n }\n});\n\n/**\n * TODO: add property description.\n * @type {Stream}\n */\nObject.defineProperty(exports, 'Stream', {\n configurable: true,\n enumerable: true,\n get() {\n return require('./stream');\n }\n});\n","/**\n * stream.js: Transport for outputting to any arbitrary stream.\n *\n * (C) 2010 Charlie Robbins\n * MIT LICENCE\n */\n\n'use strict';\n\nconst isStream = require('is-stream');\nconst { MESSAGE } = require('triple-beam');\nconst os = require('os');\nconst TransportStream = require('winston-transport');\n\n/**\n * Transport for outputting to any arbitrary stream.\n * @type {Stream}\n * @extends {TransportStream}\n */\nmodule.exports = class Stream extends TransportStream {\n /**\n * Constructor function for the Console transport object responsible for\n * persisting log messages and metadata to a terminal or TTY.\n * @param {!Object} [options={}] - Options for this instance.\n */\n constructor(options = {}) {\n super(options);\n\n if (!options.stream || !isStream(options.stream)) {\n throw new Error('options.stream is required.');\n }\n\n // We need to listen for drain events when write() returns false. This can\n // make node mad at times.\n this._stream = options.stream;\n this._stream.setMaxListeners(Infinity);\n this.isObjectMode = options.stream._writableState.objectMode;\n this.eol = options.eol || os.EOL;\n }\n\n /**\n * Core logging method exposed to Winston.\n * @param {Object} info - TODO: add param description.\n * @param {Function} callback - TODO: add param description.\n * @returns {undefined}\n */\n log(info, callback) {\n setImmediate(() => this.emit('logged', info));\n if (this.isObjectMode) {\n this._stream.write(info);\n if (callback) {\n callback(); // eslint-disable-line callback-return\n }\n return;\n }\n\n this._stream.write(`${info[MESSAGE]}${this.eol}`);\n if (callback) {\n callback(); // eslint-disable-line callback-return\n }\n return;\n }\n};\n","'use strict';\n\nconst codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error\n }\n\n function getMessage (arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message\n } else {\n return message(arg1, arg2, arg3)\n }\n }\n\n class NodeError extends Base {\n constructor (arg1, arg2, arg3) {\n super(getMessage(arg1, arg2, arg3));\n }\n }\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n\n codes[code] = NodeError;\n}\n\n// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n const len = expected.length;\n expected = expected.map((i) => String(i));\n if (len > 2) {\n return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +\n expected[len - 1];\n } else if (len === 2) {\n return `one of ${thing} ${expected[0]} or ${expected[1]}`;\n } else {\n return `of ${thing} ${expected[0]}`;\n }\n } else {\n return `of ${thing} ${String(expected)}`;\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction startsWith(str, search, pos) {\n\treturn str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n\tif (this_len === undefined || this_len > str.length) {\n\t\tthis_len = str.length;\n\t}\n\treturn str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"'\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n let determiner;\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n let msg;\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`;\n } else {\n const type = includes(name, '.') ? 'property' : 'argument';\n msg = `The \"${name}\" ${type} ${determiner} ${oneOf(expected, 'type')}`;\n }\n\n msg += `. Received type ${typeof actual}`;\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented'\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\n\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","'use strict';\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE;\n\nfunction from(Readable, iterable, opts) {\n var iterator;\n\n if (iterable && typeof iterable.next === 'function') {\n iterator = iterable;\n } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable);\n\n var readable = new Readable(_objectSpread({\n objectMode: true\n }, opts)); // Reading boolean to protect against _read\n // being called before last iteration completion.\n\n var reading = false;\n\n readable._read = function () {\n if (!reading) {\n reading = true;\n next();\n }\n };\n\n function next() {\n return _next2.apply(this, arguments);\n }\n\n function _next2() {\n _next2 = _asyncToGenerator(function* () {\n try {\n var _ref = yield iterator.next(),\n value = _ref.value,\n done = _ref.done;\n\n if (done) {\n readable.push(null);\n } else if (readable.push((yield value))) {\n next();\n } else {\n reading = false;\n }\n } catch (err) {\n readable.destroy(err);\n }\n });\n return _next2.apply(this, arguments);\n }\n\n return readable;\n}\n\nmodule.exports = from;","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('stream');\n","var Stream = require('stream');\nif (process.env.READABLE_STREAM === 'disable' && Stream) {\n module.exports = Stream.Readable;\n Object.assign(module.exports, Stream);\n module.exports.Stream = Stream;\n} else {\n exports = module.exports = require('./lib/_stream_readable.js');\n exports.Stream = Stream || exports;\n exports.Readable = exports;\n exports.Writable = require('./lib/_stream_writable.js');\n exports.Duplex = require('./lib/_stream_duplex.js');\n exports.Transform = require('./lib/_stream_transform.js');\n exports.PassThrough = require('./lib/_stream_passthrough.js');\n exports.finished = require('./lib/internal/streams/end-of-stream.js');\n exports.pipeline = require('./lib/internal/streams/pipeline.js');\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","module.exports = require(\"buffer\");;","module.exports = require(\"events\");;","module.exports = require(\"fs\");;","module.exports = require(\"http\");;","module.exports = require(\"https\");;","module.exports = require(\"module\");;","module.exports = require(\"net\");;","module.exports = require(\"os\");;","module.exports = require(\"path\");;","module.exports = require(\"stream\");;","module.exports = require(\"string_decoder\");;","module.exports = require(\"tty\");;","module.exports = require(\"util\");;","module.exports = require(\"vm\");;","module.exports = require(\"zlib\");;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"vscode\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"child_process\");;","import vscode, { Disposable } from \"vscode\";\nimport { NeovimClient } from \"neovim\";\n\nimport { NeovimExtensionRequestProcessable } from \"./neovim_events_processable\";\n\nexport class CommandsController implements Disposable, NeovimExtensionRequestProcessable {\n private client: NeovimClient;\n\n private disposables: Disposable[] = [];\n\n private revealCursorScrollLine: boolean;\n\n public constructor(client: NeovimClient, revealCursorScrollLine: boolean) {\n this.client = client;\n this.revealCursorScrollLine = revealCursorScrollLine;\n\n this.disposables.push(vscode.commands.registerCommand(\"vscode-neovim.ctrl-a-insert\", this.ctrlAInsert));\n this.disposables.push(vscode.commands.registerCommand(\"vscode-neovim.send\", (key) => this.sendToVim(key)));\n this.disposables.push(\n vscode.commands.registerCommand(\"vscode-neovim.paste-register\", (reg) => this.pasteFromRegister(reg)),\n );\n this.disposables.push(\n vscode.commands.registerCommand(\"vscode-neovim.ctrl-f\", () => this.scrollPage(\"page\", \"down\")),\n );\n this.disposables.push(\n vscode.commands.registerCommand(\"vscode-neovim.ctrl-b\", () => this.scrollPage(\"page\", \"up\")),\n );\n this.disposables.push(\n vscode.commands.registerCommand(\"vscode-neovim.ctrl-d\", () => this.scrollPage(\"halfPage\", \"down\")),\n );\n this.disposables.push(\n vscode.commands.registerCommand(\"vscode-neovim.ctrl-u\", () => this.scrollPage(\"halfPage\", \"up\")),\n );\n this.disposables.push(vscode.commands.registerCommand(\"vscode-neovim.ctrl-e\", () => this.scrollLine(\"down\")));\n this.disposables.push(vscode.commands.registerCommand(\"vscode-neovim.ctrl-y\", () => this.scrollLine(\"up\")));\n }\n\n public dispose(): void {\n for (const d of this.disposables) {\n d.dispose();\n }\n }\n\n public async handleExtensionRequest(name: string, args: unknown[]): Promise {\n switch (name) {\n case \"reveal\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [at, updateCursor] = args as any;\n this.revealLine(at, !!updateCursor);\n break;\n }\n case \"move-cursor\": {\n const [to] = args as [\"top\" | \"middle\" | \"bottom\"];\n this.goToLine(to);\n break;\n }\n case \"scroll\": {\n const [by, to] = args as [\"page\" | \"halfPage\", \"up\" | \"down\"];\n this.scrollPage(by, to);\n break;\n }\n case \"scroll-line\": {\n const [to] = args as [\"up\" | \"down\"];\n this.scrollLine(to);\n break;\n }\n case \"insert-line\": {\n const [type] = args as [\"before\" | \"after\"];\n await this.client.command(\"startinsert\");\n await vscode.commands.executeCommand(\n type === \"before\" ? \"editor.action.insertLineBefore\" : \"editor.action.insertLineAfter\",\n );\n break;\n }\n }\n }\n\n private sendToVim = (keys: string): void => {\n this.client.input(keys);\n };\n\n private ctrlAInsert = async (): Promise => {\n // Insert previously inserted text from the insert mode\n const editor = vscode.window.activeTextEditor;\n if (!editor) {\n return;\n }\n const lines: string[] = await this.client.callFunction(\"VSCodeGetLastInsertText\");\n if (!lines.length) {\n return;\n }\n await editor.edit((b) => b.insert(editor.selection.active, lines.join(\"\\n\")));\n };\n\n private async pasteFromRegister(registerName: string): Promise {\n // copy content from register in insert mode\n const editor = vscode.window.activeTextEditor;\n if (!editor) {\n return;\n }\n const content = await this.client.callFunction(\"VSCodeGetRegister\", [registerName]);\n if (content === \"\") {\n return;\n }\n await editor.edit((b) => b.insert(editor.selection.active, content));\n }\n\n /// SCROLL COMMANDS ///\n private scrollPage = (by: \"page\" | \"halfPage\", to: \"up\" | \"down\"): void => {\n vscode.commands.executeCommand(\"editorScroll\", { to, by, revealCursor: true });\n };\n\n private scrollLine = (to: \"up\" | \"down\"): void => {\n vscode.commands.executeCommand(\"editorScroll\", { to, by: \"line\", revealCursor: this.revealCursorScrollLine });\n };\n\n private goToLine = (to: \"top\" | \"middle\" | \"bottom\"): void => {\n const e = vscode.window.activeTextEditor;\n if (!e) {\n return;\n }\n const topVisible = e.visibleRanges[0].start.line;\n const bottomVisible = e.visibleRanges[0].end.line;\n const lineNum =\n to === \"top\"\n ? topVisible\n : to === \"bottom\"\n ? bottomVisible\n : Math.floor(topVisible + (bottomVisible - topVisible) / 2);\n const line = e.document.lineAt(lineNum);\n e.selections = [\n new vscode.Selection(\n lineNum,\n line.firstNonWhitespaceCharacterIndex,\n lineNum,\n line.firstNonWhitespaceCharacterIndex,\n ),\n ];\n };\n\n // zz, zt, zb and others\n private revealLine = (at: \"center\" | \"top\" | \"bottom\", resetCursor = false): void => {\n const e = vscode.window.activeTextEditor;\n if (!e) {\n return;\n }\n const cursor = e.selection.active;\n vscode.commands.executeCommand(\"revealLine\", { lineNumber: cursor.line, at });\n // z/z./z-\n if (resetCursor) {\n const line = e.document.lineAt(cursor.line);\n e.selections = [\n new vscode.Selection(\n cursor.line,\n line.firstNonWhitespaceCharacterIndex,\n cursor.line,\n line.firstNonWhitespaceCharacterIndex,\n ),\n ];\n }\n };\n}\n","/* eslint-disable prettier/prettier */\n/**\n * sorted list of non-overlapping intervals of non-spacing characters\n * generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\n */\nexport const combining = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF],\n];\n","import { combining } from './combining';\nconst DEFAULTS = {\n nul: 0,\n control: 0,\n};\n/**\n * The following functions define the column width of an ISO 10646\n * character as follows:\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value\n * of -1.\n * - Non-spacing and enclosing combining characters (general category\n * code Mn or Me in the\n * Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode\n * database) and ZERO WIDTH\n * SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF)\n * have a column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian\n * Full-width (F) category as\n * defined in Unicode Technical Report #11 have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and\n * WGL4 characters, Unicode control characters, etc.) have a column\n * width of 1.\n * This implementation assumes that characters are encoded in ISO 10646.\n */\nexport default function wcswidth(str, opts) {\n let settings = DEFAULTS;\n if (opts) {\n settings = { ...DEFAULTS, ...opts };\n }\n if (typeof str !== 'string') {\n return wcwidth(str, settings);\n }\n let s = 0;\n for (let i = 0; i < str.length; i++) {\n const n = wcwidth(str.charCodeAt(i), settings);\n if (n < 0) {\n return -1;\n }\n s += n;\n }\n return s;\n}\n// eslint-disable-next-line complexity\nfunction wcwidth(ucs, opts = DEFAULTS) {\n // Test for 8-bit control characters\n if (ucs === 0) {\n return opts.nul;\n }\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) {\n return opts.control;\n }\n // Binary search in table of non-spacing characters\n if (bisearch(ucs)) {\n return 0;\n }\n // If we arrive here, ucs is not a combining or C0/C1 control character\n return (1 +\n Number(ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd))));\n}\nfunction bisearch(ucs) {\n let min = 0;\n let max = combining.length - 1;\n let mid;\n if (ucs < combining[0][0] || ucs > combining[max][1]) {\n return false;\n }\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > combining[mid][1]) {\n min = mid + 1;\n }\n else if (ucs < combining[mid][0]) {\n max = mid - 1;\n }\n else {\n return true;\n }\n }\n return false;\n}\n","import { workspace, TextEditor, TextDocumentContentChangeEvent, Position, TextDocument, EndOfLine } from \"vscode\";\nimport { Diff } from \"fast-diff\";\nimport wcwidth from \"ts-wcwidth\";\nimport { NeovimClient } from \"neovim\";\n\nimport { Logger } from \"./logger\";\n\nexport const EXT_NAME = \"vscode-neovim\";\nexport const EXT_ID = `asvetliakov.${EXT_NAME}`;\n\nexport interface EditRange {\n start: number;\n end: number;\n newStart: number;\n newEnd: number;\n type: \"changed\" | \"removed\" | \"added\";\n}\n\nexport interface GridConf {\n winId: number;\n cursorLine: number;\n cursorPos: number;\n screenLine: number;\n screenPos: number;\n topScreenLineStr: string;\n bottomScreenLineStr: string;\n}\n\nexport type GridLineEvent = [number, number, number, [string, number, number][]];\n\n/**\n * Stores last changes information for dot repeat\n */\nexport interface DotRepeatChange {\n /**\n * Num of deleted characters, 0 when only added\n */\n rangeLength: number;\n /**\n * Range offset\n */\n rangeOffset: number;\n /**\n * Change text\n */\n text: string;\n /**\n * Set if it was the first change and started either through o or O\n */\n startMode?: \"o\" | \"O\";\n /**\n * Text eol\n */\n eol: string;\n}\n\nexport function processLineNumberStringFromEvent(\n event: GridLineEvent,\n lineNumberHlId: number,\n prevString: string,\n): string {\n const [, , colStart, cells] = event;\n if (!cells.length || cells[0][1] !== lineNumberHlId) {\n return prevString;\n }\n\n let lineNumStr = \"\";\n for (const [text, hlId, repeat] of cells) {\n if (hlId != null && hlId !== lineNumberHlId) {\n break;\n }\n for (let i = 0; i < (repeat || 1); i++) {\n lineNumStr += text;\n }\n }\n const newStr = prevString.slice(0, colStart) + lineNumStr + prevString.slice(colStart + lineNumStr.length);\n return newStr;\n}\n\nexport function getLineFromLineNumberString(lineStr: string): number {\n const num = parseInt(lineStr.trim(), 10);\n return isNaN(num) ? 0 : num - 1;\n}\n\nexport function convertLineNumberToString(line: number): string {\n let lineNumStr = line.toString(10);\n // prepend \" \" for empty lines\n for (let i = lineNumStr.length; i < 7; i++) {\n lineNumStr = \" \" + lineNumStr;\n }\n return lineNumStr + \" \";\n}\n\n// Copied from https://github.com/google/diff-match-patch/blob/master/javascript/diff_match_patch_uncompressed.js\nexport function diffLineToChars(text1: string, text2: string): { chars1: string; chars2: string; lineArray: string[] } {\n const lineArray: string[] = []; // e.g. lineArray[4] == 'Hello\\n'\n const lineHash: { [key: string]: number } = {}; // e.g. lineHash['Hello\\n'] == 4\n\n // '\\x00' is a valid character, but various debuggers don't like it.\n // So we'll insert a junk entry to avoid generating a null character.\n lineArray[0] = \"\";\n\n /**\n * Split a text into an array of strings. Reduce the texts to a string of\n * hashes where each Unicode character represents one line.\n * Modifies linearray and linehash through being a closure.\n * @param {string} text String to encode.\n * @return {string} Encoded string.\n * @private\n */\n const linesToCharsMunge = (text: string, maxLines: number): string => {\n let chars = \"\";\n // Walk the text, pulling out a substring for each line.\n // text.split('\\n') would would temporarily double our memory footprint.\n // Modifying text would create many large strings to garbage collect.\n let lineStart = 0;\n let lineEnd = -1;\n // Keeping our own length variable is faster than looking it up.\n let lineArrayLength = lineArray.length;\n while (lineEnd < text.length - 1) {\n lineEnd = text.indexOf(\"\\n\", lineStart);\n if (lineEnd == -1) {\n lineEnd = text.length - 1;\n }\n let line = text.substring(lineStart, lineEnd + 1);\n\n // eslint-disable-next-line no-prototype-builtins\n if (lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : lineHash[line] !== undefined) {\n chars += String.fromCharCode(lineHash[line]);\n } else {\n if (lineArrayLength == maxLines) {\n // Bail out at 65535 because\n // String.fromCharCode(65536) == String.fromCharCode(0)\n line = text.substring(lineStart);\n lineEnd = text.length;\n }\n chars += String.fromCharCode(lineArrayLength);\n lineHash[line] = lineArrayLength;\n lineArray[lineArrayLength++] = line;\n }\n lineStart = lineEnd + 1;\n }\n return chars;\n };\n // Allocate 2/3rds of the space for text1, the rest for text2.\n const chars1 = linesToCharsMunge(text1, 40000);\n const chars2 = linesToCharsMunge(text2, 65535);\n return { chars1: chars1, chars2: chars2, lineArray: lineArray };\n}\n\nexport function prepareEditRangesFromDiff(diffs: Diff[]): EditRange[] {\n const ranges: EditRange[] = [];\n // 0 - not changed, diff.length is length of non changed lines\n // 1 - added, length is added lines\n // -1 removed, length is removed lines\n let oldIdx = 0;\n let newIdx = 0;\n let currRange: EditRange | undefined;\n let currRangeDiff = 0;\n for (let i = 0; i < diffs.length; i++) {\n const [diffRes, diffStr] = diffs[i];\n if (diffRes === 0) {\n if (currRange) {\n // const diff = currRange.newEnd - currRange.newStart - (currRange.end - currRange.start);\n if (currRange.type === \"changed\") {\n // changed range is inclusive\n oldIdx += 1 + (currRange.end - currRange.start);\n newIdx += 1 + (currRange.newEnd - currRange.newStart);\n } else if (currRange.type === \"added\") {\n // added range is non inclusive\n newIdx += Math.abs(currRangeDiff);\n } else if (currRange.type === \"removed\") {\n // removed range is non inclusive\n oldIdx += Math.abs(currRangeDiff);\n }\n ranges.push(currRange);\n currRange = undefined;\n currRangeDiff = 0;\n }\n oldIdx += diffStr.length;\n newIdx += diffStr.length;\n // if first change is single newline, then it's being eaten into the equal diff. probably comes from optimization by trimming common prefix?\n // if (\n // ranges.length === 0 &&\n // diffStr.length !== 1 &&\n // diffs[i + 1] &&\n // diffs[i + 1][0] === 1 &&\n // diffs[i + 1][1].length === 1 &&\n // diffs[i + 1][1].charCodeAt(0) === 3\n // ) {\n // oldIdx--;\n // newIdx--;\n // }\n } else {\n if (!currRange) {\n currRange = {\n start: oldIdx,\n end: oldIdx,\n newStart: newIdx,\n newEnd: newIdx,\n type: \"changed\",\n };\n currRangeDiff = 0;\n }\n if (diffRes === -1) {\n // handle single string change, the diff will be -1,1 in this case\n if (diffStr.length === 1 && diffs[i + 1] && diffs[i + 1][0] === 1 && diffs[i + 1][1].length === 1) {\n i++;\n continue;\n }\n currRange.type = \"removed\";\n currRange.end += diffStr.length - 1;\n currRangeDiff = -diffStr.length;\n } else {\n if (currRange.type === \"removed\") {\n currRange.type = \"changed\";\n } else {\n currRange.type = \"added\";\n }\n currRange.newEnd += diffStr.length - 1;\n currRangeDiff += diffStr.length;\n }\n }\n }\n if (currRange) {\n ranges.push(currRange);\n }\n return ranges;\n}\n\nfunction getBytesFromCodePoint(point?: number): number {\n if (point == null) {\n return 0;\n }\n if (point <= 0x7f) {\n return 1;\n }\n if (point <= 0x7ff) {\n return 2;\n }\n if (point >= 0xd800 && point <= 0xdfff) {\n // Surrogate pair: These take 4 bytes in UTF-8 and 2 chars in UCS-2\n return 4;\n }\n if (point < 0xffff) {\n return 3;\n }\n return 4;\n}\n\nexport function convertCharNumToByteNum(line: string, col: number): number {\n if (col === 0 || !line) {\n return 0;\n }\n\n let currCharNum = 0;\n let totalBytes = 0;\n while (currCharNum < col) {\n // VIM treats 2 bytes as 1 char pos for grid_cursor_goto/grid_lines (https://github.com/asvetliakov/vscode-neovim/issues/127)\n // but for setting cursor we must use original byte length\n const bytes = getBytesFromCodePoint(line.codePointAt(currCharNum));\n totalBytes += bytes;\n currCharNum++;\n if (currCharNum >= line.length) {\n return totalBytes;\n }\n }\n return totalBytes;\n}\n\nexport function convertByteNumToCharNum(line: string, col: number): number {\n let totalBytes = 0;\n let currCharNum = 0;\n while (totalBytes < col) {\n if (currCharNum >= line.length) {\n return currCharNum + (col - totalBytes);\n }\n totalBytes += getBytesFromCodePoint(line.codePointAt(currCharNum));\n currCharNum++;\n }\n return currCharNum;\n}\n\nexport function calculateEditorColFromVimScreenCol(\n line: string,\n screenCol: number,\n tabSize = 1,\n useBytes = false,\n): number {\n if (screenCol === 0 || !line) {\n return 0;\n }\n let currentCharIdx = 0;\n let currentVimCol = 0;\n while (currentVimCol < screenCol) {\n currentVimCol +=\n line[currentCharIdx] === \"\\t\"\n ? tabSize - (currentVimCol % tabSize)\n : useBytes\n ? getBytesFromCodePoint(line.codePointAt(currentCharIdx))\n : wcwidth(line[currentCharIdx]);\n\n currentCharIdx++;\n if (currentCharIdx >= line.length) {\n return currentCharIdx;\n }\n }\n return currentCharIdx;\n}\n\nexport function getEditorCursorPos(editor: TextEditor, conf: GridConf): { line: number; col: number } {\n const topScreenLine = getLineFromLineNumberString(conf.topScreenLineStr);\n const cursorLine = topScreenLine + conf.screenLine;\n if (cursorLine >= editor.document.lineCount) {\n // rarely happens, but could, usually for external help files when text is not available now (due to async edit or so)\n return {\n col: conf.screenPos,\n line: cursorLine,\n };\n }\n const line = editor.document.lineAt(cursorLine).text;\n const col = calculateEditorColFromVimScreenCol(line, conf.screenPos);\n return {\n line: cursorLine,\n col,\n };\n}\n\nexport function isChangeSubsequentToChange(\n change: TextDocumentContentChangeEvent,\n lastChange: DotRepeatChange,\n): boolean {\n const lastChangeTextLength = lastChange.text.length;\n const lastChangeOffsetStart = lastChange.rangeOffset;\n const lastChangeOffsetEnd = lastChange.rangeOffset + lastChangeTextLength;\n\n if (change.rangeOffset >= lastChangeOffsetStart && change.rangeOffset <= lastChangeOffsetEnd) {\n return true;\n }\n\n if (\n change.rangeOffset < lastChangeOffsetStart &&\n change.rangeOffset + change.rangeLength >= lastChangeOffsetStart\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function isCursorChange(change: TextDocumentContentChangeEvent, cursor: Position, eol: string): boolean {\n if (change.range.contains(cursor)) {\n return true;\n }\n if (change.range.isSingleLine && change.text) {\n const lines = change.text.split(eol);\n const lineLength = lines.length;\n const newEndLineRange = change.range.start.line + lineLength - 1;\n const newEndLastLineCharRange = change.range.end.character + lines.slice(-1)[0].length;\n if (newEndLineRange >= cursor.line && newEndLastLineCharRange >= cursor.character) {\n return true;\n }\n }\n return false;\n}\n\ntype LegacySettingName = \"neovimPath\" | \"neovimInitPath\";\ntype SettingPrefix = \"neovimExecutablePaths\" | \"neovimInitVimPaths\"; //this needs to be aligned with setting names in package.json\ntype Platform = \"win32\" | \"darwin\" | \"linux\";\n\nfunction getSystemSpecificSetting(\n settingPrefix: SettingPrefix,\n legacySetting: { environmentVariableName?: \"NEOVIM_PATH\"; vscodeSettingName: LegacySettingName },\n): string | undefined {\n const settings = workspace.getConfiguration(EXT_NAME);\n const isUseWindowsSubsystemForLinux = settings.get(\"useWSL\");\n\n //https://github.com/microsoft/vscode/blob/master/src/vs/base/common/platform.ts#L63\n const platform = process.platform as \"win32\" | \"darwin\" | \"linux\";\n\n const legacyEnvironmentVariable =\n legacySetting.environmentVariableName && process.env[legacySetting.environmentVariableName];\n\n //some system specific settings can be loaded from process.env and value from env will override setting value\n const legacySettingValue = legacyEnvironmentVariable || settings.get(legacySetting.vscodeSettingName);\n if (legacySettingValue) {\n return legacySettingValue;\n } else if (isUseWindowsSubsystemForLinux && platform === \"win32\") {\n return settings.get(`${settingPrefix}.${\"linux\" as Platform}`);\n } else {\n return settings.get(`${settingPrefix}.${platform}`);\n }\n}\n\nexport function getNeovimPath(): string | undefined {\n const legacySettingInfo = {\n vscodeSettingName: \"neovimPath\",\n environmentVariableName: \"NEOVIM_PATH\",\n } as const;\n return getSystemSpecificSetting(\"neovimExecutablePaths\", legacySettingInfo);\n}\n\nexport function getNeovimInitPath(): string | undefined {\n const legacySettingInfo = {\n vscodeSettingName: \"neovimInitPath\",\n } as const;\n return getSystemSpecificSetting(\"neovimInitVimPaths\", legacySettingInfo);\n}\n\nexport function normalizeDotRepeatChange(\n change: TextDocumentContentChangeEvent,\n eol: string,\n startMode?: \"o\" | \"O\",\n): DotRepeatChange {\n return {\n rangeLength: change.rangeLength,\n rangeOffset: change.rangeOffset,\n text: change.text,\n startMode,\n eol,\n };\n}\n\nexport function accumulateDotRepeatChange(\n change: TextDocumentContentChangeEvent,\n lastChange: DotRepeatChange,\n): DotRepeatChange {\n const newLastChange: DotRepeatChange = {\n ...lastChange,\n };\n\n const removedLength =\n change.rangeOffset <= lastChange.rangeOffset\n ? change.rangeOffset - lastChange.rangeOffset + change.rangeLength\n : change.rangeLength;\n\n const sliceBeforeStart = 0;\n const sliceBeforeEnd =\n change.rangeOffset <= lastChange.rangeOffset\n ? // ? sliceBeforeStart + removedLength\n 0\n : change.rangeOffset - lastChange.rangeOffset;\n\n const sliceAfterStart = change.rangeOffset - lastChange.rangeOffset + removedLength;\n\n // adjust text\n newLastChange.text =\n lastChange.text.slice(sliceBeforeStart, sliceBeforeEnd) + change.text + lastChange.text.slice(sliceAfterStart);\n\n // adjust offset & range length\n // we need to account the case only when text was deleted before the original change\n if (change.rangeOffset < lastChange.rangeOffset) {\n newLastChange.rangeOffset = change.rangeOffset;\n newLastChange.rangeLength += change.rangeLength;\n }\n return newLastChange;\n}\n\nexport function editorPositionToNeovimPosition(editor: TextEditor, position: Position): [number, number] {\n const lineText = editor.document.lineAt(position.line).text;\n const byteCol = convertCharNumToByteNum(lineText, position.character);\n return [position.line + 1, byteCol];\n}\n\nexport function getNeovimCursorPosFromEditor(editor: TextEditor): [number, number] {\n try {\n return editorPositionToNeovimPosition(editor, editor.selection.active);\n } catch {\n return [1, 0];\n }\n}\n\nexport function getDocumentLineArray(doc: TextDocument): string[] {\n const eol = doc.eol === EndOfLine.CRLF ? \"\\r\\n\" : \"\\n\";\n return doc.getText().split(eol);\n}\n\nexport function normalizeInputString(str: string, wrapEnter = true): string {\n let finalStr = str.replace(/\");\n if (wrapEnter) {\n finalStr = finalStr.replace(/\\n/g, \"\");\n }\n return finalStr;\n}\n\nexport function findLastEvent(name: string, batch: [string, ...unknown[]][]): [string, ...unknown[]] | undefined {\n for (let i = batch.length - 1; i >= 0; i--) {\n const [event] = batch[i];\n if (event === name) {\n return batch[i];\n }\n }\n}\n\n/**\n * Wrap nvim callAtomic and check for any errors in result\n * @param client\n * @param requests\n * @param logger\n * @param prefix\n */\nexport async function callAtomic(\n client: NeovimClient,\n requests: [string, unknown[]][],\n logger: Logger,\n prefix = \"\",\n): Promise {\n const res = await client.callAtomic(requests);\n const errors: string[] = [];\n if (res && Array.isArray(res) && Array.isArray(res[0])) {\n res[0].forEach((res, idx) => {\n if (res) {\n const call = requests[idx];\n const requestName = call?.[0];\n if (requestName !== \"nvim_input\") {\n errors.push(`${call?.[0] || \"Unknown\"}: ${res}`);\n }\n }\n });\n }\n if (errors.length) {\n logger.error(`${prefix}:\\n${errors.join(\"\\n\")}`);\n }\n}\n","import { EventEmitter } from \"events\";\n\nimport { NeovimClient } from \"neovim\";\nimport { commands, Disposable, window } from \"vscode\";\n\nimport { Logger } from \"./logger\";\nimport { NeovimExtensionRequestProcessable, NeovimRedrawProcessable } from \"./neovim_events_processable\";\nimport { findLastEvent } from \"./utils\";\n\nconst LOG_PREFIX = \"ModeManager\";\n\nexport class ModeManager implements Disposable, NeovimRedrawProcessable, NeovimExtensionRequestProcessable {\n private disposables: Disposable[] = [];\n /**\n * Current neovim mode\n */\n private mode = \"\";\n /**\n * True when macro recording in insert mode\n */\n private isRecording = false;\n\n private eventEmitter = new EventEmitter();\n\n public constructor(private logger: Logger, private client: NeovimClient) {\n this.disposables.push(window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor));\n }\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public get currentMode(): string {\n return this.mode;\n }\n\n public get isInsertMode(): boolean {\n return this.mode === \"insert\";\n }\n\n public get isVisualMode(): boolean {\n return this.mode === \"visual\";\n }\n\n public get isNormalMode(): boolean {\n return this.mode === \"normal\";\n }\n\n public get isRecordingInInsertMode(): boolean {\n return this.isRecording;\n }\n\n public onModeChange(callback: (newMode: string) => void): void {\n this.eventEmitter.on(\"neovimModeChanged\", callback);\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n const lastModeChange = findLastEvent(\"mode_change\", batch);\n if (lastModeChange) {\n const modeArg = lastModeChange[1] as [string, never] | undefined;\n if (modeArg && modeArg[0] && modeArg[0] !== this.mode) {\n const modeName = modeArg[0];\n this.logger.debug(`${LOG_PREFIX}: Changing mode to ${modeName}`);\n this.mode = modeName;\n if (!this.isInsertMode && this.isRecording) {\n this.isRecording = false;\n commands.executeCommand(\"setContext\", \"neovim.recording\", false);\n }\n commands.executeCommand(\"setContext\", \"neovim.mode\", this.mode);\n this.eventEmitter.emit(\"neovimModeChanged\", modeName);\n }\n }\n }\n\n public async handleExtensionRequest(name: string): Promise {\n if (name === \"notify-recording\") {\n this.logger.debug(`${LOG_PREFIX}: setting recording flag`);\n this.isRecording = true;\n commands.executeCommand(\"setContext\", \"neovim.recording\", true);\n }\n }\n\n private onDidChangeActiveTextEditor = (): void => {\n if (!this.isNormalMode) {\n commands.executeCommand(\"vscode-neovim.escape\");\n }\n };\n}\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import { debounce } from \"lodash-es\";\nimport { Buffer, NeovimClient, Window } from \"neovim\";\nimport { ATTACH } from \"neovim/lib/api/Buffer\";\nimport {\n commands,\n Disposable,\n EndOfLine,\n Selection,\n TextDocument,\n TextEditor,\n TextEditorOptionsChangeEvent,\n Uri,\n ViewColumn,\n window,\n workspace,\n} from \"vscode\";\n\nimport { Logger } from \"./logger\";\nimport { NeovimExtensionRequestProcessable, NeovimRedrawProcessable } from \"./neovim_events_processable\";\nimport { calculateEditorColFromVimScreenCol, callAtomic, getNeovimCursorPosFromEditor } from \"./utils\";\n\n// !Note: document and editors in vscode events and namespace are reference stable\n// ! Integration notes:\n// ! When opening an editor with a document first time, a buffer is created in neovim along with new window for each buffer\n// ! When switching off editor, the buffer is being hidden & unloaded in neovim if it's last visitlbe buffer (see :help bufhidden)\n\nexport interface BufferManagerSettings {\n neovimViewportWidth: number;\n neovimViewportHeight: number;\n}\n\nconst LOG_PREFIX = \"BufferManager\";\n\nconst BUFFER_NAME_PREFIX = \"__vscode_neovim__-\";\n\n/**\n * Manages neovim buffers and windows and maps them to vscode editors & documents\n */\nexport class BufferManager implements Disposable, NeovimRedrawProcessable, NeovimExtensionRequestProcessable {\n private disposables: Disposable[] = [];\n /**\n * Internal sync promise\n */\n private changeLayoutPromise?: Promise;\n private changeLayoutPromiseResolve?: () => void;\n /**\n * Currently opened editors\n * !Note: Order can be any, it doesn't relate to visible order\n */\n private openedEditors: TextEditor[] = [];\n /**\n * Text documents originated externally, as consequence of neovim command, like :help or :PlugStatus\n */\n private externalTextDocuments: WeakSet = new Set();\n /**\n * Mapping of vscode documents -> neovim buffer id\n */\n private textDocumentToBufferId: Map = new Map();\n /**\n * Mapping of vscode \"temp\" (without viewColumn) editor -> win id\n */\n private textEditorToWinId: Map = new Map();\n /**\n * Mapping of winId -> editor\n */\n private winIdToEditor: Map = new Map();\n /**\n * Current grid configurations\n */\n private grids: Map = new Map();\n /**\n * Tab configuration for each editor\n */\n private editorTabConfiguration: WeakMap = new WeakMap();\n\n /**\n * Buffer event delegate\n */\n public onBufferEvent?: (\n bufId: number,\n tick: number,\n firstLine: number,\n lastLine: number,\n linedata: string[],\n more: boolean,\n ) => void;\n\n public onBufferInit?: (bufferId: number, textDocument: TextDocument) => void;\n\n public constructor(private logger: Logger, private client: NeovimClient, private settings: BufferManagerSettings) {\n this.disposables.push(window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors));\n this.disposables.push(window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor));\n this.disposables.push(workspace.onDidCloseTextDocument(this.onDidCloseTextDocument));\n this.disposables.push(window.onDidChangeTextEditorOptions(this.onDidChangeEditorOptions));\n }\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public async forceResync(): Promise {\n this.logger.debug(`${LOG_PREFIX}: force resyncing layout`);\n await this.syncLayout();\n await this.syncActiveEditor();\n }\n\n public async waitForLayoutSync(): Promise {\n if (this.changeLayoutPromise) {\n this.logger.debug(`${LOG_PREFIX}: Waiting for completing layout resyncing`);\n await this.changeLayoutPromise;\n this.logger.debug(`${LOG_PREFIX}: Waiting done`);\n }\n }\n\n public getTextDocumentForBufferId(id: number): TextDocument | undefined {\n const doc = [...this.textDocumentToBufferId].find(([, bufId]) => id === bufId)?.[0];\n return doc && !doc.isClosed ? doc : undefined;\n }\n\n public getBufferIdForTextDocument(doc: TextDocument): number | undefined {\n return this.textDocumentToBufferId.get(doc);\n }\n\n public getGridIdForWinId(winId: number): number | undefined {\n const grid = [...this.grids].reverse().find(([, conf]) => conf.winId === winId);\n return grid ? grid[0] : undefined;\n }\n\n public getWinIdForGridId(gridId: number): number | undefined {\n return this.grids.get(gridId)?.winId;\n }\n\n public getWinIdForTextEditor(editor: TextEditor): number | undefined {\n return this.textEditorToWinId.get(editor);\n }\n\n public getEditorFromWinId(winId: number): TextEditor | undefined {\n // try first noColumnEditors\n const noColumnEditor = [...this.textEditorToWinId].find(([, id]) => id === winId);\n if (noColumnEditor) {\n return noColumnEditor[0];\n }\n return this.winIdToEditor.get(winId);\n }\n\n public getGridIdFromEditor(editor: TextEditor): number | undefined {\n return this.getGridIdForWinId(this.getWinIdForTextEditor(editor) || 0);\n }\n\n public getEditorFromGridId(gridId: number): TextEditor | undefined {\n const winId = this.getWinIdForGridId(gridId);\n if (!winId) {\n return;\n }\n return this.getEditorFromWinId(winId);\n }\n\n public isExternalTextDocument(textDoc: TextDocument): boolean {\n if (textDoc.uri.scheme === \"output\") {\n return true;\n }\n return this.externalTextDocuments.has(textDoc);\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n for (const [name, ...args] of batch) {\n // const firstArg = args[0] || [];\n switch (name) {\n case \"win_external_pos\":\n case \"win_pos\": {\n for (const [grid, win] of args as [number, Window][]) {\n this.grids.set(grid, { winId: win.id });\n }\n break;\n }\n case \"win_close\": {\n for (const [grid] of args as [number][]) {\n this.grids.delete(grid);\n }\n break;\n }\n }\n }\n }\n\n public async handleExtensionRequest(name: string, args: unknown[]): Promise {\n switch (name) {\n case \"open-file\": {\n const [fileName, close] = args as [string, number | \"all\"];\n const currEditor = window.activeTextEditor;\n let doc: TextDocument | undefined;\n if (fileName === \"__vscode_new__\") {\n doc = await workspace.openTextDocument();\n } else {\n doc = await workspace.openTextDocument(fileName.trim());\n }\n if (!doc) {\n return;\n }\n let viewColumn: ViewColumn | undefined;\n if (close && close !== \"all\" && currEditor) {\n viewColumn = currEditor.viewColumn;\n await commands.executeCommand(\"workbench.action.revertAndCloseActiveEditor\");\n }\n await window.showTextDocument(doc, viewColumn);\n if (close === \"all\") {\n await commands.executeCommand(\"workbench.action.closeOtherEditors\");\n }\n break;\n }\n case \"external-buffer\": {\n const [name, idStr, expandTab, tabStop] = args as [string, string, number, number, number];\n if (name.startsWith(`${BUFFER_NAME_PREFIX}output:`)) {\n break;\n }\n const id = parseInt(idStr, 10);\n if (!(name && this.isVscodeUriName(name))) {\n this.logger.debug(`${LOG_PREFIX}: Attaching new external buffer: ${name}, id: ${id}`);\n if (id === 1) {\n this.logger.debug(`${LOG_PREFIX}: ${id} is the first neovim buffer, skipping`);\n return;\n }\n await this.attachNeovimExternalBuffer(name, id, !!expandTab, tabStop);\n } else if (name) {\n const normalizedName = name.startsWith(BUFFER_NAME_PREFIX) ? name.substr(18) : name;\n this.logger.debug(`${LOG_PREFIX}: Buffer request for ${normalizedName}, bufId: ${idStr}`);\n try {\n let doc = this.findDocFromUri(normalizedName);\n if (!doc) {\n this.logger.debug(`${LOG_PREFIX}: Opening a doc: ${normalizedName}`);\n doc = await workspace.openTextDocument(Uri.parse(normalizedName, true));\n }\n let forceTabOptions = false;\n if (!this.textDocumentToBufferId.has(doc)) {\n this.logger.debug(\n `${LOG_PREFIX}: No doc -> buffer mapping exists, assigning mapping and init buffer options`,\n );\n const buffers = await this.client.buffers;\n const buf = buffers.find((b) => b.id === id);\n if (buf) {\n forceTabOptions = true;\n await this.initBufferForDocument(doc, buf);\n }\n this.textDocumentToBufferId.set(doc, id);\n }\n if (window.activeTextEditor?.document !== doc) {\n // this.skipJumpsForUris.set(normalizedNamee, true);\n const editor = await window.showTextDocument(doc, {\n // viewColumn: vscode.ViewColumn.Active,\n // !need to force editor to appear in the same column even if vscode 'revealIfOpen' setting is true\n viewColumn: window.activeTextEditor\n ? window.activeTextEditor.viewColumn\n : ViewColumn.Active,\n preserveFocus: false,\n preview: false,\n });\n this.editorTabConfiguration.set(editor, {\n insertSpaces: editor.options.insertSpaces as boolean,\n tabSize: editor.options.tabSize as number,\n });\n if (forceTabOptions) {\n await this.resyncBufferTabOptions(editor, id);\n }\n }\n } catch {\n // todo: show error\n }\n }\n break;\n }\n }\n }\n\n /**\n * !Note when closing text editor with document, vscode sends onDidCloseTextDocument first\n * @param doc\n */\n private onDidCloseTextDocument = (doc: TextDocument): void => {\n const hasVisibleEditor = !!this.openedEditors.find((d) => d.document === doc);\n // we'll handle it in onDidChangeVisibleTextEditors()\n if (!hasVisibleEditor) {\n // const bufId = this.textDocumentToBufferId.get(doc);\n this.textDocumentToBufferId.delete(doc);\n // buffer unloading breaks jumplist https://github.com/asvetliakov/vscode-neovim/issues/350\n // if (bufId) {\n // this.unloadBuffer(bufId);\n // }\n }\n };\n\n private onDidChangeVisibleTextEditors = (): void => {\n // !since onDidChangeVisibleTextEditors/onDidChangeActiveTextEditor are synchronyous\n // !and we debounce this event, and possible init new buffers in neovim in async way\n // !we need to wait to complete last call before processing onDidChangeActiveTextEditor\n // !for this init a promise early, then resolve it after processing\n this.logger.debug(`${LOG_PREFIX}: onDidChangeVisibleTextEditors`);\n if (!this.changeLayoutPromise) {\n this.changeLayoutPromise = new Promise((res) => (this.changeLayoutPromiseResolve = res));\n }\n this.syncLayoutDebounced();\n };\n\n private onDidChangeActiveTextEditor = (): void => {\n this.logger.debug(`${LOG_PREFIX}: onDidChangeActiveTextEditor`);\n this.syncActiveEditorDebounced();\n };\n\n private syncLayout = async (): Promise => {\n this.logger.debug(`${LOG_PREFIX}: syncing layout`);\n // store in copy, just in case\n const currentVisibleEditors = [...window.visibleTextEditors];\n const prevVisibleEditors = this.openedEditors;\n\n const nvimRequests: [string, unknown[]][] = [];\n // Open/change neovim windows\n this.logger.debug(`${LOG_PREFIX}: new/changed editors/windows`);\n for (const visibleEditor of currentVisibleEditors) {\n this.logger.debug(\n `${LOG_PREFIX}: Visible editor, viewColumn: ${\n visibleEditor.viewColumn\n }, doc: ${visibleEditor.document.uri.toString()}`,\n );\n // create buffer first if not known to the system\n // creating initially not listed buffer to prevent firing autocmd events when\n // buffer name/lines are not yet set. We'll set buflisted after setup\n if (!this.textDocumentToBufferId.has(visibleEditor.document)) {\n this.logger.debug(`${LOG_PREFIX}: Document not known, init in neovim`);\n const buf = await this.client.createBuffer(false, true);\n if (typeof buf === \"number\") {\n this.logger.error(`${LOG_PREFIX}: Cannot create a buffer, code: ${buf}`);\n continue;\n }\n await this.initBufferForDocument(visibleEditor.document, buf, visibleEditor);\n\n this.logger.debug(\n `${LOG_PREFIX}: Document: ${visibleEditor.document.uri.toString()}, BufId: ${buf.id}`,\n );\n this.textDocumentToBufferId.set(visibleEditor.document, buf.id);\n }\n // editor wasn't changed, skip\n // !Note always sync opened editors, it doesn't hurt and and solves the curious problem when there are\n // !few visible editors with same viewColumn (happens when you open search editor, when jump to a file from it)\n // if (prevVisibleEditors.includes(visibleEditor)) {\n // this.logger.debug(`${LOG_PREFIX}: Editor wasn't changed, skip`);\n // if (visibleEditor.viewColumn) {\n // keepViewColumns.add(visibleEditor.viewColumn);\n // }\n // continue;\n // }\n const editorBufferId = this.textDocumentToBufferId.get(visibleEditor.document)!;\n let winId: number | undefined;\n try {\n if (!this.textEditorToWinId.has(visibleEditor)) {\n this.logger.debug(\n `${LOG_PREFIX}: Creating new neovim window for ${visibleEditor.viewColumn} column (undefined is OK here)`,\n );\n winId = await this.createNeovimWindow(editorBufferId);\n this.logger.debug(`${LOG_PREFIX}: Created new window: ${winId}`);\n this.logger.debug(`${LOG_PREFIX}: ViewColumn: ${visibleEditor.viewColumn} - WinId: ${winId}`);\n const cursor = getNeovimCursorPosFromEditor(visibleEditor);\n this.logger.debug(\n `${LOG_PREFIX}: Setting buffer: ${editorBufferId} to win: ${winId}, cursor: [${cursor[0]}, ${cursor[1]}]`,\n );\n await this.client.request(\"nvim_win_set_cursor\", [winId, cursor]);\n this.textEditorToWinId.set(visibleEditor, winId);\n this.winIdToEditor.set(winId, visibleEditor);\n }\n } catch (e) {\n this.logger.error(`${LOG_PREFIX}: ${e.message}`);\n continue;\n }\n }\n\n this.logger.debug(`${LOG_PREFIX}: Closing non visible editors`);\n // close any non visible neovim windows\n for (const prevVisibleEditor of prevVisibleEditors) {\n // still visible, skip\n if (currentVisibleEditors.includes(prevVisibleEditor)) {\n this.logger.debug(\n `${LOG_PREFIX}: Editor viewColumn: ${prevVisibleEditor.viewColumn}, visibility hasn't changed, skip`,\n );\n continue;\n }\n const document = prevVisibleEditor.document;\n if (!currentVisibleEditors.find((e) => e.document === document) && document.isClosed) {\n this.logger.debug(\n `${LOG_PREFIX}: Document ${document.uri.toString()} is not visible and closed, unloading buffer id: ${this.textDocumentToBufferId.get(\n document,\n )}`,\n );\n const bufId = this.textDocumentToBufferId.get(document);\n this.textDocumentToBufferId.delete(document);\n if (bufId) {\n nvimRequests.push([\"nvim_command\", [`bdelete! ${bufId}`]]);\n }\n }\n const winId = this.textEditorToWinId.get(prevVisibleEditor);\n\n if (!winId) {\n continue;\n }\n\n this.logger.debug(\n `${LOG_PREFIX}: Editor viewColumn: ${prevVisibleEditor.viewColumn}, winId: ${winId}, closing`,\n );\n this.textEditorToWinId.delete(prevVisibleEditor);\n this.winIdToEditor.delete(winId);\n nvimRequests.push([\"nvim_win_close\", [winId, true]]);\n }\n await callAtomic(this.client, nvimRequests, this.logger, LOG_PREFIX);\n\n // remember new visible editors\n this.openedEditors = currentVisibleEditors;\n if (this.changeLayoutPromiseResolve) {\n this.changeLayoutPromiseResolve();\n }\n this.changeLayoutPromise = undefined;\n };\n\n // ! we're interested only in the editor final layout and vscode may call this function few times, e.g. when moving an editor to other group\n // ! so lets debounce it slightly\n private syncLayoutDebounced = debounce(this.syncLayout, 200, { leading: false, trailing: true });\n\n private syncActiveEditor = async (): Promise => {\n this.logger.debug(`${LOG_PREFIX}: syncing active editor`);\n await this.waitForLayoutSync();\n\n const activeEditor = window.activeTextEditor;\n if (!activeEditor) {\n return;\n }\n const winId = this.textEditorToWinId.get(activeEditor);\n if (!winId) {\n this.logger.warn(\n `${LOG_PREFIX}: Unable to determine neovim windows id for editor viewColumn: ${\n activeEditor.viewColumn\n }, docUri: ${activeEditor.document.uri.toString()}`,\n );\n return;\n }\n this.logger.debug(\n `${LOG_PREFIX}: Setting active editor - viewColumn: ${activeEditor.viewColumn}, winId: ${winId}`,\n );\n await this.client.request(\"nvim_set_current_win\", [winId]);\n };\n\n private syncActiveEditorDebounced = debounce(this.syncActiveEditor, 100, { leading: false, trailing: true });\n\n private onDidChangeEditorOptions = (e: TextEditorOptionsChangeEvent): void => {\n this.logger.debug(`${LOG_PREFIX}: Received onDidChangeEditorOptions`);\n const bufId = this.textDocumentToBufferId.get(e.textEditor.document);\n if (!bufId) {\n this.logger.warn(`${LOG_PREFIX}: No buffer for onDidChangeEditorOptions, skipping`);\n return;\n }\n const prevOptions = this.editorTabConfiguration.get(e.textEditor);\n if (\n !prevOptions ||\n prevOptions.insertSpaces !== e.options.insertSpaces ||\n prevOptions.tabSize !== e.options.tabSize\n ) {\n this.logger.debug(`${LOG_PREFIX}: Updating tab options for bufferId: ${bufId}`);\n this.editorTabConfiguration.set(e.textEditor, {\n insertSpaces: e.options.insertSpaces as boolean,\n tabSize: e.options.tabSize as number,\n });\n this.resyncBufferTabOptions(e.textEditor, bufId);\n }\n };\n\n private receivedBufferEvent = (\n buffer: Buffer,\n tick: number,\n firstLine: number,\n lastLine: number,\n linedata: string[],\n more: boolean,\n ): void => {\n this.onBufferEvent && this.onBufferEvent(buffer.id, tick, firstLine, lastLine, linedata, more);\n };\n\n /**\n * Set buffer options from vscode document\n * @param document\n */\n private async initBufferForDocument(document: TextDocument, buffer: Buffer, editor?: TextEditor): Promise {\n const bufId = buffer.id;\n this.logger.debug(`${LOG_PREFIX}: Init buffer for ${bufId}, doc: ${document.uri.toString()}`);\n\n // !In vscode same document can have different insertSpaces/tabSize settings per editor\n // !however in neovim it's per buffer. We make assumption here that these settings are same for all editors\n // !It's possible to set expandtab/tabstop/shiftwidth when switching editors, but rare case\n const {\n options: { insertSpaces, tabSize },\n } = editor || { options: { insertSpaces: true, tabSize: 4 } };\n const eol = document.eol === EndOfLine.LF ? \"\\n\" : \"\\r\\n\";\n const lines = document.getText().split(eol);\n\n if (editor) {\n this.editorTabConfiguration.set(editor, {\n tabSize: tabSize as number,\n insertSpaces: insertSpaces as boolean,\n });\n }\n\n const requests: [string, unknown[]][] = [\n [\"nvim_buf_set_option\", [bufId, \"expandtab\", insertSpaces]],\n [\"nvim_buf_set_option\", [bufId, \"tabstop\", tabSize]],\n [\"nvim_buf_set_option\", [bufId, \"shiftwidth\", tabSize]],\n // fill the buffer\n [\"nvim_buf_set_lines\", [bufId, 0, -1, false, lines]],\n // set vscode controlled flag so we can check it neovim\n [\"nvim_buf_set_var\", [bufId, \"vscode_controlled\", true]],\n // make sure to disable syntax (yeah we're doing it neovim files, but better to be safe than not)\n // !Setting to false breaks filetype detection\n // [\"nvim_buf_set_option\", [bufId, \"syntax\", false]],\n // buffer name = document URI\n [\"nvim_buf_set_name\", [bufId, BUFFER_NAME_PREFIX + document.uri.toString()]],\n // Turn off modifications for external documents\n [\"nvim_buf_set_option\", [bufId, \"modifiable\", !this.isExternalTextDocument(document)]],\n // force nofile, just in case if the buffer was created externally\n [\"nvim_buf_set_option\", [bufId, \"buftype\", \"nofile\"]],\n // list buffer\n [\"nvim_buf_set_option\", [bufId, \"buflisted\", true]],\n ];\n await callAtomic(this.client, requests, this.logger, LOG_PREFIX);\n // Looks like need to be in separate request\n if (!this.isExternalTextDocument(document)) {\n await this.client.callFunction(\"VSCodeClearUndo\", bufId);\n }\n if (this.onBufferInit) {\n this.onBufferInit(bufId, document);\n }\n // start listen for buffer changes\n buffer.listen(\"lines\", this.receivedBufferEvent);\n }\n\n private async resyncBufferTabOptions(editor: TextEditor, bufId: number): Promise {\n const {\n options: { insertSpaces, tabSize },\n } = editor;\n\n const requests: [string, unknown[]][] = [\n [\"nvim_buf_set_option\", [bufId, \"expandtab\", insertSpaces]],\n [\"nvim_buf_set_option\", [bufId, \"tabstop\", tabSize]],\n [\"nvim_buf_set_option\", [bufId, \"shiftwidth\", tabSize]],\n ];\n await callAtomic(this.client, requests, this.logger, LOG_PREFIX);\n }\n\n /**\n * Create new neovim window\n */\n private async createNeovimWindow(bufId: number): Promise {\n await this.client.setOption(\"eventignore\", \"BufWinEnter,BufEnter,BufLeave\");\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win = await this.client.openWindow(bufId as any, false, {\n external: true,\n width: this.settings.neovimViewportWidth,\n height: this.settings.neovimViewportHeight,\n });\n await this.client.setOption(\"eventignore\", \"\");\n if (typeof win === \"number\") {\n throw new Error(`Unable to create a new neovim window, code: ${win}`);\n }\n return win.id;\n }\n\n private async unloadBuffer(bufId: number): Promise {\n try {\n await this.client.command(`bunload! ${bufId}`);\n } catch (e) {\n this.logger.warn(`${LOG_PREFIX}: Can't unload the buffer: ${bufId}, err: ${e?.message}`);\n }\n }\n\n private isVscodeUriName(name: string): boolean {\n if (/:\\/\\//.test(name)) {\n return true;\n }\n if (name.startsWith(\"output:\") || name.startsWith(`${BUFFER_NAME_PREFIX}output:`)) {\n return true;\n }\n if (name.startsWith(\"/search-editor:\") || name.startsWith(`${BUFFER_NAME_PREFIX}/search-editor:`)) {\n return true;\n }\n return false;\n }\n\n private findDocFromUri(uri: string): TextDocument | undefined {\n if (uri.startsWith(\"/search-editor\")) {\n uri = uri.slice(1);\n }\n return workspace.textDocuments.find((d) => d.uri.toString() === uri);\n }\n\n private async attachNeovimExternalBuffer(\n name: string,\n id: number,\n expandTab: boolean,\n tabStop: number,\n ): Promise {\n const buffers = await this.client.buffers;\n const buf = buffers.find((b) => b.id === id);\n if (!buf) {\n return;\n }\n // don't bother with displaying empty buffer\n const lines = await buf.lines;\n if (!lines.length || (lines.length === 1 && !lines[0])) {\n this.logger.debug(`${LOG_PREFIX}: Skipping empty external buffer ${id}`);\n return;\n }\n const doc = await workspace.openTextDocument({ content: lines.join(\"\\n\") });\n this.externalTextDocuments.add(doc);\n this.textDocumentToBufferId.set(doc, id);\n this.onBufferInit && this.onBufferInit(id, doc);\n buf.listen(\"lines\", this.receivedBufferEvent);\n await buf[ATTACH](true);\n\n const windows = await this.client.windows;\n let closeWinId = 0;\n for (const window of windows) {\n const buf = await window.buffer;\n if (buf.id === id) {\n this.logger.debug(\n `${LOG_PREFIX}: Found window assigned to external buffer ${id}, winId: ${\n window.id\n }, isKnownWindow: ${this.winIdToEditor.has(window.id)}`,\n );\n if (!this.winIdToEditor.has(window.id)) {\n closeWinId = window.id;\n }\n }\n }\n\n const editor = await window.showTextDocument(doc, {\n preserveFocus: false,\n preview: true,\n viewColumn: ViewColumn.Active,\n });\n this.editorTabConfiguration.set(editor, { tabSize: tabStop, insertSpaces: expandTab });\n editor.options.insertSpaces = expandTab;\n editor.options.tabSize = tabStop;\n\n if (closeWinId) {\n // !Another hack is to retrieve cursor with delay - when we receive an external buffer the cursor pos is not immediately available\n // [1, 0]\n setTimeout(async () => {\n const neovimCursor: [number, number] = await this.client.request(\"nvim_win_get_cursor\", [closeWinId]);\n if (neovimCursor) {\n this.logger.debug(\n `${LOG_PREFIX}: Adjusting cursor pos for external buffer: ${id}, originalPos: [${neovimCursor[0]}, ${neovimCursor[1]}]`,\n );\n const finalLine = neovimCursor[0] - 1;\n let finalCol = neovimCursor[1];\n try {\n finalCol = calculateEditorColFromVimScreenCol(\n doc.lineAt(finalLine).text,\n neovimCursor[1],\n 1,\n true,\n );\n this.logger.debug(`${LOG_PREFIX}: Adjusted cursor: [${finalLine}, ${finalCol}]`);\n } catch (e) {\n this.logger.warn(`${LOG_PREFIX}: Unable to get cursor pos for external buffer: ${id}`);\n }\n editor.selections = [new Selection(finalLine, finalCol, finalLine, finalCol)];\n }\n }, 1000);\n\n // ! must delay to get a time to switch buffer to other window, otherwise it will be closed\n // TODO: Hacky, but seems external buffers won't be much often used\n setTimeout(() => {\n this.logger.debug(`${LOG_PREFIX}: Closing window ${closeWinId} for external buffer: ${id}`);\n try {\n this.client.request(\"nvim_win_close\", [closeWinId, true]);\n } catch (e) {\n this.logger.warn(\n `${LOG_PREFIX}: Closing the window: ${closeWinId} for external buffer failed: ${e.message}`,\n );\n }\n }, 5000);\n }\n }\n}\n","import { NeovimClient } from \"neovim\";\nimport { commands, Disposable, TextEditor, TextEditorEdit, window } from \"vscode\";\n\nimport { DocumentChangeManager } from \"./document_change_manager\";\nimport { Logger } from \"./logger\";\nimport { ModeManager } from \"./mode_manager\";\nimport { normalizeInputString } from \"./utils\";\n\nconst LOG_PREFIX = \"TypingManager\";\n\nexport class TypingManager implements Disposable {\n private disposables: Disposable[] = [];\n /**\n * Separate \"type\" command disposable since we init/dispose it often\n */\n private typeHandlerDisposable?: Disposable;\n /**\n * Flag indicating that we're going to exit insert mode and sync buffers into neovim\n */\n private isExitingInsertMode = false;\n /**\n * Flag indicating that we're going to enter insert mode and there are pending document changes\n */\n private isEnteringInsertMode = false;\n /**\n * Additional keys which were pressed after exiting insert mode. We'll replay them after buffer sync\n */\n private pendingKeysAfterExit = \"\";\n /**\n * Additional keys which were pressed after entering the insert mode\n */\n private pendingKeysAfterEnter = \"\";\n /**\n * Timestamp when the first composite escape key was pressed. Using timestamp because timer may be delayed if the extension host is busy\n */\n private compositeEscapeFirstPressTimestamp?: number;\n\n public constructor(\n private logger: Logger,\n private client: NeovimClient,\n private modeManager: ModeManager,\n private changeManager: DocumentChangeManager,\n ) {\n this.typeHandlerDisposable = commands.registerTextEditorCommand(\"type\", this.onVSCodeType);\n this.disposables.push(commands.registerCommand(\"vscode-neovim.ctrl-o-insert\", this.onInsertCtrlOCommand));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.escape\", this.onEscapeKeyCommand));\n this.disposables.push(\n commands.registerCommand(\"vscode-neovim.compositeEscape1\", (key: string) =>\n this.handleCompositeEscapeFirstKey(key),\n ),\n );\n this.disposables.push(\n commands.registerCommand(\"vscode-neovim.compositeEscape2\", (key: string) =>\n this.handleCompositeEscapeSecondKey(key),\n ),\n );\n this.modeManager.onModeChange(this.onModeChange);\n }\n\n public dispose(): void {\n this.typeHandlerDisposable?.dispose();\n this.disposables.forEach((d) => d.dispose());\n }\n\n private onModeChange = (): void => {\n if (this.modeManager.isInsertMode && this.typeHandlerDisposable && !this.modeManager.isRecordingInInsertMode) {\n this.pendingKeysAfterEnter = \"\";\n const editor = window.activeTextEditor;\n if (editor && this.changeManager.hasDocumentChangeCompletionLock(editor.document)) {\n this.isEnteringInsertMode = true;\n this.logger.debug(\n `${LOG_PREFIX}: Waiting for document completion operation before disposing type handler`,\n );\n this.changeManager.getDocumentChangeCompletionLock(editor.document)?.then(() => {\n this.isEnteringInsertMode = false;\n if (this.typeHandlerDisposable && this.modeManager.isInsertMode) {\n this.logger.debug(`${LOG_PREFIX}: Waiting done, disposing type handler`);\n this.typeHandlerDisposable.dispose();\n this.typeHandlerDisposable = undefined;\n }\n if (this.pendingKeysAfterEnter) {\n commands.executeCommand(this.modeManager.isInsertMode ? \"default:type\" : \"type\", {\n text: this.pendingKeysAfterEnter,\n });\n this.pendingKeysAfterEnter = \"\";\n }\n });\n } else {\n this.logger.debug(`${LOG_PREFIX}: Disposing type handler`);\n this.typeHandlerDisposable.dispose();\n this.typeHandlerDisposable = undefined;\n }\n } else if (!this.modeManager.isInsertMode) {\n this.isEnteringInsertMode = false;\n this.isExitingInsertMode = false;\n if (!this.typeHandlerDisposable) {\n this.logger.debug(`${LOG_PREFIX}: Enabling type handler`);\n this.typeHandlerDisposable = commands.registerTextEditorCommand(\"type\", this.onVSCodeType);\n }\n }\n };\n\n private onVSCodeType = (_editor: TextEditor, edit: TextEditorEdit, type: { text: string }): void => {\n if (!this.modeManager.isInsertMode || this.modeManager.isRecordingInInsertMode || this.isEnteringInsertMode) {\n if (this.isEnteringInsertMode) {\n this.pendingKeysAfterEnter += type.text;\n } else {\n this.client.input(normalizeInputString(type.text, !this.modeManager.isRecordingInInsertMode));\n }\n } else if (this.isExitingInsertMode) {\n this.pendingKeysAfterExit += type.text;\n } else {\n commands.executeCommand(\"default:type\", { text: type.text });\n }\n };\n\n private onEscapeKeyCommand = async (): Promise => {\n this.logger.debug(`${LOG_PREFIX}: Escape key`);\n if (this.modeManager.isInsertMode) {\n this.logger.debug(`${LOG_PREFIX}: Syncing buffers with neovim`);\n this.isExitingInsertMode = true;\n // rebind early to store fast pressed keys which may happen between sending changes to neovim and exiting insert mode\n // see https://github.com/asvetliakov/vscode-neovim/issues/324\n if (!this.typeHandlerDisposable) {\n this.typeHandlerDisposable = commands.registerTextEditorCommand(\"type\", this.onVSCodeType);\n }\n // this.leaveMultipleCursorsForVisualMode = false;\n await this.changeManager.syncDocumentsWithNeovim();\n await this.changeManager.syncDotRepatWithNeovim();\n }\n const keys = normalizeInputString(this.pendingKeysAfterExit);\n this.logger.debug(`${LOG_PREFIX}: Pending keys sent with : ${keys}`);\n this.pendingKeysAfterExit = \"\";\n await this.client.input(`${keys}`);\n // const buf = await this.client.buffer;\n // const lines = await buf.lines;\n // console.log(\"====LINES====\");\n // console.log(lines.length);\n // console.log(lines.join(\"\\n\"));\n // console.log(\"====END====\");\n };\n\n private onInsertCtrlOCommand = async (): Promise => {\n this.logger.debug(`${LOG_PREFIX}: Ctrl-O key`);\n if (this.modeManager.isInsertMode) {\n this.logger.debug(`${LOG_PREFIX}: Syncing buffers with neovim (Ctrl-O)`);\n this.isExitingInsertMode = true;\n // rebind early to store fast pressed keys which may happen between sending changes to neovim and exiting insert mode\n // see https://github.com/asvetliakov/vscode-neovim/issues/324\n if (!this.typeHandlerDisposable) {\n this.typeHandlerDisposable = commands.registerTextEditorCommand(\"type\", this.onVSCodeType);\n }\n // this.leaveMultipleCursorsForVisualMode = false;\n await this.changeManager.syncDocumentsWithNeovim();\n await this.changeManager.syncDotRepatWithNeovim();\n }\n const keys = normalizeInputString(this.pendingKeysAfterExit);\n this.logger.debug(`${LOG_PREFIX}: Pending keys sent with : ${keys}`);\n this.pendingKeysAfterExit = \"\";\n await this.client.input(`${keys}`);\n };\n\n private handleCompositeEscapeFirstKey = async (key: string): Promise => {\n const now = new Date().getTime();\n if (this.compositeEscapeFirstPressTimestamp && now - this.compositeEscapeFirstPressTimestamp <= 200) {\n // jj\n this.compositeEscapeFirstPressTimestamp = undefined;\n await commands.executeCommand(\"deleteLeft\");\n this.onEscapeKeyCommand();\n } else {\n this.compositeEscapeFirstPressTimestamp = now;\n // insert character\n await commands.executeCommand(\"default:type\", { text: key });\n }\n };\n\n private handleCompositeEscapeSecondKey = async (key: string): Promise => {\n const now = new Date().getTime();\n if (this.compositeEscapeFirstPressTimestamp && now - this.compositeEscapeFirstPressTimestamp <= 200) {\n this.compositeEscapeFirstPressTimestamp = undefined;\n await commands.executeCommand(\"deleteLeft\");\n this.onEscapeKeyCommand();\n } else {\n await commands.executeCommand(\"default:type\", { text: key });\n }\n };\n}\n","import { debounce } from \"lodash-es\";\nimport { NeovimClient, Window } from \"neovim\";\nimport {\n commands,\n Disposable,\n Selection,\n TextEditor,\n TextEditorCursorStyle,\n TextEditorRevealType,\n TextEditorSelectionChangeEvent,\n TextEditorSelectionChangeKind,\n window,\n} from \"vscode\";\n\nimport { BufferManager } from \"./buffer_manager\";\nimport { DocumentChangeManager } from \"./document_change_manager\";\nimport { Logger } from \"./logger\";\nimport { ModeManager } from \"./mode_manager\";\nimport {\n NeovimExtensionRequestProcessable,\n NeovimRangeCommandProcessable,\n NeovimRedrawProcessable,\n} from \"./neovim_events_processable\";\nimport {\n calculateEditorColFromVimScreenCol,\n callAtomic,\n editorPositionToNeovimPosition,\n getNeovimCursorPosFromEditor,\n} from \"./utils\";\n\nconst LOG_PREFIX = \"CursorManager\";\n\nexport interface CursorManagerSettings {\n mouseSelectionEnabled: boolean;\n}\n\ninterface CursorInfo {\n cursorShape: \"block\" | \"horizontal\" | \"vertical\";\n}\n\nexport class CursorManager\n implements Disposable, NeovimRedrawProcessable, NeovimExtensionRequestProcessable, NeovimRangeCommandProcessable {\n private disposables: Disposable[] = [];\n /**\n * Vim cursor mode mappings\n */\n private cursorModes: Map = new Map();\n /**\n * Cursor positions per editor in neovim\n * ! Note: we should track this because setting cursor as consequence of neovim event will trigger onDidChangeTextEditorSelection with Command kind\n * ! And we should skip it and don't try to send cursor update into neovim again, otherwise few things may break, especially jumplist\n */\n private neovimCursorPosition: WeakMap = new WeakMap();\n /**\n * Special workaround flag to ignore editor selection events\n */\n private ignoreSelectionEvents = false;\n /**\n * Current grid viewport boundaries\n */\n private gridVisibleViewport: Map = new Map();\n\n private debouncedCursorUpdates: WeakMap = new WeakMap();\n\n public constructor(\n private logger: Logger,\n private client: NeovimClient,\n private modeManager: ModeManager,\n private bufferManager: BufferManager,\n private changeManager: DocumentChangeManager,\n private settings: CursorManagerSettings,\n ) {\n this.disposables.push(window.onDidChangeTextEditorSelection(this.onSelectionChanged));\n this.disposables.push(window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors));\n this.modeManager.onModeChange(this.onModeChange);\n }\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public async handleExtensionRequest(name: string, args: unknown[]): Promise {\n switch (name) {\n case \"visual-edit\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [append, visualMode, startLine1Based, endLine1Based, endCol0based, skipEmpty] = args as any;\n this.multipleCursorFromVisualMode(\n !!append,\n visualMode,\n startLine1Based - 1,\n endLine1Based - 1,\n endCol0based,\n !!skipEmpty,\n );\n break;\n }\n }\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n const gridCursorUpdates: Map<\n number,\n { line: number; col: number; grid: number; isByteCol: boolean }\n > = new Map();\n const gridCursorViewportHint: Map = new Map();\n // need to process win_viewport events first\n for (const [name, ...args] of batch) {\n switch (name) {\n case \"win_viewport\": {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [grid, win, topline, botline, curline, curcol] of args as [\n number,\n Window,\n number,\n number,\n number,\n number,\n ][]) {\n this.gridVisibleViewport.set(grid, { top: topline, bottom: botline });\n gridCursorViewportHint.set(grid, { line: curline, col: curcol });\n }\n break;\n }\n }\n }\n for (const [name, ...args] of batch) {\n const firstArg = args[0] || [];\n switch (name) {\n case \"grid_cursor_goto\": {\n for (const [grid, row, col] of args as [number, number, number][]) {\n const viewportHint = gridCursorViewportHint.get(grid);\n // leverage viewport hint if available. It may be NOT available and go in different batch\n if (viewportHint) {\n gridCursorUpdates.set(grid, {\n grid,\n line: viewportHint.line,\n col: viewportHint.col,\n isByteCol: true,\n });\n } else {\n const topline = this.gridVisibleViewport.get(grid)?.top || 0;\n gridCursorUpdates.set(grid, { grid, line: topline + row, col, isByteCol: false });\n }\n }\n break;\n }\n // nvim may not send grid_cursor_goto and instead uses grid_scroll along with grid_line\n // If we received it we must shift current cursor position by given rows\n case \"grid_scroll\": {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [grid, top, bot, left, right, rows, cols] of args as [\n number,\n number,\n number,\n null,\n number,\n number,\n number,\n ][]) {\n // When changing pos via grid scroll there must be always win_viewport event, leverage it\n const viewportHint = gridCursorViewportHint.get(grid);\n if (viewportHint) {\n gridCursorUpdates.set(grid, {\n grid,\n line: viewportHint.line,\n col: viewportHint.col,\n isByteCol: true,\n });\n }\n }\n break;\n }\n case \"grid_destroy\": {\n for (const [grid] of args as [number][]) {\n this.gridVisibleViewport.delete(grid);\n }\n break;\n }\n case \"mode_info_set\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [, modes] = firstArg as [string, any[]];\n for (const mode of modes) {\n if (!mode.name || !mode.cursor_shape) {\n continue;\n }\n this.cursorModes.set(mode.name, {\n cursorShape: mode.cursor_shape,\n });\n }\n break;\n }\n case \"mode_change\": {\n const [newModeName] = firstArg as [string, never];\n this.updateCursorStyle(newModeName);\n break;\n }\n }\n }\n for (const [gridId, cursorPos] of gridCursorUpdates) {\n this.logger.debug(\n `${LOG_PREFIX}: Received cursor update from neovim, gridId: ${gridId}, pos: [${cursorPos.line}, ${cursorPos.col}]`,\n );\n const editor = this.bufferManager.getEditorFromGridId(gridId);\n if (!editor) {\n this.logger.warn(`${LOG_PREFIX}: No editor for gridId: ${gridId}`);\n continue;\n }\n // !For text changes neovim sends first buf_lines_event followed by redraw event\n // !But since changes are asynchronous and will happen after redraw event we need to wait for them first\n const docPromises = this.changeManager.getDocumentChangeCompletionLock(editor.document);\n if (docPromises) {\n this.logger.debug(\n `${LOG_PREFIX}: Waiting for document change completion before setting the cursor, gridId: ${gridId}`,\n );\n docPromises.then(() => {\n try {\n this.logger.debug(`${LOG_PREFIX}: Waiting document change completion done, gridId: ${gridId}`);\n const finalCol = calculateEditorColFromVimScreenCol(\n editor.document.lineAt(cursorPos.line).text,\n cursorPos.col,\n // !For cursor updates tab is always counted as 1 col\n cursorPos.isByteCol ? 1 : (editor.options.tabSize as number),\n cursorPos.isByteCol,\n );\n this.neovimCursorPosition.set(editor, { line: cursorPos.line, col: finalCol });\n // !Often, especially with complex multi-command operations, neovim sends multiple cursor updates in multiple batches\n // !To not mess the cursor, try to debounce the update\n this.getDebouncedUpdateCursorPos(editor)(editor, cursorPos.line, finalCol);\n } catch (e) {\n this.logger.warn(`${LOG_PREFIX}: ${e.message}`);\n }\n });\n } else {\n // !Sync call helps with most common operations latency\n this.logger.debug(`${LOG_PREFIX}: No pending document changes, gridId: ${gridId}`);\n try {\n const finalCol = calculateEditorColFromVimScreenCol(\n editor.document.lineAt(cursorPos.line).text,\n cursorPos.col,\n cursorPos.isByteCol ? 1 : (editor.options.tabSize as number),\n cursorPos.isByteCol,\n );\n this.neovimCursorPosition.set(editor, { line: cursorPos.line, col: finalCol });\n this.updateCursorPosInEditor(editor, cursorPos.line, finalCol);\n } catch (e) {\n this.logger.warn(`${LOG_PREFIX}: ${e.message}`);\n }\n }\n }\n gridCursorUpdates.clear();\n }\n\n /**\n * Produce vscode selection and execute command\n * @param command VSCode command to execute\n * @param startLine Start line to select. 1based\n * @param endLine End line to select. 1based\n * @param startPos Start pos to select. 1based. If 0 then whole line will be selected\n * @param endPos End pos to select, 1based. If you then whole line will be selected\n * @param leaveSelection When true won't clear vscode selection after running the command\n * @param args Additional args\n */\n public async handleVSCodeRangeCommand(\n command: string,\n startLine: number,\n endLine: number,\n startPos: number,\n endPos: number,\n leaveSelection: boolean,\n args: unknown[],\n ): Promise {\n const e = window.activeTextEditor;\n this.logger.debug(\n `${LOG_PREFIX}: Range command: ${command}, range: [${startLine}, ${startPos}] - [${endLine}, ${endPos}], leaveSelection: ${leaveSelection}`,\n );\n if (e) {\n // vi includes end of line from start pos. This is not very useful, so let's check and remove it\n // vi always select from top to bottom\n if (endLine > startLine) {\n try {\n const lineDef = e.document.lineAt(startLine - 1);\n if (startPos > 0 && startPos - 1 >= lineDef.range.end.character) {\n startLine++;\n startPos = 0;\n }\n } catch {\n // ignore\n }\n }\n const prevSelections = [...e.selections];\n this.ignoreSelectionEvents = true;\n // startLine is visual start\n if (startLine > endLine) {\n e.selections = [\n new Selection(\n startLine - 1,\n startPos > 0 ? startPos - 1 : 9999999,\n endLine - 1,\n endPos > 0 ? endPos - 1 : 0,\n ),\n ];\n } else {\n e.selections = [\n new Selection(\n startLine - 1,\n startPos > 0 ? startPos - 1 : 0,\n endLine - 1,\n endPos > 0 ? endPos - 1 : 9999999,\n ),\n ];\n }\n const res = await commands.executeCommand(command, ...args);\n this.logger.debug(`${LOG_PREFIX}: Range command completed`);\n if (!leaveSelection) {\n e.selections = prevSelections;\n }\n this.ignoreSelectionEvents = false;\n return res;\n }\n }\n\n private onDidChangeVisibleTextEditors = (): void => {\n this.updateCursorStyle(this.modeManager.currentMode);\n };\n\n private onSelectionChanged = async (e: TextEditorSelectionChangeEvent): Promise => {\n if (this.modeManager.isInsertMode) {\n return;\n }\n if (this.ignoreSelectionEvents) {\n return;\n }\n const { textEditor, kind } = e;\n this.logger.debug(`${LOG_PREFIX}: SelectionChanged`);\n\n // ! Note: Unfortunately navigating from outline is Command kind, so we can't skip it :(\n // if (kind === TextEditorSelectionChangeKind.Command) {\n // this.logger.debug(`${LOG_PREFIX}: Skipping command kind`);\n // return;\n // }\n\n // wait for possible layout updates first\n this.logger.debug(`${LOG_PREFIX}: Waiting for possible layout completion operation`);\n await this.bufferManager.waitForLayoutSync();\n // wait for possible change document events\n this.logger.debug(`${LOG_PREFIX}: Waiting for possible document change completion operation`);\n await this.changeManager.getDocumentChangeCompletionLock(textEditor.document);\n this.logger.debug(`${LOG_PREFIX}: Waiting done`);\n\n const documentChange = this.changeManager.eatDocumentCursorAfterChange(textEditor.document);\n const cursor = textEditor.selection.active;\n if (documentChange && documentChange.line === cursor.line && documentChange.character === cursor.character) {\n this.logger.debug(\n `${LOG_PREFIX}: Skipping onSelectionChanged event since it was selection produced by doc change`,\n );\n return;\n }\n\n this.applySelectionChanged(textEditor, kind);\n };\n\n // ! Need to debounce requests because setting cursor by consequence of neovim event will trigger this method\n // ! and cursor may go out-of-sync and produce a jitter\n private applySelectionChanged = debounce(\n async (textEditor: TextEditor, kind: TextEditorSelectionChangeKind | undefined) => {\n const winId = this.bufferManager.getWinIdForTextEditor(textEditor);\n const cursor = textEditor.selection.active;\n const selections = textEditor.selections;\n\n this.logger.debug(\n `${LOG_PREFIX}: Applying changed selection, kind: ${kind}, WinId: ${winId}, cursor: [${cursor.line}, ${\n cursor.character\n }], isMultiSelection: ${textEditor.selections.length > 1}`,\n );\n if (!winId) {\n return;\n }\n const neovimCursorPos = this.neovimCursorPosition.get(textEditor);\n if (neovimCursorPos && neovimCursorPos.col === cursor.character && neovimCursorPos.line === cursor.line) {\n this.logger.debug(`${LOG_PREFIX}: Skipping event since neovim has same cursor pos`);\n return;\n }\n\n if (\n selections.length > 1 ||\n (kind === TextEditorSelectionChangeKind.Mouse && !selections[0].active.isEqual(selections[0].anchor)) ||\n this.modeManager.isVisualMode\n ) {\n if (kind !== TextEditorSelectionChangeKind.Mouse || !this.settings.mouseSelectionEnabled) {\n return;\n } else {\n const grid = this.bufferManager.getGridIdForWinId(winId);\n this.logger.debug(`${LOG_PREFIX}: Processing multi-selection, gridId: ${grid}`);\n const requests: [string, unknown[]][] = [];\n if (!this.modeManager.isVisualMode && grid) {\n // need to start visual mode from anchor char\n const firstPos = selections[0].anchor;\n const mouseClickPos = editorPositionToNeovimPosition(textEditor, firstPos);\n this.logger.debug(\n `${LOG_PREFIX}: Starting visual mode from: [${mouseClickPos[0]}, ${mouseClickPos[1]}]`,\n );\n requests.push([\n \"nvim_input_mouse\",\n // nvim_input_mouse is zero based while getNeovimCursorPosForEditor() returns 1 based line\n [\"left\", \"press\", \"\", grid, mouseClickPos[0] - 1, mouseClickPos[1]],\n ]);\n requests.push([\"nvim_input\", [\"v\"]]);\n }\n const lastSelection = selections.slice(-1)[0];\n if (!lastSelection) {\n return;\n }\n const cursorPos = editorPositionToNeovimPosition(textEditor, lastSelection.active);\n this.logger.debug(\n `${LOG_PREFIX}: Updating cursor pos in neovim, winId: ${winId}, pos: [${cursorPos[0]}, ${cursorPos[1]}]`,\n );\n requests.push([\"nvim_win_set_cursor\", [winId, cursorPos]]);\n await callAtomic(this.client, requests, this.logger, LOG_PREFIX);\n }\n } else {\n const cursorPos = getNeovimCursorPosFromEditor(textEditor);\n this.logger.debug(\n `${LOG_PREFIX}: Updating cursor pos in neovim, winId: ${winId}, pos: [${cursorPos[0]}, ${cursorPos[1]}]`,\n );\n const requests: [string, unknown[]][] = [[\"nvim_win_set_cursor\", [winId, cursorPos]]];\n await callAtomic(this.client, requests, this.logger, LOG_PREFIX);\n }\n },\n 20,\n { leading: false, trailing: true },\n );\n\n /**\n * Update cursor in active editor. Coords are zero based\n */\n private updateCursorPosInEditor = (editor: TextEditor, newLine: number, newCol: number): void => {\n if (this.ignoreSelectionEvents) {\n return;\n }\n const editorName = `${editor.document.uri.toString()}, viewColumn: ${editor.viewColumn}`;\n this.logger.debug(`${LOG_PREFIX}: Updating cursor in editor: ${editorName}, pos: [${newLine}, ${newCol}]`);\n if (editor !== window.activeTextEditor) {\n this.logger.debug(\n `${LOG_PREFIX}: Editor: ${editorName} is not active text editor, setting cursor directly`,\n );\n const newPos = new Selection(newLine, newCol, newLine, newCol);\n if (!editor.selection.isEqual(newPos)) {\n editor.selections = [newPos];\n }\n return;\n }\n const currCursor = editor.selection.active;\n const deltaLine = newLine - currCursor.line;\n let deltaChar = newCol - currCursor.character;\n if (Math.abs(deltaLine) <= 1) {\n this.logger.debug(`${LOG_PREFIX}: Editor: ${editorName} using cursorMove command`);\n if (Math.abs(deltaLine) > 0) {\n if (newCol !== currCursor.character) {\n deltaChar = newCol;\n commands.executeCommand(\"cursorLineStart\");\n } else {\n deltaChar = 0;\n }\n commands.executeCommand(\"cursorMove\", {\n to: deltaLine > 0 ? \"down\" : \"up\",\n by: \"line\",\n value: Math.abs(deltaLine),\n select: false,\n });\n }\n if (Math.abs(deltaChar) > 0) {\n if (Math.abs(deltaLine) > 0) {\n this.logger.debug(`${LOG_PREFIX}: Editor: ${editorName} Moving cursor by char: ${deltaChar}`);\n commands.executeCommand(\"cursorMove\", {\n to: deltaChar > 0 ? \"right\" : \"left\",\n by: \"character\",\n value: Math.abs(deltaChar),\n select: false,\n });\n } else {\n this.logger.debug(\n `${LOG_PREFIX}: Editor: ${editorName} setting cursor directly since zero line delta`,\n );\n const newPos = new Selection(newLine, newCol, newLine, newCol);\n if (!editor.selection.isEqual(newPos)) {\n editor.selections = [newPos];\n editor.revealRange(newPos, TextEditorRevealType.Default);\n commands.executeCommand(\"editor.action.wordHighlight.trigger\");\n }\n }\n }\n } else {\n this.logger.debug(`${LOG_PREFIX}: Editor: ${editorName} setting cursor directly`);\n const newPos = new Selection(newLine, newCol, newLine, newCol);\n if (!editor.selection.isEqual(newPos)) {\n editor.selections = [newPos];\n const topVisibleLine = Math.min(...editor.visibleRanges.map((r) => r.start.line));\n const bottomVisibleLine = Math.max(...editor.visibleRanges.map((r) => r.end.line));\n const type =\n deltaLine > 0\n ? newLine > bottomVisibleLine + 10\n ? TextEditorRevealType.InCenterIfOutsideViewport\n : TextEditorRevealType.Default\n : deltaLine < 0\n ? newLine < topVisibleLine - 10\n ? TextEditorRevealType.InCenterIfOutsideViewport\n : TextEditorRevealType.Default\n : TextEditorRevealType.Default;\n editor.revealRange(newPos, type);\n commands.executeCommand(\"editor.action.wordHighlight.trigger\");\n }\n }\n };\n\n private getDebouncedUpdateCursorPos = (editor: TextEditor): CursorManager[\"updateCursorPosInEditor\"] => {\n const existing = this.debouncedCursorUpdates.get(editor);\n if (existing) {\n return existing;\n }\n const func = debounce(this.updateCursorPosInEditor, 10, { leading: false, trailing: true, maxWait: 100 });\n this.debouncedCursorUpdates.set(editor, func);\n return func;\n };\n\n private updateCursorStyle(modeName: string): void {\n const modeConf = this.cursorModes.get(modeName);\n if (!modeConf) {\n return;\n }\n for (const editor of window.visibleTextEditors) {\n if (modeConf.cursorShape === \"block\") {\n editor.options.cursorStyle = TextEditorCursorStyle.Block;\n } else if (modeConf.cursorShape === \"horizontal\") {\n editor.options.cursorStyle = TextEditorCursorStyle.Underline;\n } else {\n editor.options.cursorStyle = TextEditorCursorStyle.Line;\n }\n }\n }\n\n private multipleCursorFromVisualMode(\n append: boolean,\n visualMode: string,\n startLine: number,\n endLine: number,\n endCol: number,\n skipEmpty: boolean,\n ): void {\n if (!window.activeTextEditor) {\n return;\n }\n this.logger.debug(\n `${LOG_PREFIX}: Spawning multiple cursors from lines: [${startLine}, ${endLine}], endCol: ${endCol} mode: ${visualMode}, append: ${append}, skipEmpty: ${skipEmpty}`,\n );\n const currentCursorPos = window.activeTextEditor.selection.active;\n const startCol = currentCursorPos.character;\n const newSelections: Selection[] = [];\n const doc = window.activeTextEditor.document;\n for (let line = startLine; line <= endLine; line++) {\n const lineDef = doc.lineAt(line);\n // always skip empty lines for visual block mode\n if (lineDef.text.trim() === \"\" && (skipEmpty || visualMode !== \"V\")) {\n continue;\n }\n let char = 0;\n if (visualMode === \"V\") {\n char = append ? lineDef.range.end.character : lineDef.firstNonWhitespaceCharacterIndex;\n } else {\n char = append ? endCol : startCol;\n }\n this.logger.debug(`${LOG_PREFIX}: Multiple cursor at: [${line}, ${char}]`);\n newSelections.push(new Selection(line, char, line, char));\n }\n window.activeTextEditor.selections = newSelections;\n }\n\n private onModeChange = (newMode: string): void => {\n if (newMode === \"normal\" && window.activeTextEditor && window.activeTextEditor.selections.length > 1) {\n window.activeTextEditor.selections = [\n new Selection(window.activeTextEditor.selection.active, window.activeTextEditor.selection.active),\n ];\n }\n };\n\n // Following lines are enabling vim-style cursor follow on scroll\n // although it's working, unfortunately it breaks vscode jumplist when scrolling to definition from outline/etc\n // I think it's better ot have more-less usable jumplist than such minor feature at this feature request will be implemented (https://github.com/microsoft/vscode/issues/84351)\n // private onChangeVisibleRange = async (e: vscode.TextEditorVisibleRangesChangeEvent): Promise => {\n // if (e.textEditor !== vscode.window.activeTextEditor) {\n // return;\n // }\n // const ranges = e.visibleRanges[0];\n // if (!ranges) {\n // return;\n // }\n // if (this.shouldIgnoreMouseSelection) {\n // return;\n // }\n // const editorRevealLine = this.textEditorsRevealing.get(e.textEditor);\n // if (editorRevealLine) {\n // if (editorRevealLine < ranges.start.line || editorRevealLine > ranges.end.line) {\n // return;\n // }\n // this.textEditorsRevealing.delete(e.textEditor);\n // }\n // if (!this.isInsertMode) {\n // this.commitScrolling(e.textEditor);\n // }\n // };\n\n // private commitScrolling = throttle(\n // (e: vscode.TextEditor) => {\n // if (vscode.window.activeTextEditor !== e) {\n // return;\n // }\n // const cursor = e.selection.active;\n // const visibleRange = e.visibleRanges[0];\n // if (!visibleRange) {\n // return;\n // }\n // let updateCursor = false;\n // if (cursor.line > visibleRange.end.line) {\n // updateCursor = true;\n // e.selections = [\n // new vscode.Selection(\n // visibleRange.end.line,\n // cursor.character,\n // visibleRange.end.line,\n // cursor.character,\n // ),\n // ];\n // } else if (cursor.line < visibleRange.start.line) {\n // updateCursor = true;\n // e.selections = [\n // new vscode.Selection(\n // visibleRange.start.line,\n // cursor.character,\n // visibleRange.start.line,\n // cursor.character,\n // ),\n // ];\n // }\n // if (updateCursor && e.viewColumn) {\n // const winId = this.editorColumnIdToWinId.get(e.viewColumn);\n // if (winId) {\n // this.updateCursorPositionInNeovim(winId, e.selection.active.line, e.selection.active.character);\n // }\n // }\n // },\n // 500,\n // { leading: false },\n // );\n // private commitScrollingFast = throttle(this.updateScreenRowFromScrolling, 200, { leading: false });\n}\n","import fs from \"fs\";\n\nimport { Disposable, window } from \"vscode\";\n\nexport enum LogLevel {\n none = 0,\n error = 1,\n warn = 2,\n debug = 3,\n}\n\nexport class Logger implements Disposable {\n private disposables: Disposable[] = [];\n\n private fd = 0;\n\n public constructor(private logLevel: LogLevel, filePath: string, private outputToConsole = false) {\n if (logLevel !== LogLevel.none) {\n try {\n this.fd = fs.openSync(filePath, \"w\");\n } catch {\n // ignore\n }\n }\n // this.channel = window.createOutputChannel(EXT_NAME);\n // this.disposables.push(this.channel);\n }\n\n public dispose(): void {\n if (this.fd) {\n fs.closeSync(this.fd);\n }\n this.disposables.forEach((d) => d.dispose());\n }\n\n public debug(msg: string): void {\n msg = `${this.getTimestamp()} ${msg}`;\n if (this.logLevel >= LogLevel.debug) {\n if (this.fd) {\n fs.appendFileSync(this.fd, msg + \"\\n\");\n }\n if (this.outputToConsole) {\n console.log(msg);\n }\n }\n }\n\n public warn(msg: string): void {\n msg = `${this.getTimestamp()} ${msg}`;\n if (this.logLevel >= LogLevel.warn) {\n if (this.fd) {\n fs.appendFileSync(this.fd, msg + \"\\n\");\n }\n if (this.outputToConsole) {\n console.log(msg);\n }\n }\n }\n\n public error(msg: string): void {\n msg = `${this.getTimestamp()} ${msg}`;\n if (this.logLevel >= LogLevel.error) {\n if (this.fd) {\n fs.appendFileSync(this.fd, msg + \"\\n\");\n }\n if (this.outputToConsole) {\n console.log(msg);\n }\n }\n window.showErrorMessage(msg);\n }\n\n private getTimestamp(): string {\n return new Date().toISOString();\n }\n}\n","import diff from \"fast-diff\";\nimport { NeovimClient } from \"neovim\";\nimport {\n Disposable,\n EndOfLine,\n Position,\n ProgressLocation,\n Range,\n Selection,\n TextDocument,\n TextDocumentChangeEvent,\n window,\n workspace,\n} from \"vscode\";\n\nimport { BufferManager } from \"./buffer_manager\";\nimport { Logger } from \"./logger\";\nimport { ModeManager } from \"./mode_manager\";\nimport { NeovimExtensionRequestProcessable } from \"./neovim_events_processable\";\nimport {\n accumulateDotRepeatChange,\n callAtomic,\n diffLineToChars,\n DotRepeatChange,\n getDocumentLineArray,\n getNeovimCursorPosFromEditor,\n isChangeSubsequentToChange,\n isCursorChange,\n normalizeDotRepeatChange,\n prepareEditRangesFromDiff,\n} from \"./utils\";\n\nconst LOG_PREFIX = \"DocumentChangeManager\";\n\nexport class DocumentChangeManager implements Disposable, NeovimExtensionRequestProcessable {\n private disposables: Disposable[] = [];\n /**\n * Array of pending events to apply in batch\n * ! vscode text editor operations are async and can't be executed in parallel.\n * ! We can execute them synchronously by awaiting each change but it will be very slow\n * ! So group buffer changes within 50ms and execute them in batch\n */\n private pendingEvents: Array>> = [];\n /**\n * Buffer skipping update map\n * ! Since neovim change will trigger onDocumentChangeEvent we need to handle it and don't send a change again\n * ! For it we optimistically increase skipTicks for each change originated from vscode and check it in neovim buffer event handler\n */\n private bufferSkipTicks: Map = new Map();\n /**\n * Document version tracking\n * ! Same as previous property, but reverse\n */\n private documentSkipVersionOnChange: WeakMap = new WeakMap();\n /**\n * Pending document changes promise. Being set early when first change event for a document is received\n * ! Since operations are async it's possible we receive other updates (such as cursor, HL) for related editors with document before\n * ! text change will be applied. In this case we need to queue such changes (through .then()) and wait for change operation completion\n */\n private textDocumentChangePromise: Map<\n TextDocument,\n Array<{ promise?: Promise; resolve?: () => void; reject?: () => void }>\n > = new Map();\n /**\n * Stores cursor pos after document change in neovim\n */\n private cursorAfterTextDocumentChange: WeakMap = new WeakMap();\n /**\n * Holds document content last known to neovim.\n * ! The original content is needed to calculate the difference when exiting the insert mode\n * ! It's possible to just fetch content from neovim and check instead of trackingg here, but this will add unnecessary lag\n */\n private documentContentInNeovim: WeakMap = new WeakMap();\n /**\n * Set of changed documents since last neovim sync\n */\n private changedDocuments: Set = new Set();\n /**\n * Dot repeat workaround\n */\n private dotRepeatChange: DotRepeatChange | undefined;\n /**\n * A hint for dot-repeat indicating of how the insert mode was started\n */\n private dotRepeatStartModeInsertHint?: \"o\" | \"O\";\n /**\n * True when we're currently applying edits, so incoming changes will go into pending events queue\n */\n private applyingEdits = false;\n\n public constructor(\n private logger: Logger,\n private client: NeovimClient,\n private bufferManager: BufferManager,\n private modeManager: ModeManager,\n ) {\n this.bufferManager.onBufferEvent = this.onNeovimChangeEvent;\n this.bufferManager.onBufferInit = this.onBufferInit;\n this.disposables.push(workspace.onDidChangeTextDocument(this.onChangeTextDocument));\n }\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public eatDocumentCursorAfterChange(doc: TextDocument): { line: number; character: number } | undefined {\n const cursor = this.cursorAfterTextDocumentChange.get(doc);\n this.cursorAfterTextDocumentChange.delete(doc);\n return cursor;\n }\n\n public getDocumentChangeCompletionLock(doc: TextDocument): Promise | undefined {\n const promises = this.textDocumentChangePromise.get(doc);\n if (!promises || !promises.length) {\n return;\n }\n return Promise.all(promises.map((p) => p.promise).filter(Boolean));\n }\n\n public hasDocumentChangeCompletionLock(doc: TextDocument): boolean {\n return (this.textDocumentChangePromise.get(doc)?.length || 0) > 0;\n }\n\n public async handleExtensionRequest(name: string, args: unknown[]): Promise {\n if (name === \"insert-line\") {\n const [type] = args as [\"before\" | \"after\"];\n this.dotRepeatStartModeInsertHint = type === \"before\" ? \"O\" : \"o\";\n this.logger.debug(`${LOG_PREFIX}: Setting start insert mode hint - ${this.dotRepeatStartModeInsertHint}`);\n }\n }\n\n public async syncDocumentsWithNeovim(): Promise {\n this.logger.debug(`${LOG_PREFIX}: Syncing document changes with neovim`);\n\n const requests: [string, unknown[]][] = [];\n const changedDocs = [...this.changedDocuments];\n this.changedDocuments.clear();\n\n for (const doc of changedDocs) {\n this.logger.debug(`${LOG_PREFIX}: Processing document ${doc.uri.toString()}`);\n if (doc.isClosed) {\n this.logger.warn(`${LOG_PREFIX}: Document ${doc.uri.toString()} is closed, skipping`);\n continue;\n }\n let origText = this.documentContentInNeovim.get(doc);\n if (origText == null) {\n this.logger.warn(\n `${LOG_PREFIX}: Can't get last known neovim content for ${doc.uri.toString()}, skipping`,\n );\n continue;\n }\n\n const bufId = this.bufferManager.getBufferIdForTextDocument(doc);\n if (!bufId) {\n this.logger.warn(`${LOG_PREFIX}: No neovim buffer for ${doc.uri.toString()}`);\n continue;\n }\n\n let newText = doc.getText();\n this.documentContentInNeovim.set(doc, newText);\n\n const eol = doc.eol === EndOfLine.LF ? \"\\n\" : \"\\r\\n\";\n\n // workaround about problem changing last line when it's empty\n // todo: it doesn't work if you just add empty line without changing it\n // if (origText.slice(-1) === \"\\n\" || origText.slice(-1) === \"\\r\\n\") {\n // add few lines to the end otherwise diff may be wrong for a newline characters\n origText += `${eol}end${eol}end`;\n newText += `${eol}end${eol}end`;\n // }\n const diffPrepare = diffLineToChars(origText, newText);\n const d = diff(diffPrepare.chars1, diffPrepare.chars2);\n const ranges = prepareEditRangesFromDiff(d);\n if (!ranges.length) {\n this.logger.debug(`${LOG_PREFIX}: No diff ranges for ${doc.uri.toString()}, skipping`);\n continue;\n }\n // dmp.diff_charsToLines_(diff, diffPrepare.lineArray);\n const bufLinesRequests: [string, unknown[]][] = [];\n // each subsequent nvim_buf_set_lines uses the result of previous nvim_buf_set_lines so we must shift start/end\n let lineDiffForNextChange = 0;\n for (const range of ranges) {\n let text = doc.getText(new Range(range.newStart, 0, range.newEnd, 999999)).split(eol);\n const start = range.start + lineDiffForNextChange;\n let end = range.end + lineDiffForNextChange;\n if (range.type === \"removed\") {\n text = [];\n end++;\n lineDiffForNextChange--;\n } else if (range.type === \"changed\") {\n // workaround for the diff issue when you put newline after the first line\n // diff doesn't account this case\n if ((newText.slice(-1) === \"\\n\" || newText.slice(-1) === \"\\r\\n\") && !origText.includes(eol)) {\n text.push(\"\");\n }\n end++;\n } else if (range.type === \"added\") {\n // prevent adding newline\n if (range.start === 0 && !origText) {\n end++;\n }\n lineDiffForNextChange++;\n // if (text.slice(-1)[0] === \"\") {\n // text.pop();\n // }\n // text.push(\"\\n\");\n }\n bufLinesRequests.push([\"nvim_buf_set_lines\", [bufId, start, end, false, text]]);\n lineDiffForNextChange += range.newEnd - range.newStart - (range.end - range.start);\n }\n const bufTick: number = await this.client.request(\"nvim_buf_get_changedtick\", [bufId]);\n if (!bufTick) {\n this.logger.warn(`${LOG_PREFIX}: Can't get changed tick for bufId: ${bufId}, deleted?`);\n continue;\n }\n this.logger.debug(\n `${LOG_PREFIX}: BufId: ${bufId}, lineChanges: ${bufLinesRequests.length}, tick: ${bufTick}, skipTick: ${\n bufTick + bufLinesRequests.length\n }`,\n );\n this.bufferSkipTicks.set(bufId, bufTick + bufLinesRequests.length);\n requests.push(...bufLinesRequests);\n }\n if (window.activeTextEditor) {\n requests.push([\"nvim_win_set_cursor\", [0, getNeovimCursorPosFromEditor(window.activeTextEditor)]]);\n }\n if (!requests.length) {\n return;\n }\n await callAtomic(this.client, requests, this.logger, LOG_PREFIX);\n }\n\n public async syncDotRepatWithNeovim(): Promise {\n // dot-repeat executes last change across all buffers. So we'll create a temporary buffer & window,\n // replay last changes here to trick neovim and destroy it after\n if (!this.dotRepeatChange) {\n return;\n }\n this.logger.debug(`${LOG_PREFIX}: Syncing dot repeat`);\n const dotRepeatChange = { ...this.dotRepeatChange };\n this.dotRepeatChange = undefined;\n\n const currWin = await this.client.window;\n\n // temporary buffer to replay the changes\n const buf = await this.client.createBuffer(false, true);\n if (typeof buf === \"number\") {\n return;\n }\n // create temporary win\n await this.client.setOption(\"eventignore\", \"BufWinEnter,BufEnter,BufLeave\");\n const win = await this.client.openWindow(buf, true, {\n external: true,\n width: 100,\n height: 100,\n });\n await this.client.setOption(\"eventignore\", \"\");\n if (typeof win === \"number\") {\n return;\n }\n const edits: [string, unknown[]][] = [];\n\n // for delete changes we need an actual text, so let's prefill with something\n // accumulate all possible lengths of deleted text to be safe\n const delRangeLength = dotRepeatChange.rangeLength;\n if (delRangeLength) {\n const stub = new Array(delRangeLength).fill(\"x\").join(\"\");\n edits.push(\n [\"nvim_buf_set_lines\", [buf.id, 0, 0, false, [stub]]],\n [\"nvim_win_set_cursor\", [win.id, [1, delRangeLength]]],\n );\n }\n let editStr = \"\";\n if (dotRepeatChange.startMode) {\n editStr += `${dotRepeatChange.startMode}`;\n // remove EOL from first change\n if (dotRepeatChange.text.startsWith(dotRepeatChange.eol)) {\n dotRepeatChange.text = dotRepeatChange.text.slice(dotRepeatChange.eol.length);\n }\n }\n if (dotRepeatChange.rangeLength) {\n editStr += [...new Array(dotRepeatChange.rangeLength).keys()].map(() => \"\").join(\"\");\n }\n editStr += dotRepeatChange.text.split(dotRepeatChange.eol).join(\"\\n\").replace(\"<\", \"\");\n edits.push([\"nvim_input\", [editStr]]);\n // since nvim_input is not blocking we need replay edits first, then clean up things in subsequent request\n await callAtomic(this.client, edits, this.logger, LOG_PREFIX);\n\n const cleanEdits: [string, unknown[]][] = [];\n cleanEdits.push([\"nvim_set_current_win\", [currWin.id]]);\n cleanEdits.push([\"nvim_win_close\", [win.id, true]]);\n await callAtomic(this.client, cleanEdits, this.logger, LOG_PREFIX);\n }\n\n private onBufferInit: BufferManager[\"onBufferInit\"] = (id, doc) => {\n this.logger.debug(`${LOG_PREFIX}: Init buffer content for bufId: ${id}, uri: ${doc.uri.toString()}`);\n this.documentContentInNeovim.set(doc, doc.getText());\n };\n\n private onNeovimChangeEvent: BufferManager[\"onBufferEvent\"] = (\n bufId,\n tick,\n firstLine,\n lastLine,\n linedata,\n more,\n ) => {\n this.logger.debug(`${LOG_PREFIX}: Received neovim buffer changed event for bufId: ${bufId}, tick: ${tick}`);\n const doc = this.bufferManager.getTextDocumentForBufferId(bufId);\n if (!doc) {\n this.logger.debug(`${LOG_PREFIX}: No text document for buffer: ${bufId}`);\n return;\n }\n const skipTick = this.bufferSkipTicks.get(bufId) || 0;\n if (skipTick >= tick) {\n this.logger.debug(`${LOG_PREFIX}: BufId: ${bufId} skipping tick: ${tick}`);\n return;\n }\n // happens after undo\n if (firstLine === lastLine && linedata.length === 0) {\n this.logger.debug(`${LOG_PREFIX}: BufId: ${bufId} empty change, skipping`);\n return;\n }\n if (!this.textDocumentChangePromise.has(doc)) {\n this.textDocumentChangePromise.set(doc, []);\n }\n const documentPromises = this.textDocumentChangePromise.get(doc)!;\n const promiseDesc: { promise?: Promise; resolve?: () => void; reject?: () => void } = {};\n promiseDesc.promise = new Promise((res, rej) => {\n promiseDesc.resolve = res;\n promiseDesc.reject = rej;\n });\n // put default catch block so promise reject won't be unhandled\n promiseDesc.promise.catch((err) => {\n this.logger.error(err);\n });\n documentPromises.push(promiseDesc);\n\n this.pendingEvents.push([bufId, tick, firstLine, lastLine, linedata, more]);\n if (!this.applyingEdits) {\n this.applyEdits();\n }\n };\n\n private applyEdits = async (): Promise => {\n this.applyingEdits = true;\n this.logger.debug(`${LOG_PREFIX}: Applying neovim edits`);\n // const edits = this.pendingEvents.splice(0);\n let resolveProgress: undefined | (() => void);\n const progressTimer = setTimeout(() => {\n window.withProgress(\n { location: ProgressLocation.Notification, title: \"Applying neovim edits\" },\n () => new Promise((res) => (resolveProgress = res)),\n );\n }, 1000);\n\n while (this.pendingEvents.length) {\n const newTextByDoc: Map = new Map();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let edit = this.pendingEvents.shift();\n while (edit) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [bufId, _tick, firstLine, lastLine, data, _more] = edit;\n const doc = this.bufferManager.getTextDocumentForBufferId(bufId);\n if (!doc) {\n this.logger.warn(`${LOG_PREFIX}: No document for ${bufId}, skip`);\n continue;\n }\n this.logger.debug(`${LOG_PREFIX}: Accumulating edits for ${doc.uri.toString()}, bufId: ${bufId}`);\n if (!newTextByDoc.get(doc)) {\n newTextByDoc.set(doc, getDocumentLineArray(doc));\n }\n let lines = newTextByDoc.get(doc)!;\n // nvim sends following:\n // 1. string change - firstLine is the changed line , lastLine + 1\n // 2. cleaned line but not deleted - first line is the changed line, lastLine + 1, linedata is \"\"\n // 3. newline insert - firstLine = lastLine and linedata is \"\" or new data\n // 4. line deleted - firstLine is changed line, lastLine + 1, linedata is empty []\n // 5. multiple empty lines deleted (sometimes happens), firstLine is changedLine - shouldn't be deleted, lastLine + 1, linedata is \"\"\n // LAST LINE is exclusive and can be out of the last editor line\n if (firstLine !== lastLine && lastLine === firstLine + 1 && data.length === 1 && data[0] === \"\") {\n // 2\n for (let line = firstLine; line < lastLine; line++) {\n lines[line] = \"\";\n }\n } else if (firstLine !== lastLine && data.length === 1 && data[0] === \"\") {\n // 5\n for (let line = 1; line < lastLine - firstLine; line++) {\n lines.splice(firstLine, 1);\n }\n lines[firstLine] = \"\";\n } else if (firstLine !== lastLine && !data.length) {\n // 4\n for (let line = 0; line < lastLine - firstLine; line++) {\n lines.splice(firstLine, 1);\n }\n } else if (firstLine === lastLine) {\n // 3\n if (firstLine > lines.length) {\n data.unshift(\"\");\n }\n if (firstLine === 0) {\n lines.unshift(...data);\n } else {\n lines = [...lines.slice(0, firstLine), ...data, ...lines.slice(firstLine)];\n }\n } else {\n // 1 or 3\n // handle when change is overflow through editor lines. E.g. pasting on last line.\n // Without newline it will append to the current one\n if (firstLine >= lines.length) {\n data.unshift(\"\");\n }\n lines = [...lines.slice(0, firstLine), ...data, ...lines.slice(lastLine)];\n }\n newTextByDoc.set(doc, lines);\n edit = this.pendingEvents.shift();\n }\n // replacing lines with WorkspaceEdit() moves cursor to the end of the line, unfortunately this won't work\n // const workspaceEdit = new vscode.WorkspaceEdit();\n for (const [doc, newLines] of newTextByDoc) {\n const lastPromiseIdx = this.textDocumentChangePromise.get(doc)?.length || 0;\n try {\n this.logger.debug(`${LOG_PREFIX}: Applying edits for ${doc.uri.toString()}`);\n if (doc.isClosed) {\n this.logger.debug(`${LOG_PREFIX}: Document was closed, skippnig`);\n continue;\n }\n const editor = window.visibleTextEditors.find((e) => e.document === doc);\n if (!editor) {\n this.logger.debug(`${LOG_PREFIX}: No visible text editor for document, skipping`);\n continue;\n }\n let oldText = doc.getText();\n const eol = doc.eol === EndOfLine.CRLF ? \"\\r\\n\" : \"\\n\";\n let newText = newLines.join(eol);\n // add few lines to the end otherwise diff may be wrong for a newline characters\n oldText += `${eol}end${eol}end`;\n newText += `${eol}end${eol}end`;\n const diffPrepare = diffLineToChars(oldText, newText);\n const d = diff(diffPrepare.chars1, diffPrepare.chars2);\n const ranges = prepareEditRangesFromDiff(d);\n if (!ranges.length) {\n continue;\n }\n this.documentSkipVersionOnChange.set(doc, doc.version + 1);\n\n // const cursor = editor.selection.active;\n const success = await editor.edit(\n (builder) => {\n for (const range of ranges) {\n const text = newLines.slice(range.newStart, range.newEnd + 1);\n if (range.type === \"removed\") {\n if (range.end >= editor.document.lineCount - 1 && range.start > 0) {\n const startChar = editor.document.lineAt(range.start - 1).range.end.character;\n builder.delete(new Range(range.start - 1, startChar, range.end, 999999));\n } else {\n builder.delete(new Range(range.start, 0, range.end + 1, 0));\n }\n } else if (range.type === \"changed\") {\n // builder.delete(new Range(range.start, 0, range.end, 999999));\n // builder.insert(new Position(range.start, 0), text.join(\"\\n\"));\n // !builder.replace() can select text. This usually happens when you add something at end of a line\n // !We're trying to mitigate it here by checking if we're just adding characters and using insert() instead\n // !As fallback we look after applying edits if we have selection\n const oldText = editor.document\n .getText(new Range(range.start, 0, range.end, 99999))\n .replace(\"\\r\\n\", \"\\n\");\n const newText = text.join(\"\\n\");\n if (newText.length > oldText.length && newText.startsWith(oldText)) {\n builder.insert(\n new Position(range.start, oldText.length),\n newText.slice(oldText.length),\n );\n } else {\n builder.replace(new Range(range.start, 0, range.end, 999999), text.join(\"\\n\"));\n }\n } else if (range.type === \"added\") {\n if (range.start >= editor.document.lineCount) {\n text.unshift(\n ...new Array(range.start - (editor.document.lineCount - 1)).fill(\"\"),\n );\n } else {\n text.push(\"\");\n }\n builder.insert(new Position(range.start, 0), text.join(\"\\n\"));\n // !builder.replace() selects text\n // builder.replace(new Position(range.start, 0), text.join(\"\\n\"));\n }\n }\n },\n { undoStopAfter: false, undoStopBefore: false },\n );\n const docPromises = this.textDocumentChangePromise.get(doc)?.splice(0, lastPromiseIdx) || [];\n if (success) {\n if (!editor.selection.anchor.isEqual(editor.selection.active)) {\n editor.selections = [new Selection(editor.selection.active, editor.selection.active)];\n }\n this.cursorAfterTextDocumentChange.set(editor.document, {\n line: editor.selection.active.line,\n character: editor.selection.active.character,\n });\n docPromises.forEach((p) => p.resolve && p.resolve());\n this.logger.debug(`${LOG_PREFIX}: Changes succesfully applied for ${doc.uri.toString()}`);\n this.documentContentInNeovim.set(doc, doc.getText());\n } else {\n docPromises.forEach((p) => {\n p.promise?.catch(() =>\n this.logger.warn(`${LOG_PREFIX}: Edit was canceled for doc: ${doc.uri.toString()}`),\n );\n p.reject && p.reject();\n });\n this.logger.warn(`${LOG_PREFIX}: Changes were not applied for ${doc.uri.toString()}`);\n }\n } catch (e) {\n this.logger.error(`${LOG_PREFIX}: Error applying neovim edits, error: ${e.message}`);\n }\n }\n }\n const promises = [...this.textDocumentChangePromise.values()].flatMap((p) => p);\n this.textDocumentChangePromise.clear();\n promises.forEach((p) => p.resolve && p.resolve());\n // better to be safe - if event was inserted after exit the while() block but before exit the function\n if (progressTimer) {\n clearTimeout(progressTimer);\n }\n if (resolveProgress) {\n resolveProgress();\n }\n if (this.pendingEvents.length) {\n this.applyEdits();\n }\n this.applyingEdits = false;\n };\n\n private onChangeTextDocument = (e: TextDocumentChangeEvent): void => {\n const { document, contentChanges } = e;\n\n this.logger.debug(`${LOG_PREFIX}: Change text document for uri: ${document.uri.toString()}`);\n if (this.documentSkipVersionOnChange.get(document) === document.version) {\n this.logger.debug(`${LOG_PREFIX}: Skipping a change since versions equals`);\n return;\n }\n\n const startModeHint = this.dotRepeatStartModeInsertHint;\n const activeEditor = window.activeTextEditor;\n\n // Store dot repeat\n if (activeEditor && activeEditor.document === document && this.modeManager.isInsertMode) {\n this.dotRepeatStartModeInsertHint = undefined;\n const eol = document.eol === EndOfLine.LF ? \"\\n\" : \"\\r\\n\";\n const cursor = activeEditor.selection.active;\n for (const change of contentChanges) {\n if (isCursorChange(change, cursor, eol)) {\n if (this.dotRepeatChange && isChangeSubsequentToChange(change, this.dotRepeatChange)) {\n this.dotRepeatChange = accumulateDotRepeatChange(change, this.dotRepeatChange);\n } else {\n this.dotRepeatChange = normalizeDotRepeatChange(change, eol, startModeHint);\n }\n }\n }\n }\n this.changedDocuments.add(document);\n if (!this.modeManager.isInsertMode) {\n this.syncDocumentsWithNeovim();\n }\n };\n}\n","import { Disposable, window, QuickPick, QuickPickItem, commands } from \"vscode\";\nimport { NeovimClient } from \"neovim\";\n\nimport { GlyphChars } from \"./constants\";\n\nexport interface CommandLineCallbacks {\n onAccepted(): void;\n onChanged(str: string, complete: boolean): void;\n onCanceled(): void;\n}\n\nexport class CommandLineController implements Disposable {\n public isDisplayed = false;\n\n private input: QuickPick;\n\n private disposables: Disposable[] = [];\n\n private completionAllowed = false;\n\n private completionTimer?: NodeJS.Timeout;\n\n private completionItems: QuickPickItem[] = [];\n\n private mode = \"\";\n\n private neovimClient: NeovimClient;\n\n private ignoreHideEvent = false;\n\n private callbacks: CommandLineCallbacks;\n\n public constructor(client: NeovimClient, callbacks: CommandLineCallbacks) {\n this.neovimClient = client;\n this.callbacks = callbacks;\n this.input = window.createQuickPick();\n this.input.ignoreFocusOut = true;\n this.disposables.push(this.input.onDidAccept(this.onAccept));\n this.disposables.push(this.input.onDidChangeValue(this.onChange));\n this.disposables.push(this.input.onDidHide(this.onHide));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.commit-cmdline\", this.onAccept));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.delete-word-left-cmdline\", this.deleteWord));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.delete-all-cmdline\", this.deleteAll));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.delete-char-left-cmdline\", this.deleteChar));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.history-up-cmdline\", this.onHistoryUp));\n this.disposables.push(commands.registerCommand(\"vscode-neovim.history-down-cmdline\", this.onHistoryDown));\n this.disposables.push(\n commands.registerCommand(\"vscode-neovim.complete-selection-cmdline\", this.acceptSelection),\n );\n }\n\n public show(initialContent = \"\", mode: string, prompt = \"\"): void {\n if (!this.isDisplayed) {\n this.input.value = \"\";\n this.isDisplayed = true;\n this.input.value = \"\";\n this.mode = mode;\n this.input.title = prompt || this.getTitle(mode);\n this.input.show();\n // display content after cmdline appears - otherwise it will be preselected that is not good when calling from visual mode\n if (initialContent) {\n this.input.value = initialContent;\n }\n // Display completions only after 1.5secons, so it won't bother for simple things like \":w\" or \":noh\"\n this.completionAllowed = false;\n this.completionItems = [];\n this.input.items = [];\n this.completionTimer = setTimeout(this.processCompletionTimer, 1500);\n // breaks mappings with command line mode, e.g. :call stuff()\n // this.onChange(this.input.value);\n } else {\n const newTitle = prompt || this.getTitle(mode);\n if (newTitle !== this.input.title) {\n this.input.title = newTitle;\n }\n // we want take content for the search modes, because / keybindings\n if (this.mode === \"/\" || this.mode === \"?\") {\n this.input.value = initialContent;\n }\n }\n }\n\n public setCompletionItems(items: string[]): void {\n this.completionItems = items.map((i) => ({ label: i, alwaysShow: true }));\n if (this.completionAllowed) {\n this.input.items = this.completionItems;\n }\n }\n\n public cancel(ignoreHideEvent = false): void {\n this.ignoreHideEvent = ignoreHideEvent;\n this.input.hide();\n }\n\n public dispose(): void {\n for (const d of this.disposables) {\n d.dispose();\n }\n this.input.dispose();\n }\n\n private onAccept = (): void => {\n if (!this.isDisplayed) {\n return;\n }\n this.callbacks.onAccepted();\n };\n\n private onChange = (e: string): void => {\n if (!this.isDisplayed) {\n return;\n }\n const mode = this.mode;\n if (mode === \":\" && (e.charAt(0) === \"?\" || e.charAt(0) === \"/\") && this.input.items.length) {\n this.input.items = [];\n this.completionItems = [];\n }\n const useCompletion =\n mode === \":\" &&\n e.charAt(0) !== \"?\" &&\n e.charAt(0) !== \"/\" &&\n !e.includes(\"s/\") &&\n !e.includes(\"substitute/\") &&\n !e.includes(\"g/\") &&\n !e.includes(\"global/\") &&\n !e.includes(\"v/\") &&\n !e.includes(\"vglobal/\");\n if (!useCompletion) {\n this.cancelCompletions();\n }\n this.callbacks.onChanged(e, useCompletion);\n };\n\n private onHide = (): void => {\n if (!this.isDisplayed) {\n return;\n }\n this.clean();\n if (this.ignoreHideEvent) {\n this.ignoreHideEvent = false;\n return;\n }\n this.callbacks.onCanceled();\n };\n\n private processCompletionTimer = (): void => {\n this.completionAllowed = true;\n if (this.isDisplayed && this.completionItems.length) {\n this.input.items = this.completionItems;\n }\n this.completionTimer = undefined;\n };\n\n private cancelCompletions = (): void => {\n if (this.completionTimer) {\n clearTimeout(this.completionTimer);\n this.completionTimer = undefined;\n }\n this.input.items = [];\n };\n\n private getTitle(modeOrPrompt: string): string {\n switch (modeOrPrompt) {\n case \"/\":\n return `${GlyphChars.SEARCH_FORWARD} Forward Search:`;\n case \"?\":\n return `${GlyphChars.SEARCH_BACKWARD} Backward Search:`;\n case \":\":\n return `${GlyphChars.COMMAND} VIM Command Line:`;\n default:\n return modeOrPrompt;\n }\n }\n\n private deleteAll = (): void => {\n if (!this.isDisplayed) {\n return;\n }\n this.input.value = \"\";\n this.onChange(\"\");\n };\n\n private deleteChar = (): void => {\n if (!this.isDisplayed) {\n return;\n }\n this.input.value = this.input.value.slice(0, -1);\n this.onChange(this.input.value);\n };\n\n private deleteWord = (): void => {\n if (!this.isDisplayed) {\n return;\n }\n\n this.input.value = this.input.value.trimRight().split(\" \").slice(0, -1).join(\" \");\n this.onChange(this.input.value);\n };\n\n private clean(): void {\n if (this.completionTimer) {\n clearTimeout(this.completionTimer);\n }\n this.isDisplayed = false;\n this.input.value = \"\";\n this.input.title = \"\";\n this.mode = \"\";\n this.completionAllowed = false;\n this.input.items = [];\n this.completionItems = [];\n }\n\n private acceptSelection = (): void => {\n if (!this.isDisplayed) {\n return;\n }\n const sel = this.input.activeItems[0];\n if (!sel) {\n return;\n }\n this.input.value = this.input.value.split(\" \").slice(0, -1).concat(sel.label).join(\" \");\n this.onChange(this.input.value);\n };\n\n private onHistoryUp = async (): Promise => {\n await this.neovimClient.input(\"\");\n const res = await this.neovimClient.callFunction(\"getcmdline\", []);\n if (res) {\n this.input.value = res;\n this.input.show();\n }\n };\n\n private onHistoryDown = async (): Promise => {\n await this.neovimClient.input(\"\");\n const res = await this.neovimClient.callFunction(\"getcmdline\", []);\n if (res) {\n this.input.value = res;\n this.input.show();\n }\n };\n}\n","import { NeovimClient } from \"neovim\";\nimport { Disposable } from \"vscode\";\n\nimport { CommandLineController } from \"./command_line\";\nimport { Logger } from \"./logger\";\nimport { NeovimRedrawProcessable } from \"./neovim_events_processable\";\nimport { normalizeInputString } from \"./utils\";\n\nexport class CommandLineManager implements Disposable, NeovimRedrawProcessable {\n private disposables: Disposable[] = [];\n /**\n * Simple command line UI\n */\n private commandLine?: CommandLineController;\n /**\n * Commandline timeout\n */\n private cmdlineTimer?: NodeJS.Timeout;\n\n public constructor(private logger: Logger, private client: NeovimClient) {}\n\n public dispose(): void {\n if (this.commandLine) {\n this.commandLine.dispose();\n }\n this.disposables.forEach((d) => d.dispose());\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n for (const [name, ...args] of batch) {\n const firstArg = args[0] || [];\n switch (name) {\n case \"cmdline_show\": {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [content, pos, firstc, prompt, indent, level] = firstArg as [\n // eslint-disable-next-line @typescript-eslint/ban-types\n [object, string][],\n number,\n string,\n string,\n number,\n number,\n ];\n const allContent = content.map(([, str]) => str).join(\"\");\n // !note: neovim can send cmdline_hide followed by cmdline_show events\n // !since quickpick can be destroyed slightly at later time after handling cmdline_hide we want to create new command line\n // !controller and input for every visible cmdline_show event\n // !otherwise we may hit cmdline_show when it's being hidden\n // as alternative, it's possible to process batch and determine if we need show/hide or just redraw the command_line\n // but this won't handle the case when cmdline_show comes in next flush batch (is it possible?)\n // btw, easier to just recreate whole command line (and quickpick inside)\n if (this.cmdlineTimer) {\n clearTimeout(this.cmdlineTimer);\n this.cmdlineTimer = undefined;\n if (!this.commandLine) {\n this.commandLine = new CommandLineController(this.client, {\n onAccepted: this.onCmdAccept,\n onCanceled: this.onCmdCancel,\n onChanged: this.onCmdChange,\n });\n }\n this.commandLine.show(allContent, firstc, prompt);\n } else {\n // if there is initial content and it's not currently displayed then it may come\n // from some mapping. to prevent bad UI commandline transition we delay cmdline appearing here\n if (allContent !== \"\" && allContent !== \"'<,'>\" && !this.commandLine) {\n this.cmdlineTimer = setTimeout(() => this.showCmdOnTimer(allContent, firstc, prompt), 200);\n } else {\n if (!this.commandLine) {\n this.commandLine = new CommandLineController(this.client, {\n onAccepted: this.onCmdAccept,\n onCanceled: this.onCmdCancel,\n onChanged: this.onCmdChange,\n });\n }\n this.commandLine.show(allContent, firstc, prompt);\n }\n }\n break;\n }\n case \"wildmenu_show\": {\n const [items] = firstArg as [string[]];\n if (this.commandLine) {\n this.commandLine.setCompletionItems(items);\n }\n break;\n }\n case \"cmdline_hide\": {\n if (this.cmdlineTimer) {\n clearTimeout(this.cmdlineTimer);\n this.cmdlineTimer = undefined;\n } else if (this.commandLine) {\n this.commandLine.cancel(true);\n this.commandLine.dispose();\n this.commandLine = undefined;\n }\n break;\n }\n }\n }\n }\n\n private showCmdOnTimer = (initialContent: string, firstc: string, prompt: string): void => {\n if (!this.commandLine) {\n this.commandLine = new CommandLineController(this.client, {\n onAccepted: this.onCmdAccept,\n onCanceled: this.onCmdCancel,\n onChanged: this.onCmdChange,\n });\n }\n this.commandLine.show(initialContent, firstc, prompt);\n this.cmdlineTimer = undefined;\n };\n\n private onCmdChange = async (e: string, complete: boolean): Promise => {\n let keys = \"\" + normalizeInputString(e);\n if (complete) {\n keys += \"\";\n }\n await this.client.input(keys);\n };\n\n private onCmdCancel = async (): Promise => {\n await this.client.input(\"\");\n };\n\n private onCmdAccept = (): void => {\n this.client.input(\"\");\n };\n}\n","import * as vscode from \"vscode\";\n\nexport class StatusLineController implements vscode.Disposable {\n private modeItem: vscode.StatusBarItem;\n private commandItem: vscode.StatusBarItem;\n private msgItem: vscode.StatusBarItem;\n\n public constructor() {\n this.modeItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left, 10);\n this.commandItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left, 5);\n this.msgItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left, 1);\n }\n\n public set modeString(str: string) {\n if (!str) {\n this.modeItem.hide();\n } else {\n this.modeItem.text = str;\n this.modeItem.show();\n }\n }\n\n public set statusString(str: string) {\n if (!str) {\n this.commandItem.hide();\n } else {\n this.commandItem.text = str;\n this.commandItem.show();\n }\n }\n\n public set msgString(str: string) {\n if (!str) {\n this.msgItem.hide();\n } else {\n this.msgItem.text = str;\n this.msgItem.show();\n }\n }\n\n public dispose(): void {\n this.commandItem.dispose();\n this.modeItem.dispose();\n this.msgItem.dispose();\n }\n}\n","import { NeovimClient } from \"neovim\";\nimport { Disposable } from \"vscode\";\n\nimport { Logger } from \"./logger\";\nimport { NeovimRedrawProcessable } from \"./neovim_events_processable\";\nimport { StatusLineController } from \"./status_line\";\n\nexport class StatusLineManager implements Disposable, NeovimRedrawProcessable {\n private disposables: Disposable[] = [];\n /**\n * Status var UI\n */\n private statusLine: StatusLineController;\n\n public constructor(private logger: Logger, private client: NeovimClient) {\n this.statusLine = new StatusLineController();\n this.disposables.push(this.statusLine);\n }\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n let acceptPrompt = false;\n // if there is mouse_on event after return prompt, then we don't need automatically accept it\n // use case: easymotion search with jumping\n let hasMouseOnAfterReturnPrompt = false;\n batch.forEach(([name, ...args], idx) => {\n // for (const [name, ...args] of batch) {\n const firstArg = args[0] || [];\n switch (name) {\n case \"msg_showcmd\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [content] = firstArg as [string, any[]];\n let str = \"\";\n if (content) {\n for (const c of content) {\n const [, cmdStr] = c;\n if (cmdStr) {\n str += cmdStr;\n }\n }\n }\n this.statusLine.statusString = str;\n break;\n }\n case \"msg_show\": {\n let str = \"\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const [type, content] of args as [string, any[], never][]) {\n // if (ui === \"confirm\" || ui === \"confirmsub\" || ui === \"return_prompt\") {\n // this.nextInputBlocking = true;\n // }\n if (type === \"return_prompt\") {\n acceptPrompt = true;\n hasMouseOnAfterReturnPrompt = !!batch.slice(idx).find(([name]) => name === \"mouse_on\");\n }\n if (content) {\n for (const c of content) {\n const [, cmdStr] = c;\n if (cmdStr) {\n str += cmdStr;\n }\n }\n }\n }\n this.statusLine.msgString = str;\n break;\n }\n case \"msg_showmode\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [content] = firstArg as [any[]];\n let str = \"\";\n if (content) {\n for (const c of content) {\n const [, modeStr] = c;\n if (modeStr) {\n str += modeStr;\n }\n }\n }\n this.statusLine.modeString = str;\n break;\n }\n case \"msg_clear\": {\n this.statusLine.msgString = \"\";\n break;\n }\n }\n });\n if (acceptPrompt && !hasMouseOnAfterReturnPrompt) {\n this.client.input(\"\");\n }\n }\n}\n","import { Range, TextEditorDecorationType, ThemableDecorationRenderOptions, ThemeColor, window } from \"vscode\";\n\nexport interface VimHighlightUIAttributes {\n foreground?: number;\n background?: number;\n special?: number;\n reverse?: boolean;\n italic?: boolean;\n bold?: boolean;\n strikethrough?: boolean;\n // has special color\n underline?: boolean;\n // has special color\n undercurl?: boolean;\n blend?: number;\n}\n\nexport interface HighlightConfiguration {\n /**\n * Ignore highlights\n */\n ignoreHighlights: string[];\n /**\n * What to do on unknown highlights. Either accept vim or use vscode decorator configuration\n */\n unknownHighlight: \"vim\" | ThemableDecorationRenderOptions;\n /**\n * Map specific highlight to use either vim configuration or use vscode decorator configuration\n */\n highlights: {\n [key: string]: \"vim\" | ThemableDecorationRenderOptions;\n };\n}\n\n/**\n * Convert VIM HL attributes to vscode text decoration attributes\n * @param uiAttrs VIM UI attribute\n * @param vimSpecialColor Vim special color\n */\nfunction vimHighlightToVSCodeOptions(uiAttrs: VimHighlightUIAttributes): ThemableDecorationRenderOptions {\n const options: ThemableDecorationRenderOptions = {};\n // for absent color keys color should not be changed\n if (uiAttrs.background) {\n options.backgroundColor = \"#\" + uiAttrs.background.toString(16);\n }\n if (uiAttrs.foreground) {\n options.color = \"#\" + uiAttrs.foreground.toString(16);\n }\n const specialColor = uiAttrs.special ? \"#\" + uiAttrs.special.toString(16) : \"\";\n\n if (uiAttrs.reverse) {\n options.backgroundColor = new ThemeColor(\"editor.foreground\");\n options.color = new ThemeColor(\"editor.background\");\n }\n if (uiAttrs.italic) {\n options.fontStyle = \"italic\";\n }\n if (uiAttrs.bold) {\n options.fontWeight = \"bold\";\n }\n if (uiAttrs.strikethrough) {\n options.textDecoration = \"line-through solid\";\n }\n if (uiAttrs.underline) {\n options.textDecoration = `underline ${specialColor} solid`;\n }\n if (uiAttrs.undercurl) {\n options.textDecoration = `underline ${specialColor} wavy`;\n }\n return options;\n}\n\nfunction isEditorThemeColor(s: string | ThemeColor | undefined): s is string {\n return typeof s === \"string\" && s.startsWith(\"theme.\");\n}\n\nfunction normalizeDecorationConfig(config: ThemableDecorationRenderOptions): ThemableDecorationRenderOptions {\n const newConfig: ThemableDecorationRenderOptions = {\n ...config,\n after: config.after ? { ...config.after } : undefined,\n before: config.before ? { ...config.before } : undefined,\n };\n if (isEditorThemeColor(newConfig.backgroundColor)) {\n newConfig.backgroundColor = new ThemeColor(newConfig.backgroundColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.borderColor)) {\n newConfig.borderColor = new ThemeColor(newConfig.borderColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.color)) {\n newConfig.borderColor = new ThemeColor(newConfig.color.slice(6));\n }\n if (isEditorThemeColor(newConfig.outlineColor)) {\n newConfig.outlineColor = new ThemeColor(newConfig.outlineColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.overviewRulerColor)) {\n newConfig.overviewRulerColor = new ThemeColor(newConfig.overviewRulerColor.slice(6));\n }\n if (newConfig.after) {\n if (isEditorThemeColor(newConfig.after.backgroundColor)) {\n newConfig.after.backgroundColor = new ThemeColor(newConfig.after.backgroundColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.after.borderColor)) {\n newConfig.after.borderColor = new ThemeColor(newConfig.after.borderColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.after.color)) {\n newConfig.after.color = new ThemeColor(newConfig.after.color.slice(6));\n }\n }\n if (newConfig.before) {\n if (isEditorThemeColor(newConfig.before.backgroundColor)) {\n newConfig.before.backgroundColor = new ThemeColor(newConfig.before.backgroundColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.before.borderColor)) {\n newConfig.before.borderColor = new ThemeColor(newConfig.before.borderColor.slice(6));\n }\n if (isEditorThemeColor(newConfig.before.color)) {\n newConfig.before.color = new ThemeColor(newConfig.before.color.slice(6));\n }\n }\n return newConfig;\n}\n\nexport class HighlightProvider {\n /**\n * Current HL. key is the grid id and values is two dimension array representing rows and cols. Array may contain empty values\n */\n private highlights: Map = new Map();\n private prevGridHighlightsIds: Map> = new Map();\n /**\n * Maps highlight id to highlight group name\n */\n private highlightIdToGroupName: Map = new Map();\n /**\n * HL group name to text decorator\n * Not all HL groups are supported now\n */\n private highlighGroupToDecorator: Map = new Map();\n /**\n * Store configuration per decorator\n */\n private decoratorConfigurations: Map = new Map();\n\n private configuration: HighlightConfiguration;\n\n /**\n * Set of ignored HL group ids. They can still be used with force flag (mainly for statusbar color decorations)\n */\n private ignoredGroupIds: Set = new Set();\n /**\n * List of always ignored groups\n */\n private alwaysIgnoreGroups = [\n \"Normal\",\n \"NormalNC\",\n \"NormalFloat\",\n \"NonText\",\n \"SpecialKey\",\n \"TermCursor\",\n \"TermCursorNC\",\n \"Cursor\",\n \"lCursor\",\n \"VisualNC\",\n // \"Visual\",\n \"Conceal\",\n \"CursorLine\",\n \"CursorLineNr\",\n \"ColorColumn\",\n \"LineNr\",\n \"StatusLine\",\n \"StatusLineNC\",\n \"VertSplit\",\n \"Title\",\n \"WildMenu\",\n \"Whitespace\",\n ];\n\n public constructor(conf: HighlightConfiguration) {\n this.configuration = conf;\n if (this.configuration.unknownHighlight !== \"vim\") {\n this.configuration.unknownHighlight = normalizeDecorationConfig(this.configuration.unknownHighlight);\n }\n for (const [key, config] of Object.entries(this.configuration.highlights)) {\n if (config !== \"vim\") {\n const options = normalizeDecorationConfig(config);\n this.configuration.highlights[key] = options;\n // precreate groups if configuration was defined\n this.createDecoratorForHighlightGroup(key, options);\n }\n }\n }\n\n public addHighlightGroup(id: number, name: string, vimUiAttrs: VimHighlightUIAttributes): void {\n if (\n this.configuration.ignoreHighlights.includes(name) ||\n this.configuration.ignoreHighlights.find((i) =>\n i.startsWith(\"^\") || i.endsWith(\"$\") ? new RegExp(i).test(name) : false,\n )\n ) {\n this.ignoredGroupIds.add(id);\n }\n this.highlightIdToGroupName.set(id, name);\n if (this.highlighGroupToDecorator.has(name)) {\n // we have already precreated decorator\n return;\n } else {\n const options = this.configuration.highlights[name] || this.configuration.unknownHighlight;\n const conf = options === \"vim\" ? vimHighlightToVSCodeOptions(vimUiAttrs) : options;\n this.createDecoratorForHighlightGroup(name, conf);\n }\n }\n\n public getHighlightGroupName(id: number, force = false): string | undefined {\n if (this.ignoredGroupIds.has(id) && !force) {\n return;\n }\n const name = this.highlightIdToGroupName.get(id);\n if (name && this.alwaysIgnoreGroups.includes(name)) {\n return;\n }\n return name;\n }\n\n public getDecoratorForHighlightGroup(name: string): TextEditorDecorationType | undefined {\n let dec = this.highlighGroupToDecorator.get(name);\n if (!dec && name.endsWith(\"Default\")) {\n dec = this.highlighGroupToDecorator.get(name.slice(0, -7));\n }\n if (!dec) {\n dec = this.highlighGroupToDecorator.get(name + \"Default\");\n }\n return dec;\n }\n\n public getDecoratorOptions(decorator: TextEditorDecorationType): ThemableDecorationRenderOptions {\n return this.decoratorConfigurations.get(decorator)!;\n }\n\n public cleanRow(grid: number, row: number): void {\n const gridHl = this.highlights.get(grid);\n if (!gridHl) {\n return;\n }\n delete gridHl[row];\n }\n\n public processHLCellsEvent(\n grid: number,\n row: number,\n start: number,\n external: boolean,\n cells: [string, number?, number?][],\n ): boolean {\n let cellHlId = 0;\n let cellIdx = start;\n if (!this.highlights.has(grid)) {\n this.highlights.set(grid, []);\n }\n const gridHl = this.highlights.get(grid)!;\n let hasUpdates = false;\n\n for (const [text, hlId, repeat] of cells) {\n // 2+bytes chars (such as chinese characters) have \"\" as second cell\n if (text === \"\") {\n continue;\n }\n // tab fill character\n if (text === \"♥\") {\n continue;\n }\n if (hlId != null) {\n cellHlId = hlId;\n }\n const groupName = this.getHighlightGroupName(cellHlId, external);\n const repeatTo = text === \"\\t\" || text === \"❥\" ? 1 : repeat || 1;\n // const repeatTo =\n // text === \"\\t\" || line[cellIdx] === \"\\t\" ? Math.ceil((repeat || tabSize) / tabSize) : repeat || 1;\n for (let i = 0; i < repeatTo; i++) {\n if (!gridHl[row]) {\n gridHl[row] = [];\n }\n if (groupName) {\n hasUpdates = true;\n gridHl[row][cellIdx] = cellHlId;\n } else if (gridHl[row][cellIdx]) {\n hasUpdates = true;\n delete gridHl[row][cellIdx];\n }\n cellIdx++;\n }\n }\n return hasUpdates;\n }\n\n public shiftGridHighlights(grid: number, by: number, from: number): void {\n const gridHl = this.highlights.get(grid);\n if (!gridHl) {\n return;\n }\n if (by > 0) {\n // remove clipped out rows\n for (let i = 0; i < by; i++) {\n delete gridHl[from + i];\n }\n // first get non empty indexes, then process, seems faster than iterating whole array\n const idxs: number[] = [];\n gridHl.forEach((_row, idx) => {\n idxs.push(idx);\n });\n // shift\n for (const idx of idxs) {\n if (idx <= from) {\n continue;\n }\n gridHl[idx - by] = gridHl[idx];\n delete gridHl[idx];\n }\n } else if (by < 0) {\n // remove clipped out rows\n for (let i = 0; i < Math.abs(by); i++) {\n delete gridHl[from !== 0 ? from + i : gridHl.length - 1 - i];\n }\n const idxs: number[] = [];\n gridHl.forEach((_row, idx) => {\n idxs.push(idx);\n });\n for (const idx of idxs.reverse()) {\n if (idx <= from) {\n continue;\n }\n gridHl[idx + Math.abs(by)] = gridHl[idx];\n delete gridHl[idx];\n }\n }\n }\n\n public getGridHighlights(grid: number, topLine: number): [TextEditorDecorationType, Range[]][] {\n const result: [TextEditorDecorationType, Range[]][] = [];\n const hlRanges: Map> = new Map();\n const gridHl = this.highlights.get(grid);\n\n if (gridHl) {\n // let currHlId = 0;\n let currHlName = \"\";\n let currHlStartRow = 0;\n let currHlEndRow = 0;\n let currHlStartCol = 0;\n let currHlEndCol = 0;\n // forEach faster than for in/of for arrays while iterating on array with empty values\n gridHl.forEach((rowHighlights, rowIdx) => {\n rowHighlights.forEach((cellHlId, cellIdx) => {\n const cellHlName = this.highlightIdToGroupName.get(cellHlId);\n if (\n cellHlName &&\n currHlName === cellHlName &&\n // allow to extend prev HL if on same row and next cell OR previous row and end of range is end col\n currHlEndRow === rowIdx &&\n currHlEndCol === cellIdx - 1\n ) {\n currHlEndCol = cellIdx;\n } else {\n if (currHlName) {\n if (!hlRanges.has(currHlName)) {\n hlRanges.set(currHlName, []);\n }\n hlRanges.get(currHlName)!.push({\n lineS: currHlStartRow,\n lineE: currHlEndRow,\n colS: currHlStartCol,\n colE: currHlEndCol,\n });\n currHlName = \"\";\n currHlStartCol = 0;\n currHlEndCol = 0;\n currHlStartRow = 0;\n currHlEndRow = 0;\n }\n if (cellHlName) {\n currHlName = cellHlName;\n currHlStartRow = rowIdx;\n currHlEndRow = rowIdx;\n currHlStartCol = cellIdx;\n currHlEndCol = cellIdx;\n }\n }\n });\n });\n if (currHlName) {\n if (!hlRanges.has(currHlName)) {\n hlRanges.set(currHlName, []);\n }\n hlRanges.get(currHlName)!.push({\n lineS: currHlStartRow,\n lineE: currHlEndRow,\n colS: currHlStartCol,\n colE: currHlEndCol,\n });\n }\n }\n for (const [groupName, ranges] of hlRanges) {\n const decorator = this.getDecoratorForHighlightGroup(groupName);\n if (!decorator) {\n continue;\n }\n const decoratorRanges = ranges.map(\n (r) => new Range(topLine + r.lineS, r.colS, topLine + r.lineE, r.colE + 1),\n );\n result.push([decorator, decoratorRanges]);\n }\n const prevHighlights = this.prevGridHighlightsIds.get(grid);\n if (prevHighlights) {\n for (const groupName of prevHighlights) {\n if (!hlRanges.has(groupName)) {\n const decorator = this.getDecoratorForHighlightGroup(groupName);\n if (!decorator) {\n continue;\n }\n result.push([decorator, []]);\n }\n }\n }\n this.prevGridHighlightsIds.set(grid, new Set(hlRanges.keys()));\n return result;\n }\n\n public clearHighlights(grid: number): [TextEditorDecorationType, Range[]][] {\n const prevHighlights = this.prevGridHighlightsIds.get(grid);\n this.highlights.delete(grid);\n this.prevGridHighlightsIds.delete(grid);\n if (!prevHighlights) {\n return [];\n }\n const result: [TextEditorDecorationType, Range[]][] = [];\n for (const groupName of prevHighlights) {\n const decorator = this.getDecoratorForHighlightGroup(groupName);\n if (decorator) {\n result.push([decorator, []]);\n }\n }\n return result;\n }\n\n private createDecoratorForHighlightGroup(groupName: string, options: ThemableDecorationRenderOptions): void {\n const decorator = window.createTextEditorDecorationType(options);\n this.decoratorConfigurations.set(decorator, options);\n this.highlighGroupToDecorator.set(groupName, decorator);\n }\n}\n","import { DecorationOptions, Disposable, Range, window } from \"vscode\";\n\nimport { BufferManager } from \"./buffer_manager\";\nimport { HighlightConfiguration, HighlightProvider } from \"./highlight_provider\";\nimport { Logger } from \"./logger\";\nimport { NeovimExtensionRequestProcessable, NeovimRedrawProcessable } from \"./neovim_events_processable\";\nimport { calculateEditorColFromVimScreenCol, convertByteNumToCharNum, GridLineEvent } from \"./utils\";\n\nexport interface HighlightManagerSettings {\n highlight: HighlightConfiguration;\n viewportHeight: number;\n textDecorationsAtTop: boolean;\n}\n\ninterface GridLineInfo {\n /**\n * Visible top line\n */\n topLine: number;\n /**\n * Visible bottom line\n */\n bottomLine: number;\n}\n\n// const LOG_PREFIX = \"HighlightManager\";\n\nexport class HighlightManager implements Disposable, NeovimRedrawProcessable, NeovimExtensionRequestProcessable {\n private disposables: Disposable[] = [];\n\n private highlightProvider: HighlightProvider;\n\n private gridLineInfo: Map = new Map();\n\n private commandsDisposables: Disposable[] = [];\n\n private textDecorationsAtTop = false;\n\n public constructor(\n private logger: Logger,\n private bufferManager: BufferManager,\n private settings: HighlightManagerSettings,\n ) {\n this.highlightProvider = new HighlightProvider(settings.highlight);\n this.textDecorationsAtTop = settings.textDecorationsAtTop;\n // this.commandsDisposables.push(\n // commands.registerCommand(\"editor.action.indentationToTabs\", () =>\n // this.resetHighlight(\"editor.action.indentationToTabs\"),\n // ),\n // );\n // this.commandsDisposables.push(\n // commands.registerCommand(\"editor.action.indentationToSpaces\", () =>\n // this.resetHighlight(\"editor.action.indentationToSpaces\"),\n // ),\n // );\n // this.commandsDisposables.push(\n // commands.registerCommand(\"editor.action.reindentlines\", () =>\n // this.resetHighlight(\"editor.action.reindentlines\"),\n // ),\n // );\n }\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n this.commandsDisposables.forEach((d) => d.dispose());\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n const gridHLUpdates: Set = new Set();\n\n for (const [name, ...args] of batch) {\n switch (name) {\n case \"hl_attr_define\": {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [id, uiAttrs, , info] of args as [\n number,\n never,\n never,\n [{ kind: \"ui\"; ui_name: string; hi_name: string }],\n ][]) {\n if (info && info[0] && info[0].hi_name) {\n const name = info[0].hi_name;\n this.highlightProvider.addHighlightGroup(id, name, uiAttrs);\n }\n }\n break;\n }\n case \"win_viewport\": {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [grid, win, topLine, bottomLine, curline, curcol] of args as [\n number,\n Window,\n number,\n number,\n number,\n number,\n ][]) {\n this.gridLineInfo.set(grid, { topLine, bottomLine });\n }\n break;\n }\n // nvim may not send grid_cursor_goto and instead uses grid_scroll along with grid_line\n case \"grid_scroll\": {\n for (const [grid, top, , , , by] of args as [\n number,\n number,\n number,\n null,\n number,\n number,\n number,\n ][]) {\n if (grid === 1) {\n continue;\n }\n // by > 0 - scroll down, must remove existing elements from first and shift row hl left\n // by < 0 - scroll up, must remove existing elements from right shift row hl right\n this.highlightProvider.shiftGridHighlights(grid, by, top);\n gridHLUpdates.add(grid);\n }\n break;\n }\n case \"grid_line\": {\n // [grid, row, colStart, cells: [text, hlId, repeat]]\n const gridEvents = args as GridLineEvent[];\n\n // eslint-disable-next-line prefer-const\n for (let [grid, row, colStart, cells] of gridEvents) {\n if (row > this.lastViewportRow) {\n continue;\n }\n const lineInfo = this.gridLineInfo.get(grid);\n if (!lineInfo) {\n continue;\n }\n\n const editor = this.bufferManager.getEditorFromGridId(grid);\n if (!editor) {\n continue;\n }\n\n // const topScreenLine = gridConf.cursorLine === 0 ? 0 : gridConf.cursorLine - gridConf.screenLine;\n const topScreenLine = lineInfo.topLine;\n const highlightLine = topScreenLine + row;\n if (highlightLine >= editor.document.lineCount || highlightLine < 0) {\n if (highlightLine > 0) {\n this.highlightProvider.cleanRow(grid, row);\n gridHLUpdates.add(grid);\n }\n continue;\n }\n const line = editor.document.lineAt(highlightLine).text;\n const tabSize = editor.options.tabSize as number;\n const finalStartCol = calculateEditorColFromVimScreenCol(line, colStart, tabSize);\n const isExternal = this.bufferManager.isExternalTextDocument(editor.document);\n const update = this.highlightProvider.processHLCellsEvent(\n grid,\n row,\n finalStartCol,\n isExternal,\n cells,\n );\n if (update) {\n gridHLUpdates.add(grid);\n }\n }\n break;\n }\n }\n }\n if (gridHLUpdates.size) {\n this.applyHLGridUpdates(gridHLUpdates);\n }\n }\n\n public async handleExtensionRequest(name: string, args: unknown[]): Promise {\n switch (name) {\n case \"text-decorations\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [hlName, cols] = args as any;\n this.applyTextDecorations(hlName, cols);\n break;\n }\n }\n }\n\n private get lastViewportRow(): number {\n return this.settings.viewportHeight - 1;\n }\n\n private applyHLGridUpdates = (updates: Set): void => {\n for (const grid of updates) {\n const gridConf = this.gridLineInfo.get(grid);\n const editor = this.bufferManager.getEditorFromGridId(grid);\n if (!editor || !gridConf) {\n continue;\n }\n const hls = this.highlightProvider.getGridHighlights(grid, gridConf.topLine);\n for (const [decorator, ranges] of hls) {\n editor.setDecorations(decorator, ranges);\n }\n }\n };\n\n /**\n * Apply text decorations from external command. Currently used by easymotion fork\n * @param hlGroupName VIM HL Group name\n * @param decorations Text decorations, the format is [[lineNum, [colNum, text][]]]\n */\n private applyTextDecorations(hlGroupName: string, decorations: [string, [number, string][]][]): void {\n const editor = window.activeTextEditor;\n if (!editor) {\n return;\n }\n const decorator = this.highlightProvider.getDecoratorForHighlightGroup(hlGroupName);\n if (!decorator) {\n return;\n }\n const conf = this.highlightProvider.getDecoratorOptions(decorator);\n const options: DecorationOptions[] = [];\n for (const [lineStr, cols] of decorations) {\n try {\n const lineNum = parseInt(lineStr, 10) - 1;\n const line = editor.document.lineAt(lineNum).text;\n const drawnAt = new Map();\n\n for (const [colNum, text] of cols) {\n if (this.textDecorationsAtTop) {\n const width = text.length;\n // vim sends column in bytes, need to convert to characters\n const col = convertByteNumToCharNum(line, colNum);\n const mapKey = [lineNum, Math.min(col + text.length - 1, line.length)].toString();\n if (drawnAt.has(mapKey)) {\n // VSCode only lets us draw a single text decoration\n // at any given character. Any text decorations drawn\n // past the end of the line get moved back to the end of\n // the line. This becomes a problem if you have a\n // line with multiple 2 character marks right\n // next to each other at the end. The solution is to\n // use a single text decoration but modify it when a\n // new decoration would be pushed on top of it.\n const ogText = drawnAt.get(mapKey).renderOptions.after.contentText;\n drawnAt.get(mapKey).renderOptions.after.contentText = (text[0] + ogText).substr(\n 0,\n ogText.length,\n );\n } else {\n const opt: DecorationOptions = {\n range: new Range(lineNum, col + text.length - 1, lineNum, col + text.length - 1),\n renderOptions: {\n // Inspired by https://github.com/VSCodeVim/Vim/blob/badecf1b7ecd239e3ed58720245b6f4a74e439b7/src/actions/plugins/easymotion/easymotion.ts#L64\n after: {\n // What's up with the negative right\n // margin? That shifts the decoration to the\n // right. By default VSCode places the\n // decoration behind the text. If we\n // shift it one character to the right,\n // it will be on top.\n // Why do all that math in the right\n // margin? If we try to draw off the\n // end of the screen, VSCode will place\n // the text in a column we weren't\n // expecting. This code accounts for that.\n margin: `0 0 0 -${Math.min(\n text.length - (col + text.length - 1 - line.length),\n text.length,\n )}ch`,\n ...conf,\n ...conf.before,\n width: `${width}ch; position:absoulute; z-index:99;`,\n contentText: text,\n },\n },\n };\n drawnAt.set(mapKey, opt);\n options.push(opt);\n }\n } else {\n // vim sends column in bytes, need to convert to characters\n const col = convertByteNumToCharNum(line, colNum - 1);\n const opt: DecorationOptions = {\n range: new Range(lineNum, col, lineNum, col),\n renderOptions: {\n before: {\n ...conf,\n ...conf.before,\n contentText: text,\n },\n },\n };\n options.push(opt);\n }\n }\n } catch {\n // ignore\n }\n }\n editor.setDecorations(decorator, options);\n }\n\n // TODO: Investigate why it doesn't work. You don't often to change indentation so seems minor\n // private resetHighlight = async (cmd: string): Promise => {\n // this.logger.debug(`${LOG_PREFIX}: Command wrapper: ${cmd}`);\n // this.commandsDisposables.forEach((d) => d.dispose());\n // await commands.executeCommand(cmd);\n // this.commandsDisposables.push(\n // commands.registerCommand(\"editor.action.indentationToTabs\", () =>\n // this.resetHighlight(\"editor.action.indentationToTabs\"),\n // ),\n // );\n // this.commandsDisposables.push(\n // commands.registerCommand(\"editor.action.indentationToSpaces\", () =>\n // this.resetHighlight(\"editor.action.indentationToSpaces\"),\n // ),\n // );\n // this.commandsDisposables.push(\n // commands.registerCommand(\"editor.action.reindentlines\", () =>\n // this.resetHighlight(\"editor.action.reindentlines\"),\n // ),\n // );\n // // Try clear highlights and force redraw\n // for (const editor of window.visibleTextEditors) {\n // const grid = this.bufferManager.getGridIdFromEditor(editor);\n // if (!grid) {\n // continue;\n // }\n // this.logger.debug(`${LOG_PREFIX}: Clearing HL ranges for grid: ${grid}`);\n // const reset = this.highlightProvider.clearHighlights(grid);\n // for (const [decorator, range] of reset) {\n // editor.setDecorations(decorator, range);\n // }\n // }\n // this.logger.debug(`${LOG_PREFIX}: Redrawing`);\n // this.client.command(\"redraw!\");\n // };\n}\n","import { commands, Disposable } from \"vscode\";\n\nimport { Logger } from \"./logger\";\nimport { NeovimCommandProcessable } from \"./neovim_events_processable\";\n\nexport class CustomCommandsManager implements Disposable, NeovimCommandProcessable {\n private disposables: Disposable[] = [];\n\n public constructor(private logger: Logger) {}\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public async handleVSCodeCommand(command: string, args: unknown[]): Promise {\n const res = await commands.executeCommand(command, ...args);\n return res;\n }\n}\n","import { Disposable, OutputChannel, TextEditor, window } from \"vscode\";\n\nimport { Logger } from \"./logger\";\nimport { NeovimRedrawProcessable } from \"./neovim_events_processable\";\nimport { EXT_NAME } from \"./utils\";\n\nexport class MutlilineMessagesManager implements Disposable, NeovimRedrawProcessable {\n private disposables: Disposable[] = [];\n\n private channel: OutputChannel;\n\n private isDisplayed = false;\n\n public constructor(private logger: Logger) {\n this.channel = window.createOutputChannel(`${EXT_NAME} Messages`);\n this.disposables.push(this.channel);\n this.disposables.push(window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor));\n }\n\n public dispose(): void {\n this.disposables.forEach((d) => d.dispose());\n }\n\n public handleRedrawBatch(batch: [string, ...unknown[]][]): void {\n for (const [name, ...args] of batch) {\n switch (name) {\n case \"msg_show\": {\n let str = \"\";\n for (const [type, content, clear] of args as [string, [number, string][], boolean][]) {\n if (type === \"return_prompt\") {\n continue;\n }\n if (type) {\n continue;\n }\n if (clear) {\n this.channel.clear();\n str = \"\";\n }\n let contentStr = \"\";\n for (const c of content) {\n contentStr += c[1];\n }\n // sometimes neovim sends linebreaks, sometimes not ¯\\_(ツ)_/¯\n str += (contentStr[0] === \"\\n\" ? \"\" : \"\\n\") + contentStr;\n }\n // remove empty last line (since we always put \\n at the end)\n const lines = str.split(\"\\n\").slice(1);\n if (lines.length > 1) {\n this.showChannel();\n this.channel.append(str);\n } else if (this.isDisplayed) {\n this.channel.append(str);\n }\n break;\n }\n case \"msg_history_show\": {\n let str = \"\\n\";\n for (const arg of args as [string, [number, string][]][][][]) {\n for (const list of arg) {\n for (const [commandName, content] of list) {\n let cmdContent = \"\";\n for (const c of content) {\n cmdContent += c[1];\n }\n str += `${commandName}: ${cmdContent}\\n`;\n }\n }\n }\n this.showChannel();\n this.channel.append(str);\n break;\n }\n }\n }\n }\n\n private showChannel(): void {\n if (this.isDisplayed) {\n return;\n }\n this.isDisplayed = true;\n this.channel.clear();\n this.channel.appendLine(\"VSCode-Neovim:\");\n this.channel.show();\n }\n\n private hideChannel(): void {\n this.channel.hide();\n }\n\n private onDidChangeActiveTextEditor = (editor: TextEditor | undefined): void => {\n if (!editor || !this.isEditorIsChannel(editor)) {\n if (this.isDisplayed) {\n this.hideChannel();\n }\n this.isDisplayed = false;\n } else {\n this.isDisplayed = true;\n }\n };\n\n private isEditorIsChannel(editor: TextEditor): boolean {\n const doc = editor.document;\n if (doc.uri.scheme !== \"output\") {\n return false;\n }\n const line = doc.lineAt(0);\n // no other way i'm aware of to check if a document is the our channel document\n if (line.text.startsWith(\"VSCode-Neovim:\")) {\n return true;\n }\n return false;\n }\n}\n","import { spawn, ChildProcess, execSync } from \"child_process\";\nimport path from \"path\";\n\nimport vscode from \"vscode\";\nimport { attach, NeovimClient } from \"neovim\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { createLogger, transports as loggerTransports } from \"winston\";\n\nimport { HighlightConfiguration } from \"./highlight_provider\";\nimport { CommandsController } from \"./commands_controller\";\nimport { ModeManager } from \"./mode_manager\";\nimport { BufferManager } from \"./buffer_manager\";\nimport { TypingManager } from \"./typing_manager\";\nimport { CursorManager } from \"./cursor_manager\";\nimport { Logger, LogLevel } from \"./logger\";\nimport { DocumentChangeManager } from \"./document_change_manager\";\nimport {\n NeovimCommandProcessable,\n NeovimExtensionRequestProcessable,\n NeovimRangeCommandProcessable,\n NeovimRedrawProcessable,\n} from \"./neovim_events_processable\";\nimport { CommandLineManager } from \"./command_line_manager\";\nimport { StatusLineManager } from \"./status_line_manager\";\nimport { HighlightManager } from \"./highlight_manager\";\nimport { CustomCommandsManager } from \"./custom_commands_manager\";\nimport { findLastEvent } from \"./utils\";\nimport { MutlilineMessagesManager } from \"./multiline_messages_manager\";\n\ninterface RequestResponse {\n send(resp: unknown, isError?: boolean): void;\n}\n\nexport interface ControllerSettings {\n neovimPath: string;\n extensionPath: string;\n highlightsConfiguration: HighlightConfiguration;\n mouseSelection: boolean;\n useWsl: boolean;\n customInitFile: string;\n neovimViewportWidth: number;\n neovimViewportHeight: number;\n textDecorationsAtTop: boolean;\n revealCursorScrollLine: boolean;\n logConf: {\n level: \"none\" | \"error\" | \"warn\" | \"debug\";\n logPath: string;\n outputToConsole: boolean;\n };\n}\n\nconst LOG_PREFIX = \"MainController\";\n\nexport class MainController implements vscode.Disposable {\n // to not deal with screenrow positioning, we set height to high value and scrolloff to value / 2. so screenrow will be always constant\n // big scrolloff is needed to make sure that editor visible space will be always within virtual vim boundaries, regardless of current\n // cursor positioning\n private NEOVIM_WIN_HEIGHT = 201;\n private NEOVIM_WIN_WIDTH = 1000;\n\n private nvimProc: ChildProcess;\n private client: NeovimClient;\n\n private disposables: vscode.Disposable[] = [];\n\n /**\n * Neovim API states that multiple redraw batches could be sent following flush() after last batch\n * Save current batch into temp variable\n */\n private currentRedrawBatch: [string, ...unknown[]][] = [];\n\n private logger!: Logger;\n private settings: ControllerSettings;\n private modeManager!: ModeManager;\n private bufferManager!: BufferManager;\n private changeManager!: DocumentChangeManager;\n private typingManager!: TypingManager;\n private cursorManager!: CursorManager;\n private commandsController!: CommandsController;\n private commandLineManager!: CommandLineManager;\n private statusLineManager!: StatusLineManager;\n private highlightManager!: HighlightManager;\n private customCommandsManager!: CustomCommandsManager;\n private multilineMessagesManager!: MutlilineMessagesManager;\n\n public constructor(settings: ControllerSettings) {\n this.settings = settings;\n this.NEOVIM_WIN_HEIGHT = settings.neovimViewportHeight;\n this.NEOVIM_WIN_WIDTH = settings.neovimViewportWidth;\n if (!settings.neovimPath) {\n throw new Error(\"Neovim path is not defined\");\n }\n this.logger = new Logger(\n LogLevel[settings.logConf.level],\n settings.logConf.logPath,\n settings.logConf.outputToConsole,\n );\n this.disposables.push(this.logger);\n\n let extensionPath = settings.extensionPath;\n if (settings.useWsl) {\n // execSync returns a newline character at the end\n extensionPath = execSync(`C:\\\\Windows\\\\system32\\\\wsl.exe wslpath '${extensionPath}'`).toString().trim();\n }\n\n // These paths get called inside WSL, they must be POSIX paths (forward slashes)\n const neovimSupportScriptPath = path.posix.join(extensionPath, \"vim\", \"vscode-neovim.vim\");\n const neovimOptionScriptPath = path.posix.join(extensionPath, \"vim\", \"vscode-options.vim\");\n\n const workspaceFolder = vscode.workspace.workspaceFolders;\n const cwd = workspaceFolder && workspaceFolder.length ? workspaceFolder[0].uri.fsPath : \"~\";\n\n const args = [\n \"-N\",\n \"--embed\",\n // load options after user config\n \"-c\",\n `source ${neovimOptionScriptPath}`,\n // load support script before user config (to allow to rebind keybindings/commands)\n \"--cmd\",\n `source ${neovimSupportScriptPath}`,\n \"-c\",\n `cd ${cwd}`,\n ];\n if (settings.useWsl) {\n args.unshift(settings.neovimPath);\n }\n if (parseInt(process.env.NEOVIM_DEBUG || \"\", 10) === 1) {\n args.push(\n \"-u\",\n \"NONE\",\n \"--listen\",\n `${process.env.NEOVIM_DEBUG_HOST || \"127.0.0.1\"}:${process.env.NEOVIM_DEBUG_PORT || 4000}`,\n );\n }\n if (settings.customInitFile) {\n args.push(\"-u\", settings.customInitFile);\n }\n this.logger.debug(\n `${LOG_PREFIX}: Spawning nvim, path: ${settings.neovimPath}, useWsl: ${\n settings.useWsl\n }, args: ${JSON.stringify(args)}`,\n );\n this.nvimProc = spawn(settings.useWsl ? \"C:\\\\Windows\\\\system32\\\\wsl.exe\" : settings.neovimPath, args, {});\n this.nvimProc.on(\"close\", (code) => {\n this.logger.error(`${LOG_PREFIX}: Neovim exited with code: ${code}`);\n });\n this.nvimProc.on(\"error\", (err) => {\n this.logger.error(`${LOG_PREFIX}: Neovim spawn error: ${err.message}`);\n });\n this.logger.debug(`${LOG_PREFIX}: Attaching to neovim`);\n this.client = attach({\n proc: this.nvimProc,\n options: {\n logger: createLogger({\n transports: [new loggerTransports.Console()],\n level: \"error\",\n exitOnError: false,\n }),\n },\n });\n }\n\n public async init(): Promise {\n this.logger.debug(`${LOG_PREFIX}: Init`);\n\n this.logger.debug(`${LOG_PREFIX}: Attaching to neovim notifications`);\n this.client.on(\"disconnect\", () => {\n this.logger.error(`${LOG_PREFIX}: Neovim was disconnected`);\n });\n this.client.on(\"notification\", this.onNeovimNotification);\n this.client.on(\"request\", this.handleCustomRequest);\n\n await this.client.setClientInfo(\"vscode-neovim\", { major: 0, minor: 1, patch: 0 }, \"embedder\", {}, {});\n await this.checkNeovimVersion();\n const channel = await this.client.channelId;\n await this.client.setVar(\"vscode_channel\", channel);\n\n this.commandsController = new CommandsController(this.client, this.settings.revealCursorScrollLine);\n this.disposables.push(this.commandsController);\n\n this.modeManager = new ModeManager(this.logger, this.client);\n this.disposables.push(this.modeManager);\n\n this.bufferManager = new BufferManager(this.logger, this.client, {\n neovimViewportHeight: 201,\n neovimViewportWidth: 1000,\n });\n this.disposables.push(this.bufferManager);\n\n this.highlightManager = new HighlightManager(this.logger, this.bufferManager, {\n highlight: this.settings.highlightsConfiguration,\n viewportHeight: this.settings.neovimViewportHeight,\n textDecorationsAtTop: this.settings.textDecorationsAtTop,\n });\n this.disposables.push(this.highlightManager);\n\n this.changeManager = new DocumentChangeManager(this.logger, this.client, this.bufferManager, this.modeManager);\n this.disposables.push(this.changeManager);\n\n this.cursorManager = new CursorManager(\n this.logger,\n this.client,\n this.modeManager,\n this.bufferManager,\n this.changeManager,\n {\n mouseSelectionEnabled: false,\n },\n );\n this.disposables.push(this.cursorManager);\n\n this.typingManager = new TypingManager(this.logger, this.client, this.modeManager, this.changeManager);\n this.disposables.push(this.typingManager);\n\n this.commandLineManager = new CommandLineManager(this.logger, this.client);\n this.disposables.push(this.commandLineManager);\n\n this.statusLineManager = new StatusLineManager(this.logger, this.client);\n this.disposables.push(this.statusLineManager);\n\n this.customCommandsManager = new CustomCommandsManager(this.logger);\n this.disposables.push(this.customCommandsManager);\n\n this.multilineMessagesManager = new MutlilineMessagesManager(this.logger);\n this.disposables.push(this.multilineMessagesManager);\n\n this.logger.debug(`${LOG_PREFIX}: UIAttach`);\n // !Attach after setup of notifications, otherwise we can get blocking call and stuck\n await this.client.uiAttach(this.NEOVIM_WIN_WIDTH, this.NEOVIM_WIN_HEIGHT, {\n rgb: true,\n // override: true,\n ext_cmdline: true,\n ext_linegrid: true,\n ext_hlstate: true,\n ext_messages: true,\n ext_multigrid: true,\n ext_popupmenu: true,\n ext_tabline: true,\n ext_wildmenu: true,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n await this.bufferManager.forceResync();\n\n await vscode.commands.executeCommand(\"setContext\", \"neovim.init\", true);\n this.logger.debug(`${LOG_PREFIX}: Init completed`);\n }\n\n public dispose(): void {\n for (const d of this.disposables) {\n d.dispose();\n }\n this.client.quit();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onNeovimNotification = (method: string, events: [string, ...any[]]): void => {\n // order matters here, modeManager should be processed first\n const redrawManagers: NeovimRedrawProcessable[] = [\n this.modeManager,\n this.bufferManager,\n this.cursorManager,\n this.commandLineManager,\n this.statusLineManager,\n this.highlightManager,\n this.multilineMessagesManager,\n ];\n const extensionCommandManagers: NeovimExtensionRequestProcessable[] = [\n this.modeManager,\n this.changeManager,\n this.commandsController,\n this.bufferManager,\n this.highlightManager,\n this.cursorManager,\n ];\n const vscodeComandManagers: NeovimCommandProcessable[] = [this.customCommandsManager];\n const vscodeRangeCommandManagers: NeovimRangeCommandProcessable[] = [this.cursorManager];\n\n if (method === \"vscode-command\") {\n const [vscodeCommand, commandArgs] = events as [string, unknown[]];\n vscodeComandManagers.forEach(async (m) => {\n try {\n await m.handleVSCodeCommand(\n vscodeCommand,\n Array.isArray(commandArgs) ? commandArgs : [commandArgs],\n );\n } catch (e) {\n this.logger.error(\n `${vscodeCommand} failed, args: ${JSON.stringify(commandArgs)} error: ${e.message}`,\n );\n }\n });\n return;\n }\n if (method === \"vscode-range-command\") {\n const [vscodeCommand, line1, line2, pos1, pos2, leaveSelection, args] = events;\n vscodeRangeCommandManagers.forEach((m) => {\n try {\n m.handleVSCodeRangeCommand(\n vscodeCommand,\n line1,\n line2,\n pos1,\n pos2,\n !!leaveSelection,\n Array.isArray(args) ? args : [args],\n );\n } catch (e) {\n this.logger.error(\n `${vscodeCommand} failed, range: [${line1}, ${line2}, ${pos1}, ${pos2}] args: ${JSON.stringify(\n args,\n )} error: ${e.message}`,\n );\n }\n });\n return;\n }\n if (method === \"vscode-neovim\") {\n const [command, args] = events;\n extensionCommandManagers.forEach((m) => {\n try {\n m.handleExtensionRequest(command, args);\n } catch (e) {\n this.logger.error(`${command} failed, args: ${JSON.stringify(args)} error: ${e.message}`);\n }\n });\n return;\n }\n if (method !== \"redraw\") {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const redrawEvents = events as [string, ...any[]][];\n const hasFlush = findLastEvent(\"flush\", events);\n\n if (hasFlush) {\n const batch = [...this.currentRedrawBatch.splice(0), ...redrawEvents];\n redrawManagers.forEach((m) => m.handleRedrawBatch(batch));\n } else {\n this.currentRedrawBatch.push(...redrawEvents);\n }\n };\n\n private handleCustomRequest = async (\n eventName: string,\n eventArgs: [string, ...unknown[]],\n response: RequestResponse,\n ): Promise => {\n const extensionCommandManagers: NeovimExtensionRequestProcessable[] = [\n this.modeManager,\n this.changeManager,\n this.commandsController,\n this.bufferManager,\n this.highlightManager,\n this.cursorManager,\n ];\n const vscodeCommandManagers: NeovimCommandProcessable[] = [this.customCommandsManager];\n const vscodeRangeCommandManagers: NeovimRangeCommandProcessable[] = [this.cursorManager];\n try {\n let result: unknown;\n if (eventName === \"vscode-command\") {\n const [vscodeCommand, commandArgs] = eventArgs as [string, unknown[]];\n const results = await Promise.all(\n vscodeCommandManagers.map((m) =>\n m.handleVSCodeCommand(vscodeCommand, Array.isArray(commandArgs) ? commandArgs : [commandArgs]),\n ),\n );\n // use first non nullable result\n result = results.find((r) => r != null);\n } else if (eventName === \"vscode-range-command\") {\n const [vscodeCommand, line1, line2, pos1, pos2, leaveSelection, commandArgs] = eventArgs as [\n string,\n number,\n number,\n number,\n number,\n number,\n unknown[],\n ];\n const results = await Promise.all(\n vscodeRangeCommandManagers.map((m) =>\n m.handleVSCodeRangeCommand(\n vscodeCommand,\n line1,\n line2,\n pos1,\n pos2,\n !!leaveSelection,\n Array.isArray(commandArgs) ? commandArgs : [commandArgs],\n ),\n ),\n );\n // use first non nullable result\n result = results.find((r) => r != null);\n } else if (eventName === \"vscode-neovim\") {\n const [command, commandArgs] = eventArgs as [string, unknown[]];\n const results = await Promise.all(\n extensionCommandManagers.map((m) => m.handleExtensionRequest(command, commandArgs)),\n );\n // use first non nullable result\n result = results.find((r) => r != null);\n }\n response.send(result || \"\", false);\n } catch (e) {\n response.send(e.message, true);\n }\n };\n\n private async checkNeovimVersion(): Promise {\n const [, info] = await this.client.apiInfo;\n if (\n (info.version.major === 0 && info.version.minor < 5) ||\n !info.ui_events.find((e) => e.name === \"win_viewport\")\n ) {\n vscode.window.showErrorMessage(\"The extension requires neovim 0.5 nightly or greater\");\n return;\n }\n }\n}\n","import * as vscode from \"vscode\";\n\nimport { MainController } from \"./main_controller\";\nimport { getNeovimPath, getNeovimInitPath, EXT_ID, EXT_NAME } from \"./utils\";\n\n// this method is called when your extension is activated\n// your extension is activated the very first time the command is executed\nexport async function activate(context: vscode.ExtensionContext): Promise {\n const ext = vscode.extensions.getExtension(EXT_ID)!;\n const settings = vscode.workspace.getConfiguration(EXT_NAME);\n const neovimPath = getNeovimPath();\n if (!neovimPath) {\n vscode.window.showErrorMessage(\"Neovim: configure the path to neovim and restart the editor\");\n return;\n }\n const isWindows = process.platform == \"win32\";\n\n const highlightConfIgnore = settings.get(\"highlightGroups.ignoreHighlights\");\n const highlightConfHighlights = settings.get(\"highlightGroups.highlights\");\n const highlightConfUnknown = settings.get(\"highlightGroups.unknownHighlight\");\n const mouseVisualSelection = settings.get(\"mouseSelectionStartVisualMode\", false);\n const useCtrlKeysNormalMode = settings.get(\"useCtrlKeysForNormalMode\", true);\n const useCtrlKeysInsertMode = settings.get(\"useCtrlKeysForInsertMode\", true);\n const useWsl = isWindows && settings.get(\"useWSL\", false);\n const revealCursorScrollLine = settings.get(\"revealCursorScrollLine\", false);\n const neovimWidth = settings.get(\"neovimWidth\", 1000);\n const customInit = getNeovimInitPath() ?? \"\";\n const logPath = settings.get(\"logPath\", \"\");\n const logLevel = settings.get(\"logLevel\", \"none\");\n const outputToConsole = settings.get(\"logOutputToConsole\", false);\n const textDecorationsAtTop = settings.get(\"textDecorationsAtTop\", false);\n\n vscode.commands.executeCommand(\"setContext\", \"neovim.ctrlKeysNormal\", useCtrlKeysNormalMode);\n vscode.commands.executeCommand(\"setContext\", \"neovim.ctrlKeysInsert\", useCtrlKeysInsertMode);\n\n try {\n const plugin = new MainController({\n customInitFile: customInit,\n extensionPath: context.extensionPath.replace(/\\\\/g, \"\\\\\\\\\"),\n highlightsConfiguration: {\n highlights: highlightConfHighlights,\n ignoreHighlights: highlightConfIgnore,\n unknownHighlight: highlightConfUnknown,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any,\n mouseSelection: mouseVisualSelection,\n neovimPath: neovimPath,\n neovimViewportHeight: 201,\n useWsl: ext.extensionKind === vscode.ExtensionKind.Workspace ? false : useWsl,\n neovimViewportWidth: neovimWidth,\n textDecorationsAtTop: textDecorationsAtTop,\n revealCursorScrollLine: revealCursorScrollLine,\n logConf: {\n logPath,\n outputToConsole,\n level: logLevel,\n },\n });\n context.subscriptions.push(plugin);\n await plugin.init();\n } catch (e) {\n vscode.window.showErrorMessage(`Unable to init vscode-neovim: ${e.message}`);\n }\n}\n\n// this method is called when your extension is deactivated\nexport function deactivate(): void {\n // ignore\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/easy-motion-vscode.png b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/easy-motion-vscode.png new file mode 100644 index 00000000..ba66d668 Binary files /dev/null and b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/easy-motion-vscode.png differ diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/icon.png b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/icon.png new file mode 100644 index 00000000..fcf85fbf Binary files /dev/null and b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/icon.png differ diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/multicursor.gif b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/multicursor.gif new file mode 100644 index 00000000..07960d34 Binary files /dev/null and b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/multicursor.gif differ diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/wildmenu.gif b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/wildmenu.gif new file mode 100644 index 00000000..caf0ae18 Binary files /dev/null and b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/images/wildmenu.gif differ diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/package.json b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/package.json new file mode 100644 index 00000000..7659dea8 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/package.json @@ -0,0 +1,1292 @@ +{ + "name": "vscode-neovim", + "displayName": "VSCode Neovim", + "description": "VSCode Neovim Integration", + "icon": "images/icon.png", + "publisher": "asvetliakov", + "extensionKind": [ + "ui" + ], + "version": "0.0.82", + "repository": { + "type": "git", + "url": "https://github.com/asvetliakov/vscode-neovim" + }, + "bugs": { + "url": "https://github.com/asvetliakov/vscode-neovim/issues", + "email": "devpieron@gmail.com" + }, + "engines": { + "vscode": "^1.54.0" + }, + "keywords": [ + "keybindings", + "vi", + "vim", + "neovim" + ], + "categories": [ + "Other", + "Keymaps" + ], + "activationEvents": [ + "*" + ], + "main": "./dist/extension.js", + "contributes": { + "configuration": { + "title": "Neovim", + "properties": { + "vscode-neovim.neovimPath": { + "type": "string", + "default": "", + "title": "Neovim path", + "markdownDescription": "*Windows, OSX, Linux in Neovim path settings won`t work if this setting is set* Full path to Neovim executable. If you have enabled `useWSL` setting, specify the Linux path to nvim executable instead.", + "deprecationMessage": "This setting is deprecated. Remove this setting and use neovimExecutablePaths.win32/linux/darwin instead. If you continue to use this setting, keep in mind this setting takes precedence over neovimExecutablePaths.windows/linux/darwin and those settings won't work. If you want them to work, just remove this setting from your settings.json or make its input box in User Settings empty" + }, + "vscode-neovim.neovimExecutablePaths.win32": { + "type": "string", + "default": "", + "title": "Neovim executable path on Windows", + "markdownDescription": "Full path to Neovim executable that should be used by the extension if running VS Code on Windows. \nExample: \nC:\\tools\\neovim\\Neovim\\bin\\nvim.exe (if you installed using Chocolatey) \nIf you want to use Windows Subsystem for Linux, enable the `useWSL` setting and set `neovimExecutablePaths.linux` instead" + }, + "vscode-neovim.neovimExecutablePaths.darwin": { + "type": "string", + "default": "", + "title": "Neovim executable path on OSX", + "description": "Full path to Neovim executable that should be used by the extension if running VS Code on OSX." + }, + "vscode-neovim.neovimExecutablePaths.linux": { + "type": "string", + "default": "", + "title": "Neovim executable path on Linux (and in WSL)", + "markdownDescription": "Full path to Neovim executable that should be used by the extension if running VS Code on Linux or WSL. If `useWSL` setting is checked, vscode-neovim will look for this path in WSL \nExample: \n/usr/bin/nvim" + }, + "vscode-neovim.neovimInitPath": { + "type": "string", + "default": "", + "title": "Custom init.vim path", + "description": "Full path to custom neovim init file, equals to startup option -u. If checked useWSL flag specify a Linux path. You can also use exists('g:vscode') in your init.vim to check if neovim is being run in vscode and share init file between neovim/vscode", + "deprecationMessage": "This setting is deprecated. Use neovimInitVimPaths.win32/linux/darwin instead. If you continue to use this setting, keep in mind this setting takes precedence over neovimInitVimPaths.win32/linux/darwin and those settings won't work. If you want them to work, just remove this setting from your settings.json or make its input box in User Settings empty" + }, + "vscode-neovim.neovimInitVimPaths.win32": { + "type": "string", + "default": "", + "title": "Custom init.vim path on Windows", + "markdownDescription": "Full path to custom neovim init.vim file on Windows, equals to startup option `-u`. If the `useWSL` setting is checked, the value of the `neovimInitVimPaths.linux` setting will be used to find the init.vim file instead. You can also use `exists('g:vscode')` in your init.vim to check if neovim is being run in vscode and share init file between neovim/vscode" + }, + "vscode-neovim.neovimInitVimPaths.darwin": { + "type": "string", + "default": "", + "title": "Custom init.vim path on OSX", + "markdownDescription": "Full path to custom neovim init.vim file on OSX, equals to startup option `-u`. You can also use `exists('g:vscode')` in your init.vim to check if neovim is being run in vscode and share init file between neovim/vscode" + }, + "vscode-neovim.neovimInitVimPaths.linux": { + "type": "string", + "default": "", + "title": "Custom init.vim path on Linux", + "markdownDescription": "Full path to custom neovim init.vim file on Linux/WSL, equals to startup option `-u`. If the `useWSL` setting is checked, this path will be used to find `init.vim` in Windows Subsystem for Linux. You can also use `exists('g:vscode')` in your init.vim to check if neovim is being run in vscode and share init file between neovim/vscode" + }, + "vscode-neovim.neovimWidth": { + "type": "number", + "default": 1000, + "title": "Neovim width", + "description": "Neovim viewport width. Increase if you're working with long lines and have horizontal scroll problems. Larger values will affect neovim performance" + }, + "vscode-neovim.useCtrlKeysForNormalMode": { + "type": "boolean", + "default": true, + "description": "Use Ctrl keys in normal/visual/etc...(except insert) modes" + }, + "vscode-neovim.useCtrlKeysForInsertMode": { + "type": "boolean", + "default": true, + "description": "Use Ctrl keys in insert mode" + }, + "vscode-neovim.mouseSelectionStartVisualMode": { + "type": "boolean", + "default": false, + "description": "Mouse selection starts visual mode" + }, + "vscode-neovim.useWSL": { + "type": "boolean", + "default": false, + "markdownDescription": "Use neovim installed in WSL. If you enable this setting, specify the path to the neovim executable installed in WSL `neovimExecutablePaths.linux` setting" + }, + "vscode-neovim.revealCursorScrollLine": { + "type": "boolean", + "default": false, + "markdownDescription": "If 'true' reveals the cursor when scrolling by line and if it is outside view port" + }, + "vscode-neovim.logPath": { + "type": "string", + "default": "", + "description": "Log file path" + }, + "vscode-neovim.logLevel": { + "type": "string", + "default": "error", + "enum": [ + "none", + "error", + "warn", + "debug" + ], + "description": "Log Level" + }, + "vscode-neovim.logOutputToConsole": { + "type": "boolean", + "default": false, + "description": "When on, print log messages to vscode developer console (not output channel!)" + }, + "vscode-neovim.highlightGroups.ignoreHighlights": { + "type": "array", + "title": "Ignore Highlighs Groups", + "description": "List of vim highlights groups to ignore", + "default": [ + "SpecialKey", + "EndOfBuffer", + "TermCursor", + "TermCursorNC", + "NonText", + "ErrorMsg", + "MoreMsg", + "ModeMsg", + "LineNr", + "CursorLineNr", + "Question", + "StatusLine", + "StatusLineNC", + "VertSplit", + "Title", + "VisualNC", + "WarningMsg", + "WildMenu", + "^Diff", + "Sign", + "SignColumn", + "^Spell", + "^Pmenu", + "^Tab", + "^Cursor", + "ColorColumn", + "QuickFixLine", + "Whitespace", + "NormalNC", + "Normal", + "NormalFloat", + "MsgSeparator", + "MsgArea", + "^RedrawDebug", + "Cursor", + "lCursor", + "MatchParen", + "^Nvim", + "Operator", + "Delimiter", + "Identifier", + "SpecialChar", + "Number", + "Type", + "String", + "Error", + "Comment", + "Constant", + "Special", + "Statement", + "PreProc", + "Underlined", + "Ignore", + "Todo", + "Character", + "Boolean", + "Float", + "Function", + "Conditional", + "Repeat", + "Label", + "Keyword", + "Exception", + "Include", + "Define", + "Macro", + "PreCondit", + "StorageClass", + "Structure", + "Typedef", + "Tag", + "SpecialComment", + "Debug", + "Folded", + "FoldColumn" + ] + }, + "vscode-neovim.highlightGroups.highlights": { + "type": "object", + "title": "Highlight Groups Configuration", + "description": "Define colors for various VIM highlight groups. Values may be 'vim' to use colors from vim or text decoration properties object", + "additionalProperties": { + "oneOf": [ + { + "type": "object" + }, + { + "type": "string", + "const": "vim" + } + ] + }, + "default": { + "Directory": "vim", + "IncSearch": { + "backgroundColor": "theme.editor.findMatchBackground", + "borderColor": "theme.editor.findMatchBorder" + }, + "Search": { + "backgroundColor": "theme.editor.findMatchHighlightBackground", + "borderColor": "theme.editor.findMatchHighlightBorder" + }, + "Visual": { + "backgroundColor": "theme.editor.selectionBackground" + }, + "Conceal": "vim", + "Substitute": "vim" + } + }, + "vscode-neovim.highlightGroups.unknownHighlight": { + "oneOf": [ + { + "type": "object" + }, + { + "type": "string", + "const": "vim" + } + ], + "title": "Unknown Highlight Groups", + "description": "Highlight Configuration for non defined group. Can accept 'vim' to use colors coming from vim or text decoration properties object", + "default": "vim" + }, + "vscode-neovim.textDecorationsAtTop": { + "type": "boolean", + "description": "If turned on, text decorations will appear on top of the associated text instead of behind it. Consider turning this on with the EasyMotion plugin.", + "default": false + } + } + }, + "commands": [ + { + "command": "vscode-neovim.send", + "title": "Neovim: send key" + }, + { + "command": "vscode-neovim.compositeEscape1", + "title": "Composite escape key 1" + }, + { + "command": "vscode-neovim.compositeEscape2", + "title": "Composite escape key 2" + }, + { + "command": "vscode-neovim.escape", + "title": "Escape key" + }, + { + "command": "vscode-neovim.commit-cmdline", + "title": "Neovim: Accept cmdline" + }, + { + "command": "vscode-neovim.delete-word-left-cmdline", + "title": "Neovim: Delete word cmdline" + }, + { + "command": "vscode-neovim.delete-all-cmdline", + "title": "Neovim: Delete all cmdline" + }, + { + "command": "vscode-neovim.delete-char-left-cmdline", + "title": "Neovim: Delete char cmdline" + }, + { + "command": "vscode-neovim.complete-selection-cmdline", + "title": "Neovim: Complete selection cmdline" + }, + { + "command": "vscode-neovim.history-up-cmdline", + "title": "Neovim: History up cmdline" + }, + { + "command": "vscode-neovim.history-down-cmdline", + "title": "Neovim: History down cmdline" + }, + { + "command": "vscode-neovim.ctrl-b", + "title": "Neovim: ctrl-b" + }, + { + "command": "vscode-neovim.ctrl-d", + "title": "Neovim: ctrl-d" + }, + { + "command": "vscode-neovim.ctrl-e", + "title": "Neovim: ctrl-e" + }, + { + "command": "vscode-neovim.ctrl-f", + "title": "Neovim: ctrl-f" + }, + { + "command": "vscode-neovim.ctrl-u", + "title": "Neovim: ctrl-u" + }, + { + "command": "vscode-neovim.ctrl-y", + "title": "Neovim: ctrl-y" + }, + { + "command": "vscode-neovim.shift-m", + "title": "Neovim: shift-m" + }, + { + "command": "vscode-neovim.shift-l", + "title": "Neovim: shift-l" + }, + { + "command": "vscode-neovim:shift-h", + "title": "Neovim: shift-h" + }, + { + "command": "vscode-neovim.ctrl-a-insert", + "title": "Neovim: Ctrl-a-insert" + }, + { + "command": "vscode-neovim.paste-register", + "title": "Neovim: Paste from register" + } + ], + "keybindings": [ + { + "command": "vscode-neovim.send", + "key": "ctrl+shift+p", + "when": "editorTextFocus && neovim.mode == visual", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+cmd+p", + "when": "editorTextFocus && neovim.mode == visual", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "F1", + "when": "editorTextFocus && neovim.mode == visual", + "args": "" + }, + { + "command": "list.focusDown", + "key": "ctrl+n", + "when": "listFocus && !inputFocus" + }, + { + "command": "list.focusUp", + "key": "ctrl+p", + "when": "listFocus && !inputFocus" + }, + { + "key": "j", + "command": "list.focusDown", + "when": "listFocus && !inputFocus" + }, + { + "key": "k", + "command": "list.focusUp", + "when": "listFocus && !inputFocus" + }, + { + "key": "h", + "command": "list.collapse", + "when": "listFocus && !inputFocus" + }, + { + "key": "l", + "command": "list.select", + "when": "listFocus && !inputFocus" + }, + { + "key": "enter", + "command": "list.select", + "when": "listFocus && !inputFocus" + }, + { + "key": "g g", + "command": "list.focusFirst", + "when": "listFocus && !inputFocus" + }, + { + "key": "shift+g", + "command": "list.focusLast", + "when": "listFocus && !inputFocus" + }, + { + "key": "o", + "command": "list.toggleExpand", + "when": "listFocus && !inputFocus" + }, + { + "key": "ctrl+u", + "command": "list.focusPageUp", + "when": "listFocus && !inputFocus" + }, + { + "key": "ctrl+d", + "command": "list.focusPageDown", + "when": "listFocus && !inputFocus" + }, + { + "key": "/", + "command": "list.toggleKeyboardNavigation", + "when": "listFocus && !inputFocus && listSupportsKeyboardNavigation" + }, + { + "key": "escape", + "command": "list.toggleKeyboardNavigation", + "when": "listFocus && inputFocus && listSupportsKeyboardNavigation" + }, + { + "key": "r", + "command": "renameFile", + "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" + }, + { + "key": "d", + "command": "deleteFile", + "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" + }, + { + "key": "y", + "command": "filesExplorer.copy", + "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" + }, + { + "key": "x", + "command": "filesExplorer.cut", + "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" + }, + { + "key": "p", + "command": "filesExplorer.paste", + "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" + }, + { + "key": "v", + "command": "explorer.openToSide", + "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" + }, + { + "key": "a", + "command": "explorer.newFile", + "when": "filesExplorerFocus && !inputFocus" + }, + { + "key": "shift+a", + "command": "explorer.newFolder", + "when": "filesExplorerFocus && !inputFocus" + }, + { + "command": "showNextParameterHint", + "key": "ctrl+n", + "when": "editorTextFocus && parameterHintsMultipleSignatures && parameterHintsVisible" + }, + { + "command": "showPrevParameterHint", + "key": "ctrl+p", + "when": "editorTextFocus && parameterHintsMultipleSignatures && parameterHintsVisible" + }, + { + "key": "ctrl+n", + "command": "selectNextSuggestion", + "when": "textInputFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" + }, + { + "key": "ctrl+p", + "command": "selectPrevSuggestion", + "when": "textInputFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" + }, + { + "command": "workbench.action.quickOpenSelectNext", + "key": "ctrl+n", + "when": "inQuickOpen" + }, + { + "command": "workbench.action.quickOpenSelectPrevious", + "key": "ctrl+p", + "when": "inQuickOpen" + }, + { + "command": "vscode-neovim.escape", + "key": "ctrl+c", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.escape", + "key": "ctrl+c", + "when": "editorTextFocus && neovim.init && neovim.mode == insert && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.escape", + "key": "Escape", + "when": "editorTextFocus && neovim.init && !markersNavigationVisible && !parameterHintsVisible && !referenceSearchVisible" + }, + { + "command": "vscode-neovim.escape", + "key": "ctrl+[", + "when": "editorTextFocus && neovim.init" + }, + { + "key": "tab", + "command": "togglePeekWidgetFocus", + "when": "inReferenceSearchEditor || referenceSearchVisible && neovim.mode == normal" + }, + { + "key": "escape", + "command": "closeReferenceSearch", + "when": "inReferenceSearchEditor && !config.editor.stablePeek && neovim.mode == normal" + }, + { + "key": "ctrl+p", + "command": "list.focusUp", + "when": "inReferenceSearchEditor && neovim.mode == normal" + }, + { + "key": "ctrl+n", + "command": "list.focusDown", + "when": "inReferenceSearchEditor && neovim.mode == normal" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+g", + "when": "neovim.mode == cmdline_normal || neovim.mode == cmdline_insert || neovim.mode == cmdline_replace", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+t", + "when": "neovim.mode == cmdline_normal || neovim.mode == cmdline_insert || neovim.mode == cmdline_replace", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+r", + "when": "neovim.mode == cmdline_normal || neovim.mode == cmdline_insert || neovim.mode == cmdline_replace", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+l", + "when": "neovim.mode == cmdline_normal || neovim.mode == cmdline_insert || neovim.mode == cmdline_replace", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+e", + "when": "neovim.mode == cmdline_normal || neovim.mode == cmdline_insert || neovim.mode == cmdline_replace", + "args": "" + }, + { + "command": "vscode-neovim.history-up-cmdline", + "key": "up", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.history-up-cmdline", + "key": "ctrl+p", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.history-down-cmdline", + "key": "down", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.history-down-cmdline", + "key": "ctrl+n", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.delete-word-left-cmdline", + "key": "ctrl+w", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.delete-all-cmdline", + "key": "ctrl+u", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.delete-char-left-cmdline", + "key": "ctrl+h", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.complete-selection-cmdline", + "key": "tab", + "when": "neovim.mode == cmdline_normal" + }, + { + "command": "vscode-neovim.send", + "key": "backspace", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+backspace", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+backspace", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "delete", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+delete", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+delete", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "tab", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.mode != cmdline_normal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+tab", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.mode != cmdline_normal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "down", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "up", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "left", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "right", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+down", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+up", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+right", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+left", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+down", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+up", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+left", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "shift+right", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "home", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "end", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+a", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.ctrl-b", + "key": "ctrl+b", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.ctrl-d", + "key": "ctrl+d", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.ctrl-e", + "key": "ctrl+e", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.ctrl-f", + "key": "ctrl+f", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+i", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+o", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+r", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.ctrl-u", + "key": "ctrl+u", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+v", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+w", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+x", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.ctrl-y", + "key": "ctrl+y", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+z", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+]", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+j", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+k", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+l", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+h", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+/", + "when": "editorTextFocus && neovim.init && neovim.mode != insert && neovim.ctrlKeysNormal", + "args": "" + }, + { + "command": "deleteAllLeft", + "key": "ctrl-u", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.ctrl-o-insert", + "key": "ctrl+o", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+u", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "deleteWordLeft", + "key": "ctrl+w", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+w", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "deleteLeft", + "key": "ctrl+h", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+h", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "editor.action.indentLines", + "key": "ctrl+t", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+t", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "editor.action.outdentLines", + "key": "ctrl+d", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+d", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "editor.action.insertLineAfter", + "key": "ctrl+j", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+j", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "vscode-neovim.ctrl-a-insert", + "key": "ctrl+a", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+a", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+r", + "when": "editorTextFocus && neovim.mode == insert && neovim.recording && neovim.ctrlKeysInsert", + "args": "" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 0", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "0" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 1", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "1" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 2", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "2" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 3", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "3" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 4", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "4" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 5", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "5" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 6", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "6" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 7", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "7" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 8", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "8" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r 9", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "9" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r shift-'", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "\"" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r shift-5", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "%" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r shift-3", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "#" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r shift-8", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "*" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r shift-=", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "+" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r shift-;", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": ":" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r .", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "." + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r -", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "-" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r =", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "=" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r /", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "/" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r a", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "a" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r b", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "b" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r c", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "c" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r d", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "d" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r e", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "e" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r f", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "f" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r g", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "g" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r h", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "h" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r i", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "i" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r j", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "j" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r k", + "when": "editorTextFocus && neovim.mode == insert &&& !neovim.recording & neovim.ctrlKeysInsert", + "args": "k" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r l", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "l" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r m", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "m" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r n", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "n" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r o", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "o" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r p", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "p" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r q", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "q" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r r", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "r" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r s", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "s" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r t", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "t" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r u", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "u" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r v", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "v" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r w", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "w" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r x", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "x" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r y", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "y" + }, + { + "command": "vscode-neovim.paste-register", + "key": "ctrl+r z", + "when": "editorTextFocus && neovim.mode == insert && !neovim.recording && neovim.ctrlKeysInsert", + "args": "z" + } + ] + }, + "scripts": { + "lint": "eslint --ext .ts src", + "test": "node ./out/test/runTest.js", + "pretest": "yarn run test-compile", + "vscode:prepublish": "webpack --mode production", + "webpack": "webpack --mode development", + "webpack-dev": "webpack --mode development --watch", + "test-compile": "tsc -p ./" + }, + "devDependencies": { + "@types/glob": "^7.1.3", + "@types/lodash-es": "^4.17.4", + "@types/mocha": "^8.2.1", + "@types/msgpack-lite": "^0.1.7", + "@types/node": "^14.14.35", + "@types/vscode": "^1.54.0", + "@typescript-eslint/eslint-plugin": "^4.18.0", + "@typescript-eslint/parser": "^4.18.0", + "eslint": "^7.22.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.1", + "glob": "^7.1.6", + "mocha": "^8.3.2", + "prettier": "^2.2.1", + "source-map-support": "^0.5.19", + "ts-loader": "^8.0.18", + "typescript": "^4.2.3", + "vscode-test": "^1.5.1", + "webpack": "^5.26.1", + "webpack-cli": "^4.5.0" + }, + "dependencies": { + "fast-diff": "^1.2.0", + "lodash-es": "^4.17.21", + "neovim": "^4.9.0", + "ts-wcwidth": "^2.0.3" + }, + "__metadata": { + "id": "caf8995c-5426-4bf7-9d01-f7968ebd49bb", + "publisherId": "ce6190db-6762-4c9c-99c7-1717b9504159", + "publisherDisplayName": "Alexey Svetliakov", + "installedTimestamp": 1634926633643 + } +} \ No newline at end of file diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/cursor-preserved-between-columns.txt b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/cursor-preserved-between-columns.txt new file mode 100644 index 00000000..7ef6bcf6 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/cursor-preserved-between-columns.txt @@ -0,0 +1,200 @@ +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/cursor-revealing.txt b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/cursor-revealing.txt new file mode 100644 index 00000000..7ef6bcf6 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/cursor-revealing.txt @@ -0,0 +1,200 @@ +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/scrolltest.txt b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/scrolltest.txt new file mode 100644 index 00000000..7ef6bcf6 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/test_fixtures/scrolltest.txt @@ -0,0 +1,200 @@ +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is lineThis is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line +This is line diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.gitignore b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.gitignore new file mode 100644 index 00000000..4601c432 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.gitignore @@ -0,0 +1,3 @@ +.vim-flavor +Gemfile.lock +VimFlavor.lock diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.travis.yml b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.travis.yml new file mode 100644 index 00000000..bcb6d74c --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.travis.yml @@ -0,0 +1,4 @@ +language: ruby +rvm: + - 2.1.5 +script: rake ci diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Gemfile b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Gemfile new file mode 100644 index 00000000..58711578 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'vim-flavor', '~> 2.0' diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Rakefile b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Rakefile new file mode 100644 index 00000000..63a3a361 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Rakefile @@ -0,0 +1,11 @@ +#!/usr/bin/env rake + +task :ci => [:dump, :test] + +task :dump do + sh 'vim --version' +end + +task :test do + sh 'bundle exec vim-flavor test' +end diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/VimFlavor b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/VimFlavor new file mode 100644 index 00000000..9dffa09d --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/VimFlavor @@ -0,0 +1 @@ +# No dependencies. diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/autoload/altercmd.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/autoload/altercmd.vim new file mode 100644 index 00000000..f26c5262 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/autoload/altercmd.vim @@ -0,0 +1,62 @@ +" altercmd - Alter built-in Ex commands by your own ones +" Version: 0.0.1 +" Copyright (C) 2009-2015 Kana Natsuno +" License: MIT license {{{ +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be included +" in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +" }}} +" Interface "{{{1 +function! altercmd#define(...) "{{{2 + let [buffer, original_name, alternate_name] + \ = (a:000[0] ==? '' ? [] : ['']) + a:000 + + if original_name =~ '\[' + let [original_name_head, original_name_tail] = split(original_name, '[') + let original_name_tail = substitute(original_name_tail, '\]', '', '') + else + let original_name_head = original_name + let original_name_tail = '' + endif + + let original_name_tail = ' ' . original_name_tail + for i in range(len(original_name_tail)) + let lhs = original_name_head . original_name_tail[1:i] + execute 'cnoreabbrev ' buffer lhs + \ '(getcmdtype() == ":" && getcmdline() ==# "' . lhs . '")' + \ '?' ('"' . alternate_name . '"') + \ ':' ('"' . lhs . '"') + endfor +endfunction + + + + +function! altercmd#load() "{{{2 + runtime plugin/altercmd.vim +endfunction + + + + + + + + +" __END__ "{{{1 +" vim: foldmethod=marker diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/doc/altercmd.txt b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/doc/altercmd.txt new file mode 100644 index 00000000..698ee83f --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/doc/altercmd.txt @@ -0,0 +1,134 @@ +*altercmd.txt* Alter built-in Ex commands by your own ones + +Version 0.0.1 +Script ID: 2675 +Copyright (C) 2009-2015 Kana Natsuno +License: MIT license {{{ + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +}}} + +CONTENTS *altercmd-contents* + +Introduction |altercmd-introduction| +Interface |altercmd-interface| + Commands |altercmd-commands| + Functions |altercmd-functions| +Bugs |altercmd-bugs| +Changelog |altercmd-changelog| + + + + +============================================================================== +INTRODUCTION *altercmd-introduction* + +*altercmd* is a Vim plugin to provide an easy way to alternate built-in Ex +commands by user-defined Ex commands. This plugin provides |:AlterCommand| +for this purpose. For example, if you define :CD, a custom version of |:cd|, +add the following in your vimrc. +> + AlterCommand cd CD +< +With the above setting, you can use :cd as if it is :CD. It means that :CD +will be automatically inserted if you type :cd as an Ex command, so you don't +have to type :CD to use :cd and you'll never encounter mistyping :cd and :CD. + +:AlterCommand also supports partial command names. For example, |:help| can +be invoked with :h, :he, :hel or :help. +> + AlterCommand h[elp] HELP +< +With the above setting, you can use :h, :he, :hel and :help as if they are +:HELP, your own version of :help. + + +Requirements: +- Vim 7.2 or later + +Latest version: +https://github.com/kana/vim-altercmd + + + + +============================================================================== +INTERFACE *altercmd-interface* + +------------------------------------------------------------------------------ +COMMANDS *altercmd-commands* + + *:AlterCommand* +:AlterCommand [] {original} {alternative} + Declare to use {alternative} Ex command instead of + {original} Ex command. + + If is given, this declaration is only + available for the current buffer. Otherwise, this + declaration is available globally. + + See also |altercmd-introduction| for examples. + + Technically, this Ex command does just define some + |abbreviations| in Command-line mode. + + +------------------------------------------------------------------------------ +FUNCTIONS *altercmd-functions* + +altercmd#define({original}, {alternative}) *altercmd#define()* +altercmd#define('', {original}, {alternative}) + Function version of |:AlterCommand|. + +altercmd#load() *altercmd#load()* + Load this plugin. You have to call this in your vimrc + if you want to use |:AlterCommand| in your vimrc. + + + + +============================================================================== +BUGS *altercmd-bugs* + +- Not all cases are supported. For example: + + - [range] is not supported yet. If [range] is given, altercmd doesn't work. + + - If any argument is not given to an Ex command which has an alternative Ex + command, altercmd doesn't work. + + - And there may be more cases where altercmd doesn't work well. + + + + +============================================================================== +CHANGELOG *altercmd-changelog* + +0.0.1 2015-01-31T23:52:24+09:00 + - Fix a bug that buffer-local |:AlterCommand| could not be defined. + +0.0.0 2009-06-14T03:47:25+09:00 + - Initial version. + + + + +============================================================================== +vim:tw=78:ts=8:ft=help:norl:fen:fdl=0:fdm=marker: diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/plugin/altercmd.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/plugin/altercmd.vim new file mode 100644 index 00000000..16817f40 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/plugin/altercmd.vim @@ -0,0 +1,41 @@ +" altercmd - Alter built-in Ex commands by your own ones +" Version: 0.0.1 +" Copyright (C) 2009-2015 Kana Natsuno +" License: MIT license {{{ +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be included +" in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +" }}} + +if exists('g:loaded_altercmd') + finish +endif + + + + +command! -bar -complete=command -nargs=* AlterCommand +\ call altercmd#define() + + + + +let g:loaded_altercmd = 1 + +" __END__ +" vim: foldmethod=marker diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/t/basics.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/t/basics.vim new file mode 100644 index 00000000..a5258311 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/t/basics.vim @@ -0,0 +1,45 @@ +call altercmd#define('full', 'F-U-L-L') +call altercmd#define('ab[br]', 'A-B-B-R') + +function! RecordTheCurrentCommandLine() + let g:cmdline = getcmdline() + return '' +endfunction +cnoremap {X} RecordTheCurrentCommandLine() + +function! Test(lhs, rhs) + let g:cmdline = '' + silent execute 'normal' ":".a:lhs."\{X}\" + Expect g:cmdline ==# a:rhs +endfunction + +describe 'altercmd#define' + it 'replaces a built-in command' + call Test('full', 'F-U-L-L') + end + + it 'replaces all abbreviated names of a built-in command' + call Test('ab', 'A-B-B-R') + call Test('abb', 'A-B-B-R') + call Test('abbr', 'A-B-B-R') + end + + it 'supports ' + silent edit 'test-A' + call altercmd#define('', 'ctx', 'Axe') + silent edit 'test-B' + call altercmd#define('', 'ctx', 'Bow') + silent edit 'test-C' + call altercmd#define('', 'ctx', 'Club') + + silent edit 'test-A' + call Test('full', 'F-U-L-L') + call Test('ctx', 'Axe') + silent edit 'test-B' + call Test('full', 'F-U-L-L') + call Test('ctx', 'Bow') + silent edit 'test-C' + call Test('full', 'F-U-L-L') + call Test('ctx', 'Club') + end +end diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-code-actions.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-code-actions.vim new file mode 100644 index 00000000..456aca2c --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-code-actions.vim @@ -0,0 +1,96 @@ +function! s:vscodeFormat(...) abort + if !a:0 + let &operatorfunc = matchstr(expand(''), '[^. ]*$') + return 'g@' + elseif a:0 > 1 + let [line1, line2] = [a:1, a:2] + else + let [line1, line2] = [line("'["), line("']")] + endif + + call VSCodeCallRange('editor.action.formatSelection', line1, line2, 0) +endfunction + +function! s:vscodeCommentary(...) abort + if !a:0 + let &operatorfunc = matchstr(expand(''), '[^. ]*$') + return 'g@' + elseif a:0 > 1 + let [line1, line2] = [a:1, a:2] + else + let [line1, line2] = [line("'["), line("']")] + endif + + call VSCodeCallRange('editor.action.commentLine', line1, line2, 0) +endfunction + +function! s:vscodeGoToDefinition(str) + if exists('b:vscode_controlled') && b:vscode_controlled + call VSCodeNotify('editor.action.reveal' . a:str) + else + " Allow to funcionar in help files + exe "normal! \" + endif +endfunction + +function! s:openVSCodeCommandsInVisualMode() + let mode = mode() + if mode ==# 'V' + let startLine = line('v') + let endLine = line('.') + call VSCodeNotifyRange('workbench.action.showCommands', startLine, endLine, 1) + else + let startPos = getpos('v') + let endPos = getpos('.') + call VSCodeNotifyRangePos('workbench.action.showCommands', startPos[1], endPos[1], startPos[2], endPos[2] + 1, 1) + endif +endfunction + +command! -range -bar VSCodeCommentary call s:vscodeCommentary(, ) + +xnoremap VSCodeCommentary vscodeCommentary() +nnoremap VSCodeCommentary vscodeCommentary() +nnoremap VSCodeCommentaryLine vscodeCommentary() . '_' + +" Bind format to vscode format selection +xnoremap = vscodeFormat() +nnoremap = vscodeFormat() +nnoremap == vscodeFormat() . '_' + +" gf/gF . Map to go to definition for now +nnoremap K call VSCodeNotify('editor.action.showHover') +nnoremap gh call VSCodeNotify('editor.action.showHover') +nnoremap gf call vscodeGoToDefinition("Declaration") +nnoremap gd call vscodeGoToDefinition("Definition") +nnoremap call vscodeGoToDefinition("Definition") +nnoremap gO call VSCodeNotify('workbench.action.gotoSymbol') +nnoremap gF call VSCodeNotify('editor.action.peekDeclaration') +nnoremap gD call VSCodeNotify('editor.action.peekDefinition') +nnoremap gH call VSCodeNotify('editor.action.referenceSearch.trigger') + +xnoremap K call VSCodeNotify('editor.action.showHover') +xnoremap gh call VSCodeNotify('editor.action.showHover') +xnoremap gf call vscodeGoToDefinition("Declaration") +xnoremap gd call vscodeGoToDefinition("Definition") +xnoremap call vscodeGoToDefinition("Definition") +xnoremap gO call VSCodeNotify('workbench.action.gotoSymbol') +xnoremap gF call VSCodeNotify('editor.action.peekDeclaration') +xnoremap gD call VSCodeNotify('editor.action.peekDefinition') +xnoremap gH call VSCodeNotify('editor.action.referenceSearch.trigger') + +" gf opens definition on the side +nnoremap gf call VSCodeNotify('editor.action.revealDefinitionAside') +nnoremap gd call VSCodeNotify('editor.action.revealDefinitionAside') +xnoremap gf call VSCodeNotify('editor.action.revealDefinitionAside') +xnoremap gd call VSCodeNotify('editor.action.revealDefinitionAside') + +" Bind C-/ to vscode commentary since calling from vscode produces double comments due to multiple cursors +xnoremap vscodeCommentary() +nnoremap vscodeCommentary() . '_' + +" open quickfix menu for spelling corrections and refactoring +" only keyboard arrows can be used to navigate, for a solution, see https://github.com/asvetliakov/vscode-neovim#keyboard-quickfix +nnoremap z= call VSCodeNotify('editor.action.quickFix') + +" workaround for calling command picker in visual mode +xnoremap call openVSCodeCommandsInVisualMode() diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-file-commands.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-file-commands.vim new file mode 100644 index 00000000..75abfd62 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-file-commands.vim @@ -0,0 +1,63 @@ + +function! s:editOrNew(...) + let file = a:1 + let bang = a:2 + + if empty(file) + if bang ==# '!' + call VSCodeNotify('workbench.action.files.revert') + else + call VSCodeNotify('workbench.action.quickOpen') + endif + else + " Last arg is to close previous file, e.g. e! ~/blah.txt will open blah.txt instead the current file + call VSCodeExtensionNotify('open-file', expand(file), bang ==# '!' ? 1 : 0) + endif +endfunction + +function! s:saveAndClose() abort + call VSCodeCall('workbench.action.files.save') + call VSCodeNotify('workbench.action.closeActiveEditor') +endfunction + +function! s:saveAllAndClose() abort + call VSCodeCall('workbench.action.files.saveAll') + call VSCodeNotify('workbench.action.closeAllEditors') +endfunction + +" command! -bang -nargs=? Edit call VSCodeCall('workbench.action.quickOpen') +command! -complete=file -bang -nargs=? Edit call editOrNew(, ) +command! -bang -nargs=? Ex call editOrNew(, ) +command! -bang Enew call editOrNew('__vscode_new__', ) +command! -bang Find call VSCodeNotify('workbench.action.quickOpen') + +command! -complete=file -bang Write if ==# '!' | call VSCodeNotify('workbench.action.files.saveAs') | else | call VSCodeNotify('workbench.action.files.save') | endif +command! -bang Saveas call VSCodeNotify('workbench.action.files.saveAs') + +command! -bang Wall call VSCodeNotify('workbench.action.files.saveAll') +command! -bang Quit if ==# '!' | call VSCodeNotify('workbench.action.revertAndCloseActiveEditor') | else | call VSCodeNotify('workbench.action.closeActiveEditor') | endif + +command! -bang Wq call saveAndClose() +command! -bang Xit call saveAndClose() + +command! -bang Qall call VSCodeNotify('workbench.action.closeAllEditors') + +command! -bang Wqall call saveAllAndClose() +command! -bang Xall call saveAllAndClose() + +AlterCommand e[dit] Edit +AlterCommand ex Ex +AlterCommand ene[w] Enew +AlterCommand fin[d] Find +AlterCommand w[rite] Write +AlterCommand sav[eas] Saveas +AlterCommand wa[ll] Wall +AlterCommand q[uit] Quit +AlterCommand wq Wq +AlterCommand x[it] Xit +AlterCommand qa[ll] Qall +AlterCommand wqa[ll] Wqall +AlterCommand xa[ll] Xall + +nnoremap ZZ Wq +nnoremap ZQ Quit! diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-insert.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-insert.vim new file mode 100644 index 00000000..e4fb8c55 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-insert.vim @@ -0,0 +1,31 @@ + +function! s:vscodePrepareMultipleCursors(append, skipEmpty) + let m = mode() + if m ==# 'V' || m ==# "\" + let b:notifyMultipleCursors = 1 + let b:multipleCursorsVisualMode = m + let b:multipleCursorsAppend = a:append + let b:multipleCursorsSkipEmpty = a:skipEmpty + " We need to start insert, then spawn cursors otherwise they'll be destroyed + " using feedkeys() here because :startinsert is being delayed + call feedkeys("\i", 'n') + endif +endfunction + +function! s:vscodeNotifyMultipleCursors() + if exists('b:notifyMultipleCursors') && b:notifyMultipleCursors + let b:notifyMultipleCursors = 0 + call VSCodeExtensionNotify('visual-edit', b:multipleCursorsAppend, b:multipleCursorsVisualMode, line("'<"), line("'>"), col("'>"), b:multipleCursorsSkipEmpty) + endif +endfunction + +augroup MultipleCursors + autocmd! + autocmd InsertEnter * call vscodeNotifyMultipleCursors() +augroup END + +" Multiple cursors support for visual line/block modes +xnoremap ma call vscodePrepareMultipleCursors(1, 1) +xnoremap mi call vscodePrepareMultipleCursors(0, 1) +xnoremap mA call vscodePrepareMultipleCursors(1, 0) +xnoremap mI call vscodePrepareMultipleCursors(0, 0) diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-jumplist.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-jumplist.vim new file mode 100644 index 00000000..635734cc --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-jumplist.vim @@ -0,0 +1,4 @@ +nnoremap call VSCodeNotify("workbench.action.navigateBack") +nnoremap call VSCodeNotify("workbench.action.navigateForward") +nnoremap call VSCodeNotify("workbench.action.navigateForward") + diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-motion.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-motion.vim new file mode 100644 index 00000000..d1e71258 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-motion.vim @@ -0,0 +1,16 @@ +function! s:toFirstCharOfScreenLine() + call VSCodeNotify('cursorMove', { 'to': 'wrappedLineFirstNonWhitespaceCharacter' }) +endfunction + +function! s:toLastCharOfScreenLine() + call VSCodeNotify('cursorMove', { 'to': 'wrappedLineLastNonWhitespaceCharacter' }) + " Offfset cursor moving to the right caused by calling VSCode command in Vim mode + call VSCodeNotify('cursorLeft') +endfunction + +nnoremap g0 call toFirstCharOfScreenLine() +nnoremap g$ call toLastCharOfScreenLine() + +" Note: Using these in macro will break it +nnoremap gk call VSCodeNotify('cursorMove', { 'to': 'up', 'by': 'wrappedLine', 'value': v:count ? v:count : 1 }) +nnoremap gj call VSCodeNotify('cursorMove', { 'to': 'down', 'by': 'wrappedLine', 'value': v:count ? v:count : 1 }) diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-neovim.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-neovim.vim new file mode 100644 index 00000000..c4ed0bef --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-neovim.vim @@ -0,0 +1,153 @@ +" Set global flag to allow checking in custom user config +let g:vscode = 1 + +let s:currDir = fnamemodify(resolve(expand(':p')), ':h') +" Adjust rtp path +let &runtimepath = &runtimepath . ',' . s:currDir . '/vim-altercmd' + +" Used to execute vscode command +let s:vscodeCommandEventName = 'vscode-command' +" Used to execute vscode command with some range (the specified range will be selected and the command will be executed on this range) +let s:vscodeRangeCommandEventName = 'vscode-range-command' +" Used for externsion inter-communications +let s:vscodePluginEventName = 'vscode-neovim' + +" RPC and global functions + +function! VSCodeCall(cmd, ...) abort + call rpcrequest(g:vscode_channel, s:vscodeCommandEventName, a:cmd, a:000) +endfunction + +function! VSCodeCallRange(cmd, line1, line2, leaveSelection, ...) abort + call rpcrequest(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, 0, 0, a:leaveSelection, a:000) +endfunction + +function! VSCodeCallRangePos(cmd, line1, line2, pos1, pos2, leaveSelection, ...) abort + call rpcrequest(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, a:pos1, a:pos2, a:leaveSelection, a:000) +endfunction + +function! VSCodeNotify(cmd, ...) + call rpcnotify(g:vscode_channel, s:vscodeCommandEventName, a:cmd, a:000) +endfunction + +function! VSCodeNotifyRange(cmd, line1, line2, leaveSelection, ...) + call rpcnotify(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, 0, 0, a:leaveSelection, a:000) +endfunction + +function! VSCodeNotifyRangePos(cmd, line1, line2, pos1, pos2, leaveSelection, ...) + call rpcnotify(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, a:pos1, a:pos2, a:leaveSelection, a:000) +endfunction + +function! VSCodeExtensionCall(cmd, ...) abort + call rpcrequest(g:vscode_channel, s:vscodePluginEventName, a:cmd, a:000) +endfunction + +function! VSCodeExtensionNotify(cmd, ...) abort + call rpcnotify(g:vscode_channel, s:vscodePluginEventName, a:cmd, a:000) +endfunction + +" Called from extension when opening/creating new file in vscode to reset undo tree +function! VSCodeClearUndo(bufId) + let oldlevels = &undolevels + call nvim_buf_set_option(a:bufId, 'undolevels', -1) + call nvim_buf_set_lines(a:bufId, 0, 0, 0, []) + call nvim_buf_set_option(a:bufId, 'undolevels', oldlevels) + unlet oldlevels +endfunction + +" Called from extension to align screen row in neovim after scrolling +" function! VSCodeAlignScreenRow(row) +" let currentRow = winline() +" let diff = abs(currentRow - a:row) +" if diff > 0 +" if (a:row - currentRow) < 0 +" if diff > 1 +" silent! exe "normal! " . diff . "\" +" else +" silent! exe "normal! \" +" endif +" else +" if diff > 1 +" silent! exe "normal! " . diff . "\" +" else +" silent! exe "normal! \" +" endif +" endif +" endif +" endfunction + +" Set text decorations for given ranges. Used in easymotion +function! VSCodeSetTextDecorations(hlName, rowsCols) + call VSCodeExtensionNotify('text-decorations', a:hlName, a:rowsCols) +endfunction + +" Used for ctrl-a insert keybinding +function! VSCodeGetLastInsertText() + let [lineStart, colStart] = getpos("'[")[1:2] + let [lineEnd, colEnd] = getpos("']")[1:2] + if (lineStart == 0) + return [] + endif + let lines = getline(lineStart, lineEnd) + let lines[0] = lines[0][colStart - 1:] + let lines[-1] = lines[-1][:colEnd - 1] + return lines +endfunction + +" Used for ctrl-r [reg] insert keybindings +function! VSCodeGetRegister(reg) + return getreg(a:reg) +endfunction + +" This is called by extension when created new buffer +function! s:onBufEnter(name, id) + if exists('b:vscode_temp') && b:vscode_temp + return + endif + set conceallevel=0 + let tabstop = &tabstop + let isJumping = 0 + if exists('g:isJumping') + let isJumping = g:isJumping + endif + call VSCodeExtensionCall('external-buffer', a:name, a:id, 1, tabstop, isJumping) +endfunction + +function! s:runFileTypeDetection() + doautocmd BufRead + if exists('b:vscode_controlled') && b:vscode_controlled + " make sure we disable syntax (global option seems doesn't take effect for 2nd+ windows) + setlocal syntax=off + endif +endfunction + +function! s:onInsertEnter() + let reg = reg_recording() + if !empty(reg) + call VSCodeExtensionCall('notify-recording', reg) + endif +endfunction + + +" Load altercmd first +execute 'source ' . s:currDir . '/vim-altercmd/plugin/altercmd.vim' +execute 'source ' . s:currDir . '/vscode-insert.vim' +execute 'source ' . s:currDir . '/vscode-scrolling.vim' +execute 'source ' . s:currDir . '/vscode-jumplist.vim' +execute 'source ' . s:currDir . '/vscode-code-actions.vim' +execute 'source ' . s:currDir . '/vscode-file-commands.vim' +execute 'source ' . s:currDir . '/vscode-tab-commands.vim' +execute 'source ' . s:currDir . '/vscode-window-commands.vim' +execute 'source ' . s:currDir . '/vscode-motion.vim' + +augroup VscodeGeneral + autocmd! + " autocmd BufWinEnter,WinNew,WinEnter * :only + autocmd BufWinEnter * call onBufEnter(expand(''), expand('')) + " Help and other buffer types may explicitly disable line numbers - reenable them, !important - set nowrap since it may be overriden and this option is crucial for now + " autocmd FileType * :setlocal conceallevel=0 | :setlocal number | :setlocal numberwidth=8 | :setlocal nowrap | :setlocal nofoldenable + autocmd InsertEnter * call onInsertEnter() + autocmd BufAdd * call runFileTypeDetection() + " Looks like external windows are coming with "set wrap" set automatically, disable them + " autocmd WinNew,WinEnter * :set nowrap +augroup END diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-options.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-options.vim new file mode 100644 index 00000000..6f40cc1b --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-options.vim @@ -0,0 +1,86 @@ +" This file used to force set neovim options which may break the extension. Loaded after user config + +scriptencoding utf-8 + +set shortmess=filnxtToOFI +set nowrap +set mouse=a +set cmdheight=1 +set wildmode=list +set wildchar= + +set nobackup +set nowb +set noswapfile +set noautoread +set scrolloff=100 +set conceallevel=0 +set nocursorline + +" do not hide buffers +" set nohidden +set hidden +set bufhidden=hide +" do not attempt autowrite any buffers +set noautowrite +" Disable shada session storing +" set shada= +" set nonumber +set norelativenumber +" Render line number as "marker" of the visible top/bottom screen row +set nonumber +" up to 10 000 000 +" set numberwidth=8 +" Need to know tabs for HL +set listchars=tab:❥♥ +set list +" Allow to use vim HL for external buffers, vscode buffers explicitly disable it +syntax on +set signcolumn=no + +" Disable statusline and ruler since we don't need them anyway +set statusline= +set laststatus=0 +set noruler + +" Disable modeline processing. It's being used for tab related settings usually and we don't want to override ours +set nomodeline +set modelines=0 + +" Turn off auto-folding +set nofoldenable +set foldmethod=manual + +" Turn on auto-indenting +set autoindent +set smartindent + +" split/nosplit doesn't work currently, see https://github.com/asvetliakov/vscode-neovim/issues/329 +set inccommand= + +" lazyredraw breaks the movement +set nolazyredraw + +function s:forceLocalOptions() + setlocal nowrap + setlocal conceallevel=0 + setlocal scrolloff=100 + setlocal hidden + setlocal bufhidden=hide + setlocal noautowrite + setlocal nonumber + setlocal norelativenumber + setlocal list + setlocal listchars=tab:❥♥ + if exists('b:vscode_controlled') && b:vscode_controlled + setlocal syntax=off + endif + setlocal nofoldenable + setlocal foldmethod=manual + setlocal nolazyredraw +endfunction + +augroup VscodeForceOptions + autocmd! + autocmd BufEnter,FileType * call forceLocalOptions() +augroup END diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-scrolling.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-scrolling.vim new file mode 100644 index 00000000..d351d319 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-scrolling.vim @@ -0,0 +1,46 @@ +function s:reveal(direction, resetCursor) + call VSCodeExtensionNotify('reveal', a:direction, a:resetCursor) +endfunction + +nnoremap z call reveal('top', 1) +xnoremap z call reveal('top', 1) +nnoremap zt call reveal('top', 0) +xnoremap zt call reveal('top', 0) +nnoremap z. call reveal('center', 1) +xnoremap z. call reveal('center', 1) +nnoremap zz call reveal('center', 0) +xnoremap zz call reveal('center', 0) +nnoremap z- call reveal('bottom', 1) +xnoremap z- call reveal('bottom', 1) +nnoremap zb call reveal('bottom', 0) +xnoremap zb call reveal('bottom', 0) + + +function s:moveCursor(to) + " Native VSCode commands don't register jumplist. Fix by registering jumplist in Vim e.g. for subsequent use of + normal! m' + call VSCodeExtensionNotify('move-cursor', a:to) +endfunction + +nnoremap H call moveCursor('top') +xnoremap H call moveCursor('top') +nnoremap M call moveCursor('middle') +xnoremap M call moveCursor('middle') +nnoremap L call moveCursor('bottom') +xnoremap L call moveCursor('bottom') + +" Disabled due to scroll problems (the ext binds them directly) +" nnoremap VSCodeExtensionCall('scroll', 'halfPage', 'down') +" xnoremap VSCodeExtensionCall('scroll', 'halfPage', 'down') +" nnoremap VSCodeExtensionCall('scroll', 'halfPage', 'up') +" xnoremap VSCodeExtensionCall('scroll', 'halfPage', 'up') + +" nnoremap VSCodeExtensionCall('scroll', 'page', 'down') +" xnoremap VSCodeExtensionCall('scroll', 'page', 'down') +" nnoremap VSCodeExtensionCall('scroll', 'page', 'up') +" xnoremap VSCodeExtensionCall('scroll', 'page', 'up') + +" nnoremap VSCodeExtensionNotify('scroll-line', 'down') +" xnoremap VSCodeExtensionNotify('scroll-line', 'down') +" nnoremap VSCodeExtensionNotify('scroll-line', 'up') +" xnoremap VSCodeExtensionNotify('scroll-line', 'up') diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-tab-commands.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-tab-commands.vim new file mode 100644 index 00000000..450c0066 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-tab-commands.vim @@ -0,0 +1,40 @@ +function! s:switchEditor(...) abort + let count = a:1 + let direction = a:2 + for i in range(1, count ? count : 1) + call VSCodeCall(direction ==# 'next' ? 'workbench.action.nextEditorInGroup' : 'workbench.action.previousEditorInGroup') + endfor +endfunction + +command! -complete=file -nargs=? Tabedit if empty() | call VSCodeNotify('workbench.action.quickOpen') | else | call VSCodeExtensionNotify('open-file', expand(), 0) | endif +command! -complete=file Tabnew call VSCodeExtensionNotify('open-file', '__vscode_new__', 0) +command! Tabfind call VSCodeNotify('workbench.action.quickOpen') +command! Tab echoerr 'Not supported' +command! Tabs echoerr 'Not supported' +command! -bang Tabclose if ==# '!' | call VSCodeNotify('workbench.action.revertAndCloseActiveEditor') | else | call VSCodeNotify('workbench.action.closeActiveEditor') | endif +command! Tabonly call VSCodeNotify('workbench.action.closeOtherEditors') +command! -nargs=? Tabnext call switchEditor(, 'next') +command! -nargs=? Tabprevious call switchEditor(, 'prev') +command! Tabfirst call VSCodeNotify('workbench.action.firstEditorInGroup') +command! Tablast call VSCodeNotify('workbench.action.lastEditorInGroup') +command! Tabrewind call VSCodeNotify('workbench.action.firstEditorInGroup') +command! -nargs=? Tabmove echoerr 'Not supported yet' + +AlterCommand tabe[dit] Tabedit +AlterCommand tabnew Tabnew +AlterCommand tabf[ind] Tabfind +AlterCommand tab Tab +AlterCommand tabs Tabs +AlterCommand tabc[lose] Tabclose +AlterCommand tabo[nly] Tabonly +AlterCommand tabn[ext] Tabnext +AlterCommand tabp[revious] Tabprevious +AlterCommand tabr[ewind] Tabrewind +AlterCommand tabfir[st] Tabfirst +AlterCommand tabl[ast] Tablast +AlterCommand tabm[ove] Tabmove + +nnoremap gt call switchEditor(v:count, 'next') +xnoremap gt call switchEditor(v:count, 'next') +nnoremap gT call switchEditor(v:count, 'prev') +xnoremap gT call switchEditor(v:count, 'prev') diff --git a/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-window-commands.vim b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-window-commands.vim new file mode 100644 index 00000000..eb816bf5 --- /dev/null +++ b/.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-window-commands.vim @@ -0,0 +1,158 @@ + +function! s:split(...) abort + let direction = a:1 + let file = exists('a:2') ? a:2 : '' + call VSCodeCall(direction ==# 'h' ? 'workbench.action.splitEditorDown' : 'workbench.action.splitEditorRight') + if !empty(file) + call VSCodeExtensionNotify('open-file', expand(file), 'all') + endif +endfunction + +function! s:splitNew(...) + let file = a:2 + call s:split(a:1, empty(file) ? '__vscode_new__' : file) +endfunction + +function! s:closeOtherEditors() + call VSCodeNotify('workbench.action.closeEditorsInOtherGroups') + call VSCodeNotify('workbench.action.closeOtherEditors') +endfunction + +function! s:manageEditorHeight(...) + let count = a:1 + let to = a:2 + for i in range(1, count ? count : 1) + call VSCodeNotify(to ==# 'increase' ? 'workbench.action.increaseViewHeight' : 'workbench.action.decreaseViewHeight') + endfor +endfunction + +function! s:manageEditorWidth(...) + let count = a:1 + let to = a:2 + for i in range(1, count ? count : 1) + call VSCodeNotify(to ==# 'increase' ? 'workbench.action.increaseViewWidth' : 'workbench.action.decreaseViewWidth') + endfor +endfunction + +command! -complete=file -nargs=? Split call split('h', ) +command! -complete=file -nargs=? Vsplit call split('v', ) +command! -complete=file -nargs=? New call split('h', '__vscode_new__') +command! -complete=file -nargs=? Vnew call split('v', '__vscode_new__') +command! -bang Only if ==# '!' | call closeOtherEditors() | else | call VSCodeNotify('workbench.action.joinAllGroups') | endif + +AlterCommand sp[lit] Split +AlterCommand vs[plit] Vsplit +AlterCommand new New +AlterCommand vne[w] Vnew +AlterCommand on[ly] Only + +" buffer management +nnoremap n call splitNew('h', '__vscode_new__') +xnoremap n call splitNew('h', '__vscode_new__') + +nnoremap q call VSCodeNotify('workbench.action.closeActiveEditor') +xnoremap q call VSCodeNotify('workbench.action.closeActiveEditor') +nnoremap c call VSCodeNotify('workbench.action.closeActiveEditor') +xnoremap c call VSCodeNotify('workbench.action.closeActiveEditor') +nnoremap call VSCodeNotify('workbench.action.closeActiveEditor') +xnoremap call VSCodeNotify('workbench.action.closeActiveEditor') + +" window/splits management +nnoremap s call split('h') +xnoremap s call split('h') +nnoremap call split('h') +xnoremap call split('h') + +nnoremap v call split('v') +xnoremap v call split('v') +nnoremap call split('v') +xnoremap call split('v') + +nnoremap = call VSCodeNotify('workbench.action.evenEditorWidths') +xnoremap = call VSCodeNotify('workbench.action.evenEditorWidths') +nnoremap _ call VSCodeNotify('workbench.action.toggleEditorWidths') +xnoremap _ call VSCodeNotify('workbench.action.toggleEditorWidths') + +nnoremap + call manageEditorHeight(v:count, 'increase') +xnoremap + call manageEditorHeight(v:count, 'increase') +nnoremap - call manageEditorHeight(v:count, 'decrease') +xnoremap - call manageEditorHeight(v:count, 'decrease') +nnoremap > call manageEditorWidth(v:count, 'increase') +xnoremap > call manageEditorWidth(v:count, 'increase') +nnoremap < call manageEditorWidth(v:count, 'decrease') +xnoremap < call manageEditorWidth(v:count, 'decrease') + +nnoremap o call VSCodeNotify('workbench.action.joinAllGroups') +xnoremap o call VSCodeNotify('workbench.action.joinAllGroups') +nnoremap call VSCodeNotify('workbench.action.joinAllGroups') +xnoremap call VSCodeNotify('workbench.action.joinAllGroups') + +" window navigation +nnoremap j call VSCodeNotify('workbench.action.focusBelowGroup') +xnoremap j call VSCodeNotify('workbench.action.focusBelowGroup') +nnoremap k call VSCodeNotify('workbench.action.focusAboveGroup') +xnoremap k call VSCodeNotify('workbench.action.focusAboveGroup') +nnoremap h call VSCodeNotify('workbench.action.focusLeftGroup') +xnoremap h call VSCodeNotify('workbench.action.focusLeftGroup') +nnoremap l call VSCodeNotify('workbench.action.focusRightGroup') +xnoremap l call VSCodeNotify('workbench.action.focusRightGroup') + +nnoremap call VSCodeNotify('workbench.action.focusBelowGroup') +xnoremap call VSCodeNotify('workbench.action.focusBelowGroup') +nnoremap call VSCodeNotify('workbench.action.focusAboveGroup') +xnoremap call VSCodeNotify('workbench.action.focusAboveGroup') +nnoremap call VSCodeNotify('workbench.action.focusLeftGroup') +xnoremap call VSCodeNotify('workbench.action.focusLeftGroup') +nnoremap call VSCodeNotify('workbench.action.focusRightGroup') +xnoremap call VSCodeNotify('workbench.action.focusRightGroup') + +nnoremap call VSCodeNotify('workbench.action.moveEditorToBelowGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToBelowGroup') +nnoremap call VSCodeNotify('workbench.action.moveEditorToAboveGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToAboveGroup') +nnoremap call VSCodeNotify('workbench.action.moveEditorToLeftGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToLeftGroup') +nnoremap call VSCodeNotify('workbench.action.moveEditorToRightGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToRightGroup') + +nnoremap call VSCodeNotify('workbench.action.moveEditorToBelowGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToBelowGroup') +nnoremap call VSCodeNotify('workbench.action.moveEditorToAboveGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToAboveGroup') +nnoremap call VSCodeNotify('workbench.action.moveEditorToLeftGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToLeftGroup') +nnoremap call VSCodeNotify('workbench.action.moveEditorToRightGroup') +xnoremap call VSCodeNotify('workbench.action.moveEditorToRightGroup') + +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupDown') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupDown') +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupUp') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupUp') +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft') +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupRight') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupRight') + +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupDown') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupDown') +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupUp') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupUp') +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft') +nnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupRight') +xnoremap call VSCodeNotify('workbench.action.moveActiveEditorGroupRight') + +nnoremap w call VSCodeNotify('workbench.action.focusNextGroup') +xnoremap w call VSCodeNotify('workbench.action.focusNextGroup') +nnoremap call VSCodeNotify('workbench.action.focusNextGroup') +xnoremap call VSCodeNotify('workbench.action.focusNextGroup') +nnoremap W call VSCodeNotify('workbench.action.focusPreviousGroup') +xnoremap W call VSCodeNotify('workbench.action.focusPreviousGroup') +nnoremap p call VSCodeNotify('workbench.action.focusPreviousGroup') +xnoremap p call VSCodeNotify('workbench.action.focusPreviousGroup') + +nnoremap t call VSCodeNotify('workbench.action.focusFirstEditorGroup') +xnoremap t call VSCodeNotify('workbench.action.focusFirstEditorGroup') +nnoremap b call VSCodeNotify('workbench.action.focusLastEditorGroup') +xnoremap b call VSCodeNotify('workbench.action.focusLastEditorGroup') + diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/.vsixmanifest b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/.vsixmanifest new file mode 100644 index 00000000..889145e7 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + Bracket Pair Colorizer 2 + A customizable extension for colorizing matching brackets + bracket,brackets,pair,color,colour,multi-root ready + Other + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.md + extension/images/icon.png + + + + + + + + + + diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/CHANGELOG.md b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/CHANGELOG.md new file mode 100644 index 00000000..c721bcc3 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/CHANGELOG.md @@ -0,0 +1,140 @@ + +--- + +Note: +This extension is unmaintained, check out these similar alternatives: +- [Highlight Matching Tag](https://marketplace.visualstudio.com/items?itemName=vincaslt.highlight-matching-tag) +- [Blockman](https://marketplace.visualstudio.com/items?itemName=leodevbro.blockman) + +--- + +## Release Notes + +### 0.2.1 +Change activation event to `onStartupFinished` for better performance + +### 0.1.5 + +Remove logging + +### 0.1.3 + +Work with VSCode v1.45.0 + +### 0.0.29 + +Allow extension to work with remove development + +### 0.0.28 + +Fix background opacity + +### 0.0.27 + +Support VSCode Theme Colors (except in gutters) + +e.g. + +``` +"bracket-pair-colorizer-2.scopeLineCSS": [ + "borderStyle : dotted", + "borderWidth : 1px", + "borderColor : activityBarBadge.background", + ] +``` + +### 0.0.26 + +Support new extensions being installed without reload + +### 0.0.25 + +Fix regex to search for longest match first + +### 0.0.24 + +Fix extension creating a regex that matches everything if no brackets were defined + +### 0.0.23 + +Remove matching `<>` for all languages because too many false positives + +### 0.0.22 + +Ensure that an extension that contributes brackets also contributes a grammar + +### 0.0.21 + +Add unmatched bracket coloring +Restore option to use independent color groups + +### 0.0.20 + +Support reading language configuration json files with comments + +### 0.0.19 + +Restore only matching bracket scopes when inside of the scope + +### 0.0.18 + +Be more aggresive with recoloring to prevent mismatches + +### 0.0.17 + +Fix coloring offset being wrong following a string/comment/regex + +### 0.0.16 + +Fix nested coloring being broken + +### 0.0.13 + +Leverage VSCode for automagical bracket support + +### 0.0.12 + +Fix colors sometimes being incorrect after text replacement [#3](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/issues/3) + +### 0.0.11 + +Fix colors sometimes being incorrect after text replacement [#2](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/issues/2) + +### 0.0.10 + +JSON with comments support +Go support +Fix colors sometimes being incorrect after text replacement + +### 0.0.9 + +C# support hotfix + +### 0.0.8 + +Fix gutter icons showing only closing brackets + +### 0.0.7 + +Clojure support hotfix + +### 0.0.6 + +Clojure support + +### 0.0.5 + +PHP support +Fix switch statements breaking Typescript brackets + +### 0.0.4 + +PowerShell support + +### 0.0.3 + +Fix loading languages where file extension differs from language id + +### 0.0.1 + +Initial release diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/LICENSE.md b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/LICENSE.md new file mode 100644 index 00000000..a8fc8514 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/README.md b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/README.md new file mode 100644 index 00000000..71970327 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/README.md @@ -0,0 +1,130 @@ + +--- + +Note: +This extension is unmaintained, check out these similar alternatives: +- [Highlight Matching Tag](https://marketplace.visualstudio.com/items?itemName=vincaslt.highlight-matching-tag) +- [Blockman](https://marketplace.visualstudio.com/items?itemName=leodevbro.blockman) + +--- + +# Bracket Pair Colorizer 2 + +This extension allows matching brackets to be identified with colours. The user can define which tokens to match, and which colours to use. + +Screenshot: +![Screenshot](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/example.png "Bracket Pair Colorizer") + +--- + +### F.A.Q. + +- Differences between v1 and v2? + - v2 Uses the same bracket parsing engine as VSCode, greatly increasing speed and accuracy. A new version was released because settings were cleaned up, breaking backwards compatibility. + +--- + +### [Release Notes](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/blob/HEAD/CHANGELOG.md) + +--- + +## Settings + +> `"bracket-pair-colorizer-2.colors"` +Define the colors used to colorize brackets. Accepts valid color names, hex codes, and `rgba()` values. +```json +"bracket-pair-colorizer-2.colors": [ + "Gold", + "Orchid", + "LightSkyBlue" +] +``` + +> `"bracket-pair-colorizer-2.forceUniqueOpeningColor"` +![Disabled](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/forceUniqueOpeningColorDisabled.png "forceUniqueOpeningColor Disabled") +![Enabled](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/forceUniqueOpeningColorEnabled.png "forceUniqueOpeningColor Enabled") + +> `"bracket-pair-colorizer-2.forceIterationColorCycle"` +![Enabled](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/forceIterationColorCycleEnabled.png "forceIterationColorCycle Enabled") + +>`"bracket-pair-colorizer-2.colorMode"` +Consecutive brackets share a color pool for all bracket types +Independent brackets allow each bracket type to use its own color pool +![Consecutive](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/consecutiveExample.png "Consecutive Example") +![Independent](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/independentExample.png "Independent Example") + +> `"bracket-pair-colorizer-2.highlightActiveScope"` +Should the currently scoped brackets always be highlighted? + +> `"bracket-pair-colorizer-2.activeScopeCSS"` +Choose a border style to highlight the active scope. Use `{color}` to match the existing bracket color +It is recommended to disable the inbuilt `editor.matchBrackets` setting if using this feature +![BorderStyle](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/activeScopeBorder.png "Active Scope Border Example") + +```json +"bracket-pair-colorizer-2.activeScopeCSS": [ + "borderStyle : solid", + "borderWidth : 1px", + "borderColor : {color}", + "opacity: 0.5" +] +``` + +> `"bracket-pair-colorizer-2.showBracketsInGutter"` +> Show active scope brackets in the gutter +![Gutter](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/gutter.png "Gutter Brackets Example") + +> `"bracket-pair-colorizer-2.showBracketsInRuler"` +> Show active scope brackets in the ruler + +> `"bracket-pair-colorizer-2.rulerPosition"` +> Decoration position in the ruler + +>`"bracket-pair-colorizer-2.showVerticalScopeLine"` +Show a vertical line between the brackets? Enabled by default +![Scope Line](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/no-extra.png "Gutter Brackets Example") + +>`"bracket-pair-colorizer-2.showHorizontalScopeLine"` +Show a horizontal line between the brackets? Enabled by default +![Scope Line](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/extra.png "Gutter Brackets Example") + +>`"bracket-pair-colorizer-2.scopeLineRelativePosition"` +Disable this to show the vertical line in column 0 +![Scope Line](https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/raw/HEAD/images/no-relative.png "Gutter Brackets Example") + +>`"bracket-pair-colorizer-2.scopeLineCSS"` +Choose a border style to highlight the active scope. Use `{color}` to match the existing bracket color + +```json +"bracket-pair-colorizer-2.scopeLineCSS": [ + "borderStyle : solid", + "borderWidth : 1px", + "borderColor : {color}", + "opacity: 0.5" +] +``` + +>`"bracket-pair-colorizer-2.excludedLanguages"` +Exclude a language from being colorized + +### Commands + +These commands will expand/undo the cursor selection to the next scope + +`"bracket-pair-colorizer-2.expandBracketSelection"` +`"bracket-pair-colorizer-2.undoBracketSelection"` + +Quick-start: + +``` +{ + "key": "shift+alt+right", + "command": "bracket-pair-colorizer-2.expandBracketSelection", + "when": "editorTextFocus" +}, +{ + "key": "shift+alt+left", + "command": "bracket-pair-colorizer-2.undoBracketSelection", + "when": "editorTextFocus" +} +``` diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/activeScopeBackground.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/activeScopeBackground.png new file mode 100644 index 00000000..8fa93280 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/activeScopeBackground.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/activeScopeBorder.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/activeScopeBorder.png new file mode 100644 index 00000000..246f44fc Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/activeScopeBorder.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/consecutiveExample.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/consecutiveExample.png new file mode 100644 index 00000000..c36c0873 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/consecutiveExample.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/example.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/example.png new file mode 100644 index 00000000..24044eb0 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/example.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/extra.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/extra.png new file mode 100644 index 00000000..10c83575 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/extra.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceIterationColorCycleEnabled.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceIterationColorCycleEnabled.png new file mode 100644 index 00000000..8a455324 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceIterationColorCycleEnabled.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceUniqueOpeningColorDisabled.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceUniqueOpeningColorDisabled.png new file mode 100644 index 00000000..08a57f26 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceUniqueOpeningColorDisabled.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceUniqueOpeningColorEnabled.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceUniqueOpeningColorEnabled.png new file mode 100644 index 00000000..afdec0fe Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/forceUniqueOpeningColorEnabled.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/gutter.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/gutter.png new file mode 100644 index 00000000..8fb677bd Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/gutter.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/icon.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/icon.png new file mode 100644 index 00000000..5e97a1ef Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/icon.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/icon.svg b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/icon.svg new file mode 100644 index 00000000..da392e4b --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/icon.svg @@ -0,0 +1,109 @@ + + + + + + + image/svg+xml + + + + + + + + + + + ( + ( + ( + + + ) + ) + ) + + + diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/independentExample.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/independentExample.png new file mode 100644 index 00000000..2ea9cfb6 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/independentExample.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/inspect_scopes.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/inspect_scopes.png new file mode 100644 index 00000000..03b70c49 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/inspect_scopes.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/inspect_token_java_start.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/inspect_token_java_start.png new file mode 100644 index 00000000..846faf80 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/inspect_token_java_start.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/no-extra.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/no-extra.png new file mode 100644 index 00000000..24155e03 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/no-extra.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/no-relative.png b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/no-relative.png new file mode 100644 index 00000000..06d3ce23 Binary files /dev/null and b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/images/no-relative.png differ diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/IBracketManager.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/IBracketManager.js new file mode 100644 index 00000000..d32a3132 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/IBracketManager.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IBracketManager.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/IExtensionGrammar.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/IExtensionGrammar.js new file mode 100644 index 00000000..05dfd766 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/IExtensionGrammar.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IExtensionGrammar.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracket.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracket.js new file mode 100644 index 00000000..225519de --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracket.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Bracket { + constructor(token, color) { + this.token = token; + this.color = color; + } +} +exports.default = Bracket; +//# sourceMappingURL=bracket.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracketClose.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracketClose.js new file mode 100644 index 00000000..5c0ea911 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracketClose.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const bracket_1 = require("./bracket"); +class BracketClose extends bracket_1.default { + constructor(token, openBracket) { + super(token, openBracket.color); + this.openBracket = openBracket; + } +} +exports.default = BracketClose; +//# sourceMappingURL=bracketClose.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracketUtil.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracketUtil.js new file mode 100644 index 00000000..fe6c93a9 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/bracketUtil.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getRegexForBrackets = void 0; +function getRegexForBrackets(input) { + const longestFirst = input.sort((a, b) => (b.open.length + b.close.length) - (a.open.length + a.close.length)); + const pieces = []; + longestFirst.forEach((b) => { + pieces.push(b.open); + pieces.push(b.close); + }); + return createBracketOrRegExp(pieces); +} +exports.getRegexForBrackets = getRegexForBrackets; +function createBracketOrRegExp(pieces) { + const regexStr = `(${pieces.map(prepareBracketForRegExp).join(")|(")})`; + return createRegExp(regexStr, true, { global: true }); +} +function prepareBracketForRegExp(str) { + // This bracket pair uses letters like e.g. "begin" - "end" + const insertWordBoundaries = (/^[\w]+$/.test(str)); + str = escapeRegExpCharacters(str); + return (insertWordBoundaries ? `\\b${str}\\b` : str); +} +function escapeRegExpCharacters(value) { + return value.replace(/[\-\\\{\}\*\+\?\|\^\$\.\[\]\(\)\#]/g, "\\$&"); +} +function createRegExp(searchString, isRegex, options = {}) { + if (!searchString) { + throw new Error("Cannot create regex from empty string"); + } + if (!isRegex) { + searchString = escapeRegExpCharacters(searchString); + } + if (options.wholeWord) { + if (!/\B/.test(searchString.charAt(0))) { + searchString = "\\b" + searchString; + } + if (!/\B/.test(searchString.charAt(searchString.length - 1))) { + searchString = searchString + "\\b"; + } + } + let modifiers = ""; + if (options.global) { + modifiers += "g"; + } + if (!options.matchCase) { + modifiers += "i"; + } + if (options.multiline) { + modifiers += "m"; + } + return new RegExp(searchString, modifiers); +} +//# sourceMappingURL=bracketUtil.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/colorMode.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/colorMode.js new file mode 100644 index 00000000..a094230a --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/colorMode.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var ColorMode; +(function (ColorMode) { + ColorMode[ColorMode["Consecutive"] = 0] = "Consecutive"; + ColorMode[ColorMode["Independent"] = 1] = "Independent"; +})(ColorMode || (ColorMode = {})); +exports.default = ColorMode; +//# sourceMappingURL=colorMode.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/definitionAfterInheritance.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/definitionAfterInheritance.js new file mode 100644 index 00000000..65bc9052 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/definitionAfterInheritance.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class DefinitionAfterInheritance { + constructor(language, scopes) { + this.language = language; + this.scopes = scopes; + } +} +exports.default = DefinitionAfterInheritance; +//# sourceMappingURL=definitionAfterInheritance.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/documentDecoration.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/documentDecoration.js new file mode 100644 index 00000000..74e2dc64 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/documentDecoration.js @@ -0,0 +1,382 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +const lineState_1 = require("./lineState"); +const textLine_1 = require("./textLine"); +const vscodeFiles_1 = require("./vscodeFiles"); +class DocumentDecoration { + constructor(document, config, settings) { + // This program caches lines, and will only analyze linenumbers including or above a modified line + this.lines = []; + this.scopeDecorations = []; + this.scopeSelectionHistory = []; + this.settings = settings; + this.document = document; + this.languageConfig = config; + } + dispose() { + this.disposeScopeDecorations(); + } + onDidChangeTextDocument(contentChanges) { + if (contentChanges.length > 1 || !contentChanges[0].range.isSingleLine || contentChanges[0].text.length > 1) { + let minLineIndexToUpdate = 0; + for (const contentChange of contentChanges) { + minLineIndexToUpdate = Math.min(minLineIndexToUpdate, contentChange.range.start.line); + } + if (minLineIndexToUpdate === 0) { + this.lines = []; + } + else { + this.lines.splice(minLineIndexToUpdate); + } + this.tokenizeDocument(); + return; + } + const change = contentChanges[0]; + const lineNumber = change.range.start.line; + // Parse overlapped lines with goal to see if we can avoid document reparse + // By just moving existing brackets if the amount of brackets on a line didn't change + const newLine = this.tokenizeLine(lineNumber); + const currentLine = this.lines[lineNumber]; + // Current line has new brackets which need to be colored + if (!currentLine.getRuleStack().equals(newLine.getRuleStack()) || + currentLine.getBracketHash() !== newLine.getBracketHash()) { + this.lines[lineNumber] = newLine; + this.lines.splice(lineNumber + 1); + this.tokenizeDocument(); + return; + } + const charOffset = change.text.length - change.rangeLength; + currentLine.offset(change.range.start.character, charOffset); + } + expandBracketSelection(editor) { + const newSelections = []; + editor.selections.forEach((selection) => { + if (this.scopeSelectionHistory.length === 0) { + this.scopeSelectionHistory.push(editor.selections); + } + const nextPos = this.document.validatePosition(selection.active.translate(0, 1)); + const endBracket = this.searchScopeForwards(nextPos); + if (!endBracket) { + return; + } + const start = endBracket.openBracket.token.range.start.translate(0, 1); + const end = endBracket.token.range.end.translate(0, -1); + newSelections.push(new vscode.Selection(start, end)); + }); + if (newSelections.length > 0) { + this.scopeSelectionHistory.push(newSelections); + editor.selections = newSelections; + } + } + undoBracketSelection(editor) { + this.scopeSelectionHistory.pop(); + if (this.scopeSelectionHistory.length === 0) { + return; + } + const scopes = this.scopeSelectionHistory[this.scopeSelectionHistory.length - 1]; + editor.selections = scopes; + } + // Lines are stored in an array, if line is requested outside of array bounds + // add emptys lines until array is correctly sized + getLine(index, state) { + if (index < this.lines.length) { + return this.lines[index]; + } + else { + if (this.lines.length === 0) { + this.lines.push(new textLine_1.default(state, new lineState_1.default(this.settings, this.languageConfig), 0)); + } + if (index < this.lines.length) { + return this.lines[index]; + } + if (index === this.lines.length) { + const previousLine = this.lines[this.lines.length - 1]; + const newLine = new textLine_1.default(state, previousLine.cloneState(), index); + this.lines.push(newLine); + return newLine; + } + throw new Error("Cannot look more than one line ahead"); + } + } + tokenizeDocument() { + // console.log("Tokenizing " + this.document.fileName); + // One document may be shared by multiple editors (side by side view) + const editors = vscode.window.visibleTextEditors.filter((e) => this.document === e.document); + if (editors.length === 0) { + // console.warn("No editors associated with document: " + this.document.fileName); + return; + } + // console.time("tokenizeDocument"); + const lineIndex = this.lines.length; + const lineCount = this.document.lineCount; + if (lineIndex < lineCount) { + // console.log("Reparse from line: " + (lineIndex + 1)); + for (let i = lineIndex; i < lineCount; i++) { + const newLine = this.tokenizeLine(i); + this.lines.push(newLine); + } + } + // console.log("Coloring document"); + this.colorDecorations(editors); + // console.timeEnd("tokenizeDocument"); + } + updateScopeDecorations(event) { + // console.time("updateScopeDecorations"); + this.disposeScopeDecorations(); + // For performance reasons we only do one selection for now. + // Simply wrap in foreach selection for multicursor, maybe put it behind an option? + const selection = event.textEditor.selection; + const closeBracket = this.searchScopeForwards(selection.active); + if (!closeBracket) { + return; + } + const openBracket = closeBracket.openBracket; + const beginRange = openBracket.token.range; + const endRange = closeBracket.token.range; + const startLineIndex = openBracket.token.range.start.line; + const endLineIndex = closeBracket.token.range.start.line; + if (this.settings.highlightActiveScope) { + const decoration = this.settings.createScopeBracketDecorations(closeBracket.color); + event.textEditor.setDecorations(decoration, [beginRange, endRange]); + this.scopeDecorations.push(decoration); + } + if (this.settings.showBracketsInGutter) { + if (startLineIndex === endLineIndex) { + const decoration = this.settings.createGutterBracketDecorations(closeBracket.color, openBracket.token.character + closeBracket.token.character); + event.textEditor.setDecorations(decoration, [beginRange, endRange]); + this.scopeDecorations.push(decoration); + } + else { + const decorationOpen = this.settings.createGutterBracketDecorations(openBracket.color, openBracket.token.character); + event.textEditor.setDecorations(decorationOpen, [beginRange]); + this.scopeDecorations.push(decorationOpen); + const decorationClose = this.settings.createGutterBracketDecorations(closeBracket.color, closeBracket.token.character); + event.textEditor.setDecorations(decorationClose, [endRange]); + this.scopeDecorations.push(decorationClose); + } + } + if (this.settings.showBracketsInRuler) { + const decoration = this.settings.createRulerBracketDecorations(closeBracket.color); + event.textEditor.setDecorations(decoration, [beginRange, endRange]); + this.scopeDecorations.push(decoration); + } + const lastWhiteSpaceCharacterIndex = this.document.lineAt(endRange.start).firstNonWhitespaceCharacterIndex; + const lastBracketStartIndex = endRange.start.character; + const lastBracketIsFirstCharacterOnLine = lastWhiteSpaceCharacterIndex === lastBracketStartIndex; + let leftBorderColumn = Infinity; + const tabSize = event.textEditor.options.tabSize; + const position = this.settings.scopeLineRelativePosition ? + Math.min(endRange.start.character, beginRange.start.character) : 0; + let leftBorderIndex = position; + const start = beginRange.start.line + 1; + const end = endRange.start.line; + // Start -1 because prefer draw line at current indent level + for (let lineIndex = start - 1; lineIndex <= end; lineIndex++) { + const line = this.document.lineAt(lineIndex); + if (!line.isEmptyOrWhitespace) { + const firstCharIndex = line.firstNonWhitespaceCharacterIndex; + leftBorderIndex = Math.min(leftBorderIndex, firstCharIndex); + leftBorderColumn = Math.min(leftBorderColumn, this.calculateColumnFromCharIndex(line.text, firstCharIndex, tabSize)); + } + } + if (this.settings.showVerticalScopeLine) { + const verticalLineRanges = []; + const endOffset = lastBracketIsFirstCharacterOnLine ? end - 1 : end; + for (let lineIndex = start; lineIndex <= endOffset; lineIndex++) { + const line = this.document.lineAt(lineIndex); + const linePosition = new vscode.Position(lineIndex, this.calculateCharIndexFromColumn(line.text, leftBorderColumn, tabSize)); + const range = new vscode.Range(linePosition, linePosition); + const valid = line.text.length >= leftBorderIndex; + verticalLineRanges.push({ range, valid }); + } + const safeFallbackPosition = new vscode.Position(start - 1, leftBorderIndex); + this.setVerticalLineDecoration(closeBracket, event, safeFallbackPosition, verticalLineRanges); + } + if (this.settings.showHorizontalScopeLine) { + const underlineLineRanges = []; + const overlineLineRanges = []; + if (startLineIndex === endLineIndex) { + underlineLineRanges.push(new vscode.Range(beginRange.start, endRange.end)); + } + else { + const startTextLine = this.document.lineAt(startLineIndex); + const endTextLine = this.document.lineAt(endLineIndex); + const leftStartPos = new vscode.Position(beginRange.start.line, this.calculateCharIndexFromColumn(startTextLine.text, leftBorderColumn, tabSize)); + const leftEndPos = new vscode.Position(endRange.start.line, this.calculateCharIndexFromColumn(endTextLine.text, leftBorderColumn, tabSize)); + underlineLineRanges.push(new vscode.Range(leftStartPos, beginRange.end)); + if (lastBracketIsFirstCharacterOnLine) { + overlineLineRanges.push(new vscode.Range(leftEndPos, endRange.end)); + } + else { + underlineLineRanges.push(new vscode.Range(leftEndPos, endRange.end)); + } + } + if (underlineLineRanges) { + this.setUnderLineDecoration(closeBracket, event, underlineLineRanges); + } + if (overlineLineRanges) { + this.setOverLineDecoration(closeBracket, event, overlineLineRanges); + } + } + // console.timeEnd("updateScopeDecorations"); + } + tokenizeLine(index) { + const newText = this.document.lineAt(index).text; + const previousLineRuleStack = index > 0 ? + this.lines[index - 1].getRuleStack() : + undefined; + const previousLineState = index > 0 ? + this.lines[index - 1].cloneState() : + new lineState_1.default(this.settings, this.languageConfig); + const tokenized = this.languageConfig.grammar.tokenizeLine2(newText, previousLineRuleStack); + const tokens = tokenized.tokens; + const lineTokens = new vscodeFiles_1.LineTokens(tokens, newText); + const matches = new Array(); + const count = lineTokens.getCount(); + for (let i = 0; i < count; i++) { + const tokenType = lineTokens.getStandardTokenType(i); + if (!vscodeFiles_1.ignoreBracketsInToken(tokenType)) { + const searchStartOffset = tokens[i * 2]; + const searchEndOffset = i < count ? tokens[(i + 1) * 2] : newText.length; + const currentTokenText = newText.substring(searchStartOffset, searchEndOffset); + let result; + // tslint:disable-next-line:no-conditional-assignment + while ((result = this.languageConfig.regex.exec(currentTokenText)) !== null) { + matches.push({ content: result[0], index: result.index + searchStartOffset }); + } + } + } + const newLine = new textLine_1.default(tokenized.ruleStack, previousLineState, index); + for (const match of matches) { + const lookup = this.languageConfig.bracketToId.get(match.content); + if (lookup) { + newLine.AddToken(match.content, match.index, lookup.key, lookup.open); + } + } + return newLine; + } + setOverLineDecoration(bracket, event, overlineLineRanges) { + const lineDecoration = this.settings.createScopeLineDecorations(bracket.color, true, false, false, false); + event.textEditor.setDecorations(lineDecoration, overlineLineRanges); + this.scopeDecorations.push(lineDecoration); + } + setUnderLineDecoration(bracket, event, underlineLineRanges) { + const lineDecoration = this.settings.createScopeLineDecorations(bracket.color, false, false, true, false); + event.textEditor.setDecorations(lineDecoration, underlineLineRanges); + this.scopeDecorations.push(lineDecoration); + } + setVerticalLineDecoration(bracket, event, fallBackPosition, verticalLineRanges) { + const offsets = []; + const normalDecoration = this.settings.createScopeLineDecorations(bracket.color, false, false, false, true); + if (verticalLineRanges.length === 0) { + return; + } + const normalRanges = verticalLineRanges.filter((e) => e.valid).map((e) => e.range); + // Get first valid range, if non fall-back to opening position + let aboveValidRange = new vscode.Range(fallBackPosition, fallBackPosition); + for (const lineRange of verticalLineRanges) { + if (lineRange.valid) { + aboveValidRange = lineRange.range; + break; + } + } + /* Keep updating last valid range to keep offset distance minimum + to prevent missing decorations when scrolling */ + for (const lineRange of verticalLineRanges) { + if (lineRange.valid) { + aboveValidRange = lineRange.range; + } + else { + const offset = lineRange.range.start.line - aboveValidRange.start.line; + offsets.push({ range: aboveValidRange, downOffset: offset }); + } + } + event.textEditor.setDecorations(normalDecoration, normalRanges); + this.scopeDecorations.push(normalDecoration); + offsets.forEach((offset) => { + const decoration = this.settings.createScopeLineDecorations(bracket.color, false, false, false, true, offset.downOffset); + event.textEditor.setDecorations(decoration, [offset.range]); + this.scopeDecorations.push(decoration); + }); + } + disposeScopeDecorations() { + for (const decoration of this.scopeDecorations) { + decoration.dispose(); + } + this.scopeDecorations = []; + } + searchScopeForwards(position) { + for (let i = position.line; i < this.lines.length; i++) { + const endBracket = this.lines[i].getClosingBracket(position); + if (endBracket) { + return endBracket; + } + } + } + colorDecorations(editors) { + // console.time("colorDecorations"); + const colorMap = new Map(); + // Reduce all the colors/ranges of the lines into a singular map + for (const line of this.lines) { + { + const brackets = line.getAllBrackets(); + for (const bracket of brackets) { + const existingRanges = colorMap.get(bracket.color); + if (existingRanges !== undefined) { + existingRanges.push(bracket.token.range); + } + else { + colorMap.set(bracket.color, [bracket.token.range]); + } + } + } + } + for (const [color, decoration] of this.settings.bracketDecorations) { + if (color === "") { + continue; + } + const ranges = colorMap.get(color); + for (const editor of editors) { + if (ranges !== undefined) { + editor.setDecorations(decoration, ranges); + } + else { + // We must set non-used colors to an empty array + // or previous decorations will not be invalidated + editor.setDecorations(decoration, []); + } + } + } + // console.timeEnd("colorDecorations"); + } + calculateColumnFromCharIndex(lineText, charIndex, tabSize) { + let spacing = 0; + for (let index = 0; index < charIndex; index++) { + if (lineText.charAt(index) === "\t") { + spacing += tabSize - spacing % tabSize; + } + else { + spacing++; + } + } + return spacing; + } + calculateCharIndexFromColumn(lineText, column, tabSize) { + let spacing = 0; + for (let index = 0; index <= column; index++) { + if (spacing >= column) { + return index; + } + if (lineText.charAt(index) === "\t") { + spacing += tabSize - spacing % tabSize; + } + else { + spacing++; + } + } + return spacing; + } +} +exports.default = DocumentDecoration; +//# sourceMappingURL=documentDecoration.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/documentDecorationManager.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/documentDecorationManager.js new file mode 100644 index 00000000..e426a60e --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/documentDecorationManager.js @@ -0,0 +1,135 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const documentDecoration_1 = require("./documentDecoration"); +const settings_1 = require("./settings"); +class DocumentDecorationManager { + constructor() { + this.documents = new Map(); + this.settings = new settings_1.default(); + } + Dispose() { + this.documents.forEach((document, key) => { + document.dispose(); + }); + this.settings.dispose(); + } + expandBracketSelection(editor) { + const documentDecoration = this.getDocumentDecorations(editor.document); + if (documentDecoration) { + documentDecoration.expandBracketSelection(editor); + } + } + undoBracketSelection(editor) { + const documentDecoration = this.getDocumentDecorations(editor.document); + if (documentDecoration) { + documentDecoration.undoBracketSelection(editor); + } + } + updateDocument(document) { + // console.log("updateDocument"); + const documentDecoration = this.getDocumentDecorations(document); + if (documentDecoration) { + documentDecoration.tokenizeDocument(); + } + } + onDidOpenTextDocument(document) { + // console.log("onDidOpenTextDocument"); + const documentDecoration = this.getDocumentDecorations(document); + if (documentDecoration) { + documentDecoration.tokenizeDocument(); + } + } + onDidChangeTextDocument(event) { + // console.log("onDidChangeTextDocument"); + const documentDecoration = this.getDocumentDecorations(event.document); + if (documentDecoration) { + documentDecoration.onDidChangeTextDocument(event.contentChanges); + } + } + onDidCloseTextDocument(closedDocument) { + // console.log("onDidCloseTextDocument"); + const uri = closedDocument.uri.toString(); + const document = this.documents.get(uri); + if (document !== undefined) { + // console.log("Disposing " + uri); + document.dispose(); + this.documents.delete(uri); + } + } + onDidChangeSelection(event) { + // console.log("onDidChangeSelection"); + const documentDecoration = this.getDocumentDecorations(event.textEditor.document); + if (documentDecoration && + (documentDecoration.settings.highlightActiveScope || + documentDecoration.settings.showBracketsInGutter || + documentDecoration.settings.showVerticalScopeLine || + documentDecoration.settings.showHorizontalScopeLine)) { + documentDecoration.updateScopeDecorations(event); + } + } + updateAllDocuments() { + // console.log("updateAllDocuments"); + for (const editor of vscode_1.window.visibleTextEditors) { + this.updateDocument(editor.document); + } + } + getDocumentDecorations(document) { + if (!this.isValidDocument(document)) { + return; + } + const uri = document.uri.toString(); + // console.log("Looking for " + uri + " from cache"); + let documentDecorations = this.documents.get(uri); + if (documentDecorations === undefined) { + const languageConfig = this.tryGetLanguageConfig(document.languageId); + if (!languageConfig) { + // console.log("Could not find tokenizer for " + document.languageId); + return; + } + if (languageConfig instanceof Promise) { + // console.log("Found Tokenizer promise for " + document.languageId); + languageConfig.then((grammar) => { + if (grammar) { + this.updateDocument(document); + } + }); + return; + } + // console.log("Found Tokenizer for " + document.languageId); + documentDecorations = new documentDecoration_1.default(document, languageConfig, this.settings); + // console.log("Adding " + uri + " to cache"); + this.documents.set(uri, documentDecorations); + } + // console.log("Retrieved " + uri + " from cache"); + return documentDecorations; + } + tryGetLanguageConfig(languageID) { + return this.settings.TextMateLoader.tryGetLanguageConfig(languageID); + } + isValidDocument(document) { + if (document === undefined) { + // console.warn("Ignoring undefined document"); + return false; + } + if (document.lineCount === 0) { + // console.warn("Ignoring document with 0 line counter"); + return false; + } + if (document.uri.scheme === "vscode") { + // console.log("Ignoring document with 'vscode' uri"); + return false; + } + if (document.uri.scheme === "output") { + // console.log("Ignoring document with 'output' uri"); + return false; + } + if (this.settings.excludedLanguages.has(document.languageId)) { + // console.log("Ignoring document because language id was ignored in settings"); + return false; + } + return true; + } +} +exports.default = DocumentDecorationManager; +//# sourceMappingURL=documentDecorationManager.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/extension.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/extension.js new file mode 100644 index 00000000..23a63066 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/extension.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deactivate = exports.activate = void 0; +const vscode_1 = require("vscode"); +const documentDecorationManager_1 = require("./documentDecorationManager"); +function activate(context) { + let documentDecorationManager = new documentDecorationManager_1.default(); + vscode_1.extensions.onDidChange(() => restart()); + context.subscriptions.push(vscode_1.commands.registerCommand("bracket-pair-colorizer-2.expandBracketSelection", () => { + const editor = vscode_1.window.activeTextEditor; + if (!editor) { + return; + } + documentDecorationManager.expandBracketSelection(editor); + }), vscode_1.commands.registerCommand("bracket-pair-colorizer-2.undoBracketSelection", () => { + const editor = vscode_1.window.activeTextEditor; + if (!editor) { + return; + } + documentDecorationManager.undoBracketSelection(editor); + }), vscode_1.workspace.onDidChangeConfiguration((event) => { + if (event.affectsConfiguration("bracket-pair-colorizer-2") || + event.affectsConfiguration("editor.lineHeight") || + event.affectsConfiguration("editor.fontSize")) { + restart(); + } + }), vscode_1.window.onDidChangeVisibleTextEditors(() => { + documentDecorationManager.updateAllDocuments(); + }), vscode_1.workspace.onDidChangeTextDocument((event) => { + if (event.contentChanges.length > 0) { + documentDecorationManager.onDidChangeTextDocument(event); + } + }), vscode_1.workspace.onDidCloseTextDocument((event) => { + documentDecorationManager.onDidCloseTextDocument(event); + }), vscode_1.workspace.onDidOpenTextDocument((event) => { + documentDecorationManager.onDidOpenTextDocument(event); + }), vscode_1.window.onDidChangeTextEditorSelection((event) => { + documentDecorationManager.onDidChangeSelection(event); + })); + documentDecorationManager.updateAllDocuments(); + function restart() { + documentDecorationManager.Dispose(); + documentDecorationManager = new documentDecorationManager_1.default(); + documentDecorationManager.updateAllDocuments(); + } +} +exports.activate = activate; +// tslint:disable-next-line:no-empty +function deactivate() { +} +exports.deactivate = deactivate; +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/foundBracket.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/foundBracket.js new file mode 100644 index 00000000..641338b9 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/foundBracket.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class FoundBracket { + constructor(range, type) { + this.range = range; + this.character = type; + } +} +exports.default = FoundBracket; +//# sourceMappingURL=foundBracket.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/gutterIconManager.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/gutterIconManager.js new file mode 100644 index 00000000..24a7aa9a --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/gutterIconManager.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const umd_1 = require("vscode-uri/lib/umd"); +class GutterIconManager { + constructor() { + this.escape = require("escape-html"); + this.iconDict = new Map(); + // tslint:disable-next-line:callable-types + this.disposables = new Array(); + this.fontFamily = vscode_1.workspace.getConfiguration("editor").fontFamily; + this.readEditorLineHeight(); + } + Dispose() { + this.disposables.forEach((callback) => { + callback(); + }); + this.disposables = []; + } + GetIconUri(bracket, color) { + const colorDict = this.iconDict.get(bracket); + if (colorDict) { + const uri = colorDict.get(color); + if (uri) { + return uri; + } + else { + const newUri = this.createIcon(color, bracket); + colorDict.set(color, newUri); + return newUri; + } + } + else { + const newUri = this.createIcon(color, bracket); + const dict = new Map(); + dict.set(color, newUri); + this.iconDict.set(bracket, dict); + return newUri; + } + } + createIcon(color, bracket) { + const svg = `` + + `` + + `${this.escape(bracket)}` + + `` + + ``; + const encodedSVG = encodeURIComponent(svg); + const URI = "data:image/svg+xml;utf8," + encodedSVG; + return umd_1.default.parse(URI); + } + readEditorLineHeight() { + const MINIMUM_LINE_HEIGHT = 8; + const MAXIMUM_LINE_HEIGHT = 150; + const GOLDEN_LINE_HEIGHT_RATIO = (process.platform === "darwin") ? 1.5 : 1.35; + const editorConfig = vscode_1.workspace.getConfiguration("editor", null); + const fontSize = editorConfig.get("fontSize"); + const configuredLineHeight = editorConfig.get("lineHeight"); + function clamp(n, min, max) { + if (n < min) { + return min; + } + if (n > max) { + return max; + } + return n; + } + function safeParseInt(n, defaultValue) { + if (typeof n === "number") { + return Math.round(n); + } + const r = parseInt(n, 10); + if (isNaN(r)) { + return defaultValue; + } + return r; + } + let lineHeight = safeParseInt(configuredLineHeight, 0); + lineHeight = clamp(lineHeight, 0, MAXIMUM_LINE_HEIGHT); + if (lineHeight === 0) { + lineHeight = Math.round(GOLDEN_LINE_HEIGHT_RATIO * fontSize); + } + else if (lineHeight < MINIMUM_LINE_HEIGHT) { + lineHeight = MINIMUM_LINE_HEIGHT; + } + this.lineHeight = lineHeight; + this.fontSize = Math.ceil(fontSize * (2 / 3)); + } +} +exports.default = GutterIconManager; +//# sourceMappingURL=gutterIconManager.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/languageConfig.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/languageConfig.js new file mode 100644 index 00000000..df19db43 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/languageConfig.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class LanguageConfig { + constructor(grammar, regex, bracketToId) { + this.grammar = grammar; + this.regex = regex; + this.bracketToId = bracketToId; + } +} +exports.default = LanguageConfig; +//# sourceMappingURL=languageConfig.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/languageDefinition.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/languageDefinition.js new file mode 100644 index 00000000..e15b23a9 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/languageDefinition.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class LanguageDefinition { +} +exports.default = LanguageDefinition; +//# sourceMappingURL=languageDefinition.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/lineState.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/lineState.js new file mode 100644 index 00000000..989aa5f2 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/lineState.js @@ -0,0 +1,77 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const colorMode_1 = require("./colorMode"); +const multipleIndexes_1 = require("./multipleIndexes"); +const singularIndex_1 = require("./singularIndex"); +const token_1 = require("./token"); +class LineState { + constructor(settings, languageConfig, previousState) { + this.settings = settings; + this.languageConfig = languageConfig; + if (previousState !== undefined) { + this.bracketManager = previousState.colorIndexes; + this.previousBracketColor = previousState.previousBracketColor; + } + else { + switch (settings.colorMode) { + case colorMode_1.default.Consecutive: + this.bracketManager = new singularIndex_1.default(settings); + break; + case colorMode_1.default.Independent: + this.bracketManager = new multipleIndexes_1.default(settings, languageConfig); + break; + default: throw new RangeError("Not implemented enum value"); + } + } + } + getBracketHash() { + return this.bracketManager.getHash(); + } + cloneState() { + const clone = { + colorIndexes: this.bracketManager.copyCumulativeState(), + previousBracketColor: this.previousBracketColor, + }; + return new LineState(this.settings, this.languageConfig, clone); + } + getClosingBracket(position) { + return this.bracketManager.getClosingBracket(position); + } + offset(startIndex, amount) { + this.bracketManager.offset(startIndex, amount); + } + addBracket(type, character, beginIndex, lineIndex, open) { + const token = new token_1.default(type, character, beginIndex, lineIndex); + if (open) { + this.addOpenBracket(token); + } + else { + this.addCloseBracket(token); + } + } + getAllBrackets() { + return this.bracketManager.getAllBrackets(); + } + addOpenBracket(token) { + let colorIndex; + if (this.settings.forceIterationColorCycle) { + colorIndex = (this.bracketManager.getPreviousIndex(token.type) + 1) % this.settings.colors.length; + } + else { + colorIndex = this.bracketManager.GetAmountOfOpenBrackets(token.type) % this.settings.colors.length; + } + let color = this.settings.colors[colorIndex]; + if (this.settings.forceUniqueOpeningColor && color === this.previousBracketColor) { + colorIndex = (colorIndex + 1) % this.settings.colors.length; + color = this.settings.colors[colorIndex]; + } + this.previousBracketColor = color; + this.bracketManager.addOpenBracket(token, colorIndex); + } + ; + addCloseBracket(token) { + this.bracketManager.addCloseBracket(token); + } +} +exports.default = LineState; +//# sourceMappingURL=lineState.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/modifierPair.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/modifierPair.js new file mode 100644 index 00000000..771ad426 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/modifierPair.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ModifierPair { + constructor(openingCharacter, closingCharacter, counter) { + this.counter = 0; + this.openingCharacter = openingCharacter; + this.closingCharacter = closingCharacter; + if (counter !== undefined) { + this.counter = counter; + } + } + Clone() { + return new ModifierPair(this.openingCharacter, this.closingCharacter, this.counter); + } +} +exports.default = ModifierPair; +//# sourceMappingURL=modifierPair.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/multipleIndexes.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/multipleIndexes.js new file mode 100644 index 00000000..f2e92f05 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/multipleIndexes.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const bracket_1 = require("./bracket"); +const bracketClose_1 = require("./bracketClose"); +class MultipleBracketGroups { + constructor(settings, languageConfig, previousState) { + this.allLinesOpenBracketStack = []; + this.allBracketsOnLine = []; + this.bracketsHash = ""; + this.previousOpenBracketColorIndexes = []; + this.settings = settings; + this.languageConfig = languageConfig; + if (previousState !== undefined) { + this.allLinesOpenBracketStack = previousState.currentOpenBracketColorIndexes; + this.previousOpenBracketColorIndexes = previousState.previousOpenBracketColorIndexes; + } + else { + for (const value of languageConfig.bracketToId.values()) { + this.allLinesOpenBracketStack[value.key] = []; + this.previousOpenBracketColorIndexes[value.key] = 0; + } + } + } + getPreviousIndex(type) { + return this.previousOpenBracketColorIndexes[type]; + } + addOpenBracket(token, colorIndex) { + const openBracket = new bracket_1.default(token, this.settings.colors[colorIndex]); + this.allBracketsOnLine.push(openBracket); + this.bracketsHash += openBracket.token.character; + this.allLinesOpenBracketStack[token.type].push(openBracket); + this.previousOpenBracketColorIndexes[token.type] = colorIndex; + } + GetAmountOfOpenBrackets(type) { + return this.allLinesOpenBracketStack[type].length; + } + addCloseBracket(token) { + const openStack = this.allLinesOpenBracketStack[token.type]; + if (openStack.length > 0) { + if (openStack[openStack.length - 1].token.type === token.type) { + const openBracket = openStack.pop(); + const closeBracket = new bracketClose_1.default(token, openBracket); + this.allBracketsOnLine.push(closeBracket); + this.bracketsHash += closeBracket.token.character; + return; + } + } + const orphan = new bracket_1.default(token, this.settings.unmatchedScopeColor); + this.allBracketsOnLine.push(orphan); + this.bracketsHash += orphan.token.character; + } + getClosingBracket(position) { + for (const bracket of this.allBracketsOnLine) { + if (!(bracket instanceof bracketClose_1.default)) { + continue; + } + const closeBracket = bracket; + const openBracket = closeBracket.openBracket; + const range = new vscode_1.Range(openBracket.token.range.start.translate(0, 1), closeBracket.token.range.end.translate(0, -1)); + if (range.contains(position)) { + return closeBracket; + } + } + } + getAllBrackets() { + return this.allBracketsOnLine; + } + getHash() { + return this.bracketsHash; + } + offset(startIndex, amount) { + for (const bracket of this.allBracketsOnLine) { + if (bracket.token.range.start.character >= startIndex) { + bracket.token.offset(amount); + } + } + } + copyCumulativeState() { + const clone = []; + for (const value of this.allLinesOpenBracketStack) { + clone.push(value.slice()); + } + return new MultipleBracketGroups(this.settings, this.languageConfig, { + currentOpenBracketColorIndexes: clone, + previousOpenBracketColorIndexes: this.previousOpenBracketColorIndexes.slice(), + }); + } +} +exports.default = MultipleBracketGroups; +//# sourceMappingURL=multipleIndexes.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/scopePair.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/scopePair.js new file mode 100644 index 00000000..46bb3f2b --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/scopePair.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ScopePair { +} +exports.default = ScopePair; +//# sourceMappingURL=scopePair.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/scopeSingle.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/scopeSingle.js new file mode 100644 index 00000000..78d3e4e0 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/scopeSingle.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ScopeType = void 0; +var ScopeType; +(function (ScopeType) { + ScopeType[ScopeType["Ambiguous"] = 0] = "Ambiguous"; + ScopeType[ScopeType["Open"] = 1] = "Open"; + ScopeType[ScopeType["Close"] = 2] = "Close"; +})(ScopeType = exports.ScopeType || (exports.ScopeType = {})); +class ScopeSingle { + constructor(tokenName, type, key) { + this.tokenName = tokenName; + this.type = type; + this.key = key; + } +} +exports.default = ScopeSingle; +//# sourceMappingURL=scopeSingle.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/settings.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/settings.js new file mode 100644 index 00000000..2162b5b1 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/settings.js @@ -0,0 +1,204 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +const colorMode_1 = require("./colorMode"); +const gutterIconManager_1 = require("./gutterIconManager"); +const textMateLoader_1 = require("./textMateLoader"); +const vscode_1 = require("vscode"); +class Settings { + constructor() { + this.TextMateLoader = new textMateLoader_1.default(); + this.isDisposed = false; + const workspaceColors = vscode.workspace.getConfiguration("workbench.colorCustomizations", undefined); + this.gutterIcons = new gutterIconManager_1.default(); + const configuration = vscode.workspace.getConfiguration("bracket-pair-colorizer-2", undefined); + const activeScopeCSS = configuration.get("activeScopeCSS"); + if (!Array.isArray(activeScopeCSS)) { + throw new Error("activeScopeCSS is not an array"); + } + this.activeBracketCSSElements = activeScopeCSS.map((e) => [e.substring(0, e.indexOf(":")).trim(), + e.substring(e.indexOf(":") + 1).trim()]); + const scopeLineCSS = configuration.get("scopeLineCSS"); + if (!Array.isArray(scopeLineCSS)) { + throw new Error("scopeLineCSS is not an array"); + } + this.activeScopeLineCSSElements = scopeLineCSS.map((e) => [e.substring(0, e.indexOf(":")).trim(), + e.substring(e.indexOf(":") + 1).trim()]); + const borderStyle = this.activeScopeLineCSSElements.filter((e) => e[0] === "borderStyle"); + if (borderStyle && borderStyle[0].length === 2) { + this.activeScopeLineCSSBorder = borderStyle[0][1]; + } + else { + this.activeScopeLineCSSBorder = "none"; + } + this.highlightActiveScope = configuration.get("highlightActiveScope"); + if (typeof this.highlightActiveScope !== "boolean") { + throw new Error("alwaysHighlightActiveScope is not a boolean"); + } + this.showVerticalScopeLine = configuration.get("showVerticalScopeLine"); + if (typeof this.showVerticalScopeLine !== "boolean") { + throw new Error("showVerticalScopeLine is not a boolean"); + } + this.showHorizontalScopeLine = configuration.get("showHorizontalScopeLine"); + if (typeof this.showHorizontalScopeLine !== "boolean") { + throw new Error("showHorizontalScopeLine is not a boolean"); + } + this.scopeLineRelativePosition = configuration.get("scopeLineRelativePosition"); + if (typeof this.scopeLineRelativePosition !== "boolean") { + throw new Error("scopeLineRelativePosition is not a boolean"); + } + this.showBracketsInGutter = configuration.get("showBracketsInGutter"); + if (typeof this.showBracketsInGutter !== "boolean") { + throw new Error("showBracketsInGutter is not a boolean"); + } + this.showBracketsInRuler = configuration.get("showBracketsInRuler"); + if (typeof this.showBracketsInRuler !== "boolean") { + throw new Error("showBracketsInRuler is not a boolean"); + } + this.rulerPosition = configuration.get("rulerPosition"); + if (typeof this.rulerPosition !== "string") { + throw new Error("rulerPosition is not a string"); + } + this.unmatchedScopeColor = configuration.get("unmatchedScopeColor"); + if (typeof this.unmatchedScopeColor !== "string") { + throw new Error("unmatchedScopeColor is not a string"); + } + this.forceUniqueOpeningColor = configuration.get("forceUniqueOpeningColor"); + if (typeof this.forceUniqueOpeningColor !== "boolean") { + throw new Error("forceUniqueOpeningColor is not a boolean"); + } + this.forceIterationColorCycle = configuration.get("forceIterationColorCycle"); + if (typeof this.forceIterationColorCycle !== "boolean") { + throw new Error("forceIterationColorCycle is not a boolean"); + } + this.colorMode = colorMode_1.default[configuration.get("colorMode")]; + if (typeof this.colorMode !== "number") { + throw new Error("colorMode enum could not be parsed"); + } + this.colors = configuration.get("colors"); + if (!Array.isArray(this.colors)) { + throw new Error("colors is not an array"); + } + this.bracketDecorations = this.createBracketDecorations(); + const excludedLanguages = configuration.get("excludedLanguages"); + if (!Array.isArray(excludedLanguages)) { + throw new Error("excludedLanguages is not an array"); + } + this.excludedLanguages = new Set(excludedLanguages); + } + dispose() { + if (!this.isDisposed) { + this.bracketDecorations.forEach((decoration) => { + decoration.dispose(); + }); + this.bracketDecorations.clear(); + this.gutterIcons.Dispose(); + this.isDisposed = true; + } + } + createGutterBracketDecorations(color, bracket) { + const gutterIcon = this.gutterIcons.GetIconUri(bracket, color); + const decorationSettings = { + gutterIconPath: gutterIcon, + }; + const decoration = vscode.window.createTextEditorDecorationType(decorationSettings); + return decoration; + } + createRulerBracketDecorations(color) { + const decorationSettings = { + overviewRulerColor: color.includes(".") ? new vscode_1.ThemeColor(color) : color, + overviewRulerLane: vscode.OverviewRulerLane[this.rulerPosition], + }; + const decoration = vscode.window.createTextEditorDecorationType(decorationSettings); + return decoration; + } + createScopeBracketDecorations(color) { + const decorationSettings = { + rangeBehavior: vscode.DecorationRangeBehavior.ClosedClosed, + }; + let opacity = "1"; + for (const element of this.activeBracketCSSElements) { + const key = element[0]; + const value = element[1]; + if (key.includes("Color")) { + const cssColor = value.replace("{color}", color); + decorationSettings[key] = cssColor.includes(".") ? new vscode_1.ThemeColor(cssColor) : cssColor; + continue; + } + if (key === "opacity") { + opacity = value; + } + else { + decorationSettings[key] = value; + } + } + ; + let borderColorType = typeof (decorationSettings["backgroundColor"]); + if (borderColorType === "undefined") { + decorationSettings["backgroundColor"] = "; opacity: " + opacity; + } + else if (borderColorType === "string") { + decorationSettings["backgroundColor"] += "; opacity: " + opacity; + } + const decoration = vscode.window.createTextEditorDecorationType(decorationSettings); + return decoration; + } + createScopeLineDecorations(color, top = true, right = true, bottom = true, left = true, yOffset) { + const decorationSettings = { + rangeBehavior: vscode.DecorationRangeBehavior.ClosedClosed, + }; + const none = "none"; + const topBorder = top ? this.activeScopeLineCSSBorder : none; + const rightBorder = right ? this.activeScopeLineCSSBorder : none; + const botBorder = bottom ? this.activeScopeLineCSSBorder : none; + const leftBorder = left ? this.activeScopeLineCSSBorder : none; + let opacity = "1"; + for (const element of this.activeScopeLineCSSElements) { + const key = element[0]; + const value = element[1]; + if (key.includes("Color")) { + const cssColor = value.replace("{color}", color); + decorationSettings[key] = cssColor.includes(".") ? new vscode_1.ThemeColor(cssColor) : cssColor; + continue; + } + if (key === "opacity") { + opacity = value; + } + else { + decorationSettings[key] = value; + } + } + let borderColorType = typeof (decorationSettings["borderColor"]); + if (borderColorType === "undefined") { + decorationSettings["borderColor"] = "; opacity: " + opacity; + } + else if (borderColorType === "string") { + decorationSettings["borderColor"] += "; opacity: " + opacity; + } + let borderStyle = `${topBorder} ${rightBorder} ${botBorder} ${leftBorder}`; + if (yOffset !== undefined && yOffset !== 0) { + borderStyle += "; transform: translateY(" + yOffset * 100 + "%); z-index: 1;"; + } + // tslint:disable-next-line:no-string-literal + decorationSettings["borderStyle"] = borderStyle; + const decoration = vscode.window.createTextEditorDecorationType(decorationSettings); + return decoration; + } + createBracketDecorations() { + const decorations = new Map(); + for (const color of this.colors) { + const decoration = vscode.window.createTextEditorDecorationType({ + color: color.includes(".") ? new vscode_1.ThemeColor(color) : color, + rangeBehavior: vscode.DecorationRangeBehavior.ClosedClosed, + }); + decorations.set(color, decoration); + } + const unmatchedDecoration = vscode.window.createTextEditorDecorationType({ + color: this.unmatchedScopeColor, rangeBehavior: vscode.DecorationRangeBehavior.ClosedClosed, + }); + decorations.set(this.unmatchedScopeColor, unmatchedDecoration); + return decorations; + } +} +exports.default = Settings; +//# sourceMappingURL=settings.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/singularIndex.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/singularIndex.js new file mode 100644 index 00000000..9b326d52 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/singularIndex.js @@ -0,0 +1,79 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const bracket_1 = require("./bracket"); +const bracketClose_1 = require("./bracketClose"); +class SingularBracketGroup { + constructor(settings, previousState) { + this.allLinesOpenBracketStack = []; + this.allBracketsOnLine = []; + this.bracketsHash = ""; + this.previousOpenBracketColorIndex = -1; + this.settings = settings; + if (previousState !== undefined) { + this.allLinesOpenBracketStack = previousState.currentOpenBracketColorIndexes; + this.previousOpenBracketColorIndex = previousState.previousOpenBracketColorIndex; + } + } + getPreviousIndex(type) { + return this.previousOpenBracketColorIndex; + } + getAllBrackets() { + return this.allBracketsOnLine; + } + addOpenBracket(token, colorIndex) { + const openBracket = new bracket_1.default(token, this.settings.colors[colorIndex]); + this.allLinesOpenBracketStack.push(openBracket); + this.allBracketsOnLine.push(openBracket); + this.bracketsHash += openBracket.token.character; + this.previousOpenBracketColorIndex = colorIndex; + } + GetAmountOfOpenBrackets(type) { + return this.allLinesOpenBracketStack.length; + } + addCloseBracket(token) { + if (this.allLinesOpenBracketStack.length > 0) { + if (this.allLinesOpenBracketStack[this.allLinesOpenBracketStack.length - 1].token.type === token.type) { + const openBracket = this.allLinesOpenBracketStack.pop(); + const closeBracket = new bracketClose_1.default(token, openBracket); + this.allBracketsOnLine.push(closeBracket); + this.bracketsHash += closeBracket.token.character; + return; + } + } + const orphan = new bracket_1.default(token, this.settings.unmatchedScopeColor); + this.allBracketsOnLine.push(orphan); + this.bracketsHash += orphan.token.character; + } + getClosingBracket(position) { + for (const bracket of this.allBracketsOnLine) { + if (!(bracket instanceof bracketClose_1.default)) { + continue; + } + const closeBracket = bracket; + const openBracket = closeBracket.openBracket; + const range = new vscode_1.Range(openBracket.token.range.start.translate(0, 1), closeBracket.token.range.end.translate(0, -1)); + if (range.contains(position)) { + return closeBracket; + } + } + } + getHash() { + return this.bracketsHash; + } + offset(startIndex, amount) { + for (const bracket of this.allBracketsOnLine) { + if (bracket.token.range.start.character >= startIndex) { + bracket.token.offset(amount); + } + } + } + copyCumulativeState() { + return new SingularBracketGroup(this.settings, { + currentOpenBracketColorIndexes: this.allLinesOpenBracketStack.slice(), + previousOpenBracketColorIndex: this.previousOpenBracketColorIndex, + }); + } +} +exports.default = SingularBracketGroup; +//# sourceMappingURL=singularIndex.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/textLine.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/textLine.js new file mode 100644 index 00000000..c602d4be --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/textLine.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class TextLine { + constructor(ruleStack, lineState, index) { + this.lineState = lineState; + this.ruleStack = ruleStack; + this.index = index; + } + getRuleStack() { + return this.ruleStack; + } + // Return a copy of the line while mantaining bracket state. colorRanges is not mantained. + cloneState() { + return this.lineState.cloneState(); + } + getBracketHash() { + return this.lineState.getBracketHash(); + } + AddToken(currentChar, index, key, open) { + this.lineState.addBracket(key, currentChar, index, this.index, open); + } + getClosingBracket(position) { + return this.lineState.getClosingBracket(position); + } + offset(startIndex, amount) { + this.lineState.offset(startIndex, amount); + } + getAllBrackets() { + return this.lineState.getAllBrackets(); + } +} +exports.default = TextLine; +//# sourceMappingURL=textLine.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/textMateLoader.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/textMateLoader.js new file mode 100644 index 00000000..2a25c2b4 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/textMateLoader.js @@ -0,0 +1,145 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TextMateLoader = void 0; +const path = require("path"); +const vscode = require("vscode"); +const fs = require("fs"); +const bracketUtil_1 = require("./bracketUtil"); +const JSON5 = require("json5"); +const languageConfig_1 = require("./languageConfig"); +class TextMateLoader { + constructor() { + this.scopeNameToLanguage = new Map(); + this.scopeNameToPath = new Map(); + this.languageToScopeName = new Map(); + this.languageToConfigPath = new Map(); + this.languageId = 1; + this.languageConfigs = new Map(); + this.initializeGrammars(); + this.vsctm = this.loadTextMate(); + this.oniguruma = this.loadOniguruma(); + } + tryGetLanguageConfig(languageID) { + const existingTokenizer = this.languageConfigs.get(languageID); + if (existingTokenizer) { + return existingTokenizer; + } + const scopeName = this.languageToScopeName.get(languageID); + if (!scopeName) { + return; + } + const configPath = this.languageToConfigPath.get(languageID); + if (!configPath) { + return; + } + return new Promise((resolve, reject) => { + fs.readFile(configPath, (error, content) => { + if (error) { + reject(error); + } + else { + const config = JSON5.parse(content.toString()); + const brackets = config.brackets; + resolve(brackets); + } + }); + }).then((brackets) => { + if (!brackets) { + return null; + } + const registry = new this.vsctm.Registry({ + // tslint:disable-next-line:object-literal-shorthand + onigLib: Promise.resolve({ + createOnigScanner: (sources) => new this.oniguruma.OnigScanner(sources), + createOnigString: (str) => new this.oniguruma.OnigString(str) + }), + loadGrammar: (scopeName) => { + const path = this.scopeNameToPath.get(scopeName); + if (!path) { + return null; + } + return new Promise((resolve, reject) => { + fs.readFile(path, (error, content) => { + if (error) { + reject(error); + } + else { + const text = content.toString(); + const rawGrammar = this.vsctm.parseRawGrammar(text, path); + resolve(rawGrammar); + } + }); + }); + }, + }); + // Load the JavaScript grammar and any other grammars included by it async. + return registry.loadGrammarWithConfiguration(scopeName, this.languageId++, {}).then((grammar) => { + if (grammar) { + if (!this.languageConfigs.has(languageID)) { + const mappedBrackets = brackets.map((b) => ({ open: b[0], close: b[1] })) + .filter((e) => e.open !== "<" && e.close !== ">"); + if (mappedBrackets.length === 0) { + return; + } + const bracketToId = new Map(); + for (let i = 0; i < brackets.length; i++) { + const bracket = brackets[i]; + bracketToId.set(bracket[0], { open: true, key: i }); + bracketToId.set(bracket[1], { open: false, key: i }); + } + let maxBracketLength = 0; + for (const bracket of mappedBrackets) { + maxBracketLength = Math.max(maxBracketLength, bracket.open.length); + maxBracketLength = Math.max(maxBracketLength, bracket.close.length); + } + const regex = bracketUtil_1.getRegexForBrackets(mappedBrackets); + this.languageConfigs.set(languageID, new languageConfig_1.default(grammar, regex, bracketToId)); + } + } + return grammar; + }); + }); + } + getNodeModulePath(moduleName) { + return path.join(vscode.env.appRoot, 'node_modules.asar', moduleName); + } + getNodeModule(moduleName) { + return require(this.getNodeModulePath(moduleName)); + } + loadTextMate() { + return this.getNodeModule("vscode-textmate"); + } + loadOniguruma() { + const oniguruma = this.getNodeModule("vscode-oniguruma"); + const wasmPath = path.join(this.getNodeModulePath("vscode-oniguruma"), 'release', 'onig.wasm'); + const onigurumaWasm = fs.readFileSync(wasmPath).buffer; + oniguruma.loadWASM(onigurumaWasm); + return oniguruma; + } + initializeGrammars() { + for (const extension of vscode.extensions.all) { + const packageJSON = extension.packageJSON; + if (packageJSON.contributes) { + if (packageJSON.contributes.grammars && packageJSON.contributes.languages) { + for (const grammar of packageJSON.contributes.grammars) { + if (grammar.language && grammar.scopeName && grammar.path) { + const fullPath = path.join(extension.extensionPath, grammar.path); + this.languageToScopeName.set(grammar.language, grammar.scopeName); + this.scopeNameToPath.set(grammar.scopeName, fullPath); + this.scopeNameToLanguage.set(grammar.scopeName, grammar.language); + } + } + for (const language of packageJSON.contributes.languages) { + if (language.configuration) { + const configPath = path.join(extension.extensionPath, language.configuration); + this.languageToConfigPath.set(language.id, configPath); + } + } + } + } + } + } +} +exports.TextMateLoader = TextMateLoader; +exports.default = TextMateLoader; +//# sourceMappingURL=textMateLoader.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/token.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/token.js new file mode 100644 index 00000000..fc0442c3 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/token.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +class Token { + constructor(type, character, beginIndex, lineIndex) { + this.type = type; + this.character = character; + const startPos = new vscode_1.Position(lineIndex, beginIndex); + const endPos = startPos.translate(0, character.length); + this.range = new vscode_1.Range(startPos, endPos); + } + offset(amount) { + this.range = new vscode_1.Range(this.range.start.translate(0, amount), this.range.end.translate(0, amount)); + } +} +exports.default = Token; +//# sourceMappingURL=token.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/vscodeFiles.js b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/vscodeFiles.js new file mode 100644 index 00000000..98700ecf --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/out/src/vscodeFiles.js @@ -0,0 +1,218 @@ +"use strict"; +// tslint:disable:no-bitwise +// tslint:disable:max-classes-per-file +// tslint:disable:variable-name +// tslint:disable:member-access +// tslint:disable:member-ordering +// tslint:disable:prefer-const +// tslint:disable:max-line-length +// tslint:disable:quotemark +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TokenMetadata = exports.SlicedLineTokens = exports.LineTokens = exports.ignoreBracketsInToken = void 0; +function ignoreBracketsInToken(standardTokenType) { + return (standardTokenType & 7 /* value */) !== 0; +} +exports.ignoreBracketsInToken = ignoreBracketsInToken; +class LineTokens { + constructor(tokens, text) { + this._tokens = tokens; + this._tokensCount = (this._tokens.length >>> 1); + this._text = text; + } + equals(other) { + if (other instanceof LineTokens) { + return this.slicedEquals(other, 0, this._tokensCount); + } + return false; + } + slicedEquals(other, sliceFromTokenIndex, sliceTokenCount) { + if (this._text !== other._text) { + return false; + } + if (this._tokensCount !== other._tokensCount) { + return false; + } + const from = (sliceFromTokenIndex << 1); + const to = from + (sliceTokenCount << 1); + for (let i = from; i < to; i++) { + if (this._tokens[i] !== other._tokens[i]) { + return false; + } + } + return true; + } + getLineContent() { + return this._text; + } + getCount() { + return this._tokensCount; + } + getStartOffset(tokenIndex) { + if (tokenIndex > 0) { + return this._tokens[(tokenIndex - 1) << 1]; + } + return 0; + } + getLanguageId(tokenIndex) { + const metadata = this._tokens[(tokenIndex << 1) + 1]; + return TokenMetadata.getLanguageId(metadata); + } + getStandardTokenType(tokenIndex) { + const metadata = this._tokens[(tokenIndex << 1) + 1]; + return TokenMetadata.getTokenType(metadata); + } + getForeground(tokenIndex) { + const metadata = this._tokens[(tokenIndex << 1) + 1]; + return TokenMetadata.getForeground(metadata); + } + getClassName(tokenIndex) { + const metadata = this._tokens[(tokenIndex << 1) + 1]; + return TokenMetadata.getClassNameFromMetadata(metadata); + } + getInlineStyle(tokenIndex, colorMap) { + const metadata = this._tokens[(tokenIndex << 1) + 1]; + return TokenMetadata.getInlineStyleFromMetadata(metadata, colorMap); + } + getEndOffset(tokenIndex) { + return this._tokens[tokenIndex << 1]; + } + /** + * Find the token containing offset `offset`. + * @param offset The search offset + * @return The index of the token containing the offset. + */ + findTokenIndexAtOffset(offset) { + return LineTokens.findIndexInTokensArray(this._tokens, offset); + } + inflate() { + return this; + } + sliceAndInflate(startOffset, endOffset, deltaOffset) { + return new SlicedLineTokens(this, startOffset, endOffset, deltaOffset); + } + static convertToEndOffset(tokens, lineTextLength) { + const tokenCount = (tokens.length >>> 1); + const lastTokenIndex = tokenCount - 1; + for (let tokenIndex = 0; tokenIndex < lastTokenIndex; tokenIndex++) { + tokens[tokenIndex << 1] = tokens[(tokenIndex + 1) << 1]; + } + tokens[lastTokenIndex << 1] = lineTextLength; + } + static findIndexInTokensArray(tokens, desiredIndex) { + if (tokens.length <= 2) { + return 0; + } + let low = 0; + let high = (tokens.length >>> 1) - 1; + while (low < high) { + let mid = low + Math.floor((high - low) / 2); + let endOffset = tokens[(mid << 1)]; + if (endOffset === desiredIndex) { + return mid + 1; + } + else if (endOffset < desiredIndex) { + low = mid + 1; + } + else if (endOffset > desiredIndex) { + high = mid; + } + } + return low; + } +} +exports.LineTokens = LineTokens; +class SlicedLineTokens { + constructor(source, startOffset, endOffset, deltaOffset) { + this._source = source; + this._startOffset = startOffset; + this._endOffset = endOffset; + this._deltaOffset = deltaOffset; + this._firstTokenIndex = source.findTokenIndexAtOffset(startOffset); + this._tokensCount = 0; + for (let i = this._firstTokenIndex, len = source.getCount(); i < len; i++) { + const tokenStartOffset = source.getStartOffset(i); + if (tokenStartOffset >= endOffset) { + break; + } + this._tokensCount++; + } + } + equals(other) { + if (other instanceof SlicedLineTokens) { + return (this._startOffset === other._startOffset + && this._endOffset === other._endOffset + && this._deltaOffset === other._deltaOffset + && this._source.slicedEquals(other._source, this._firstTokenIndex, this._tokensCount)); + } + return false; + } + getCount() { + return this._tokensCount; + } + getForeground(tokenIndex) { + return this._source.getForeground(this._firstTokenIndex + tokenIndex); + } + getEndOffset(tokenIndex) { + const tokenEndOffset = this._source.getEndOffset(this._firstTokenIndex + tokenIndex); + return Math.min(this._endOffset, tokenEndOffset) - this._startOffset + this._deltaOffset; + } + getClassName(tokenIndex) { + return this._source.getClassName(this._firstTokenIndex + tokenIndex); + } + getInlineStyle(tokenIndex, colorMap) { + return this._source.getInlineStyle(this._firstTokenIndex + tokenIndex, colorMap); + } + findTokenIndexAtOffset(offset) { + return this._source.findTokenIndexAtOffset(offset + this._startOffset - this._deltaOffset) - this._firstTokenIndex; + } +} +exports.SlicedLineTokens = SlicedLineTokens; +class TokenMetadata { + static getLanguageId(metadata) { + return (metadata & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */; + } + static getTokenType(metadata) { + return (metadata & 1792 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */; + } + static getFontStyle(metadata) { + return (metadata & 14336 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */; + } + static getForeground(metadata) { + return (metadata & 8372224 /* FOREGROUND_MASK */) >>> 14 /* FOREGROUND_OFFSET */; + } + static getBackground(metadata) { + return (metadata & 4286578688 /* BACKGROUND_MASK */) >>> 23 /* BACKGROUND_OFFSET */; + } + static getClassNameFromMetadata(metadata) { + let foreground = this.getForeground(metadata); + let className = 'mtk' + foreground; + let fontStyle = this.getFontStyle(metadata); + if (fontStyle & 1 /* Italic */) { + className += ' mtki'; + } + if (fontStyle & 2 /* Bold */) { + className += ' mtkb'; + } + if (fontStyle & 4 /* Underline */) { + className += ' mtku'; + } + return className; + } + static getInlineStyleFromMetadata(metadata, colorMap) { + const foreground = this.getForeground(metadata); + const fontStyle = this.getFontStyle(metadata); + let result = `color: ${colorMap[foreground]};`; + if (fontStyle & 1 /* Italic */) { + result += 'font-style: italic;'; + } + if (fontStyle & 2 /* Bold */) { + result += 'font-weight: bold;'; + } + if (fontStyle & 4 /* Underline */) { + result += 'text-decoration: underline;'; + } + return result; + } +} +exports.TokenMetadata = TokenMetadata; +//# sourceMappingURL=vscodeFiles.js.map \ No newline at end of file diff --git a/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/package.json b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/package.json new file mode 100644 index 00000000..3b8bb2d3 --- /dev/null +++ b/.vscode/extensions/coenraads.bracket-pair-colorizer-2-0.2.1/package.json @@ -0,0 +1,193 @@ +{ + "name": "bracket-pair-colorizer-2", + "displayName": "Bracket Pair Colorizer 2", + "description": "A customizable extension for colorizing matching brackets", + "version": "0.2.1", + "publisher": "CoenraadS", + "engines": { + "vscode": "^1.45.0" + }, + "icon": "images/icon.png", + "categories": [ + "Other" + ], + "extensionKind": [ + "ui", + "workspace" + ], + "activationEvents": [ + "onStartupFinished" + ], + "keywords": [ + "bracket", + "brackets", + "pair", + "color", + "colour", + "multi-root ready" + ], + "galleryBanner": { + "color": "#1E1E1E", + "theme": "dark" + }, + "main": "./out/src/extension", + "contributes": { + "commands": [ + { + "command": "bracket-pair-colorizer-2.expandBracketSelection", + "title": "Expand Bracket Selection" + }, + { + "command": "bracket-pair-colorizer-2.undoBracketSelection", + "title": "Undo Bracket Selection" + } + ], + "configuration": { + "type": "object", + "title": "Bracket Pair Colorizer 2", + "properties": { + "bracket-pair-colorizer-2.colors": { + "type": "array", + "default": [ + "Gold", + "Orchid", + "LightSkyBlue" + ], + "description": "Scope colors", + "scope": "window" + }, + "bracket-pair-colorizer-2.unmatchedScopeColor": { + "type": "string", + "default": "Red", + "description": "Unmatched Scope Color", + "scope": "window" + }, + "bracket-pair-colorizer-2.forceUniqueOpeningColor": { + "type": "boolean", + "default": false, + "description": "Ensure that an opening brackets color does not match a previous brackets color", + "scope": "window" + }, + "bracket-pair-colorizer-2.forceIterationColorCycle": { + "type": "boolean", + "default": false, + "description": "Should opening brackets iterate the color cycle even if they are not nested", + "scope": "window" + }, + "bracket-pair-colorizer-2.colorMode": { + "type": "string", + "enum": [ + "Consecutive", + "Independent" + ], + "default": "Consecutive", + "description": "Should different brackets share a color group (Consecutive), or use their own color group (Independent)", + "scope": "window" + }, + "bracket-pair-colorizer-2.highlightActiveScope": { + "type": "boolean", + "default": false, + "description": "Should the active scope brackets always be highlighted? Recommended to disable editor.matchBrackets if using this feature.", + "scope": "window" + }, + "bracket-pair-colorizer-2.activeScopeCSS": { + "type": "array", + "default": [ + "borderStyle : solid", + "borderWidth : 1px", + "borderColor : {color}", + "opacity: 0.5" + ], + "description": "CSS for the active scope. Use {color} to match the bracket color. The string types listed at https://code.visualstudio.com/docs/extensionAPI/vscode-api#DecorationRenderOptions can be used", + "scope": "window" + }, + "bracket-pair-colorizer-2.showBracketsInGutter": { + "type": "boolean", + "default": false, + "description": "Show active bracket scope in gutter?", + "scope": "window" + }, + "bracket-pair-colorizer-2.showBracketsInRuler": { + "type": "boolean", + "default": false, + "description": "Show active bracket scope in ruler?", + "scope": "window" + }, + "bracket-pair-colorizer-2.rulerPosition": { + "type": "string", + "enum": [ + "Center", + "Full", + "Left", + "Right" + ], + "default": "Center", + "description": "Show active bracket scope in ruler?", + "scope": "window" + }, + "bracket-pair-colorizer-2.showVerticalScopeLine": { + "type": "boolean", + "default": true, + "description": "Show a vertical line on the left side of the editor representing the active bracket scope?", + "scope": "window" + }, + "bracket-pair-colorizer-2.showHorizontalScopeLine": { + "type": "boolean", + "default": true, + "description": "Show a horizontal line to create a block around the active bracket scope?", + "scope": "window" + }, + "bracket-pair-colorizer-2.scopeLineRelativePosition": { + "type": "boolean", + "default": true, + "description": "True: Scope Line will start from the ending bracket position. False: Scope Line will always be at column 0", + "scope": "window" + }, + "bracket-pair-colorizer-2.scopeLineCSS": { + "type": "array", + "default": [ + "borderStyle : solid", + "borderWidth : 1px", + "borderColor : {color}", + "opacity: 0.5" + ], + "description": "CSS for the scope line. Use {color} to match the bracket color. The string types listed at https://code.visualstudio.com/docs/extensionAPI/vscode-api#DecorationRenderOptions can be used", + "scope": "window" + }, + "bracket-pair-colorizer-2.excludedLanguages": { + "type": "array", + "default": [], + "description": "Don't colorize files of these languages", + "scope": "window" + } + } + } + }, + "scripts": { + "vscode:prepublish": "tsc -p ./", + "compile": "tsc -watch -p ./" + }, + "devDependencies": { + "@types/json5": "0.0.30", + "@types/node": "^6.14.13", + "tslint": "^4.5.1", + "typescript": "^4.3.2" + }, + "repository": { + "type": "git", + "url": "https://github.com/CoenraadS/Bracket-Pair-Colorizer-2" + }, + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@types/vscode": "^1.57.0", + "escape-html": "^1.0.3", + "json5": "^2.2.0", + "vscode-uri": "^1.0.6" + }, + "__metadata": { + "id": "5a6e2b21-1d61-4acd-b31b-907f9c23f18a", + "publisherId": "d0a031ad-49a6-4982-aba0-6391e97e948b", + "publisherDisplayName": "CoenraadS", + "installedTimestamp": 1632235492796 + } +} \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/.vsixmanifest b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/.vsixmanifest new file mode 100644 index 00000000..5071269c --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + ESLint + Integrates ESLint JavaScript into VS Code. + multi-root ready,json,ignore,__ext_eslintignore,jsonc,javascript,linters + Programming Languages,Linters + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/License.txt + extension/eslint_icon.png + + + + + + + + + + diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/CHANGELOG.md b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/CHANGELOG.md new file mode 100644 index 00000000..61e1e61b --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/CHANGELOG.md @@ -0,0 +1,393 @@ +### 2.1.23 + +- Fixes [Server should provide default result for code actions so that canceled requests can be removed from queue](https://github.com/microsoft/vscode-eslint/issues/1283) + +### 2.1.22 + +- adapt VS Code's workspace trust model. As a consequence the custom dialog ESLint introduced in version `2.1.7` got removed. +- Various [bug fixes](https://github.com/microsoft/vscode-eslint/issues?q=milestone%3A2.1.22+) + + +### 2.1.21 + +- Internal insider release. + +### 2.1.20 + +- Merged [Implement eslint.rules.customizations - with overrides](https://github.com/microsoft/vscode-eslint/pull/1164) + +### 2.1.19 + +- fixed [Using `eslint.nodePath` globally rather than locally, yet on every new window: `The eslint.nodePath setting requires user confirmation. To do so execute the Select Node Path command.`](https://github.com/microsoft/vscode-eslint/issues/1203) + +### 2.1.18 + +- warn about nodePath values being defined separately in the workspace folder although a multi workspace folder setup is open. + +### 2.1.17 + +- add user confirmation for the `eslint.runtime` and the `eslint.nodePath` setting +- fixed [command to restart server or plugins without quitting vscode](https://github.com/microsoft/vscode-eslint/issues/164) + +### 2.1.16 + +- Updated Readme document. + +### 2.1.15 + +- Internal insider release. + +### 2.1.14 + +- Update to version 7.0.0 of the LSP libraries +- Various [bug fixes](https://github.com/microsoft/vscode-eslint/issues?q=is%3Aissue+is%3Aclosed+milestone%3A2.1.14). + +### 2.1.13 + +- [v2.1.10 - Extension 'ESlint' cannot format file](https://github.com/microsoft/vscode-eslint/issues/1086) + +### 2.1.11 & 2.1.12 + +- Internal insider release. + +### 2.1.10 + +- Add an 'Always Allow' to the library confirmation dialog added in 2.1.7. Also added a status indication show the ESLint library decision mode. +- Fixed vulnerability described in [CVE-2021-27081](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-27081) + +### 2.1.9 + +- Internal insider release. + +### 2.1.8 + +- Polish the message of the confirmation dialog that was introduced in 2.1.7 +- Fix bug that caused the confirmation dialog to pop up for all open editors when not trusting the local version of VS Code + +### 2.1.7 + +- Ask the user for confirmation before executing the code from an installed ESLint library. Also added commands to manage the decisions made for the ESLint libraries. + +### 2.1.6 + +- Update LSP libraries + +### 2.1.5 + +- [UnhandledPromiseRejectionWarning: Error: Request workspace/configuration failed with message: Cannot read property 'source.fixAll.eslint' of null](https://github.com/microsoft/vscode-eslint/issues/950) +- ["Do you want Code to open the external website?" on eslint errors](https://github.com/microsoft/vscode-eslint/issues/949) +- [all suggestions being applied on save](https://github.com/microsoft/vscode-eslint/issues/947) +- [Error: "Cannot read property 'source.fixAll.eslint' of null"](https://github.com/microsoft/vscode-eslint/issues/945) + +### 2.1.4 + +- Was used as an insider preview release. + +### 2.1.3 + +- [FixAll on save doesn't pick up file change from organize imports](https://github.com/microsoft/vscode-eslint/issues/939) + +### 2.1.2 + +- [Adopt new link support in diagnostics](https://github.com/microsoft/vscode-eslint/issues/911) + +### 2.1.1 + +- [Support for ESLint suggest API](https://github.com/microsoft/vscode-eslint/pull/814) + +### 2.0.15 + +- Update to latest LSP libraries + +### 2.0.14 + +- Bug Fixes: + - [Auto fix made double comma to fix trailing comma](https://github.com/microsoft/vscode-eslint/issues/871) + +### 2.0.13 + +- Fixes [no validation of .vue files (2.0.12)](https://github.com/microsoft/vscode-eslint/issues/870) + +### 2.0.12 + +- Improved performance for code actions on save by reusing fixes for already known problems. +- Added a setting `eslint.codeActionsOnSave.mode` to revive the 1.9.x version behavior of only fixing already known problems on save. +- Bug fixes: + - [Can't lint .ts files when use vue-eslint-parser](https://github.com/microsoft/vscode-eslint/issues/864) + +### 2.0.11 + +- Fixes [Eslint not working when open above level directory](https://github.com/microsoft/vscode-eslint/issues/854) + +### 2.0.10 + +- Various bug fixes especially around settings migration. + +### 2.0.4 + +A new major version of the extension. Major improvements are around code actions on save, formatting, working directory setup and validating of TypeScript files. + +### 1.9.2 + +- Moved to latest LSP libraries +- Fixed [Document change might not cause re-validation. Results in stale errors](https://github.com/microsoft/vscode-eslint/issues/758) +- Merged [Fix None position values in publishDiagnostics message](https://github.com/microsoft/vscode-eslint/pull/753) + +### 1.9.1 + +- Moved to latest LSP libraries +- Add experimental support for delta document sync +- Add support for [eslint.lintTask.options] (https://github.com/microsoft/vscode-eslint/pull/698) +- Add support for `eslint.experimental.incrementalSync` which enable incremental document synchronization for improved performance. + +### 1.9.0 + +- Moved to latest LSP libraries +- Added support for [eslint.quiet](https://github.com/microsoft/vscode-eslint/pull/661) + +### 1.8.2 + +- Fix version mismatch problem between LSP client lib and VS Code version. + +### 1.8.1 + +- Moved to latest LSP libraries +- Web pack extension and server +- Fixes [Extension causes high CPU load](https://github.com/Microsoft/vscode-eslint/issues/620) + +### 1.8.0 + +- Moved to latest LSP libraries +- Merged in [PR [#588](https://github.com/Microsoft/vscode-eslint/issues/588)](https://github.com/Microsoft/vscode-eslint/pull/588/) which adds to turn off the actions to disable rules per line and to open the documentation. +- Merged in [PR [#572](https://github.com/Microsoft/vscode-eslint/issues/572)](https://github.com/Microsoft/vscode-eslint/pull/572) which adds support for pnpm. + +### 1.7.0 + +- Merged in [PR [#530](https://github.com/Microsoft/vscode-eslint/issues/530)](https://github.com/Microsoft/vscode-eslint/pull/530) which adds support to disable a rule per line or for the whole file as well as navigating to the documentation. + +### 1.6.1 + +- Fixes [#558](https://github.com/Microsoft/vscode-eslint/issues/558) to adopt new functionality in VS Code 1.28 + +### 1.6.0 + +- Adopt the LSP JSON tracing options from the LSP libraries to enable better tracing support + +### 1.5.0 + +- Allow setting the node runtime to use for the language server. Fixes [#345](https://github.com/Microsoft/vscode-eslint/issues/345) [PR [#516](https://github.com/Microsoft/vscode-eslint/issues/516)](https://github.com/Microsoft/vscode-eslint/pull/516) +- eslintignore comment syntax highlighting [PR [#473](https://github.com/Microsoft/vscode-eslint/issues/473)](https://github.com/Microsoft/vscode-eslint/pull/473) + +### 1.4.14 + +- Include `semver` for client + +### 1.4.13 + +- Upgraded to latest LSP libraries to handle process spawn / fork crashes under Electron 2.x + +### 1.4.12 + +- Upgrade to latest version of the LSP libraries +- Fixes [eslint server crashed 5 times in the last 3 minutes. the server will not be restarted.](https://github.com/Microsoft/vscode-eslint/issues/437) + +### 1.4.11 + +Internal version to track down [eslint server crashed 5 times in the last 3 minutes. the server will not be restarted.](https://github.com/Microsoft/vscode-eslint/issues/437) + +### 1.4.10 + +- [Add Command to create a YAML configuration](https://github.com/Microsoft/vscode-eslint/issues/409) + +### 1.4.9 + +- Using latest vscode-languageclient library to fix problems with server restarts and double change notifications. + +### 1.4.8 + +- Using latest vscode-languageclient library to get rid of unnecessary console.log statements. + +### 1.4.7 + +- [extension not working](https://github.com/Microsoft/vscode-eslint/issues/365) +- [Create a task provider for linting the whole workspace](https://github.com/Microsoft/vscode-eslint/pull/410) + +### 1.4.6 + +- [Rename server.js to a more specific name so that eslint is easily recognized by code --status](https://github.com/Microsoft/vscode-eslint/issues/406) + +### 1.4.5 + +- [UnhandledPromiseRejectionWarning when renaming .eslintrc.json](https://github.com/Microsoft/vscode-eslint/issues/403) +- [update error message and add a hint to update yarn setting if using yarn](https://github.com/Microsoft/vscode-eslint/pull/390) + +### 1.4.4 + +- [request: better error message if eslint crashes](https://github.com/Microsoft/vscode-eslint/issues/391) + +### 1.4.3 + +- Moved to version 3.5.0 of the vscode-languageserver-node libraries. + +### 1.4.2 + +- [ESLint should show a warning icon when something failed in the status bar](https://github.com/Microsoft/vscode-eslint/issues/328) + +### 1.4.1 + +- small setting description fix. +- tagged extension as multi root ready. + +### 1.4.0 + +- Add support for [Yarn](https://yarnpkg.com/lang/en/). To use yarn instead of npm with the eslint extension set the settings `"eslint.packageManager": "yarn"`. To use npm set the value to `"npm"`. + +### 1.3.2 + +Fixes: + +- [Latest update appears to have broken nodePath specification ](https://github.com/Microsoft/vscode-eslint/issues/298) + +### 1.3.1 + +Fixes: + +- [Failed to lint Untitled JavaScript file.](https://github.com/Microsoft/vscode-eslint/issues/295) + +### 1.3.0 + +- Add support for multi workspace folder setups. Adding this support required a major code change both on the extension and the server side. So if you recognized problems with this version please report them as quick as possible in the [GitHub repository](https://github.com/Microsoft/vscode-eslint). + + Version 1.3.0 of the ESLint extension requires at least version 1.16 of VS Code. + +### 1.2.11 + +Fixes: + +- [(Insiders/1.2.10) "Cannot read property 'then' of undefined](https://github.com/Microsoft/vscode-eslint/issues/240) + +### 1.2.10 + +Performance work around code actions and validation. Fixed: + +- [Slowdown on code assist with eslint enabled](https://github.com/Microsoft/vscode-eslint/issues/215) + +### 1.2.9 + +This version was an internal test release which wasn't available in the market place + +### 1.2.8 + +### Fixes: + +- [Linting is still enabled when viewing git diff.](https://github.com/Microsoft/vscode-eslint/issues/216) + +### 1.2.7 + +#### Fixes: + +- [Don't lint git diff.](https://github.com/Microsoft/vscode-eslint/issues/200) + +### 1.2.6 + +#### Fixes: + +- [Do not always run eslint from the project's root directory](https://github.com/Microsoft/vscode-eslint/issues/196) +- [baseDir should be an absolute path](https://github.com/Microsoft/vscode-eslint/issues/202) + + +### 1.2.5 + +- Validating a single file (no workspace folder open) will set the working directory to the directory containing the file. +- Added support for working directories. ESLint resolves configuration files relative to a working directory. This new settings allows users to control which working directory is used for which files. Consider the following setups: + +``` +client/ + .eslintignore + .eslintrc.json + client.js +server/ + .eslintignore + .eslintrc.json + server.js +``` + +Then using the setting: +```json + "eslint.workingDirectories": [ + "./client", "./server" + ] +``` +will validate files inside the server directory with the server directory as the current working directory. Same for files in the client directory. If the setting is omitted the working directory is the workspace folder. + + +### 1.2.4 + +- fixes [.eslintignore is completely ignored](https://github.com/Microsoft/vscode-eslint/issues/198) +- reverted fix for [Does not respect nested eslintignore files](https://github.com/Microsoft/vscode-eslint/issues/111) since it broke the use case of a single global .eslintrc file + +### 1.2.3 + +- Bug fixes: + - [Does not respect nested eslintignore files](https://github.com/Microsoft/vscode-eslint/issues/111) + - [eslintrc configuration cascading not being honored ](https://github.com/Microsoft/vscode-eslint/issues/97) + - [autoFixOnSave not working with eslint.run=onSave](https://github.com/Microsoft/vscode-eslint/issues/158) + - [autoFixOnSave not listed under Settings Options in Readme](https://github.com/Microsoft/vscode-eslint/issues/188) + +### 1.2.2 + +- Added configuration options to enable code actions and auto fix on save selectively per language. In release 1.2.1 code actions and auto fix on save very still only +available for JavaScript. In 1.2.2 you can now enable this selectively per language. For compatibility it is enabled by default for JavaScript and disabled by default for all +other languages. The reason is that I encounter cases for non JavaScript file types where the computed fixes had wrong positions resulting in 'broken' documents. To enable it simply +provide an object literal in the validate setting with the properties `language` and `autoFix` instead of a simple `string`. An example is: +```json +"eslint.validate": [ "javascript", "javascriptreact", { "language": "html", "autoFix": true } ] +``` + +### 1.2.1 + +- Added support to validate file types other than JavaScript. To enable this, you need to do the following: + - Configure ESLint with an additional plugin to do the actual validation. For example, to validate HTML files install +`eslint-plugin-html` using `npm install eslint-plugin-html --save-dev` and update the eslint configuration (e.g. .eslintrc.json file) +with `"plugin": [ "html" ]`. + - Add the corresponding language identifier to the `eslint.validate` setting. Something like `"eslint.validate": [ "javascript", "javascriptreact", "html" ]`. +If the setting is missing, it defaults to `["javascript", "javascriptreact"]` + +Please note that code actions and auto fix on save is still only available for JavaScript. The reason is that I detected position problems with fixes contributed by plugins +resulting in broken source code when applied. + +### 1.1.0 + +- Supports more than one ESLint module installation in a workspace. This eases working with typical client / server setups where ESLint is installed +in a `node_modules` folder in the `server` and the `client` directory. +- Improved error handling if a plugin can't be loaded. +- Added commands to enable and disable ESLint. + +### 1.0.8 + +- Supports auto fix on save. Needs to be enabled via `"eslint.autoFixOnSave": true`. Please note that auto fix on save will only happen +if the save happened manually or via focus lost. This is consistent with VS Code's format on save behavior. Auto fix on save requires +VS Code version 1.6 or newer. + +### 1.0.7 + +- Fixed problem with validating package.json when editing .eslintrc.* files. + +### 1.0.5 + +- Moving to official 2.5.0 language server libraries. + +### 1.0.4 + +- Bug fixing: eslint is validating package.json files + +### 1.0.3 + +- Errors in configuration files are only shown in a status message if the file is not open in the editor. Otherwise message are shown in the output channel only. + +### 1.0.2 + +- Added a status bar item to inform the user about problems with ESLint. A message box only appears if the user attention is required. +- Improved handling of missing corrupted configuration files. +- The ESLint package is now loaded from parent folders as well. +- Added an action to create a .eslintrc.json file. diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/License.txt b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/License.txt new file mode 100644 index 00000000..dcdd1210 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/License.txt @@ -0,0 +1,17 @@ +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/README.md b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/README.md new file mode 100644 index 00000000..c25f562c --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/README.md @@ -0,0 +1,261 @@ +# VS Code ESLint extension + +[![Build Status](https://dev.azure.com/ms/vscode-eslint/_apis/build/status/Microsoft.vscode-eslint)](https://dev.azure.com/ms/vscode-eslint/_build/latest?definitionId=18) + +Integrates [ESLint](http://eslint.org/) into VS Code. If you are new to ESLint check the [documentation](http://eslint.org/). + +The extension uses the ESLint library installed in the opened workspace folder. If the folder doesn't provide one the extension looks for a global install version. If you haven't installed ESLint either locally or globally do so by running `npm install eslint` in the workspace folder for a local install or `npm install -g eslint` for a global install. + +On new folders you might also need to create a `.eslintrc` configuration file. You can do this by either using the VS Code command `Create ESLint configuration` or by running the `eslint` command in a terminal. If you have installed ESLint globally (see above) then run [`eslint --init`](http://eslint.org/docs/user-guide/command-line-interface) in a terminal. If you have installed ESLint locally then run [`.\node_modules\.bin\eslint --init`](http://eslint.org/docs/user-guide/command-line-interface) under Windows and [`./node_modules/.bin/eslint --init`](http://eslint.org/docs/user-guide/command-line-interface) under Linux and Mac. + +## Release Notes + +This section describes major releases and their improvements. For a detailed list of changes please refer to the [change log](https://github.com/Microsoft/vscode-eslint/blob/HEAD/./CHANGELOG.md); + +### Version 2.1.22 + +Adapt VS Code's workspace trust model. As a consequence the custom dialog ESLint introduced in version `2.1.7` got removed. In addition the `off` value got added to the eslint rule customization support. + +### Version 2.1.20 + +Added support to customize the severity of eslint rules. See the new setting `eslint.rules.customizations`. + +### Version 2.1.18 + +Asking for confirmation of the `eslint.nodePath` value revealed a setup where that value is defined separately on a workspace folder level although a multi workspace folder setup is open (e.g. a code-workspace file). These setups need to define the `eslint.nodePath` value in the corresponding `code-workspace` file and the extension now warns the user about it. Below an example of such a `code-workspace` file + +```json +{ + "folders": [ + { + "path": "project-a" + }, + { + "path": "project-b" + } + ], + "settings": { + "eslint.nodePath": "myCustomNodePath" + } +} +``` + +### Version 2.1.17 + +To follow VS Code's model to confirm workspace local settings that impact code execution the two settings `eslint.runtime` and `eslint.nodePath` now need user confirmation if defined locally in a workspace folder or a workspace file. Users using these settings in those local scopes will see a notification reminding them of the confirmation need. + +The version also adds a command to restart the ESLint server. + +### Version 2.1.10 + +The approval flow to allow the execution of a ESLint library got reworked. Its initial experience is now as follows: + +- no modal dialog is shown when the ESLint extension tries to load an ESLint library for the first time and an approval is necessary. Instead the ESLint status bar item changes to ![ESLint status icon](https://github.com/Microsoft/vscode-eslint/raw/HEAD/images/2_1_10/eslint-status.png) indicating that the execution is currently block. +- if the active text editor content would be validated using ESLint, a problem at the top of the file is shown in addition. + +The execution of the ESLint library can be denied or approved using the following gestures: +- clicking on the status bar icon +- using the quick fix for the corresponding ESLint problem +- executing the command `ESLint: Manage Library Execution` from the command palette + +All gestures will open the following dialog: + +![ESLint Dialog](https://github.com/Microsoft/vscode-eslint/raw/HEAD/images/2_1_10/eslint-dialog.png) + +The chosen action is then reflected in the ESLint status bar item in the following way: + +- `Allow` will prefix the status bar item with a check mark. +- `Allow Everywhere` will prefix the status bar item with a double check mark. +- `Deny` and `Disable` will prefix the status bar item with a blocked sign. + +You can manage our decisions using the following commands: + +- `ESLint: Manage Library Execution` will reopen aboves dialog +- `ESLint: Reset Library Decisions` lets you reset previous decisions who have made. + +This release also addresses the vulnerability described in [CVE-2021-27081](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-27081). + +### Version 2.0.4 + +The 2.0.4 version of the extension contains the following major improvements: + +* Improved TypeScript detection - As soon as TypeScript is correctly configured inside ESLint, you no longer need additional configuration through VS Code's `eslint.validate` setting. The same is true for HTML and Vue.js files. +* Glob working directory support - Projects that have a complex folder structure and need to customize the working directories via `eslint.workingDirectories` can now use glob patterns instead of listing every project folder. For example, `{ "pattern": "code-*" }` will match all project folders starting with `code-`. In addition, the extension now changes the working directory by default. You can disable this feature with the new `!cwd` property. +* Formatter support: ESLint can now be used as a formatter. To enable this feature use the `eslint.format.enable` setting. +* Improved Auto Fix on Save - Auto Fix on Save is now part of VS Code's Code Action on Save infrastructure and computes all possible fixes in one round. It is customized via the `editor.codeActionsOnSave` setting. The setting supports the ESLint specific property `source.fixAll.eslint`. The extension also respects the generic property `source.fixAll`. + +The setting below turns on Auto Fix for all providers including ESLint: + +```json + "editor.codeActionsOnSave": { + "source.fixAll": true + } +``` + +In contrast, this configuration only turns it on for ESLint: + +```json + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + } +``` + +You can also selectively disable ESLint via: + +```json + "editor.codeActionsOnSave": { + "source.fixAll": true, + "source.fixAll.eslint": false + } +``` + +Also note that there is a time budget of 750ms to run code actions on save which might not be enough for large JavaScript / TypeScript file. You can increase the time budget using the `editor.codeActionsOnSaveTimeout` setting. + +The old `eslint.autoFixOnSave` setting is now deprecated and can safely be removed. + +## Settings Options + +If you are using an ESLint extension version < 2.x then please refer to the settings options [here](https://github.com/microsoft/vscode-eslint/blob/master/history/settings_1_9_x.md). + +This extension contributes the following variables to the [settings](https://code.visualstudio.com/docs/customization/userandworkspace): + +- `eslint.enable`: enable/disable ESLint. Is enabled by default. This setting got deprecated in favour of enabling / disabling the extension in the Extension's viewlet. +- `eslint.debug`: enables ESLint's debug mode (same as --debug command line option). Please see the ESLint output channel for the debug output. This options is very helpful to track down configuration and installation problems with ESLint since it provides verbose information about how ESLint is validating a file. +- `eslint.lintTask.enable`: whether the extension contributes a lint task to lint a whole workspace folder. +- `eslint.lintTask.options`: Command line options applied when running the task for linting the whole workspace (https://eslint.org/docs/user-guide/command-line-interface). + An example to point to a custom `.eslintrc.json` file and a custom `.eslintignore` is: + ```json + { + "eslint.lintTask.options": "-c C:/mydirectory/.eslintrc.json --ignore-path C:/mydirectory/.eslintignore ." + } + ``` +- `eslint.packageManager`: controls the package manager to be used to resolve the ESLint library. This has only an influence if the ESLint library is resolved globally. Valid values are `"npm"` or `"yarn"` or `"pnpm"`. +- `eslint.options`: options to configure how ESLint is started using the [ESLint CLI Engine API](http://eslint.org/docs/developer-guide/nodejs-api#cliengine). Defaults to an empty option bag. + An example to point to a custom `.eslintrc.json` file is: + ```json + { + "eslint.options": { "configFile": "C:/mydirectory/.eslintrc.json" } + } + ``` +- `eslint.run` - run the linter `onSave` or `onType`, default is `onType`. +- `eslint.quiet` - ignore warnings. +- `eslint.runtime` - use this setting to set the path of the node runtime to run ESLint under. [Use `"node"`](https://github.com/microsoft/vscode-eslint/issues/1233#issuecomment-815521280) if you want to use your default system version of node. +- `eslint.nodeEnv` - use this setting if an ESLint plugin or configuration needs `process.env.NODE_ENV` to be defined. +- `eslint.nodePath` - use this setting if an installed ESLint package can't be detected, for example `/myGlobalNodePackages/node_modules`. +- `eslint.probe` = an array for language identifiers for which the ESLint extension should be activated and should try to validate the file. If validation fails for probed languages the extension says silent. Defaults to `["javascript", "javascriptreact", "typescript", "typescriptreact", "html", "vue", "markdown"]`. +- `eslint.validate` - an array of language identifiers specifying the files for which validation is to be enforced. This is an old legacy setting and should in normal cases not be necessary anymore. Defaults to `["javascript", "javascriptreact"]`. +- `eslint.format.enable`: enables ESLint as a formatter for validated files. Although you can also use the formatter on save using the setting `editor.formatOnSave` it is recommended to use the `editor.codeActionsOnSave` feature since it allows for better configurability. +- `eslint.workingDirectories` - specifies how the working directories ESLint is using are computed. ESLint resolves configuration files (e.g. `eslintrc`, `.eslintignore`) relative to a working directory so it is important to configure this correctly. If executing ESLint in the terminal requires you to change the working directory in the terminal into a sub folder then it is usually necessary to tweak this setting. (see also [CLIEngine options#cwd](https://eslint.org/docs/developer-guide/nodejs-api#cliengine)). Please also keep in mind that the `.eslintrc*` file is resolved considering the parent directories whereas the `.eslintignore` file is only honored in the current working directory. The following values can be used: + - `[{ "mode": "location" }]` (@since 2.0.0): instructs ESLint to uses the workspace folder location or the file location (if no workspace folder is open) as the working directory. This is the default and is the same strategy as used in older versions of the ESLint extension (1.9.x versions). + - `[{ "mode": "auto" }]` (@since 2.0.0): instructs ESLint to infer a working directory based on the location of `package.json`, `.eslintignore` and `.eslintrc*` files. This might work in many cases but can lead to unexpected results as well. + - `string[]`: an array of working directories to use. + Consider the following directory layout: + ``` + root/ + client/ + .eslintrc.json + client.js + server/ + .eslintignore + .eslintrc.json + server.js + ``` + Then using the setting: + ```javascript + "eslint.workingDirectories": [ "./client", "./server" ] + ``` + will validate files inside the server directory with the server directory as the current eslint working directory. Same for files in the client directory. The ESLint extension will also change the process's working directory to the provided directories. If this is not wanted a literal with the `!cwd` property can be used (e.g. `{ "directory": "./client", "!cwd": true }`). This will use the client directory as the ESLint working directory but will not change the process`s working directory. + - `[{ "pattern": glob pattern }]` (@since 2.0.0): Allows to specify a pattern to detect the working directory. This is basically a short cut for listing every directory. If you have a mono repository with all your projects being below a packages folder you can use `{ "pattern": "./packages/*/" }` to make all these folders working directories. +- `eslint.codeAction.disableRuleComment` - object with properties: + - `enable` - show disable lint rule in the quick fix menu. `true` by default. + - `location` - choose to either add the `eslint-disable` comment on the `separateLine` or `sameLine`. `separateLine` is the default. + Example: + ```json + { "enable": true, "location": "sameLine" } + ``` +- `eslint.codeAction.showDocumentation` - object with properties: + - `enable` - show open lint rule documentation web page in the quick fix menu. `true` by default. + +- `eslint.codeActionsOnSave.mode` (@since 2.0.12): controls which problems are fix when running code actions on save + - `all`: fixes all possible problems by revalidating the file's content. This executes the same code path as running eslint with the `--fix` option in the terminal and therefore can take some time. This is the default value. + - `problems`: fixes only the currently known fixable problems as long as their textual edits are non overlapping. This mode is a lot faster but very likely only fixes parts of the problems. + +- `eslint.rules.customizations` (@since 2.1.20): force rules to report a different severity within VS Code compared to the project's true ESLint configuration. Contains two properties: + - `"rule`": Select on rules with names that match, factoring in asterisks as wildcards: `{ "rule": "no-*", "severity": "warn" }` + - Prefix the name with a `"!"` to target all rules that _don't_ match the name: `{ "rule": "!no-*", "severity": "info" }` + - `"severity"`: Sets a new severity for matched rule(s), `"downgrade"`s them to a lower severity, `"upgrade"`s them to a higher severity, or `"default"`s them to their original severity + + In this example, all rules are overridden to warnings: + + ```json + "eslint.rules.customizations": [ + { "rule": "*", "severity": "warn" } + ] + ``` + + In this example, `no-` rules are informative, other rules are downgraded, and `"radix"` is reset to default: + + ```json + "eslint.rules.customizations": [ + { "rule": "no-*", "severity": "info" }, + { "rule": "!no-*", "severity": "downgrade" }, + { "rule": "radix", "severity": "default" } + ] + ``` + +- `eslint.format.enable` (@since 2.0.0): uses ESlint as a formatter for files that are validated by ESLint. If enabled please ensure to disable other formatters if you want to make this the default. A good way to do so is to add the following setting `"[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }` for JavaScript. For TypeScript you need to add `"[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }`. +- `eslint.onIgnoredFiles` (@since 2.0.10): used to control whether warnings should be generated when trying to lint ignored files. Default is `off`. Can be set to `warn`. +- `editor.codeActionsOnSave` (@since 2.0.0): this setting now supports an entry `source.fixAll.eslint`. If set to true all auto-fixable ESLint errors from all plugins will be fixed on save. You can also selectively enable and disabled specific languages using VS Code's language scoped settings. To disable `codeActionsOnSave` for HTML files use the following setting: + +```json + "[html]": { + "editor.codeActionsOnSave": { + "source.fixAll.eslint": false + } + } +``` + +The old `eslint.autoFixOnSave` setting is now deprecated and can safely be removed. Please also note that if you use ESLint as your default formatter you should turn off `editor.formatOnSave` when you have turned on `editor.codeActionsOnSave`. Otherwise you file gets fixed twice which in unnecessary. + +## Settings Migration + +If the old `eslint.autoFixOnSave` option is set to true ESLint will prompt to convert it to the new `editor.codeActionsOnSave` format. If you want to avoid the migration you can respond in the dialog in the following ways: + +- Not now: the setting will not be migrated by ESLint prompts again the next time you open the workspace +- Never migrate Settings: the settings migration will be disabled by changing the user setting `eslint.migration.2_x` to `off` + +The migration can always be triggered manually using the command `ESLint: Migrate Settings` + +## Commands: + +This extension contributes the following commands to the Command palette. + +- `Create '.eslintrc.json' file`: creates a new `.eslintrc.json` file. +- `Fix all auto-fixable problems`: applies ESLint auto-fix resolutions to all fixable problems. +- `Reset Library Decisions`: Resets the ESLint library validation confirmations. +- `Manage Library Execution`: Opens the library execution confirmation dialog. + +## Using the extension with VS Code's task running + +The extension is linting an individual file only on typing. If you want to lint the whole workspace set `eslint.lintTask.enable` to `true` and the extension will also contribute the `eslint: lint whole folder` task. There is no need anymore to define a custom task in `tasks.json`. + +## Using ESLint to validate TypeScript files + +A great introduction on how to lint TypeScript using ESlint can be found in the [TypeScript - ESLint](https://github.com/typescript-eslint/typescript-eslint). Please make yourself familiar with the introduction before using the VS Code ESLint extension in a TypeScript setup. Especially make sure that you can validate TypeScript files successfully in a terminal using the `eslint` command. + +This project itself uses ESLint to validate its TypeScript files. So it can be used as a blueprint to get started. + +To avoid validation from any TSLint installation disable TSLint using `"tslint.enable": false`. + +### Mono repository setup + +As with JavaScript validating TypeScript in a mono repository requires that you tell the VS Code ESLint extension what the current working directories are. Use the `eslint.workingDirectories` setting to do so. For this repository the working directory setup looks as follows: + +```json + "eslint.workingDirectories": [ "./client", "./server" ] +``` + +## ESLint 6.x + +Migrating from ESLint 5.x to ESLint 6.x might need some adaption (see the [ESLint Migration Guide](https://eslint.org/docs/user-guide/migrating-to-6.0.0) for details). Before filing an issue against the VS Code ESLint extension please ensure that you can successfully validate your files in a terminal using the eslint command. + diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/SECURITY.md b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/SECURITY.md new file mode 100644 index 00000000..1f9d3d44 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). + + \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/ThirdPartyNotices.txt b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/ThirdPartyNotices.txt new file mode 100644 index 00000000..7361cb69 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/ThirdPartyNotices.txt @@ -0,0 +1,31 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +For Microsoft vscode-eslint + +This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). +Microsoft is not the original author of the Third Party Code. The original copyright notice and license +under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed +to you under their original license terms set forth below. Microsoft reserves all other rights not expressly +granted, whether by implication, estoppel or otherwise. + +1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) + +This project is licensed under the MIT license. +Copyrights are respective of each contributor listed at the beginning of each definition file. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/client/out/extension.js b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/client/out/extension.js new file mode 100644 index 00000000..59904246 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/client/out/extension.js @@ -0,0 +1,2 @@ +!function(e,t){for(var n in t)e[n]=t[n];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{var e={5623:e=>{"use strict";function t(e,t,r){e instanceof RegExp&&(e=n(e,r)),t instanceof RegExp&&(t=n(t,r));var o=i(e,t,r);return o&&{start:o[0],end:o[1],pre:r.slice(0,o[0]),body:r.slice(o[0]+e.length,o[1]),post:r.slice(o[1]+t.length)}}function n(e,t){var n=t.match(e);return n?n[0]:null}function i(e,t,n){var i,r,o,s,a,c=n.indexOf(e),l=n.indexOf(t,c+1),u=c;if(c>=0&&l>0){for(i=[],o=n.length;u>=0&&!a;)u==c?(i.push(u),c=n.indexOf(e,u+1)):1==i.length?a=[i.pop(),l]:((r=i.pop())=0?c:l;i.length&&(a=[o,s])}return a}e.exports=t,t.range=i},3644:(e,t,n)=>{var i=n(1048),r=n(5623);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),v(function(e){return e.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(a).split("\\,").join(c).split("\\.").join(l)}(e),!0).map(d)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",c="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function u(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function d(e){return e.split(o).join("\\").split(s).join("{").split(a).join("}").split(c).join(",").split(l).join(".")}function p(e){if(!e)return[""];var t=[],n=r("{","}",e);if(!n)return e.split(",");var i=n.pre,o=n.body,s=n.post,a=i.split(",");a[a.length-1]+="{"+o+"}";var c=p(s);return s.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),t.push.apply(t,a),t}function h(e){return"{"+e+"}"}function g(e){return/^-?0\d/.test(e)}function f(e,t){return e<=t}function m(e,t){return e>=t}function v(e,t){var n=[],o=r("{","}",e);if(!o||/\$$/.test(o.pre))return[e];var s,c=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o.body),d=c||l,y=o.body.indexOf(",")>=0;if(!d&&!y)return o.post.match(/,.*\}/)?v(e=o.pre+"{"+o.body+a+o.post):[e];if(d)s=o.body.split(/\.\./);else if(1===(s=p(o.body)).length&&1===(s=v(s[0],!1).map(h)).length)return(R=o.post.length?v(o.post,!1):[""]).map((function(e){return o.pre+s[0]+e}));var C,w=o.pre,R=o.post.length?v(o.post,!1):[""];if(d){var S=u(s[0]),b=u(s[1]),T=Math.max(s[0].length,s[1].length),_=3==s.length?Math.abs(u(s[2])):1,k=f;b0){var O=new Array(E+1).join("0");P=x<0?"-"+O+P.slice(1):O+P}}C.push(P)}}else C=i(s,(function(e){return v(e,!1)}));for(var F=0;F{e.exports=function(e,n){for(var i=[],r=0;r{"use strict";const i=n(4411),r=Symbol("max"),o=Symbol("length"),s=Symbol("lengthCalculator"),a=Symbol("allowStale"),c=Symbol("maxAge"),l=Symbol("dispose"),u=Symbol("noDisposeOnSet"),d=Symbol("lruList"),p=Symbol("cache"),h=Symbol("updateAgeOnGet"),g=()=>1,f=(e,t,n)=>{const i=e[p].get(t);if(i){const t=i.value;if(m(e,t)){if(y(e,i),!e[a])return}else n&&(e[h]&&(i.value.now=Date.now()),e[d].unshiftNode(i));return t.value}},m=(e,t)=>{if(!t||!t.maxAge&&!e[c])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[c]&&n>e[c]},v=e=>{if(e[o]>e[r])for(let t=e[d].tail;e[o]>e[r]&&null!==t;){const n=t.prev;y(e,t),t=n}},y=(e,t)=>{if(t){const n=t.value;e[l]&&e[l](n.key,n.value),e[o]-=n.length,e[p].delete(n.key),e[d].removeNode(t)}};class C{constructor(e,t,n,i,r){this.key=e,this.value=t,this.length=n,this.now=i,this.maxAge=r||0}}const w=(e,t,n,i)=>{let r=n.value;m(e,r)&&(y(e,n),e[a]||(r=void 0)),r&&t.call(i,r.value,r.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[r]=e.max||1/0;const t=e.length||g;if(this[s]="function"!=typeof t?g:t,this[a]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[c]=e.maxAge||0,this[l]=e.dispose,this[u]=e.noDisposeOnSet||!1,this[h]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,v(this)}get max(){return this[r]}set allowStale(e){this[a]=!!e}get allowStale(){return this[a]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,v(this)}get maxAge(){return this[c]}set lengthCalculator(e){"function"!=typeof e&&(e=g),e!==this[s]&&(this[s]=e,this[o]=0,this[d].forEach((e=>{e.length=this[s](e.value,e.key),this[o]+=e.length}))),v(this)}get lengthCalculator(){return this[s]}get length(){return this[o]}get itemCount(){return this[d].length}rforEach(e,t){t=t||this;for(let n=this[d].tail;null!==n;){const i=n.prev;w(this,e,n,t),n=i}}forEach(e,t){t=t||this;for(let n=this[d].head;null!==n;){const i=n.next;w(this,e,n,t),n=i}}keys(){return this[d].toArray().map((e=>e.key))}values(){return this[d].toArray().map((e=>e.value))}reset(){this[l]&&this[d]&&this[d].length&&this[d].forEach((e=>this[l](e.key,e.value))),this[p]=new Map,this[d]=new i,this[o]=0}dump(){return this[d].map((e=>!m(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[d]}set(e,t,n){if((n=n||this[c])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[s](t,e);if(this[p].has(e)){if(a>this[r])return y(this,this[p].get(e)),!1;const s=this[p].get(e).value;return this[l]&&(this[u]||this[l](e,s.value)),s.now=i,s.maxAge=n,s.value=t,this[o]+=a-s.length,s.length=a,this.get(e),v(this),!0}const h=new C(e,t,a,i,n);return h.length>this[r]?(this[l]&&this[l](e,t),!1):(this[o]+=h.length,this[d].unshift(h),this[p].set(e,this[d].head),v(this),!0)}has(e){if(!this[p].has(e))return!1;const t=this[p].get(e).value;return!m(this,t)}get(e){return f(this,e,!0)}peek(e){return f(this,e,!1)}pop(){const e=this[d].tail;return e?(y(this,e),e.value):null}del(e){y(this,this[p].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const i=e[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const e=r-t;e>0&&this.set(i.k,i.v,e)}}}prune(){this[p].forEach(((e,t)=>f(this,t,!1)))}}},1171:(e,t,n)=>{e.exports=p,p.Minimatch=h;var i={sep:"/"};try{i=n(5622)}catch(e){}var r=p.GLOBSTAR=h.GLOBSTAR={},o=n(3644),s={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},a="[^/]",c="[^/]*?",l="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),u=/\/+/;function d(e,t){e=e||{},t=t||{};var n={};return Object.keys(t).forEach((function(e){n[e]=t[e]})),Object.keys(e).forEach((function(t){n[t]=e[t]})),n}function p(e,t,n){if("string"!=typeof t)throw new TypeError("glob pattern string required");return n||(n={}),!(!n.nocomment&&"#"===t.charAt(0))&&(""===t.trim()?""===e:new h(t,n).match(e))}function h(e,t){if(!(this instanceof h))return new h(e,t);if("string"!=typeof e)throw new TypeError("glob pattern string required");t||(t={}),e=e.trim(),"/"!==i.sep&&(e=e.split(i.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function g(e,t){if(t||(t=this instanceof h?this.options:{}),void 0===(e=void 0===e?this.pattern:e))throw new TypeError("undefined pattern");return t.nobrace||!e.match(/\{.*\}/)?[e]:o(e)}p.filter=function(e,t){return t=t||{},function(n,i,r){return p(n,e,t)}},p.defaults=function(e){if(!e||!Object.keys(e).length)return p;var t=p,n=function(n,i,r){return t.minimatch(n,i,d(e,r))};return n.Minimatch=function(n,i){return new t.Minimatch(n,d(e,i))},n},h.defaults=function(e){return e&&Object.keys(e).length?p.defaults(e).Minimatch:h},h.prototype.debug=function(){},h.prototype.make=function(){if(!this._made){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var n=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error),this.debug(this.pattern,n),n=this.globParts=n.map((function(e){return e.split(u)})),this.debug(this.pattern,n),n=n.map((function(e,t,n){return e.map(this.parse,this)}),this),this.debug(this.pattern,n),n=n.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0}},h.prototype.parseNegate=function(){var e=this.pattern,t=!1,n=0;if(!this.options.nonegate){for(var i=0,r=e.length;i65536)throw new TypeError("pattern is too long");var n=this.options;if(!n.noglobstar&&"**"===e)return r;if(""===e)return"";var i,o="",u=!!n.nocase,d=!1,p=[],h=[],g=!1,m=-1,v=-1,y="."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",C=this;function w(){if(i){switch(i){case"*":o+=c,u=!0;break;case"?":o+=a,u=!0;break;default:o+="\\"+i}C.debug("clearStateChar %j %j",i,o),i=!1}}for(var R,S=0,b=e.length;S-1;E--){var O=h[E],F=o.slice(0,O.reStart),q=o.slice(O.reStart,O.reEnd-8),N=o.slice(O.reEnd-8,O.reEnd),I=o.slice(O.reEnd);N+=I;var A=F.split("(").length-1,L=I;for(S=0;S=0&&!(r=e[o]);o--);for(o=0;o>> no match, partial?",e,p,t,h),p!==a))}if("string"==typeof u?(l=i.nocase?d.toLowerCase()===u.toLowerCase():d===u,this.debug("string match",u,d,l)):(l=d.match(u),this.debug("pattern match",u,d,l)),!l)return!1}if(o===a&&s===c)return!0;if(o===a)return n;if(s===c)return o===a-1&&""===e[o];throw new Error("wtf?")}},2257:(e,t,n)=>{const i=Symbol("SemVer ANY");class r{static get ANY(){return i}constructor(e,t){if(t=o(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}l("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===i?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){const t=this.options.loose?s[a.COMPARATORLOOSE]:s[a.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new u(n[2],this.options.loose):this.semver=i}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===i||e===i)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return c(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new d(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new d(this.value,t).test(e.semver);const n=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=c(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),l=c(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return n||i||o&&s||a||l}}e.exports=r;const o=n(2893),{re:s,t:a}=n(5765),c=n(7539),l=n(4225),u=n(6376),d=n(6902)},6902:(e,t,n)=>{class i{constructor(e,t){if(t=o(t),e instanceof i)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new i(e.raw,t);if(e instanceof s)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!g(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&f(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=r.get(t);if(n)return n;const i=this.options.loose,o=i?l[u.HYPHENRANGELOOSE]:l[u.HYPHENRANGE];e=e.replace(o,D(this.options.includePrerelease)),a("hyphen replace",e),e=e.replace(l[u.COMPARATORTRIM],d),a("comparator trim",e,l[u.COMPARATORTRIM]),e=(e=(e=e.replace(l[u.TILDETRIM],p)).replace(l[u.CARETTRIM],h)).split(/\s+/).join(" ");const c=i?l[u.COMPARATORLOOSE]:l[u.COMPARATOR],f=e.split(" ").map((e=>v(e,this.options))).join(" ").split(/\s+/).map((e=>k(e,this.options))).filter(this.options.loose?e=>!!e.match(c):()=>!0).map((e=>new s(e,this.options))),m=(f.length,new Map);for(const e of f){if(g(e))return[e];m.set(e.value,e)}m.size>1&&m.has("")&&m.delete("");const y=[...m.values()];return r.set(t,y),y}intersects(e,t){if(!(e instanceof i))throw new TypeError("a Range is required");return this.set.some((n=>m(n,t)&&e.set.some((e=>m(e,t)&&n.every((n=>e.every((e=>n.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,f=e=>""===e.value,m=(e,t)=>{let n=!0;const i=e.slice();let r=i.pop();for(;n&&i.length;)n=i.every((e=>r.intersects(e,t))),r=i.pop();return n},v=(e,t)=>(a("comp",e,t),e=R(e,t),a("caret",e),e=C(e,t),a("tildes",e),e=b(e,t),a("xrange",e),e=_(e,t),a("stars",e),e),y=e=>!e||"x"===e.toLowerCase()||"*"===e,C=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{const n=t.loose?l[u.TILDELOOSE]:l[u.TILDE];return e.replace(n,((t,n,i,r,o)=>{let s;return a("tilde",e,t,n,i,r,o),y(n)?s="":y(i)?s=`>=${n}.0.0 <${+n+1}.0.0-0`:y(r)?s=`>=${n}.${i}.0 <${n}.${+i+1}.0-0`:o?(a("replaceTilde pr",o),s=`>=${n}.${i}.${r}-${o} <${n}.${+i+1}.0-0`):s=`>=${n}.${i}.${r} <${n}.${+i+1}.0-0`,a("tilde return",s),s}))},R=(e,t)=>e.trim().split(/\s+/).map((e=>S(e,t))).join(" "),S=(e,t)=>{a("caret",e,t);const n=t.loose?l[u.CARETLOOSE]:l[u.CARET],i=t.includePrerelease?"-0":"";return e.replace(n,((t,n,r,o,s)=>{let c;return a("caret",e,t,n,r,o,s),y(n)?c="":y(r)?c=`>=${n}.0.0${i} <${+n+1}.0.0-0`:y(o)?c="0"===n?`>=${n}.${r}.0${i} <${n}.${+r+1}.0-0`:`>=${n}.${r}.0${i} <${+n+1}.0.0-0`:s?(a("replaceCaret pr",s),c="0"===n?"0"===r?`>=${n}.${r}.${o}-${s} <${n}.${r}.${+o+1}-0`:`>=${n}.${r}.${o}-${s} <${n}.${+r+1}.0-0`:`>=${n}.${r}.${o}-${s} <${+n+1}.0.0-0`):(a("no pr"),c="0"===n?"0"===r?`>=${n}.${r}.${o}${i} <${n}.${r}.${+o+1}-0`:`>=${n}.${r}.${o}${i} <${n}.${+r+1}.0-0`:`>=${n}.${r}.${o} <${+n+1}.0.0-0`),a("caret return",c),c}))},b=(e,t)=>(a("replaceXRanges",e,t),e.split(/\s+/).map((e=>T(e,t))).join(" ")),T=(e,t)=>{e=e.trim();const n=t.loose?l[u.XRANGELOOSE]:l[u.XRANGE];return e.replace(n,((n,i,r,o,s,c)=>{a("xRange",e,n,i,r,o,s,c);const l=y(r),u=l||y(o),d=u||y(s),p=d;return"="===i&&p&&(i=""),c=t.includePrerelease?"-0":"",l?n=">"===i||"<"===i?"<0.0.0-0":"*":i&&p?(u&&(o=0),s=0,">"===i?(i=">=",u?(r=+r+1,o=0,s=0):(o=+o+1,s=0)):"<="===i&&(i="<",u?r=+r+1:o=+o+1),"<"===i&&(c="-0"),n=`${i+r}.${o}.${s}${c}`):u?n=`>=${r}.0.0${c} <${+r+1}.0.0-0`:d&&(n=`>=${r}.${o}.0${c} <${r}.${+o+1}.0-0`),a("xRange return",n),n}))},_=(e,t)=>(a("replaceStars",e,t),e.trim().replace(l[u.STAR],"")),k=(e,t)=>(a("replaceGTE0",e,t),e.trim().replace(l[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),D=e=>(t,n,i,r,o,s,a,c,l,u,d,p,h)=>`${n=y(i)?"":y(r)?`>=${i}.0.0${e?"-0":""}`:y(o)?`>=${i}.${r}.0${e?"-0":""}`:s?`>=${n}`:`>=${n}${e?"-0":""}`} ${c=y(l)?"":y(u)?`<${+l+1}.0.0-0`:y(d)?`<${l}.${+u+1}.0-0`:p?`<=${l}.${u}.${d}-${p}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`}`.trim(),x=(e,t,n)=>{for(let n=0;n0){const i=e[n].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}},6376:(e,t,n)=>{const i=n(4225),{MAX_LENGTH:r,MAX_SAFE_INTEGER:o}=n(3295),{re:s,t:a}=n(5765),c=n(2893),{compareIdentifiers:l}=n(6742);class u{constructor(e,t){if(t=c(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>r)throw new TypeError(`version is longer than ${r} characters`);i("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?s[a.LOOSE]:s[a.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}e.exports=u},3507:(e,t,n)=>{const i=n(3959);e.exports=(e,t)=>{const n=i(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}},7539:(e,t,n)=>{const i=n(8718),r=n(1194),o=n(1312),s=n(5903),a=n(1544),c=n(2056);e.exports=(e,t,n,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return i(e,n,l);case"!=":return r(e,n,l);case">":return o(e,n,l);case">=":return s(e,n,l);case"<":return a(e,n,l);case"<=":return c(e,n,l);default:throw new TypeError(`Invalid operator: ${t}`)}}},9038:(e,t,n)=>{const i=n(6376),r=n(3959),{re:o,t:s}=n(5765);e.exports=(e,t)=>{if(e instanceof i)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let n=null;if((t=t||{}).rtl){let t;for(;(t=o[s.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&t.index+t[0].length===n.index+n[0].length||(n=t),o[s.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;o[s.COERCERTL].lastIndex=-1}else n=e.match(o[s.COERCE]);return null===n?null:r(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,t)}},8880:(e,t,n)=>{const i=n(6376);e.exports=(e,t,n)=>{const r=new i(e,n),o=new i(t,n);return r.compare(o)||r.compareBuild(o)}},7880:(e,t,n)=>{const i=n(6269);e.exports=(e,t)=>i(e,t,!0)},6269:(e,t,n)=>{const i=n(6376);e.exports=(e,t,n)=>new i(e,n).compare(new i(t,n))},2378:(e,t,n)=>{const i=n(3959),r=n(8718);e.exports=(e,t)=>{if(r(e,t))return null;{const n=i(e),r=i(t),o=n.prerelease.length||r.prerelease.length,s=o?"pre":"",a=o?"prerelease":"";for(const e in n)if(("major"===e||"minor"===e||"patch"===e)&&n[e]!==r[e])return s+e;return a}}},8718:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>0===i(e,t,n)},1312:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>i(e,t,n)>0},5903:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>i(e,t,n)>=0},253:(e,t,n)=>{const i=n(6376);e.exports=(e,t,n,r)=>{"string"==typeof n&&(r=n,n=void 0);try{return new i(e,n).inc(t,r).version}catch(e){return null}}},1544:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>i(e,t,n)<0},2056:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>i(e,t,n)<=0},8679:(e,t,n)=>{const i=n(6376);e.exports=(e,t)=>new i(e,t).major},7789:(e,t,n)=>{const i=n(6376);e.exports=(e,t)=>new i(e,t).minor},1194:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>0!==i(e,t,n)},3959:(e,t,n)=>{const{MAX_LENGTH:i}=n(3295),{re:r,t:o}=n(5765),s=n(6376),a=n(2893);e.exports=(e,t)=>{if(t=a(t),e instanceof s)return e;if("string"!=typeof e)return null;if(e.length>i)return null;if(!(t.loose?r[o.LOOSE]:r[o.FULL]).test(e))return null;try{return new s(e,t)}catch(e){return null}}},2358:(e,t,n)=>{const i=n(6376);e.exports=(e,t)=>new i(e,t).patch},7559:(e,t,n)=>{const i=n(3959);e.exports=(e,t)=>{const n=i(e,t);return n&&n.prerelease.length?n.prerelease:null}},9795:(e,t,n)=>{const i=n(6269);e.exports=(e,t,n)=>i(t,e,n)},3657:(e,t,n)=>{const i=n(8880);e.exports=(e,t)=>e.sort(((e,n)=>i(n,e,t)))},5712:(e,t,n)=>{const i=n(6902);e.exports=(e,t,n)=>{try{t=new i(t,n)}catch(e){return!1}return t.test(e)}},1100:(e,t,n)=>{const i=n(8880);e.exports=(e,t)=>e.sort(((e,n)=>i(e,n,t)))},6397:(e,t,n)=>{const i=n(3959);e.exports=(e,t)=>{const n=i(e,t);return n?n.version:null}},1249:(e,t,n)=>{const i=n(5765);e.exports={re:i.re,src:i.src,tokens:i.t,SEMVER_SPEC_VERSION:n(3295).SEMVER_SPEC_VERSION,SemVer:n(6376),compareIdentifiers:n(6742).compareIdentifiers,rcompareIdentifiers:n(6742).rcompareIdentifiers,parse:n(3959),valid:n(6397),clean:n(3507),inc:n(253),diff:n(2378),major:n(8679),minor:n(7789),patch:n(2358),prerelease:n(7559),compare:n(6269),rcompare:n(9795),compareLoose:n(7880),compareBuild:n(8880),sort:n(1100),rsort:n(3657),gt:n(1312),lt:n(1544),eq:n(8718),neq:n(1194),gte:n(5903),lte:n(2056),cmp:n(7539),coerce:n(9038),Comparator:n(2257),Range:n(6902),satisfies:n(5712),toComparators:n(1042),maxSatisfying:n(5775),minSatisfying:n(1657),minVersion:n(5316),validRange:n(9042),outside:n(6826),gtr:n(7606),ltr:n(32),intersects:n(2937),simplifyRange:n(7908),subset:n(799)}},3295:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},4225:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},6742:e=>{const t=/^[0-9]+$/,n=(e,n)=>{const i=t.test(e),r=t.test(n);return i&&r&&(e=+e,n=+n),e===n?0:i&&!r?-1:r&&!i?1:en(t,e)}},2893:e=>{const t=["includePrerelease","loose","rtl"];e.exports=e=>e?"object"!=typeof e?{loose:!0}:t.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{}},5765:(e,t,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:i}=n(3295),r=n(4225),o=(t=e.exports={}).re=[],s=t.src=[],a=t.t={};let c=0;const l=(e,t,n)=>{const i=c++;r(i,t),a[e]=i,s[i]=t,o[i]=new RegExp(t,n?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${s[a.NUMERICIDENTIFIER]}|${s[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${s[a.NUMERICIDENTIFIERLOOSE]}|${s[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${s[a.PRERELEASEIDENTIFIER]}(?:\\.${s[a.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${s[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[a.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${s[a.BUILDIDENTIFIER]}(?:\\.${s[a.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${s[a.MAINVERSION]}${s[a.PRERELEASE]}?${s[a.BUILD]}?`),l("FULL",`^${s[a.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${s[a.MAINVERSIONLOOSE]}${s[a.PRERELEASELOOSE]}?${s[a.BUILD]}?`),l("LOOSE",`^${s[a.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${s[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${s[a.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:${s[a.PRERELEASE]})?${s[a.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:${s[a.PRERELEASELOOSE]})?${s[a.BUILD]}?)?)?`),l("XRANGE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${i}})(?:\\.(\\d{1,${i}}))?(?:\\.(\\d{1,${i}}))?(?:$|[^\\d])`),l("COERCERTL",s[a.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${s[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",l("TILDE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${s[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",l("CARET",`^${s[a.LONECARET]}${s[a.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${s[a.LONECARET]}${s[a.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${s[a.GTLT]}\\s*(${s[a.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]}|${s[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${s[a.XRANGEPLAIN]})\\s+-\\s+(${s[a.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${s[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[a.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0.0.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},7606:(e,t,n)=>{const i=n(6826);e.exports=(e,t,n)=>i(e,t,">",n)},2937:(e,t,n)=>{const i=n(6902);e.exports=(e,t,n)=>(e=new i(e,n),t=new i(t,n),e.intersects(t))},32:(e,t,n)=>{const i=n(6826);e.exports=(e,t,n)=>i(e,t,"<",n)},5775:(e,t,n)=>{const i=n(6376),r=n(6902);e.exports=(e,t,n)=>{let o=null,s=null,a=null;try{a=new r(t,n)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(o&&-1!==s.compare(e)||(o=e,s=new i(o,n)))})),o}},1657:(e,t,n)=>{const i=n(6376),r=n(6902);e.exports=(e,t,n)=>{let o=null,s=null,a=null;try{a=new r(t,n)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(o&&1!==s.compare(e)||(o=e,s=new i(o,n)))})),o}},5316:(e,t,n)=>{const i=n(6376),r=n(6902),o=n(1312);e.exports=(e,t)=>{e=new r(e,t);let n=new i("0.0.0");if(e.test(n))return n;if(n=new i("0.0.0-0"),e.test(n))return n;n=null;for(let t=0;t{const t=new i(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":s&&!o(t,s)||(s=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!s||n&&!o(n,s)||(n=s)}return n&&e.test(n)?n:null}},6826:(e,t,n)=>{const i=n(6376),r=n(2257),{ANY:o}=r,s=n(6902),a=n(5712),c=n(1312),l=n(1544),u=n(2056),d=n(5903);e.exports=(e,t,n,p)=>{let h,g,f,m,v;switch(e=new i(e,p),t=new s(t,p),n){case">":h=c,g=u,f=l,m=">",v=">=";break;case"<":h=l,g=d,f=c,m="<",v="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(a(e,t,p))return!1;for(let n=0;n{e.semver===o&&(e=new r(">=0.0.0")),s=s||e,a=a||e,h(e.semver,s.semver,p)?s=e:f(e.semver,a.semver,p)&&(a=e)})),s.operator===m||s.operator===v)return!1;if((!a.operator||a.operator===m)&&g(e,a.semver))return!1;if(a.operator===v&&f(e,a.semver))return!1}return!0}},7908:(e,t,n)=>{const i=n(5712),r=n(6269);e.exports=(e,t,n)=>{const o=[];let s=null,a=null;const c=e.sort(((e,t)=>r(e,t,n)));for(const e of c)i(e,t,n)?(a=e,s||(s=e)):(a&&o.push([s,a]),a=null,s=null);s&&o.push([s,null]);const l=[];for(const[e,t]of o)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push("*");const u=l.join(" || "),d="string"==typeof t.raw?t.raw:String(t);return u.length{const i=n(6902),{ANY:r}=n(2257),o=n(5712),s=n(6269),a=(e,t,n)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===r)return 1===t.length&&t[0].semver===r;const i=new Set;let a,u,d,p,h,g,f;for(const t of e)">"===t.operator||">="===t.operator?a=c(a,t,n):"<"===t.operator||"<="===t.operator?u=l(u,t,n):i.add(t.semver);if(i.size>1)return null;if(a&&u){if(d=s(a.semver,u.semver,n),d>0)return null;if(0===d&&(">="!==a.operator||"<="!==u.operator))return null}for(const e of i){if(a&&!o(e,String(a),n))return null;if(u&&!o(e,String(u),n))return null;for(const i of t)if(!o(e,String(i),n))return!1;return!0}for(const e of t){if(f=f||">"===e.operator||">="===e.operator,g=g||"<"===e.operator||"<="===e.operator,a)if(">"===e.operator||">="===e.operator){if(p=c(a,e,n),p===e&&p!==a)return!1}else if(">="===a.operator&&!o(a.semver,String(e),n))return!1;if(u)if("<"===e.operator||"<="===e.operator){if(h=l(u,e,n),h===e&&h!==u)return!1}else if("<="===u.operator&&!o(u.semver,String(e),n))return!1;if(!e.operator&&(u||a)&&0!==d)return!1}return!(a&&g&&!u&&0!==d||u&&f&&!a&&0!==d)},c=(e,t,n)=>{if(!e)return t;const i=s(e.semver,t.semver,n);return i>0?e:i<0||">"===t.operator&&">="===e.operator?t:e},l=(e,t,n)=>{if(!e)return t;const i=s(e.semver,t.semver,n);return i<0?e:i>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,n)=>{if(e===t)return!0;e=new i(e,n),t=new i(t,n);let r=!1;e:for(const i of e.set){for(const e of t.set){const t=a(i,e,n);if(r=r||null!==t,t)continue e}if(r)return!1}return!0}},1042:(e,t,n)=>{const i=n(6902);e.exports=(e,t)=>new i(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},9042:(e,t,n)=>{const i=n(6902);e.exports=(e,t)=>{try{return new i(e,t).range||"*"}catch(e){return null}}},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const o=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return o.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return o.Emitter}});const s=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const c=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const l=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return l.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return l.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return l.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return l.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return l.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return l.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return l.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return l.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return l.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return l.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return l.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return l.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return l.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return l.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),o=n(7135);var s;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:o.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:o.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(s=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class c{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new o.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new c),this._token}cancel(){this._token?this._token.cancel():this._token=s.Cancelled}dispose(){this._token?this._token instanceof c&&this._token.dispose():this._token=s.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),o=n(839),s=n(6184),a=n(7135),c=n(3881);var l,u,d,p,h,g,f,m,v,y,C,w,R;!function(e){e.type=new o.NotificationType("$/cancelRequest")}(l||(l={})),function(e){e.type=new o.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(p=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(p=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new o.NotificationType("$/setTrace")}(g=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new o.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=t.ConnectionErrors||(t.ConnectionErrors={}));class S extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,S.prototype)}}t.ConnectionError=S,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(v=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new c.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(y=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(l.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(C=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:y.Message,sender:C.Message}),e.is=function(e){const t=e;return t&&y.is(t.receiver)&&C.is(t.sender)}}(w=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(w.is(t.cancellationStrategy)||v.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(R||(R={})),t.createMessageConnection=function(e,n,v,y){const C=void 0!==v?v:t.NullLogger;let b=0,T=0,_=0;const k="2.0";let D;const x=Object.create(null);let P;const E=Object.create(null),O=new Map;let F,q,N=new s.LinkedMap,I=Object.create(null),A=Object.create(null),L=p.Off,M=h.Text,j=R.New;const $=new a.Emitter,W=new a.Emitter,K=new a.Emitter,U=new a.Emitter,H=new a.Emitter,z=y&&y.cancellationStrategy?y.cancellationStrategy:w.Message;function G(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function V(e){}function B(){return j===R.Listening}function X(){return j===R.Closed}function J(){return j===R.Disposed}function Y(){j!==R.New&&j!==R.Listening||(j=R.Closed,W.fire(void 0))}function Q(){F||0===N.size||(F=i.default().timer.setImmediate((()=>{F=void 0,function(){if(0===N.size)return;const e=N.shift();try{o.isRequestMessage(e)?function(e){if(J())return;function t(t,i,r){const s={jsonrpc:k,id:e.id};t instanceof o.ResponseError?s.error=t.toJson():s.result=void 0===t?null:t,ee(s,i,r),n.write(s)}function i(t,i,r){const o={jsonrpc:k,id:e.id,error:t.toJson()};ee(o,i,r),n.write(o)}!function(e){if(L!==p.Off&&q)if(M===h.Text){let t;L===p.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),q.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const s=x[e.method];let a,c;s&&(a=s.type,c=s.handler);const l=Date.now();if(c||D){const s=String(e.id),u=z.receiver.createCancellationTokenSource(s);A[s]=u;try{let d;if(c)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,l);d=c(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===o.ParameterStructures.byName)return void i(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);d=c(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===o.ParameterStructures.byPosition)return void i(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);d=c(e.params,u.token)}else D&&(d=D(e.method,e.params,u.token));const p=d;d?p.then?p.then((n=>{delete A[s],t(n,e.method,l)}),(t=>{delete A[s],t instanceof o.ResponseError?i(t,e.method,l):t&&r.string(t.message)?i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)})):(delete A[s],t(d,e.method,l)):(delete A[s],function(t,i,r){void 0===t&&(t=null);const o={jsonrpc:k,id:e.id,result:t};ee(o,i,r),n.write(o)}(d,e.method,l))}catch(n){delete A[s],n instanceof o.ResponseError?t(n,e.method,l):n&&r.string(n.message)?i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,l):i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else i(new o.ResponseError(o.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}(e):o.isNotificationMessage(e)?function(e){if(J())return;let t,n;if(e.method===l.type.method)n=e=>{const t=e.id,n=A[String(t)];n&&n.cancel()};else{const i=E[e.method];i&&(n=i.handler,t=i.type)}if(n||P)try{!function(e){if(L!==p.Off&&q&&e.method!==f.type.method)if(M===h.Text){let t;L===p.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),q.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==o.ParameterStructures.byName&&C.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===o.ParameterStructures.byName&&C.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&C.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===o.ParameterStructures.byPosition&&C.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):P&&P(e.method,e.params)}catch(t){t.message?C.error(`Notification handler '${e.method}' failed with message: ${t.message}`):C.error(`Notification handler '${e.method}' failed unexpectedly.`)}else K.fire(e)}(e):o.isResponseMessage(e)?function(e){if(!J())if(null===e.id)e.error?C.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):C.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=I[t];if(function(e,t){if(L!==p.Off&&q)if(M===h.Text){let n;if(L===p.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";q.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else q.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete I[t];try{if(e.error){const t=e.error;n.reject(new o.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?C.error(`Response handler '${n.method}' failed with message: ${e.message}`):C.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void C.error("Received empty message.");C.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=I[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Q()}}()})))}e.onClose(Y),e.onError((function(e){$.fire([e,void 0,void 0])})),n.onClose(Y),n.onError((function(e){$.fire(e)}));const Z=e=>{try{if(o.isNotificationMessage(e)&&e.method===l.type.method){const t=G(e.params.id),i=N.get(t);if(o.isRequestMessage(i)){const r=null==y?void 0:y.connectionStrategy,o=r&&r.cancelUndispatched?r.cancelUndispatched(i,V):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return N.delete(t),o.id=i.id,ee(o,e.method,Date.now()),void n.write(o)}}!function(e,t){var n;o.isRequestMessage(t)?e.set(G(t.id),t):o.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++_).toString():"res-"+n.toString(),t):e.set("not-"+(++T).toString(),t)}(N,e)}finally{Q()}};function ee(e,t,n){if(L!==p.Off&&q)if(M===h.Text){let i;L===p.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),q.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!q||L===p.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};q.log(n)}function ne(){if(X())throw new S(m.Closed,"Connection is closed.");if(J())throw new S(m.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function oe(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function se(e,t){switch(e){case o.ParameterStructures.auto:return oe(t)?re(t):[ie(t)];case o.ParameterStructures.byName:if(!oe(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case o.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=se(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,s;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=o.ParameterStructures.auto;o.ParameterStructures.is(n)&&(r=1,a=n);let c=t.length;const l=c-r;switch(l){case 0:s=void 0;break;case 1:s=se(a,t[r]);break;default:if(a===o.ParameterStructures.byName)throw new Error(`Recevied ${l} parameters for 'by Name' notification parameter structure.`);s=t.slice(r,c).map((e=>ie(e)))}}else{const n=t;i=e.method,s=ae(e,n)}const a={jsonrpc:k,method:i,params:s};!function(e){if(L!==p.Off&&q)if(M===h.Text){let t;L===p.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),q.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?P=e:t&&(r.string(e)?(n=e,E[e]={type:void 0,handler:t}):(n=e.method,E[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete E[n]:P=void 0}}},onProgress:(e,t,n)=>{if(O.has(t))throw new Error(`Progress handler for token ${t} already registered`);return O.set(t,n),{dispose:()=>{O.delete(t)}}},sendProgress:(e,t,n)=>{ce.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:U.event,sendRequest:(e,...t)=>{let i,s,a;if(ne(),function(){if(!B())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let l=0,u=o.ParameterStructures.auto;o.ParameterStructures.is(n)&&(l=1,u=n);let d=t.length;c.CancellationToken.is(r)&&(d-=1,a=r);const p=d-l;switch(p){case 0:s=void 0;break;case 1:s=se(u,t[l]);break;default:if(u===o.ParameterStructures.byName)throw new Error(`Recevied ${p} parameters for 'by Name' request parameter structure.`);s=t.slice(l,d).map((e=>ie(e)))}}else{const n=t;i=e.method,s=ae(e,n);const r=e.numberOfParams;a=c.CancellationToken.is(n[r])?n[r]:void 0}const l=b++;let u;return a&&(u=a.onCancellationRequested((()=>{z.sender.sendCancellation(ce,l)}))),new Promise(((e,t)=>{const r={jsonrpc:k,id:l,method:i,params:s};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),z.sender.cleanup(l),null==u||u.dispose()},reject:e=>{t(e),z.sender.cleanup(l),null==u||u.dispose()}};!function(e){if(L!==p.Off&&q)if(M===h.Text){let t;L===p.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),q.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new o.ResponseError(o.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(I[String(l)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return d.is(e)?(n=void 0,D=e):r.string(e)?(n=null,void 0!==t&&(n=e,x[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,x[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete x[n]:D=void 0)}}},trace:(e,t,n)=>{let i=!1,o=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,o=n.traceFormat||h.Text)),L=e,M=o,q=L===p.Off?void 0:t,!i||X()||J()||ce.sendNotification(g.type,{value:p.toString(e)})},onError:$.event,onClose:W.event,onUnhandledNotification:K.event,onDispose:H.event,end:()=>{n.end()},dispose:()=>{if(J())return;j=R.Disposed,H.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(I).forEach((e=>{I[e].reject(t)})),I=Object.create(null),A=Object.create(null),N=new s.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(B())throw new S(m.AlreadyListening,"Connection is already listening")}(),j=R.Listening,e.listen(Z)},inspect:()=>{i.default().console.log("inspect")}};return ce.onNotification(f.type,(e=>{L!==p.Off&&q&&q.log(e.message,L===p.Verbose?e.verbose:void 0)})),ce.onNotification(u.type,(e=>{const t=O.get(e.token);t?t(e.value):U.fire(e)})),ce}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=o,o._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),o=n(7135);var s;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter,this.partialMessageEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const o=new Map;let s;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,o.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)o.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(s=e.contentTypeDecoder,a.set(s.name,s)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===s&&(s=i.default().applicationJson.decoder,a.set(s.name,s)),{charset:n,contentDecoder:r,contentDecoders:o,contentTypeDecoder:s,contentTypeDecoders:a}}}(s||(s={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=s.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),o=n(142),s=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class c{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=c,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends c{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new o.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class o extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,o.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=o;class s{constructor(e){this.kind=e}static is(e){return e===s.auto||e===s.byName||e===s.byPosition}toString(){return this.kind}}t.ParameterStructures=s,s.auto=new s("auto"),s.byPosition=new s("byPosition"),s.byName=new s("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return s.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},4389:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.createServerSocketTransport=t.createClientSocketTransport=t.createServerPipeTransport=t.createClientPipeTransport=t.generateRandomPipeName=t.StreamMessageWriter=t.StreamMessageReader=t.SocketMessageWriter=t.SocketMessageReader=t.IPCMessageWriter=t.IPCMessageReader=void 0;const o=n(3034);o.default.install();const s=n(3870),a=n(5622),c=n(2087),l=n(6417),u=n(1631);r(n(3870),t);class d extends s.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose()))}listen(e){return this.process.on("message",e),s.Disposable.create((()=>this.process.off("message",e)))}}t.IPCMessageReader=d;class p extends s.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose))}write(e){try{return"function"==typeof this.process.send&&this.process.send(e,void 0,void 0,(t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0})),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.IPCMessageWriter=p;class h extends s.ReadableStreamMessageReader{constructor(e,t="utf-8"){super(o.default().stream.asReadableStream(e),t)}}t.SocketMessageReader=h;class g extends s.WriteableStreamMessageWriter{constructor(e,t){super(o.default().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}}t.SocketMessageWriter=g;class f extends s.ReadableStreamMessageReader{constructor(e,t){super(o.default().stream.asReadableStream(e),t)}}t.StreamMessageReader=f;class m extends s.WriteableStreamMessageWriter{constructor(e,t){super(o.default().stream.asWritableStream(e),t)}}t.StreamMessageWriter=m;const v=process.env.XDG_RUNTIME_DIR,y=new Map([["linux",107],["darwin",103]]);t.generateRandomPipeName=function(){const e=l.randomBytes(21).toString("hex");if("win32"===process.platform)return`\\\\.\\pipe\\vscode-jsonrpc-${e}-sock`;let t;t=v?a.join(v,`vscode-ipc-${e}.sock`):a.join(c.tmpdir(),`vscode-${e}.sock`);const n=y.get(process.platform);return void 0!==n&&t.length>=n&&o.default().console.warn(`WARNING: IPC handle "${t}" is longer than ${n} characters.`),t},t.createClientPipeTransport=function(e,t="utf-8"){let n;const i=new Promise(((e,t)=>{n=e}));return new Promise(((r,o)=>{let s=u.createServer((e=>{s.close(),n([new h(e,t),new g(e,t)])}));s.on("error",o),s.listen(e,(()=>{s.removeListener("error",o),r({onConnected:()=>i})}))}))},t.createServerPipeTransport=function(e,t="utf-8"){const n=u.createConnection(e);return[new h(n,t),new g(n,t)]},t.createClientSocketTransport=function(e,t="utf-8"){let n;const i=new Promise(((e,t)=>{n=e}));return new Promise(((r,o)=>{const s=u.createServer((e=>{s.close(),n([new h(e,t),new g(e,t)])}));s.on("error",o),s.listen(e,"127.0.0.1",(()=>{s.removeListener("error",o),r({onConnected:()=>i})}))}))},t.createServerSocketTransport=function(e,t="utf-8"){const n=u.createConnection(e,"127.0.0.1");return[new h(n,t),new g(n,t)]},t.createMessageConnection=function(e,t,n,i){n||(n=s.NullLogger);const r=function(e){const t=e;return void 0!==t.read&&void 0!==t.addListener}(e)?new f(e):e,o=function(e){const t=e;return void 0!==t.write&&void 0!==t.addListener}(t)?new m(t):t;return s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(r,o,n,i)}},3034:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(1669),o=n(3911),s=n(5530);class a extends s.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new r.TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}}a.emptyBuffer=Buffer.allocUnsafe(0);class c{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),o.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),o.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),o.Disposable.create((()=>this.stream.off("end",e)))}onData(e){return this.stream.on("data",e),o.Disposable.create((()=>this.stream.off("data",e)))}}class l{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),o.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),o.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),o.Disposable.create((()=>this.stream.off("end",e)))}write(e,t){return new Promise(((n,i)=>{const r=e=>{null==e?n():i(e)};"string"==typeof e?this.stream.write(e,t,r):this.stream.write(e,r)}))}end(){this.stream.end()}}const u=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(e,void 0,0),t.charset))}catch(e){return Promise.reject(e)}}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{try{return e instanceof Buffer?Promise.resolve(JSON.parse(e.toString(t.charset))):Promise.resolve(JSON.parse(new r.TextDecoder(t.charset).decode(e)))}catch(e){return Promise.reject(e)}}})}),stream:Object.freeze({asReadableStream:e=>new c(e),asWritableStream:e=>new l(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setImmediate(e,...t),clearImmediate(e){clearImmediate(e)}})});function d(){return u}!function(e){e.install=function(){i.default.install(u)}}(d||(d={})),t.default=d},5028:(e,t,n)=>{"use strict";e.exports=n(4389)},5734:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(273),t),r(n(4384),t),r(n(7225),t)},5578:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a{constructor(e){this.client=e,this.middleware=e.clientOptions.middleware}prepareCallHierarchy(e,t,n){const i=this.client,o=this.middleware,s=(e,t,n)=>{const o=i.code2ProtocolConverter.asTextDocumentPositionParams(e,t);return i.sendRequest(r.CallHierarchyPrepareRequest.type,o,n).then((e=>i.protocol2CodeConverter.asCallHierarchyItems(e)),(e=>i.handleFailedRequest(r.CallHierarchyPrepareRequest.type,e,null)))};return o.prepareCallHierarchy?o.prepareCallHierarchy(e,t,n,s):s(e,t,n)}provideCallHierarchyIncomingCalls(e,t){const n=this.client,i=this.middleware,o=(e,t)=>{const i={item:n.code2ProtocolConverter.asCallHierarchyItem(e)};return n.sendRequest(r.CallHierarchyIncomingCallsRequest.type,i,t).then((e=>n.protocol2CodeConverter.asCallHierarchyIncomingCalls(e)),(e=>n.handleFailedRequest(r.CallHierarchyIncomingCallsRequest.type,e,null)))};return i.provideCallHierarchyIncomingCalls?i.provideCallHierarchyIncomingCalls(e,t,o):o(e,t)}provideCallHierarchyOutgoingCalls(e,t){const n=this.client,i=this.middleware,o=(e,t)=>{const i={item:n.code2ProtocolConverter.asCallHierarchyItem(e)};return n.sendRequest(r.CallHierarchyOutgoingCallsRequest.type,i,t).then((e=>n.protocol2CodeConverter.asCallHierarchyOutgoingCalls(e)),(e=>n.handleFailedRequest(r.CallHierarchyOutgoingCallsRequest.type,e,null)))};return i.provideCallHierarchyOutgoingCalls?i.provideCallHierarchyOutgoingCalls(e,t,o):o(e,t)}}class c extends o.TextDocumentFeature{constructor(e){super(e,r.CallHierarchyPrepareRequest.type)}fillClientCapabilities(e){s(s(e,"textDocument"),"callHierarchy").dynamicRegistration=!0}initialize(e,t){const[n,i]=this.getRegistration(t,e.callHierarchyProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t=this._client,n=new a(t);return[i.languages.registerCallHierarchyProvider(e.documentSelector,n),n]}}t.CallHierarchyFeature=c},4384:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseLanguageClient=t.MessageTransports=t.TextDocumentFeature=t.State=t.RevealOutputChannelOn=t.CloseAction=t.ErrorAction=void 0;const i=n(7549),r=n(273),o=n(6495),s=n(71),a=n(8785),c=n(9763),l=n(4904),u=n(1980),d=n(8071);class p{error(e){r.RAL().console.error(e)}warn(e){r.RAL().console.warn(e)}info(e){r.RAL().console.info(e)}log(e){r.RAL().console.log(e)}}var h,g,f,m,v;!function(e){e[e.Continue=1]="Continue",e[e.Shutdown=2]="Shutdown"}(h=t.ErrorAction||(t.ErrorAction={})),function(e){e[e.DoNotRestart=1]="DoNotRestart",e[e.Restart=2]="Restart"}(g=t.CloseAction||(t.CloseAction={}));class y{constructor(e,t){this.name=e,this.maxRestartCount=t,this.restarts=[]}error(e,t,n){return n&&n<=3?h.Continue:h.Shutdown}closed(){return this.restarts.push(Date.now()),this.restarts.length<=this.maxRestartCount?g.Restart:this.restarts[this.restarts.length-1]-this.restarts[0]<=18e4?(i.window.showErrorMessage(`The ${this.name} server crashed ${this.maxRestartCount+1} times in the last 3 minutes. The server will not be restarted.`),g.DoNotRestart):(this.restarts.shift(),g.Restart)}}!function(e){e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Never=4]="Never"}(f=t.RevealOutputChannelOn||(t.RevealOutputChannelOn={})),function(e){e[e.Stopped=1]="Stopped",e[e.Starting=3]="Starting",e[e.Running=2]="Running"}(m=t.State||(t.State={})),function(e){e[e.Initial=0]="Initial",e[e.Starting=1]="Starting",e[e.StartFailed=2]="StartFailed",e[e.Running=3]="Running",e[e.Stopping=4]="Stopping",e[e.Stopped=5]="Stopped"}(v||(v={}));const C=[r.SymbolKind.File,r.SymbolKind.Module,r.SymbolKind.Namespace,r.SymbolKind.Package,r.SymbolKind.Class,r.SymbolKind.Method,r.SymbolKind.Property,r.SymbolKind.Field,r.SymbolKind.Constructor,r.SymbolKind.Enum,r.SymbolKind.Interface,r.SymbolKind.Function,r.SymbolKind.Variable,r.SymbolKind.Constant,r.SymbolKind.String,r.SymbolKind.Number,r.SymbolKind.Boolean,r.SymbolKind.Array,r.SymbolKind.Object,r.SymbolKind.Key,r.SymbolKind.Null,r.SymbolKind.EnumMember,r.SymbolKind.Struct,r.SymbolKind.Event,r.SymbolKind.Operator,r.SymbolKind.TypeParameter],w=[r.CompletionItemKind.Text,r.CompletionItemKind.Method,r.CompletionItemKind.Function,r.CompletionItemKind.Constructor,r.CompletionItemKind.Field,r.CompletionItemKind.Variable,r.CompletionItemKind.Class,r.CompletionItemKind.Interface,r.CompletionItemKind.Module,r.CompletionItemKind.Property,r.CompletionItemKind.Unit,r.CompletionItemKind.Value,r.CompletionItemKind.Enum,r.CompletionItemKind.Keyword,r.CompletionItemKind.Snippet,r.CompletionItemKind.Color,r.CompletionItemKind.File,r.CompletionItemKind.Reference,r.CompletionItemKind.Folder,r.CompletionItemKind.EnumMember,r.CompletionItemKind.Constant,r.CompletionItemKind.Struct,r.CompletionItemKind.Event,r.CompletionItemKind.Operator,r.CompletionItemKind.TypeParameter],R=[r.SymbolTag.Deprecated];function S(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var b,T;!function(e){e.fromConfiguration=function(e){const t=i.workspace.getConfiguration("files",e);return{trimTrailingWhitespace:t.get("trimTrailingWhitespace"),trimFinalNewlines:t.get("trimFinalNewlines"),insertFinalNewline:t.get("insertFinalNewline")}}}(b||(b={})),function(e){e.is=function(e){let t=e;return t&&c.func(t.register)&&c.func(t.unregister)&&c.func(t.dispose)&&void 0!==t.registrationType}}(T||(T={}));class _{constructor(e,t,n,i,r,o){this._client=e,this._event=t,this._type=n,this._middleware=i,this._createParams=r,this._selectorFilter=o,this._selectors=new Map}static textDocumentFilter(e,t){for(const n of e)if(i.languages.match(n,t))return!0;return!1}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(this.callback,this)),this._selectors.set(e.id,e.registerOptions.documentSelector))}callback(e){this._selectorFilter&&!this._selectorFilter(this._selectors.values(),e)||(this._middleware?this._middleware(e,(e=>this._client.sendNotification(this._type,this._createParams(e)))):this._client.sendNotification(this._type,this._createParams(e)),this.notificationSent(e))}notificationSent(e){}unregister(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getProvider(e){for(const t of this._selectors.values())if(i.languages.match(t,e))return{send:e=>{this.callback(e)}}}}class k extends _{constructor(e,t){super(e,i.workspace.onDidOpenTextDocument,r.DidOpenTextDocumentNotification.type,e.clientOptions.middleware.didOpen,(t=>e.code2ProtocolConverter.asOpenTextDocumentParams(t)),_.textDocumentFilter),this._syncedDocuments=t}fillClientCapabilities(e){S(S(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.openClose&&this.register({id:u.generateUuid(),registerOptions:{documentSelector:t}})}get registrationType(){return r.DidOpenTextDocumentNotification.type}register(e){if(super.register(e),!e.registerOptions.documentSelector)return;let t=e.registerOptions.documentSelector;i.workspace.textDocuments.forEach((e=>{let n=e.uri.toString();if(!this._syncedDocuments.has(n)&&i.languages.match(t,e)){let t=this._client.clientOptions.middleware,i=e=>{this._client.sendNotification(this._type,this._createParams(e))};t.didOpen?t.didOpen(e,i):i(e),this._syncedDocuments.set(n,e)}}))}notificationSent(e){super.notificationSent(e),this._syncedDocuments.set(e.uri.toString(),e)}}class D extends _{constructor(e,t){super(e,i.workspace.onDidCloseTextDocument,r.DidCloseTextDocumentNotification.type,e.clientOptions.middleware.didClose,(t=>e.code2ProtocolConverter.asCloseTextDocumentParams(t)),_.textDocumentFilter),this._syncedDocuments=t}get registrationType(){return r.DidCloseTextDocumentNotification.type}fillClientCapabilities(e){S(S(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.openClose&&this.register({id:u.generateUuid(),registerOptions:{documentSelector:t}})}notificationSent(e){super.notificationSent(e),this._syncedDocuments.delete(e.uri.toString())}unregister(e){let t=this._selectors.get(e);super.unregister(e);let n=this._selectors.values();this._syncedDocuments.forEach((e=>{if(i.languages.match(t,e)&&!this._selectorFilter(n,e)){let t=this._client.clientOptions.middleware,n=e=>{this._client.sendNotification(this._type,this._createParams(e))};this._syncedDocuments.delete(e.uri.toString()),t.didClose?t.didClose(e,n):n(e)}}))}}class x{constructor(e){this._client=e,this._changeData=new Map,this._forcingDelivery=!1}get registrationType(){return r.DidChangeTextDocumentNotification.type}fillClientCapabilities(e){S(S(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&void 0!==n.change&&n.change!==r.TextDocumentSyncKind.None&&this.register({id:u.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:n.change})})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=i.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(e.id,{documentSelector:e.registerOptions.documentSelector,syncKind:e.registerOptions.syncKind}))}callback(e){if(0!==e.contentChanges.length)for(const t of this._changeData.values())if(i.languages.match(t.documentSelector,e.document)){let n=this._client.clientOptions.middleware;if(t.syncKind===r.TextDocumentSyncKind.Incremental){let t=this._client.code2ProtocolConverter.asChangeTextDocumentParams(e);n.didChange?n.didChange(e,(()=>this._client.sendNotification(r.DidChangeTextDocumentNotification.type,t))):this._client.sendNotification(r.DidChangeTextDocumentNotification.type,t)}else if(t.syncKind===r.TextDocumentSyncKind.Full){let t=e=>{this._changeDelayer?(this._changeDelayer.uri!==e.document.uri.toString()&&(this.forceDelivery(),this._changeDelayer.uri=e.document.uri.toString()),this._changeDelayer.delayer.trigger((()=>{this._client.sendNotification(r.DidChangeTextDocumentNotification.type,this._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}))):(this._changeDelayer={uri:e.document.uri.toString(),delayer:new l.Delayer(200)},this._changeDelayer.delayer.trigger((()=>{this._client.sendNotification(r.DidChangeTextDocumentNotification.type,this._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}),-1))};n.didChange?n.didChange(e,t):t(e)}}}unregister(e){this._changeData.delete(e),0===this._changeData.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._changeDelayer=void 0,this._forcingDelivery=!1,this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}forceDelivery(){if(!this._forcingDelivery&&this._changeDelayer)try{this._forcingDelivery=!0,this._changeDelayer.delayer.forceDelivery()}finally{this._forcingDelivery=!1}}getProvider(e){for(const t of this._changeData.values())if(i.languages.match(t.documentSelector,e))return{send:e=>{this.callback(e)}}}}class P extends _{constructor(e){super(e,i.workspace.onWillSaveTextDocument,r.WillSaveTextDocumentNotification.type,e.clientOptions.middleware.willSave,(t=>e.code2ProtocolConverter.asWillSaveTextDocumentParams(t)),((e,t)=>_.textDocumentFilter(e,t.document)))}get registrationType(){return r.WillSaveTextDocumentNotification.type}fillClientCapabilities(e){S(S(e,"textDocument"),"synchronization").willSave=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.willSave&&this.register({id:u.generateUuid(),registerOptions:{documentSelector:t}})}}class E{constructor(e){this._client=e,this._selectors=new Map}get registrationType(){return r.WillSaveTextDocumentWaitUntilRequest.type}fillClientCapabilities(e){S(S(e,"textDocument"),"synchronization").willSaveWaitUntil=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.willSaveWaitUntil&&this.register({id:u.generateUuid(),registerOptions:{documentSelector:t}})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=i.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(e.id,e.registerOptions.documentSelector))}callback(e){if(_.textDocumentFilter(this._selectors.values(),e.document)){let t=this._client.clientOptions.middleware,n=e=>this._client.sendRequest(r.WillSaveTextDocumentWaitUntilRequest.type,this._client.code2ProtocolConverter.asWillSaveTextDocumentParams(e)).then((e=>{let t=this._client.protocol2CodeConverter.asTextEdits(e);return void 0===t?[]:t}));e.waitUntil(t.willSaveWaitUntil?t.willSaveWaitUntil(e,n):n(e))}}unregister(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}}class O extends _{constructor(e){super(e,i.workspace.onDidSaveTextDocument,r.DidSaveTextDocumentNotification.type,e.clientOptions.middleware.didSave,(t=>e.code2ProtocolConverter.asSaveTextDocumentParams(t,this._includeText)),_.textDocumentFilter),this._includeText=!1}get registrationType(){return r.DidSaveTextDocumentNotification.type}fillClientCapabilities(e){S(S(e,"textDocument"),"synchronization").didSave=!0}initialize(e,t){const n=e.resolvedTextDocumentSync;if(t&&n&&n.save){const e="boolean"==typeof n.save?{includeText:!1}:{includeText:!!n.save.includeText};this.register({id:u.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e)})}}register(e){this._includeText=!!e.registerOptions.includeText,super.register(e)}}class F{constructor(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}get registrationType(){return r.DidChangeWatchedFilesNotification.type}fillClientCapabilities(e){S(S(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0}initialize(e,t){}register(e){if(!Array.isArray(e.registerOptions.watchers))return;let t=[];for(let n of e.registerOptions.watchers){if(!c.string(n.globPattern))continue;let e=!0,o=!0,s=!0;void 0!==n.kind&&null!==n.kind&&(e=0!=(n.kind&r.WatchKind.Create),o=0!=(n.kind&r.WatchKind.Change),s=0!=(n.kind&r.WatchKind.Delete));let a=i.workspace.createFileSystemWatcher(n.globPattern,!e,!o,!s);this.hookListeners(a,e,o,s),t.push(a)}this._watchers.set(e.id,t)}registerRaw(e,t){let n=[];for(let e of t)this.hookListeners(e,!0,!0,!0,n);this._watchers.set(e,n)}hookListeners(e,t,n,i,o){t&&e.onDidCreate((e=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(e),type:r.FileChangeType.Created})),null,o),n&&e.onDidChange((e=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(e),type:r.FileChangeType.Changed})),null,o),i&&e.onDidDelete((e=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(e),type:r.FileChangeType.Deleted})),null,o)}unregister(e){let t=this._watchers.get(e);if(t)for(let e of t)e.dispose()}dispose(){this._watchers.forEach((e=>{for(let t of e)t.dispose()})),this._watchers.clear()}}class q{constructor(e,t){this._client=e,this._registrationType=t,this._registrations=new Map}get registrationType(){return this._registrationType}register(e){if(!e.registerOptions.documentSelector)return;let t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],data:e,provider:t[1]})}unregister(e){let t=this._registrations.get(e);void 0!==t&&t.disposable.dispose()}dispose(){this._registrations.forEach((e=>{e.disposable.dispose()})),this._registrations.clear()}getRegistration(e,t){if(!t)return[void 0,void 0];if(r.TextDocumentRegistrationOptions.is(t)){const n=r.StaticRegistrationOptions.hasId(t)?t.id:u.generateUuid(),i=t.documentSelector||e;if(i)return[n,Object.assign({},t,{documentSelector:i})]}else if(c.boolean(t)&&!0===t||r.WorkDoneProgressOptions.is(t)){if(!e)return[void 0,void 0];let n=c.boolean(t)&&!0===t?{documentSelector:e}:Object.assign({},t,{documentSelector:e});return[u.generateUuid(),n]}return[void 0,void 0]}getRegistrationOptions(e,t){if(e&&t)return c.boolean(t)&&!0===t?{documentSelector:e}:Object.assign({},t,{documentSelector:e})}getProvider(e){for(const t of this._registrations.values()){let n=t.data.registerOptions.documentSelector;if(null!==n&&i.languages.match(n,e))return t.provider}}getAllProviders(){const e=[];for(const t of this._registrations.values())e.push(t.provider);return e}}t.TextDocumentFeature=q;class N extends q{constructor(e){super(e,r.CompletionRequest.type)}fillClientCapabilities(e){let t=S(S(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[r.MarkupKind.Markdown,r.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0,tagSupport:{valueSet:[r.CompletionItemTag.Deprecated]},insertReplaceSupport:!0,resolveSupport:{properties:["documentation","detail","additionalTextEdits"]},insertTextModeSupport:{valueSet:[r.InsertTextMode.asIs,r.InsertTextMode.adjustIndentation]}},t.completionItemKind={valueSet:w}}initialize(e,t){const n=this.getRegistrationOptions(t,e.completionProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t=e.triggerCharacters||[],n={provideCompletionItems:(e,t,n,i)=>{const o=this._client,s=this._client.clientOptions.middleware,a=(e,t,n,i)=>o.sendRequest(r.CompletionRequest.type,o.code2ProtocolConverter.asCompletionParams(e,t,n),i).then(o.protocol2CodeConverter.asCompletionResult,(e=>o.handleFailedRequest(r.CompletionRequest.type,e,null)));return s.provideCompletionItem?s.provideCompletionItem(e,t,i,n,a):a(e,t,i,n)},resolveCompletionItem:e.resolveProvider?(e,t)=>{const n=this._client,i=this._client.clientOptions.middleware,o=(e,t)=>n.sendRequest(r.CompletionResolveRequest.type,n.code2ProtocolConverter.asCompletionItem(e),t).then(n.protocol2CodeConverter.asCompletionItem,(t=>n.handleFailedRequest(r.CompletionResolveRequest.type,t,e)));return i.resolveCompletionItem?i.resolveCompletionItem(e,t,o):o(e,t)}:void 0};return[i.languages.registerCompletionItemProvider(e.documentSelector,n,...t),n]}}class I extends q{constructor(e){super(e,r.HoverRequest.type)}fillClientCapabilities(e){const t=S(S(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[r.MarkupKind.Markdown,r.MarkupKind.PlainText]}initialize(e,t){const n=this.getRegistrationOptions(t,e.hoverProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideHover:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.HoverRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asHover,(e=>i.handleFailedRequest(r.HoverRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideHover?s.provideHover(e,t,n,o):o(e,t,n)}};return[i.languages.registerHoverProvider(e.documentSelector,t),t]}}class A extends q{constructor(e){super(e,r.SignatureHelpRequest.type)}fillClientCapabilities(e){let t=S(S(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[r.MarkupKind.Markdown,r.MarkupKind.PlainText]},t.signatureInformation.parameterInformation={labelOffsetSupport:!0},t.signatureInformation.activeParameterSupport=!0,t.contextSupport=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.signatureHelpProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideSignatureHelp:(e,t,n,i)=>{const o=this._client,s=(e,t,n,i)=>o.sendRequest(r.SignatureHelpRequest.type,o.code2ProtocolConverter.asSignatureHelpParams(e,t,n),i).then(o.protocol2CodeConverter.asSignatureHelp,(e=>o.handleFailedRequest(r.SignatureHelpRequest.type,e,null))),a=o.clientOptions.middleware;return a.provideSignatureHelp?a.provideSignatureHelp(e,t,i,n,s):s(e,t,i,n)}};let n;if(void 0===e.retriggerCharacters){const r=e.triggerCharacters||[];n=i.languages.registerSignatureHelpProvider(e.documentSelector,t,...r)}else{const r={triggerCharacters:e.triggerCharacters||[],retriggerCharacters:e.retriggerCharacters||[]};n=i.languages.registerSignatureHelpProvider(e.documentSelector,t,r)}return[n,t]}}class L extends q{constructor(e){super(e,r.DefinitionRequest.type)}fillClientCapabilities(e){let t=S(S(e,"textDocument"),"definition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.definitionProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideDefinition:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.DefinitionRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asDefinitionResult,(e=>i.handleFailedRequest(r.DefinitionRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideDefinition?s.provideDefinition(e,t,n,o):o(e,t,n)}};return[i.languages.registerDefinitionProvider(e.documentSelector,t),t]}}class M extends q{constructor(e){super(e,r.ReferencesRequest.type)}fillClientCapabilities(e){S(S(e,"textDocument"),"references").dynamicRegistration=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.referencesProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideReferences:(e,t,n,i)=>{const o=this._client,s=(e,t,n,i)=>o.sendRequest(r.ReferencesRequest.type,o.code2ProtocolConverter.asReferenceParams(e,t,n),i).then(o.protocol2CodeConverter.asReferences,(e=>o.handleFailedRequest(r.ReferencesRequest.type,e,null))),a=o.clientOptions.middleware;return a.provideReferences?a.provideReferences(e,t,n,i,s):s(e,t,n,i)}};return[i.languages.registerReferenceProvider(e.documentSelector,t),t]}}class j extends q{constructor(e){super(e,r.DocumentHighlightRequest.type)}fillClientCapabilities(e){S(S(e,"textDocument"),"documentHighlight").dynamicRegistration=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.documentHighlightProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideDocumentHighlights:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.DocumentHighlightRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asDocumentHighlights,(e=>i.handleFailedRequest(r.DocumentHighlightRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideDocumentHighlights?s.provideDocumentHighlights(e,t,n,o):o(e,t,n)}};return[i.languages.registerDocumentHighlightProvider(e.documentSelector,t),t]}}class $ extends q{constructor(e){super(e,r.DocumentSymbolRequest.type)}fillClientCapabilities(e){let t=S(S(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:C},t.hierarchicalDocumentSymbolSupport=!0,t.tagSupport={valueSet:R},t.labelSupport=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.documentSymbolProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideDocumentSymbols:(e,t)=>{const n=this._client,i=(e,t)=>n.sendRequest(r.DocumentSymbolRequest.type,n.code2ProtocolConverter.asDocumentSymbolParams(e),t).then((e=>{if(null!==e){if(0===e.length)return[];{let t=e[0];return r.DocumentSymbol.is(t)?n.protocol2CodeConverter.asDocumentSymbols(e):n.protocol2CodeConverter.asSymbolInformations(e)}}}),(e=>n.handleFailedRequest(r.DocumentSymbolRequest.type,e,null))),o=n.clientOptions.middleware;return o.provideDocumentSymbols?o.provideDocumentSymbols(e,t,i):i(e,t)}},n=void 0!==e.label?{label:e.label}:void 0;return[i.languages.registerDocumentSymbolProvider(e.documentSelector,t,n),t]}}class W extends class{constructor(e,t){this._client=e,this._registrationType=t,this._registrations=new Map}get registrationType(){return this._registrationType}register(e){const t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],provider:t[1]})}unregister(e){let t=this._registrations.get(e);void 0!==t&&t.disposable.dispose()}dispose(){this._registrations.forEach((e=>{e.disposable.dispose()})),this._registrations.clear()}getProviders(){const e=[];for(const t of this._registrations.values())e.push(t.provider);return e}}{constructor(e){super(e,r.WorkspaceSymbolRequest.type)}fillClientCapabilities(e){let t=S(S(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:C},t.tagSupport={valueSet:R}}initialize(e){e.workspaceSymbolProvider&&this.register({id:u.generateUuid(),registerOptions:!0===e.workspaceSymbolProvider?{workDoneProgress:!1}:e.workspaceSymbolProvider})}registerLanguageProvider(e){const t={provideWorkspaceSymbols:(e,t)=>{const n=this._client,i=(e,t)=>n.sendRequest(r.WorkspaceSymbolRequest.type,{query:e},t).then(n.protocol2CodeConverter.asSymbolInformations,(e=>n.handleFailedRequest(r.WorkspaceSymbolRequest.type,e,null))),o=n.clientOptions.middleware;return o.provideWorkspaceSymbols?o.provideWorkspaceSymbols(e,t,i):i(e,t)}};return[i.languages.registerWorkspaceSymbolProvider(t),t]}}class K extends q{constructor(e){super(e,r.CodeActionRequest.type)}fillClientCapabilities(e){const t=S(S(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.isPreferredSupport=!0,t.disabledSupport=!0,t.dataSupport=!0,t.resolveSupport={properties:["edit"]},t.codeActionLiteralSupport={codeActionKind:{valueSet:[r.CodeActionKind.Empty,r.CodeActionKind.QuickFix,r.CodeActionKind.Refactor,r.CodeActionKind.RefactorExtract,r.CodeActionKind.RefactorInline,r.CodeActionKind.RefactorRewrite,r.CodeActionKind.Source,r.CodeActionKind.SourceOrganizeImports]}},t.honorsChangeAnnotations=!1}initialize(e,t){const n=this.getRegistrationOptions(t,e.codeActionProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideCodeActions:(e,t,n,i)=>{const o=this._client,s=(e,t,n,i)=>{const s={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e),range:o.code2ProtocolConverter.asRange(t),context:o.code2ProtocolConverter.asCodeActionContext(n)};return o.sendRequest(r.CodeActionRequest.type,s,i).then((e=>{if(null===e)return;const t=[];for(let n of e)r.Command.is(n)?t.push(o.protocol2CodeConverter.asCommand(n)):t.push(o.protocol2CodeConverter.asCodeAction(n));return t}),(e=>o.handleFailedRequest(r.CodeActionRequest.type,e,null)))},a=o.clientOptions.middleware;return a.provideCodeActions?a.provideCodeActions(e,t,n,i,s):s(e,t,n,i)},resolveCodeAction:e.resolveProvider?(e,t)=>{const n=this._client,i=this._client.clientOptions.middleware,o=(e,t)=>n.sendRequest(r.CodeActionResolveRequest.type,n.code2ProtocolConverter.asCodeAction(e),t).then(n.protocol2CodeConverter.asCodeAction,(t=>n.handleFailedRequest(r.CodeActionResolveRequest.type,t,e)));return i.resolveCodeAction?i.resolveCodeAction(e,t,o):o(e,t)}:void 0};return[i.languages.registerCodeActionsProvider(e.documentSelector,t,e.codeActionKinds?{providedCodeActionKinds:this._client.protocol2CodeConverter.asCodeActionKinds(e.codeActionKinds)}:void 0),t]}}class U extends q{constructor(e){super(e,r.CodeLensRequest.type)}fillClientCapabilities(e){S(S(e,"textDocument"),"codeLens").dynamicRegistration=!0,S(S(e,"workspace"),"codeLens").refreshSupport=!0}initialize(e,t){this._client.onRequest(r.CodeLensRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeCodeLensEmitter.fire()}));const n=this.getRegistrationOptions(t,e.codeLensProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t=new i.EventEmitter,n={onDidChangeCodeLenses:t.event,provideCodeLenses:(e,t)=>{const n=this._client,i=(e,t)=>n.sendRequest(r.CodeLensRequest.type,n.code2ProtocolConverter.asCodeLensParams(e),t).then(n.protocol2CodeConverter.asCodeLenses,(e=>n.handleFailedRequest(r.CodeLensRequest.type,e,null))),o=n.clientOptions.middleware;return o.provideCodeLenses?o.provideCodeLenses(e,t,i):i(e,t)},resolveCodeLens:e.resolveProvider?(e,t)=>{const n=this._client,i=(e,t)=>n.sendRequest(r.CodeLensResolveRequest.type,n.code2ProtocolConverter.asCodeLens(e),t).then(n.protocol2CodeConverter.asCodeLens,(t=>n.handleFailedRequest(r.CodeLensResolveRequest.type,t,e))),o=n.clientOptions.middleware;return o.resolveCodeLens?o.resolveCodeLens(e,t,i):i(e,t)}:void 0};return[i.languages.registerCodeLensProvider(e.documentSelector,n),{provider:n,onDidChangeCodeLensEmitter:t}]}}class H extends q{constructor(e){super(e,r.DocumentFormattingRequest.type)}fillClientCapabilities(e){S(S(e,"textDocument"),"formatting").dynamicRegistration=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.documentFormattingProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideDocumentFormattingEdits:(e,t,n)=>{const i=this._client,o=(e,t,n)=>{const o={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e),options:i.code2ProtocolConverter.asFormattingOptions(t,b.fromConfiguration(e))};return i.sendRequest(r.DocumentFormattingRequest.type,o,n).then(i.protocol2CodeConverter.asTextEdits,(e=>i.handleFailedRequest(r.DocumentFormattingRequest.type,e,null)))},s=i.clientOptions.middleware;return s.provideDocumentFormattingEdits?s.provideDocumentFormattingEdits(e,t,n,o):o(e,t,n)}};return[i.languages.registerDocumentFormattingEditProvider(e.documentSelector,t),t]}}class z extends q{constructor(e){super(e,r.DocumentRangeFormattingRequest.type)}fillClientCapabilities(e){S(S(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.documentRangeFormattingProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideDocumentRangeFormattingEdits:(e,t,n,i)=>{const o=this._client,s=(e,t,n,i)=>{const s={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e),range:o.code2ProtocolConverter.asRange(t),options:o.code2ProtocolConverter.asFormattingOptions(n,b.fromConfiguration(e))};return o.sendRequest(r.DocumentRangeFormattingRequest.type,s,i).then(o.protocol2CodeConverter.asTextEdits,(e=>o.handleFailedRequest(r.DocumentRangeFormattingRequest.type,e,null)))},a=o.clientOptions.middleware;return a.provideDocumentRangeFormattingEdits?a.provideDocumentRangeFormattingEdits(e,t,n,i,s):s(e,t,n,i)}};return[i.languages.registerDocumentRangeFormattingEditProvider(e.documentSelector,t),t]}}class G extends q{constructor(e){super(e,r.DocumentOnTypeFormattingRequest.type)}fillClientCapabilities(e){S(S(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.documentOnTypeFormattingProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideOnTypeFormattingEdits:(e,t,n,i,o)=>{const s=this._client,a=(e,t,n,i,o)=>{let a={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(e),position:s.code2ProtocolConverter.asPosition(t),ch:n,options:s.code2ProtocolConverter.asFormattingOptions(i,b.fromConfiguration(e))};return s.sendRequest(r.DocumentOnTypeFormattingRequest.type,a,o).then(s.protocol2CodeConverter.asTextEdits,(e=>s.handleFailedRequest(r.DocumentOnTypeFormattingRequest.type,e,null)))},c=s.clientOptions.middleware;return c.provideOnTypeFormattingEdits?c.provideOnTypeFormattingEdits(e,t,n,i,o,a):a(e,t,n,i,o)}},n=e.moreTriggerCharacter||[];return[i.languages.registerOnTypeFormattingEditProvider(e.documentSelector,t,e.firstTriggerCharacter,...n),t]}}class V extends q{constructor(e){super(e,r.RenameRequest.type)}fillClientCapabilities(e){let t=S(S(e,"textDocument"),"rename");t.dynamicRegistration=!0,t.prepareSupport=!0,t.prepareSupportDefaultBehavior=r.PrepareSupportDefaultBehavior.Identifier,t.honorsChangeAnnotations=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.renameProvider);n&&(c.boolean(e.renameProvider)&&(n.prepareProvider=!1),this.register({id:u.generateUuid(),registerOptions:n}))}registerLanguageProvider(e){const t={provideRenameEdits:(e,t,n,i)=>{const o=this._client,s=(e,t,n,i)=>{let s={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e),position:o.code2ProtocolConverter.asPosition(t),newName:n};return o.sendRequest(r.RenameRequest.type,s,i).then(o.protocol2CodeConverter.asWorkspaceEdit,(e=>o.handleFailedRequest(r.RenameRequest.type,e,null)))},a=o.clientOptions.middleware;return a.provideRenameEdits?a.provideRenameEdits(e,t,n,i,s):s(e,t,n,i)},prepareRename:e.prepareProvider?(e,t,n)=>{const i=this._client,o=(e,t,n)=>{let o={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e),position:i.code2ProtocolConverter.asPosition(t)};return i.sendRequest(r.PrepareRenameRequest.type,o,n).then((e=>r.Range.is(e)?i.protocol2CodeConverter.asRange(e):this.isDefaultBehavior(e)?!0===e.defaultBehavior?null:Promise.reject(new Error("The element can't be renamed.")):e&&r.Range.is(e.range)?{range:i.protocol2CodeConverter.asRange(e.range),placeholder:e.placeholder}:Promise.reject(new Error("The element can't be renamed."))),(e=>i.handleFailedRequest(r.PrepareRenameRequest.type,e,void 0)))},s=i.clientOptions.middleware;return s.prepareRename?s.prepareRename(e,t,n,o):o(e,t,n)}:void 0};return[i.languages.registerRenameProvider(e.documentSelector,t),t]}isDefaultBehavior(e){const t=e;return t&&c.boolean(t.defaultBehavior)}}class B extends q{constructor(e){super(e,r.DocumentLinkRequest.type)}fillClientCapabilities(e){const t=S(S(e,"textDocument"),"documentLink");t.dynamicRegistration=!0,t.tooltipSupport=!0}initialize(e,t){const n=this.getRegistrationOptions(t,e.documentLinkProvider);n&&this.register({id:u.generateUuid(),registerOptions:n})}registerLanguageProvider(e){const t={provideDocumentLinks:(e,t)=>{const n=this._client,i=(e,t)=>n.sendRequest(r.DocumentLinkRequest.type,n.code2ProtocolConverter.asDocumentLinkParams(e),t).then(n.protocol2CodeConverter.asDocumentLinks,(e=>n.handleFailedRequest(r.DocumentLinkRequest.type,e,null))),o=n.clientOptions.middleware;return o.provideDocumentLinks?o.provideDocumentLinks(e,t,i):i(e,t)},resolveDocumentLink:e.resolveProvider?(e,t)=>{const n=this._client;let i=(e,t)=>n.sendRequest(r.DocumentLinkResolveRequest.type,n.code2ProtocolConverter.asDocumentLink(e),t).then(n.protocol2CodeConverter.asDocumentLink,(t=>n.handleFailedRequest(r.DocumentLinkResolveRequest.type,t,e)));const o=n.clientOptions.middleware;return o.resolveDocumentLink?o.resolveDocumentLink(e,t,i):i(e,t)}:void 0};return[i.languages.registerDocumentLinkProvider(e.documentSelector,t),t]}}class X{constructor(e){this._client=e,this._listeners=new Map}get registrationType(){return r.DidChangeConfigurationNotification.type}fillClientCapabilities(e){S(S(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0}initialize(){let e=this._client.clientOptions.synchronize.configurationSection;void 0!==e&&this.register({id:u.generateUuid(),registerOptions:{section:e}})}register(e){let t=i.workspace.onDidChangeConfiguration((t=>{this.onDidChangeConfiguration(e.registerOptions.section,t)}));this._listeners.set(e.id,t),void 0!==e.registerOptions.section&&this.onDidChangeConfiguration(e.registerOptions.section,void 0)}unregister(e){let t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())}dispose(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}onDidChangeConfiguration(e,t){let n;if(n=c.string(e)?[e]:e,void 0!==n&&void 0!==t&&!n.some((e=>t.affectsConfiguration(e))))return;let i=e=>{void 0!==e?this._client.sendNotification(r.DidChangeConfigurationNotification.type,{settings:this.extractSettingsInformation(e)}):this._client.sendNotification(r.DidChangeConfigurationNotification.type,{settings:null})},o=this.getMiddleware();o?o(n,i):i(n)}extractSettingsInformation(e){function t(e,t){let n=e;for(let e=0;e=0?i.workspace.getConfiguration(a.substr(0,c),n).get(a.substr(c+1)):i.workspace.getConfiguration(void 0,n).get(a),l){let n=e[s].split(".");t(r,n)[n[n.length-1]]=o.toJSONObject(l)}}return r}getMiddleware(){let e=this._client.clientOptions.middleware;return e.workspace&&e.workspace.didChangeConfiguration?e.workspace.didChangeConfiguration:void 0}}class J{constructor(e){this._client=e,this._commands=new Map}get registrationType(){return r.ExecuteCommandRequest.type}fillClientCapabilities(e){S(S(e,"workspace"),"executeCommand").dynamicRegistration=!0}initialize(e){e.executeCommandProvider&&this.register({id:u.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})}register(e){const t=this._client,n=t.clientOptions.middleware,o=(e,n)=>{let i={command:e,arguments:n};return t.sendRequest(r.ExecuteCommandRequest.type,i).then(void 0,(e=>t.handleFailedRequest(r.ExecuteCommandRequest.type,e,void 0)))};if(e.registerOptions.commands){const t=[];for(const r of e.registerOptions.commands)t.push(i.commands.registerCommand(r,((...e)=>n.executeCommand?n.executeCommand(r,e,o):o(r,e))));this._commands.set(e.id,t)}}unregister(e){let t=this._commands.get(e);t&&t.forEach((e=>e.dispose()))}dispose(){this._commands.forEach((e=>{e.forEach((e=>e.dispose()))})),this._commands.clear()}}(t.MessageTransports||(t.MessageTransports={})).is=function(e){return e&&r.MessageReader.is(e.reader)&&r.MessageWriter.is(e.writer)};class Y{constructor(e,t){this._resolve=e,this._reject=t,this._used=!1}get isUsed(){return this._used}resolve(){this._used=!0,this._resolve()}reject(e){this._used=!0,this._reject(e)}}class Q{constructor(e,t,n){var i;this._traceFormat=r.TraceFormat.Text,this._features=[],this._dynamicFeatures=new Map,this._id=e,this._name=t;const o={isTrusted:!1};void 0!==(n=n||{}).markdown&&!0===n.markdown.isTrusted&&(o.isTrusted=!0),this._clientOptions={documentSelector:n.documentSelector||[],synchronize:n.synchronize||{},diagnosticCollectionName:n.diagnosticCollectionName,outputChannelName:n.outputChannelName||this._name,revealOutputChannelOn:n.revealOutputChannelOn||f.Error,stdioEncoding:n.stdioEncoding||"utf8",initializationOptions:n.initializationOptions,initializationFailedHandler:n.initializationFailedHandler,progressOnInitialization:!!n.progressOnInitialization,errorHandler:n.errorHandler||this.createDefaultErrorHandler(null===(i=n.connectionOptions)||void 0===i?void 0:i.maxRestartCount),middleware:n.middleware||{},uriConverters:n.uriConverters,workspaceFolder:n.workspaceFolder,connectionOptions:n.connectionOptions,markdown:o},this._clientOptions.synchronize=this._clientOptions.synchronize||{},this._state=v.Initial,this._connectionPromise=void 0,this._resolvedConnection=void 0,this._initializeResult=void 0,n.outputChannel?(this._outputChannel=n.outputChannel,this._disposeOutputChannel=!1):(this._outputChannel=void 0,this._disposeOutputChannel=!0),this._traceOutputChannel=n.traceOutputChannel,this._listeners=void 0,this._providers=void 0,this._diagnostics=void 0,this._fileEvents=[],this._fileEventDelayer=new l.Delayer(250),this._onReady=new Promise(((e,t)=>{this._onReadyCallbacks=new Y(e,t)})),this._onStop=void 0,this._telemetryEmitter=new r.Emitter,this._stateChangeEmitter=new r.Emitter,this._trace=r.Trace.Off,this._tracer={log:(e,t)=>{c.string(e)?this.logTrace(e,t):this.logObjectTrace(e)}},this._c2p=s.createConverter(n.uriConverters?n.uriConverters.code2Protocol:void 0),this._p2c=a.createConverter(n.uriConverters?n.uriConverters.protocol2Code:void 0,this._clientOptions.markdown.isTrusted),this._syncedDocuments=new Map,this.registerBuiltinFeatures()}get state(){return this._state}set state(e){let t=this.getPublicState();this._state=e;let n=this.getPublicState();n!==t&&this._stateChangeEmitter.fire({oldState:t,newState:n})}getPublicState(){return this.state===v.Running?m.Running:this.state===v.Starting?m.Starting:m.Stopped}get initializeResult(){return this._initializeResult}sendRequest(e,...t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{return this._resolvedConnection.sendRequest(e,...t)}catch(t){throw this.error(`Sending request ${c.string(e)?e:e.method} failed.`,t),t}}onRequest(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{return this._resolvedConnection.onRequest(e,t)}catch(t){throw this.error(`Registering request handler ${c.string(e)?e:e.method} failed.`,t),t}}sendNotification(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{this._resolvedConnection.sendNotification(e,t)}catch(t){throw this.error(`Sending notification ${c.string(e)?e:e.method} failed.`,t),t}}onNotification(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{return this._resolvedConnection.onNotification(e,t)}catch(t){throw this.error(`Registering notification handler ${c.string(e)?e:e.method} failed.`,t),t}}onProgress(e,t,n){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{if(r.WorkDoneProgress.is(e)){const i=this._clientOptions.middleware.handleWorkDoneProgress;if(void 0!==i)return this._resolvedConnection.onProgress(e,t,(e=>{i(t,e,(()=>n(e)))}))}return this._resolvedConnection.onProgress(e,t,n)}catch(e){throw this.error(`Registering progress handler for token ${t} failed.`,e),e}}sendProgress(e,t,n){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{this._resolvedConnection.sendProgress(e,t,n)}catch(e){throw this.error(`Sending progress for token ${t} failed.`,e),e}}get clientOptions(){return this._clientOptions}get protocol2CodeConverter(){return this._p2c}get code2ProtocolConverter(){return this._c2p}get onTelemetry(){return this._telemetryEmitter.event}get onDidChangeState(){return this._stateChangeEmitter.event}get outputChannel(){return this._outputChannel||(this._outputChannel=i.window.createOutputChannel(this._clientOptions.outputChannelName?this._clientOptions.outputChannelName:this._name)),this._outputChannel}get traceOutputChannel(){return this._traceOutputChannel?this._traceOutputChannel:this.outputChannel}get diagnostics(){return this._diagnostics}createDefaultErrorHandler(e){if(void 0!==e&&e<0)throw new Error(`Invalid maxRestartCount: ${e}`);return new y(this._name,null!=e?e:4)}set trace(e){this._trace=e,this.onReady().then((()=>{this.resolveConnection().then((e=>{e.trace(this._trace,this._tracer,{sendNotification:!1,traceFormat:this._traceFormat})}))}),(()=>{}))}data2String(e){if(e instanceof r.ResponseError){const t=e;return` Message: ${t.message}\n Code: ${t.code} ${t.data?"\n"+t.data.toString():""}`}return e instanceof Error?c.string(e.stack)?e.stack:e.message:c.string(e)?e:e.toString()}info(e,t,n=!0){this.outputChannel.appendLine(`[Info - ${(new Date).toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t)),n&&this._clientOptions.revealOutputChannelOn<=f.Info&&this.showNotificationMessage()}warn(e,t,n=!0){this.outputChannel.appendLine(`[Warn - ${(new Date).toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t)),n&&this._clientOptions.revealOutputChannelOn<=f.Warn&&this.showNotificationMessage()}error(e,t,n=!0){this.outputChannel.appendLine(`[Error - ${(new Date).toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t)),n&&this._clientOptions.revealOutputChannelOn<=f.Error&&this.showNotificationMessage()}showNotificationMessage(){i.window.showInformationMessage("A request has failed. See the output for more information.","Go to output").then((()=>{this.outputChannel.show(!0)}))}logTrace(e,t){this.traceOutputChannel.appendLine(`[Trace - ${(new Date).toLocaleTimeString()}] ${e}`),t&&this.traceOutputChannel.appendLine(this.data2String(t))}logObjectTrace(e){e.isLSPMessage&&e.type?this.traceOutputChannel.append(`[LSP - ${(new Date).toLocaleTimeString()}] `):this.traceOutputChannel.append(`[Trace - ${(new Date).toLocaleTimeString()}] `),e&&this.traceOutputChannel.appendLine(`${JSON.stringify(e)}`)}needsStart(){return this.state===v.Initial||this.state===v.Stopping||this.state===v.Stopped}needsStop(){return this.state===v.Starting||this.state===v.Running}onReady(){return this._onReady}isConnectionActive(){return this.state===v.Running&&!!this._resolvedConnection}start(){return this._onReadyCallbacks.isUsed&&(this._onReady=new Promise(((e,t)=>{this._onReadyCallbacks=new Y(e,t)}))),this._listeners=[],this._providers=[],this._diagnostics||(this._diagnostics=this._clientOptions.diagnosticCollectionName?i.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):i.languages.createDiagnosticCollection()),this.state=v.Starting,this.resolveConnection().then((e=>(e.onLogMessage((e=>{switch(e.type){case r.MessageType.Error:this.error(e.message,void 0,!1);break;case r.MessageType.Warning:this.warn(e.message,void 0,!1);break;case r.MessageType.Info:this.info(e.message,void 0,!1);break;default:this.outputChannel.appendLine(e.message)}})),e.onShowMessage((e=>{switch(e.type){case r.MessageType.Error:i.window.showErrorMessage(e.message);break;case r.MessageType.Warning:i.window.showWarningMessage(e.message);break;case r.MessageType.Info:i.window.showInformationMessage(e.message);break;default:i.window.showInformationMessage(e.message)}})),e.onRequest(r.ShowMessageRequest.type,(e=>{let t;switch(e.type){case r.MessageType.Error:t=i.window.showErrorMessage;break;case r.MessageType.Warning:t=i.window.showWarningMessage;break;case r.MessageType.Info:t=i.window.showInformationMessage;break;default:t=i.window.showInformationMessage}let n=e.actions||[];return t(e.message,...n)})),e.onTelemetry((e=>{this._telemetryEmitter.fire(e)})),e.onRequest(r.ShowDocumentRequest.type,(async e=>{var t;const n=async e=>{const t=this.protocol2CodeConverter.asUri(e.uri);try{if(!0===e.external)return{success:await i.env.openExternal(t)};{const n={};return void 0!==e.selection&&(n.selection=this.protocol2CodeConverter.asRange(e.selection)),void 0===e.takeFocus||!1===e.takeFocus?n.preserveFocus=!0:!0===e.takeFocus&&(n.preserveFocus=!1),await i.window.showTextDocument(t,n),{success:!0}}}catch(e){return{success:!0}}},r=null===(t=this._clientOptions.middleware.window)||void 0===t?void 0:t.showDocument;return void 0!==r?r(e,n):n(e)})),e.listen(),this.initialize(e)))).then(void 0,(e=>{this.state=v.StartFailed,this._onReadyCallbacks.reject(e),this.error("Starting client failed",e),i.window.showErrorMessage(`Couldn't start client ${this._name}`)})),new i.Disposable((()=>{this.needsStop()&&this.stop()}))}resolveConnection(){return this._connectionPromise||(this._connectionPromise=this.createConnection()),this._connectionPromise}initialize(e){this.refreshTrace(e,!1);let t=this._clientOptions.initializationOptions,n=this._clientOptions.workspaceFolder?this._clientOptions.workspaceFolder.uri.fsPath:this._clientGetRootPath(),o={processId:null,clientInfo:{name:i.env.appName,version:i.version},locale:this.getLocale(),rootPath:n||null,rootUri:n?this._c2p.asUri(i.Uri.file(n)):null,capabilities:this.computeClientCapabilities(),initializationOptions:c.func(t)?t():t,trace:r.Trace.toString(this._trace),workspaceFolders:null};if(this.fillInitializeParams(o),this._clientOptions.progressOnInitialization){const t=u.generateUuid(),n=new d.ProgressPart(e,t);return o.workDoneToken=t,this.doInitialize(e,o).then((e=>(n.done(),e)),(e=>{throw n.cancel(),e}))}return this.doInitialize(e,o)}doInitialize(e,t){return e.initialize(t).then((t=>{let n;return this._resolvedConnection=e,this._initializeResult=t,this.state=v.Running,c.number(t.capabilities.textDocumentSync)?n=t.capabilities.textDocumentSync===r.TextDocumentSyncKind.None?{openClose:!1,change:r.TextDocumentSyncKind.None,save:void 0}:{openClose:!0,change:t.capabilities.textDocumentSync,save:{includeText:!1}}:void 0!==t.capabilities.textDocumentSync&&null!==t.capabilities.textDocumentSync&&(n=t.capabilities.textDocumentSync),this._capabilities=Object.assign({},t.capabilities,{resolvedTextDocumentSync:n}),e.onDiagnostics((e=>this.handleDiagnostics(e))),e.onRequest(r.RegistrationRequest.type,(e=>this.handleRegistrationRequest(e))),e.onRequest("client/registerFeature",(e=>this.handleRegistrationRequest(e))),e.onRequest(r.UnregistrationRequest.type,(e=>this.handleUnregistrationRequest(e))),e.onRequest("client/unregisterFeature",(e=>this.handleUnregistrationRequest(e))),e.onRequest(r.ApplyWorkspaceEditRequest.type,(e=>this.handleApplyWorkspaceEdit(e))),e.sendNotification(r.InitializedNotification.type,{}),this.hookFileEvents(e),this.hookConfigurationChanged(e),this.initializeFeatures(e),this._onReadyCallbacks.resolve(),t})).then(void 0,(t=>{throw this._clientOptions.initializationFailedHandler?this._clientOptions.initializationFailedHandler(t)?this.initialize(e):(this.stop(),this._onReadyCallbacks.reject(t)):t instanceof r.ResponseError&&t.data&&t.data.retry?i.window.showErrorMessage(t.message,{title:"Retry",id:"retry"}).then((n=>{n&&"retry"===n.id?this.initialize(e):(this.stop(),this._onReadyCallbacks.reject(t))})):(t&&t.message&&i.window.showErrorMessage(t.message),this.error("Server initialization failed.",t),this.stop(),this._onReadyCallbacks.reject(t)),t}))}_clientGetRootPath(){let e=i.workspace.workspaceFolders;if(!e||0===e.length)return;let t=e[0];return"file"===t.uri.scheme?t.uri.fsPath:void 0}stop(){return this._initializeResult=void 0,this._connectionPromise?this.state===v.Stopping&&this._onStop?this._onStop:(this.state=v.Stopping,this.cleanUp(!1),this._onStop=this.resolveConnection().then((e=>e.shutdown().then((()=>{e.exit(),e.end(),e.dispose(),this.state=v.Stopped,this.cleanUpChannel(),this._onStop=void 0,this._connectionPromise=void 0,this._resolvedConnection=void 0}))))):(this.state=v.Stopped,Promise.resolve())}cleanUp(e=!0,t=!0){this._listeners&&(this._listeners.forEach((e=>e.dispose())),this._listeners=void 0),this._providers&&(this._providers.forEach((e=>e.dispose())),this._providers=void 0),this._syncedDocuments&&this._syncedDocuments.clear();for(const e of this._features.values())e.dispose();e&&this.cleanUpChannel(),t&&this._diagnostics&&(this._diagnostics.dispose(),this._diagnostics=void 0)}cleanUpChannel(){this._outputChannel&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0)}notifyFileEvent(e){var t;const n=this;function i(e){n._fileEvents.push(e),n._fileEventDelayer.trigger((()=>{n.onReady().then((()=>{n.resolveConnection().then((e=>{n.isConnectionActive()&&(n.forceDocumentSync(),e.didChangeWatchedFiles({changes:n._fileEvents})),n._fileEvents=[]}))}),(e=>{n.error("Notify file events failed.",e)}))}))}const r=null===(t=this.clientOptions.middleware)||void 0===t?void 0:t.workspace;(null==r?void 0:r.didChangeWatchedFile)?r.didChangeWatchedFile(e,i):i(e)}forceDocumentSync(){void 0===this._didChangeTextDocumentFeature&&(this._didChangeTextDocumentFeature=this._dynamicFeatures.get(r.DidChangeTextDocumentNotification.type.method)),this._didChangeTextDocumentFeature.forceDelivery()}handleDiagnostics(e){if(!this._diagnostics)return;let t=this._p2c.asUri(e.uri),n=this._p2c.asDiagnostics(e.diagnostics),i=this.clientOptions.middleware;i.handleDiagnostics?i.handleDiagnostics(t,n,((e,t)=>this.setDiagnostics(e,t))):this.setDiagnostics(t,n)}setDiagnostics(e,t){this._diagnostics&&this._diagnostics.set(e,t)}createConnection(){let e=(e,t,n)=>{this.handleConnectionError(e,t,n)},t=()=>{this.handleConnectionClosed()};return this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8").then((n=>function(e,t,n,i,o){let s=new p,a=r.createProtocolConnection(e,t,s,o);return a.onError((e=>{n(e[0],e[1],e[2])})),a.onClose(i),{listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(c.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(c.string(e)?e:e.method,t),sendNotification:(e,t)=>a.sendNotification(c.string(e)?e:e.method,t),onNotification:(e,t)=>a.onNotification(c.string(e)?e:e.method,t),onProgress:a.onProgress,sendProgress:a.sendProgress,trace:(e,t,n)=>{const i={sendNotification:!1,traceFormat:r.TraceFormat.Text};void 0===n?a.trace(e,t,i):(c.boolean(n),a.trace(e,t,n))},initialize:e=>a.sendRequest(r.InitializeRequest.type,e),shutdown:()=>a.sendRequest(r.ShutdownRequest.type,void 0),exit:()=>a.sendNotification(r.ExitNotification.type),onLogMessage:e=>a.onNotification(r.LogMessageNotification.type,e),onShowMessage:e=>a.onNotification(r.ShowMessageNotification.type,e),onTelemetry:e=>a.onNotification(r.TelemetryEventNotification.type,e),didChangeConfiguration:e=>a.sendNotification(r.DidChangeConfigurationNotification.type,e),didChangeWatchedFiles:e=>a.sendNotification(r.DidChangeWatchedFilesNotification.type,e),didOpenTextDocument:e=>a.sendNotification(r.DidOpenTextDocumentNotification.type,e),didChangeTextDocument:e=>a.sendNotification(r.DidChangeTextDocumentNotification.type,e),didCloseTextDocument:e=>a.sendNotification(r.DidCloseTextDocumentNotification.type,e),didSaveTextDocument:e=>a.sendNotification(r.DidSaveTextDocumentNotification.type,e),onDiagnostics:e=>a.onNotification(r.PublishDiagnosticsNotification.type,e),end:()=>a.end(),dispose:()=>a.dispose()}}(n.reader,n.writer,e,t,this._clientOptions.connectionOptions)))}handleConnectionClosed(){if(this.state===v.Stopping||this.state===v.Stopped)return;try{this._resolvedConnection&&this._resolvedConnection.dispose()}catch(e){}let e=g.DoNotRestart;try{e=this._clientOptions.errorHandler.closed()}catch(e){}this._connectionPromise=void 0,this._resolvedConnection=void 0,e===g.DoNotRestart?(this.error("Connection to server got closed. Server will not be restarted."),this.state===v.Starting?(this._onReadyCallbacks.reject(new Error("Connection to server got closed. Server will not be restarted.")),this.state=v.StartFailed):this.state=v.Stopped,this.cleanUp(!1,!0)):e===g.Restart&&(this.info("Connection to server got closed. Server will restart."),this.cleanUp(!1,!1),this.state=v.Initial,this.start())}handleConnectionError(e,t,n){this._clientOptions.errorHandler.error(e,t,n)===h.Shutdown&&(this.error("Connection to server is erroring. Shutting down server."),this.stop())}hookConfigurationChanged(e){i.workspace.onDidChangeConfiguration((()=>{this.refreshTrace(e,!0)}))}refreshTrace(e,t=!1){let n=i.workspace.getConfiguration(this._id),o=r.Trace.Off,s=r.TraceFormat.Text;if(n){const e=n.get("trace.server","off");"string"==typeof e?o=r.Trace.fromString(e):(o=r.Trace.fromString(n.get("trace.server.verbosity","off")),s=r.TraceFormat.fromString(n.get("trace.server.format","text")))}this._trace=o,this._traceFormat=s,e.trace(this._trace,this._tracer,{sendNotification:t,traceFormat:this._traceFormat})}hookFileEvents(e){let t,n=this._clientOptions.synchronize.fileEvents;n&&(t=c.array(n)?n:[n],t&&this._dynamicFeatures.get(r.DidChangeWatchedFilesNotification.type.method).registerRaw(u.generateUuid(),t))}registerFeatures(e){for(let t of e)this.registerFeature(t)}registerFeature(e){if(this._features.push(e),T.is(e)){const t=e.registrationType;this._dynamicFeatures.set(t.method,e)}}getFeature(e){return this._dynamicFeatures.get(e)}registerBuiltinFeatures(){this.registerFeature(new X(this)),this.registerFeature(new k(this,this._syncedDocuments)),this.registerFeature(new x(this)),this.registerFeature(new P(this)),this.registerFeature(new E(this)),this.registerFeature(new O(this)),this.registerFeature(new D(this,this._syncedDocuments)),this.registerFeature(new F(this,(e=>this.notifyFileEvent(e)))),this.registerFeature(new N(this)),this.registerFeature(new I(this)),this.registerFeature(new A(this)),this.registerFeature(new L(this)),this.registerFeature(new M(this)),this.registerFeature(new j(this)),this.registerFeature(new $(this)),this.registerFeature(new W(this)),this.registerFeature(new K(this)),this.registerFeature(new U(this)),this.registerFeature(new H(this)),this.registerFeature(new z(this)),this.registerFeature(new G(this)),this.registerFeature(new V(this)),this.registerFeature(new B(this)),this.registerFeature(new J(this))}fillInitializeParams(e){for(let t of this._features)c.func(t.fillInitializeParams)&&t.fillInitializeParams(e)}computeClientCapabilities(){const e={};S(e,"workspace").applyEdit=!0;const t=S(S(e,"workspace"),"workspaceEdit");t.documentChanges=!0,t.resourceOperations=[r.ResourceOperationKind.Create,r.ResourceOperationKind.Rename,r.ResourceOperationKind.Delete],t.failureHandling=r.FailureHandlingKind.TextOnlyTransactional,t.normalizesLineEndings=!0,t.changeAnnotationSupport={groupsOnLabel:!0};const n=S(S(e,"textDocument"),"publishDiagnostics");n.relatedInformation=!0,n.versionSupport=!1,n.tagSupport={valueSet:[r.DiagnosticTag.Unnecessary,r.DiagnosticTag.Deprecated]},n.codeDescriptionSupport=!0,n.dataSupport=!0;const i=S(e,"window");S(i,"showMessage").messageActionItem={additionalPropertiesSupport:!0},S(i,"showDocument").support=!0;const o=S(e,"general");o.regularExpressions={engine:"ECMAScript",version:"ES2020"},o.markdown={parser:"marked",version:"1.1.0"};for(let t of this._features)t.fillClientCapabilities(e);return e}initializeFeatures(e){let t=this._clientOptions.documentSelector;for(let e of this._features)e.initialize(this._capabilities,t)}handleRegistrationRequest(e){return new Promise(((t,n)=>{for(const t of e.registrations){const e=this._dynamicFeatures.get(t.method);if(void 0===e)return void n(new Error(`No feature implementation for ${t.method} found. Registration failed.`));const i=t.registerOptions||{};i.documentSelector=i.documentSelector||this._clientOptions.documentSelector;const r={id:t.id,registerOptions:i};try{e.register(r)}catch(e){return void n(e)}}t()}))}handleUnregistrationRequest(e){return new Promise(((t,n)=>{for(let t of e.unregisterations){const e=this._dynamicFeatures.get(t.method);if(!e)return void n(new Error(`No feature implementation for ${t.method} found. Unregistration failed.`));e.unregister(t.id)}t()}))}handleApplyWorkspaceEdit(e){let t=e.edit,n=new Map;i.workspace.textDocuments.forEach((e=>n.set(e.uri.toString(),e)));let o=!1;if(t.documentChanges)for(const e of t.documentChanges)if(r.TextDocumentEdit.is(e)&&e.textDocument.version&&e.textDocument.version>=0){let t=n.get(e.textDocument.uri);if(t&&t.version!==e.textDocument.version){o=!0;break}}return o?Promise.resolve({applied:!1}):c.asPromise(i.workspace.applyEdit(this._p2c.asWorkspaceEdit(e.edit)).then((e=>({applied:e}))))}handleFailedRequest(e,t,n){if(t instanceof r.ResponseError){if(t.code===r.LSPErrorCodes.RequestCancelled)throw this.makeCancelError();if(t.code===r.LSPErrorCodes.ContentModified)return n}throw this.error(`Request ${e.method} failed.`,t),t}makeCancelError(){const e=new Error(Q.Canceled);return e.name=Q.Canceled,e}}t.BaseLanguageClient=Q,Q.Canceled="Canceled"},71:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConverter=void 0;const i=n(7549),r=n(273),o=n(9763),s=n(1807),a=n(583),c=n(8705),l=n(6434),u=n(6640),d=n(8714),p=n(273);var h;!function(e){e.is=function(e){const t=e;return t&&!!t.inserting&&!!t.replacing}}(h||(h={})),t.createConverter=function(e){const t=e||(e=>e.toString());function n(e){return t(e)}function g(e){return{uri:t(e.uri)}}function f(e){switch(e){case i.TextDocumentSaveReason.Manual:return r.TextDocumentSaveReason.Manual;case i.TextDocumentSaveReason.AfterDelay:return r.TextDocumentSaveReason.AfterDelay;case i.TextDocumentSaveReason.FocusOut:return r.TextDocumentSaveReason.FocusOut}return r.TextDocumentSaveReason.Manual}function m(e){switch(e){case i.CompletionTriggerKind.TriggerCharacter:return r.CompletionTriggerKind.TriggerCharacter;case i.CompletionTriggerKind.TriggerForIncompleteCompletions:return r.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return r.CompletionTriggerKind.Invoked}}function v(e){switch(e){case i.SignatureHelpTriggerKind.Invoke:return r.SignatureHelpTriggerKind.Invoked;case i.SignatureHelpTriggerKind.TriggerCharacter:return r.SignatureHelpTriggerKind.TriggerCharacter;case i.SignatureHelpTriggerKind.ContentChange:return r.SignatureHelpTriggerKind.ContentChange}}function y(e){return{label:e.label}}function C(e){return{label:e.label,parameters:(t=e.parameters,t.map(y))};var t}function w(e){return{line:e.line,character:e.character}}function R(e){return null==e?e:{line:e.line,character:e.character}}function S(e){return null==e?e:{start:R(e.start),end:R(e.end)}}function b(e){return null==e?e:r.Location.create(n(e.uri),S(e.range))}function T(e){switch(e){case i.DiagnosticSeverity.Error:return r.DiagnosticSeverity.Error;case i.DiagnosticSeverity.Warning:return r.DiagnosticSeverity.Warning;case i.DiagnosticSeverity.Information:return r.DiagnosticSeverity.Information;case i.DiagnosticSeverity.Hint:return r.DiagnosticSeverity.Hint}}function _(e){switch(e){case i.DiagnosticTag.Unnecessary:return r.DiagnosticTag.Unnecessary;case i.DiagnosticTag.Deprecated:return r.DiagnosticTag.Deprecated;default:return}}function k(e){return{message:e.message,location:b(e.location)}}function D(e){const t=r.Diagnostic.create(S(e.range),e.message),i=e instanceof u.ProtocolDiagnostic?e:void 0;void 0!==i&&void 0!==i.data&&(t.data=i.data);const s=function(e){if(null!=e)return o.number(e)||o.string(e)?e:{value:e.value,target:n(e.target)}}(e.code);return u.DiagnosticCode.is(s)?void 0!==i&&i.hasDiagnosticCode?t.code=s:(t.code=s.value,t.codeDescription={href:s.target}):t.code=s,o.number(e.severity)&&(t.severity=T(e.severity)),Array.isArray(e.tags)&&(t.tags=function(e){if(!e)return;let t=[];for(let n of e){let e=_(n);void 0!==e&&t.push(e)}return t.length>0?t:void 0}(e.tags)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(k)),e.source&&(t.source=e.source),t}function x(e){return null==e?e:e.map(D)}function P(e){switch(e){case i.CompletionItemTag.Deprecated:return r.CompletionItemTag.Deprecated}}function E(e){return{range:S(e.range),newText:e.newText}}function O(e){return e<=i.SymbolKind.TypeParameter?e+1:r.SymbolKind.Property}function F(e){return e}function q(e){return e.map(F)}function N(e){let t=r.Command.create(e.title,e.command);return e.arguments&&(t.arguments=e.arguments),t}return{asUri:n,asTextDocumentIdentifier:g,asVersionedTextDocumentIdentifier:function(e){return{uri:t(e.uri),version:e.version}},asOpenTextDocumentParams:function(e){return{textDocument:{uri:t(e.uri),languageId:e.languageId,version:e.version,text:e.getText()}}},asChangeTextDocumentParams:function(e){if(function(e){let t=e;return!!t.uri&&!!t.version}(e))return{textDocument:{uri:t(e.uri),version:e.version},contentChanges:[{text:e.getText()}]};if(function(e){let t=e;return!!t.document&&!!t.contentChanges}(e)){let n=e.document;return{textDocument:{uri:t(n.uri),version:n.version},contentChanges:e.contentChanges.map((e=>{let t=e.range;return{range:{start:{line:t.start.line,character:t.start.character},end:{line:t.end.line,character:t.end.character}},rangeLength:e.rangeLength,text:e.text}}))}}throw Error("Unsupported text document change parameter")},asCloseTextDocumentParams:function(e){return{textDocument:g(e)}},asSaveTextDocumentParams:function(e,t=!1){let n={textDocument:g(e)};return t&&(n.text=e.getText()),n},asWillSaveTextDocumentParams:function(e){return{textDocument:g(e.document),reason:f(e.reason)}},asDidCreateFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asDidRenameFilesParams:function(e){return{files:e.files.map((e=>({oldUri:t(e.oldUri),newUri:t(e.newUri)})))}},asDidDeleteFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asWillCreateFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asWillRenameFilesParams:function(e){return{files:e.files.map((e=>({oldUri:t(e.oldUri),newUri:t(e.newUri)})))}},asWillDeleteFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asTextDocumentPositionParams:function(e,t){return{textDocument:g(e),position:w(t)}},asCompletionParams:function(e,t,n){return{textDocument:g(e),position:w(t),context:{triggerKind:m(n.triggerKind),triggerCharacter:n.triggerCharacter}}},asSignatureHelpParams:function(e,t,n){return{textDocument:g(e),position:w(t),context:{isRetrigger:n.isRetrigger,triggerCharacter:n.triggerCharacter,triggerKind:v(n.triggerKind),activeSignatureHelp:(i=n.activeSignatureHelp,void 0===i?i:{signatures:(r=i.signatures,r.map(C)),activeSignature:i.activeSignature,activeParameter:i.activeParameter})}};var i,r},asWorkerPosition:w,asRange:S,asPosition:R,asPositions:function(e){let t=[];for(let n of e)t.push(R(n));return t},asLocation:b,asDiagnosticSeverity:T,asDiagnosticTag:_,asDiagnostic:D,asDiagnostics:x,asCompletionItem:function(e){let t={label:e.label},n=e instanceof s.default?e:void 0;var a,c,l;e.detail&&(t.detail=e.detail),e.documentation&&(n&&"$string"!==n.documentationFormat?t.documentation=function(e,t){switch(e){case"$string":return t;case r.MarkupKind.PlainText:return{kind:e,value:t};case r.MarkupKind.Markdown:return{kind:e,value:t.value};default:return`Unsupported Markup content received. Kind is: ${e}`}}(n.documentationFormat,e.documentation):t.documentation=e.documentation),e.filterText&&(t.filterText=e.filterText),function(e,t){let n,o,s=r.InsertTextFormat.PlainText;t.textEdit?(n=t.textEdit.newText,o=t.textEdit.range):t.insertText instanceof i.SnippetString?(s=r.InsertTextFormat.Snippet,n=t.insertText.value):n=t.insertText,t.range&&(o=t.range),e.insertTextFormat=s,t.fromEdit&&void 0!==n&&void 0!==o?e.textEdit=function(e,t){return h.is(t)?r.InsertReplaceEdit.create(e,S(t.inserting),S(t.replacing)):{newText:e,range:S(t)}}(n,o):e.insertText=n}(t,e),o.number(e.kind)&&(t.kind=(a=e.kind,void 0!==(c=n&&n.originalItemKind)?c:a+1)),e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=null==(l=e.additionalTextEdits)?l:l.map(E)),e.commitCharacters&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=N(e.command)),!0!==e.preselect&&!1!==e.preselect||(t.preselect=e.preselect);const u=function(e){if(void 0===e)return e;const t=[];for(let n of e){const e=P(n);void 0!==e&&t.push(e)}return t}(e.tags);if(n){if(void 0!==n.data&&(t.data=n.data),!0===n.deprecated||!1===n.deprecated){if(!0===n.deprecated&&void 0!==u&&u.length>0){const e=u.indexOf(i.CompletionItemTag.Deprecated);-1!==e&&u.splice(e,1)}t.deprecated=n.deprecated}void 0!==n.insertTextMode&&(t.insertTextMode=n.insertTextMode)}return void 0!==u&&u.length>0&&(t.tags=u),void 0===t.insertTextMode&&!0===e.keepWhitespace&&(t.insertTextMode=p.InsertTextMode.adjustIndentation),t},asTextEdit:E,asSymbolKind:O,asSymbolTag:F,asSymbolTags:q,asReferenceParams:function(e,t,n){return{textDocument:g(e),position:w(t),context:{includeDeclaration:n.includeDeclaration}}},asCodeAction:function(e){let t=r.CodeAction.create(e.title);if(e instanceof l.default&&void 0!==e.data&&(t.data=e.data),void 0!==e.kind&&(t.kind=function(e){if(null!=e)return e.value}(e.kind)),void 0!==e.diagnostics&&(t.diagnostics=x(e.diagnostics)),void 0!==e.edit)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return void 0!==e.command&&(t.command=N(e.command)),void 0!==e.isPreferred&&(t.isPreferred=e.isPreferred),void 0!==e.disabled&&(t.disabled={reason:e.disabled.reason}),t},asCodeActionContext:function(e){if(null==e)return e;let t;return e.only&&o.string(e.only.value)&&(t=[e.only.value]),r.CodeActionContext.create(x(e.diagnostics),t)},asCommand:N,asCodeLens:function(e){let t=r.CodeLens.create(S(e.range));return e.command&&(t.command=N(e.command)),e instanceof a.default&&e.data&&(t.data=e.data),t},asFormattingOptions:function(e,t){const n={tabSize:e.tabSize,insertSpaces:e.insertSpaces};return t.trimTrailingWhitespace&&(n.trimTrailingWhitespace=!0),t.trimFinalNewlines&&(n.trimFinalNewlines=!0),t.insertFinalNewline&&(n.insertFinalNewline=!0),n},asDocumentSymbolParams:function(e){return{textDocument:g(e)}},asCodeLensParams:function(e){return{textDocument:g(e)}},asDocumentLink:function(e){let t=r.DocumentLink.create(S(e.range));e.target&&(t.target=n(e.target)),void 0!==e.tooltip&&(t.tooltip=e.tooltip);let i=e instanceof c.default?e:void 0;return i&&i.data&&(t.data=i.data),t},asDocumentLinkParams:function(e){return{textDocument:g(e)}},asCallHierarchyItem:function(e){const t={name:e.name,kind:O(e.kind),uri:n(e.uri),range:S(e.range),selectionRange:S(e.selectionRange)};return void 0!==e.detail&&e.detail.length>0&&(t.detail=e.detail),void 0!==e.tags&&(t.tags=q(e.tags)),e instanceof d.default&&void 0!==e.data&&(t.data=e.data),t}}}},3069:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorProviderFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.DocumentColorRequest.type)}fillClientCapabilities(e){s(s(e,"textDocument"),"colorProvider").dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.colorProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideColorPresentations:(e,t,n)=>{const i=this._client,o=(e,t,n)=>{const o={color:e,textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(t.document),range:i.code2ProtocolConverter.asRange(t.range)};return i.sendRequest(r.ColorPresentationRequest.type,o,n).then(this.asColorPresentations.bind(this),(e=>i.handleFailedRequest(r.ColorPresentationRequest.type,e,null)))},s=i.clientOptions.middleware;return s.provideColorPresentations?s.provideColorPresentations(e,t,n,o):o(e,t,n)},provideDocumentColors:(e,t)=>{const n=this._client,i=(e,t)=>{const i={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e)};return n.sendRequest(r.DocumentColorRequest.type,i,t).then(this.asColorInformations.bind(this),(e=>n.handleFailedRequest(r.ColorPresentationRequest.type,e,null)))},o=n.clientOptions.middleware;return o.provideDocumentColors?o.provideDocumentColors(e,t,i):i(e,t)}};return[i.languages.registerColorProvider(e.documentSelector,t),t]}asColor(e){return new i.Color(e.red,e.green,e.blue,e.alpha)}asColorInformations(e){return Array.isArray(e)?e.map((e=>new i.ColorInformation(this._client.protocol2CodeConverter.asRange(e.range),this.asColor(e.color)))):[]}asColorPresentations(e){return Array.isArray(e)?e.map((e=>{let t=new i.ColorPresentation(e.label);return t.additionalTextEdits=this._client.protocol2CodeConverter.asTextEdits(e.additionalTextEdits),t.textEdit=this._client.protocol2CodeConverter.asTextEdit(e.textEdit),t})):[]}}t.ColorProviderFeature=a},7225:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.CommonLanguageClient=void 0;const i=n(4384),r=n(3069),o=n(6495),s=n(9889),a=n(328),c=n(9565),l=n(6454),u=n(707),d=n(750),p=n(3603),h=n(5578),g=n(9957),f=n(8406),m=n(3483);class v extends i.BaseLanguageClient{constructor(e,t,n){super(e,t,n)}registerProposedFeatures(){this.registerFeatures(y.createAll(this))}registerBuiltinFeatures(){super.registerBuiltinFeatures(),this.registerFeature(new o.ConfigurationFeature(this)),this.registerFeature(new a.TypeDefinitionFeature(this)),this.registerFeature(new s.ImplementationFeature(this)),this.registerFeature(new r.ColorProviderFeature(this)),this.registerFeature(new c.WorkspaceFoldersFeature(this)),this.registerFeature(new l.FoldingRangeFeature(this)),this.registerFeature(new u.DeclarationFeature(this)),this.registerFeature(new d.SelectionRangeFeature(this)),this.registerFeature(new p.ProgressFeature(this)),this.registerFeature(new h.CallHierarchyFeature(this)),this.registerFeature(new g.SemanticTokensFeature(this)),this.registerFeature(new m.LinkedEditingFeature(this)),this.registerFeature(new f.DidCreateFilesFeature(this)),this.registerFeature(new f.DidRenameFilesFeature(this)),this.registerFeature(new f.DidDeleteFilesFeature(this)),this.registerFeature(new f.WillCreateFilesFeature(this)),this.registerFeature(new f.WillRenameFilesFeature(this)),this.registerFeature(new f.WillDeleteFilesFeature(this))}}var y;t.CommonLanguageClient=v,function(e){e.createAll=function(e){return[]}}(y=t.ProposedFeatures||(t.ProposedFeatures={}))},6495:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toJSONObject=t.ConfigurationFeature=void 0;const i=n(7549),r=n(273);function o(e){if(e){if(Array.isArray(e))return e.map(o);if("object"==typeof e){const t=Object.create(null);for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=o(e[n]));return t}}return e}t.ConfigurationFeature=class{constructor(e){this._client=e}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.configuration=!0}initialize(){let e=this._client;e.onRequest(r.ConfigurationRequest.type,((t,n)=>{let i=e=>{let t=[];for(let n of e.items){let e=void 0!==n.scopeUri&&null!==n.scopeUri?this._client.protocol2CodeConverter.asUri(n.scopeUri):void 0;t.push(this.getConfiguration(e,null!==n.section?n.section:void 0))}return t},r=e.clientOptions.middleware.workspace;return r&&r.configuration?r.configuration(t,n,i):i(t)}))}getConfiguration(e,t){let n=null;if(t){let r=t.lastIndexOf(".");if(-1===r)n=o(i.workspace.getConfiguration(void 0,e).get(t));else{let s=i.workspace.getConfiguration(t.substr(0,r),e);s&&(n=o(s.get(t.substr(r+1))))}}else{let t=i.workspace.getConfiguration(void 0,e);n={};for(let e of Object.keys(t))t.has(e)&&(n[e]=o(t.get(e)))}return void 0===n&&(n=null),n}dispose(){}},t.toJSONObject=o},707:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.DeclarationRequest.type)}fillClientCapabilities(e){const t=s(s(e,"textDocument"),"declaration");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){const[n,i]=this.getRegistration(t,e.declarationProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideDeclaration:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.DeclarationRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asDeclarationResult,(e=>i.handleFailedRequest(r.DeclarationRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideDeclaration?s.provideDeclaration(e,t,n,o):o(e,t,n)}};return[i.languages.registerDeclarationProvider(e.documentSelector,t),t]}}t.DeclarationFeature=a},8406:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesFeature=t.WillRenameFilesFeature=t.WillCreateFilesFeature=t.DidDeleteFilesFeature=t.DidRenameFilesFeature=t.DidCreateFilesFeature=void 0;const i=n(7549),r=n(1171),o=n(273),s=n(1980);function a(e,t){return void 0===e[t]&&(e[t]={}),e[t]}function c(e,t,n){e[t]=n}class l{constructor(e,t,n,i,r){this._filters=new Map,this._client=e,this._event=t,this._registrationType=n,this._clientCapability=i,this._serverCapability=r}get registrationType(){return this._registrationType}fillClientCapabilities(e){const t=a(a(e,"workspace"),"fileOperations");c(t,"dynamicRegistration",!0),c(t,this._clientCapability,!0)}initialize(e){var t;const n=null===(t=e.workspace)||void 0===t?void 0:t.fileOperations,i=void 0!==n?n[this._serverCapability]:void 0;if(void 0!==(null==i?void 0:i.filters))try{this.register({id:s.generateUuid(),registerOptions:{filters:i.filters}})}catch(e){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${e}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));const t=e.registerOptions.filters.map((e=>{const t=new r.Minimatch(e.pattern.glob,l.asMinimatchOptions(e.pattern.options));if(!t.makeRe())throw new Error(`Invalid pattern ${e.pattern.glob}!`);return{scheme:e.scheme,matcher:t,kind:e.pattern.matches}}));this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),0===this._filters.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}async filter(e,t){const n=await Promise.all(e.files.map((async e=>{const n=t(e),r=n.fsPath.replace(/\\/g,"/");for(const e of this._filters.values())for(const t of e)if(void 0===t.scheme||t.scheme===n.scheme)if(t.matcher.match(r)){if(void 0===t.kind)return!0;const e=await l.getFileType(n);if(void 0===e)return this._client.error(`Failed to determine file type for ${n.toString()}.`),!0;if(e===i.FileType.File&&t.kind===o.FileOperationPatternKind.file||e===i.FileType.Directory&&t.kind===o.FileOperationPatternKind.folder)return!0}else if(t.kind===o.FileOperationPatternKind.folder&&await l.getFileType(n)===i.FileType.Directory&&t.matcher.match(`${r}/`))return!0;return!1}))),r=e.files.filter(((e,t)=>n[t]));return Object.assign(Object.assign({},e),{files:r})}static async getFileType(e){try{return(await i.workspace.fs.stat(e)).type}catch(e){return}}static asMinimatchOptions(e){if(void 0!==e)return!0===e.ignoreCase?{nocase:!0}:void 0}}class u extends l{constructor(e,t,n,i,r,o,s){super(e,t,n,i,r),this._notificationType=n,this._accessUri=o,this._createParams=s}async send(e){const t=await this.filter(e,this._accessUri);if(t.files.length){const e=async e=>{this._client.sendNotification(this._notificationType,this._createParams(e))};this.doSend(t,e)}}}t.DidCreateFilesFeature=class extends u{constructor(e){super(e,i.workspace.onDidCreateFiles,o.DidCreateFilesNotification.type,"didCreate","didCreate",(e=>e),e.code2ProtocolConverter.asDidCreateFilesParams)}doSend(e,t){var n;const i=null===(n=this._client.clientOptions.middleware)||void 0===n?void 0:n.workspace;return(null==i?void 0:i.didCreateFiles)?i.didCreateFiles(e,t):t(e)}},t.DidRenameFilesFeature=class extends u{constructor(e){super(e,i.workspace.onDidRenameFiles,o.DidRenameFilesNotification.type,"didRename","didRename",(e=>e.oldUri),e.code2ProtocolConverter.asDidRenameFilesParams)}doSend(e,t){var n;const i=null===(n=this._client.clientOptions.middleware)||void 0===n?void 0:n.workspace;return(null==i?void 0:i.didRenameFiles)?i.didRenameFiles(e,t):t(e)}},t.DidDeleteFilesFeature=class extends u{constructor(e){super(e,i.workspace.onDidDeleteFiles,o.DidDeleteFilesNotification.type,"didDelete","didDelete",(e=>e),e.code2ProtocolConverter.asDidDeleteFilesParams)}doSend(e,t){var n;const i=null===(n=this._client.clientOptions.middleware)||void 0===n?void 0:n.workspace;return(null==i?void 0:i.didDeleteFiles)?i.didDeleteFiles(e,t):t(e)}};class d extends l{constructor(e,t,n,i,r,o,s){super(e,t,n,i,r),this._requestType=n,this._accessUri=o,this._createParams=s}async send(e){const t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){const t=await this.filter(e,this._accessUri);if(t.files.length){const e=e=>this._client.sendRequest(this._requestType,this._createParams(e)).then(this._client.protocol2CodeConverter.asWorkspaceEdit);return this.doSend(t,e)}}}t.WillCreateFilesFeature=class extends d{constructor(e){super(e,i.workspace.onWillCreateFiles,o.WillCreateFilesRequest.type,"willCreate","willCreate",(e=>e),e.code2ProtocolConverter.asWillCreateFilesParams)}doSend(e,t){var n;const i=null===(n=this._client.clientOptions.middleware)||void 0===n?void 0:n.workspace;return(null==i?void 0:i.willCreateFiles)?i.willCreateFiles(e,t):t(e)}},t.WillRenameFilesFeature=class extends d{constructor(e){super(e,i.workspace.onWillRenameFiles,o.WillRenameFilesRequest.type,"willRename","willRename",(e=>e.oldUri),e.code2ProtocolConverter.asWillRenameFilesParams)}doSend(e,t){var n;const i=null===(n=this._client.clientOptions.middleware)||void 0===n?void 0:n.workspace;return(null==i?void 0:i.willRenameFiles)?i.willRenameFiles(e,t):t(e)}},t.WillDeleteFilesFeature=class extends d{constructor(e){super(e,i.workspace.onWillDeleteFiles,o.WillDeleteFilesRequest.type,"willDelete","willDelete",(e=>e),e.code2ProtocolConverter.asWillDeleteFilesParams)}doSend(e,t){var n;const i=null===(n=this._client.clientOptions.middleware)||void 0===n?void 0:n.workspace;return(null==i?void 0:i.willDeleteFiles)?i.willDeleteFiles(e,t):t(e)}}},6454:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.FoldingRangeRequest.type)}fillClientCapabilities(e){let t=s(s(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.foldingRangeProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideFoldingRanges:(e,t,n)=>{const i=this._client,o=(e,t,n)=>{const o={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e)};return i.sendRequest(r.FoldingRangeRequest.type,o,n).then(a.asFoldingRanges,(e=>i.handleFailedRequest(r.FoldingRangeRequest.type,e,null)))},s=i.clientOptions.middleware;return s.provideFoldingRanges?s.provideFoldingRanges(e,t,n,o):o(e,0,n)}};return[i.languages.registerFoldingRangeProvider(e.documentSelector,t),t]}static asFoldingRangeKind(e){if(e)switch(e){case r.FoldingRangeKind.Comment:return i.FoldingRangeKind.Comment;case r.FoldingRangeKind.Imports:return i.FoldingRangeKind.Imports;case r.FoldingRangeKind.Region:return i.FoldingRangeKind.Region}}static asFoldingRanges(e){return Array.isArray(e)?e.map((e=>new i.FoldingRange(e.startLine,e.endLine,a.asFoldingRangeKind(e.kind)))):[]}}t.FoldingRangeFeature=a},9889:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.ImplementationRequest.type)}fillClientCapabilities(e){let t=s(s(e,"textDocument"),"implementation");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.implementationProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideImplementation:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.ImplementationRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asDefinitionResult,(e=>i.handleFailedRequest(r.ImplementationRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideImplementation?s.provideImplementation(e,t,n,o):o(e,t,n)}};return[i.languages.registerImplementationProvider(e.documentSelector,t),t]}}t.ImplementationFeature=a},3483:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){s(s(e,"textDocument"),"linkedEditingRange").dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.linkedEditingRangeProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideLinkedEditingRanges:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.LinkedEditingRangeRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asLinkedEditingRanges,(e=>i.handleFailedRequest(r.LinkedEditingRangeRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideLinkedEditingRange?s.provideLinkedEditingRange(e,t,n,o):o(e,t,n)}};return[i.languages.registerLinkedEditingRangeProvider(e.documentSelector,t),t]}}t.LinkedEditingFeature=a},3603:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressFeature=void 0;const i=n(273),r=n(8071);t.ProgressFeature=class{constructor(e){this._client=e,this.activeParts=new Set}fillClientCapabilities(e){var t,n;(t=e,n="window",void 0===t[n]&&(t[n]=Object.create(null)),t[n]).workDoneProgress=!0}initialize(){const e=this._client,t=e=>{this.activeParts.delete(e)};e.onRequest(i.WorkDoneProgressCreateRequest.type,(e=>{this.activeParts.add(new r.ProgressPart(this._client,e.token,t))}))}dispose(){for(const e of this.activeParts)e.done();this.activeParts.clear()}}},8071:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressPart=void 0;const i=n(7549),r=n(273),o=n(9763);t.ProgressPart=class{constructor(e,t,n){this._client=e,this._token=t,this._reported=0,this._disposable=this._client.onProgress(r.WorkDoneProgress.type,this._token,(e=>{switch(e.kind){case"begin":this.begin(e);break;case"report":this.report(e);break;case"end":this.done(),n&&n(this)}}))}begin(e){i.window.withProgress({location:i.ProgressLocation.Window,cancellable:e.cancellable,title:e.title},(async(t,n)=>(this._progress=t,this._infinite=void 0===e.percentage,this._cancellationToken=n,this._cancellationToken.onCancellationRequested((()=>{this._client.sendNotification(r.WorkDoneProgressCancelNotification.type,{token:this._token})})),this.report(e),new Promise(((e,t)=>{this._resolve=e,this._reject=t})))))}report(e){if(this._infinite&&o.string(e.message))this._progress.report({message:e.message});else if(o.number(e.percentage)){let t=Math.max(0,Math.min(e.percentage,100)),n=Math.max(0,t-this._reported);this._progress.report({message:e.message,increment:n}),this._reported+=n}}cancel(){this._disposable&&(this._disposable.dispose(),this._disposable=void 0),this._reject&&(this._reject(),this._resolve=void 0,this._reject=void 0)}done(){this._disposable&&(this._disposable.dispose(),this._disposable=void 0),this._resolve&&(this._resolve(),this._resolve=void 0,this._reject=void 0)}}},8714:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7549);class r extends i.CallHierarchyItem{constructor(e,t,n,i,r,o,s){super(e,t,n,i,r,o),void 0!==s&&(this.data=s)}}t.default=r},6434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7549);class r extends i.CodeAction{constructor(e,t){super(e),this.data=t}}t.default=r},583:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7549);class r extends i.CodeLens{constructor(e){super(e)}}t.default=r},1807:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7549);class r extends i.CompletionItem{constructor(e){super(e)}}t.default=r},8785:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConverter=void 0;const i=n(7549),r=n(273),o=n(9763),s=n(1807),a=n(583),c=n(8705),l=n(6434),u=n(6640),d=n(8714),p=n(273);var h;!function(e){e.is=function(e){let t=e;return t&&o.string(t.language)&&o.string(t.value)}}(h||(h={})),t.createConverter=function(e,t){const n=e||(e=>i.Uri.parse(e));function g(e){return n(e)}function f(e){return e.map(m)}function m(e){let t=new u.ProtocolDiagnostic(w(e.range),e.message,S(e.severity),e.data);return void 0!==e.code&&(r.CodeDescription.is(e.codeDescription)?t.code={value:e.code,target:g(e.codeDescription.href)}:u.DiagnosticCode.is(e.code)?(t.hasDiagnosticCode=!0,t.code={value:e.code.value,target:g(e.code.target)}):t.code=e.code),e.source&&(t.source=e.source),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(v)),Array.isArray(e.tags)&&(t.tags=function(e){if(!e)return;let t=[];for(let n of e){let e=y(n);void 0!==e&&t.push(e)}return t.length>0?t:void 0}(e.tags)),t}function v(e){return new i.DiagnosticRelatedInformation(N(e.location),e.message)}function y(e){switch(e){case r.DiagnosticTag.Unnecessary:return i.DiagnosticTag.Unnecessary;case r.DiagnosticTag.Deprecated:return i.DiagnosticTag.Deprecated;default:return}}function C(e){if(e)return new i.Position(e.line,e.character)}function w(e){if(e)return new i.Range(C(e.start),C(e.end))}function R(e){return e.map((e=>w(e)))}function S(e){if(null==e)return i.DiagnosticSeverity.Error;switch(e){case r.DiagnosticSeverity.Error:return i.DiagnosticSeverity.Error;case r.DiagnosticSeverity.Warning:return i.DiagnosticSeverity.Warning;case r.DiagnosticSeverity.Information:return i.DiagnosticSeverity.Information;case r.DiagnosticSeverity.Hint:return i.DiagnosticSeverity.Hint}return i.DiagnosticSeverity.Error}function b(e){if(o.string(e))return e;switch(e.kind){case r.MarkupKind.Markdown:return T(e.value);case r.MarkupKind.PlainText:return e.value;default:return`Unsupported Markup content received. Kind is: ${e.kind}`}}function T(e){const n=new i.MarkdownString(e);return!0===t&&(n.isTrusted=t),n}function _(e){switch(e){case r.CompletionItemTag.Deprecated:return i.CompletionItemTag.Deprecated}}function k(e){let t=function(e){if(null==e)return[];const t=[];for(let n of e){const e=_(n);void 0!==e&&t.push(e)}return t}(e.tags),n=new s.default(e.label);e.detail&&(n.detail=e.detail),e.documentation&&(n.documentation=b(e.documentation),n.documentationFormat=o.string(e.documentation)?"$string":e.documentation.kind),e.filterText&&(n.filterText=e.filterText);let a=function(e){return e.textEdit?e.insertTextFormat===r.InsertTextFormat.Snippet?{text:new i.SnippetString(e.textEdit.newText),range:D(e.textEdit),fromEdit:!0}:{text:e.textEdit.newText,range:D(e.textEdit),fromEdit:!0}:e.insertText?e.insertTextFormat===r.InsertTextFormat.Snippet?{text:new i.SnippetString(e.insertText),fromEdit:!1}:{text:e.insertText,fromEdit:!1}:void 0}(e);if(a&&(n.insertText=a.text,n.range=a.range,n.fromEdit=a.fromEdit),o.number(e.kind)){let[t,o]=(c=e.kind,r.CompletionItemKind.Text<=c&&c<=r.CompletionItemKind.TypeParameter?[c-1,void 0]:[i.CompletionItemKind.Text,c]);n.kind=t,o&&(n.originalItemKind=o)}var c;return e.sortText&&(n.sortText=e.sortText),e.additionalTextEdits&&(n.additionalTextEdits=P(e.additionalTextEdits)),o.stringArray(e.commitCharacters)&&(n.commitCharacters=e.commitCharacters.slice()),e.command&&(n.command=z(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(n.deprecated=e.deprecated,!0===e.deprecated&&t.push(i.CompletionItemTag.Deprecated)),!0!==e.preselect&&!1!==e.preselect||(n.preselect=e.preselect),void 0!==e.data&&(n.data=e.data),t.length>0&&(n.tags=t),void 0!==e.insertTextMode&&(n.insertTextMode=e.insertTextMode,e.insertTextMode===p.InsertTextMode.asIs&&(n.keepWhitespace=!0)),n}function D(e){return r.InsertReplaceEdit.is(e)?{inserting:w(e.insert),replacing:w(e.replace)}:w(e.range)}function x(e){if(e)return new i.TextEdit(w(e.range),e.newText)}function P(e){if(e)return e.map(x)}function E(e){return e.map(O)}function O(e){let t=new i.SignatureInformation(e.label);return void 0!==e.documentation&&(t.documentation=b(e.documentation)),void 0!==e.parameters&&(t.parameters=F(e.parameters)),void 0!==e.activeParameter&&(t.activeParameter=e.activeParameter),t}function F(e){return e.map(q)}function q(e){let t=new i.ParameterInformation(e.label);return e.documentation&&(t.documentation=b(e.documentation)),t}function N(e){if(e)return new i.Location(n(e.uri),w(e.range))}function I(e){if(!e)return;let t={targetUri:n(e.targetUri),targetRange:w(e.targetRange),originSelectionRange:w(e.originSelectionRange),targetSelectionRange:w(e.targetSelectionRange)};if(!t.targetSelectionRange)throw new Error("targetSelectionRange must not be undefined or null");return t}function A(e){if(e)return o.array(e)?0===e.length?[]:r.LocationLink.is(e[0])?e.map((e=>I(e))):e.map((e=>N(e))):r.LocationLink.is(e)?[I(e)]:N(e)}function L(e){let t=new i.DocumentHighlight(w(e.range));return o.number(e.kind)&&(t.kind=M(e.kind)),t}function M(e){switch(e){case r.DocumentHighlightKind.Text:return i.DocumentHighlightKind.Text;case r.DocumentHighlightKind.Read:return i.DocumentHighlightKind.Read;case r.DocumentHighlightKind.Write:return i.DocumentHighlightKind.Write}return i.DocumentHighlightKind.Text}function j(e){return e<=r.SymbolKind.TypeParameter?e-1:i.SymbolKind.Property}function $(e){switch(e){case r.SymbolTag.Deprecated:return i.SymbolTag.Deprecated;default:return}}function W(e){if(null==e)return;const t=[];for(const n of e){const e=$(n);void 0!==e&&t.push(e)}return 0===t.length?void 0:t}function K(e,t){let r=new i.SymbolInformation(e.name,j(e.kind),w(e.location.range),e.location.uri?n(e.location.uri):t);return H(r,e),e.containerName&&(r.containerName=e.containerName),r}function U(e){let t=new i.DocumentSymbol(e.name,e.detail||"",j(e.kind),w(e.range),w(e.selectionRange));if(H(t,e),void 0!==e.children&&e.children.length>0){let n=[];for(let t of e.children)n.push(U(t));t.children=n}return t}function H(e,t){e.tags=W(t.tags),t.deprecated&&(e.tags?e.tags.includes(i.SymbolTag.Deprecated)||(e.tags=e.tags.concat(i.SymbolTag.Deprecated)):e.tags=[i.SymbolTag.Deprecated])}function z(e){let t={title:e.title,command:e.command};return e.arguments&&(t.arguments=e.arguments),t}const G=new Map;function V(e){if(null==e)return;let t=G.get(e);if(t)return t;let n=e.split(".");t=i.CodeActionKind.Empty;for(let e of n)t=t.append(e);return t}function B(e){if(!e)return;let t=new a.default(w(e.range));return e.command&&(t.command=z(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}function X(e){if(!e)return;const t=new Map;if(void 0!==e.changeAnnotations)for(const n of Object.keys(e.changeAnnotations)){const i=J(e.changeAnnotations[n]);t.set(n,i)}const o=e=>void 0===e?void 0:t.get(e),s=new i.WorkspaceEdit;if(e.documentChanges)for(const t of e.documentChanges)if(r.CreateFile.is(t))s.createFile(n(t.uri),t.options,o(t.annotationId));else if(r.RenameFile.is(t))s.renameFile(n(t.oldUri),n(t.newUri),t.options,o(t.annotationId));else if(r.DeleteFile.is(t))s.deleteFile(n(t.uri),t.options,o(t.annotationId));else{if(!r.TextDocumentEdit.is(t))throw new Error(`Unknown workspace edit change received:\n${JSON.stringify(t,void 0,4)}`);{const e=n(t.textDocument.uri);for(const n of t.edits)p.AnnotatedTextEdit.is(n)?s.replace(e,w(n.range),n.newText,o(n.annotationId)):s.replace(e,w(n.range),n.newText)}}else e.changes&&Object.keys(e.changes).forEach((t=>{s.set(n(t),P(e.changes[t]))}));return s}function J(e){if(void 0!==e)return{label:e.label,needsConfirmation:!!e.needsConfirmation,description:e.description}}function Y(e){let t=w(e.range),n=e.target?g(e.target):void 0,i=new c.default(t,n);return void 0!==e.tooltip&&(i.tooltip=e.tooltip),void 0!==e.data&&null!==e.data&&(i.data=e.data),i}function Q(e){return new i.Color(e.red,e.green,e.blue,e.alpha)}function Z(e){return new i.ColorInformation(w(e.range),Q(e.color))}function ee(e){let t=new i.ColorPresentation(e.label);return t.additionalTextEdits=P(e.additionalTextEdits),e.textEdit&&(t.textEdit=x(e.textEdit)),t}function te(e){if(e)switch(e){case r.FoldingRangeKind.Comment:return i.FoldingRangeKind.Comment;case r.FoldingRangeKind.Imports:return i.FoldingRangeKind.Imports;case r.FoldingRangeKind.Region:return i.FoldingRangeKind.Region}}function ne(e){return new i.FoldingRange(e.startLine,e.endLine,te(e.kind))}function ie(e){return new i.SelectionRange(w(e.range),e.parent?ie(e.parent):void 0)}function re(e){if(null===e)return;let t=new d.default(j(e.kind),e.name,e.detail||"",g(e.uri),w(e.range),w(e.selectionRange),e.data);return void 0!==e.tags&&(t.tags=W(e.tags)),t}function oe(e){return new i.CallHierarchyIncomingCall(re(e.from),R(e.fromRanges))}function se(e){return new i.CallHierarchyOutgoingCall(re(e.to),R(e.fromRanges))}function ae(e){return new i.SemanticTokensEdit(e.start,e.deleteCount,void 0!==e.data?new Uint32Array(e.data):void 0)}return G.set(r.CodeActionKind.Empty,i.CodeActionKind.Empty),G.set(r.CodeActionKind.QuickFix,i.CodeActionKind.QuickFix),G.set(r.CodeActionKind.Refactor,i.CodeActionKind.Refactor),G.set(r.CodeActionKind.RefactorExtract,i.CodeActionKind.RefactorExtract),G.set(r.CodeActionKind.RefactorInline,i.CodeActionKind.RefactorInline),G.set(r.CodeActionKind.RefactorRewrite,i.CodeActionKind.RefactorRewrite),G.set(r.CodeActionKind.Source,i.CodeActionKind.Source),G.set(r.CodeActionKind.SourceOrganizeImports,i.CodeActionKind.SourceOrganizeImports),{asUri:g,asDiagnostics:f,asDiagnostic:m,asRange:w,asRanges:R,asPosition:C,asDiagnosticSeverity:S,asDiagnosticTag:y,asHover:function(e){if(e)return new i.Hover(function(e){if(o.string(e))return T(e);if(h.is(e))return T().appendCodeblock(e.value,e.language);if(Array.isArray(e)){let t=[];for(let n of e){let e=T();h.is(n)?e.appendCodeblock(n.value,n.language):e.appendMarkdown(n),t.push(e)}return t}{let t;switch(e.kind){case r.MarkupKind.Markdown:return T(e.value);case r.MarkupKind.PlainText:return t=T(),t.appendText(e.value),t;default:return t=T(),t.appendText(`Unsupported Markup content received. Kind is: ${e.kind}`),t}}}(e.contents),w(e.range))},asCompletionResult:function(e){if(!e)return;if(Array.isArray(e))return e.map(k);let t=e;return new i.CompletionList(t.items.map(k),t.isIncomplete)},asCompletionItem:k,asTextEdit:x,asTextEdits:P,asSignatureHelp:function(e){if(!e)return;let t=new i.SignatureHelp;return o.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,o.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures&&(t.signatures=E(e.signatures)),t},asSignatureInformations:E,asSignatureInformation:O,asParameterInformations:F,asParameterInformation:q,asDeclarationResult:function(e){if(e)return A(e)},asDefinitionResult:function(e){if(e)return A(e)},asLocation:N,asReferences:function(e){if(e)return e.map((e=>N(e)))},asDocumentHighlights:function(e){if(e)return e.map(L)},asDocumentHighlight:L,asDocumentHighlightKind:M,asSymbolKind:j,asSymbolTag:$,asSymbolTags:W,asSymbolInformations:function(e,t){if(e)return e.map((e=>K(e,t)))},asSymbolInformation:K,asDocumentSymbols:function(e){if(null!=e)return e.map(U)},asDocumentSymbol:U,asCommand:z,asCommands:function(e){if(e)return e.map(z)},asCodeAction:function(e){if(null==e)return;let t=new l.default(e.title,e.data);return void 0!==e.kind&&(t.kind=V(e.kind)),void 0!==e.diagnostics&&(t.diagnostics=f(e.diagnostics)),void 0!==e.edit&&(t.edit=X(e.edit)),void 0!==e.command&&(t.command=z(e.command)),void 0!==e.isPreferred&&(t.isPreferred=e.isPreferred),void 0!==e.disabled&&(t.disabled={reason:e.disabled.reason}),t},asCodeActionKind:V,asCodeActionKinds:function(e){if(null!=e)return e.map((e=>V(e)))},asCodeLens:B,asCodeLenses:function(e){if(e)return e.map((e=>B(e)))},asWorkspaceEdit:X,asDocumentLink:Y,asDocumentLinks:function(e){if(e)return e.map(Y)},asFoldingRangeKind:te,asFoldingRange:ne,asFoldingRanges:function(e){if(Array.isArray(e))return e.map(ne)},asColor:Q,asColorInformation:Z,asColorInformations:function(e){if(Array.isArray(e))return e.map(Z)},asColorPresentation:ee,asColorPresentations:function(e){if(Array.isArray(e))return e.map(ee)},asSelectionRange:ie,asSelectionRanges:function(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)t.push(ie(n));return t},asSemanticTokensLegend:function(e){return e},asSemanticTokens:function(e){if(null!=e)return new i.SemanticTokens(new Uint32Array(e.data),e.resultId)},asSemanticTokensEdit:ae,asSemanticTokensEdits:function(e){if(null!=e)return new i.SemanticTokensEdits(e.edits.map(ae),e.resultId)},asCallHierarchyItem:re,asCallHierarchyItems:function(e){if(null!==e)return e.map((e=>re(e)))},asCallHierarchyIncomingCall:oe,asCallHierarchyIncomingCalls:function(e){if(null!==e)return e.map((e=>oe(e)))},asCallHierarchyOutgoingCall:se,asCallHierarchyOutgoingCalls:function(e){if(null!==e)return e.map((e=>se(e)))},asLinkedEditingRanges:function(e){if(null!=e)return new i.LinkedEditingRanges(R(e.ranges),function(e){if(null!=e)return new RegExp(e)}(e.wordPattern))}}}},6640:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolDiagnostic=t.DiagnosticCode=void 0;const i=n(7549),r=n(9763);(t.DiagnosticCode||(t.DiagnosticCode={})).is=function(e){const t=e;return null!=t&&(r.number(t.value)||r.string(t.value))&&r.string(t.target)};class o extends i.Diagnostic{constructor(e,t,n,i){super(e,t,n),this.data=i,this.hasDiagnosticCode=!1}}t.ProtocolDiagnostic=o},8705:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7549);class r extends i.DocumentLink{constructor(e,t){super(e,t)}}t.default=r},750:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]=Object.create(null)),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.SelectionRangeRequest.type)}fillClientCapabilities(e){s(s(e,"textDocument"),"selectionRange").dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.selectionRangeProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideSelectionRanges:(e,t,n)=>{const i=this._client,o=(e,t,n)=>{const o={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e),positions:i.code2ProtocolConverter.asPositions(t)};return i.sendRequest(r.SelectionRangeRequest.type,o,n).then((e=>i.protocol2CodeConverter.asSelectionRanges(e)),(e=>i.handleFailedRequest(r.SelectionRangeRequest.type,e,null)))},s=i.clientOptions.middleware;return s.provideSelectionRanges?s.provideSelectionRanges(e,t,n,o):o(e,t,n)}};return[i.languages.registerSelectionRangeProvider(e.documentSelector,t),t]}}t.SelectionRangeFeature=a},9957:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensFeature=void 0;const i=n(7549),r=n(4384),o=n(273),s=n(9763);function a(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class c extends r.TextDocumentFeature{constructor(e){super(e,o.SemanticTokensRegistrationType.type)}fillClientCapabilities(e){const t=a(a(e,"textDocument"),"semanticTokens");t.dynamicRegistration=!0,t.tokenTypes=[o.SemanticTokenTypes.namespace,o.SemanticTokenTypes.type,o.SemanticTokenTypes.class,o.SemanticTokenTypes.enum,o.SemanticTokenTypes.interface,o.SemanticTokenTypes.struct,o.SemanticTokenTypes.typeParameter,o.SemanticTokenTypes.parameter,o.SemanticTokenTypes.variable,o.SemanticTokenTypes.property,o.SemanticTokenTypes.enumMember,o.SemanticTokenTypes.event,o.SemanticTokenTypes.function,o.SemanticTokenTypes.method,o.SemanticTokenTypes.macro,o.SemanticTokenTypes.keyword,o.SemanticTokenTypes.modifier,o.SemanticTokenTypes.comment,o.SemanticTokenTypes.string,o.SemanticTokenTypes.number,o.SemanticTokenTypes.regexp,o.SemanticTokenTypes.operator],t.tokenModifiers=[o.SemanticTokenModifiers.declaration,o.SemanticTokenModifiers.definition,o.SemanticTokenModifiers.readonly,o.SemanticTokenModifiers.static,o.SemanticTokenModifiers.deprecated,o.SemanticTokenModifiers.abstract,o.SemanticTokenModifiers.async,o.SemanticTokenModifiers.modification,o.SemanticTokenModifiers.documentation,o.SemanticTokenModifiers.defaultLibrary],t.formats=[o.TokenFormat.Relative],t.requests={range:!0,full:{delta:!0}},t.multilineTokenSupport=!1,t.overlappingTokenSupport=!1,a(a(e,"workspace"),"semanticTokens").refreshSupport=!0}initialize(e,t){this._client.onRequest(o.SemanticTokensRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeSemanticTokensEmitter.fire()}));const[n,i]=this.getRegistration(t,e.semanticTokensProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t=s.boolean(e.full)?e.full:void 0!==e.full,n=void 0!==e.full&&"boolean"!=typeof e.full&&!0===e.full.delta,r=new i.EventEmitter,a=t?{onDidChangeSemanticTokens:r.event,provideDocumentSemanticTokens:(e,t)=>{const n=this._client,i=n.clientOptions.middleware,r=(e,t)=>{const i={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e)};return n.sendRequest(o.SemanticTokensRequest.type,i,t).then((e=>n.protocol2CodeConverter.asSemanticTokens(e)),(e=>n.handleFailedRequest(o.SemanticTokensRequest.type,e,null)))};return i.provideDocumentSemanticTokens?i.provideDocumentSemanticTokens(e,t,r):r(e,t)},provideDocumentSemanticTokensEdits:n?(e,t,n)=>{const i=this._client,r=i.clientOptions.middleware,s=(e,t,n)=>{const r={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e),previousResultId:t};return i.sendRequest(o.SemanticTokensDeltaRequest.type,r,n).then((e=>o.SemanticTokens.is(e)?i.protocol2CodeConverter.asSemanticTokens(e):i.protocol2CodeConverter.asSemanticTokensEdits(e)),(e=>i.handleFailedRequest(o.SemanticTokensDeltaRequest.type,e,null)))};return r.provideDocumentSemanticTokensEdits?r.provideDocumentSemanticTokensEdits(e,t,n,s):s(e,t,n)}:void 0}:void 0,c=!0===e.range?{provideDocumentRangeSemanticTokens:(e,t,n)=>{const i=this._client,r=i.clientOptions.middleware,s=(e,t,n)=>{const r={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e),range:i.code2ProtocolConverter.asRange(t)};return i.sendRequest(o.SemanticTokensRangeRequest.type,r,n).then((e=>i.protocol2CodeConverter.asSemanticTokens(e)),(e=>i.handleFailedRequest(o.SemanticTokensRangeRequest.type,e,null)))};return r.provideDocumentRangeSemanticTokens?r.provideDocumentRangeSemanticTokens(e,t,n,s):s(e,t,n)}}:void 0,l=[],u=this._client.protocol2CodeConverter.asSemanticTokensLegend(e.legend);return void 0!==a&&l.push(i.languages.registerDocumentSemanticTokensProvider(e.documentSelector,a,u)),void 0!==c&&l.push(i.languages.registerDocumentRangeSemanticTokensProvider(e.documentSelector,c,u)),[new i.Disposable((()=>l.forEach((e=>e.dispose())))),{range:c,full:a,onDidChangeSemanticTokensEmitter:r}]}}t.SemanticTokensFeature=c},328:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionFeature=void 0;const i=n(7549),r=n(273),o=n(4384);function s(e,t){return void 0===e[t]&&(e[t]={}),e[t]}class a extends o.TextDocumentFeature{constructor(e){super(e,r.TypeDefinitionRequest.type)}fillClientCapabilities(e){s(s(e,"textDocument"),"typeDefinition").dynamicRegistration=!0;let t=s(s(e,"textDocument"),"typeDefinition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.typeDefinitionProvider);n&&i&&this.register({id:n,registerOptions:i})}registerLanguageProvider(e){const t={provideTypeDefinition:(e,t,n)=>{const i=this._client,o=(e,t,n)=>i.sendRequest(r.TypeDefinitionRequest.type,i.code2ProtocolConverter.asTextDocumentPositionParams(e,t),n).then(i.protocol2CodeConverter.asDefinitionResult,(e=>i.handleFailedRequest(r.TypeDefinitionRequest.type,e,null))),s=i.clientOptions.middleware;return s.provideTypeDefinition?s.provideTypeDefinition(e,t,n,o):o(e,t,n)}};return[i.languages.registerTypeDefinitionProvider(e.documentSelector,t),t]}}t.TypeDefinitionFeature=a},4904:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Delayer=void 0;const i=n(273);t.Delayer=class{constructor(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}trigger(e,t=this.defaultDelay){return this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((e=>{this.onSuccess=e})).then((()=>{this.completionPromise=void 0,this.onSuccess=void 0;var e=this.task();return this.task=void 0,e}))),(t>=0||void 0===this.timeout)&&(this.timeout=i.RAL().timer.setTimeout((()=>{this.timeout=void 0,this.onSuccess(void 0)}),t>=0?t:this.defaultDelay)),this.completionPromise}forceDelivery(){if(!this.completionPromise)return;this.cancelTimeout();let e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}isTriggered(){return void 0!==this.timeout}cancel(){this.cancelTimeout(),this.completionPromise=void 0}cancelTimeout(){void 0!==this.timeout&&(i.RAL().timer.clearTimeout(this.timeout),this.timeout=void 0)}}},9763:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}function o(e){return e&&i(e.then)}Object.defineProperty(t,"__esModule",{value:!0}),t.asPromise=t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=o,t.asPromise=function(e){return e instanceof Promise?e:o(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}},1980:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function s(e){return o.test(e)}t.isUUID=s,t.parse=function(e){if(!s(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},9565:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=t.arrayDiff=void 0;const i=n(1980),r=n(7549),o=n(273);function s(e,t){if(void 0!==e)return e[t]}function a(e,t){return e.filter((e=>t.indexOf(e)<0))}t.arrayDiff=a,t.WorkspaceFoldersFeature=class{constructor(e){this._client=e,this._listeners=new Map}get registrationType(){return o.DidChangeWorkspaceFoldersNotification.type}fillInitializeParams(e){const t=r.workspace.workspaceFolders;this.initializeWithFolders(t),e.workspaceFolders=void 0===t?null:t.map((e=>this.asProtocol(e)))}initializeWithFolders(e){this._initialFolders=e}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0}initialize(e){const t=this._client;t.onRequest(o.WorkspaceFoldersRequest.type,(e=>{const n=()=>{const e=r.workspace.workspaceFolders;return void 0===e?null:e.map((e=>this.asProtocol(e)))},i=t.clientOptions.middleware.workspace;return i&&i.workspaceFolders?i.workspaceFolders(e,n):n()}));const n=s(s(s(e,"workspace"),"workspaceFolders"),"changeNotifications");let a;"string"==typeof n?a=n:!0===n&&(a=i.generateUuid()),a&&this.register({id:a,registerOptions:void 0})}sendInitialEvent(e){if(this._initialFolders&&e){const t=a(this._initialFolders,e),n=a(e,this._initialFolders);(n.length>0||t.length>0)&&this.doSendEvent(n,t)}else this._initialFolders?this.doSendEvent([],this._initialFolders):e&&this.doSendEvent(e,[])}doSendEvent(e,t){let n={event:{added:e.map((e=>this.asProtocol(e))),removed:t.map((e=>this.asProtocol(e)))}};this._client.sendNotification(o.DidChangeWorkspaceFoldersNotification.type,n)}register(e){let t=e.id,n=this._client,i=r.workspace.onDidChangeWorkspaceFolders((e=>{let t=e=>{this.doSendEvent(e.added,e.removed)},i=n.clientOptions.middleware.workspace;i&&i.didChangeWorkspaceFolders?i.didChangeWorkspaceFolders(e,t):t(e)}));this._listeners.set(t,i),this.sendInitialEvent(r.workspace.workspaceFolders)}unregister(e){let t=this._listeners.get(e);void 0!==t&&(this._listeners.delete(e),t.dispose())}dispose(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}asProtocol(e){return void 0===e?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}}}},2850:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.SettingMonitor=t.LanguageClient=t.TransportKind=void 0;const o=n(3129),s=n(5747),a=n(5622),c=n(1249),l=n(7549),u=n(9763),d=n(7225),p=n(4384),h=n(794),g=n(6560);r(n(6560),t),r(n(5734),t);var f,m,v,y,C,w;!function(e){e.is=function(e){return u.string(e.command)}}(f||(f={})),function(e){e[e.stdio=0]="stdio",e[e.ipc=1]="ipc",e[e.pipe=2]="pipe",e[e.socket=3]="socket"}(m=t.TransportKind||(t.TransportKind={})),function(e){e.isSocket=function(e){let t=e;return t&&t.kind===m.socket&&u.number(t.port)}}(v||(v={})),function(e){e.is=function(e){return u.string(e.module)}}(y||(y={})),function(e){e.is=function(e){let t=e;return t&&void 0!==t.writer&&void 0!==t.reader}}(C||(C={})),function(e){e.is=function(e){let t=e;return t&&void 0!==t.process&&"boolean"==typeof t.detached}}(w||(w={}));class R extends d.CommonLanguageClient{constructor(e,t,n,i,r){let o,s,a,c,l;u.string(t)?(o=e,s=t,a=n,c=i,l=!!r):(o=e.toLowerCase(),s=e,a=t,c=n,l=i),void 0===l&&(l=!1),super(o,s,c),this._serverOptions=a,this._forceDebug=l;try{this.checkVersion()}catch(e){throw u.string(e.message)&&this.outputChannel.appendLine(e.message),e}}checkVersion(){let e=c.parse(l.version);if(!e)throw new Error(`No valid VS Code version detected. Version string is: ${l.version}`);if(e.prerelease&&e.prerelease.length>0&&(e.prerelease=[]),!c.satisfies(e,"^1.52.0"))throw new Error(`The language client requires VS Code version ^1.52.0 but received version ${l.version}`)}stop(){return super.stop().then((()=>{if(this._serverProcess){let e=this._serverProcess;this._serverProcess=void 0,void 0!==this._isDetached&&this._isDetached||this.checkProcessDied(e),this._isDetached=void 0}}))}checkProcessDied(e){e&&setTimeout((()=>{try{process.kill(e.pid,0),h.terminate(e)}catch(e){}}),2e3)}handleConnectionClosed(){this._serverProcess=void 0,super.handleConnectionClosed()}fillInitializeParams(e){super.fillInitializeParams(e),null===e.processId&&(e.processId=process.pid)}createMessageTransports(e){function t(e,t){if(!e&&!t)return;let n=Object.create(null);return Object.keys(process.env).forEach((e=>n[e]=process.env[e])),t&&(n.ELECTRON_RUN_AS_NODE="1",n.ELECTRON_NO_ASAR="1"),e&&Object.keys(e).forEach((t=>n[t]=e[t])),n}const n=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],i=["--debug","--debug-brk","--inspect","--inspect-brk"];function r(e){if(null===e.stdin||null===e.stdout||null===e.stderr)throw new Error("Process created without stdio streams")}let s,a=this._serverOptions;if(u.func(a))return a().then((t=>{if(p.MessageTransports.is(t))return this._isDetached=!!t.detached,t;if(C.is(t))return this._isDetached=!!t.detached,{reader:new g.StreamMessageReader(t.reader),writer:new g.StreamMessageWriter(t.writer)};{let n;return w.is(t)?(n=t.process,this._isDetached=t.detached):(n=t,this._isDetached=!1),n.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),{reader:new g.StreamMessageReader(n.stdout),writer:new g.StreamMessageWriter(n.stdin)}}}));let c=a;return s=c.run||c.debug?this._forceDebug||function(){let e=process.execArgv;return!!e&&e.some((e=>n.some((t=>e.startsWith(t)))||i.some((t=>e===t))))}()?c.debug:c.run:a,this._getServerWorkingDir(s.options).then((n=>{if(y.is(s)&&s.module){let i=s,a=i.transport||m.stdio;if(!i.runtime){let s;return new Promise(((c,l)=>{let d=i.args&&i.args.slice()||[];a===m.ipc?d.push("--node-ipc"):a===m.stdio?d.push("--stdio"):a===m.pipe?(s=g.generateRandomPipeName(),d.push(`--pipe=${s}`)):v.isSocket(a)&&d.push(`--socket=${a.port}`),d.push(`--clientProcessId=${process.pid.toString()}`);let p=i.options||Object.create(null);if(p.env=t(p.env,!0),p.execArgv=p.execArgv||[],p.cwd=n,p.silent=!0,a===m.ipc||a===m.stdio){let t=o.fork(i.module,d||[],p);r(t),this._serverProcess=t,t.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),a===m.ipc?(t.stdout.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),c({reader:new g.IPCMessageReader(this._serverProcess),writer:new g.IPCMessageWriter(this._serverProcess)})):c({reader:new g.StreamMessageReader(t.stdout),writer:new g.StreamMessageWriter(t.stdin)})}else a===m.pipe?g.createClientPipeTransport(s).then((t=>{let n=o.fork(i.module,d||[],p);r(n),this._serverProcess=n,n.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),n.stdout.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),t.onConnected().then((e=>{c({reader:e[0],writer:e[1]})}))})):v.isSocket(a)&&g.createClientSocketTransport(a.port).then((t=>{let n=o.fork(i.module,d||[],p);r(n),this._serverProcess=n,n.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),n.stdout.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),t.onConnected().then((e=>{c({reader:e[0],writer:e[1]})}))}))}))}{let r=[],s=i.options||Object.create(null);s.execArgv&&s.execArgv.forEach((e=>r.push(e))),r.push(i.module),i.args&&i.args.forEach((e=>r.push(e)));const c=Object.create(null);c.cwd=n,c.env=t(s.env,!1);const l=this._getRuntimePath(i.runtime,n);let d;if(a===m.ipc?(c.stdio=[null,null,null,"ipc"],r.push("--node-ipc")):a===m.stdio?r.push("--stdio"):a===m.pipe?(d=g.generateRandomPipeName(),r.push(`--pipe=${d}`)):v.isSocket(a)&&r.push(`--socket=${a.port}`),r.push(`--clientProcessId=${process.pid.toString()}`),a===m.ipc||a===m.stdio){let t=o.spawn(l,r,c);return t&&t.pid?(this._serverProcess=t,t.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),a===m.ipc?(t.stdout.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),Promise.resolve({reader:new g.IPCMessageReader(t),writer:new g.IPCMessageWriter(t)})):Promise.resolve({reader:new g.StreamMessageReader(t.stdout),writer:new g.StreamMessageWriter(t.stdin)})):Promise.reject(`Launching server using runtime ${l} failed.`)}if(a===m.pipe)return g.createClientPipeTransport(d).then((t=>{let n=o.spawn(l,r,c);return n&&n.pid?(this._serverProcess=n,n.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),n.stdout.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),t.onConnected().then((e=>({reader:e[0],writer:e[1]})))):Promise.reject(`Launching server using runtime ${l} failed.`)}));if(v.isSocket(a))return g.createClientSocketTransport(a.port).then((t=>{let n=o.spawn(l,r,c);return n&&n.pid?(this._serverProcess=n,n.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),n.stdout.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),t.onConnected().then((e=>({reader:e[0],writer:e[1]})))):Promise.reject(`Launching server using runtime ${l} failed.`)}))}}else if(f.is(s)&&s.command){let t=s,i=t.args||[],r=Object.assign({},t.options);r.cwd=r.cwd||n;let a=o.spawn(t.command,i,r);return a&&a.pid?(a.stderr.on("data",(t=>this.outputChannel.append(u.string(t)?t:t.toString(e)))),this._serverProcess=a,this._isDetached=!!r.detached,Promise.resolve({reader:new g.StreamMessageReader(a.stdout),writer:new g.StreamMessageWriter(a.stdin)})):Promise.reject(`Launching server using command ${t.command} failed.`)}return Promise.reject(new Error("Unsupported server configuration "+JSON.stringify(a,null,4)))}))}_getRuntimePath(e,t){if(a.isAbsolute(e))return e;const n=this._mainGetRootPath();if(void 0!==n){const t=a.join(n,e);if(s.existsSync(t))return t}if(void 0!==t){const n=a.join(t,e);if(s.existsSync(n))return n}return e}_mainGetRootPath(){let e=l.workspace.workspaceFolders;if(!e||0===e.length)return;let t=e[0];return"file"===t.uri.scheme?t.uri.fsPath:void 0}_getServerWorkingDir(e){let t=e&&e.cwd;return t||(t=this.clientOptions.workspaceFolder?this.clientOptions.workspaceFolder.uri.fsPath:this._mainGetRootPath()),t?new Promise((e=>{s.lstat(t,((n,i)=>{e(!n&&i.isDirectory()?t:void 0)}))})):Promise.resolve(void 0)}getLocale(){const e=process.env.VSCODE_NLS_CONFIG;if(void 0===e)return"en";let t;try{t=JSON.parse(e)}catch(e){}return void 0===t||"string"!=typeof t.locale?"en":t.locale}}t.LanguageClient=R,t.SettingMonitor=class{constructor(e,t){this._client=e,this._setting=t,this._listeners=[]}start(){return l.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this._listeners),this.onDidChangeConfiguration(),new l.Disposable((()=>{this._client.needsStop()&&this._client.stop()}))}onDidChangeConfiguration(){let e=this._setting.indexOf("."),t=e>=0?this._setting.substr(0,e):this._setting,n=e>=0?this._setting.substr(e+1):void 0,i=n?l.workspace.getConfiguration(t).get(n,!1):l.workspace.getConfiguration(t);i&&this._client.needsStart()?this._client.start():!i&&this._client.needsStop()&&this._client.stop()}}},794:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.terminate=void 0;const i=n(3129),r=n(5622),o="win32"===process.platform,s="darwin"===process.platform,a="linux"===process.platform;t.terminate=function(e,t){if(o)try{let n={stdio:["pipe","pipe","ignore"]};return t&&(n.cwd=t),i.execFileSync("taskkill",["/T","/F","/PID",e.pid.toString()],n),!0}catch(e){return!1}else{if(!a&&!s)return e.kill("SIGKILL"),!0;try{var n=r.join(__dirname,"terminateProcess.sh");return!i.spawnSync(n,[e.pid.toString()]).error}catch(e){return!1}}}},2847:(e,t,n)=>{"use strict";e.exports=n(2850)},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(4389),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var o,s=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return s.createProtocolConnection}}),(o=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,o.ContentModified=-32801,o.RequestCancelled=-32800,o.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(4389);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(4389);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class o extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=o;class s extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=s;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,o,s;(s=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",s.type=new i.ProtocolRequestType(s.method),(o=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",o.type=new i.ProtocolRequestType(o.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,o,s,a,c,l,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(l=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",l.type=new i.ProtocolRequestType(l.method),(c=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",c.type=new i.ProtocolNotificationType(c.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(s=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",s.type=new i.ProtocolNotificationType(s.method),(o=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",o.type=new i.ProtocolNotificationType(o.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,o;(o=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",o.Imports="imports",o.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),o=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return o.ImplementationRequest}});const s=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=n(3589);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const c=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return c.ConfigurationRequest}});const l=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return l.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return l.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const d=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return d.DeclarationRequest}});const p=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return p.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const g=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return g.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const m=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const v=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return v.LinkedEditingRangeRequest}});const y=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return y.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return y.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return y.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return y.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return y.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return y.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return y.WillDeleteFilesRequest}});const C=n(3443);var w,R,S,b,T,_,k,D,x,P,E,O,F,q,N,I,A,L,M,j,$,W,K,U,H,z,G,V,B,X,J,Y,Q,Z,ee,te,ne,ie,re,oe;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return C.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return C.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return C.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(w=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!w.is(t))return!1;return!0}}(R=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(oe=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",oe.Rename="rename",oe.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||R.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(Z=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},Z.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Q=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",J.type=new r.ProtocolNotificationType(J.method),(X=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,X.AfterDelay=2,X.FocusOut=3,(B=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",B.type=new r.ProtocolNotificationType(B.method),(V=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",V.type=new r.ProtocolRequestType(V.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(G=t.FileChangeType||(t.FileChangeType={})).Created=1,G.Changed=2,G.Deleted=3,(z=t.WatchKind||(t.WatchKind={})).Create=1,z.Change=2,z.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(H=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,H.TriggerCharacter=2,H.TriggerForIncompleteCompletions=3,(U=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",U.type=new r.ProtocolRequestType(U.method),(K=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",K.type=new r.ProtocolRequestType(K.method),(W=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",W.type=new r.ProtocolRequestType(W.method),($=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,$.TriggerCharacter=2,$.ContentChange=3,(j=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",j.type=new r.ProtocolRequestType(j.method),(M=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",M.type=new r.ProtocolRequestType(M.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(A=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",A.type=new r.ProtocolRequestType(A.method),(I=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",I.type=new r.ProtocolRequestType(I.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(q=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",q.type=new r.ProtocolRequestType(q.method),(F=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",F.type=new r.ProtocolRequestType(F.method),(O=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",O.type=new r.ProtocolRequestType(O.method),(E=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",E.type=new r.ProtocolRequestType(E.method),(P=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",P.type=new r.ProtocolRequestType0(P.method),(x=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",x.type=new r.ProtocolRequestType(x.method),(D=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",D.type=new r.ProtocolRequestType(D.method),(k=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",k.type=new r.ProtocolRequestType(k.method),(_=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",_.type=new r.ProtocolRequestType(_.method),(T=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",T.type=new r.ProtocolRequestType(T.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(b=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",b.type=new r.ProtocolRequestType(b.method),(S=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",S.type=new r.ProtocolRequestType(S.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,o,s;(s=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",s.project="project",s.group="group",s.scheme="scheme",s.global="global",(o=t.MonikerKind||(t.MonikerKind={})).import="import",o.export="export",o.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(4389),r=n(6140);var o;(o=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,o.is=function(e){return e===o.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,o,s,a,c,l,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(l=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",l.definition="definition",l.readonly="readonly",l.static="static",l.deprecated="deprecated",l.abstract="abstract",l.async="async",l.modification="modification",l.documentation="documentation",l.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(c=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",c.type=new i.RegistrationType(c.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(s=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",s.type=new i.ProtocolRequestType(s.method),(o=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",o.type=new i.ProtocolRequestType(o.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},3589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},273:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const o=n(5028);r(n(5028),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return o.createMessageConnection(e,t,n,i)}},6560:(e,t,n)=>{"use strict";e.exports=n(273)},1674:(e,t,n)=>{"use strict";var i,r,o,s,a,c,l,u,d,p,h,g,f,m,v,y,C,w,R,S,b,T,_,k,D,x;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>o,Range:()=>s,Location:()=>a,LocationLink:()=>c,Color:()=>l,ColorInformation:()=>u,ColorPresentation:()=>d,FoldingRangeKind:()=>p,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>g,DiagnosticSeverity:()=>f,DiagnosticTag:()=>m,CodeDescription:()=>v,Diagnostic:()=>y,Command:()=>C,TextEdit:()=>w,ChangeAnnotation:()=>R,ChangeAnnotationIdentifier:()=>S,AnnotatedTextEdit:()=>b,TextDocumentEdit:()=>T,CreateFile:()=>_,RenameFile:()=>k,DeleteFile:()=>D,WorkspaceEdit:()=>x,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>P,VersionedTextDocumentIdentifier:()=>E,OptionalVersionedTextDocumentIdentifier:()=>O,TextDocumentItem:()=>F,MarkupKind:()=>q,MarkupContent:()=>N,CompletionItemKind:()=>I,InsertTextFormat:()=>A,CompletionItemTag:()=>L,InsertReplaceEdit:()=>M,InsertTextMode:()=>j,CompletionItem:()=>$,CompletionList:()=>W,MarkedString:()=>K,Hover:()=>U,ParameterInformation:()=>H,SignatureInformation:()=>z,DocumentHighlightKind:()=>G,DocumentHighlight:()=>V,SymbolKind:()=>B,SymbolTag:()=>X,SymbolInformation:()=>J,DocumentSymbol:()=>Y,CodeActionKind:()=>Q,CodeActionContext:()=>Z,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>le,TextDocument:()=>ce}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(o||(o={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:o.create(e,t),end:o.create(n,i)};if(o.is(e)&&o.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&o.is(t.start)&&o.is(t.end)}}(s||(s={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&s.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&s.is(t.targetRange)&&ue.string(t.targetUri)&&(s.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(s.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(c||(c={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(l||(l={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return s.is(t.range)&&l.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||w.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,w.is))}}(d||(d={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(p||(p={})),function(e){e.create=function(e,t,n,i,r){var o={startLine:e,endLine:t};return ue.defined(n)&&(o.startCharacter=n),ue.defined(i)&&(o.endCharacter=i),ue.defined(r)&&(o.kind=r),o},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(g||(g={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(m||(m={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(v||(v={})),function(e){e.create=function(e,t,n,i,r,o){var s={range:e,message:t};return ue.defined(n)&&(s.severity=n),ue.defined(i)&&(s.code=i),ue.defined(r)&&(s.source=r),ue.defined(o)&&(s.relatedInformation=o),s},e.is=function(e){var t,n=e;return ue.defined(n)&&s.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,g.is))}}(y||(y={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(C||(C={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&s.is(t.range)}}(w||(w={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(R||(R={})),function(e){e.is=function(e){return"string"==typeof e}}(S||(S={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return w.is(t)&&(R.is(t.annotationId)||S.is(t.annotationId))}}(b||(b={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&O.is(t.textDocument)&&Array.isArray(t.edits)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(_||(_={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(k||(k={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(D||(D={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?_.is(e)||k.is(e)||D.is(e):T.is(e)})))}}(x||(x={}));var P,E,O,F,q,N,I,A,L,M,j,$,W,K,U,H,z,G,V,B,X,J,Y,Q,Z,ee,te,ne,ie,re,oe=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=w.insert(e,t):S.is(n)?(r=n,i=b.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=b.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=w.replace(e,t):S.is(n)?(r=n,i=b.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=b.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=w.del(e):S.is(t)?(i=t,n=b.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=b.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),se=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(S.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new se(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(T.is(e)){var n=new oe(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new oe(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(O.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new oe(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new oe(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new se,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,o;if(R.is(t)||S.is(t)?i=t:n=t,void 0===i?r=_.create(e,n):(o=S.is(i)?i:this._changeAnnotations.manage(i),r=_.create(e,n,o)),this._workspaceEdit.documentChanges.push(r),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,o,s;if(R.is(n)||S.is(n)?r=n:i=n,void 0===r?o=k.create(e,t,i):(s=S.is(r)?r:this._changeAnnotations.manage(r),o=k.create(e,t,i,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,o;if(R.is(t)||S.is(t)?i=t:n=t,void 0===i?r=D.create(e,n):(o=S.is(i)?i:this._changeAnnotations.manage(i),r=D.create(e,n,o)),this._workspaceEdit.documentChanges.push(r),void 0!==o)return o},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(P||(P={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(E||(E={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(O||(O={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(F||(F={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(q||(q={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(q||(q={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&q.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(I||(I={})),function(e){e.PlainText=1,e.Snippet=2}(A||(A={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&s.is(t.insert)&&s.is(t.replace)}}(M||(M={})),function(e){e.asIs=1,e.adjustIndentation=2}(j||(j={})),function(e){e.create=function(e){return{label:e}}}($||($={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(W||(W={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(K||(K={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||K.is(t.contents)||ue.typedArray(t.contents,K.is))&&(void 0===e.range||s.is(e.range))}}(U||(U={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(H||(H={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;s--){var a=r[s],c=e.offsetAt(a.range.start),l=e.offsetAt(a.range.end);if(!(l<=o))throw new Error("Overlapping edit");i=i.substring(0,c)+a.newText+i.substring(l,i.length),o=c}return i}}(ce||(ce={}));var ue,de=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return o.create(0,e);for(;ne?i=r:n=r+1}var s=n-1;return o.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},4411:(e,t,n)=>{"use strict";function i(e){var t=this;if(t instanceof i||(t=new i),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=e(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(e,t){var n,i=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=e(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},i.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},i.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new i;if(tthis.length&&(t=this.length);for(var r=0,o=this.head;null!==o&&rthis.length&&(t=this.length);for(var r=this.length,o=this.tail;null!==o&&r>t;r--)o=o.prev;for(;null!==o&&r>e;r--,o=o.prev)n.push(o.value);return n},i.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var i=0,r=this.head;null!==r&&i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deactivate=t.activate=void 0;const i=n(5622),r=n(5747),o=n(7549),s=n(2847),a=n(9292),c=n(5225);var l,u,d,p,h,g,f,m,v,y,C,w,R,S,b,T,_,k;!function(e){const t=Object.prototype.toString;e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.objectLiteral=function(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}}(l||(l={})),function(e){e.is=function(e){const t=e;return t&&l.string(t.language)&&(l.boolean(t.autoFix)||void 0===t.autoFix)}}(u||(u={})),function(e){e.is=function(e){const t=e;return t&&l.string(t.directory)&&l.boolean(t.changeProcessCWD)}}(d||(d={})),function(e){e.auto="auto",e.location="location"}(p||(p={})),function(e){e.is=function(t){return t===e.auto||t===e.location}}(p||(p={})),function(e){e.is=function(e){const t=e;return t&&p.is(t.mode)}}(h||(h={})),function(e){e.is=function(e){const t=e;return t&&l.string(t.directory)&&(l.boolean(t["!cwd"])||void 0===t["!cwd"])}}(g||(g={})),function(e){e.is=function(e){const t=e;return t&&l.string(t.pattern)&&(l.boolean(t["!cwd"])||void 0===t["!cwd"])}}(f||(f={})),function(e){e.all="all",e.problems="problems"}(m||(m={})),function(e){e.from=function(t){if(null==t)return e.all;switch(t.toLowerCase()){case e.problems:return e.problems;default:return e.all}}}(m||(m={})),function(e){e.on="on",e.off="off",e.probe="probe"}(v||(v={})),function(e){e.off="off",e.warn="warn",e.error="error"}(y||(y={})),function(e){e.from=function(t){if(null==t)return e.off;switch(t.toLowerCase()){case e.off:return e.off;case e.warn:return e.warn;case e.error:return e.error;default:return e.off}}}(y||(y={})),function(e){e.info="info",e.warn="warn",e.error="error",e.off="off",e.default="default",e.downgrade="downgrade",e.upgrade="upgrade"}(C||(C={})),function(e){e[e.ok=1]="ok",e[e.warn=2]="warn",e[e.error=3]="error"}(w||(w={})),function(e){e.type=new s.NotificationType("eslint/status")}(R||(R={})),function(e){e.type=new s.RequestType("eslint/noConfig")}(S||(S={})),function(e){e.type=new s.RequestType("eslint/noLibrary")}(b||(b={})),function(e){e.type=new s.RequestType("eslint/openDoc")}(T||(T={})),function(e){e.type=new s.RequestType("eslint/probeFailed")}(_||(_={})),function(e){e.type=new s.NotificationType0("eslint/showOutputChannel")}(k||(k={}));const D=new s.NotificationType("eslint/exitCalled");async function x(e,t){if(1===e.length)return Promise.resolve(e[0]);const n=await o.window.showQuickPick(e.map((e=>({label:e.name,description:e.uri.fsPath,folder:e}))),{placeHolder:t});return void 0!==n?n.folder:void 0}function P(){const e=o.workspace.workspaceFolders;if(!e)return void o.window.showErrorMessage("An ESLint configuration can only be generated if VS Code is opened on a workspace folder.");const t=e.filter((e=>{const t=[".eslintrc.js",".eslintrc.yaml",".eslintrc.yml",".eslintrc",".eslintrc.json"];for(const n of t)if(r.existsSync(i.join(e.uri.fsPath,n)))return!1;return!0}));0!==t.length?x(t,"Select a workspace folder to generate a ESLint configuration for").then((async e=>{if(!e)return;const t=e.uri.fsPath,n=o.window.createTerminal({name:"ESLint init",cwd:t}),i=await a.findEslint(t);n.sendText(`${i} --init`),n.show()})):1===e.length?o.window.showInformationMessage("The workspace already contains an ESLint configuration file."):o.window.showInformationMessage("All workspace folders already contain an ESLint configuration file.")}let E;const O=new Set;function F(e){const t=o.workspace.getConfiguration("eslint",e.uri);if(!t.get("enable",!0))return v.off;const n=e.languageId,i=t.get("validate");if(Array.isArray(i))for(const e of i){if(l.string(e)&&e===n)return v.on;if(u.is(e)&&e.language===n)return v.on}const r=e.uri.toString();if(O.has(r))return v.off;const s=t.get("probe");if(Array.isArray(s))for(const e of s)if(e===n)return v.probe;return v.off}let q;var N,I;t.activate=function(e){function t(){if(!n)for(const t of o.workspace.textDocuments)if(F(t)!==v.off)return i.dispose(),r.dispose(),n=!0,void L(e)}let n=!1;const i=o.workspace.onDidOpenTextDocument((function(t){n||F(t)!==v.off&&(i.dispose(),r.dispose(),n=!0,L(e))})),r=o.workspace.onDidChangeConfiguration(t),s=()=>{var e;o.workspace.getConfiguration("eslint",null===(e=o.window.activeTextEditor)||void 0===e?void 0:e.document).get("enable",!0)?o.window.showInformationMessage("ESLint is not running. By default only TypeScript and JavaScript files are validated. If you want to validate other file types please specify them in the 'eslint.probe' setting."):o.window.showInformationMessage("ESLint is not running because the deprecated setting 'eslint.enable' is set to false. Remove the setting and use the extension disablement feature.")};E=[o.commands.registerCommand("eslint.executeAutofix",s),o.commands.registerCommand("eslint.showOutputChannel",s),o.commands.registerCommand("eslint.migrateSettings",s),o.commands.registerCommand("eslint.restart",s)],e.subscriptions.push(o.commands.registerCommand("eslint.createConfig",P)),q=new c.TaskProvider,q.start(),t()},function(e){e.isExplicitlyDisabled=function(e){return null!=e&&!Array.isArray(e)&&!1===e["source.fixAll.eslint"]},e.getSourceFixAll=function(e){if(null!==e)return Array.isArray(e)?!!e.includes("source.fixAll")||void 0:e["source.fixAll"]},e.getSourceFixAllESLint=function(e){return null===e?void 0:Array.isArray(e)?!!e.includes("source.fixAll.eslint")||void 0:e["source.fixAll.eslint"]},e.setSourceFixAllESLint=function(e,t){if(null!==e)if(Array.isArray(e)){const n=e.indexOf("source.fixAll.eslint");!0===t?-1===n&&e.push("source.fixAll.eslint"):n>=0&&e.splice(n,1)}else e["source.fixAll.eslint"]=t}}(N||(N={})),function(e){e.create=function(e){return void 0===e?{global:{value:void 0,changed:!1},workspace:{value:void 0,changed:!1},workspaceFolder:{value:void 0,changed:!1}}:{global:{value:e.globalValue,changed:!1},workspace:{value:e.workspaceValue,changed:!1},workspaceFolder:{value:e.workspaceFolderValue,changed:!1}}},e.needsUpdate=function(e){return e.global.changed||e.workspace.changed||e.workspaceFolder.changed}}(I||(I={}));class A{constructor(e){this.workspaceConfig=o.workspace.getConfiguration(void 0,e),this.eslintConfig=o.workspace.getConfiguration("eslint",e),this.editorConfig=o.workspace.getConfiguration("editor",e),this.codeActionOnSave=I.create(this.editorConfig.inspect("codeActionsOnSave")),this.autoFixOnSave=I.create(this.eslintConfig.inspect("autoFixOnSave")),this.validate=I.create(this.eslintConfig.inspect("validate")),this.workingDirectories=I.create(this.eslintConfig.inspect("workingDirectories")),this.languageSpecificSettings=new Map}record(){const e=this.recordAutoFixOnSave();this.recordValidate(e),this.recordWorkingDirectories()}captureDidChangeSetting(e){this.didChangeConfiguration=e}recordAutoFixOnSave(){function e(e,t){if(N.isExplicitlyDisabled(t.value))return!1;l.objectLiteral(t.value)||Array.isArray(t.value)||(t.value=Object.create(null));const n=!!e.value;let i;return n!==!!N.getSourceFixAll(t.value)&&n&&void 0===N.getSourceFixAllESLint(t.value)?(N.setSourceFixAllESLint(t.value,e.value),t.changed=!0,i=!!N.getSourceFixAllESLint(t.value)):i=!!N.getSourceFixAll(t.value),i}return[e(this.autoFixOnSave.global,this.codeActionOnSave.global),e(this.autoFixOnSave.workspace,this.codeActionOnSave.workspace),e(this.autoFixOnSave.workspaceFolder,this.codeActionOnSave.workspaceFolder)]}recordValidate(e){function t(e,t,n){if(void 0!==e.value)for(let i=0;ir(e).global),e[0]),t(this.validate.workspace,(e=>r(e).workspace),e[1]?e[1]:e[0]),t(this.validate.workspaceFolder,(e=>r(e).workspaceFolder),e[2]?e[2]:e[1]?e[1]:e[0])}recordWorkingDirectories(){function e(e){if(void 0!==e.value&&Array.isArray(e.value))for(let t=0;t"source.fixAll.eslint"===e||"source.fixAll"===e))||void 0:null!==(t=e["source.fixAll.eslint"])&&void 0!==t?t:e["source.fixAll"]}if(void 0!==n){const e=null==n?void 0:n["editor.codeActionsOnSave"];void 0!==e&&(t=i(e))}if(void 0===t){const n=o.workspace.getConfiguration("editor",e.uri).get("codeActionsOnSave");void 0!==n&&(t=i(n))}return null!=t&&t}function I(e){var t;ee.error(null!==(t=e.message)&&void 0!==t?t:"Unknown error",e),o.window.showErrorMessage("ESLint settings migration failed. Please see the ESLint output channel for further details","Open Channel").then((e=>{void 0!==e&&ee.outputChannel.show()}))}const L=o.Uri.joinPath(e.extensionUri,"server","out","eslintServer.js").fsPath,M=o.workspace.getConfiguration("eslint"),j=null!==(t=M.get("debug",!1))&&void 0!==t&&t,$=null!==(n=M.get("runtime",void 0))&&void 0!==n?n:void 0,W=M.get("nodeEnv",null);let K;j&&(K=K||{},K.DEBUG="eslint:*,-eslint:code-path"),W&&(K=K||{},K.NODE_ENV=W);const U={run:{module:L,transport:s.TransportKind.ipc,runtime:$,options:{cwd:process.cwd(),env:K}},debug:{module:L,transport:s.TransportKind.ipc,runtime:$,options:{execArgv:["--nolazy","--inspect=6011"],cwd:process.cwd(),env:K}}};let H,z=!1;const G={scheme:"file",pattern:"**/package.json"},V={scheme:"file",pattern:"**/.eslintr{c.js,c.yaml,c.yml,c,c.json}"},B=new Map;let X;const J=new a.Semaphore(1);let Y=!1;const Q=new Set([o.CodeActionKind.Source.value,o.CodeActionKind.SourceFixAll.value,`${o.CodeActionKind.SourceFixAll.value}.eslint`,o.CodeActionKind.QuickFix.value]),Z={documentSelector:[{scheme:"file"},{scheme:"untitled"}],diagnosticCollectionName:"eslint",revealOutputChannelOn:s.RevealOutputChannelOn.Never,initializationOptions:{},progressOnInitialization:!0,synchronize:{fileEvents:[o.workspace.createFileSystemWatcher("**/.eslintr{c.js,c.yaml,c.yml,c,c.json}"),o.workspace.createFileSystemWatcher("**/.eslintignore"),o.workspace.createFileSystemWatcher("**/package.json")]},initializationFailedHandler:e=>(ee.error("Server initialization failed.",e),ee.outputChannel.show(!0),!1),errorHandler:{error:(e,t,n)=>H.error(e,t,n),closed:()=>z?s.CloseAction.DoNotRestart:H.closed()},middleware:{didOpen:(e,t)=>{if(o.languages.match(G,e)||o.languages.match(V,e)||F(e)!==v.off)return t(e),void B.set(e.uri.toString(),e)},didChange:(e,t)=>{B.has(e.document.uri.toString())&&t(e)},willSave:(e,t)=>{B.has(e.document.uri.toString())&&t(e)},willSaveWaitUntil:(e,t)=>B.has(e.document.uri.toString())?t(e):Promise.resolve([]),didSave:(e,t)=>{B.has(e.uri.toString())&&t(e)},didClose:(e,t)=>{const n=e.uri.toString();B.has(n)&&(B.delete(n),t(e))},provideCodeActions:(e,t,n,i,r)=>{if(!B.has(e.uri.toString()))return[];if(void 0!==n.only&&!Q.has(n.only.value))return[];if(void 0===n.only&&(!n.diagnostics||0===n.diagnostics.length))return[];const o=[];for(const e of n.diagnostics)"eslint"===e.source&&o.push(e);return void 0===n.only&&0===o.length?[]:r(e,t,Object.assign({},n,{diagnostics:o}),i)},workspace:{didChangeWatchedFile:(e,t)=>{O.clear(),t(e)},didChangeConfiguration:(e,t)=>{void 0===X||void 0!==e&&0!==e.length?t(e):X.captureDidChangeSetting((()=>{t(e)}))},configuration:async(e,t,n)=>{var r;if(void 0===e.items)return[];const s=[];for(const t of e.items){if(t.section||!t.scopeUri){s.push(null);continue}const e=ee.protocol2CodeConverter.asUri(t.scopeUri),n=o.workspace.getConfiguration("eslint",e),u=o.workspace.getWorkspaceFolder(e);await J.lock((async()=>{const t=o.workspace.getConfiguration("eslint").get("migration.2_x","on");if(!1===Y&&"on"===t)try{if(X=new A(e),X.record(),X.needsUpdate()){const t=null==u?void 0:u.name,r=i.basename(e.fsPath),s=await o.window.showInformationMessage(["The ESLint 'autoFixOnSave' setting needs to be migrated to the new 'editor.codeActionsOnSave' setting",void 0!==t?`for the workspace folder: ${t}.`:`for the file: ${r}.`,"For compatibility reasons the 'autoFixOnSave' remains and needs to be removed manually.","Do you want to migrate the setting?"].join(" "),{modal:!0},{id:"yes",title:"Yes"},{id:"global",title:"Never migrate Settings"},{id:"readme",title:"Open Readme"},{id:"no",title:"Not now",isCloseAffordance:!0});if(void 0!==s)if("yes"===s.id)try{await X.update()}catch(e){I(e)}else"no"===s.id?Y=!0:"global"===s.id?await n.update("migration.2_x","off",o.ConfigurationTarget.Global):"readme"===s.id&&(Y=!0,o.env.openExternal(o.Uri.parse("https://github.com/microsoft/vscode-eslint#settings-migration")))}}finally{X=void 0}}));const p={validate:v.off,packageManager:n.get("packageManager","npm"),codeActionOnSave:{enable:!1,mode:m.all},format:!1,quiet:n.get("quiet",!1),onIgnoredFiles:y.from(n.get("onIgnoredFiles",y.off)),options:n.get("options",{}),rulesCustomizations:(c=n.get("rules.customizations"),c&&Array.isArray(c)?c.map((e=>{if("string"==typeof e.severity&&"string"==typeof e.rule)return{severity:e.severity,rule:e.rule}})).filter((e=>!!e)):[]),run:n.get("run","onType"),nodePath:null!==(r=n.get("nodePath",void 0))&&void 0!==r?r:null,workingDirectory:void 0,workspaceFolder:void 0,codeAction:{disableRuleComment:n.get("codeAction.disableRuleComment",{enable:!0,location:"separateLine"}),showDocumentation:n.get("codeAction.showDocumentation",{enable:!0})}},C=B.get(t.scopeUri);if(void 0===C){s.push(p);continue}n.get("enabled",!0)&&(p.validate=F(C)),p.validate!==v.off&&(p.format=!!n.get("format.enable",!1),p.codeActionOnSave.enable=N(C),p.codeActionOnSave.mode=m.from(n.get("codeActionsOnSave.mode",m.all))),void 0!==u&&(p.workspaceFolder={name:u.name,uri:ee.code2ProtocolConverter.asUri(u.uri)});const w=n.get("workingDirectories",void 0);if(Array.isArray(w)){let e;const t=u&&"file"===u.uri.scheme?u.uri.fsPath:void 0;for(const n of w){let r,o,s,c=!1;if(l.string(n))r=n;else if(d.is(n))r=n.directory,c=!n.changeProcessCWD;else if(g.is(n))r=n.directory,void 0!==n["!cwd"]&&(c=n["!cwd"]);else if(f.is(n))o=n.pattern,void 0!==n["!cwd"]&&(c=n["!cwd"]);else if(h.is(n)){e=n;continue}if(void 0!==r||void 0!==o){const e="file"===C.uri.scheme?C.uri.fsPath:void 0;if(void 0!==e)if(void 0!==r)r=a.toOSPath(r),i.isAbsolute(r)||void 0===t||(r=i.join(t,r)),r.charAt(r.length-1)!==i.sep&&(r+=i.sep),e.startsWith(r)&&(s=r);else if(void 0!==o&&o.length>0){i.posix.isAbsolute(o)||void 0===t||(o=i.posix.join(a.toPosixPath(t),o)),o.charAt(o.length-1)!==i.posix.sep&&(o+=i.posix.sep);const n=a.convert2RegExp(o);if(void 0!==n){const t=n.exec(e);null!==t&&t.length>0&&(s=t[0])}}}void 0!==s&&(void 0===e||h.is(e)?e={directory:s,"!cwd":c}:e.directory.length{O.clear();for(const e of B.values())if(F(e)===v.off)try{const t=ee.getFeature(s.DidCloseTextDocumentNotification.method).getProvider(e);null==t||t.send(e)}catch(e){}for(const e of o.workspace.textDocuments)if(!B.has(e.uri.toString())&&F(e)!==v.off)try{const t=ee.getFeature(s.DidOpenTextDocumentNotification.method).getProvider(e);null==t||t.send(e)}catch(e){}})),H=ee.createDefaultErrorHandler(),ee.onDidChangeState((e=>{e.newState===s.State.Starting?(ee.info("ESLint server is starting"),c=void 0):e.newState===s.State.Running?(ee.info(u),c=!0):(ee.info(p),c=!1),q(void 0)}));const te=()=>{ee.onNotification(k.type,(()=>{ee.outputChannel.show()})),ee.onNotification(R.type,(e=>{P(e)})),ee.onNotification(D,(e=>{z=!0,ee.error(`Server process exited with code ${e[0]}. This usually indicates a misconfigured ESLint setup.`,e[1]),o.window.showErrorMessage("ESLint server shut down itself. See 'ESLint' output channel for details.",{title:"Open Output",id:1}).then((e=>{void 0!==e&&1===e.id&&ee.outputChannel.show()}))})),ee.onRequest(S.type,(e=>{const t=o.Uri.parse(e.document.uri),n=o.workspace.getWorkspaceFolder(t),i=t.fsPath;return n?ee.warn(["",`No ESLint configuration (e.g .eslintrc) found for file: ${i}`,`File will not be validated. Consider running 'eslint --init' in the workspace folder ${n.name}`,"Alternatively you can disable ESLint by executing the 'Disable ESLint' command."].join("\n")):ee.warn(["",`No ESLint configuration (e.g .eslintrc) found for file: ${i}`,"File will not be validated. Alternatively you can disable ESLint by executing the 'Disable ESLint' command."].join("\n")),P({uri:e.document.uri,state:w.error}),{}})),ee.onRequest(b.type,(t=>{const n="noESLintMessageShown",i=e.globalState.get(n,{}),r=o.Uri.parse(t.source.uri),s=o.workspace.getWorkspaceFolder(r),a=o.workspace.getConfiguration("eslint",r).get("packageManager","npm"),c={npm:"npm install -g eslint",pnpm:"pnpm install -g eslint",yarn:"yarn global add eslint"},l="npm"===a,u={title:"Go to output",id:1};return s?(ee.info(["",`Failed to load the ESLint library for the document ${r.fsPath}`,"",`To use ESLint please install eslint by running ${{npm:"npm install eslint",pnpm:"pnpm install eslint",yarn:"yarn add eslint"}[a]} in the workspace folder ${s.name}`,`or globally using '${c[a]}'. You need to reopen the workspace after installing eslint.`,"",l?"If you are using yarn or pnpm instead of npm set the setting `eslint.packageManager` to either `yarn` or `pnpm`":null,`Alternatively you can disable ESLint for the workspace folder ${s.name} by executing the 'Disable ESLint' command.`].filter((e=>null!==e)).join("\n")),void 0===i.workspaces&&(i.workspaces={}),i.workspaces[s.uri.toString()]||(i.workspaces[s.uri.toString()]=!0,e.globalState.update(n,i),o.window.showInformationMessage(`Failed to load the ESLint library for the document ${r.fsPath}. See the output for more information.`,u).then((e=>{e&&1===e.id&&ee.outputChannel.show(!0)})))):(ee.info([`Failed to load the ESLint library for the document ${r.fsPath}`,`To use ESLint for single JavaScript file install eslint globally using '${c[a]}'.`,l?"If you are using yarn or pnpm instead of npm set the setting `eslint.packageManager` to either `yarn` or `pnpm`":null,"You need to reopen VS Code after installing eslint."].filter((e=>null!==e)).join("\n")),i.global||(i.global=!0,e.globalState.update(n,i),o.window.showInformationMessage(`Failed to load the ESLint library for the document ${r.fsPath}. See the output for more information.`,u).then((e=>{e&&1===e.id&&ee.outputChannel.show(!0)})))),{}})),ee.onRequest(T.type,(e=>(o.commands.executeCommand("vscode.open",o.Uri.parse(e.url)),{}))),ee.onRequest(_.type,(e=>{var t;O.add(e.textDocument.uri);const n=ee.getFeature(s.DidCloseTextDocumentNotification.method);for(const i of o.workspace.textDocuments)i.uri.toString()===e.textDocument.uri&&(null===(t=n.getProvider(i))||void 0===t||t.send(i))}))};ee.onReady().then(te),E&&(E.forEach((e=>e.dispose())),E=void 0),e.subscriptions.push(ee.start(),o.window.onDidChangeActiveTextEditor((()=>{q(void 0)})),o.workspace.onDidCloseTextDocument((e=>{const t=e.uri.toString();C.delete(t),q(void 0)})),o.commands.registerCommand("eslint.executeAutofix",(async()=>{const e=o.window.activeTextEditor;if(!e)return;const t={command:"eslint.applyAllFixes",arguments:[{uri:e.document.uri.toString(),version:e.document.version}]};await ee.onReady(),ee.sendRequest(s.ExecuteCommandRequest.type,t).then(void 0,(()=>{o.window.showErrorMessage("Failed to apply ESLint fixes to the document. Please consider opening an issue with steps to reproduce.")}))})),o.commands.registerCommand("eslint.showOutputChannel",(async()=>{ee.outputChannel.show()})),o.commands.registerCommand("eslint.migrateSettings",(()=>{!async function(){const e=o.workspace.workspaceFolders;if(void 0===e)return void o.window.showErrorMessage("ESLint settings can only be converted if VS Code is opened on a workspace folder.");const t=await x(e,"Pick a folder to convert its settings");if(void 0===t)return;const n=new A(t.uri);if(n.record(),n.needsUpdate())try{await n.update()}catch(e){I(e)}}()})),o.commands.registerCommand("eslint.restart",(async()=>{await ee.stop();const e=()=>{ee.start(),ee.onReady().then(te)};!function(){const e=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],t=["--debug","--debug-brk","--inspect","--inspect-brk"];let n=process.execArgv;return!!n&&n.some((n=>e.some((e=>n.startsWith(e)))||t.some((e=>n===e))))}()?e():setTimeout(e,1e3)})))}t.deactivate=function(){E&&E.forEach((e=>e.dispose())),q&&q.dispose()}},5225:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaskProvider=void 0;const i=n(7549),r=n(9292);class o{constructor(e){this._workspaceFolder=e}get workspaceFolder(){return this._workspaceFolder}isEnabled(){var e;const t=i.workspace.getConfiguration("eslint",this._workspaceFolder.uri);return null!==(e=t.get("lintTask.enable",!1))&&void 0!==e?e:t.get("provideLintTask",!1)}start(){}dispose(){}async getTask(){const e="file"===this._workspaceFolder.uri.scheme?this._workspaceFolder.uri.fsPath:void 0;if(e)try{const t=await r.findEslint(e),n={type:"eslint"},o={cwd:this.workspaceFolder.uri.fsPath},s=i.workspace.getConfiguration("eslint",this._workspaceFolder.uri).get("lintTask.options",".");return new i.Task(n,this.workspaceFolder,"lint whole folder","eslint",new i.ShellExecution(`${t} ${s}`,o),"$eslint-stylish")}catch(e){return}}}t.TaskProvider=class{constructor(){this.providers=new Map}start(){const e=i.workspace.workspaceFolders;e&&this.updateWorkspaceFolders(e,[]),i.workspace.onDidChangeWorkspaceFolders((e=>this.updateWorkspaceFolders(e.added,e.removed))),i.workspace.onDidChangeConfiguration(this.updateConfiguration,this)}dispose(){this.taskProvider&&(this.taskProvider.dispose(),this.taskProvider=void 0),this.providers.clear()}updateWorkspaceFolders(e,t){for(let e of t){const t=this.providers.get(e.uri.toString());t&&(t.dispose(),this.providers.delete(e.uri.toString()))}for(let t of e){const e=new o(t);e.isEnabled()&&(this.providers.set(t.uri.toString(),e),e.start())}this.updateProvider()}updateConfiguration(){for(let e of this.providers.values())e.isEnabled()||(e.dispose(),this.providers.delete(e.workspaceFolder.uri.toString()));const e=i.workspace.workspaceFolders;if(e)for(let t of e)if(!this.providers.has(t.uri.toString())){let e=new o(t);e.isEnabled()&&(this.providers.set(t.uri.toString(),e),e.start())}this.updateProvider()}updateProvider(){!this.taskProvider&&this.providers.size>0?this.taskProvider=i.workspace.registerTaskProvider("eslint",{provideTasks:()=>this.getTasks(),resolveTask(e){}}):this.taskProvider&&0===this.providers.size&&(this.taskProvider.dispose(),this.taskProvider=void 0)}getTasks(){if(0===this.providers.size)return Promise.resolve([]);{const e=[];for(let t of this.providers.values())e.push(t.getTask());return Promise.all(e).then((e=>e.filter((e=>void 0!==e))))}}}},9292:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=t.toPosixPath=t.toOSPath=t.convert2RegExp=t.findEslint=void 0;const i=n(5747),r=n(5622);function o(e){return new Promise(((t,n)=>{i.exists(e,(e=>{t(e)}))}))}var s;function a(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}t.findEslint=async function(e){const t=process.platform;return"win32"===t&&await o(r.join(e,"node_modules",".bin","eslint.cmd"))?r.join(".","node_modules",".bin","eslint.cmd"):"linux"!==t&&"darwin"!==t||!await o(r.join(e,"node_modules",".bin","eslint"))?"eslint":r.join(".","node_modules",".bin","eslint")},function(e){e.text="text",e.separator="separator",e.brace="brace",e.bracket="bracket",e.questionMark="questionMark",e.star="star",e.globStar="globStar"}(s||(s={}));class c{constructor(e,t="pattern"){this.value=e,this.index=0,this.mode=t,this.stopChar="pattern"===t?void 0:"}"}makeTextNode(e){return{type:s.text,value:a(this.value.substring(e,this.index))}}next(){let e,t=this.index;for(;(e=this.value[this.index])!==this.stopChar;)switch(e){case"/":return t0?new RegExp(t.join("")):void 0}catch(e){return void console.error(e)}},t.toOSPath=function(e){return"win32"===process.platform?(e=e.replace(/^\/(\w)\//,"$1:\\")).replace(/\//g,"\\"):e},t.toPosixPath=function(e){return"win32"!==process.platform?e:e.replace(/\\/g,"/")},t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},3129:e=>{"use strict";e.exports=require("child_process")},6417:e=>{"use strict";e.exports=require("crypto")},5747:e=>{"use strict";e.exports=require("fs")},1631:e=>{"use strict";e.exports=require("net")},2087:e=>{"use strict";e.exports=require("os")},5622:e=>{"use strict";e.exports=require("path")},1669:e=>{"use strict";e.exports=require("util")},7549:e=>{"use strict";e.exports=require("vscode")}},t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={exports:{}};return e[i].call(r.exports,r,r.exports,n),r.exports}return n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(1113)})()); +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/client/package.json b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/client/package.json new file mode 100644 index 00000000..0debecc6 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/client/package.json @@ -0,0 +1,28 @@ +{ + "name": "client", + "displayName": "ESLint", + "description": "Integrates ESLint into VS Code.", + "version": "2.1.20", + "private": true, + "author": "Microsoft Corporation", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/Microsoft/vscode-eslint.git" + }, + "bugs": { + "url": "https://github.com/Microsoft/vscode-eslint/issues" + }, + "engines": { + "vscode": "^1.53.0" + }, + "devDependencies": { + "@types/vscode": "1.53.0" + }, + "dependencies": { + "vscode-languageclient": "7.0.0" + }, + "scripts": { + "test": "node ../node_modules/mocha/bin/_mocha" + } +} diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/eslint_icon.png b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/eslint_icon.png new file mode 100644 index 00000000..c9096381 Binary files /dev/null and b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/eslint_icon.png differ diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/package-json-schema.json b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/package-json-schema.json new file mode 100644 index 00000000..5d012d27 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/package-json-schema.json @@ -0,0 +1,9 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "properties": { + "eslintConfig": { + "description": "ESLint configuration", + "$ref": "http://json.schemastore.org/eslintrc" + } + } +} \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/package.json b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/package.json new file mode 100644 index 00000000..26133c07 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/package.json @@ -0,0 +1,513 @@ +{ + "name": "vscode-eslint", + "displayName": "ESLint", + "description": "Integrates ESLint JavaScript into VS Code.", + "version": "2.1.23", + "author": "Microsoft Corporation", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/Microsoft/vscode-eslint.git" + }, + "bugs": { + "url": "https://github.com/Microsoft/vscode-eslint/issues" + }, + "publisher": "dbaeumer", + "icon": "eslint_icon.png", + "categories": [ + "Programming Languages", + "Linters" + ], + "keywords": [ + "multi-root ready" + ], + "engines": { + "vscode": "^1.57.0" + }, + "activationEvents": [ + "onStartupFinished" + ], + "extensionKind": [ + "workspace" + ], + "main": "./client/out/extension", + "capabilities": { + "virtualWorkspaces": { + "supported": false, + "description": "Using ESLint is not possible in virtual workspaces." + }, + "untrustedWorkspaces": { + "supported": false, + "description": "The extension requires workspace trust because it loads configuration files and code from the workspace and executes it." + } + }, + "contributes": { + "configuration": { + "type": "object", + "title": "ESLint", + "properties": { + "eslint.enable": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Controls whether eslint is enabled or not.", + "deprecationMessage": "This setting is deprecated. Disable ESLint using the extensions viewlet." + }, + "eslint.packageManager": { + "scope": "resource", + "type": "string", + "enum": [ + "npm", + "yarn", + "pnpm" + ], + "default": "npm", + "description": "The package manager you use to install node modules." + }, + "eslint.alwaysShowStatus": { + "type": "boolean", + "default": false, + "description": "Always show the ESlint status bar item.", + "scope": "window" + }, + "eslint.nodeEnv": { + "scope": "resource", + "type": [ + "string", + "null" + ], + "default": null, + "description": "The value of NODE_ENV to use when running eslint tasks." + }, + "eslint.nodePath": { + "scope": "machine-overridable", + "type": [ + "string", + "null" + ], + "default": null, + "description": "A path added to NODE_PATH when resolving the eslint module." + }, + "eslint.options": { + "scope": "resource", + "type": "object", + "default": {}, + "description": "The eslint options object to provide args normally passed to eslint when executed from a command line (see http://eslint.org/docs/developer-guide/nodejs-api#cliengine)." + }, + "eslint.trace.server": { + "scope": "window", + "anyOf": [ + { + "type": "string", + "enum": [ + "off", + "messages", + "verbose" + ], + "default": "off" + }, + { + "type": "object", + "properties": { + "verbosity": { + "type": "string", + "enum": [ + "off", + "messages", + "verbose" + ], + "default": "off" + }, + "format": { + "type": "string", + "enum": [ + "text", + "json" + ], + "default": "text" + } + } + } + ], + "default": "off", + "description": "Traces the communication between VSCode and the eslint linter service." + }, + "eslint.run": { + "scope": "resource", + "type": "string", + "enum": [ + "onSave", + "onType" + ], + "default": "onType", + "description": "Run the linter on save (onSave) or on type (onType)" + }, + "eslint.autoFixOnSave": { + "scope": "resource", + "type": "boolean", + "default": false, + "description": "Turns auto fix on save on or off.", + "deprecationMessage": "The setting is deprecated. Use editor.codeActionsOnSave instead with a source.fixAll.eslint member." + }, + "eslint.quiet": { + "scope": "resource", + "type": "boolean", + "default": false, + "description": "Turns on quiet mode, which ignores warnings." + }, + "eslint.onIgnoredFiles": { + "scope": "resource", + "type": "string", + "enum": [ + "warn", + "off" + ], + "default": "off", + "description": "Whether ESLint should issue a warning on ignored files." + }, + "eslint.migration.2_x": { + "scope": "application", + "type": "string", + "enum": [ + "off", + "on" + ], + "default": "on", + "description": "Whether ESlint should migrate auto fix on save settings." + }, + "eslint.workingDirectories": { + "scope": "resource", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": [ + "auto", + "location" + ], + "default": "location" + } + }, + "required": [ + "mode" + ] + }, + { + "type": "object", + "properties": { + "directory": { + "type": "string", + "description": "The working directory to use if a file's path starts with this directory." + }, + "changeProcessCWD": { + "type": "boolean", + "description": "Whether the process's cwd should be changed as well." + } + }, + "deprecationMessage": "Use the new !cwd form.", + "required": [ + "directory" + ] + }, + { + "type": "object", + "properties": { + "directory": { + "type": "string", + "description": "The working directory to use if a file's path starts with this directory." + }, + "!cwd": { + "type": "boolean", + "description": "Set to true if ESLint shouldn't change the working directory." + } + }, + "required": [ + "directory" + ] + }, + { + "type": "object", + "properties": { + "pattern": { + "type": "string", + "description": "A glob pattern to match a working directory." + }, + "!cwd": { + "type": "boolean", + "description": "Set to true if ESLint shouldn't change the working directory." + } + }, + "required": [ + "pattern" + ] + } + ] + } + }, + "eslint.validate": { + "scope": "resource", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "The language id to be validated by ESLint." + }, + "autoFix": { + "type": "boolean", + "description": "Whether auto fixes are provided for the language." + } + }, + "deprecationMessage": "Auto Fix is enabled by default. Use the single string form." + } + ] + }, + "description": "An array of language ids which should be validated by ESLint. If not installed ESLint will show an error." + }, + "eslint.probe": { + "scope": "resource", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "html", + "vue", + "markdown" + ], + "description": "An array of language ids for which the extension should probe if support is installed." + }, + "eslint.provideLintTask": { + "scope": "resource", + "type": "boolean", + "default": false, + "deprecationMessage": "This option is deprecated. Use eslint.lintTask.enable instead.", + "description": "Controls whether a task for linting the whole workspace will be available." + }, + "eslint.lintTask.enable": { + "scope": "resource", + "type": "boolean", + "default": false, + "description": "Controls whether a task for linting the whole workspace will be available." + }, + "eslint.lintTask.options": { + "scope": "resource", + "type": "string", + "default": ".", + "description": "Command line options applied when running the task for linting the whole workspace (see https://eslint.org/docs/user-guide/command-line-interface)." + }, + "eslint.runtime": { + "scope": "machine-overridable", + "type": [ + "string", + "null" + ], + "default": null, + "markdownDescription": "The location of the node binary to run ESLint under.\n\n- When specified as a user/machine setting, the Node version from `eslint.runtime` automatically replaces the built-in version.\n- When specified as a workspace setting, `eslint.runtime` allows you to switch to use that version with the `ESLint: Select Node version` command." + }, + "eslint.debug": { + "scope": "window", + "type": "boolean", + "default": false, + "description": "Enables ESLint debug mode (same as --debug on the command line)" + }, + "eslint.codeAction.disableRuleComment": { + "scope": "resource", + "type": "object", + "default": { + "enable": true, + "location": "separateLine" + }, + "properties": { + "enable": { + "type": "boolean", + "default": true, + "description": "Show the disable code actions." + }, + "location": { + "type": "string", + "enum": [ + "separateLine", + "sameLine" + ], + "default": "separateLine", + "description": "Configure the disable rule code action to insert the comment on the same line or a new line." + } + }, + "additionalProperties": false + }, + "eslint.codeAction.showDocumentation": { + "scope": "resource", + "type": "object", + "default": { + "enable": true + }, + "properties": { + "enable": { + "type": "boolean", + "default": true, + "description": "Show the documentation code actions." + } + }, + "additionalProperties": false + }, + "eslint.codeActionsOnSave.mode": { + "scope": "resource", + "type": "string", + "enum": [ + "all", + "problems" + ], + "enumDescriptions": [ + "Fixes all possible problems in the file. This option might take some time.", + "Only fixes reported problems that have non overlapping textual edits. This options runs a lot faster." + ], + "default": "all", + "description": "Specifies the code action mode. Possible values are 'all' and 'problems'." + }, + "eslint.format.enable": { + "scope": "resource", + "type": "boolean", + "default": false, + "description": "Enables ESLint as a formatter." + }, + "eslint.rules.customizations": { + "description": "Override the severity of one or more rules reported by this extension, regardless of the project's ESLint config. Use globs to apply default severities for multiple rules.", + "items": { + "properties": { + "severity": { + "enum": [ + "downgrade", + "error", + "info", + "default", + "upgrade", + "warn", + "off" + ], + "type": "string" + }, + "rule": { + "type": "string" + } + }, + "type": "object" + }, + "scope": "resource", + "type": "array" + } + } + }, + "commands": [ + { + "title": "Fix all auto-fixable Problems", + "category": "ESLint", + "command": "eslint.executeAutofix" + }, + { + "title": "Create ESLint configuration", + "category": "ESLint", + "command": "eslint.createConfig" + }, + { + "title": "Show Output Channel", + "category": "ESLint", + "command": "eslint.showOutputChannel" + }, + { + "title": "Migrate Settings", + "category": "ESLint", + "command": "eslint.migrateSettings" + }, + { + "title": "Restart ESLint Server", + "category": "ESLint", + "command": "eslint.restart" + } + ], + "taskDefinitions": [ + { + "type": "eslint" + } + ], + "jsonValidation": [ + { + "fileMatch": ".eslintrc", + "url": "https://json.schemastore.org/eslintrc" + }, + { + "fileMatch": ".eslintrc.json", + "url": "https://json.schemastore.org/eslintrc" + }, + { + "fileMatch": "package.json", + "url": "./package-json-schema.json" + } + ], + "languages": [ + { + "id": "ignore", + "extensions": [ + ".eslintignore" + ] + }, + { + "id": "jsonc", + "filenames": [ + ".eslintrc.json" + ] + } + ] + }, + "scripts": { + "vscode:prepublish": "npm run webpack", + "webpack": "npm run clean && webpack --mode production --config ./client/webpack.config.js && webpack --mode production --config ./server/webpack.config.js", + "webpack:dev": "npm run clean && webpack --mode none --config ./client/webpack.config.js && webpack --mode none --config ./server/webpack.config.js", + "compile": "tsc -b", + "compile:client": "tsc -b ./client/tsconfig.json", + "compile:server": "tsc -b ./server/tsconfig.json", + "watch": "tsc -b -w", + "lint": "npm run lint:client && npm run lint:server", + "lint:client": "eslint --config ./client/.eslintrc.json ./client/src/*.ts", + "lint:server": "eslint --config ./server/.eslintrc.json ./server/src/*.ts", + "clean": "rimraf client/out && rimraf server/out", + "postinstall": "cd client && npm install && cd ../server && npm install && cd .." + }, + "devDependencies": { + "@types/mocha": "^8.0.4", + "@types/node": "^14.14.31", + "@typescript-eslint/eslint-plugin": "^4.26.1", + "@typescript-eslint/parser": "^4.26.1", + "eslint": "^7.28.0", + "merge-options": "^3.0.4", + "mocha": "^8.2.1", + "rimraf": "^3.0.2", + "ts-loader": "^8.0.11", + "typescript": "^4.1.2", + "webpack": "^5.10.0", + "webpack-cli": "^4.2.0" + }, + "__metadata": { + "id": "583b2b34-2c1e-4634-8c0b-0b82e283ea3a", + "publisherId": "29859a75-d81b-4f0e-8578-2c80ecee6f99", + "publisherDisplayName": "Dirk Baeumer", + "installedTimestamp": 1627023522292 + } +} \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/server/out/eslintServer.js b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/server/out/eslintServer.js new file mode 100644 index 00000000..1d5b9b9d --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/server/out/eslintServer.js @@ -0,0 +1,2 @@ +!function(e,t){for(var n in t)e[n]=t[n];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={5232:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LcsDiff=t.Debug=t.stringDiff=void 0,t.stringDiff=function(e,t,i){return new a(new n(e),new n(t)).ComputeDiff(i).changes};class n{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,i=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new i(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class a{constructor(e,t,n=null){this.ContinueProcessingPredicate=n;const[i,r,o]=a._getElements(e),[s,c,u]=a._getElements(t);this._hasStrings=o&&u,this._originalStringElements=i,this._originalElementsOrHash=r,this._modifiedStringElements=s,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _getElements(e){const t=e.getElements();return t instanceof Int32Array?[[],t,!1]:[[],new Int32Array(t),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._modifiedStringElements[t])}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._originalStringElements[t])}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._modifiedStringElements[e]===this._modifiedStringElements[t])}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,i,r){const o=[!1];let s=this.ComputeDiffRecursive(e,t,n,i,o);return r&&(s=this.PrettifyChanges(s)),{quitEarly:o[0],changes:s}}ComputeDiffRecursive(e,t,n,o,s){for(s[0]=!1;e<=t&&n<=o&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&o>=n&&this.ElementsAreEqual(t,o);)t--,o--;if(e>t||n>o){let s;return n<=o?(r.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s=[new i(e,0,n,o-n+1)]):e<=t?(r.Assert(n===o+1,"modifiedStart should only be one more than modifiedEnd"),s=[new i(e,t-e+1,n,0)]):(r.Assert(e===t+1,"originalStart should only be one more than originalEnd"),r.Assert(n===o+1,"modifiedStart should only be one more than modifiedEnd"),s=[]),s}const a=[0],c=[0],u=this.ComputeRecursionPoint(e,t,n,o,a,c,s),l=a[0],d=c[0];if(null!==u)return u;if(!s[0]){const r=this.ComputeDiffRecursive(e,l,n,d,s);let a=[];return a=s[0]?[new i(l+1,t-(l+1)+1,d+1,o-(d+1)+1)]:this.ComputeDiffRecursive(l+1,t,d+1,o,s),this.ConcatenateChanges(r,a)}return[new i(e,t-e+1,n,o-n+1)]}WALKTRACE(e,t,n,r,o,a,c,u,l,d,h,f,g,p,m,y,v,_){let b=null,R=null,w=new s,C=t,T=n,S=g[0]-y[0]-r,k=-1073741824,x=this.m_forwardHistory.length-1;do{const t=S+e;t===C||t=0&&(e=(l=this.m_forwardHistory[x])[0],C=1,T=l.length-1)}while(--x>=-1);if(b=w.getReverseChanges(),_[0]){let e=g[0]+1,t=y[0]+1;if(null!==b&&b.length>0){const n=b[b.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}R=[new i(e,f-e+1,t,m-t+1)]}else{w=new s,C=a,T=c,S=g[0]-y[0]-u,k=1073741824,x=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+o;e===C||e=d[e+1]?(p=(h=d[e+1]-1)-S-u,h>k&&w.MarkNextChange(),k=h+1,w.AddOriginalElement(h+1,p+1),S=e+1-o):(p=(h=d[e-1])-S-u,h>k&&w.MarkNextChange(),k=h,w.AddModifiedElement(h+1,p+1),S=e-1-o),x>=0&&(o=(d=this.m_reverseHistory[x])[0],C=1,T=d.length-1)}while(--x>=-1);R=w.getChanges()}return this.ConcatenateChanges(b,R)}ComputeRecursionPoint(e,t,n,r,s,a,c){let u=0,l=0,d=0,h=0,f=0,g=0;e--,n--,s[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const p=t-e+(r-n),m=p+1,y=new Int32Array(m),v=new Int32Array(m),_=r-n,b=t-e,R=e-n,w=t-r,C=(b-_)%2==0;y[_]=e,v[b]=t,c[0]=!1;for(let T=1;T<=p/2+1;T++){let p=0,S=0;d=this.ClipDiagonalBound(_-T,T,_,m),h=this.ClipDiagonalBound(_+T,T,_,m);for(let e=d;e<=h;e+=2){u=e===d||ep+S&&(p=u,S=l),!C&&Math.abs(e-b)<=T-1&&u>=v[e])return s[0]=u,a[0]=l,n<=v[e]&&T<=1448?this.WALKTRACE(_,d,h,R,b,f,g,w,y,v,u,t,s,l,r,a,C,c):null}const k=(p-e+(S-n)-T)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(p,k))return c[0]=!0,s[0]=p,a[0]=S,k>0&&T<=1448?this.WALKTRACE(_,d,h,R,b,f,g,w,y,v,u,t,s,l,r,a,C,c):(e++,n++,[new i(e,t-e+1,n,r-n+1)]);f=this.ClipDiagonalBound(b-T,T,b,m),g=this.ClipDiagonalBound(b+T,T,b,m);for(let i=f;i<=g;i+=2){u=i===f||i=v[i+1]?v[i+1]-1:v[i-1],l=u-(i-b)-w;const o=u;for(;u>e&&l>n&&this.ElementsAreEqual(u,l);)u--,l--;if(v[i]=u,C&&Math.abs(i-_)<=T&&u<=y[i])return s[0]=u,a[0]=l,o>=y[i]&&T<=1448?this.WALKTRACE(_,d,h,R,b,f,g,w,y,v,u,t,s,l,r,a,C,c):null}if(T<=1447){let e=new Int32Array(h-d+2);e[0]=_-d+1,o.Copy2(y,d,e,1,h-d+1),this.m_forwardHistory.push(e),e=new Int32Array(g-f+2),e[0]=b-f+1,o.Copy2(v,f,e,1,g-f+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,d,h,R,b,f,g,w,y,v,u,t,s,l,r,a,C,c)}PrettifyChanges(e){for(let t=0;t0,s=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;t--){const n=e[t];let i=0,r=0;if(t>0){const n=e[t-1];n.originalLength>0&&(i=n.originalStart+n.originalLength),n.modifiedLength>0&&(r=n.modifiedStart+n.modifiedLength)}const o=n.originalLength>0,s=n.modifiedLength>0;let a=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,u=n.modifiedStart-e;if(tc&&(c=l,a=e)}n.originalStart-=a,n.modifiedStart-=a}return e}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)}ConcatenateChanges(e,t){let n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const i=new Array(e.length+t.length-1);return o.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],o.Copy(t,1,i,e.length,t.length-1),i}{const n=new Array(e.length+t.length);return o.Copy(e,0,n,0,e.length),o.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(r.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),r.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let o=e.originalLength;const s=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(r,o,s,a),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,i){if(e>=0&&e{Object.defineProperty(t,"__esModule",{value:!0});const i=n(8212),r=n(6813),o=n(7373),s=n(5622),a=n(5747),c=n(3129),u=n(2087),l=n(5232),d=n(572);var h,f,g,p,m,y,v,_,b,R,w,C,T,S,k,x,P,D,q;!function(e){const t=Object.prototype.toString;e.boolean=function(e){return!0===e||!1===e},e.nullOrUndefined=function(e){return null==e},e.string=function(e){return"[object String]"===t.call(e)}}(h||(h={})),function(e){e.applySingleFix="eslint.applySingleFix",e.applySuggestion="eslint.applySuggestion",e.applySameFixes="eslint.applySameFixes",e.applyAllFixes="eslint.applyAllFixes",e.applyDisableLine="eslint.applyDisableLine",e.applyDisableFile="eslint.applyDisableFile",e.openRuleDoc="eslint.openRuleDoc"}(f||(f={})),function(e){e[e.ok=1]="ok",e[e.warn=2]="warn",e[e.error=3]="error"}(g||(g={})),function(e){e.type=new i.NotificationType("eslint/status")}(p||(p={})),function(e){e.type=new i.RequestType("eslint/noConfig")}(m||(m={})),function(e){e.type=new i.RequestType("eslint/noLibrary")}(y||(y={})),function(e){e.type=new i.RequestType("eslint/openDoc")}(v||(v={})),function(e){e.type=new i.RequestType("eslint/probeFailed")}(_||(_={})),function(e){e.type=new i.NotificationType0("eslint/showOutputChannel")}(b||(b={})),function(e){e.auto="auto",e.location="location"}(R||(R={})),function(e){e.is=function(t){return t===e.auto||t===e.location}}(R||(R={})),function(e){e.is=function(e){const t=e;return t&&R.is(t.mode)}}(w||(w={})),function(e){e.is=function(e){const t=e;return t&&h.string(t.directory)&&(h.boolean(t["!cwd"])||void 0===t["!cwd"])}}(C||(C={})),function(e){e.on="on",e.off="off",e.probe="probe"}(T||(T={})),function(e){e.off="off",e.warn="warn",e.error="error"}(S||(S={})),function(e){e.all="all",e.problems="problems"}(k||(k={})),function(e){e.info="info",e.warn="warn",e.error="error",e.off="off",e.default="default",e.downgrade="downgrade",e.upgrade="upgrade"}(x||(x={})),function(e){e.hasLibrary=function(e){return void 0!==e.library}}(P||(P={})),function(e){e.hasMetaType=function(e){return void 0!==e&&void 0!==e.meta&&void 0!==e.meta.type}}(D||(D={})),function(e){e.hasRule=function(e){return void 0!==e.getRules}}(q||(q={}));const E=new d.LRUCache(1024);let O;function N(e,t){return e.startsWith("!")?!new RegExp(`^${e.slice(1).replace(/\*/g,".*")}$`,"g").test(t):new RegExp(`^${e.replace(/\*/g,".*")}$`,"g").test(t)}function M(e,t){if(E.has(e))return E.get(e);let n;for(const i of t)N(i.rule,e)&&(n=i.severity);return E.set(e,n),n}var j,F,A;function L(e){const t=e.range;return`[${t.start.line},${t.start.character},${t.end.line},${t.end.character}]-${e.code}`}!function(e){e.isFixable=function(e){return void 0!==e.edit},e.hasSuggestions=function(e){return void 0!==e.suggestions}}(j||(j={})),function(e){e.createTextEdit=function(e,t){return i.TextEdit.replace(i.Range.create(e.positionAt(t.edit.range[0]),e.positionAt(t.edit.range[1])),t.edit.text||"")}}(F||(F={})),function(e){e.createTextEdit=function(e,t){return i.TextEdit.replace(i.Range.create(e.positionAt(t.fix.range[0]),e.positionAt(t.fix.range[1])),t.fix.text||"")}}(A||(A={}));const I=new Map;function W(e,t,n){if(!n.ruleId)return;const i=e.uri;let r=I.get(i);void 0===r&&(r=new Map,I.set(i,r)),r.set(L(t),{label:`Fix this ${n.ruleId} problem`,documentVersion:e.version,ruleId:n.ruleId,line:n.line,diagnostic:t,edit:n.fix,suggestions:n.suggestions})}function $(e,t){switch(t){case x.off:case x.info:case x.warn:case x.error:return t;case x.downgrade:switch(H(e)){case i.DiagnosticSeverity.Error:return x.warn;case i.DiagnosticSeverity.Warning:case i.DiagnosticSeverity.Information:return x.info}case x.upgrade:switch(H(e)){case i.DiagnosticSeverity.Information:return x.warn;case i.DiagnosticSeverity.Warning:case i.DiagnosticSeverity.Error:return x.error}default:return e}}function H(e){switch(e){case 1:case x.warn:return i.DiagnosticSeverity.Warning;case 2:case x.error:return i.DiagnosticSeverity.Error;case x.info:return i.DiagnosticSeverity.Information;default:return i.DiagnosticSeverity.Error}}function U(e){if("win32"!==process.platform)return!1;if(!e||e.length<5)return!1;let t=e.charCodeAt(0);if(92!==t)return!1;if(t=e.charCodeAt(1),92!==t)return!1;let n=2;const i=n;for(;n=2&&":"===t[1]&&(t=t[0].toUpperCase()+t.substr(1)),"win32"===process.platform||"darwin"===process.platform){const e=a.realpathSync.native(t);e.toLowerCase()===t.toLowerCase()&&(t=e)}return t}(t):void 0}const B=new i.NotificationType("eslint/exitCalled"),K=process.exit;process.exit=e=>{const t=new Error("stack");V.sendNotification(B,[e||0,t.stack]),setTimeout((()=>{K(e)}),1e3)},process.on("uncaughtException",(e=>{let t;if(e&&("string"==typeof e.stack?t=e.stack:"string"==typeof e.message?t=e.message:"string"==typeof e&&(t=e),void 0===t||0===t.length))try{t=JSON.stringify(e,void 0,4)}catch(e){}console.error("Uncaught exception received."),t&&console.error(t)}));const V=i.createConnection({cancelUndispatched:e=>{if(function(e){const t=e;return t&&"string"==typeof t.method&&("string"==typeof t.id||"number"==typeof t.id)}(e)&&"textDocument/codeAction"===e.method)return{jsonrpc:e.jsonrpc,id:e.id,result:null}}});let J;V.console.info(`ESLint server running in node ${process.version}`);const G={yarn:{cache:void 0,get:()=>i.Files.resolveGlobalYarnPath(de)},npm:{cache:void 0,get:()=>i.Files.resolveGlobalNodePath(de)},pnpm:{cache:void 0,get:()=>c.execSync("pnpm root -g").toString().trim()}},X=new Map([["javascript","js"],["javascriptreact","jsx"],["typescript","ts"],["typescriptreact","tsx"],["html","html"],["vue","vue"]]),Q=function(){const e=new Map,t=/\/@typescript-eslint\/parser\//,n=/\/babel-eslint\/lib\/index.js$/;return e.set("typescript",[t,n]),e.set("typescriptreact",[t,n]),e.set("html",[/\/@angular-eslint\/template-parser\//]),e}(),Y=function(){const e=new Map;return e.set("typescript",{regExps:[/vue-eslint-parser\/.*\.js$/],parsers:new Set(["@typescript-eslint/parser"]),parserRegExps:[/@typescript-eslint\/parser\/.*\.js$/]}),e}(),Z=new Map([["html","html"],["vue","vue"],["markdown","markdown"]]),ee=new Set(["javascript","javascriptreact"]),te=new Map,ne=new Map,ie=[["package.json",!0],[".eslintignore",!0],[".eslintrc",!1],[".eslintrc.json",!1],[".eslintrc.js",!1],[".eslintrc.yaml",!1],[".eslintrc.yml",!1]];function re(e){const t=e.uri;let n=ne.get(t);return n||(n=V.workspace.getConfiguration({scopeUri:t,section:""}).then((n=>{var r;const c=Object.assign({},n,{silent:!1,library:void 0,resolvedGlobalPackageManagerPath:void 0},{workingDirectory:void 0});if(c.validate===T.off)return c;c.resolvedGlobalPackageManagerPath=function(e){const t=G[e];if(t)return void 0===t.cache&&(t.cache=t.get()),t.cache}(c.packageManager);const u=z(e),l=void 0!==c.workspaceFolder?z(c.workspaceFolder.uri):void 0,d=void 0!==n.workingDirectory,h=null!==(r=n.workingDirectory)&&void 0!==r?r:{mode:R.location};if(w.is(h)){let e;h.mode===R.location?void 0!==l?e=l:void 0===u||U(u)||(e=s.dirname(u)):h.mode===R.auto&&(void 0!==l?e=function(e,t){if(void 0===t||U(t))return e;if(-1!==t.indexOf(`${s.sep}node_modules${s.sep}`))return e;let n=e,i=s.dirname(t);e:for(;void 0!==i&&i.startsWith(e);){for(const e of ie)if(a.existsSync(s.join(i,e[0]))){if(n=i,e[1])break e;break}const e=s.dirname(i);i=e!==i?e:void 0}return n}(l,u):void 0===u||U(u)||(e=s.dirname(u))),void 0!==e&&a.existsSync(e)&&(c.workingDirectory={directory:e})}else c.workingDirectory=h;let f,g,p;if(null!==c.nodePath&&(g=c.nodePath,!s.isAbsolute(g)&&void 0!==c.workspaceFolder)){const e=z(c.workspaceFolder.uri);void 0!==e&&(g=s.join(e,g))}return d||void 0===u||(p=s.dirname(u)),void 0!==p||void 0===c.workingDirectory||c.workingDirectory["!cwd"]||(p=c.workingDirectory.directory),f=void 0!==g?i.Files.resolve("eslint",g,g,de).then(void 0,(()=>i.Files.resolve("eslint",c.resolvedGlobalPackageManagerPath,p,de))):i.Files.resolve("eslint",c.resolvedGlobalPackageManagerPath,p,de),c.silent=c.validate===T.probe,f.then((n=>{var r;let a=te.get(n);if(void 0===a?(a=function(e){const t=require;try{return t(e)}catch(e){V.console.error(e.stack.toString())}}(n),void 0===a?(c.validate=T.off,c.silent||V.console.error(`Failed to load eslint library from ${n}. See output panel for more information.`)):void 0===a.CLIEngine?(c.validate=T.off,V.console.error(`The eslint library loaded from ${n} doesn't export a CLIEngine. You need at least eslint@1.0.0`)):(V.console.info(`ESLint library loaded from: ${n}`),c.library=a,te.set(n,a))):c.library=a,c.validate===T.probe&&P.hasLibrary(c)){c.validate=T.off;const t=o.URI.parse(e.uri);let n=z(e);if(void 0===n&&"untitled"===t.scheme&&void 0!==c.workspaceFolder){const t=X.get(e.languageId),i=z(c.workspaceFolder.uri);void 0!==i&&void 0!==t&&(n=s.join(i,`test${t}`))}if(void 0!==n){const t=Q.get(e.languageId),i=Z.get(e.languageId),o=Y.get(e.languageId);if(ee.has(e.languageId))c.validate=T.on;else if(void 0!==t||void 0!==i||void 0!==o){const e=me((e=>{try{return"function"==typeof e.getConfigForFile?e.getConfigForFile(n):void 0}catch(e){return}}),c);if(void 0!==e){const n=null!==e.parser?"win32"===process.platform?e.parser.replace(/\\/g,"/"):e.parser:void 0;if(void 0!==n){if(void 0!==t)for(const e of t)if(e.test(n)){c.validate=T.on;break}if(c.validate!==T.on&&void 0!==o&&"string"==typeof(null===(r=e.parserOptions)||void 0===r?void 0:r.parser))for(const t of o.regExps)if(t.test(n)&&(o.parsers.has(e.parserOptions.parser)||void 0!==o.parserRegExps&&o.parserRegExps.some((t=>t.test(e.parserOptions.parser))))){c.validate=T.on;break}}if(c.validate!==T.on&&Array.isArray(e.plugins)&&e.plugins.length>0&&void 0!==i)for(const t of e.plugins)if(t===i){c.validate=T.on;break}}}}if(c.validate===T.off){const t={textDocument:{uri:e.uri}};V.sendRequest(_.type,t)}}if(c.format&&c.validate===T.on&&P.hasLibrary(c)){const e=o.URI.parse(t),n="file"===e.scheme;let r=n?e.fsPath.replace(/\\/g,"/"):e.fsPath;r=r.replace(/[\[\]\{\}]/g,"?");const s={documentSelector:[{scheme:e.scheme,pattern:r}]};if(n){const e=z(t);me((n=>{n.isPathIgnored(e)||ce.set(t,V.client.register(i.DocumentFormattingRequest.type,s))}),c)}else ce.set(t,V.client.register(i.DocumentFormattingRequest.type,s))}return c}),(()=>(c.validate=T.off,c.silent||V.sendRequest(y.type,{source:{uri:e.uri}}),c)))})),ne.set(t,n),n)}var oe,se;!function(e){e.is=function(e){const t=e;return t&&void 0!==t.token&&void 0!==t.resolve&&void 0!==t.reject}}(oe||(oe={})),function(e){e.is=function(e){return e&&"function"==typeof e.then}}(se||(se={}));const ae=new class{constructor(e){this.connection=e,this.queue=[],this.requestHandlers=new Map,this.notificationHandlers=new Map}registerRequest(e,t,n){this.connection.onRequest(e,((t,i)=>new Promise(((r,o)=>{this.queue.push({method:e.method,params:t,documentVersion:n?n(t):void 0,resolve:r,reject:o,token:i}),this.trigger()})))),this.requestHandlers.set(e.method,{handler:t,versionProvider:n})}registerNotification(e,t,n){V.onNotification(e,(t=>{this.queue.push({method:e.method,params:t,documentVersion:n?n(t):void 0}),this.trigger()})),this.notificationHandlers.set(e.method,{handler:t,versionProvider:n})}addNotificationMessage(e,t,n){this.queue.push({method:e.method,params:t,documentVersion:n}),this.trigger()}onNotification(e,t,n){this.notificationHandlers.set(e.method,{handler:t,versionProvider:n})}trigger(){this.timer||0===this.queue.length||(this.timer=setImmediate((()=>{this.timer=void 0,this.processQueue(),this.trigger()})))}processQueue(){const e=this.queue.shift();if(e)if(oe.is(e)){const t=e;if(t.token.isCancellationRequested)return void t.reject(new i.ResponseError(i.LSPErrorCodes.RequestCancelled,"Request got cancelled"));const n=this.requestHandlers.get(t.method);if(void 0===n)throw new Error("No handler registered");if(n.versionProvider&&void 0!==t.documentVersion&&t.documentVersion!==n.versionProvider(t.params))return void t.reject(new i.ResponseError(i.LSPErrorCodes.RequestCancelled,"Request got cancelled"));const r=n.handler(t.params,t.token);se.is(r)?r.then((e=>{t.resolve(e)}),(e=>{t.reject(e)})):t.resolve(r)}else{const t=e,n=this.notificationHandlers.get(t.method);if(void 0===n)throw new Error("No handler registered");if(n.versionProvider&&void 0!==t.documentVersion&&t.documentVersion!==n.versionProvider(t.params))return;n.handler(t.params)}}}(V),ce=new Map;var ue;function le(){ne.clear();for(let e of J.all())ae.addNotificationMessage(ue.type,e,e.version);for(const e of ce.values())e.then((e=>e.dispose()));ce.clear()}function de(e,t){V.tracer.log(e,t)}!function(e){e.type=new i.NotificationType("eslint/validate")}(ue||(ue={})),ae.onNotification(ue.type,(e=>{!function(e,t=!0){if(!J.get(e.uri))return Promise.resolve(void 0);re(e).then((n=>{if(n.validate===T.on&&P.hasLibrary(n))try{!function(e,t,n=!0){const r=Object.assign(Object.create(null),t.options);let o;if(Array.isArray(r.fixTypes)&&r.fixTypes.length>0){o=new Set;for(let e of r.fixTypes)pe.has(e)&&o.add(e);0===o.size&&(o=void 0)}const s=JSON.stringify(t.rulesCustomizations);O!==s&&(O=s,E.clear());const a=e.getText(),c=e.uri,u=z(e);me((r=>{I.delete(c);const s=r.executeOnText(a,u,t.onIgnoredFiles!==S.off);q.hasRule(r)&&!ge.handled.has(c)&&(ge.handled.add(c),r.getRules().forEach(((e,t)=>{e.meta&&e.meta.docs&&h.string(e.meta.docs.url)&&ge.urls.set(t,e.meta.docs.url)})));const l=[];if(s&&s.results&&Array.isArray(s.results)&&s.results.length>0){const n=s.results[0];n.messages&&Array.isArray(n.messages)&&n.messages.forEach((n=>{if(n){if(M(n.ruleId,t.rulesCustomizations)===x.off)return;const s=H(n.severity)===i.DiagnosticSeverity.Warning;if(t.quiet&&s)return;const a=function(e,t){const n=t.message,r=h.nullOrUndefined(t.line)?0:Math.max(0,t.line-1),o=h.nullOrUndefined(t.column)?0:Math.max(0,t.column-1),s=h.nullOrUndefined(t.endLine)?r:Math.max(0,t.endLine-1),a=h.nullOrUndefined(t.endColumn)?o:Math.max(0,t.endColumn-1),c={message:n,severity:(u=t.severity,l=M(t.ruleId,e.rulesCustomizations),H($(u,l))),source:"eslint",range:{start:{line:r,character:o},end:{line:s,character:a}}};var u,l;if(t.ruleId){const e=ge.urls.get(t.ruleId);c.code=t.ruleId,void 0!==e&&(c.codeDescription={href:e}),"no-unused-vars"===t.ruleId&&(c.tags=[i.DiagnosticTag.Unnecessary])}return c}(t,n);if(l.push(a),void 0!==o&&q.hasRule(r)&&void 0!==n.ruleId&&void 0!==n.fix){const t=r.getRules().get(n.ruleId);D.hasMetaType(t)&&o.has(t.meta.type)&&W(e,a,n)}else W(e,a,n)}}))}n&&V.sendDiagnostics({uri:c,diagnostics:l})}),t)}(e,n,t),V.sendNotification(p.type,{uri:e.uri,state:g.ok})}catch(t){if(V.sendDiagnostics({uri:e.uri,diagnostics:[]}),n.silent)V.console.info(fe(t,e)),V.sendNotification(p.type,{uri:e.uri,state:g.ok});else{let i;for(let r of he)if(i=r(t,e,n.library),i)break;i=i||g.error,V.sendNotification(p.type,{uri:e.uri,state:i})}}}))}(e,!0)}),(e=>e.version)),V.onInitialize(((e,t,n)=>{n.begin("Initializing ESLint Server");const o=i.TextDocumentSyncKind.Incremental;return J=new i.TextDocuments(r.TextDocument),J.listen(V),J.onDidOpen((e=>{re(e.document).then((t=>{t.validate===T.on&&P.hasLibrary(t)&&"onSave"===t.run&&ae.addNotificationMessage(ue.type,e.document,e.document.version)}))})),J.onDidChangeContent((e=>{const t=e.document.uri;I.delete(t),re(e.document).then((t=>{t.validate===T.on&&"onType"===t.run&&ae.addNotificationMessage(ue.type,e.document,e.document.version)}))})),J.onDidSave((e=>{re(e.document).then((t=>{t.validate===T.on&&"onSave"===t.run&&ae.addNotificationMessage(ue.type,e.document,e.document.version)}))})),J.onDidClose((e=>{re(e.document).then((t=>{const n=e.document.uri;ne.delete(n),I.delete(n);const i=ce.get(e.document.uri);void 0!==i&&(i.then((e=>e.dispose())),ce.delete(e.document.uri)),t.validate===T.on&&V.sendDiagnostics({uri:n,diagnostics:[]})}))})),n.done(),{capabilities:{textDocumentSync:{openClose:!0,change:o,willSaveWaitUntil:!1,save:{includeText:!1}},workspace:{workspaceFolders:{supported:!0}},codeActionProvider:{codeActionKinds:[i.CodeActionKind.QuickFix,`${i.CodeActionKind.SourceFixAll}.eslint`]},executeCommandProvider:{commands:[f.applySingleFix,f.applySuggestion,f.applySameFixes,f.applyAllFixes,f.applyDisableLine,f.applyDisableFile,f.openRuleDoc]}}}})),V.onInitialized((()=>{V.client.register(i.DidChangeConfigurationNotification.type,void 0),V.client.register(i.DidChangeWorkspaceFoldersNotification.type,void 0)})),ae.registerNotification(i.DidChangeConfigurationNotification.type,(e=>{le()})),ae.registerNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{le()}));const he=[function(e,t,n){if(function(e){const t=e;return"no-config-found"===t.messageTemplate||"No ESLint configuration found."===t.message}(e))return ye.has(t.uri)||(V.sendRequest(m.type,{message:fe(e,t),document:{uri:t.uri}}).then(void 0,(()=>{})),ye.set(t.uri,n)),g.warn},function(e,t,n){if(!e.message)return;function i(i){return ve.has(i)||(V.console.error(fe(e,t)),J.get(o.URI.file(i).toString())||V.window.showInformationMessage(fe(e,t)),ve.set(i,n)),g.warn}let r=/Cannot read config file:\s+(.*)\nError:\s+(.*)/.exec(e.message);return r&&3===r.length?i(r[1]):(r=/(.*):\n\s*Configuration for rule \"(.*)\" is /.exec(e.message),r&&3===r.length?i(r[1]):(r=/Cannot find module '([^']*)'\nReferenced from:\s+(.*)/.exec(e.message),r&&3===r.length?i(r[2]):void 0))},function(e,t,n){if(!e.message)return;const i=/Failed to load plugin (.*): Cannot find module (.*)/.exec(e.message);return i&&3===i.length?function(e,i,r){if(!_e.has(e)){const o=z(t);_e.set(e,n),"plugin-missing"===r.messageTemplate?V.console.error(["",`${r.message.toString()}`,`Happened while validating ${o||t.uri}`,"This can happen for a couple of reasons:","1. The plugin name is spelled incorrectly in an ESLint configuration file (e.g. .eslintrc).",`2. If ESLint is installed globally, then make sure ${i} is installed globally as well.`,`3. If ESLint is installed locally, then ${i} isn't installed correctly.`,"",`Consider running eslint --debug ${o||t.uri} from a terminal to obtain a trace about the configuration files used.`].join("\n")):V.console.error([`${r.message.toString()}`,`Happened while validating ${o||t.uri}`].join("\n"))}return g.warn}(i[1],i[2],e):void 0},function(e,t){return V.window.showErrorMessage(`ESLint: ${fe(e,t)}. Please see the 'ESLint' output channel for details.`,{title:"Open Output",id:1}).then((e=>{void 0!==e&&1===e.id&&V.sendNotification(b.type)})),h.string(e.stack)&&(V.console.error("ESLint stack trace:"),V.console.error(e.stack)),g.error}];function fe(e,t){let n;return"string"==typeof e.message||e.message instanceof String?(n=e.message,n=n.replace(/\r?\n/g," "),/^CLI: /.test(n)&&(n=n.substr(5))):n=`An unknown error occurred while validating document: ${t.uri}`,n}const ge={handled:new Set,urls:new Map},pe=new Set(["problem","suggestion","layout"]);function me(e,t,n){const i=void 0===n?Object.assign(Object.create(null),t.options):Object.assign(Object.create(null),t.options,n),r=process.cwd();try{return t.workingDirectory&&(i.cwd=function(e){return"win32"!==process.platform||e.length<2||":"!==e[1]?e:e[0].toUpperCase()+e.substr(1)}(t.workingDirectory.directory),!0!==t.workingDirectory["!cwd"]&&a.existsSync(t.workingDirectory.directory)&&process.chdir(t.workingDirectory.directory)),e(new t.library.CLIEngine(i))}finally{r!==process.cwd()&&process.chdir(r)}}const ye=new Map,ve=new Map,_e=new Map;ae.registerNotification(i.DidChangeWatchedFilesNotification.type,(e=>{ge.handled.clear(),ge.urls.clear(),ye.clear(),_e.clear(),ne.clear(),e.changes.forEach((e=>{const t=z(e.uri);if(void 0===t||0===t.length||U(t))return;const n=s.dirname(t);if(n){const e=ve.get(t);if(void 0!==e){const i=new e.CLIEngine({});try{i.executeOnText("",s.join(n,"___test___.js")),ve.delete(t)}catch(e){}}}})),function(e){e.forEach((e=>{ae.addNotificationMessage(ue.type,e,e.version)}))}(J.all())}));class be{constructor(e){this.edits=e}static overlaps(e,t){return void 0!==e&&e.edit.range[1]>t.edit.range[0]}static isSame(e,t){return e.edit.range[0]===t.edit.range[0]&&e.edit.range[1]===t.edit.range[1]&&e.edit.text===t.edit.text}isEmpty(){return 0===this.edits.size}getDocumentVersion(){if(this.isEmpty())throw new Error("No edits recorded.");return this.edits.values().next().value.documentVersion}getScoped(e){const t=[];for(let n of e){const e=L(n),i=this.edits.get(e);i&&t.push(i)}return t}getAllSorted(){const e=[];return this.edits.forEach((t=>{j.isFixable(t)&&e.push(t)})),e.sort(((e,t)=>{const n=e.edit.range[0]-t.edit.range[0];if(0!==n)return n;const i=e.edit.range[1]-e.edit.range[0];if(0===i)return-1;const r=t.edit.range[1]-t.edit.range[0];return 0===r?1:i-r}))}getApplicable(){const e=this.getAllSorted();if(e.length<=1)return e;const t=[];let n=e[0];t.push(n);for(let i=1;i{if(e.validate!==T.on||!P.hasLibrary(e)||t===Se.format&&!e.format)return[];const o=z(i);return me((s=>{const a=I.get(n),c=i.getText();let u;const d=[];let h=Date.now();if(t===Se.onSave&&void 0!==a&&a.size>0){const e=new be(a).getApplicable();e.length>0&&(u=e.map((e=>F.createTextEdit(i,e))))}if(t===Se.onSave&&e.codeActionOnSave.mode===k.problems)V.tracer.log(`Computing all fixes took: ${Date.now()-h} ms.`),void 0!==u&&d.push(...u);else{let e;e=void 0!==u?r.TextDocument.applyEdits(i,u):c;const t=s.executeOnText(e,o);if(V.tracer.log(`Computing all fixes took: ${Date.now()-h} ms.`),Array.isArray(t.results)&&1===t.results.length&&void 0!==t.results[0].output){const e=t.results[0].output;h=Date.now();const n=l.stringDiff(c,e,!1);V.tracer.log(`Computing minimal edits took: ${Date.now()-h} ms.`);for(let t of n)d.push({range:{start:i.positionAt(t.originalStart),end:i.positionAt(t.originalStart+t.originalLength)},newText:e.substr(t.modifiedStart,t.modifiedLength)})}else void 0!==u&&d.push(...u)}return d}),e,{fix:!0})}))}ae.registerRequest(i.CodeActionRequest.type,(e=>{const t=new Re,n=e.textDocument.uri,r=J.get(n);if(void 0===r)return Ce.clear(r),t.all();function o(e,t,n,r,o){const s=i.Command.create(e,n,r),a=i.CodeAction.create(e,s,t);return void 0!==o&&(a.diagnostics=[o]),a}function s(e,t){return i.TextEdit.insert(i.Position.create(e.line-1,0),`${t}// eslint-disable-next-line ${e.ruleId}${u.EOL}`)}function a(e){return i.TextEdit.insert(i.Position.create(e.line-1,2147483647),` // eslint-disable-line ${e.ruleId}`)}function c(e){const t="#!"===(null==r?void 0:r.getText(i.Range.create(i.Position.create(0,0),i.Position.create(0,2))))?1:0;return i.TextEdit.insert(i.Position.create(t,0),`/* eslint-disable ${e.ruleId} */${u.EOL}`)}function l(e){const t=e.length;if(0!==t)return e[t-1]}return re(r).then((async u=>{if(u.validate!==T.on||!P.hasLibrary(u))return t.all();const d=I.get(n);if(void 0===d&&"onType"===u.run)return t.all();const h=void 0!==e.context.only&&e.context.only.length>0?e.context.only[0]:void 0,g=h===i.CodeActionKind.Source,p=h===Te||h===i.CodeActionKind.SourceFixAll;if(p||g){if(p&&u.codeActionOnSave.enable){const e={uri:r.uri,version:r.version},n=await ke(e,Se.onSave);void 0!==n&&t.fixAll.push(i.CodeAction.create("Fix all ESLint auto-fixable problems",{documentChanges:[i.TextDocumentEdit.create(e,n)]},Te))}else g&&t.fixAll.push(o("Fix all ESLint auto-fixable problems",i.CodeActionKind.Source,f.applyAllFixes,we.create(r)));return t.all()}if(void 0===d)return t.all();const m=new be(d);if(m.isEmpty())return t.all();let y=-1;const v=[],_=null!=h?h:i.CodeActionKind.QuickFix;for(let l of m.getScoped(e.context.diagnostics)){y=l.documentVersion;const e=l.ruleId;if(v.push(e),j.isFixable(l)){const s=new i.WorkspaceChange;s.getTextEditChange({uri:n,version:y}).add(F.createTextEdit(r,l)),Ce.set(`${f.applySingleFix}:${e}`,s);const a=o(l.label,_,f.applySingleFix,we.create(r,e),l.diagnostic);a.isPreferred=!0,t.get(e).fixes.push(a)}if(j.hasSuggestions(l)&&l.suggestions.forEach(((s,a)=>{const c=new i.WorkspaceChange;c.getTextEditChange({uri:n,version:y}).add(A.createTextEdit(r,s)),Ce.set(`${f.applySuggestion}:${e}:${a}`,c);const u=o(`${s.desc} (${l.ruleId})`,i.CodeActionKind.QuickFix,f.applySuggestion,we.create(r,e,a),l.diagnostic);t.get(e).suggestions.push(u)})),u.codeAction.disableRuleComment.enable){let d=new i.WorkspaceChange;if("sameLine"===u.codeAction.disableRuleComment.location)d.getTextEditChange({uri:n,version:y}).add(a(l));else{const e=r.getText(i.Range.create(i.Position.create(l.line-1,0),i.Position.create(l.line-1,2147483647))),t=/^([ \t]*)/.exec(e),o=null!==t&&t.length>0?t[1]:"";d.getTextEditChange({uri:n,version:y}).add(s(l,o))}Ce.set(`${f.applyDisableLine}:${e}`,d),t.get(e).disable=o(`Disable ${e} for this line`,_,f.applyDisableLine,we.create(r,e)),void 0===t.get(e).disableFile&&(d=new i.WorkspaceChange,d.getTextEditChange({uri:n,version:y}).add(c(l)),Ce.set(`${f.applyDisableFile}:${e}`,d),t.get(e).disableFile=o(`Disable ${e} for the entire file`,_,f.applyDisableFile,we.create(r,e)))}u.codeAction.showDocumentation.enable&&void 0===t.get(e).showDocumentation&&ge.urls.has(e)&&(t.get(e).showDocumentation=o(`Show documentation for ${e}`,_,f.openRuleDoc,we.create(r,e)))}if(t.length>0){const e=new Map(v.map((e=>[e,[]])));for(let t of m.getAllSorted())if(-1===y&&(y=t.documentVersion),e.has(t.ruleId)){const n=e.get(t.ruleId);be.overlaps(l(n),t)||n.push(t)}e.forEach(((e,s)=>{if(e.length>1){const a=new i.WorkspaceChange,c=a.getTextEditChange({uri:n,version:y});e.map((e=>F.createTextEdit(r,e))).forEach((e=>c.add(e))),Ce.set(f.applySameFixes,a),t.get(s).fixAll=o(`Fix all ${s} problems`,_,f.applySameFixes,we.create(r))}})),t.fixAll.push(o("Fix all auto-fixable problems",_,f.applyAllFixes,we.create(r)))}return t.all()}))}),(e=>{const t=J.get(e.textDocument.uri);return void 0!==t?t.version:void 0})),function(e){e.onSave="onsave",e.format="format",e.command="command"}(Se||(Se={})),ae.registerRequest(i.ExecuteCommandRequest.type,(async e=>{let t;const n=e.arguments[0];if(e.command===f.applyAllFixes){const e=await ke(n,Se.command);if(void 0!==e){t=new i.WorkspaceChange;const r=t.getTextEditChange(n);e.forEach((e=>r.add(e)))}}else if(-1!==[f.applySingleFix,f.applyDisableLine,f.applyDisableFile].indexOf(e.command))t=Ce.get(`${e.command}:${n.ruleId}`);else if(-1!==[f.applySuggestion].indexOf(e.command))t=Ce.get(`${e.command}:${n.ruleId}:${n.sequence}`);else if(e.command===f.openRuleDoc&&we.hasRuleId(n)){const e=ge.urls.get(n.ruleId);e&&V.sendRequest(v.type,{url:e})}else t=Ce.get(e.command);return void 0===t?{}:V.workspace.applyEdit(t.edit).then((t=>(t.applied||V.console.error(`Failed to apply command: ${e.command}`),{})),(()=>{V.console.error(`Failed to apply command: ${e.command}`)}))}),(e=>{const t=e.arguments[0];return Ce.isUsable(t.uri,t.version)?t.version:void 0})),ae.registerRequest(i.DocumentFormattingRequest.type,(e=>{const t=J.get(e.textDocument.uri);return void 0===t?[]:ke({uri:t.uri,version:t.version},Se.format)}),(e=>{const t=J.get(e.textDocument.uri);return void 0!==t?t.version:void 0})),V.listen()},572:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},3870:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const o=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return o.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return o.Emitter}});const s=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const c=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const u=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}});const l=n(147);t.RAL=l.default},3881:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),o=n(7135);var s;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:o.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:o.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(s=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class c{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new o.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new c),this._token}cancel(){this._token?this._token.cancel():this._token=s.Cancelled}dispose(){this._token?this._token instanceof c&&this._token.dispose():this._token=s.None}}},1343:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),o=n(839),s=n(6184),a=n(7135),c=n(3881);var u,l,d,h,f,g,p,m,y,v,_,b,R;!function(e){e.type=new o.NotificationType("$/cancelRequest")}(u||(u={})),function(e){e.type=new o.NotificationType("$/progress")}(l||(l={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(h=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(h=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(f=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new o.NotificationType("$/setTrace")}(g=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new o.NotificationType("$/logTrace")}(p=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=t.ConnectionErrors||(t.ConnectionErrors={}));class w extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,w.prototype)}}t.ConnectionError=w,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new c.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(v=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(u.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(_=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:v.Message,sender:_.Message}),e.is=function(e){const t=e;return t&&v.is(t.receiver)&&_.is(t.sender)}}(b=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(b.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(R||(R={})),t.createMessageConnection=function(e,n,y,v){const _=void 0!==y?y:t.NullLogger;let C=0,T=0,S=0;const k="2.0";let x;const P=Object.create(null);let D;const q=Object.create(null),E=new Map;let O,N,M=new s.LinkedMap,j=Object.create(null),F=Object.create(null),A=h.Off,L=f.Text,I=R.New;const W=new a.Emitter,$=new a.Emitter,H=new a.Emitter,U=new a.Emitter,z=new a.Emitter,B=v&&v.cancellationStrategy?v.cancellationStrategy:b.Message;function K(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function V(e){}function J(){return I===R.Listening}function G(){return I===R.Closed}function X(){return I===R.Disposed}function Q(){I!==R.New&&I!==R.Listening||(I=R.Closed,$.fire(void 0))}function Y(){O||0===M.size||(O=i.default().timer.setImmediate((()=>{O=void 0,function(){if(0===M.size)return;const e=M.shift();try{o.isRequestMessage(e)?function(e){if(X())return;function t(t,i,r){const s={jsonrpc:k,id:e.id};t instanceof o.ResponseError?s.error=t.toJson():s.result=void 0===t?null:t,ee(s,i,r),n.write(s)}function i(t,i,r){const o={jsonrpc:k,id:e.id,error:t.toJson()};ee(o,i,r),n.write(o)}!function(e){if(A!==h.Off&&N)if(L===f.Text){let t;A===h.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),N.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const s=P[e.method];let a,c;s&&(a=s.type,c=s.handler);const u=Date.now();if(c||x){const s=String(e.id),l=B.receiver.createCancellationTokenSource(s);F[s]=l;try{let d;if(c)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,u);d=c(l.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===o.ParameterStructures.byName)return void i(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,u);d=c(...e.params,l.token)}else{if(void 0!==a&&a.parameterStructures===o.ParameterStructures.byPosition)return void i(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,u);d=c(e.params,l.token)}else x&&(d=x(e.method,e.params,l.token));const h=d;d?h.then?h.then((n=>{delete F[s],t(n,e.method,u)}),(t=>{delete F[s],t instanceof o.ResponseError?i(t,e.method,u):t&&r.string(t.message)?i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,u):i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,u)})):(delete F[s],t(d,e.method,u)):(delete F[s],function(t,i,r){void 0===t&&(t=null);const o={jsonrpc:k,id:e.id,result:t};ee(o,i,r),n.write(o)}(d,e.method,u))}catch(n){delete F[s],n instanceof o.ResponseError?t(n,e.method,u):n&&r.string(n.message)?i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,u):i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,u)}}else i(new o.ResponseError(o.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,u)}(e):o.isNotificationMessage(e)?function(e){if(X())return;let t,n;if(e.method===u.type.method)n=e=>{const t=e.id,n=F[String(t)];n&&n.cancel()};else{const i=q[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(A!==h.Off&&N&&e.method!==p.type.method)if(L===f.Text){let t;A===h.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),N.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==o.ParameterStructures.byName&&_.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===o.ParameterStructures.byName&&_.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&_.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===o.ParameterStructures.byPosition&&_.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?_.error(`Notification handler '${e.method}' failed with message: ${t.message}`):_.error(`Notification handler '${e.method}' failed unexpectedly.`)}else H.fire(e)}(e):o.isResponseMessage(e)?function(e){if(!X())if(null===e.id)e.error?_.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):_.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=j[t];if(function(e,t){if(A!==h.Off&&N)if(L===f.Text){let n;if(A===h.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";N.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else N.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete j[t];try{if(e.error){const t=e.error;n.reject(new o.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?_.error(`Response handler '${n.method}' failed with message: ${e.message}`):_.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void _.error("Received empty message.");_.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=j[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Y()}}()})))}e.onClose(Q),e.onError((function(e){W.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){W.fire(e)}));const Z=e=>{try{if(o.isNotificationMessage(e)&&e.method===u.type.method){const t=K(e.params.id),i=M.get(t);if(o.isRequestMessage(i)){const r=null==v?void 0:v.connectionStrategy,o=r&&r.cancelUndispatched?r.cancelUndispatched(i,V):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return M.delete(t),o.id=i.id,ee(o,e.method,Date.now()),void n.write(o)}}!function(e,t){var n;o.isRequestMessage(t)?e.set(K(t.id),t):o.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++S).toString():"res-"+n.toString(),t):e.set("not-"+(++T).toString(),t)}(M,e)}finally{Y()}};function ee(e,t,n){if(A!==h.Off&&N)if(L===f.Text){let i;A===h.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),N.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!N||A===h.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};N.log(n)}function ne(){if(G())throw new w(m.Closed,"Connection is closed.");if(X())throw new w(m.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function oe(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function se(e,t){switch(e){case o.ParameterStructures.auto:return oe(t)?re(t):[ie(t)];case o.ParameterStructures.byName:if(!oe(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case o.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=se(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,s;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=o.ParameterStructures.auto;o.ParameterStructures.is(n)&&(r=1,a=n);let c=t.length;const u=c-r;switch(u){case 0:s=void 0;break;case 1:s=se(a,t[r]);break;default:if(a===o.ParameterStructures.byName)throw new Error(`Recevied ${u} parameters for 'by Name' notification parameter structure.`);s=t.slice(r,c).map((e=>ie(e)))}}else{const n=t;i=e.method,s=ae(e,n)}const a={jsonrpc:k,method:i,params:s};!function(e){if(A!==h.Off&&N)if(L===f.Text){let t;A===h.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),N.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,q[e]={type:void 0,handler:t}):(n=e.method,q[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete q[n]:D=void 0}}},onProgress:(e,t,n)=>{if(E.has(t))throw new Error(`Progress handler for token ${t} already registered`);return E.set(t,n),{dispose:()=>{E.delete(t)}}},sendProgress:(e,t,n)=>{ce.sendNotification(l.type,{token:t,value:n})},onUnhandledProgress:U.event,sendRequest:(e,...t)=>{let i,s,a;if(ne(),function(){if(!J())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let u=0,l=o.ParameterStructures.auto;o.ParameterStructures.is(n)&&(u=1,l=n);let d=t.length;c.CancellationToken.is(r)&&(d-=1,a=r);const h=d-u;switch(h){case 0:s=void 0;break;case 1:s=se(l,t[u]);break;default:if(l===o.ParameterStructures.byName)throw new Error(`Recevied ${h} parameters for 'by Name' request parameter structure.`);s=t.slice(u,d).map((e=>ie(e)))}}else{const n=t;i=e.method,s=ae(e,n);const r=e.numberOfParams;a=c.CancellationToken.is(n[r])?n[r]:void 0}const u=C++;let l;return a&&(l=a.onCancellationRequested((()=>{B.sender.sendCancellation(ce,u)}))),new Promise(((e,t)=>{const r={jsonrpc:k,id:u,method:i,params:s};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),B.sender.cleanup(u),null==l||l.dispose()},reject:e=>{t(e),B.sender.cleanup(u),null==l||l.dispose()}};!function(e){if(A!==h.Off&&N)if(L===f.Text){let t;A===h.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),N.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new o.ResponseError(o.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(j[String(u)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return d.is(e)?(n=void 0,x=e):r.string(e)?(n=null,void 0!==t&&(n=e,P[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,P[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete P[n]:x=void 0)}}},trace:(e,t,n)=>{let i=!1,o=f.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,o=n.traceFormat||f.Text)),A=e,L=o,N=A===h.Off?void 0:t,!i||G()||X()||ce.sendNotification(g.type,{value:h.toString(e)})},onError:W.event,onClose:$.event,onUnhandledNotification:H.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(X())return;I=R.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(j).forEach((e=>{j[e].reject(t)})),j=Object.create(null),F=Object.create(null),M=new s.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(J())throw new w(m.AlreadyListening,"Connection is already listening")}(),I=R.Listening,e.listen(Z)},inspect:()=>{i.default().console.log("inspect")}};return ce.onNotification(p.type,(e=>{A!==h.Off&&N&&N.log(e.message,A===h.Verbose?e.verbose:void 0)})),ce.onNotification(l.type,(e=>{const t=E.get(e.token);t?t(e.value):U.fire(e)})),ce}},3911:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=o,o._noop=function(){}},7574:(e,t)=>{function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),o=n(7135);var s;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter,this.partialMessageEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const o=new Map;let s;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,o.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)o.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(s=e.contentTypeDecoder,a.set(s.name,s)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===s&&(s=i.default().applicationJson.decoder,a.set(s.name,s)),{charset:n,contentDecoder:r,contentDecoders:o,contentTypeDecoder:s,contentTypeDecoders:a}}}(s||(s={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=s.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),o=n(142),s=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class c{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=c,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends c{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new o.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class o extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,o.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=o;class s{constructor(e){this.kind=e}static is(e){return e===s.auto||e===s.byName||e===s.byPosition}toString(){return this.kind}}t.ParameterStructures=s,s.auto=new s("auto"),s.byPosition=new s("byPosition"),s.byName=new s("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return s.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=s.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},4389:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.createServerSocketTransport=t.createClientSocketTransport=t.createServerPipeTransport=t.createClientPipeTransport=t.generateRandomPipeName=t.StreamMessageWriter=t.StreamMessageReader=t.SocketMessageWriter=t.SocketMessageReader=t.IPCMessageWriter=t.IPCMessageReader=void 0;const o=n(3034);o.default.install();const s=n(3870),a=n(5622),c=n(2087),u=n(6417),l=n(1631);r(n(3870),t);class d extends s.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose()))}listen(e){return this.process.on("message",e),s.Disposable.create((()=>this.process.off("message",e)))}}t.IPCMessageReader=d;class h extends s.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose))}write(e){try{return"function"==typeof this.process.send&&this.process.send(e,void 0,void 0,(t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0})),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.IPCMessageWriter=h;class f extends s.ReadableStreamMessageReader{constructor(e,t="utf-8"){super(o.default().stream.asReadableStream(e),t)}}t.SocketMessageReader=f;class g extends s.WriteableStreamMessageWriter{constructor(e,t){super(o.default().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}}t.SocketMessageWriter=g;class p extends s.ReadableStreamMessageReader{constructor(e,t){super(o.default().stream.asReadableStream(e),t)}}t.StreamMessageReader=p;class m extends s.WriteableStreamMessageWriter{constructor(e,t){super(o.default().stream.asWritableStream(e),t)}}t.StreamMessageWriter=m;const y=process.env.XDG_RUNTIME_DIR,v=new Map([["linux",107],["darwin",103]]);t.generateRandomPipeName=function(){const e=u.randomBytes(21).toString("hex");if("win32"===process.platform)return`\\\\.\\pipe\\vscode-jsonrpc-${e}-sock`;let t;t=y?a.join(y,`vscode-ipc-${e}.sock`):a.join(c.tmpdir(),`vscode-${e}.sock`);const n=v.get(process.platform);return void 0!==n&&t.length>=n&&o.default().console.warn(`WARNING: IPC handle "${t}" is longer than ${n} characters.`),t},t.createClientPipeTransport=function(e,t="utf-8"){let n;const i=new Promise(((e,t)=>{n=e}));return new Promise(((r,o)=>{let s=l.createServer((e=>{s.close(),n([new f(e,t),new g(e,t)])}));s.on("error",o),s.listen(e,(()=>{s.removeListener("error",o),r({onConnected:()=>i})}))}))},t.createServerPipeTransport=function(e,t="utf-8"){const n=l.createConnection(e);return[new f(n,t),new g(n,t)]},t.createClientSocketTransport=function(e,t="utf-8"){let n;const i=new Promise(((e,t)=>{n=e}));return new Promise(((r,o)=>{const s=l.createServer((e=>{s.close(),n([new f(e,t),new g(e,t)])}));s.on("error",o),s.listen(e,"127.0.0.1",(()=>{s.removeListener("error",o),r({onConnected:()=>i})}))}))},t.createServerSocketTransport=function(e,t="utf-8"){const n=l.createConnection(e,"127.0.0.1");return[new f(n,t),new g(n,t)]},t.createMessageConnection=function(e,t,n,i){n||(n=s.NullLogger);const r=function(e){const t=e;return void 0!==t.read&&void 0!==t.addListener}(e)?new p(e):e,o=function(e){const t=e;return void 0!==t.write&&void 0!==t.addListener}(t)?new m(t):t;return s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(r,o,n,i)}},3034:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(1669),o=n(3911),s=n(5530);class a extends s.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new r.TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}}a.emptyBuffer=Buffer.allocUnsafe(0);class c{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),o.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),o.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),o.Disposable.create((()=>this.stream.off("end",e)))}onData(e){return this.stream.on("data",e),o.Disposable.create((()=>this.stream.off("data",e)))}}class u{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),o.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),o.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),o.Disposable.create((()=>this.stream.off("end",e)))}write(e,t){return new Promise(((n,i)=>{const r=e=>{null==e?n():i(e)};"string"==typeof e?this.stream.write(e,t,r):this.stream.write(e,r)}))}end(){this.stream.end()}}const l=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(e,void 0,0),t.charset))}catch(e){return Promise.reject(e)}}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{try{return e instanceof Buffer?Promise.resolve(JSON.parse(e.toString(t.charset))):Promise.resolve(JSON.parse(new r.TextDecoder(t.charset).decode(e)))}catch(e){return Promise.reject(e)}}})}),stream:Object.freeze({asReadableStream:e=>new c(e),asWritableStream:e=>new u(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setImmediate(e,...t),clearImmediate(e){clearImmediate(e)}})});function d(){return l}!function(e){e.install=function(){i.default.install(l)}}(d||(d={})),t.default=d},5028:(e,t,n)=>{e.exports=n(4389)},1661:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(4389),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var o,s=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return s.createProtocolConnection}}),(o=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,o.ContentModified=-32801,o.RequestCancelled=-32800,o.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(4389);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(4389);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class o extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=o;class s extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=s;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,o,s;(s=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",s.type=new i.ProtocolRequestType(s.method),(o=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",o.type=new i.ProtocolRequestType(o.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},3390:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,o,s,a,c,u,l;(l=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",l.folder="folder",(u=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",u.type=new i.ProtocolRequestType(u.method),(c=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",c.type=new i.ProtocolNotificationType(c.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(s=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",s.type=new i.ProtocolNotificationType(s.method),(o=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",o.type=new i.ProtocolNotificationType(o.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,o;(o=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",o.Imports="imports",o.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),o=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return o.ImplementationRequest}});const s=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const c=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return c.ConfigurationRequest}});const u=n(3390);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return u.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return u.ColorPresentationRequest}});const l=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}});const d=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return d.DeclarationRequest}});const h=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return h.SelectionRangeRequest}});const f=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return f.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return f.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return f.WorkDoneProgressCancelNotification}});const g=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return g.CallHierarchyPrepareRequest}});const p=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return p.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return p.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return p.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return p.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return p.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return p.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return p.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return p.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return p.SemanticTokensRegistrationType}});const m=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const v=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return v.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return v.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return v.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return v.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return v.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return v.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return v.WillDeleteFilesRequest}});const _=n(3443);var b,R,w,C,T,S,k,x,P,D,q,E,O,N,M,j,F,A,L,I,W,$,H,U,z,B,K,V,J,G,X,Q,Y,Z,ee,te,ne,ie,re,oe;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return _.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return _.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return _.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(b=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!b.is(t))return!1;return!0}}(R=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(oe=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",oe.Rename="rename",oe.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||R.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(Z=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},Z.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Y=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Y.type=new r.ProtocolNotificationType(Y.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(X=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",X.type=new r.ProtocolNotificationType(X.method),(G=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,G.AfterDelay=2,G.FocusOut=3,(J=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",J.type=new r.ProtocolNotificationType(J.method),(V=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",V.type=new r.ProtocolRequestType(V.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(K=t.FileChangeType||(t.FileChangeType={})).Created=1,K.Changed=2,K.Deleted=3,(B=t.WatchKind||(t.WatchKind={})).Create=1,B.Change=2,B.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(U=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",U.type=new r.ProtocolRequestType(U.method),(H=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",H.type=new r.ProtocolRequestType(H.method),($=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",$.type=new r.ProtocolRequestType($.method),(W=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,W.TriggerCharacter=2,W.ContentChange=3,(I=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",I.type=new r.ProtocolRequestType(I.method),(L=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",L.type=new r.ProtocolRequestType(L.method),(A=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",A.type=new r.ProtocolRequestType(A.method),(F=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",F.type=new r.ProtocolRequestType(F.method),(j=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",j.type=new r.ProtocolRequestType(j.method),(M=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",N.type=new r.ProtocolRequestType(N.method),(O=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",O.type=new r.ProtocolRequestType(O.method),(E=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",E.type=new r.ProtocolRequestType(E.method),(q=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",q.type=new r.ProtocolRequestType(q.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(P=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",P.type=new r.ProtocolRequestType(P.method),(x=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",x.type=new r.ProtocolRequestType(x.method),(k=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",k.type=new r.ProtocolRequestType(k.method),(S=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",S.type=new r.ProtocolRequestType(S.method),(T=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",T.type=new r.ProtocolRequestType(T.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(C=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",C.type=new r.ProtocolRequestType(C.method),(w=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",w.type=new r.ProtocolRequestType(w.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,o,s;(s=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",s.project="project",s.group="group",s.scheme="scheme",s.global="global",(o=t.MonikerKind||(t.MonikerKind={})).import="import",o.export="export",o.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(4389),r=n(6140);var o;(o=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,o.is=function(e){return e===o.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,o,s,a,c,u,l;(l=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",l.type="type",l.class="class",l.enum="enum",l.interface="interface",l.struct="struct",l.typeParameter="typeParameter",l.parameter="parameter",l.variable="variable",l.property="property",l.enumMember="enumMember",l.event="event",l.function="function",l.method="method",l.macro="macro",l.keyword="keyword",l.modifier="modifier",l.comment="comment",l.string="string",l.number="number",l.regexp="regexp",l.operator="operator",(u=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",u.definition="definition",u.readonly="readonly",u.static="static",u.deprecated="deprecated",u.abstract="abstract",u.async="async",u.modification="modification",u.documentation="documentation",u.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(c=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",c.type=new i.RegistrationType(c.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(s=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",s.type=new i.ProtocolRequestType(s.method),(o=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",o.type=new i.ProtocolRequestType(o.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},273:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const o=n(5028);r(n(5028),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return o.createMessageConnection(e,t,n,i)}},6560:(e,t,n)=>{e.exports=n(273)},6813:(e,t,n)=>{n.r(t),n.d(t,{TextDocument:()=>i});var i,r=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(t,n){for(var i=0,r=t;ie?i=r:n=r+1}var o=n-1;return{line:o,character:e-t[o]}},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function c(e){var t=a(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new r(e,t,n,i)},e.update=function(e,t,n){if(e instanceof r)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){for(var n=e.getText(),i=0,r=[],s=0,a=o(t.map(c),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}));si&&r.push(n.substring(i,l)),u.newText.length&&r.push(u.newText),i=e.offsetAt(u.range.end)}return r.push(n.substr(i)),r.join("")}}(i||(i={}))},1674:(e,t,n)=>{var i,r,o,s,a,c,u,l,d,h,f,g,p,m,y,v,_,b,R,w,C,T,S,k,x,P;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>o,Range:()=>s,Location:()=>a,LocationLink:()=>c,Color:()=>u,ColorInformation:()=>l,ColorPresentation:()=>d,FoldingRangeKind:()=>h,FoldingRange:()=>f,DiagnosticRelatedInformation:()=>g,DiagnosticSeverity:()=>p,DiagnosticTag:()=>m,CodeDescription:()=>y,Diagnostic:()=>v,Command:()=>_,TextEdit:()=>b,ChangeAnnotation:()=>R,ChangeAnnotationIdentifier:()=>w,AnnotatedTextEdit:()=>C,TextDocumentEdit:()=>T,CreateFile:()=>S,RenameFile:()=>k,DeleteFile:()=>x,WorkspaceEdit:()=>P,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>q,OptionalVersionedTextDocumentIdentifier:()=>E,TextDocumentItem:()=>O,MarkupKind:()=>N,MarkupContent:()=>M,CompletionItemKind:()=>j,InsertTextFormat:()=>F,CompletionItemTag:()=>A,InsertReplaceEdit:()=>L,InsertTextMode:()=>I,CompletionItem:()=>W,CompletionList:()=>$,MarkedString:()=>H,Hover:()=>U,ParameterInformation:()=>z,SignatureInformation:()=>B,DocumentHighlightKind:()=>K,DocumentHighlight:()=>V,SymbolKind:()=>J,SymbolTag:()=>G,SymbolInformation:()=>X,DocumentSymbol:()=>Q,CodeActionKind:()=>Y,CodeActionContext:()=>Z,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ue,TextDocument:()=>ce}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return le.objectLiteral(t)&&le.uinteger(t.line)&&le.uinteger(t.character)}}(o||(o={})),function(e){e.create=function(e,t,n,i){if(le.uinteger(e)&&le.uinteger(t)&&le.uinteger(n)&&le.uinteger(i))return{start:o.create(e,t),end:o.create(n,i)};if(o.is(e)&&o.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return le.objectLiteral(t)&&o.is(t.start)&&o.is(t.end)}}(s||(s={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return le.defined(t)&&s.is(t.range)&&(le.string(t.uri)||le.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return le.defined(t)&&s.is(t.targetRange)&&le.string(t.targetUri)&&(s.is(t.targetSelectionRange)||le.undefined(t.targetSelectionRange))&&(s.is(t.originSelectionRange)||le.undefined(t.originSelectionRange))}}(c||(c={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return le.numberRange(t.red,0,1)&&le.numberRange(t.green,0,1)&&le.numberRange(t.blue,0,1)&&le.numberRange(t.alpha,0,1)}}(u||(u={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return s.is(t.range)&&u.is(t.color)}}(l||(l={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return le.string(t.label)&&(le.undefined(t.textEdit)||b.is(t))&&(le.undefined(t.additionalTextEdits)||le.typedArray(t.additionalTextEdits,b.is))}}(d||(d={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(h||(h={})),function(e){e.create=function(e,t,n,i,r){var o={startLine:e,endLine:t};return le.defined(n)&&(o.startCharacter=n),le.defined(i)&&(o.endCharacter=i),le.defined(r)&&(o.kind=r),o},e.is=function(e){var t=e;return le.uinteger(t.startLine)&&le.uinteger(t.startLine)&&(le.undefined(t.startCharacter)||le.uinteger(t.startCharacter))&&(le.undefined(t.endCharacter)||le.uinteger(t.endCharacter))&&(le.undefined(t.kind)||le.string(t.kind))}}(f||(f={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return le.defined(t)&&a.is(t.location)&&le.string(t.message)}}(g||(g={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(p||(p={})),function(e){e.Unnecessary=1,e.Deprecated=2}(m||(m={})),function(e){e.is=function(e){var t=e;return null!=t&&le.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,o){var s={range:e,message:t};return le.defined(n)&&(s.severity=n),le.defined(i)&&(s.code=i),le.defined(r)&&(s.source=r),le.defined(o)&&(s.relatedInformation=o),s},e.is=function(e){var t,n=e;return le.defined(n)&&s.is(n.range)&&le.string(n.message)&&(le.number(n.severity)||le.undefined(n.severity))&&(le.integer(n.code)||le.string(n.code)||le.undefined(n.code))&&(le.undefined(n.codeDescription)||le.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(le.string(n.source)||le.undefined(n.source))&&(le.undefined(n.relatedInformation)||le.typedArray(n.relatedInformation,g.is))}}(v||(v={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return le.defined(t)&&le.string(t.title)&&le.string(t.command)}}(_||(_={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return le.objectLiteral(t)&&le.string(t.newText)&&s.is(t.range)}}(b||(b={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&le.objectLiteral(t)&&le.string(t.label)&&(le.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(le.string(t.description)||void 0===t.description)}}(R||(R={})),function(e){e.is=function(e){return"string"==typeof e}}(w||(w={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return b.is(t)&&(R.is(t.annotationId)||w.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return le.defined(t)&&E.is(t.textDocument)&&Array.isArray(t.edits)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&le.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||le.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||le.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||w.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&le.string(t.oldUri)&&le.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||le.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||le.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||w.is(t.annotationId))}}(k||(k={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&le.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||le.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||le.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||w.is(t.annotationId))}}(x||(x={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return le.string(e.kind)?S.is(e)||k.is(e)||x.is(e):T.is(e)})))}}(P||(P={}));var D,q,E,O,N,M,j,F,A,L,I,W,$,H,U,z,B,K,V,J,G,X,Q,Y,Z,ee,te,ne,ie,re,oe=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=b.insert(e,t):w.is(n)?(r=n,i=C.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=C.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=b.replace(e,t):w.is(n)?(r=n,i=C.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=C.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=b.del(e):w.is(t)?(i=t,n=C.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=C.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),se=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(w.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new se(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(T.is(e)){var n=new oe(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new oe(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(E.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new oe(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new oe(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new se,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,o;if(R.is(t)||w.is(t)?i=t:n=t,void 0===i?r=S.create(e,n):(o=w.is(i)?i:this._changeAnnotations.manage(i),r=S.create(e,n,o)),this._workspaceEdit.documentChanges.push(r),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,o,s;if(R.is(n)||w.is(n)?r=n:i=n,void 0===r?o=k.create(e,t,i):(s=w.is(r)?r:this._changeAnnotations.manage(r),o=k.create(e,t,i,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,o;if(R.is(t)||w.is(t)?i=t:n=t,void 0===i?r=x.create(e,n):(o=w.is(i)?i:this._changeAnnotations.manage(i),r=x.create(e,n,o)),this._workspaceEdit.documentChanges.push(r),void 0!==o)return o},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return le.defined(t)&&le.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return le.defined(t)&&le.string(t.uri)&&le.integer(t.version)}}(q||(q={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return le.defined(t)&&le.string(t.uri)&&(null===t.version||le.integer(t.version))}}(E||(E={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return le.defined(t)&&le.string(t.uri)&&le.string(t.languageId)&&le.integer(t.version)&&le.string(t.text)}}(O||(O={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(N||(N={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(N||(N={})),function(e){e.is=function(e){var t=e;return le.objectLiteral(e)&&N.is(t.kind)&&le.string(t.value)}}(M||(M={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(j||(j={})),function(e){e.PlainText=1,e.Snippet=2}(F||(F={})),function(e){e.Deprecated=1}(A||(A={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&le.string(t.newText)&&s.is(t.insert)&&s.is(t.replace)}}(L||(L={})),function(e){e.asIs=1,e.adjustIndentation=2}(I||(I={})),function(e){e.create=function(e){return{label:e}}}(W||(W={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}($||($={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return le.string(t)||le.objectLiteral(t)&&le.string(t.language)&&le.string(t.value)}}(H||(H={})),function(e){e.is=function(e){var t=e;return!!t&&le.objectLiteral(t)&&(M.is(t.contents)||H.is(t.contents)||le.typedArray(t.contents,H.is))&&(void 0===e.range||s.is(e.range))}}(U||(U={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;s--){var a=r[s],c=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=o))throw new Error("Overlapping edit");i=i.substring(0,c)+a.newText+i.substring(u,i.length),o=c}return i}}(ce||(ce={}));var le,de=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return o.create(0,e);for(;ne?i=r:n=r+1}var s=n-1;return o.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(273);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(273),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(273);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(273);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(273);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(273),r=n(7560);class o{constructor(e,t){this._connection=e,this._token=t,o.Instances.set(this._token,this)}begin(e,t,n,r){let o={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,o)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){o.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}o.Instances=new Map;class s extends o{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class c extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var u;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new o(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=o.Instances.get(e.token);(t instanceof s||t instanceof c)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new o(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new s(this.connection,e)))}return Promise.resolve(new c)}},function(e){e.type=new i.ProgressType}(u||(u={}));class l{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(u.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new l(e,n)}},9817:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(273);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let o=e,s=t;this._dataLen>0&&(o-=this._prevLine,0===o&&(s-=this._prevChar)),this._data[this._dataLen++]=o,this._data[this._dataLen++]=s,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(273),r=n(289),o=n(7560),s=n(2731),a=n(2507),c=n(8634),u=n(7985),l=n(9817),d=n(5421),h=n(828),f=n(2776),g=n(8120);function p(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class m{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=d.ShowDocumentFeature(s.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(p)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(p)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(p)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new v};class v{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=o.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new _(void 0,[])};class _{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let o={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,o).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class b{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof v?this.registerMany(e):e instanceof _?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const s=r.string(t)?t:t.method,a=o.generateUuid();let c={registrations:[{id:a,method:s,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,c).then((t=>(e.add({id:a,method:s}),e)),(e=>(this.connection.console.info(`Registering request handler for ${s} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,s=o.generateUuid();let a={registrations:[{id:s,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(s,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new _(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const R=h.FileOperationsFeature(c.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class w{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class C{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class T{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return s.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return s.attachPartialResult(this.connection,t)}}t._LanguagesImpl=T;const S=g.MonikerFeature(f.LinkedEditingRangeFeature(l.SemanticTokensFeature(u.CallHierarchyFeature(T))));function k(e,t){return function(n){return t(e(n))}}function x(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function q(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=k,t.combineTelemetryFeatures=x,t.combineTracerFeatures=P,t.combineClientFeatures=D,t.combineWindowFeatures=q,t.combineWorkspaceFeatures=E,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,k),tracer:n(e.tracer,t.tracer,P),telemetry:n(e.telemetry,t.telemetry,x),client:n(e.client,t.client,D),window:n(e.window,t.window,q),workspace:n(e.workspace,t.workspace,E)}},t.createConnection=function(e,t,n){const o=n&&n.console?new(n.console(m)):new m,a=e(o);o.rawAttach(a);const c=n&&n.tracer?new(n.tracer(w)):new w,u=n&&n.telemetry?new(n.telemetry(C)):new C,l=n&&n.client?new(n.client(b)):new b,d=n&&n.window?new(n.window(y)):new y,h=n&&n.workspace?new(n.workspace(R)):new R,f=n&&n.languages?new(n.languages(S)):new S,g=[o,c,u,l,d,h,f];function p(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let v,_,T,k={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>_=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>v=e,onExit:e=>T=e,get console(){return o},get telemetry(){return u},get tracer(){return c},get client(){return l},get window(){return d},get workspace(){return h},get languages(){return f},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),s.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,s.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of g)e.attach(k);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(c.trace=i.Trace.fromString(e.trace));for(let t of g)t.initialize(e.capabilities);if(_)return p(_(e,(new i.CancellationTokenSource).token,s.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(k.__textDocumentSync)?k.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(k.__textDocumentSync)?k.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of g)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of g)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,v?v((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{T&&T()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{c.trace=i.Trace.fromString(e.value)})),k}},5421:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(273);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function s(e){return o.test(e)}t.isUUID=s,t.parse=function(e){if(!s(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(273);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},7613:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveModulePath=t.FileSystem=t.resolveGlobalYarnPath=t.resolveGlobalNodePath=t.resolve=t.uriToFilePath=void 0;const i=n(8835),r=n(5622),o=n(5747),s=n(3129);function a(){return"win32"===process.platform}function c(e,t,n,i){const a=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise(((c,u)=>{let l=process.env,d=Object.create(null);Object.keys(l).forEach((e=>d[e]=l[e])),t&&o.existsSync(t)&&(d.NODE_PATH?d.NODE_PATH=t+r.delimiter+d.NODE_PATH:d.NODE_PATH=t,i&&i(`NODE_PATH value is: ${d.NODE_PATH}`)),d.ELECTRON_RUN_AS_NODE="1";try{let t=s.fork("",[],{cwd:n,env:d,execArgv:["-e",a]});if(void 0===t.pid)return void u(new Error(`Starting process to resolve node module ${e} failed`));t.on("error",(e=>{u(e)})),t.on("message",(n=>{"r"===n.c&&(t.send({c:"e"}),n.s?c(n.r):u(new Error(`Failed to resolve module: ${e}`)))}));let i={c:"rs",a:e};t.send(i)}catch(e){u(e)}}))}function u(e){let t="npm";const n=Object.create(null);Object.keys(process.env).forEach((e=>n[e]=process.env[e])),n.NO_UPDATE_NOTIFIER="true";const i={encoding:"utf8",env:n};a()&&(t="npm.cmd",i.shell=!0);let o=()=>{};try{process.on("SIGPIPE",o);let n=s.spawnSync(t,["config","get","prefix"],i).stdout;if(!n)return void(e&&e("'npm config get prefix' didn't return a value."));let c=n.trim();return e&&e(`'npm config get prefix' value is: ${c}`),c.length>0?a()?r.join(c,"node_modules"):r.join(c,"lib","node_modules"):void 0}catch(e){return}finally{process.removeListener("SIGPIPE",o)}}var l;t.uriToFilePath=function(e){let t=i.parse(e);if("file:"!==t.protocol||!t.path)return;let n=t.path.split("/");for(var o=0,s=n.length;o1){let e=n[0],t=n[1];0===e.length&&t.length>1&&":"===t[1]&&n.shift()}return r.normalize(n.join("/"))},t.resolve=c,t.resolveGlobalNodePath=u,t.resolveGlobalYarnPath=function(e){let t="yarn",n={encoding:"utf8"};a()&&(t="yarn.cmd",n.shell=!0);let i=()=>{};try{process.on("SIGPIPE",i);let o=s.spawnSync(t,["global","dir","--json"],n),a=o.stdout;if(!a)return void(e&&(e("'yarn global dir' didn't return a value."),o.stderr&&e(o.stderr)));let c=a.trim().split(/\r?\n/);for(let e of c)try{let t=JSON.parse(e);if("log"===t.type)return r.join(t.data,"node_modules")}catch(e){}return}catch(e){return}finally{process.removeListener("SIGPIPE",i)}},function(e){let t;function n(){return void 0!==t||(t=!("win32"===process.platform||o.existsSync(__filename.toUpperCase())&&o.existsSync(__filename.toLowerCase()))),t}e.isCaseSensitive=n,e.isParent=function(e,t){return n()?0===r.normalize(t).indexOf(r.normalize(e)):0===r.normalize(t).toLowerCase().indexOf(r.normalize(e).toLowerCase())}}(l=t.FileSystem||(t.FileSystem={})),t.resolveModulePath=function(e,t,n,i){return n?(r.isAbsolute(n)||(n=r.join(e,n)),c(t,n,n,i).then((e=>l.isParent(n,e)?e:Promise.reject(new Error(`Failed to load ${t} from node path location.`)))).then(void 0,(n=>c(t,u(i),e,i)))):c(t,u(i),e,i)}},5809:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.Files=void 0;const o=n(289),s=n(9891),a=n(7613),c=n(6560);var u;r(n(6560),t),r(n(6265),t),(u=t.Files||(t.Files={})).uriToFilePath=a.uriToFilePath,u.resolveGlobalNodePath=a.resolveGlobalNodePath,u.resolveGlobalYarnPath=a.resolveGlobalYarnPath,u.resolve=a.resolve,u.resolveModulePath=a.resolveModulePath;let l,d=!1;!function(){const e="--clientProcessId";function t(e){try{let t=parseInt(e);isNaN(t)||(l=setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(d?0:1)}}),3e3))}catch(e){}}for(let n=2;n{const t=e.processId;o.number(t)&&void 0===l&&setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(d?0:1)}}),3e3)},get shutdownReceived(){return d},set shutdownReceived(e){d=e},exit:e=>{process.exit(e)}};t.createConnection=function(e,t,n,i){let r,a,u,l;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),c.ConnectionStrategy.is(e)||c.ConnectionOptions.is(e)?l=e:(a=e,u=t,l=n),function(e,t,n,i){if(!e&&!t&&process.argv.length>2){let n,i,o=process.argv.slice(2);for(let s=0;s{process.exit(d?0:1)})),t.on("close",(()=>{process.exit(d?0:1)}))}return s.createConnection((i=>c.createProtocolConnection(e,t,i,n)),h,i)}(a,u,l,r)}},8212:(e,t,n)=>{e.exports=n(5809)},7373:(e,t,n)=>{n.r(t),n.d(t,{URI:()=>g,uriToFsPath:()=>b});var i,r,o,s=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});if("object"==typeof process)o="win32"===process.platform;else if("object"==typeof navigator){var a=navigator.userAgent;o=a.indexOf("Windows")>=0}var c=/^\w[\w\d+.-]*$/,u=/^\//,l=/^\/\//,d="",h="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,g=function(){function e(e,t,n,i,r,o){void 0===o&&(o=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,o),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,function(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!c.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!u.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===o?o=this.fragment:null===o&&(o=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&o===this.fragment?this:new m(t,n,i,r,o)},e.parse=function(e,t){void 0===t&&(t=!1);var n=f.exec(e);return n?new m(n[2]||d,T(n[4]||d),T(n[5]||d),T(n[7]||d),T(n[9]||d),t):new m(d,d,d,d,d)},e.file=function(e){var t=d;if(o&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new m("file",t,e,d,d)},e.from=function(e){return new m(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),R(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new m(t);return n._formatted=t.external,n._fsPath=t._sep===p?t.fsPath:null,n}return t},e}(),p=o?1:void 0,m=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return s(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?R(this,!0):(this._formatted||(this._formatted=R(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=p),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(g),y=((r={})[58]="%3A",r[47]="%2F",r[63]="%3F",r[35]="%23",r[91]="%5B",r[93]="%5D",r[64]="%40",r[33]="%21",r[36]="%24",r[38]="%26",r[39]="%27",r[40]="%28",r[41]="%29",r[42]="%2A",r[43]="%2B",r[44]="%2C",r[59]="%3B",r[61]="%3D",r[32]="%20",r);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var s=y[o];void 0!==s?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=s):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function _(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,o&&(n=n.replace(/\//g,"\\")),n}function R(e,t){var n=t?_:v,i="",r=e.scheme,o=e.authority,s=e.path,a=e.query,c=e.fragment;if(r&&(i+=r,i+=":"),(o||"file"===r)&&(i+=h,i+=h),o){var u=o.indexOf("@");if(-1!==u){var l=o.substr(0,u);o=o.substr(u+1),-1===(u=l.indexOf(":"))?i+=n(l,!1):(i+=n(l.substr(0,u),!1),i+=":",i+=n(l.substr(u+1),!1)),i+="@"}-1===(u=(o=o.toLowerCase()).indexOf(":"))?i+=n(o,!1):(i+=n(o.substr(0,u),!1),i+=o.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(d=s.charCodeAt(1))>=65&&d<=90&&(s="/"+String.fromCharCode(d+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var d;(d=s.charCodeAt(0))>=65&&d<=90&&(s=String.fromCharCode(d+32)+":"+s.substr(2))}i+=n(s,!0)}return a&&(i+="?",i+=n(a,!1)),c&&(i+="#",i+=t?c:v(c,!1)),i}function w(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+w(e.substr(3)):e}}var C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function T(e){return e.match(C)?e.replace(C,(function(e){return w(e)})):e}},3129:e=>{e.exports=require("child_process")},6417:e=>{e.exports=require("crypto")},5747:e=>{e.exports=require("fs")},1631:e=>{e.exports=require("net")},2087:e=>{e.exports=require("os")},5622:e=>{e.exports=require("path")},8835:e=>{e.exports=require("url")},1669:e=>{e.exports=require("util")}},t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={exports:{}};return e[i].call(r.exports,r,r.exports,n),r.exports}return n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(3816)})()); +//# sourceMappingURL=eslintServer.js.map \ No newline at end of file diff --git a/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/server/package.json b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/server/package.json new file mode 100644 index 00000000..cd928100 --- /dev/null +++ b/.vscode/extensions/dbaeumer.vscode-eslint-2.1.23/server/package.json @@ -0,0 +1,23 @@ +{ + "name": "eslint-server", + "version": "2.1.20", + "private": true, + "author": "Microsoft Corporation", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/Microsoft/vscode-eslint.git" + }, + "bugs": { + "url": "https://github.com/Microsoft/vscode-eslint/issues" + }, + "engines": { + "node": "*" + }, + "dependencies": { + "vscode-languageserver": "7.0.0", + "vscode-languageserver-textdocument": "1.0.1", + "vscode-uri": "^2.1.2" + }, + "scripts": {} +} diff --git a/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md b/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..8c4dcec1 --- /dev/null +++ b/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,20 @@ +--- +name: Bug report +about: Create a report of a bug +title: '' +labels: bug +assignees: '' + +--- + +## Steps to reproduce: + +
+📝 Note: Remember to link to a repository or upload a code snippet that reproduces the issue as an attachment (or a code block if it’s short) to this issue: https://help.github.com/en/articles/file-attachments-on-issues-and-pull-requests +
+ +```ejs +<%# short code snippet that reproduces the issue goes here %> +``` + +## Expected result: diff --git a/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest b/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest new file mode 100644 index 00000000..5316be63 --- /dev/null +++ b/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest @@ -0,0 +1,42 @@ + + + + + EJS language support + 2019 - EJS language support for Visual Studio Code. + EJS,embedded javascript,syntax highlighting,snippet + Programming Languages + Public + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/assets/icon.png + + + + + + + + + + diff --git a/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md b/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md new file mode 100644 index 00000000..a97c0a7d --- /dev/null +++ b/.vscode/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md @@ -0,0 +1,190 @@ +# CHANGE LOG # + +## 1.3.1 ## + +- Fix single lines with mutliple ejs tags. +- Before: script would not capture inner tag causing " to be js not html. + +```html + + +``` + +## 1.3.0 ## + +- Change ejs tag type so they stand out in html code. +- Note: Will only show difference in some themes. +- Add php blocking regex so valid php does not get triggered. +- EJS tags inside of block comments will show as regular ejs tags now. + +```html +<% /* %> <-- Will be colored correctly +Anything here will be commented out +--> <% */ %> +``` + +## 1.2.1 ## + +- Add support for comment sections +- Thanks to [@illz](https://github.com/illz) for verfication. + +```html +<% /* %> +Anything here will be commented out +<% */ %> +``` + +## 1.2.0 ## + +- Add Snippet support +- Thanks to [@theranbrig](https://github.com/theranbrig) for initial snippet support. +- If snippets are not working add the following to your setting.json file + +```json + "emmet.includeLanguages": { + "ejs": "html", + }, +``` + +## 1.1.5 ## + +- Fixed Block comment on line with ejs control variable +- Add support for ejs litteral `<%%` + +## 1.1.4 ## + +- Add support for conditional loops +- ReWrite to allow better html injection. + +## 1.1.3 ## + +- Prevent running under PHP. + +## 1.1.2 ## + +- Fixed support for JavaScript loops within EJS. + +## 1.1.1 ## + +- Fixed support for JavaScript comments using ctrl+/ and ctrl+shift+/ at EJS boundaries. + +## 1.1.0 ## + +- Added support for javascript comments using ctrl+/ + + +## 1.0.0 ## + +### Major UPDATE ### + +#### NOTICE: If you are not seeing any style, set your file associations for "*.ejs" to html #### + +##### file association ##### + +- Located in setting.json +- Should look like the following + +```json + { + "files.associations": { + "*.ejs": "html" + } + } +``` + +#### Updates #### + +- Major bump +- Changing to an injected language. +- Injecting into "text.html" +- Setting configurationDefaults for file.association for ejs to html. +- Rewrite of ejs.json +- Created ejs-tag. + +## Unpublished 0.5.1 ## + +- Fixed surrounding a selection with JavaScript template literals. +- Fixed language configuration within EJS blocks inside JavaScript code blocks. + +## 0.5.0 ## + +- Fixed single-line JS comments not being terminated correctly by an EJS closing tag. ([#28](https://github.com/Digitalbrainstem/ejs-grammar/issues/28)) +- Fixed broken EJS inside HTML ` + + + + diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/invalid.json b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/invalid.json new file mode 100644 index 00000000..a00d77ff --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/invalid.json @@ -0,0 +1,26 @@ +{ + "env": { + "es6": true, + "mocha": true, + "node": true + }, + "extends: "eslint:recommended", + "rules": { + "indent": [ + "error", + 2 + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes: [ + "error", + "single" + ], + "semi": [ + "error", + "always" + ] +} +} diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/js.js b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/js.js new file mode 100644 index 00000000..fdad1e51 --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/js.js @@ -0,0 +1,12 @@ +class User { + constructor(name) { + this.name = name; + } + + sayHi() { + alert(this.name); + } +} + +let user = new User("Alex"); +user.sayHi(); diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/markdown.md b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/markdown.md new file mode 100644 index 00000000..5800cdc2 --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/markdown.md @@ -0,0 +1,15 @@ +# Borealis Theme + +> A Borealis theme for VS Code. + +![Borealis](../images/borealis.png) + +## Installation + +1. Install [Visual Studio Code](https://code.visualstudio.com/) +2. Launch Visual Studio Code +3. Choose **Extensions** from menu +4. Search for `Borealis` +5. Click **Install** to install it +6. Click **Reload** to reload the Code +7. File > Preferences > Color Theme > **Borealis** diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/purescript.purs b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/purescript.purs new file mode 100644 index 00000000..3336147e --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/purescript.purs @@ -0,0 +1,13 @@ +module Euler.Problem2 where + +import Prelude +import Control.Lazy (defer) +import Data.Foldable (sum) +import Data.Int (even) +import Data.List.Lazy (List, filter, takeWhile, (:)) + +lazyFibList :: Int -> Int -> List Int +lazyFibList f1 f2 = f1 : defer \_ -> lazyFibList f2 (f1 + f2) + +solution :: Int +solution = sum $ filter even $ takeWhile (_ < 4_000_000) $ lazyFibList 1 2 diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/python.py b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/python.py new file mode 100644 index 00000000..0432ed94 --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/python.py @@ -0,0 +1,8 @@ +def SubFib(startNumber, endNumber): + for cur in F(): + if cur > endNumber: return + if cur >= startNumber: + yield cur + +for i in SubFib(10, 200): + print i diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/react.jsx b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/react.jsx new file mode 100644 index 00000000..077a433e --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/react.jsx @@ -0,0 +1,25 @@ +// src/components/Hello.tsx + +import * as React from "react"; + +function Hello({ name, enthusiasmLevel }) { + if (enthusiasmLevel <= 0) { + throw new Error("You could be a little more enthusiastic. :D"); + } + + return ( +
+
+ Hello {name + getExclamationMarks(enthusiasmLevel)} +
+
+ ); +} + +export default Hello; + +// helpers + +function getExclamationMarks(numChars) { + return Array(numChars + 1).join("!"); +} diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/react.tsx b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/react.tsx new file mode 100644 index 00000000..24c9904a --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/react.tsx @@ -0,0 +1,30 @@ +// src/components/Hello.tsx + +import * as React from "react"; + +export interface Props { + name: string; + enthusiasmLevel?: number; +} + +function Hello({ name, enthusiasmLevel = 1 }: Props) { + if (enthusiasmLevel <= 0) { + throw new Error("You could be a little more enthusiastic. :D"); + } + + return ( +
+
+ Hello {name + getExclamationMarks(enthusiasmLevel)} +
+
+ ); +} + +export default Hello; + +// helpers + +function getExclamationMarks(numChars: number) { + return Array(numChars + 1).join("!"); +} diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/valid.json b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/valid.json new file mode 100644 index 00000000..3aa54117 --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/valid.json @@ -0,0 +1,26 @@ +{ + "env": { + "es6": true, + "mocha": true, + "node": true + }, + "extends": "eslint:recommended", + "rules": { + "indent": [ + "error", + 2 + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "single" + ], + "semi": [ + "error", + "always" + ] + } +} diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/demo/yml.yml b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/yml.yml new file mode 100644 index 00000000..41884155 --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/demo/yml.yml @@ -0,0 +1,13 @@ +language: node_js +node_js: + - "6" +install: + - npm install +script: + - npm test +after_script: + - npm run coveralls +notifications: + email: + on_success: never + on_failure: always diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/images/borealis.png b/.vscode/extensions/eckertalex.borealis-1.0.2/images/borealis.png new file mode 100644 index 00000000..b8a72f1e Binary files /dev/null and b/.vscode/extensions/eckertalex.borealis-1.0.2/images/borealis.png differ diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/images/logo.png b/.vscode/extensions/eckertalex.borealis-1.0.2/images/logo.png new file mode 100644 index 00000000..b332a53b Binary files /dev/null and b/.vscode/extensions/eckertalex.borealis-1.0.2/images/logo.png differ diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/package.json b/.vscode/extensions/eckertalex.borealis-1.0.2/package.json new file mode 100644 index 00000000..a6362ecb --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/package.json @@ -0,0 +1,48 @@ +{ + "name": "borealis", + "version": "1.0.2", + "displayName": "Borealis Theme", + "description": "VS Code theme inspired by the calm colors of the aurora borealis in Alaska.", + "publisher": "eckertalex", + "icon": "images/logo.png", + "repository": { + "type": "git", + "url": "https://github.com/eckertalex/borealis-vscode" + }, + "galleryBanner": { + "color": "#194945", + "theme": "dark" + }, + "categories": [ + "Themes" + ], + "keywords": [ + "VSCode", + "Themes" + ], + "engines": { + "vscode": "^1.33.0" + }, + "scripts": { + "build": "vsce package", + "publish": "vsce publish -p" + }, + "contributes": { + "themes": [ + { + "label": "Borealis", + "uiTheme": "vs-dark", + "path": "./themes/borealis.json" + } + ] + }, + "devDependencies": { + "vsce": "^1.77.0" + }, + "__metadata": { + "id": "3c40aa5f-88a3-4c23-ae48-c5b7a4352383", + "publisherId": "71810924-6f41-43da-a1f0-903488852517", + "publisherDisplayName": "eckertalex", + "installedTimestamp": 1627023478980 + } +} \ No newline at end of file diff --git a/.vscode/extensions/eckertalex.borealis-1.0.2/themes/borealis.json b/.vscode/extensions/eckertalex.borealis-1.0.2/themes/borealis.json new file mode 100644 index 00000000..28ad7e83 --- /dev/null +++ b/.vscode/extensions/eckertalex.borealis-1.0.2/themes/borealis.json @@ -0,0 +1,847 @@ +{ + "$schema": "vscode://schemas/color-theme", + "name": "Borealis", + "type": "dark", + "colors": { + // activityBar + "activityBar.background": "#123836", + "activityBar.border": "#0d5851", + "activityBar.dropBackground": "#0d5851", + "activityBar.foreground": "#fff", + "activityBarBadge.background": "#ffde11", + "activityBarBadge.foreground": "#123836", + // badge + "badge.background": "#ffde11", + "badge.foreground": "#123836", + // button + "button.background": "#02877b", + "button.foreground": "#fff", + "button.hoverBackground": "#ff9d00", + // contrast + "contrastActiveBorder": null, + "contrastBorder": "#fff0", + // debug + "debugExceptionWidget.background": "#194945", + "debugExceptionWidget.border": "#aaa", + "debugToolBar.background": "#194945", + // description + "descriptionForeground": "#aaa", + // diff + "diffEditor.insertedTextBackground": "#0ae35233", + "diffEditor.insertedTextBorder": "#0ae35255", + "diffEditor.removedTextBackground": "#ee3a4333", + "diffEditor.removedTextBorder": "#ee3a4355", + // dropdown + "dropdown.background": "#194945", + "dropdown.border": "#152d2b", + "dropdown.foreground": "#fff", + //editor + // this is the main background color + "editor.background": "#194945", + // this is the main text color + "editor.foreground": "#fff", + // currently found item + "editor.findMatchBackground": "#ff720066", + // other found items in the document + "editor.findMatchHighlightBackground": "#d6e11066", + "editor.findRangeHighlightBackground": "#24514e", + // popup highlight on hover + "editor.hoverHighlightBackground": "#ffde1133", + // selected but editor lost focus + "editor.inactiveSelectionBackground": "#00818b", + // current line styles + "editor.lineHighlightBackground": "#1f625d", + "editor.lineHighlightBorder": "#236d67", + "editor.rangeHighlightBackground": "#1f625d", + // selected text colours + // standard select colour + "editor.selectionBackground": "#00a2a4", + // other matching elements + "editor.selectionHighlightBackground": "#00a2a480", + // inactive other matching elements + // "editor.inactiveSelectionBackground": "", + // word highlight when you move cursor inside variable + // where cursor currently is + "editor.wordHighlightStrongBackground": "#ffffff21", + // the others + "editor.wordHighlightBackground": "#ffffff21", + "editorBracketMatch.background": "#0d5851", + "editorBracketMatch.border": "#ffde1180", + "editorCodeLens.foreground": "#aaa", + "editorCursor.foreground": "#ffde11", + "editorError.border": "#0d5851", + "editorError.foreground": "#a22929", + // gutter + "editorGutter.background": "#12383666", + "editorGutter.addedBackground": "#3c9f4a", + "editorGutter.deletedBackground": "#a22929", + "editorGutter.modifiedBackground": "#24514e", + // editorGroup + "editorGroup.background": "#a22929", + "editorGroup.border": "#123836", + "editorGroup.dropBackground": "#12383699", + // editorGroupHeader + "editorGroupHeader.noTabsBackground": "#194945", + "editorGroupHeader.tabsBackground": "#123836", + "editorGroupHeader.tabsBorder": "#152d2b", + // editorHoverWidget + "editorHoverWidget.background": "#152d2b", + "editorHoverWidget.border": "#0d5851", + "editorIndentGuide.background": "#3b6461", + "editorLineNumber.foreground": "#aaa", + "editorLink.activeForeground": "#aaa", + // editorMarkerNavigation + "editorMarkerNavigation.background": "#3b646133", + "editorMarkerNavigationError.background": "#a22929", + "editorMarkerNavigationWarning.background": "#ffde11", + // ruler + "editorOverviewRuler.border": "#0d5851", + "editorOverviewRuler.commonContentForeground": "#ffde1155", + "editorOverviewRuler.currentContentForeground": "#ee3a4355", + "editorOverviewRuler.incomingContentForeground": "#0ae35255", + "editorRuler.foreground": "#1f625d", + // editorSuggestWidget + "editorSuggestWidget.background": "#152d2b", + "editorSuggestWidget.border": "#152d2b", + "editorSuggestWidget.foreground": "#aaa", + "editorSuggestWidget.highlightForeground": "#ffde11", + "editorSuggestWidget.selectedBackground": "#194945", + // editorWarning + "editorWarning.border": "#fff0", + "editorWarning.foreground": "#ffde11", + "editorWhitespace.foreground": "#ffffff1a", + "editorWidget.background": "#152d2b", + "editorWidget.border": "#0d5851", + "errorForeground": "#a22929", + // extensionButton + "extensionButton.prominentBackground": "#02877b", + "extensionButton.prominentForeground": "#fff", + "extensionButton.prominentHoverBackground": "#ff9d00", + "focusBorder": "#0d5851", + "foreground": "#aaa", + // input + "input.background": "#194945", + "input.border": "#0d5851", + "input.foreground": "#ffde11", + "input.placeholderForeground": "#aaa", + "inputOption.activeBorder": "#9effff", + "inputValidation.errorBackground": "#194945", + "inputValidation.errorBorder": "#ffde11", + "inputValidation.infoBackground": "#194945", + "inputValidation.infoBorder": "#0d5851", + "inputValidation.warningBackground": "#194945", + "inputValidation.warningBorder": "#ffde11", + // list + "list.activeSelectionBackground": "#194945", + "list.activeSelectionForeground": "#aaa", + "list.dropBackground": "#0d5851", + "list.focusBackground": "#0d5851", + "list.focusForeground": "#aaa", + "list.highlightForeground": "#ffde11", + "list.hoverBackground": "#194945", + "list.hoverForeground": "#aaa", + "list.inactiveSelectionBackground": "#0d5851", + "list.inactiveSelectionForeground": "#aaa", + // menu + "menu.background": "#123836", + "menu.selectionForeground": "#fff", + "menubar.selectionBackground": "#0d5851", + // merge + "merge.border": "#fff0", + "merge.commonContentBackground": "#c97d0c", + "merge.commonHeaderBackground": "#c97d0c", + "merge.currentContentBackground": "#2f7344", + "merge.currentHeaderBackground": "#2f7344", + "merge.incomingContentBackground": "#189094", + "merge.incomingHeaderBackground": "#189094", + // notifications + "notificationCenter.border": "#ffde11", + "notificationCenterHeader.foreground": "#aaa", + "notificationCenterHeader.background": "#123836", + "notificationToast.border": "#ffde11", + "notifications.foreground": "#aaa", + "notifications.background": "#123836", + "notifications.border": "#ffde11", + "notificationLink.foreground": "#ffde11", + // panel + "panel.background": "#123836", + "panel.border": "#ffde11", + "panelTitle.activeBorder": "#ffde11", + "panelTitle.activeForeground": "#ffde11", + "panelTitle.inactiveForeground": "#aaa", + // peekView + "peekView.border": "#ffde11", + "peekViewEditor.background": "#194945", + "peekViewEditor.matchHighlightBackground": "#19494500", + "peekViewEditorGutter.background": "#123836", + "peekViewResult.background": "#152d2b", + "peekViewResult.fileForeground": "#aaa", + "peekViewResult.lineForeground": "#fff", + "peekViewResult.matchHighlightBackground": "#0d5851", + "peekViewResult.selectionBackground": "#0d5851", + "peekViewResult.selectionForeground": "#fff", + "peekViewTitle.background": "#152d2b", + "peekViewTitleDescription.foreground": "#aaa", + "peekViewTitleLabel.foreground": "#ffde11", + // picker + "pickerGroup.border": "#0d5851", + "pickerGroup.foreground": "#aaa", + // progressBar + "progressBar.background": "#ffde11", + // scrollbar + "scrollbar.shadow": "#00000026", + "scrollbarSlider.activeBackground": "#356663cc", + "scrollbarSlider.background": "#1f625d80", + "scrollbarSlider.hoverBackground": "#407975cc", + // selection + "selection.background": "#02fcff", + // sidebar + "sideBar.background": "#152d2b", + "sideBar.border": "#0d5851", + "sideBar.foreground": "#aaa", + "sideBarSectionHeader.background": "#194945", + "sideBarSectionHeader.foreground": "#aaa", + "sideBarTitle.foreground": "#aaa", + // statusBar + "statusBar.background": "#152d2b", + "statusBar.border": "#0d5851", + "statusBar.debuggingBackground": "#152d2b", + "statusBar.debuggingBorder": "#ffde11", + "statusBar.debuggingForeground": "#ffde11", + "statusBar.foreground": "#aaa", + "statusBar.noFolderBackground": "#152d2b", + "statusBar.noFolderBorder": "#0d5851", + "statusBar.noFolderForeground": "#aaa", + "statusBarItem.activeBackground": "#02877b", + "statusBarItem.hoverBackground": "#0d5851", + "statusBarItem.prominentBackground": "#152d2b", + "statusBarItem.prominentHoverBackground": "#0d5851", + // tab + "tab.activeBackground": "#194945", + "tab.activeForeground": "#fff", + "tab.border": "#152d2b", + "tab.activeBorder": "#ffde11", + "tab.inactiveBackground": "#123836", + "tab.inactiveForeground": "#aaa", + "tab.unfocusedActiveForeground": "#aaa", + "tab.unfocusedInactiveForeground": "#aaa", + // workbench: terminal + "terminal.ansiBlack": "#000000", + "terminal.ansiRed": "#ff628c", + "terminal.ansiGreen": "#0ae352", + "terminal.ansiYellow": "#ffde11", + "terminal.ansiBlue": "#02877b", + "terminal.ansiMagenta": "#fb94ff", + "terminal.ansiCyan": "#9effff", + "terminal.ansiWhite": "#fff", + "terminal.ansiBrightBlack": "#00a2a4", + "terminal.ansiBrightRed": "#ff628c", + "terminal.ansiBrightGreen": "#0ae352", + "terminal.ansiBrightYellow": "#ffde11", + "terminal.ansiBrightBlue": "#025687", + "terminal.ansiBrightMagenta": "#fb94ff", + "terminal.ansiBrightCyan": "#9effff", + "terminal.ansiBrightWhite": "#02877b", + "terminal.background": "#123836", + "terminal.foreground": "#fff", + "terminalCursor.background": "#ffde11", + "terminalCursor.foreground": "#ffde11", + // git status colors in file explorer + "gitDecoration.modifiedResourceForeground": "#ffde11", + "gitDecoration.deletedResourceForeground": "#ff628c", + "gitDecoration.untrackedResourceForeground": "#0ae352", + "gitDecoration.ignoredResourceForeground": "#747576", + "gitDecoration.conflictingResourceForeground": "#ff7200", + // textBlockQuote + "textBlockQuote.background": "#194945", + "textBlockQuote.border": "#02877b", + "textCodeBlock.background": "#194945", + "textLink.activeForeground": "#ffde11", + "textLink.foreground": "#ffde11", + "textPreformat.foreground": "#ffde11", + "textSeparator.foreground": "#0d5851", + "titleBar.activeBackground": "#152d2b", + "titleBar.activeForeground": "#fff", + "titleBar.inactiveBackground": "#194945", + "titleBar.inactiveForeground": "#ffffff33", + "walkThrough.embeddedEditorBackground": "#0d5851", + "welcomePage.buttonBackground": "#194945", + "welcomePage.buttonHoverBackground": "#0d5851", + "widget.shadow": "#000000", + // extensionBadge + "extensionBadge.remoteBackground": "#ffde11", + "extensionBadge.remoteForeground": "#123836" + }, + "tokenColors": [ + { + "name": "Comment", + "scope": ["comment", "punctuation.definition.comment"], + "settings": { + "fontStyle": "italic", + "foreground": "#02877b" + } + }, + { + "name": "Constant", + "scope": "constant", + "settings": { + "foreground": "#ff628c" + } + }, + { + "name": "Entity", + "scope": "entity", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "Invalid", + "scope": "invalid", + "settings": { + "foreground": "#f44542" + } + }, + { + "name": "Storage Type Function", + "scope": "storage.type.function", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "Keyword", + "scope": "keyword, storage.type.class", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "Meta", + "scope": "meta", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "Meta JSX", + "scope": [ + "meta.jsx.children", + "meta.jsx.children.js", + "meta.jsx.children.tsx" + ], + "settings": { + "foreground": "#fff" + } + }, + { + "name": "Meta Brace", + "scope": "meta.brace", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "Punctuation", + "scope": "punctuation", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "Punctuation Parameters", + "scope": "punctuation.definition.parameters", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "Punctuation Template Expression", + "scope": "punctuation.definition.template-expression", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "Storage", + "scope": "storage", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "Storage Type Arrow Function", + "scope": "storage.type.function.arrow", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "String", + "scope": ["string", "punctuation.definition.string"], + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "String Template", + "scope": ["string.template", "punctuation.definition.string.template"], + "settings": { + "foreground": "#0ae352" + } + }, + { + "name": "Support", + "scope": "support", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "Support Function", + "scope": "support.function", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "Support Variable Property DOM", + "scope": "support.variable.property.dom", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "Variable", + "scope": "variable", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "[CSS] - Entity", + "scope": ["source.css entity", "source.stylus entity"], + "settings": { + "foreground": "#0ae352" + } + }, + { + "name": "[CSS] - ID Selector", + "scope": "entity.other.attribute-name.id.css", + "settings": { + "foreground": "#FFD259" + } + }, + { + "name": "[CSS] - Element Selector", + "scope": "entity.name.tag", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[CSS] - Support", + "scope": ["source.css support", "source.stylus support"], + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[CSS] - Constant", + "scope": [ + "source.css constant", + "source.css support.constant", + "source.stylus constant", + "source.stylus support.constant" + ], + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[CSS] - String", + "scope": [ + "source.css string", + "source.css punctuation.definition.string", + "source.stylus string", + "source.stylus punctuation.definition.string" + ], + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[CSS] - Variable", + "scope": ["source.css variable", "source.stylus variable"], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[HTML] - Entity Name", + "scope": "text.html.basic entity.name", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[HTML] - ID value", + "scope": "meta.toc-list.id.html", + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[HTML] - Entity Other", + "scope": "text.html.basic entity.other", + "settings": { + "fontStyle": "italic", + "foreground": "#ffde11" + } + }, + { + "name": "[HTML] - Script Tag", + "scope": "meta.tag.metadata.script.html entity.name.tag.html", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[HTML] - Quotes. these are a slightly different colour because expand selection will then not include quotes", + "scope": "punctuation.definition.string.begin, punctuation.definition.string.end", + "settings": { + "foreground": "#92fc79" + } + }, + { + "name": "[INI] - Entity", + "scope": "source.ini entity", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "[INI] - Keyword", + "scope": "source.ini keyword", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[INI] - Punctuation Definition", + "scope": "source.ini punctuation.definition", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[INI] - Punctuation Separator", + "scope": "source.ini punctuation.separator", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "[JAVASCRIPT] - Storage Type Function", + "scope": "source.js storage.type.function", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[JAVASCRIPT] - Variable Language", + "scope": "variable.language, entity.name.type.class.js", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[JAVASCRIPT] - Inherited Component", + "scope": "entity.other.inherited-class.js", + "settings": { + "foreground": "#ccc" + } + }, + { + "name": "[PYTHON] - Self Argument", + "scope": "variable.parameter.function.language.special.self.python", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[JSON] - Support", + "scope": "source.json support", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[JSON] - String", + "scope": [ + "source.json string", + "source.json punctuation.definition.string" + ], + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "[MARKDOWN] - Heading Punctuation", + "scope": "punctuation.definition.heading.markdown", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "[MARKDOWN] - Heading Name Section", + "scope": [ + "entity.name.section.markdown", + "markup.heading.setext.1.markdown", + "markup.heading.setext.2.markdown" + ], + "settings": { + "foreground": "#ffde11", + "fontStyle": "bold" + } + }, + { + "name": "[MARKDOWN] - Paragraph", + "scope": "meta.paragraph.markdown", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "[MARKDOWN] - Quote Punctuation", + "scope": "beginning.punctuation.definition.quote.markdown", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[MARKDOWN] - Quote Paragraph", + "scope": "markup.quote.markdown meta.paragraph.markdown", + "settings": { + "fontStyle": "italic", + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Separator", + "scope": "meta.separator.markdown", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[MARKDOWN] - Emphasis Bold", + "scope": "markup.bold.markdown", + "settings": { + "fontStyle": "bold", + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Emphasis Italic", + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic", + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Lists", + "scope": "beginning.punctuation.definition.list.markdown", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[MARKDOWN] - Link Title", + "scope": "string.other.link.title.markdown", + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[MARKDOWN] - Link/Image Title", + "scope": [ + "string.other.link.title.markdown", + "string.other.link.description.markdown", + "string.other.link.description.title.markdown" + ], + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[MARKDOWN] - Link Address", + "scope": [ + "markup.underline.link.markdown", + "markup.underline.link.image.markdown" + ], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Inline Code", + "scope": ["fenced_code.block.language", "markup.inline.raw.markdown"], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Code Block", + "scope": ["fenced_code.block.language", "markup.inline.raw.markdown"], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[PUG] - Entity Name", + "scope": "text.jade entity.name", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[PUG] - Entity Attribute Name", + "scope": "text.jade entity.other.attribute-name.tag", + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "[PUG] - String Interpolated", + "scope": "text.jade string.interpolated", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[TYPESCRIPT] - Entity Name Type", + "scope": "source.ts entity.name.type", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "[TYPESCRIPT] - Keyword", + "scope": "source.ts keyword", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[TYPESCRIPT] - Punctuation Parameters", + "scope": "source.ts punctuation.definition.parameters", + "settings": { + "foreground": "#e1feff" + } + }, + { + "name": "[TYPESCRIPT] - Punctuation Arrow Parameters", + "scope": "meta.arrow.ts punctuation.definition.parameters", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[TYPESCRIPT] - Storage", + "scope": "source.ts storage", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[TYPESCRIPT] - Variable Language", + "scope": "variable.language, entity.name.type.class.ts, entity.name.type.class.tsx", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[TYPESCRIPT] - Inherited Component", + "scope": "entity.other.inherited-class.ts, entity.other.inherited-class.tsx", + "settings": { + "foreground": "#ccc" + } + }, + { + "name": "[PHP] - Entity", + "scope": "source.php entity", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[PHP] - Variables", + "scope": "variable.other.php", + "settings": { + "foreground": "#ffde11" + } + }, + { + "name": "[C#] - Annotations", + "scope": "storage.type.cs", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[C#] - Properties", + "scope": "entity.name.variable.property.cs", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[C#] - Storage modifiers", + "scope": "storage.modifier.cs", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "Italicsify", + "scope": [ + "modifier", + "this", + "comment", + "storage.modifier.js", + "storage.modifier.ts", + "storage.modifier.tsx", + "entity.other.attribute-name.js", + "entity.other.attribute-name.ts", + "entity.other.attribute-name.tsx", + "entity.other.attribute-name.html" + ], + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "[CSHARP] - Modifiers and keyword types", + "scope": "storage.modifier.cs, keyword.type.cs", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[CSHARP] - Storage types", + "scope": "storage.type.cs", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "[CSHARP] - Namespaces, parameters, field variables, properties", + "scope": "entity.name.type.namespace.cs, entity.name.variable.parameter.cs, entity.name.variable.field.cs, entity.name.variable.property.cs", + "settings": { + "foreground": "#e1feff" + } + } + ] +} diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.husky/.gitignore b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.husky/.gitignore new file mode 100644 index 00000000..31354ec1 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.husky/pre-commit b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.husky/pre-commit new file mode 100755 index 00000000..dc0378c3 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn lint-staged \ No newline at end of file diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.nvmrc b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.nvmrc new file mode 100644 index 00000000..b009dfb9 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.vsixmanifest b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.vsixmanifest new file mode 100644 index 00000000..51c3e2bb --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + Prettier - Code formatter + Code formatter using prettier + multi-root ready,prettier,formatter,javascript,js,jsx,flow,typescript,ts,json,css,less,scss,styled-components,styled-jsx,markdown,md,commonmark,mdx,php,pug,ruby,swift,html,vue,angular,graphql,yaml,yml,ignore,__ext_graphql,__ext_vue + Formatters + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/icon.png + + + + + + + + + + diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/CHANGELOG.md b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/CHANGELOG.md new file mode 100644 index 00000000..497f955d --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/CHANGELOG.md @@ -0,0 +1,496 @@ +# Change Log + +All notable changes to the "prettier-vscode" extension will be documented in this file. + + + +## [8.0.1] + +- Forced version of vsce on build + +## [8.0.0] + +- Updated Prettier to 2.3.1 +- Minimum supported VS Code version is now 1.57.0 +- Added `id` and `name` properties to status bar (#2003) +- Uses VS Code [Workspace Trust](https://code.visualstudio.com/docs/editor/workspace-trust) + +## [7.1.0] + +- Revert bad changes from 7.0.0, will republish as 8.0.0 + +## [7.0.0] + +- Bad release, do not use. + +## [6.4.0] + +- Updated Prettier to 2.3.0 +- Forced mode now ignores `requirePragma` config +- Fix mismatch of option name `ignore` in description of HTML Whitespace Sensitivity ([#1941](https://github.com/prettier/prettier-vscode/pull/1941)) + +## [6.3.2] + +- Removed loading status bar state + +## [6.3.1] + +- Updates to formatter registration + +## [6.3.0] + +- Removed notifications, all messages logged with status icon update. + +## [6.2.1] + +- Fixed regressions where VS Code settings `settings.json` could not be formatted + +## [6.2.0] + +- Stable 6.0 release, see Beta releases for changes + +## [6.1.0] Beta + +- Added command to force formatting regardless of ignores `Format Document (Forced)` + +## [6.0.0] Beta + +- Automatically detect package manager +- Delayed prettier registration to improve performance on large projects +- Status bar state and icons updates +- Prompt to allow Prettier module to load +- Added debug mode for logging +- Removed config for `disabledLanguages` + +## [5.9.2] + +- Reverted automatical detection of package manager + +## [5.9.1] + +- Removed Status bar color + +## [5.9.0] + +- Automatically detect package manager +- Move check mark in status bar to left side to match ESLint +- Status bar background to `statusBarItem.errorBackground` color on error + +## [5.8.0] + +- Updated prettier to 2.2.0 + +## [5.7.2] + +- Updated prettier to 2.1.2 + +## [5.7.1] + +- Log the location of the prettier config file + +## [5.7.0] + +- Updated prettier to 2.1.1 + +## [5.6.0] + +- Activation on `onStartupFinished` to reduce impact on VS Code start. + +## [5.5.0] + +- Added [enable](https://github.com/prettier/prettier-vscode#enable) setting. + +## [5.4.0] + +- Added [Embedded Language Formatting](https://prettier.io/docs/en/options.html#embedded-language-formatting) option. +- Throttling of reloads on watched files to improve performance on large projects. + +## [5.3.0] + +- Refactoring of how the extension registers formatters to support file extension that don't have a language ID. +- Added support for [custom document selectors](https://github.com/prettier/prettier-vscode#prettierdocumentselectors) to provide formatting on custom languages/extensions. + +## [5.2.1] + +- Support for additional configuration file extensions (`toml`, `cls`). + +## [5.2.0] + +- Updated prettier to 2.1.0 + +## [5.1.3] + +- Improved error output of certain plugin exceptions. + +## [5.1.2] + +- Added error logging for unusual prettier exceptions. + +## [5.1.0] + +- Resolves issue where untitled JSON files were resolved to `json-stringify` parser. (#1435) + +## [5.0.1] + +- Updated modules +- New build process + +## [5.0.0] + +- Removed support for legacy linter integration. [See documentation](https://github.com/prettier/prettier-vscode#linter-integration) on how to configure linters. + +## [4.7.0] + +- Adds support for formatting VS Code settings files (settings.json). (#1343) + +## [4.6.0] + +- Update loading implicit Prettier dep from `node_modules` to only occur if explicit `package.json` dep is not found in a parent directory +- Show a custom error message / notification in the case where `prettier.prettierPath` does not reference an instance of Prettier + +## [4.5.0] + +- Updated prettier to 2.0.5 + +## [4.4.0] + +- Reverted change that attempts to resolve config based on prettier version. + +## [4.3.0] + +- Removed AppInsights telemetry as its no longer needed +- Updated instructions on how to use linters +- Added log warning about legacy linter integrations + +## [4.2.0] + +- Use default configuration based on the version of prettier + +## [4.1.1] + +- Updated prettier to 2.0.4 + +## [4.1.0] + +- Support loading Prettier from `node_modules` even if it doesn't appear as a direct dependency in a `package.json` +- Honor project-scoped config when loading module (#1222, [#950](https://github.com/prettier/prettier-vscode/issues/950)) +- Added configuration option `withNodeModules` to enable processing of files in the `node_modules` folder +- Updated prettier to 2.0.3 (#1289) + +## [4.0.0] + +- Updated prettier to 2.0 - [See changes here](https://prettier.io/blog/2020/03/21/2.0.0.html) +- Change default configuration for `trailingComma` to `es5` to match Prettier 2.0 +- Change default configuration for `arrowParens` to `always` to match Prettier 2.0 +- Change default configuration for `endOfLine` to `lf` to match Prettier 2.0 +- Updated module dependencies +- Removed deprecated configuration options + +## [3.20.0] + +- No longer loads prettier when `requireConfig` is `true` and no config is found. (#1161) +- Minor logging improvements + +## [3.19.0] + +- Notifications only show when running formatter +- Removed logs for status bar events + +## [3.18.0] + +- Fixed a bug with the prettier output open command +- Upgraded module dependencies + +## [3.17.0] + +- Due to performance issues, global module resolution is now off by default. Enable by setting `prettier.resolveGlobalModules` to `true` + +## [3.16.0] + +- Show error when prettier configuration file is invalid +- Removed unused debug tracer on module resolution + +## [3.15.0] + +- Always format untitled files, even when `requireConfig` setting is enabled + +## [3.14.0] + +- Fixed an issue with global module resolution + +## [3.13.0] + +- Added support for global module resolution +- Added setting `packageManager` to determine which package manager to use for global module resolution +- Fixed issue where unsaved HTML files were resolved as Angular + +## [3.12.0] + +- Reverted range filter on formatter registration due to problems, needs more investigation +- Added additional details to description of `requireConfiguration` option + +## [3.11.0] + +- Additional logging for errors loading config +- Updated status icon to not error states + +## [3.10.0] + +- Added setting `prettier.useEditorConfig` (defaults to `true`) to allow disabling resolving `.editorconfig` for Prettier config +- Added additional logging +- Added `pattern` filter to formatter registrations to avoid registering incorrectly on multi-workspace projects +- Removed some unused localization code + +## [3.9.0] + +- Improved error logging. +- Bumped dependencies and type definitions to latest +- More information in readme about configuration + +## [3.8.0] + +- Fixed issue where VS Code and local config where merged. If local config is present, only it will be used. [#1074](https://github.com/prettier/prettier-vscode/issues/1074) + +## [3.7.0] + +- Removed deprecation message from `requireConfig` (Was added by mistake). [#1056](https://github.com/prettier/prettier-vscode/issues/1056) +- Sets `resolveConfig: true` to allow parser overrides on [Prettier 1.19+](https://prettier.io/blog/2019/11/09/1.19.0.html#api). [#1067](https://github.com/prettier/prettier-vscode/issues/1067) +- Fix for finding local `prettier` module in packages located in `node_modules` dirs +- Added doc on what languages support range formatting + +## [3.6.0] + +- Added back status bar button + +## [3.5.1] + +- Add command `Prettier: Create Configuration File` to create a basic `.prettierrc` file + +## [3.5.0] + +- Fixed issue resolving user home files on mac. i.e. (`~/.prettierrc`) (#1045) +- Improved tests for config resolution + +## [3.4.0] + +- Adds back VS Code config + +## [3.3.0] + +- Bug fixes +- Change telemetry metric names + +## [3.2.0] + +- Removed support for Prettier versions older than 1.13.0. +- No longer bundling linters with extension - to use install them in your package.json. +- Use Prettier as default resolver of formatter instead of VS Code. +- Use Prettier to determine if a file is ignored or not instead of custom logic. +- Support for formatting of untitled files when the language is set by VS Code. +- Set file path config on format to assist with parser resolution. +- Less fallbacks - if you have local prettier installed it will always use that. Before if your local prettier didn't support things we would fall back to bundled prettier - this caused many errors and inconsistent behavior. +- Removed toolbar button. +- Deprecated linter configuration settings. +- Enhanced logging. +- Extension built with webpack. +- Memoize package path lookup to improve perf of repeated calls to same file. +- Shows error message when outdated versions of prettier are used. +- Refreshes modules without restart for cases where prettier version or plugins are installed locally. +- Registers `.graphql` files as `graphql` language in order to provide formatting. (#989) +- Ignore files are only read from the workspace root folder to behave the [same as prettier](https://github.com/prettier/prettier/issues/4081). +- Added configuration option `prettier.prettierPath` to override module resolution. +- Added configuration option `prettier.configPath` to override configuration file resolution. + +## [2.3.0] + +- Updated VS Code Version to 1.34.0 +- Changed App Insights api key + +## [2.2.0] + +- Added App Insights telemetry to track feature usage. + +## [2.1.0] + +- Deprecated support for ESLint, TSLint, and Stylelint. [See documentation](https://github.com/prettier/prettier-vscode#linter-integration) + +## [1.12.0] + +- Fixed issue where error output was used before initialized (#918) + +## [1.11.0] + +- Localization support for `zh-cn` and `zh-tw` +- Fixed issue where text-fixtures were bundled in the extension. + +## [1.10.0] + +- Prettier [1.18](https://prettier.io/blog/2019/06/06/1.18.0.html) +- Docs now explain how to lint TypeScript code with ESLint. +- Improve supported language resolution with local Prettier instances +- Prettier Plugin Support +- prettier-eslint 9.0.0 + +## [1.9.0] + +- Prettier [1.17](https://prettier.io/blog/2019/04/12/1.17.0.html) +- New setting `quoteProps`. (prettier 1.17) + +## [1.8.0] + +- Prettier [1.16](https://prettier.io/blog/2019/01/20/1.16.0.html) +- prettier-tslint 0.4.2 + +## [1.7.0] + +- Validate the `"prettier"` key in `package.json` using the prettier settings schema +- Prettier [1.15](https://prettier.io/blog/2018/11/07/1.15.0.html) +- New options: jsxSingleQuote, htmlWhitespaceSensitivity and endOfLine (More info in readme). + +## [1.6.0] + +- disableLanguages only in User / Workspace settings (no more in folder settings).It allows to register formatters for every supported language. +- Prettier [1.14](https://prettier.io/blog/2018/07/29/1.14.0.html) +- New option: tslintIntegration (boolean) use `prettier-tslint` instead of `prettier` + +## [1.5.0] + +- Revert notification popup: remove it. +- fix parser inference + +## [1.4.0] + +- [prettier 1.13.4](https://prettier.io/blog/2018/05/27/1.13.0.html) +- prettier-stylelint 0.4.2 + +## [1.3.1] + +- [prettier 1.12.1](https://prettier.io/blog/2018/04/11/1.12.0.html) + +## [1.3.0] + +- [prettier 1.12.0](https://prettier.io/blog/2018/04/11/1.12.0.html) + +## [1.2.0] + +- [Prettier 1.11.1](https://prettier.io/blog/2018/02/26/1.11.0.html) + +## [1.1.3] + +- Improve prettier resolution algorithm for monorepos +- prettier-eslint@8.8.1 +- `vue` is now disabled by default. Opt-in by removing `vue` from disableLanguages setting + +## [1.1.2] + +- prettier-eslint@8.3.1 revert previous update + +## [1.1.1] + +- prettier-eslint@8.7.5 + +## [1.1.0] + +- Disabling a language `disableLanguages` now allows to use an other formatter. NOT when disabling in a sub workspace folder (noop) +- Prettier 1.10, `vue` `jsonc` `postcss` support. + +## [1.0.0] + +- Prettier 1.9 +- New option: requireConfig (boolean) Format only files which have a prettier config (.prettierrc, ...) +- Don't merge editor's options into prettier config + +## [0.25.0] + +- Multi-root support. +- Removed all `*Enable` settings, these are now inferred from Prettier itself. Use scoped `editor.formatOnSave` to disable formatting some languages on save. + (See README) +- Markdown support +- Prettier 1.8.2 + +## [0.24.0] + +- new setting, ignorePath. Ignore files. +- Eslint now also runs on TypeScript files. +- new setting, stylelintIntegration. prettier + stylelint. +- Prettier 1.7 + +## [0.23.1] + +- Prettier 1.6.1 + +## [0.23.0] + +- Read configuration from files. +- Prettier 1.6 + +## [0.22.0] + +- Changed Status bar: hide/show depending on active editor. +- Fix local resolution. + +## [0.21.0] + +- Reworked error messages. They are now in a dedicated output channel. + +## [0.20.0] + +- Prettier 1.5 +- Added JSON and GraphQL formatting (Range formatting disabled) +- Disable range formatting with postcss parser (broken) + +## [0.19.1] + +- Fix sass language id (sass -> scss) +- Update prettier to 1.4.4 +- Update prettier-eslint to 6.3.0 + +## [0.19.0] + +- Option to select language ids prettier will run on. +- Prettier 1.4.2 + +## [0.18.0] + +- Prettier 1.4 +- Now also formats CSS and TypeScript +- Format Selection highly improved. + +## [0.17.0] + +- Bump dependencies. +- `jsx` language support in addition to `javascript` and `javascriptreact`. + +## [0.16.0] + +- New setting eslintIntegration. Use `prettier-eslint` under the hood. + +## [0.14.0] + +- Bundled with prettier 1.1.0 +- New setting `useTabs`. (prettier 1.0) +- New setting `semi`. (prettier 1.0) + +## [0.13.0] + +- Local prettier has to be _explicitly_ installed (dependencies or devDependencies) + +## [0.11.0] + +- Resolve 'prettier' against formatted file. Nearest upward _node_modules/prettier_ + +## [0.10.0] + +- New setting `jsxBracketSameLine`. (prettier 0.17.0) +- Changed `trailingComma` setting `['none', 'es5', 'all']` (prettier 0.19.0) + +## [0.7.0] + +- Removed `Prettier` action. +- Use vscode actions `Format Document` and `Format Selection`. +- Removed `prettier.formatOnSave` setting in favor of the more general setting `editor.formatOnSave` +- Deprecated `useFlowParser` setting. Introduced `parser` setting. (Since prettier 0.0.10) + +## [0.1.0] + +- Initial release diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/LICENSE.txt b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/LICENSE.txt new file mode 100644 index 00000000..a7c5c5f7 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Esben Petersen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/README.md b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/README.md new file mode 100644 index 00000000..93802726 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/README.md @@ -0,0 +1,331 @@ +# Prettier Formatter for Visual Studio Code + +[Prettier](https://prettier.io/) is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary. + +

+ + JavaScript + · TypeScript + · Flow + · JSX + · JSON + +
+ + CSS + · SCSS + · Less + +
+ + HTML + · Vue + · Angular + +
+ + GraphQL + · Markdown + · YAML + +
+ + + Your favorite language? + + +

+ +

+ + Build Status + + VS Code Marketplace Downloads + + VS Code Marketplace Installs + + code style: prettier + + Follow Prettier on Twitter +

+ +## Installation + +Install through VS Code extensions. Search for `Prettier - Code formatter` + +[Visual Studio Code Market Place: Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) + +Can also be installed in VS Code: Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. + +``` +ext install esbenp.prettier-vscode +``` + +### Default Formatter + +To ensure that this extension is used over other extensions you may have installed, be sure to set it as the default formatter in your VS Code settings. This setting can be set for all languages or by a specific language. + +```json +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} +``` + +If you want to disable Prettier on a particular language you can either create a `.prettierignore` file or you can use VS Code's `editor.defaultFormatter` settings. + +The following will use Prettier for all languages except Javascript. + +```json +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[javascript]": { + "editor.defaultFormatter": null + } +} +``` + +The following will use Prettier for only Javascript. + +```json +{ + "editor.defaultFormatter": null, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} +``` + +Additionally, you can disable format on save for specific languages if you don't want them to be automatically formatted. + +```json +{ + "[javascript]": { + "editor.formatOnSave": false + } +} +``` + +### Prettier Resolution + +This extension will use prettier from your project's local dependencies (recommended). When the `prettier.resolveGlobalModules` is set to `true` the extension can also attempt to resolve global modules. Should prettier not be installed locally with your project's dependencies or globally on the machine, the version of prettier that is bundled with the extension will be used. + +To install prettier in your project and pin its version [as recommended](https://prettier.io/docs/en/install.html), run: + +``` +npm install prettier -D --save-exact +``` + +> NOTE: You will be prompted to confirm that you want the extension to load a Prettier module. This is done to ensure that you are not loading a module or script that is not trusted. + +### Plugins + +This extension supports [Prettier plugins](https://prettier.io/docs/en/plugins.html) when you are using a locally or globally resolved version of prettier. If you have Prettier and a plugin registered in your `package.json`, this extension will attempt to register the language and provide automatic code formatting for the built-in and plugin languages. + +## Configuration + +There are multiple options for configuring Prettier with this extension. You can use [VS Code settings](#prettier-settings), [prettier configuration files](https://prettier.io/docs/en/configuration.html), or an `.editorconfig` file. The VS Code settings are meant to be used as a fallback and are generally intended only for use on non-project files. **It is recommended that you always include a prettier configuration file in your project specifying all settings for your project.** This will ensure that no matter how you run prettier - from this extension, from the CLI, or from another IDE with Prettier, the same settings will get applied. + +Using [Prettier Configuration files](https://prettier.io/docs/en/configuration.html) to set formatting options is the recommended approach. Options are searched recursively down from the file being formatted so if you want to apply prettier settings to your entire project simply set a configuration in the root. Settings can also be configured through VS Code - however, these settings will only apply while running the extension, not when running prettier through the command line. + +### Configuring Default Options + +Some users may not wish to create a new Prettier config for every project or use the VS Code settings. In order to set a default configuraiton, set [`prettier.configPath`](https://github.com/prettier/prettier-vscode#prettierconfigpath). However, be careful, if this is set this value will always be used and local configuration files will be ignored. + +### Visual Studio Code Settings + +You can use [VS Code settings](#prettier-settings) to configure prettier. Settings will be read from (listed by priority): + +1. [Prettier configuration file](https://prettier.io/docs/en/configuration.html) +1. `.editorconfig` +1. Visual Studio Code Settings (Ignored if any other configuration is present) + +> NOTE: If any local configuration file is present (i.e. `.prettierrc`) the VS Code settings will **NOT** be used. + +## Usage + +### Using Command Palette (CMD/CTRL + Shift + P) + +``` +1. CMD + Shift + P -> Format Document +OR +1. Select the text you want to Prettify +2. CMD + Shift + P -> Format Selection +``` + +### Keyboard Shortcuts + +Visual Studio Code provides [default keyboard shortcuts](https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference) for code formatting. You can learn about these for each platform in the [VS Code documentation](https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference). + +If you don't like the defaults, you can rebind `editor.action.formatDocument` and `editor.action.formatSelection` in the keyboard shortcuts menu of vscode. + +### Format On Save + +Respects `editor.formatOnSave` setting. + +You can turn on format-on-save on a per-language basis by scoping the setting: + +```json +// Set the default +"editor.formatOnSave": false, +// Enable per-language +"[javascript]": { + "editor.formatOnSave": true +} +``` + +### Format Selection + +Format selection works on several languages depending on what Prettier itself supports. The following languages currently are supported: + +``` +javascript +javascriptreact +typescript +typescriptreact +json +graphql +``` + +### Format Document (Forced) + +If you would like to format a document that is configured to be ignored by Prettier either because it is in a `.prettierignore` file or part of a normally excluded location like `node_modules`, you can run the command **Format Document (Forced)** to force the document to be formatted. Forced mode will also ignore any config for `requirePragma` allowing you to format files without the pragma comment present. + +## Linter Integration + +The recommended way of integrating with linters is to let Prettier do the formatting and configure the linter to not deal with formatting rules. You can find instructions on how to configure each linter on the Prettier docs site. You can then use each of the linting extensions as you normally would. For details refere to the [Prettier documentation](https://prettier.io/docs/en/integrating-with-linters.html). + +## Workspace Trust + +This extension utilizes VS Code [Workspace Trust](https://code.visualstudio.com/docs/editor/workspace-trust) features. When this extension is run on an untrusted workspace, it will only use the built in version of prettier. No plugins, local, or global modules will be supported. Additionally, certain settings are also restricted - see each setting for details. + +## Settings + +### Prettier Settings + +All prettier options can be configured directly in this extension. These settings are used as a fallback when no configuration file is present in your project, see the [configuration](#configuration) section of this document for more details. For reference on the options see the [prettier documentation](https://prettier.io/docs/en/options.html). + +> The default values of these configurations are always to their Prettier 2.0 defaults. In order to use defaults from earlier versions of prettier you must set them manually using your VS Code settings or local project configurations. + +``` +prettier.arrowParens +prettier.bracketSpacing +prettier.endOfLine +prettier.htmlWhitespaceSensitivity +prettier.insertPragma +prettier.jsxBracketSameLine +prettier.jsxSingleQuote +prettier.printWidth +prettier.proseWrap +prettier.quoteProps +prettier.requirePragma +prettier.semi +prettier.singleQuote +prettier.tabWidth +prettier.trailingComma +prettier.useTabs +prettier.vueIndentScriptAndStyle +prettier.embeddedLanguageFormatting +``` + +### Extension Settings + +These settings are specific to VS Code and need to be set in the VS Code settings file. See the [documentation](https://code.visualstudio.com/docs/getstarted/settings) for how to do that. + +#### prettier.enable (default: `true`) + +Controls whether prettier is enabled or not. You must restart VS Code when you change this setting. + +#### prettier.requireConfig (default: `false`) + +Require a prettier configuration file to format files. Untitled files will still be formatted using the VS Code Prettier configuration even with this option set to `true`. + +#### prettier.ignorePath (default: `.prettierignore`) + +Supply the path to an ignore file such as `.gitignore` or `.prettierignore`. +Files which match will not be formatted. Set to `null` to not read ignore files. + +**Note, if this is set, this value will always be used and local ignore files will be ignored.** + +**Disabled on untrusted workspaces** + +#### prettier.configPath + +Supply a custom path to the prettier configuration file. + +**Note, if this is set, this value will always be used and local configuration files will be ignored. A better option for global defaults is to put a `~/.prettierrc` file in your home directory.** + +**Disabled on untrusted workspaces** + +#### prettier.prettierPath + +Supply a custom path to the prettier module. This path should be to the module folder, not the bin/script path. i.e. `./node_modules/prettier`, not `./bin/prettier`. + +**Disabled on untrusted workspaces** + +#### prettier.resolveGlobalModules (default: `false`) + +When enabled, this extension will attempt to use global npm or yarn modules if local modules cannot be resolved. + +> NOTE: This setting can have a negative performance impact, particularly on Windows when you have attached network drives. Only enable this if you must use global modules. It is recommended that you always use local modules when possible. + +**Note: Disabling a language enabled in a parent folder will prevent formatting instead of letting any other formatter to run** + +**Disabled on untrusted workspaces** + +#### prettier.documentSelectors + +A list of [glob patterns](https://code.visualstudio.com/api/references/vscode-api#GlobPattern) to register Prettier formatter. Typically these will be in the format of `**/*.abc` to tell this extension to register itself as the formatter for all files with the `abc` extension. This feature can be useful when you have [overrides](https://prettier.io/docs/en/configuration.html#configuration-overrides) set in your config file to map custom extensions to a parser. + +It is likely will need to also update your prettier config. For example, if I register the following document selector by itself, Prettier still won't know what to do with that file. I either need a Prettier extension that formats `.abc` file format or I need to configure Prettier. + +```json +{ + "prettier.documentSelectors": ["**/*.abc"] +} +``` + +To tell Prettier how to format a file of type `.abc` I can set an override in the prettier config that makes this file type use the `babel` parser. + +```json +{ + "overrides": [ + { + "files": "*.abc", + "options": { + "parser": "babel" + } + } + ] +} +``` + +**Disabled on untrusted workspaces** + +#### prettier.useEditorConfig (default: `true`) + +Whether or not to take .editorconfig into account when parsing configuration. See the [prettier.resolveConfig docs](https://prettier.io/docs/en/api.html) for details. + +**Disabled on untrusted workspaces (always false)** + +#### prettier.withNodeModules (default: `false`) + +Whether or not to process files in the `node_modules` folder. + +**Disabled on untrusted workspaces** + +## Error Messages + +**Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`** + +When a `package.json` is present in your project and it contains prettier, plugins, or linter libraries this extension will attempt to load these modules from your `node_module` folder. If you see this error, it most likely means you need to run `npm install` or `yarn install` to install the packages in your `package.json`. + +**Your project is configured to use an outdated version of prettier that cannot be used by this extension. Upgrade to the latest version of prettier.** + +You must upgrade to a newer version of prettier. + +**This workspace is not trusted. Using the bundled version of prettier.** + +You must trust this workspace to use plugins and local/global modules. See: [Workspace Trust](https://code.visualstudio.com/docs/editor/workspace-trust) diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/THIRDPARTY.md b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/THIRDPARTY.md new file mode 100644 index 00000000..bec32603 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/THIRDPARTY.md @@ -0,0 +1,24 @@ +vscode-go + +The MIT License (MIT) + +Original Work Copyright (c) 2015-2020 Microsoft Corporation +Current Work and Modifications Copyright (c) 2020-present The Go Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/dist/extension.js b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/dist/extension.js new file mode 100644 index 00000000..5f1b28a9 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/dist/extension.js @@ -0,0 +1,2 @@ +(()=>{var e={3215:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveGlobalYarnPath=t.resolveGlobalNodePath=void 0;const n=r(3129),o=r(5622);function s(){return"win32"===process.platform}t.resolveGlobalNodePath=function(e){let t="npm";const r={encoding:"utf8"};s()&&(t="npm.cmd",r.shell=!0);const i=()=>{};try{process.on("SIGPIPE",i);const a=n.spawnSync(t,["config","get","prefix"],r).stdout;if(!a)return void(e&&e("'npm config get prefix' didn't return a value."));const l=a.trim();return e&&e(`'npm config get prefix' value is: ${l}`),l.length>0?s()?o.join(l,"node_modules"):o.join(l,"lib","node_modules"):void 0}catch(e){return}finally{process.removeListener("SIGPIPE",i)}},t.resolveGlobalYarnPath=function(e){let t="yarn";const r={encoding:"utf8"};s()&&(t="yarn.cmd",r.shell=!0);const i=()=>{};try{process.on("SIGPIPE",i);const s=n.spawnSync(t,["global","dir","--json"],r),a=s.stdout;if(!a)return void(e&&(e("'yarn global dir' didn't return a value."),s.stderr&&e(s.stderr)));const l=a.trim().split(/\r?\n/);for(const e of l)try{const t=JSON.parse(e);if("log"===t.type)return o.join(t.data,"node_modules")}catch(e){}return}catch(e){return}finally{process.removeListener("SIGPIPE",i)}}},9854:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggingService=void 0;const n=r(2392),o=r(7549);t.LoggingService=class{constructor(){this.outputChannel=o.window.createOutputChannel("Prettier"),this.logLevel="INFO"}setOutputLevel(e){this.logLevel=e}logDebug(e,t){"NONE"!==this.logLevel&&"INFO"!==this.logLevel&&"WARN"!==this.logLevel&&"ERROR"!==this.logLevel&&(this.logMessage(e,"DEBUG"),t&&this.logObject(t))}logInfo(e,t){"NONE"!==this.logLevel&&"WARN"!==this.logLevel&&"ERROR"!==this.logLevel&&(this.logMessage(e,"INFO"),t&&this.logObject(t))}logWarning(e,t){"NONE"!==this.logLevel&&"ERROR"!==this.logLevel&&(this.logMessage(e,"WARN"),t&&this.logObject(t))}logError(e,t){"NONE"!==this.logLevel&&(this.logMessage(e,"ERROR"),"string"==typeof t?this.outputChannel.appendLine(t):(null==t?void 0:t.message)||(null==t?void 0:t.stack)?((null==t?void 0:t.message)&&this.logMessage(t.message,"ERROR"),(null==t?void 0:t.stack)&&this.outputChannel.appendLine(t.stack)):t&&this.logObject(t))}show(){this.outputChannel.show()}logObject(e){const t=n.format(JSON.stringify(e,null,2),{parser:"json"}).trim();this.outputChannel.appendLine(t)}logMessage(e,t){const r=(new Date).toLocaleTimeString();this.outputChannel.appendLine(`["${t}" - ${r}] ${e}`)}}},604:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ModuleResolver=void 0;const o=r(3129),s=r(9536),i=r(5747),a=r(5622),l=r(2392),c=r(5559),u=r(9100),h=r(7549),p=r(3215),d=r(6906),f=r(550),g=r(9923),v={npm:{cache:void 0,get:()=>p.resolveGlobalNodePath()},pnpm:{cache:void 0,get:()=>o.execSync("pnpm root -g").toString().trim()},yarn:{cache:void 0,get:()=>p.resolveGlobalYarnPath()}};t.ModuleResolver=class{constructor(e){this.loggingService=e,this.path2Module=new Map}getPrettierInstance(e){return n(this,void 0,void 0,(function*(){if(!h.workspace.isTrusted)return this.loggingService.logDebug(d.UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER),l;const{prettierPath:t,resolveGlobalModules:r}=g.getConfig(h.Uri.file(e));let n,o;try{n=t?g.getWorkspaceRelativePath(e,t):this.findPkg(e,"prettier")}catch(e){let t="";if(!n){const r=/Cannot find module '.*' from '(.*)'/.exec(e.message);r&&r[1]&&(t=r[1])}return this.loggingService.logInfo(`Attempted to load Prettier module from ${n||t||"package.json"}`),void this.loggingService.logError(d.FAILED_TO_LOAD_MODULE_MESSAGE,e)}if(r&&!n){const e=function(e){const t=v[e];if(t)return void 0===t.cache&&(t.cache=t.get()),t.cache}(yield h.commands.executeCommand("npm.packageManager"));if(e){const t=a.join(e,"prettier");i.existsSync(t)&&(n=t)}}if(void 0!==n){if(o=this.path2Module.get(n),o)return o;try{o=this.loadNodeModule(n),o&&this.path2Module.set(n,o)}catch(e){return this.loggingService.logInfo(`Attempted to load Prettier module from ${n||"package.json"}`),void this.loggingService.logError(d.FAILED_TO_LOAD_MODULE_MESSAGE,e)}}if(o){const e=!!o.format,r=o.version&&!!o.getSupportInfo&&!!o.getFileInfo&&!!o.resolveConfig&&u.gte(o.version,"1.13.0");return!e&&t?void this.loggingService.logError(d.INVALID_PRETTIER_PATH_MESSAGE):r?o:(this.loggingService.logInfo(`Attempted to load Prettier module from ${n}`),void this.loggingService.logError(d.OUTDATED_PRETTIER_VERSION_MESSAGE))}return this.loggingService.logDebug(d.USING_BUNDLED_PRETTIER),l}))}dispose(){return n(this,void 0,void 0,(function*(){l.clearConfigCache(),this.path2Module.forEach((e=>{try{e.clearConfigCache()}catch(e){this.loggingService.logError("Error clearing module cache.",e)}})),this.path2Module.clear()}))}loadNodeModule(e){const t=require;try{return t(e)}catch(t){this.loggingService.logError(`Error loading node module '${e}'`,t)}}isInternalTestRoot(e){return!1}findPkg(e,t){const r=`module-path:${e}:${t}`,n=f.getFromWorkspaceState(r,!1);if(n)return n;const o=e.split("/");let l=e;const u=o.indexOf("node_modules");u>1&&(l=o.slice(0,u).join("/"));const h=s.sync((e=>{if(i.existsSync(a.join(e,"package.json"))){let r;try{r=JSON.parse(i.readFileSync(a.join(e,"package.json"),"utf8"))}catch(e){}if(r&&(r.dependencies&&r.dependencies[t]||r.devDependencies&&r.devDependencies[t]))return e}if(this.isInternalTestRoot(e))return s.stop}),{cwd:l,type:"directory"});if(h){const e=c.sync(t,{basedir:h});return f.updateWorkspaceState(r,e),e}const p=s.sync((e=>i.existsSync(a.join(e,"node_modules",t))?e:this.isInternalTestRoot(e)?s.stop:void 0),{cwd:l,type:"directory"});if(p){const e=c.sync(t,{basedir:p});return f.updateWorkspaceState(r,e),e}}}},7732:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PrettierEditProvider=void 0,t.PrettierEditProvider=class{constructor(e){this.provideEdits=e}provideDocumentRangeFormattingEdits(e,t,n,o){return r(this,void 0,void 0,(function*(){return this.provideEdits(e,{rangeEnd:e.offsetAt(t.end),rangeStart:e.offsetAt(t.start),force:!1})}))}provideDocumentFormattingEdits(e,t,n){return r(this,void 0,void 0,(function*(){return this.provideEdits(e,{force:!1})}))}}},1923:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const o=r(2392),s=r(7549),i=r(803),a=r(6906),l=r(7732),c=r(2331),u=r(9923),h=[".prettierrc",".prettierrc.json",".prettierrc.json5",".prettierrc.yaml",".prettierrc.yml",".prettierrc.toml",".prettierrc.js",".prettierrc.cjs","package.json","prettier.config.js","prettier.config.cjs",".editorconfig"];t.default=class{constructor(e,t,r){this.moduleResolver=e,this.loggingService=t,this.statusBar=r,this.registeredWorkspaces=new Set,this.allLanguages=[],this.allExtensions=[],this.allRangeLanguages=["javascript","javascriptreact","typescript","typescriptreact","json","graphql"],this.forceFormatDocument=()=>n(this,void 0,void 0,(function*(){const e=s.window.activeTextEditor;if(!e)return void this.loggingService.logInfo("No active document. Nothing was formatted.");this.loggingService.logInfo("Forced formatting will not use ignore files.");const t=yield this.provideEdits(e.document,{force:!0});1===t.length&&(yield e.edit((e=>{e.replace(t[0].range,t[0].newText)})))})),this.prettierConfigChanged=e=>n(this,void 0,void 0,(function*(){return this.resetFormatters(e)})),this.resetFormatters=e=>n(this,void 0,void 0,(function*(){var t;if(e){const r=s.workspace.getWorkspaceFolder(e);this.registeredWorkspaces.delete(null!==(t=null==r?void 0:r.uri.fsPath)&&void 0!==t?t:"global")}else this.registeredWorkspaces.clear();this.statusBar.update(c.FormatterStatus.Ready)})),this.handleActiveTextEditorChanged=e=>n(this,void 0,void 0,(function*(){if(!e)return void this.statusBar.hide();const{document:t}=e;if("untitled"===t.uri.scheme)return void this.statusBar.update(c.FormatterStatus.Ready);if("file"!==t.uri.scheme)return void this.statusBar.hide();const r=s.workspace.getWorkspaceFolder(t.uri);if(!r)return;const n=yield this.moduleResolver.getPrettierInstance(r.uri.fsPath),o=this.registeredWorkspaces.has(r.uri.fsPath);if(!n)return void this.statusBar.update(c.FormatterStatus.Error);const i=yield this.getSelectors(n,r.uri);o||(this.registerDocumentFormatEditorProviders(i),this.registeredWorkspaces.add(r.uri.fsPath),this.loggingService.logDebug(`Enabling Prettier for Workspace ${r.uri.fsPath}`,i)),s.languages.match(i.languageSelector,t)>0?this.statusBar.update(c.FormatterStatus.Ready):this.statusBar.update(c.FormatterStatus.Disabled)})),this.dispose=()=>{var e,t;this.moduleResolver.dispose(),null===(e=this.formatterHandler)||void 0===e||e.dispose(),null===(t=this.rangeFormatterHandler)||void 0===t||t.dispose(),this.formatterHandler=void 0,this.rangeFormatterHandler=void 0},this.getSelectors=(e,t)=>n(this,void 0,void 0,(function*(){const{languages:r}=e.getSupportInfo();r.forEach((e=>{e&&e.vscodeLanguageIds&&this.allLanguages.push(...e.vscodeLanguageIds)})),this.allLanguages=this.allLanguages.filter(((e,t,r)=>r.indexOf(e)===t)),r.forEach((e=>{e&&e.extensions&&this.allExtensions.push(...e.extensions)})),this.allExtensions=this.allExtensions.filter(((e,t,r)=>r.indexOf(e)===t));const{documentSelectors:n}=u.getConfig(),o=t?0===this.allExtensions.length?[]:[{pattern:`${t.fsPath}/**/*.{${this.allExtensions.map((e=>e.substring(1))).join(",")}}`,scheme:"file"}]:[];return{languageSelector:[...t?n.map((e=>({pattern:`${t.fsPath}/${e}`,scheme:"file"}))):[],...o,...this.allLanguages.map((e=>({language:e,scheme:"file"}))),...this.allLanguages.map((e=>({language:e,scheme:"untitled"}))),{language:"jsonc",scheme:"vscode-userdata"}],rangeLanguageSelector:[...this.allRangeLanguages.map((e=>({language:e,scheme:"file"}))),...this.allRangeLanguages.map((e=>({language:e,scheme:"untitled"})))]}})),this.provideEdits=(e,t)=>n(this,void 0,void 0,(function*(){const r=process.hrtime(),n=yield this.format(e.getText(),e,t);if(!n)return[];const o=process.hrtime(r);return this.loggingService.logInfo(`Formatting completed in ${o[1]/1e6}ms.`),[s.TextEdit.replace(this.fullDocumentRange(e),n)]}))}registerDisposables(){const e=s.workspace.createFileSystemWatcher("**/package.json");e.onDidChange(this.resetFormatters),e.onDidCreate(this.resetFormatters),e.onDidDelete(this.resetFormatters);const t=s.workspace.onDidChangeConfiguration((e=>{e.affectsConfiguration("prettier.enable")?this.loggingService.logWarning(a.RESTART_TO_ENABLE):e.affectsConfiguration("prettier")&&this.resetFormatters()})),r=s.workspace.createFileSystemWatcher(`**/{${h.join(",")}}`);r.onDidChange(this.prettierConfigChanged),r.onDidCreate(this.prettierConfigChanged),r.onDidDelete(this.prettierConfigChanged);const n=s.window.onDidChangeActiveTextEditor(this.handleActiveTextEditorChanged);return this.handleActiveTextEditorChanged(s.window.activeTextEditor),[e,t,r,n]}registerGlobal(){return n(this,void 0,void 0,(function*(){const e=yield this.getSelectors(o);this.registerDocumentFormatEditorProviders(e),this.loggingService.logDebug("Enabling Prettier globally",e)}))}registerDocumentFormatEditorProviders({languageSelector:e,rangeLanguageSelector:t}){this.dispose();const r=new l.PrettierEditProvider(this.provideEdits);this.rangeFormatterHandler=s.languages.registerDocumentRangeFormattingEditProvider(t,r),this.formatterHandler=s.languages.registerDocumentFormattingEditProvider(e,r)}format(e,{fileName:t,languageId:r,uri:s,isUntitled:l},h){var p;return n(this,void 0,void 0,(function*(){this.loggingService.logInfo(`Formatting ${t}`);const n=u.getConfig(s);let d;try{l||(d=null!==(p=yield o.resolveConfigFile(t))&&void 0!==p?p:void 0)}catch(e){return this.loggingService.logError(`Error resolving prettier configuration for ${t}`,e),void this.statusBar.update(c.FormatterStatus.Error)}const f={config:l?void 0:n.configPath?u.getWorkspaceRelativePath(t,n.configPath):d,editorconfig:l?void 0:n.useEditorConfig};let g,v;try{g=l?null:yield o.resolveConfig(t,f)}catch(e){return this.loggingService.logError("Invalid prettier configuration file detected.",e),this.loggingService.logError(a.INVALID_PRETTIER_CONFIG),void this.statusBar.update(c.FormatterStatus.Error)}if(!l&&!g&&n.requireConfig)return this.loggingService.logInfo("Require config set to true and no config present. Skipping file."),void this.statusBar.update(c.FormatterStatus.Disabled);f.config&&this.loggingService.logInfo(`Using config file at '${f.config}'`),n.ignorePath&&(v=u.getWorkspaceRelativePath(t,n.ignorePath),v&&this.loggingService.logInfo(`Using ignore file (if present) at ${v}`));const m=yield this.moduleResolver.getPrettierInstance(t);if(!m)return this.loggingService.logError("Prettier could not be loaded. See previous logs for more information."),void this.statusBar.update(c.FormatterStatus.Error);let E,y;if(t&&(E=yield m.getFileInfo(t,{ignorePath:v,resolveConfig:!0,withNodeModules:n.withNodeModules}),this.loggingService.logInfo("File Info:",E)),!h.force&&E&&E.ignored)return this.loggingService.logInfo("File is ignored, skipping."),void this.statusBar.update(c.FormatterStatus.Ignore);if(E&&E.inferredParser)y=E.inferredParser;else if("plaintext"!==r){this.loggingService.logWarning("Parser not inferred, trying VS Code language.");const e=m.getSupportInfo().languages;y=i.getParserFromLanguageId(e,s,r)}if(!y)return this.loggingService.logError("Failed to resolve a parser, skipping file. If you registered a custom file extension, be sure to configure the parser."),void this.statusBar.update(c.FormatterStatus.Error);const S=this.getPrettierOptions(t,y,n,g,h);this.loggingService.logInfo("Prettier Options:",S);try{const t=m.format(e,S);return this.statusBar.update(c.FormatterStatus.Success),t}catch(t){return this.loggingService.logError("Error formatting document.",t),this.statusBar.update(c.FormatterStatus.Error),e}}))}getPrettierOptions(e,t,r,n,o){const s=null===n,i={};let a;s&&(i.arrowParens=r.arrowParens,i.bracketSpacing=r.bracketSpacing,i.endOfLine=r.endOfLine,i.htmlWhitespaceSensitivity=r.htmlWhitespaceSensitivity,i.insertPragma=r.insertPragma,i.jsxBracketSameLine=r.jsxBracketSameLine,i.jsxSingleQuote=r.jsxSingleQuote,i.printWidth=r.printWidth,i.proseWrap=r.proseWrap,i.quoteProps=r.quoteProps,i.requirePragma=r.requirePragma,i.semi=r.semi,i.singleQuote=r.singleQuote,i.tabWidth=r.tabWidth,i.trailingComma=r.trailingComma,i.useTabs=r.useTabs,i.vueIndentScriptAndStyle=r.vueIndentScriptAndStyle),this.loggingService.logInfo(s?"No local configuration (i.e. .prettierrc or .editorconfig) detected, falling back to VS Code configuration":"Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used"),o.rangeEnd&&o.rangeStart&&(a={rangeEnd:o.rangeEnd,rangeStart:o.rangeStart});const l=Object.assign(Object.assign(Object.assign(Object.assign({},s?i:{}),{filepath:e,parser:t}),a||{}),n||{});return o.force&&!0===l.requirePragma&&(l.requirePragma=!1),l}fullDocumentRange(e){const t=e.lineCount-1;return new s.Range(0,0,t,e.lineAt(t).text.length)}}},2331:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatusBar=t.FormatterStatus=void 0;const n=r(7549);var o;!function(e){e.Ready="check-all",e.Success="check",e.Ignore="x",e.Warn="warning",e.Error="alert",e.Disabled="circle-slash"}(o=t.FormatterStatus||(t.FormatterStatus={})),t.StatusBar=class{constructor(){this.statusBarItem=n.window.createStatusBarItem("prettier.status",n.StatusBarAlignment.Right,-1),this.statusBarItem.name="Prettier",this.statusBarItem.text="Prettier",this.statusBarItem.command="prettier.openOutput",this.update(o.Ready),this.statusBarItem.show()}update(e){this.statusBarItem.text=`$(${e.toString()}) Prettier`,this.statusBarItem.show()}hide(){this.statusBarItem.hide()}}},3938:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TemplateService=void 0;const o=r(5747),s=r(5622),i=r(2392),a=r(1669).promisify(o.writeFile);t.TemplateService=class{constructor(e){this.loggingService=e}writeConfigFile(e){return n(this,void 0,void 0,(function*(){const t={tabWidth:2,useTabs:!1},r=s.join(e.fsPath,".prettierrc"),n={filepath:r,tabWidth:t.tabWidth,useTabs:t.useTabs},o=i.format(JSON.stringify(t,null,2),n);this.loggingService.logInfo(`Writing .prettierrc to '${r}'`),yield a(r,o,"utf8")}))}}},5415:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createConfigFile=void 0;const o=r(7549);t.createConfigFile=e=>()=>n(void 0,void 0,void 0,(function*(){const t=yield o.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1});if(t&&1===t.length){const r=t[0];yield e.writeConfigFile(r)}}))},803:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedFileNames=t.getParserFromLanguageId=void 0,t.getParserFromLanguageId=function(e,t,r){var n;if("untitled"===t.scheme&&["html","json"].includes(r))return r;const o=e.find((e=>e&&e.extensions&&Array.isArray(e.vscodeLanguageIds)&&e.vscodeLanguageIds.includes(r)));return o&&(null===(n=o.parsers)||void 0===n?void 0:n.length)>0?o.parsers[0]:void 0},t.getSupportedFileNames=function(e){const t=[];return e.forEach((e=>{e&&e.filenames&&t.push(...e.filenames)})),t.filter(((e,t,r)=>r.indexOf(e)===t))}},6906:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER=t.EXTENSION_DISABLED=t.USING_BUNDLED_PRETTIER=t.RESTART_TO_ENABLE=t.UNABLE_TO_LOAD_PRETTIER=t.INVALID_PRETTIER_CONFIG=t.FAILED_TO_LOAD_MODULE_MESSAGE=t.VIEW_LOGS_ACTION_TEXT=t.INVALID_PRETTIER_PATH_MESSAGE=t.OUTDATED_PRETTIER_VERSION_MESSAGE=void 0,t.OUTDATED_PRETTIER_VERSION_MESSAGE="Your project is configured to use an outdated version of prettier that cannot be used by this extension. Upgrade to the latest version of prettier.",t.INVALID_PRETTIER_PATH_MESSAGE="`prettierPath` option does not reference a valid instance of Prettier. Please ensure you are passing a path to the prettier module, not the binary. Falling back to bundled version of prettier.",t.VIEW_LOGS_ACTION_TEXT="Show Log",t.FAILED_TO_LOAD_MODULE_MESSAGE="Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`",t.INVALID_PRETTIER_CONFIG="Invalid prettier configuration file detected. See log for details.",t.UNABLE_TO_LOAD_PRETTIER="Unable to load the configured Prettier module. Prettier will not run. Check logs.",t.RESTART_TO_ENABLE="To enable or disable prettier after changing the `enable` setting, you must restart VS Code.",t.USING_BUNDLED_PRETTIER="Using bundled version of prettier.",t.EXTENSION_DISABLED="Extension is disabled. No formatters will be registered. To enable, change the `prettier.enable` to `true` and restart VS Code.",t.UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER="This workspace is not trusted. Using the bundled version of prettier."},550:(e,t)=>{"use strict";let r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.getWorkspaceState=t.setWorkspaceState=t.updateWorkspaceState=t.getFromWorkspaceState=t.getGlobalState=t.setGlobalState=t.updateGlobalState=t.getFromGlobalState=void 0,t.getFromGlobalState=function(e,t){return r?r.get(e,t):t},t.updateGlobalState=function(e,t){if(r)return r.update(e,t)},t.setGlobalState=function(e){r=e},t.getGlobalState=function(){return r},t.getFromWorkspaceState=function(e,t){return n?n.get(e,t):t},t.updateWorkspaceState=function(e,t){if(n)return n.update(e,t)},t.setWorkspaceState=function(e){n=e},t.getWorkspaceState=function(){return n}},9923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=t.getWorkspaceRelativePath=void 0;const n=r(2087),o=r(5622),s=r(7549);t.getWorkspaceRelativePath=function(e,t){if("darwin"===process.platform&&0===t.indexOf("~")&&n.homedir())return t.replace(/^~(?=$|\/|\\)/,n.homedir());if(s.workspace.workspaceFolders){const r=s.workspace.getWorkspaceFolder(s.Uri.file(e));return r?o.isAbsolute(t)?t:o.join(r.uri.fsPath,t):void 0}},t.getConfig=function(e){const t=s.workspace.getConfiguration("prettier",e);return s.workspace.isTrusted||(t.prettierPath=void 0,t.configPath=void 0,t.ignorePath=".prettierignore",t.documentSelectors=[],t.useEditorConfig=!1,t.withNodeModules=!1,t.resolveGlobalModules=!1),t}},9536:(e,t,r)=>{"use strict";const n=r(5622),o=r(7310),s=r(8185),i=Symbol("findUp.stop");e.exports=async(e,t={})=>{let r=n.resolve(t.cwd||"");const{root:s}=n.parse(r),a=[].concat(e),l=async t=>{if("function"!=typeof e)return o(a,t);const r=await e(t.cwd);return"string"==typeof r?o([r],t):r};for(;;){const e=await l({...t,cwd:r});if(e===i)return;if(e)return n.resolve(r,e);if(r===s)return;r=n.dirname(r)}},e.exports.sync=(e,t={})=>{let r=n.resolve(t.cwd||"");const{root:s}=n.parse(r),a=[].concat(e),l=t=>{if("function"!=typeof e)return o.sync(a,t);const r=e(t.cwd);return"string"==typeof r?o.sync([r],t):r};for(;;){const e=l({...t,cwd:r});if(e===i)return;if(e)return n.resolve(r,e);if(r===s)return;r=n.dirname(r)}},e.exports.exists=s,e.exports.sync.exists=s.sync,e.exports.stop=i},202:e=>{"use strict";var t="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,o="[object Function]";e.exports=function(e){var s=this;if("function"!=typeof s||n.call(s)!==o)throw new TypeError(t+s);for(var i,a=r.call(arguments,1),l=function(){if(this instanceof i){var t=s.apply(this,a.concat(r.call(arguments)));return Object(t)===t?t:this}return s.apply(e,a.concat(r.call(arguments)))},c=Math.max(0,s.length-a.length),u=[],h=0;h{"use strict";var n=r(202);e.exports=Function.prototype.bind||n},6144:(e,t,r)=>{"use strict";var n=r(8284);e.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},6774:e=>{"use strict";e.exports=JSON.parse('{"assert":true,"node:assert":">= 16","assert/strict":">= 15","node:assert/strict":">= 16","async_hooks":">= 8","node:async_hooks":">= 16","buffer_ieee754":"< 0.9.7","buffer":true,"node:buffer":">= 16","child_process":true,"node:child_process":">= 16","cluster":true,"node:cluster":">= 16","console":true,"node:console":">= 16","constants":true,"node:constants":">= 16","crypto":true,"node:crypto":">= 16","_debug_agent":">= 1 && < 8","_debugger":"< 8","dgram":true,"node:dgram":">= 16","diagnostics_channel":[">= 14.17 && < 15",">= 15.1"],"node:diagnostics_channel":">= 16","dns":true,"node:dns":">= 16","dns/promises":">= 15","node:dns/promises":">= 16","domain":">= 0.7.12","node:domain":">= 16","events":true,"node:events":">= 16","freelist":"< 6","fs":true,"node:fs":">= 16","fs/promises":[">= 10 && < 10.1",">= 14"],"node:fs/promises":">= 16","_http_agent":">= 0.11.1","node:_http_agent":">= 16","_http_client":">= 0.11.1","node:_http_client":">= 16","_http_common":">= 0.11.1","node:_http_common":">= 16","_http_incoming":">= 0.11.1","node:_http_incoming":">= 16","_http_outgoing":">= 0.11.1","node:_http_outgoing":">= 16","_http_server":">= 0.11.1","node:_http_server":">= 16","http":true,"node:http":">= 16","http2":">= 8.8","node:http2":">= 16","https":true,"node:https":">= 16","inspector":">= 8","node:inspector":">= 16","_linklist":"< 8","module":true,"node:module":">= 16","net":true,"node:net":">= 16","node-inspect/lib/_inspect":">= 7.6 && < 12","node-inspect/lib/internal/inspect_client":">= 7.6 && < 12","node-inspect/lib/internal/inspect_repl":">= 7.6 && < 12","os":true,"node:os":">= 16","path":true,"node:path":">= 16","path/posix":">= 15.3","node:path/posix":">= 16","path/win32":">= 15.3","node:path/win32":">= 16","perf_hooks":">= 8.5","node:perf_hooks":">= 16","process":">= 1","node:process":">= 16","punycode":true,"node:punycode":">= 16","querystring":true,"node:querystring":">= 16","readline":true,"node:readline":">= 16","repl":true,"node:repl":">= 16","smalloc":">= 0.11.5 && < 3","_stream_duplex":">= 0.9.4","node:_stream_duplex":">= 16","_stream_transform":">= 0.9.4","node:_stream_transform":">= 16","_stream_wrap":">= 1.4.1","node:_stream_wrap":">= 16","_stream_passthrough":">= 0.9.4","node:_stream_passthrough":">= 16","_stream_readable":">= 0.9.4","node:_stream_readable":">= 16","_stream_writable":">= 0.9.4","node:_stream_writable":">= 16","stream":true,"node:stream":">= 16","stream/promises":">= 15","node:stream/promises":">= 16","string_decoder":true,"node:string_decoder":">= 16","sys":[">= 0.6 && < 0.7",">= 0.8"],"node:sys":">= 16","timers":true,"node:timers":">= 16","timers/promises":">= 15","node:timers/promises":">= 16","_tls_common":">= 0.11.13","node:_tls_common":">= 16","_tls_legacy":">= 0.11.3 && < 10","_tls_wrap":">= 0.11.3","node:_tls_wrap":">= 16","tls":true,"node:tls":">= 16","trace_events":">= 10","node:trace_events":">= 16","tty":true,"node:tty":">= 16","url":true,"node:url":">= 16","util":true,"node:util":">= 16","util/types":">= 15.3","node:util/types":">= 16","v8/tools/arguments":">= 10 && < 12","v8/tools/codemap":[">= 4.4 && < 5",">= 5.2 && < 12"],"v8/tools/consarray":[">= 4.4 && < 5",">= 5.2 && < 12"],"v8/tools/csvparser":[">= 4.4 && < 5",">= 5.2 && < 12"],"v8/tools/logreader":[">= 4.4 && < 5",">= 5.2 && < 12"],"v8/tools/profile_view":[">= 4.4 && < 5",">= 5.2 && < 12"],"v8/tools/splaytree":[">= 4.4 && < 5",">= 5.2 && < 12"],"v8":">= 1","node:v8":">= 16","vm":true,"node:vm":">= 16","wasi":">= 13.4 && < 13.5","worker_threads":">= 11.7","node:worker_threads":">= 16","zlib":true,"node:zlib":">= 16"}')},2009:(e,t,r)=>{"use strict";var n=r(6144);function o(e,t){for(var r=e.split("."),n=t.split(" "),o=n.length>1?n[0]:"=",s=(n.length>1?n[1]:n[0]).split("."),i=0;i<3;++i){var a=parseInt(r[i]||0,10),l=parseInt(s[i]||0,10);if(a!==l)return"<"===o?a="===o&&a>=l}return">="===o}function s(e,t){var r=t.split(/ ?&& ?/);if(0===r.length)return!1;for(var n=0;n{"use strict";const n=r(5622),o=r(5747),{promisify:s}=r(1669),i=r(4092),a=s(o.stat),l=s(o.lstat),c={directory:"isDirectory",file:"isFile"};function u({type:e}){if(!(e in c))throw new Error(`Invalid type specified: ${e}`)}const h=(e,t)=>void 0===e||t[c[e]]();e.exports=async(e,t)=>{u(t={cwd:process.cwd(),type:"file",allowSymlinks:!0,...t});const r=t.allowSymlinks?a:l;return i(e,(async e=>{try{const o=await r(n.resolve(t.cwd,e));return h(t.type,o)}catch{return!1}}),t)},e.exports.sync=(e,t)=>{u(t={cwd:process.cwd(),allowSymlinks:!0,type:"file",...t});const r=t.allowSymlinks?o.statSync:o.lstatSync;for(const o of e)try{const e=r(n.resolve(t.cwd,o));if(h(t.type,e))return o}catch{}}},3097:(e,t,r)=>{"use strict";const n=r(4393),o=Symbol("max"),s=Symbol("length"),i=Symbol("lengthCalculator"),a=Symbol("allowStale"),l=Symbol("maxAge"),c=Symbol("dispose"),u=Symbol("noDisposeOnSet"),h=Symbol("lruList"),p=Symbol("cache"),d=Symbol("updateAgeOnGet"),f=()=>1,g=(e,t,r)=>{const n=e[p].get(t);if(n){const t=n.value;if(v(e,t)){if(E(e,n),!e[a])return}else r&&(e[d]&&(n.value.now=Date.now()),e[h].unshiftNode(n));return t.value}},v=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[l]&&r>e[l]},m=e=>{if(e[s]>e[o])for(let t=e[h].tail;e[s]>e[o]&&null!==t;){const r=t.prev;E(e,t),t=r}},E=(e,t)=>{if(t){const r=t.value;e[c]&&e[c](r.key,r.value),e[s]-=r.length,e[p].delete(r.key),e[h].removeNode(t)}};class y{constructor(e,t,r,n,o){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=o||0}}const S=(e,t,r,n)=>{let o=r.value;v(e,o)&&(E(e,r),e[a]||(o=void 0)),o&&t.call(n,o.value,o.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[o]=e.max||1/0;const t=e.length||f;if(this[i]="function"!=typeof t?f:t,this[a]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[u]=e.noDisposeOnSet||!1,this[d]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[o]=e||1/0,m(this)}get max(){return this[o]}set allowStale(e){this[a]=!!e}get allowStale(){return this[a]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,m(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!=typeof e&&(e=f),e!==this[i]&&(this[i]=e,this[s]=0,this[h].forEach((e=>{e.length=this[i](e.value,e.key),this[s]+=e.length}))),m(this)}get lengthCalculator(){return this[i]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(e,t){t=t||this;for(let r=this[h].tail;null!==r;){const n=r.prev;S(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[h].head;null!==r;){const n=r.next;S(this,e,r,t),r=n}}keys(){return this[h].toArray().map((e=>e.key))}values(){return this[h].toArray().map((e=>e.value))}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach((e=>this[c](e.key,e.value))),this[p]=new Map,this[h]=new n,this[s]=0}dump(){return this[h].map((e=>!v(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[h]}set(e,t,r){if((r=r||this[l])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,a=this[i](t,e);if(this[p].has(e)){if(a>this[o])return E(this,this[p].get(e)),!1;const i=this[p].get(e).value;return this[c]&&(this[u]||this[c](e,i.value)),i.now=n,i.maxAge=r,i.value=t,this[s]+=a-i.length,i.length=a,this.get(e),m(this),!0}const d=new y(e,t,a,n,r);return d.length>this[o]?(this[c]&&this[c](e,t),!1):(this[s]+=d.length,this[h].unshift(d),this[p].set(e,this[h].head),m(this),!0)}has(e){if(!this[p].has(e))return!1;const t=this[p].get(e).value;return!v(this,t)}get(e){return g(this,e,!0)}peek(e){return g(this,e,!1)}pop(){const e=this[h].tail;return e?(E(this,e),e.value):null}del(e){E(this,this[p].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const n=e[r],o=n.e||0;if(0===o)this.set(n.k,n.v);else{const e=o-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[p].forEach(((e,t)=>g(this,t,!1)))}}},4092:(e,t,r)=>{"use strict";const n=r(9313);class o extends Error{constructor(e){super(),this.value=e}}const s=async(e,t)=>t(await e),i=async e=>{const t=await Promise.all(e);if(!0===t[1])throw new o(t[0]);return!1};e.exports=async(e,t,r)=>{r={concurrency:1/0,preserveOrder:!0,...r};const a=n(r.concurrency),l=[...e].map((e=>[e,a(s,e,t)])),c=n(r.preserveOrder?1:1/0);try{await Promise.all(l.map((e=>c(i,e))))}catch(e){if(e instanceof o)return e.value;throw e}}},9313:(e,t,r)=>{"use strict";const n=r(9285);e.exports=e=>{if(!Number.isInteger(e)&&e!==1/0||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new n;let r=0;const o=async(e,n,...o)=>{r++;const s=(async()=>e(...o))();n(s);try{await s}catch{}r--,t.size>0&&t.dequeue()()},s=(n,...s)=>new Promise((i=>{((n,s,...i)=>{t.enqueue(o.bind(null,n,s,...i)),(async()=>{await Promise.resolve(),r0&&t.dequeue()()})()})(n,i,...s)}));return Object.defineProperties(s,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),s}},8185:(e,t,r)=>{"use strict";const n=r(5747),{promisify:o}=r(1669),s=o(n.access);e.exports=async e=>{try{return await s(e),!0}catch(e){return!1}},e.exports.sync=e=>{try{return n.accessSync(e),!0}catch(e){return!1}}},8939:e=>{"use strict";var t="win32"===process.platform,r=/^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/,n={parse:function(e){if("string"!=typeof e)throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t,n=(t=e,r.exec(t).slice(1));if(!n||5!==n.length)throw new TypeError("Invalid path '"+e+"'");return{root:n[1],dir:n[0]===n[1]?n[0]:n[0].slice(0,-1),base:n[2],ext:n[4],name:n[3]}}},o=/^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/,s={parse:function(e){if("string"!=typeof e)throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t,r=(t=e,o.exec(t).slice(1));if(!r||5!==r.length)throw new TypeError("Invalid path '"+e+"'");return{root:r[1],dir:r[0].slice(0,-1),base:r[2],ext:r[4],name:r[3]}}};e.exports=t?n.parse:s.parse,e.exports.posix=s.parse,e.exports.win32=n.parse},5559:(e,t,r)=>{var n=r(2929);n.core=r(9071),n.isCore=r(3373),n.sync=r(5314),e.exports=n},2929:(e,t,r)=>{var n=r(5747),o=r(5622),s=r(5994),i=r(4156),a=r(7038),l=r(2009),c=n.realpath&&"function"==typeof n.realpath.native?n.realpath.native:n.realpath,u=function(e,t){n.stat(e,(function(e,r){return e?"ENOENT"===e.code||"ENOTDIR"===e.code?t(null,!1):t(e):t(null,r.isFile()||r.isFIFO())}))},h=function(e,t){n.stat(e,(function(e,r){return e?"ENOENT"===e.code||"ENOTDIR"===e.code?t(null,!1):t(e):t(null,r.isDirectory())}))},p=function(e,t){c(e,(function(r,n){r&&"ENOENT"!==r.code?t(r):t(null,r?e:n)}))},d=function(e,t,r,n){r&&!1===r.preserveSymlinks?e(t,n):n(null,t)},f=function(e,t,r){e(t,(function(e,t){if(e)r(e);else try{var n=JSON.parse(t);r(null,n)}catch(e){r(null)}}))};e.exports=function(e,t,r){var c=r,g=t;if("function"==typeof t&&(c=g,g={}),"string"!=typeof e){var v=new TypeError("Path must be a string.");return process.nextTick((function(){c(v)}))}var m=(g=a(e,g)).isFile||u,E=g.isDirectory||h,y=g.readFile||n.readFile,S=g.realpath||p,I=g.readPackage||f;if(g.readFile&&g.readPackage){var w=new TypeError("`readFile` and `readPackage` are mutually exclusive.");return process.nextTick((function(){c(w)}))}var _=g.packageIterator,R=g.extensions||[".js"],O=!1!==g.includeCoreModules,N=g.basedir||o.dirname(s()),T=g.filename||N;g.paths=g.paths||[];var x,$=o.resolve(N);function A(t,r,n){t?c(t):r?c(null,r,n):b(x,(function(t,r,n){if(t)c(t);else if(r)d(S,r,g,(function(e,t){e?c(e):c(null,t,n)}));else{var o=new Error("Cannot find module '"+e+"' from '"+T+"'");o.code="MODULE_NOT_FOUND",c(o)}}))}function L(e,t,r){var n=t,s=r;"function"==typeof n&&(s=n,n=void 0),function e(t,r,n){if(0===t.length)return s(null,void 0,n);var i=r+t[0],a=n;function l(n,l,u){if(a=l,n)return s(n);if(u&&a&&g.pathFilter){var h=o.relative(u,i),p=h.slice(0,h.length-t[0].length),d=g.pathFilter(a,r,p);if(d)return e([""].concat(R.slice()),o.resolve(u,d),a)}m(i,c)}function c(n,o){return n?s(n):o?s(null,i,a):void e(t.slice(1),r,a)}a?l(null,a):P(o.dirname(i),l)}([""].concat(R),e,n)}function P(e,t){return""===e||"/"===e||"win32"===process.platform&&/^\w:[/\\]*$/.test(e)||/[/\\]node_modules[/\\]*$/.test(e)?t(null):void d(S,e,g,(function(r,n){if(r)return P(o.dirname(e),t);var s=o.join(n,"package.json");m(s,(function(r,n){if(!n)return P(o.dirname(e),t);I(y,s,(function(r,n){r&&t(r);var o=n;o&&g.packageFilter&&(o=g.packageFilter(o,s)),t(null,o,e)}))}))}))}function b(e,t,r){var n=r,s=t;"function"==typeof s&&(n=s,s=g.package),d(S,e,g,(function(t,r){if(t)return n(t);var i=o.join(r,"package.json");m(i,(function(t,r){return t?n(t):r?void I(y,i,(function(t,r){if(t)return n(t);var s=r;if(s&&g.packageFilter&&(s=g.packageFilter(s,i)),s&&s.main){if("string"!=typeof s.main){var a=new TypeError("package “"+s.name+"” `main` must be a string");return a.code="INVALID_PACKAGE_MAIN",n(a)}return"."!==s.main&&"./"!==s.main||(s.main="index"),void L(o.resolve(e,s.main),s,(function(t,r,s){return t?n(t):r?n(null,r,s):s?void b(o.resolve(e,s.main),s,(function(t,r,s){return t?n(t):r?n(null,r,s):void L(o.join(e,"index"),s,n)})):L(o.join(e,"index"),s,n)}))}L(o.join(e,"/index"),s,n)})):L(o.join(e,"index"),s,n)}))}))}function D(e,t){if(0===t.length)return e(null,void 0);var r=t[0];function n(t,n,o){return t?e(t):n?e(null,n,o):void b(r,g.package,s)}function s(r,n,o){return r?e(r):n?e(null,n,o):void D(e,t.slice(1))}E(o.dirname(r),(function(o,s){return o?e(o):s?void L(r,g.package,n):D(e,t.slice(1))}))}d(S,$,g,(function(t,r){t?c(t):function(t){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e))x=o.resolve(t,e),"."!==e&&".."!==e&&"/"!==e.slice(-1)||(x+="/"),/\/$/.test(e)&&x===t?b(x,g.package,A):L(x,g.package,A);else{if(O&&l(e))return c(null,e);!function(e,t,r){var n=function(){return function(e,t,r){for(var n=i(t,r,e),s=0;s{e.exports=function(){var e=Error.prepareStackTrace;Error.prepareStackTrace=function(e,t){return t};var t=(new Error).stack;return Error.prepareStackTrace=e,t[2].getFileName()}},9071:(e,t,r)=>{var n=process.versions&&process.versions.node&&process.versions.node.split(".")||[];function o(e){for(var t=e.split(" "),r=t.length>1?t[0]:"=",o=(t.length>1?t[1]:t[0]).split("."),s=0;s<3;++s){var i=parseInt(n[s]||0,10),a=parseInt(o[s]||0,10);if(i!==a)return"<"===r?i="===r&&i>=a}return">="===r}function s(e){var t=e.split(/ ?&& ?/);if(0===t.length)return!1;for(var r=0;r{"use strict";e.exports=JSON.parse('{"assert":true,"assert/strict":">= 15","async_hooks":">= 8","buffer_ieee754":"< 0.9.7","buffer":true,"child_process":true,"cluster":true,"console":true,"constants":true,"crypto":true,"_debug_agent":">= 1 && < 8","_debugger":"< 8","dgram":true,"diagnostics_channel":">= 15.1","dns":true,"dns/promises":">= 15","domain":">= 0.7.12","events":true,"freelist":"< 6","fs":true,"fs/promises":[">= 10 && < 10.1",">= 14"],"_http_agent":">= 0.11.1","_http_client":">= 0.11.1","_http_common":">= 0.11.1","_http_incoming":">= 0.11.1","_http_outgoing":">= 0.11.1","_http_server":">= 0.11.1","http":true,"http2":">= 8.8","https":true,"inspector":">= 8.0.0","_linklist":"< 8","module":true,"net":true,"node-inspect/lib/_inspect":">= 7.6.0 && < 12","node-inspect/lib/internal/inspect_client":">= 7.6.0 && < 12","node-inspect/lib/internal/inspect_repl":">= 7.6.0 && < 12","os":true,"path":true,"path/posix":">= 15.3","path/win32":">= 15.3","perf_hooks":">= 8.5","process":">= 1","punycode":true,"querystring":true,"readline":true,"repl":true,"smalloc":">= 0.11.5 && < 3","_stream_duplex":">= 0.9.4","_stream_transform":">= 0.9.4","_stream_wrap":">= 1.4.1","_stream_passthrough":">= 0.9.4","_stream_readable":">= 0.9.4","_stream_writable":">= 0.9.4","stream":true,"stream/promises":">= 15","string_decoder":true,"sys":[">= 0.6 && < 0.7",">= 0.8"],"timers":true,"timers/promises":">= 15","_tls_common":">= 0.11.13","_tls_legacy":">= 0.11.3 && < 10","_tls_wrap":">= 0.11.3","tls":true,"trace_events":">= 10","tty":true,"url":true,"util":true,"util/types":">= 15.3","v8/tools/arguments":">= 10 && < 12","v8/tools/codemap":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/consarray":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/csvparser":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/logreader":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/profile_view":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/splaytree":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8":">= 1","vm":true,"wasi":">= 13.4 && < 13.5","worker_threads":">= 11.7","zlib":true}')},3373:(e,t,r)=>{var n=r(2009);e.exports=function(e){return n(e)}},4156:(e,t,r)=>{var n=r(5622),o=n.parse||r(8939),s=function(e,t){var r="/";/^([A-Za-z]:)/.test(e)?r="":/^\\\\/.test(e)&&(r="\\\\");for(var s=[e],i=o(e);i.dir!==s[s.length-1];)s.push(i.dir),i=o(i.dir);return s.reduce((function(e,o){return e.concat(t.map((function(e){return n.resolve(r,o,e)})))}),[])};e.exports=function(e,t,r){var n=t&&t.moduleDirectory?[].concat(t.moduleDirectory):["node_modules"];if(t&&"function"==typeof t.paths)return t.paths(r,e,(function(){return s(e,n)}),t);var o=s(e,n);return t&&t.paths?o.concat(t.paths):o}},7038:e=>{e.exports=function(e,t){return t||{}}},5314:(e,t,r)=>{var n=r(2009),o=r(5747),s=r(5622),i=r(5994),a=r(4156),l=r(7038),c=o.realpathSync&&"function"==typeof o.realpathSync.native?o.realpathSync.native:o.realpathSync,u=function(e){try{var t=o.statSync(e)}catch(e){if(e&&("ENOENT"===e.code||"ENOTDIR"===e.code))return!1;throw e}return t.isFile()||t.isFIFO()},h=function(e){try{var t=o.statSync(e)}catch(e){if(e&&("ENOENT"===e.code||"ENOTDIR"===e.code))return!1;throw e}return t.isDirectory()},p=function(e){try{return c(e)}catch(e){if("ENOENT"!==e.code)throw e}return e},d=function(e,t,r){return r&&!1===r.preserveSymlinks?e(t):t},f=function(e,t){var r=e(t);try{return JSON.parse(r)}catch(e){}};e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Path must be a string.");var r=l(e,t),c=r.isFile||u,g=r.readFileSync||o.readFileSync,v=r.isDirectory||h,m=r.realpathSync||p,E=r.readPackageSync||f;if(r.readFileSync&&r.readPackageSync)throw new TypeError("`readFileSync` and `readPackageSync` are mutually exclusive.");var y=r.packageIterator,S=r.extensions||[".js"],I=!1!==r.includeCoreModules,w=r.basedir||s.dirname(i()),_=r.filename||w;r.paths=r.paths||[];var R=d(m,s.resolve(w),r);if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){var O=s.resolve(R,e);"."!==e&&".."!==e&&"/"!==e.slice(-1)||(O+="/");var N=$(O)||L(O);if(N)return d(m,N,r)}else{if(I&&n(e))return e;var T=function(e,t){for(var n=function(){return function(e,t,r){for(var n=a(t,r,e),o=0;o{const n=Symbol("SemVer ANY");class o{static get ANY(){return n}constructor(e,t){if(t=s(t),e instanceof o){if(e.loose===!!t.loose)return e;e=e.value}c("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===n?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){const t=this.options.loose?i[a.COMPARATORLOOSE]:i[a.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===n||e===n)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return l(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof o))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new h(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new h(this.value,t).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),s=this.semver.version===e.semver.version,i=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=l(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=l(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||n||s&&i||a||c}}e.exports=o;const s=r(4276),{re:i,t:a}=r(4839),l=r(9801),c=r(7437),u=r(713),h=r(5589)},5589:(e,t,r)=>{class n{constructor(e,t){if(t=s(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof i)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!f(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&g(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=`parseRange:${Object.keys(this.options).join(",")}:${e}`,r=o.get(t);if(r)return r;const n=this.options.loose,s=n?c[u.HYPHENRANGELOOSE]:c[u.HYPHENRANGE];e=e.replace(s,T(this.options.includePrerelease)),a("hyphen replace",e),e=e.replace(c[u.COMPARATORTRIM],h),a("comparator trim",e,c[u.COMPARATORTRIM]),e=(e=(e=e.replace(c[u.TILDETRIM],p)).replace(c[u.CARETTRIM],d)).split(/\s+/).join(" ");const l=n?c[u.COMPARATORLOOSE]:c[u.COMPARATOR],g=e.split(" ").map((e=>m(e,this.options))).join(" ").split(/\s+/).map((e=>N(e,this.options))).filter(this.options.loose?e=>!!e.match(l):()=>!0).map((e=>new i(e,this.options))),v=(g.length,new Map);for(const e of g){if(f(e))return[e];v.set(e.value,e)}v.size>1&&v.has("")&&v.delete("");const E=[...v.values()];return o.set(t,E),E}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some((r=>v(r,t)&&e.set.some((e=>v(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,g=e=>""===e.value,v=(e,t)=>{let r=!0;const n=e.slice();let o=n.pop();for(;r&&n.length;)r=n.every((e=>o.intersects(e,t))),o=n.pop();return r},m=(e,t)=>(a("comp",e,t),e=I(e,t),a("caret",e),e=y(e,t),a("tildes",e),e=_(e,t),a("xrange",e),e=O(e,t),a("stars",e),e),E=e=>!e||"x"===e.toLowerCase()||"*"===e,y=(e,t)=>e.trim().split(/\s+/).map((e=>S(e,t))).join(" "),S=(e,t)=>{const r=t.loose?c[u.TILDELOOSE]:c[u.TILDE];return e.replace(r,((t,r,n,o,s)=>{let i;return a("tilde",e,t,r,n,o,s),E(r)?i="":E(n)?i=`>=${r}.0.0 <${+r+1}.0.0-0`:E(o)?i=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:s?(a("replaceTilde pr",s),i=`>=${r}.${n}.${o}-${s} <${r}.${+n+1}.0-0`):i=`>=${r}.${n}.${o} <${r}.${+n+1}.0-0`,a("tilde return",i),i}))},I=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{a("caret",e,t);const r=t.loose?c[u.CARETLOOSE]:c[u.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,o,s,i)=>{let l;return a("caret",e,t,r,o,s,i),E(r)?l="":E(o)?l=`>=${r}.0.0${n} <${+r+1}.0.0-0`:E(s)?l="0"===r?`>=${r}.${o}.0${n} <${r}.${+o+1}.0-0`:`>=${r}.${o}.0${n} <${+r+1}.0.0-0`:i?(a("replaceCaret pr",i),l="0"===r?"0"===o?`>=${r}.${o}.${s}-${i} <${r}.${o}.${+s+1}-0`:`>=${r}.${o}.${s}-${i} <${r}.${+o+1}.0-0`:`>=${r}.${o}.${s}-${i} <${+r+1}.0.0-0`):(a("no pr"),l="0"===r?"0"===o?`>=${r}.${o}.${s}${n} <${r}.${o}.${+s+1}-0`:`>=${r}.${o}.${s}${n} <${r}.${+o+1}.0-0`:`>=${r}.${o}.${s} <${+r+1}.0.0-0`),a("caret return",l),l}))},_=(e,t)=>(a("replaceXRanges",e,t),e.split(/\s+/).map((e=>R(e,t))).join(" ")),R=(e,t)=>{e=e.trim();const r=t.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return e.replace(r,((r,n,o,s,i,l)=>{a("xRange",e,r,n,o,s,i,l);const c=E(o),u=c||E(s),h=u||E(i),p=h;return"="===n&&p&&(n=""),l=t.includePrerelease?"-0":"",c?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&p?(u&&(s=0),i=0,">"===n?(n=">=",u?(o=+o+1,s=0,i=0):(s=+s+1,i=0)):"<="===n&&(n="<",u?o=+o+1:s=+s+1),"<"===n&&(l="-0"),r=`${n+o}.${s}.${i}${l}`):u?r=`>=${o}.0.0${l} <${+o+1}.0.0-0`:h&&(r=`>=${o}.${s}.0${l} <${o}.${+s+1}.0-0`),a("xRange return",r),r}))},O=(e,t)=>(a("replaceStars",e,t),e.trim().replace(c[u.STAR],"")),N=(e,t)=>(a("replaceGTE0",e,t),e.trim().replace(c[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),T=e=>(t,r,n,o,s,i,a,l,c,u,h,p,d)=>`${r=E(n)?"":E(o)?`>=${n}.0.0${e?"-0":""}`:E(s)?`>=${n}.${o}.0${e?"-0":""}`:i?`>=${r}`:`>=${r}${e?"-0":""}`} ${l=E(c)?"":E(u)?`<${+c+1}.0.0-0`:E(h)?`<${c}.${+u+1}.0-0`:p?`<=${c}.${u}.${h}-${p}`:e?`<${c}.${u}.${+h+1}-0`:`<=${l}`}`.trim(),x=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}},713:(e,t,r)=>{const n=r(7437),{MAX_LENGTH:o,MAX_SAFE_INTEGER:s}=r(514),{re:i,t:a}=r(4839),l=r(4276),{compareIdentifiers:c}=r(921);class u{constructor(e,t){if(t=l(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>o)throw new TypeError(`version is longer than ${o} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?i[a.LOOSE]:i[a.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}e.exports=u},3372:(e,t,r)=>{const n=r(3207);e.exports=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},9801:(e,t,r)=>{const n=r(7977),o=r(9090),s=r(8590),i=r(177),a=r(69),l=r(7690);e.exports=(e,t,r,c)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return n(e,r,c);case"!=":return o(e,r,c);case">":return s(e,r,c);case">=":return i(e,r,c);case"<":return a(e,r,c);case"<=":return l(e,r,c);default:throw new TypeError(`Invalid operator: ${t}`)}}},4797:(e,t,r)=>{const n=r(713),o=r(3207),{re:s,t:i}=r(4839);e.exports=(e,t)=>{if(e instanceof n)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=s[i.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),s[i.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;s[i.COERCERTL].lastIndex=-1}else r=e.match(s[i.COERCE]);return null===r?null:o(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)}},8354:(e,t,r)=>{const n=r(713);e.exports=(e,t,r)=>{const o=new n(e,r),s=new n(t,r);return o.compare(s)||o.compareBuild(s)}},8944:(e,t,r)=>{const n=r(4077);e.exports=(e,t)=>n(e,t,!0)},4077:(e,t,r)=>{const n=r(713);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},9700:(e,t,r)=>{const n=r(3207),o=r(7977);e.exports=(e,t)=>{if(o(e,t))return null;{const r=n(e),o=n(t),s=r.prerelease.length||o.prerelease.length,i=s?"pre":"",a=s?"prerelease":"";for(const e in r)if(("major"===e||"minor"===e||"patch"===e)&&r[e]!==o[e])return i+e;return a}}},7977:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>0===n(e,t,r)},8590:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>n(e,t,r)>0},177:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>n(e,t,r)>=0},8907:(e,t,r)=>{const n=r(713);e.exports=(e,t,r,o)=>{"string"==typeof r&&(o=r,r=void 0);try{return new n(e,r).inc(t,o).version}catch(e){return null}}},69:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>n(e,t,r)<0},7690:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>n(e,t,r)<=0},7317:(e,t,r)=>{const n=r(713);e.exports=(e,t)=>new n(e,t).major},2376:(e,t,r)=>{const n=r(713);e.exports=(e,t)=>new n(e,t).minor},9090:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>0!==n(e,t,r)},3207:(e,t,r)=>{const{MAX_LENGTH:n}=r(514),{re:o,t:s}=r(4839),i=r(713),a=r(4276);e.exports=(e,t)=>{if(t=a(t),e instanceof i)return e;if("string"!=typeof e)return null;if(e.length>n)return null;if(!(t.loose?o[s.LOOSE]:o[s.FULL]).test(e))return null;try{return new i(e,t)}catch(e){return null}}},7139:(e,t,r)=>{const n=r(713);e.exports=(e,t)=>new n(e,t).patch},3642:(e,t,r)=>{const n=r(3207);e.exports=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}},7800:(e,t,r)=>{const n=r(4077);e.exports=(e,t,r)=>n(t,e,r)},3131:(e,t,r)=>{const n=r(8354);e.exports=(e,t)=>e.sort(((e,r)=>n(r,e,t)))},3396:(e,t,r)=>{const n=r(5589);e.exports=(e,t,r)=>{try{t=new n(t,r)}catch(e){return!1}return t.test(e)}},9785:(e,t,r)=>{const n=r(8354);e.exports=(e,t)=>e.sort(((e,r)=>n(e,r,t)))},9390:(e,t,r)=>{const n=r(3207);e.exports=(e,t)=>{const r=n(e,t);return r?r.version:null}},9100:(e,t,r)=>{const n=r(4839);e.exports={re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:r(514).SEMVER_SPEC_VERSION,SemVer:r(713),compareIdentifiers:r(921).compareIdentifiers,rcompareIdentifiers:r(921).rcompareIdentifiers,parse:r(3207),valid:r(9390),clean:r(3372),inc:r(8907),diff:r(9700),major:r(7317),minor:r(2376),patch:r(7139),prerelease:r(3642),compare:r(4077),rcompare:r(7800),compareLoose:r(8944),compareBuild:r(8354),sort:r(9785),rsort:r(3131),gt:r(8590),lt:r(69),eq:r(7977),neq:r(9090),gte:r(177),lte:r(7690),cmp:r(9801),coerce:r(4797),Comparator:r(8721),Range:r(5589),satisfies:r(3396),toComparators:r(5471),maxSatisfying:r(3234),minSatisfying:r(856),minVersion:r(7787),validRange:r(409),outside:r(5256),gtr:r(688),ltr:r(577),intersects:r(909),simplifyRange:r(9009),subset:r(8376)}},514:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},7437:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},921:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),o=t.test(r);return n&&o&&(e=+e,r=+r),e===r?0:n&&!o?-1:o&&!n?1:er(t,e)}},4276:e=>{const t=["includePrerelease","loose","rtl"];e.exports=e=>e?"object"!=typeof e?{loose:!0}:t.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{}},4839:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n}=r(514),o=r(7437),s=(t=e.exports={}).re=[],i=t.src=[],a=t.t={};let l=0;const c=(e,t,r)=>{const n=l++;o(n,t),a[e]=n,i[n]=t,s[n]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${i[a.NUMERICIDENTIFIER]}|${i[a.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${i[a.NUMERICIDENTIFIERLOOSE]}|${i[a.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${i[a.PRERELEASEIDENTIFIER]}(?:\\.${i[a.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${i[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[a.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${i[a.BUILDIDENTIFIER]}(?:\\.${i[a.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${i[a.MAINVERSION]}${i[a.PRERELEASE]}?${i[a.BUILD]}?`),c("FULL",`^${i[a.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${i[a.MAINVERSIONLOOSE]}${i[a.PRERELEASELOOSE]}?${i[a.BUILD]}?`),c("LOOSE",`^${i[a.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${i[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${i[a.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:${i[a.PRERELEASE]})?${i[a.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:${i[a.PRERELEASELOOSE]})?${i[a.BUILD]}?)?)?`),c("XRANGE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),c("COERCERTL",i[a.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${i[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${i[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${i[a.LONECARET]}${i[a.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${i[a.LONECARET]}${i[a.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${i[a.GTLT]}\\s*(${i[a.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]}|${i[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${i[a.XRANGEPLAIN]})\\s+-\\s+(${i[a.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${i[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[a.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},688:(e,t,r)=>{const n=r(5256);e.exports=(e,t,r)=>n(e,t,">",r)},909:(e,t,r)=>{const n=r(5589);e.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t))},577:(e,t,r)=>{const n=r(5256);e.exports=(e,t,r)=>n(e,t,"<",r)},3234:(e,t,r)=>{const n=r(713),o=r(5589);e.exports=(e,t,r)=>{let s=null,i=null,a=null;try{a=new o(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(s&&-1!==i.compare(e)||(s=e,i=new n(s,r)))})),s}},856:(e,t,r)=>{const n=r(713),o=r(5589);e.exports=(e,t,r)=>{let s=null,i=null,a=null;try{a=new o(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(s&&1!==i.compare(e)||(s=e,i=new n(s,r)))})),s}},7787:(e,t,r)=>{const n=r(713),o=r(5589),s=r(8590);e.exports=(e,t)=>{e=new o(e,t);let r=new n("0.0.0");if(e.test(r))return r;if(r=new n("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new n(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":i&&!s(t,i)||(i=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!i||r&&!s(r,i)||(r=i)}return r&&e.test(r)?r:null}},5256:(e,t,r)=>{const n=r(713),o=r(8721),{ANY:s}=o,i=r(5589),a=r(3396),l=r(8590),c=r(69),u=r(7690),h=r(177);e.exports=(e,t,r,p)=>{let d,f,g,v,m;switch(e=new n(e,p),t=new i(t,p),r){case">":d=l,f=u,g=c,v=">",m=">=";break;case"<":d=c,f=h,g=l,v="<",m="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(a(e,t,p))return!1;for(let r=0;r{e.semver===s&&(e=new o(">=0.0.0")),i=i||e,a=a||e,d(e.semver,i.semver,p)?i=e:g(e.semver,a.semver,p)&&(a=e)})),i.operator===v||i.operator===m)return!1;if((!a.operator||a.operator===v)&&f(e,a.semver))return!1;if(a.operator===m&&g(e,a.semver))return!1}return!0}},9009:(e,t,r)=>{const n=r(3396),o=r(4077);e.exports=(e,t,r)=>{const s=[];let i=null,a=null;const l=e.sort(((e,t)=>o(e,t,r)));for(const e of l)n(e,t,r)?(a=e,i||(i=e)):(a&&s.push([i,a]),a=null,i=null);i&&s.push([i,null]);const c=[];for(const[e,t]of s)e===t?c.push(e):t||e!==l[0]?t?e===l[0]?c.push(`<=${t}`):c.push(`${e} - ${t}`):c.push(`>=${e}`):c.push("*");const u=c.join(" || "),h="string"==typeof t.raw?t.raw:String(t);return u.length{const n=r(5589),o=r(8721),{ANY:s}=o,i=r(3396),a=r(4077),l=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===s){if(1===t.length&&t[0].semver===s)return!0;e=r.includePrerelease?[new o(">=0.0.0-0")]:[new o(">=0.0.0")]}if(1===t.length&&t[0].semver===s){if(r.includePrerelease)return!0;t=[new o(">=0.0.0")]}const n=new Set;let l,h,p,d,f,g,v;for(const t of e)">"===t.operator||">="===t.operator?l=c(l,t,r):"<"===t.operator||"<="===t.operator?h=u(h,t,r):n.add(t.semver);if(n.size>1)return null;if(l&&h){if(p=a(l.semver,h.semver,r),p>0)return null;if(0===p&&(">="!==l.operator||"<="!==h.operator))return null}for(const e of n){if(l&&!i(e,String(l),r))return null;if(h&&!i(e,String(h),r))return null;for(const n of t)if(!i(e,String(n),r))return!1;return!0}let m=!(!h||r.includePrerelease||!h.semver.prerelease.length)&&h.semver,E=!(!l||r.includePrerelease||!l.semver.prerelease.length)&&l.semver;m&&1===m.prerelease.length&&"<"===h.operator&&0===m.prerelease[0]&&(m=!1);for(const e of t){if(v=v||">"===e.operator||">="===e.operator,g=g||"<"===e.operator||"<="===e.operator,l)if(E&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===E.major&&e.semver.minor===E.minor&&e.semver.patch===E.patch&&(E=!1),">"===e.operator||">="===e.operator){if(d=c(l,e,r),d===e&&d!==l)return!1}else if(">="===l.operator&&!i(l.semver,String(e),r))return!1;if(h)if(m&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===m.major&&e.semver.minor===m.minor&&e.semver.patch===m.patch&&(m=!1),"<"===e.operator||"<="===e.operator){if(f=u(h,e,r),f===e&&f!==h)return!1}else if("<="===h.operator&&!i(h.semver,String(e),r))return!1;if(!e.operator&&(h||l)&&0!==p)return!1}return!(l&&g&&!h&&0!==p||h&&v&&!l&&0!==p||E||m)},c=(e,t,r)=>{if(!e)return t;const n=a(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},u=(e,t,r)=>{if(!e)return t;const n=a(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let o=!1;e:for(const n of e.set){for(const e of t.set){const t=l(n,e,r);if(o=o||null!==t,t)continue e}if(o)return!1}return!0}},5471:(e,t,r)=>{const n=r(5589);e.exports=(e,t)=>new n(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},409:(e,t,r)=>{const n=r(5589);e.exports=(e,t)=>{try{return new n(e,t).range||"*"}catch(e){return null}}},6279:e=>{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},4393:(e,t,r)=>{"use strict";function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var r=0,o=arguments.length;r1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var o=0;null!==n;o++)r=e(r,n.value,o),n=n.next;return r},n.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var o=this.length-1;null!==n;o--)r=e(r,n.value,o),n=n.prev;return r},n.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},n.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},n.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new n;if(tthis.length&&(t=this.length);for(var o=0,s=this.head;null!==s&&othis.length&&(t=this.length);for(var o=this.length,s=this.tail;null!==s&&o>t;o--)s=s.prev;for(;null!==s&&o>e;o--,s=s.prev)r.push(s.value);return r},n.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,o=this.head;null!==o&&n{class t{constructor(e){this.value=e,this.next=void 0}}class r{constructor(){this.clear()}enqueue(e){const r=new t(e);this._head?(this._tail.next=r,this._tail=r):(this._head=r,this._tail=r),this._size++}dequeue(){const e=this._head;if(e)return this._head=this._head.next,this._size--,e.value}clear(){this._head=void 0,this._tail=void 0,this._size=0}get size(){return this._size}*[Symbol.iterator](){let e=this._head;for(;e;)yield e.value,e=e.next}}e.exports=r},3129:e=>{"use strict";e.exports=require("child_process")},5747:e=>{"use strict";e.exports=require("fs")},2087:e=>{"use strict";e.exports=require("os")},5622:e=>{"use strict";e.exports=require("path")},2392:e=>{"use strict";e.exports=require("prettier")},1669:e=>{"use strict";e.exports=require("util")},7549:e=>{"use strict";e.exports=require("vscode")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.activate=void 0;const t=r(7549),o=r(5415),s=r(9854),i=r(604),a=r(1923),l=r(2331),c=r(3938),u=r(9923),h=r(6906),p=r(550);e.activate=function(e){const r=new s.LoggingService;r.logInfo("Extension Name: esbenp.prettier-vscode."),r.logInfo("Extension Version: 8.0.1.");const{enable:n,enableDebugLogs:d}=u.getConfig();if(d&&r.setOutputLevel("DEBUG"),!n)return r.logInfo(h.EXTENSION_DISABLED),void e.subscriptions.push(t.workspace.onDidChangeConfiguration((e=>{e.affectsConfiguration("prettier.enable")&&r.logWarning(h.RESTART_TO_ENABLE)})));p.setGlobalState(e.globalState),p.setWorkspaceState(e.workspaceState);const f=new c.TemplateService(r),g=new i.ModuleResolver(r),v=new l.StatusBar,m=new a.default(g,r,v);m.registerGlobal();const E=o.createConfigFile(f),y=t.commands.registerCommand("prettier.createConfigFile",E),S=t.commands.registerCommand("prettier.openOutput",(()=>{r.show()})),I=t.commands.registerCommand("prettier.forceFormatDocument",m.forceFormatDocument);e.subscriptions.push(m,y,S,I,...m.registerDisposables())}})(),module.exports=n})(); +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/dist/extension.js.map b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/dist/extension.js.map new file mode 100644 index 00000000..e90b771d --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/dist/extension.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[".././src/Files.ts",".././src/LoggingService.ts",".././src/ModuleResolver.ts",".././src/PrettierEditProvider.ts",".././src/PrettierEditService.ts",".././src/StatusBar.ts",".././src/TemplateService.ts",".././src/commands.ts",".././src/languageFilters.ts",".././src/message.ts",".././src/stateUtils.ts",".././src/util.ts",".././node_modules/find-up/index.js",".././node_modules/function-bind/implementation.js",".././node_modules/function-bind/index.js",".././node_modules/has/src/index.js",".././node_modules/is-core-module/index.js",".././node_modules/locate-path/index.js",".././node_modules/lru-cache/index.js",".././node_modules/p-locate/index.js",".././node_modules/p-locate/node_modules/p-limit/index.js",".././node_modules/path-exists/index.js",".././node_modules/path-parse/index.js",".././node_modules/resolve/index.js",".././node_modules/resolve/lib/async.js",".././node_modules/resolve/lib/caller.js",".././node_modules/resolve/lib/core.js",".././node_modules/resolve/lib/is-core.js",".././node_modules/resolve/lib/node-modules-paths.js",".././node_modules/resolve/lib/normalize-options.js",".././node_modules/resolve/lib/sync.js",".././node_modules/semver/classes/comparator.js",".././node_modules/semver/classes/range.js",".././node_modules/semver/classes/semver.js",".././node_modules/semver/functions/clean.js",".././node_modules/semver/functions/cmp.js",".././node_modules/semver/functions/coerce.js",".././node_modules/semver/functions/compare-build.js",".././node_modules/semver/functions/compare-loose.js",".././node_modules/semver/functions/compare.js",".././node_modules/semver/functions/diff.js",".././node_modules/semver/functions/eq.js",".././node_modules/semver/functions/gt.js",".././node_modules/semver/functions/gte.js",".././node_modules/semver/functions/inc.js",".././node_modules/semver/functions/lt.js",".././node_modules/semver/functions/lte.js",".././node_modules/semver/functions/major.js",".././node_modules/semver/functions/minor.js",".././node_modules/semver/functions/neq.js",".././node_modules/semver/functions/parse.js",".././node_modules/semver/functions/patch.js",".././node_modules/semver/functions/prerelease.js",".././node_modules/semver/functions/rcompare.js",".././node_modules/semver/functions/rsort.js",".././node_modules/semver/functions/satisfies.js",".././node_modules/semver/functions/sort.js",".././node_modules/semver/functions/valid.js",".././node_modules/semver/index.js",".././node_modules/semver/internal/constants.js",".././node_modules/semver/internal/debug.js",".././node_modules/semver/internal/identifiers.js",".././node_modules/semver/internal/parse-options.js",".././node_modules/semver/internal/re.js",".././node_modules/semver/ranges/gtr.js",".././node_modules/semver/ranges/intersects.js",".././node_modules/semver/ranges/ltr.js",".././node_modules/semver/ranges/max-satisfying.js",".././node_modules/semver/ranges/min-satisfying.js",".././node_modules/semver/ranges/min-version.js",".././node_modules/semver/ranges/outside.js",".././node_modules/semver/ranges/simplify.js",".././node_modules/semver/ranges/subset.js",".././node_modules/semver/ranges/to-comparators.js",".././node_modules/semver/ranges/valid.js",".././node_modules/yallist/iterator.js",".././node_modules/yallist/yallist.js",".././node_modules/yocto-queue/index.js","../external \"child_process\"","../external \"fs\"","../external \"os\"","../external \"path\"","../external \"prettier\"","../external \"util\"","../external \"vscode\"","../webpack/bootstrap",".././src/extension.ts"],"names":["isWindows","process","platform","tracer","npmCommand","options","encoding","shell","handler","on","stdout","spawnSync","prefix","trim","length","path","join","err","removeListener","yarnCommand","results","stderr","lines","split","line","yarn","JSON","parse","type","data","e","outputChannel","window","createOutputChannel","logLevel","this","message","logMessage","logObject","error","appendLine","stack","show","prettier","format","stringify","parser","title","Date","toLocaleTimeString","globalPaths","npm","cache","undefined","get","resolveGlobalNodePath","pnpm","execSync","toString","resolveGlobalYarnPath","loggingService","path2Module","Map","fileName","workspace","isTrusted","logDebug","UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER","prettierPath","resolveGlobalModules","getConfig","Uri","file","modulePath","moduleInstance","getWorkspaceRelativePath","findPkg","moduleDirectory","resolveErrorMatches","exec","logInfo","logError","FAILED_TO_LOAD_MODULE_MESSAGE","resolvedGlobalPackageManagerPath","packageManager","pm","globalPathGet","commands","executeCommand","globalModulePath","fs","existsSync","loadNodeModule","set","isPrettierInstance","isValidVersion","version","getSupportInfo","getFileInfo","resolveConfig","semver","gte","INVALID_PRETTIER_PATH_MESSAGE","OUTDATED_PRETTIER_VERSION_MESSAGE","USING_BUNDLED_PRETTIER","clearConfigCache","forEach","module","clear","moduleName","r","dir","fsPath","pkgName","stateKey","packagePathState","getFromWorkspaceState","splitPath","finalPath","nodeModulesIndex","indexOf","slice","packageJsonResDir","findUp","sync","packageJson","readFileSync","dependencies","devDependencies","isInternalTestRoot","stop","cwd","packagePath","resolve","basedir","updateWorkspaceState","nodeModulesResDir","provideEdits","document","range","token","rangeEnd","offsetAt","end","rangeStart","start","force","PRETTIER_CONFIG_FILES","moduleResolver","statusBar","registeredWorkspaces","Set","allLanguages","allExtensions","allRangeLanguages","forceFormatDocument","editor","activeTextEditor","edits","edit","editBuilder","replace","newText","prettierConfigChanged","uri","resetFormatters","workspaceFolder","getWorkspaceFolder","delete","update","FormatterStatus","Ready","handleActiveTextEditorChanged","textEditor","hide","scheme","prettierInstance","getPrettierInstance","isRegistered","has","Error","selectors","getSelectors","registerDocumentFormatEditorProviders","add","languages","match","languageSelector","Disabled","dispose","formatterHandler","rangeFormatterHandler","lang","vscodeLanguageIds","push","filter","value","index","self","extensions","documentSelectors","extensionLanguageSelector","pattern","map","substring","language","rangeLanguageSelector","hrStart","hrtime","result","getText","hrEnd","TextEdit","fullDocumentRange","packageWatcher","createFileSystemWatcher","onDidChange","onDidCreate","onDidDelete","configurationWatcher","onDidChangeConfiguration","event","affectsConfiguration","logWarning","RESTART_TO_ENABLE","prettierConfigWatcher","textEditorChange","onDidChangeActiveTextEditor","editProvider","PrettierEditProvider","registerDocumentRangeFormattingEditProvider","registerDocumentFormattingEditProvider","text","languageId","isUntitled","vscodeConfig","configPath","resolveConfigFile","resolveConfigOptions","config","editorconfig","useEditorConfig","resolvedConfig","resolvedIgnorePath","INVALID_PRETTIER_CONFIG","requireConfig","ignorePath","fileInfo","withNodeModules","ignored","Ignore","inferredParser","getParserFromLanguageId","prettierOptions","getPrettierOptions","formattedText","Success","vsCodeConfig","configOptions","extentionFormattingOptions","fallbackToVSCodeConfig","vsOpts","rangeFormattingOptions","arrowParens","bracketSpacing","endOfLine","htmlWhitespaceSensitivity","insertPragma","jsxBracketSameLine","jsxSingleQuote","printWidth","proseWrap","quoteProps","requirePragma","semi","singleQuote","tabWidth","trailingComma","useTabs","vueIndentScriptAndStyle","filepath","lastLineId","lineCount","Range","lineAt","statusBarItem","createStatusBarItem","StatusBarAlignment","Right","name","command","writeFileAsync","promisify","writeFile","folderPath","settings","outputPath","formatterOptions","templateSource","createConfigFile","templateService","folderResult","showOpenDialog","canSelectFiles","canSelectFolders","canSelectMany","folderUri","writeConfigFile","includes","find","Array","isArray","parsers","fileNames","filenames","VIEW_LOGS_ACTION_TEXT","UNABLE_TO_LOAD_PRETTIER","EXTENSION_DISABLED","globalState","workspaceState","key","defaultValue","state","filePath","pathToResolve","os","homedir","workspaceFolders","folder","isAbsolute","getConfiguration","locatePath","pathExists","Symbol","exports","async","directory","root","paths","concat","runMatcher","locateOptions","foundPath","dirname","exists","ERROR_MESSAGE","prototype","toStr","Object","funcType","that","target","call","TypeError","bound","args","arguments","binder","apply","boundLength","Math","max","boundArgs","i","Function","Empty","implementation","bind","hasOwnProperty","specifierIncluded","current","specifier","nodeParts","parts","op","versionParts","cur","parseInt","ver","matchesRange","specifiers","x","nodeVersion","specifierValue","versions","node","versionIncluded","pLocate","fsStat","stat","fsLStat","lstat","typeMappings","checkType","matchType","allowSymlinks","statFn","path_","statSync","lstatSync","Yallist","MAX","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","doUse","hit","isStale","del","now","unshiftNode","maxAge","diff","walker","tail","prev","removeNode","Entry","forEachStep","fn","thisp","Infinity","lc","stale","noDisposeOnSet","updateAgeOnGet","reset","mL","allowStale","mA","lC","head","next","toArray","k","v","h","len","item","unshift","arr","l","expiresAt","pLimit","EndError","super","testElement","element","tester","finder","values","Promise","all","iterable","concurrency","preserveOrder","limit","items","checkLimit","Queue","Number","isInteger","queue","activeCount","run","size","dequeue","generator","enqueue","defineProperties","pendingCount","clearQueue","pAccess","access","_","accessSync","splitWindowsRe","win32","pathString","filename","allParts","base","ext","splitPathRe","posix","core","isCore","caller","nodeModulesPaths","normalizeOptions","realpathFS","realpath","native","defaultIsFile","cb","code","isFile","isFIFO","defaultIsDir","isDirectory","defaultRealpath","realpathErr","realPath","maybeRealpath","opts","preserveSymlinks","defaultReadPackage","readFile","pkgfile","readFileErr","body","pkg","jsonErr","callback","nextTick","readPackage","conflictErr","packageIterator","includeCoreModules","parent","res","absoluteStart","onfile","m","loadAsDirectory","d","realD","moduleError","loadAsFile","thePackage","loadAsFilePackage","load","exts","loadPackage","onpkg","pkg_","pathFilter","rfile","relative","rel","onex","ex","loadpkg","test","unwrapErr","pkgdir","pkgParam","packageFilter","loadAsDirectoryPackage","fpkg","package","main","mainError","n","processDirs","dirs","ondir","isdir","realStart","thunk","getPackageCandidates","loadNodeModules","realN","init","origPrepareStackTrace","prepareStackTrace","getFileName","mod","isCoreModule","getNodeModulesDirs","modules","parsed","reduce","aPath","moduleDir","request","realpathSync","defaultRealpathSync","maybeRealpathSync","defaultReadPackageSync","readPackageSync","loadAsFileSync","loadAsDirectorySync","loadNodeModulesSync","ANY","Comparator","comp","parseOptions","loose","debug","operator","re","t","COMPARATORLOOSE","COMPARATOR","SemVer","er","cmp","includePrerelease","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","raw","parseRange","c","first","isNullSet","isAny","comps","memoKey","keys","cached","hr","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","compRe","rangeList","parseComparator","replaceGTE0","rangeMap","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","intersects","testSet","comparators","remainingComparators","testComparator","pop","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","id","toLowerCase","replaceTilde","TILDELOOSE","TILDE","M","p","pr","ret","replaceCaret","CARETLOOSE","CARET","z","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","prerelease","allowed","major","minor","patch","MAX_LENGTH","MAX_SAFE_INTEGER","compareIdentifiers","LOOSE","FULL","num","build","other","compareMain","comparePre","a","b","release","identifier","inc","isNaN","s","eq","neq","gt","lt","lte","String","rtl","COERCERTL","lastIndex","COERCE","versionA","versionB","compare","compareBuild","version1","version2","v1","v2","hasPre","defaultResult","list","sort","internalRe","src","tokens","SEMVER_SPEC_VERSION","rcompareIdentifiers","valid","clean","rcompare","compareLoose","rsort","coerce","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","outside","gtr","ltr","simplifyRange","subset","MAX_SAFE_COMPONENT_LENGTH","env","NODE_DEBUG","console","numeric","anum","bnum","R","createToken","isGlobal","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","LONETILDE","LONECARET","r1","r2","maxSV","rangeObj","min","minSV","minver","setMin","comparator","compver","hilo","gtfn","ltefn","ltfn","ecomp","high","low","ranges","simplified","original","simpleSubset","sub","dom","eqSet","gtltComp","higher","lower","hasDomLT","hasDomGT","higherGT","lowerLT","needDomLTPre","needDomGTPre","sawNonNull","OUTER","simpleSub","simpleDom","isSub","iterator","Node","create","pushNode","shift","forEachReverse","getReverse","mapReverse","initial","acc","reduceReverse","toArrayReverse","sliceReverse","splice","deleteCount","nodes","inserted","reverse","_head","_tail","_size","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","context","LoggingService","enable","enableDebugLogs","setOutputLevel","subscriptions","setGlobalState","setWorkspaceState","TemplateService","ModuleResolver","StatusBar","editService","registerGlobal","createConfigFileFunc","createConfigFileCommand","registerCommand","openOutputCommand","forceFormatDocumentCommand","registerDisposables"],"mappings":"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","file":"extension.js","sourcesContent":["/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * COPIED FROM: https://github.com/microsoft/vscode-languageserver-node/blob/master/server/src/files.ts\n * ------------------------------------------------------------------------------------------ */\n\nimport { spawnSync, SpawnSyncOptionsWithStringEncoding } from \"child_process\";\nimport * as path from \"path\";\n\nfunction isWindows(): boolean {\n return process.platform === \"win32\";\n}\n\n/**\n * Resolve the global npm package path.\n * @deprecated Since this depends on the used package manager and their version the best is that servers\n * implement this themselves since they know best what kind of package managers to support.\n * @param tracer the tracer to use\n */\nexport function resolveGlobalNodePath(\n tracer?: (message: string) => void\n): string | undefined {\n let npmCommand = \"npm\";\n const options: SpawnSyncOptionsWithStringEncoding = {\n encoding: \"utf8\",\n };\n if (isWindows()) {\n npmCommand = \"npm.cmd\";\n options.shell = true;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n const handler = () => {};\n try {\n process.on(\"SIGPIPE\", handler);\n const stdout = spawnSync(\n npmCommand,\n [\"config\", \"get\", \"prefix\"],\n options\n ).stdout;\n\n if (!stdout) {\n if (tracer) {\n tracer(`'npm config get prefix' didn't return a value.`);\n }\n return undefined;\n }\n const prefix = stdout.trim();\n if (tracer) {\n tracer(`'npm config get prefix' value is: ${prefix}`);\n }\n\n if (prefix.length > 0) {\n if (isWindows()) {\n return path.join(prefix, \"node_modules\");\n } else {\n return path.join(prefix, \"lib\", \"node_modules\");\n }\n }\n return undefined;\n } catch (err) {\n return undefined;\n } finally {\n process.removeListener(\"SIGPIPE\", handler);\n }\n}\n\ninterface YarnJsonFormat {\n type: string;\n data: string;\n}\n\n/*\n * Resolve the global yarn package path.\n * @deprecated Since this depends on the used package manager and their version the best is that servers\n * implement this themselves since they know best what kind of package managers to support.\n * @param tracer the tracer to use\n */\nexport function resolveGlobalYarnPath(\n tracer?: (message: string) => void\n): string | undefined {\n let yarnCommand = \"yarn\";\n const options: SpawnSyncOptionsWithStringEncoding = {\n encoding: \"utf8\",\n };\n\n if (isWindows()) {\n yarnCommand = \"yarn.cmd\";\n options.shell = true;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n const handler = () => {};\n try {\n process.on(\"SIGPIPE\", handler);\n const results = spawnSync(\n yarnCommand,\n [\"global\", \"dir\", \"--json\"],\n options\n );\n\n const stdout = results.stdout;\n if (!stdout) {\n if (tracer) {\n tracer(`'yarn global dir' didn't return a value.`);\n if (results.stderr) {\n tracer(results.stderr);\n }\n }\n return undefined;\n }\n const lines = stdout.trim().split(/\\r?\\n/);\n for (const line of lines) {\n try {\n const yarn: YarnJsonFormat = JSON.parse(line);\n if (yarn.type === \"log\") {\n return path.join(yarn.data, \"node_modules\");\n }\n } catch (e) {\n // Do nothing. Ignore the line\n }\n }\n return undefined;\n } catch (err) {\n return undefined;\n } finally {\n process.removeListener(\"SIGPIPE\", handler);\n }\n}\n","import * as prettier from \"prettier\";\nimport { window } from \"vscode\";\n\ntype LogLevel = \"DEBUG\" | \"INFO\" | \"WARN\" | \"ERROR\" | \"NONE\";\n\nexport class LoggingService {\n private outputChannel = window.createOutputChannel(\"Prettier\");\n\n private logLevel: LogLevel = \"INFO\";\n\n public setOutputLevel(logLevel: LogLevel) {\n this.logLevel = logLevel;\n }\n\n /**\n * Append messages to the output channel and format it with a title\n *\n * @param message The message to append to the output channel\n */\n public logDebug(message: string, data?: unknown): void {\n if (\n this.logLevel === \"NONE\" ||\n this.logLevel === \"INFO\" ||\n this.logLevel === \"WARN\" ||\n this.logLevel === \"ERROR\"\n ) {\n return;\n }\n this.logMessage(message, \"DEBUG\");\n if (data) {\n this.logObject(data);\n }\n }\n\n /**\n * Append messages to the output channel and format it with a title\n *\n * @param message The message to append to the output channel\n */\n public logInfo(message: string, data?: unknown): void {\n if (\n this.logLevel === \"NONE\" ||\n this.logLevel === \"WARN\" ||\n this.logLevel === \"ERROR\"\n ) {\n return;\n }\n this.logMessage(message, \"INFO\");\n if (data) {\n this.logObject(data);\n }\n }\n\n /**\n * Append messages to the output channel and format it with a title\n *\n * @param message The message to append to the output channel\n */\n public logWarning(message: string, data?: unknown): void {\n if (this.logLevel === \"NONE\" || this.logLevel === \"ERROR\") {\n return;\n }\n this.logMessage(message, \"WARN\");\n if (data) {\n this.logObject(data);\n }\n }\n\n public logError(message: string, error?: Error | string) {\n if (this.logLevel === \"NONE\") {\n return;\n }\n this.logMessage(message, \"ERROR\");\n if (typeof error === \"string\") {\n // Errors as a string usually only happen with\n // plugins that don't return the expected error.\n this.outputChannel.appendLine(error);\n } else if (error?.message || error?.stack) {\n if (error?.message) {\n this.logMessage(error.message, \"ERROR\");\n }\n if (error?.stack) {\n this.outputChannel.appendLine(error.stack);\n }\n } else if (error) {\n this.logObject(error);\n }\n }\n\n public show() {\n this.outputChannel.show();\n }\n\n private logObject(data: unknown): void {\n const message = prettier\n .format(JSON.stringify(data, null, 2), {\n parser: \"json\",\n })\n .trim();\n this.outputChannel.appendLine(message);\n }\n\n /**\n * Append messages to the output channel and format it with a title\n *\n * @param message The message to append to the output channel\n */\n private logMessage(message: string, logLevel: LogLevel): void {\n const title = new Date().toLocaleTimeString();\n this.outputChannel.appendLine(`[\"${logLevel}\" - ${title}] ${message}`);\n }\n}\n","import { execSync } from \"child_process\";\nimport * as findUp from \"find-up\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as prettier from \"prettier\";\nimport * as resolve from \"resolve\";\nimport * as semver from \"semver\";\nimport { commands, Disposable, Uri, workspace } from \"vscode\";\nimport { resolveGlobalNodePath, resolveGlobalYarnPath } from \"./Files\";\nimport { LoggingService } from \"./LoggingService\";\nimport {\n FAILED_TO_LOAD_MODULE_MESSAGE,\n INVALID_PRETTIER_PATH_MESSAGE,\n OUTDATED_PRETTIER_VERSION_MESSAGE,\n UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER,\n USING_BUNDLED_PRETTIER,\n} from \"./message\";\nimport { getFromWorkspaceState, updateWorkspaceState } from \"./stateUtils\";\nimport { PackageManagers, PrettierModule } from \"./types\";\nimport { getConfig, getWorkspaceRelativePath } from \"./util\";\n\nconst minPrettierVersion = \"1.13.0\";\ndeclare const __webpack_require__: typeof require;\ndeclare const __non_webpack_require__: typeof require;\n\nconst globalPaths: {\n [key: string]: { cache: string | undefined; get(): string | undefined };\n} = {\n npm: {\n cache: undefined,\n get(): string | undefined {\n return resolveGlobalNodePath();\n },\n },\n pnpm: {\n cache: undefined,\n get(): string {\n const pnpmPath = execSync(\"pnpm root -g\").toString().trim();\n return pnpmPath;\n },\n },\n yarn: {\n cache: undefined,\n get(): string | undefined {\n return resolveGlobalYarnPath();\n },\n },\n};\n\nfunction globalPathGet(packageManager: PackageManagers): string | undefined {\n const pm = globalPaths[packageManager];\n if (pm) {\n if (pm.cache === undefined) {\n pm.cache = pm.get();\n }\n return pm.cache;\n }\n return undefined;\n}\n\nexport class ModuleResolver implements Disposable {\n private path2Module = new Map();\n\n constructor(private loggingService: LoggingService) {}\n\n /**\n * Returns an instance of the prettier module.\n * @param fileName The path of the file to use as the starting point. If none provided, the bundled prettier will be used.\n */\n public async getPrettierInstance(\n fileName: string\n ): Promise {\n if (!workspace.isTrusted) {\n this.loggingService.logDebug(UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER);\n return prettier;\n }\n\n const { prettierPath, resolveGlobalModules } = getConfig(\n Uri.file(fileName)\n );\n\n // Look for local module\n let modulePath: string | undefined = undefined;\n\n try {\n modulePath = prettierPath\n ? getWorkspaceRelativePath(fileName, prettierPath)\n : this.findPkg(fileName, \"prettier\");\n } catch (error) {\n let moduleDirectory = \"\";\n if (!modulePath) {\n // If findPkg threw an error from `resolve.sync`, attempt to parse the\n // directory it failed on to provide a better error message\n const resolveSyncPathRegex = /Cannot find module '.*' from '(.*)'/;\n const resolveErrorMatches = resolveSyncPathRegex.exec(error.message);\n if (resolveErrorMatches && resolveErrorMatches[1]) {\n moduleDirectory = resolveErrorMatches[1];\n }\n }\n\n this.loggingService.logInfo(\n `Attempted to load Prettier module from ${\n modulePath || moduleDirectory || \"package.json\"\n }`\n );\n this.loggingService.logError(FAILED_TO_LOAD_MODULE_MESSAGE, error);\n\n // Return here because there is a local module, but we can't resolve it.\n // Must do NPM install for prettier to work.\n return undefined;\n }\n\n // If global modules allowed, look for global module\n if (resolveGlobalModules && !modulePath) {\n const packageManager = (await commands.executeCommand<\n \"npm\" | \"pnpm\" | \"yarn\"\n >(\"npm.packageManager\"))!;\n const resolvedGlobalPackageManagerPath = globalPathGet(packageManager);\n if (resolvedGlobalPackageManagerPath) {\n const globalModulePath = path.join(\n resolvedGlobalPackageManagerPath,\n \"prettier\"\n );\n if (fs.existsSync(globalModulePath)) {\n modulePath = globalModulePath;\n }\n }\n }\n\n let moduleInstance: PrettierModule | undefined = undefined;\n if (modulePath !== undefined) {\n // First check module cache\n moduleInstance = this.path2Module.get(modulePath);\n if (moduleInstance) {\n return moduleInstance;\n } else {\n try {\n moduleInstance = this.loadNodeModule(modulePath);\n if (moduleInstance) {\n this.path2Module.set(modulePath, moduleInstance);\n }\n } catch (error) {\n this.loggingService.logInfo(\n `Attempted to load Prettier module from ${\n modulePath || \"package.json\"\n }`\n );\n this.loggingService.logError(FAILED_TO_LOAD_MODULE_MESSAGE, error);\n\n // Returning here because module didn't load.\n return undefined;\n }\n }\n }\n\n if (moduleInstance) {\n // If the instance is missing `format`, it's probably\n // not an instance of Prettier\n const isPrettierInstance = !!moduleInstance.format;\n const isValidVersion =\n moduleInstance.version &&\n !!moduleInstance.getSupportInfo &&\n !!moduleInstance.getFileInfo &&\n !!moduleInstance.resolveConfig &&\n semver.gte(moduleInstance.version, minPrettierVersion);\n\n if (!isPrettierInstance && prettierPath) {\n this.loggingService.logError(INVALID_PRETTIER_PATH_MESSAGE);\n return undefined;\n }\n\n if (!isValidVersion) {\n this.loggingService.logInfo(\n `Attempted to load Prettier module from ${modulePath}`\n );\n this.loggingService.logError(OUTDATED_PRETTIER_VERSION_MESSAGE);\n return undefined;\n }\n return moduleInstance;\n } else {\n this.loggingService.logDebug(USING_BUNDLED_PRETTIER);\n return prettier;\n }\n }\n\n /**\n * Clears the module and config cache\n */\n public async dispose() {\n prettier.clearConfigCache();\n this.path2Module.forEach((module) => {\n try {\n module.clearConfigCache();\n } catch (error) {\n this.loggingService.logError(\"Error clearing module cache.\", error);\n }\n });\n this.path2Module.clear();\n }\n\n // Source: https://github.com/microsoft/vscode-eslint/blob/master/server/src/eslintServer.ts\n private loadNodeModule(moduleName: string): T | undefined {\n const r =\n typeof __webpack_require__ === \"function\"\n ? __non_webpack_require__\n : require;\n try {\n return r(moduleName);\n } catch (error) {\n this.loggingService.logError(\n `Error loading node module '${moduleName}'`,\n error\n );\n }\n return undefined;\n }\n\n private isInternalTestRoot(dir: string): boolean {\n if (process.env.NODE_ENV !== \"production\") {\n // This is for testing purposes only. This code is removed in the\n // shipped version of this extension so do not use this in your\n // project. It won't work.\n return fs.existsSync(path.join(dir, \".do-not-use-prettier-vscode-root\"));\n } else {\n return false;\n }\n }\n\n /**\n * Recursively search upwards for a given module definition based on\n * package.json or node_modules existence\n * @param {string} fsPath file system path to start searching from\n * @param {string} pkgName package's name to search for\n * @returns {string} resolved path to module\n */\n private findPkg(fsPath: string, pkgName: string): string | undefined {\n const stateKey = `module-path:${fsPath}:${pkgName}`;\n const packagePathState = getFromWorkspaceState(stateKey, false);\n if (packagePathState) {\n return packagePathState;\n }\n\n // Only look for a module definition outside of any `node_modules` directories\n const splitPath = fsPath.split(\"/\");\n let finalPath = fsPath;\n const nodeModulesIndex = splitPath.indexOf(\"node_modules\");\n\n if (nodeModulesIndex > 1) {\n finalPath = splitPath.slice(0, nodeModulesIndex).join(\"/\");\n }\n\n // First look for an explicit package.json dep\n const packageJsonResDir = findUp.sync(\n (dir) => {\n if (fs.existsSync(path.join(dir, \"package.json\"))) {\n let packageJson;\n try {\n packageJson = JSON.parse(\n fs.readFileSync(path.join(dir, \"package.json\"), \"utf8\")\n );\n } catch (e) {\n // Swallow, if we can't read it we don't want to resolve based on it\n }\n\n if (\n packageJson &&\n ((packageJson.dependencies && packageJson.dependencies[pkgName]) ||\n (packageJson.devDependencies &&\n packageJson.devDependencies[pkgName]))\n ) {\n return dir;\n }\n }\n\n if (this.isInternalTestRoot(dir)) {\n return findUp.stop;\n }\n },\n { cwd: finalPath, type: \"directory\" }\n );\n\n if (packageJsonResDir) {\n const packagePath = resolve.sync(pkgName, { basedir: packageJsonResDir });\n updateWorkspaceState(stateKey, packagePath);\n return packagePath;\n }\n\n // If no explicit package.json dep found, instead look for implicit dep\n const nodeModulesResDir = findUp.sync(\n (dir) => {\n if (fs.existsSync(path.join(dir, \"node_modules\", pkgName))) {\n return dir;\n }\n\n if (this.isInternalTestRoot(dir)) {\n return findUp.stop;\n }\n },\n { cwd: finalPath, type: \"directory\" }\n );\n\n if (nodeModulesResDir) {\n const packagePath = resolve.sync(pkgName, { basedir: nodeModulesResDir });\n updateWorkspaceState(stateKey, packagePath);\n return packagePath;\n }\n\n return;\n }\n}\n","import {\n CancellationToken,\n DocumentFormattingEditProvider,\n DocumentRangeFormattingEditProvider,\n FormattingOptions,\n Range,\n TextDocument,\n TextEdit,\n} from \"vscode\";\nimport { ExtensionFormattingOptions } from \"./types\";\n\nexport class PrettierEditProvider\n implements\n DocumentRangeFormattingEditProvider,\n DocumentFormattingEditProvider\n{\n constructor(\n private provideEdits: (\n document: TextDocument,\n options: ExtensionFormattingOptions\n ) => Promise\n ) {}\n\n public async provideDocumentRangeFormattingEdits(\n document: TextDocument,\n range: Range,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n options: FormattingOptions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n token: CancellationToken\n ): Promise {\n return this.provideEdits(document, {\n rangeEnd: document.offsetAt(range.end),\n rangeStart: document.offsetAt(range.start),\n force: false,\n });\n }\n\n public async provideDocumentFormattingEdits(\n document: TextDocument,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n options: FormattingOptions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n token: CancellationToken\n ): Promise {\n return this.provideEdits(document, {\n force: false,\n });\n }\n}\n","import * as prettier from \"prettier\";\nimport {\n Disposable,\n DocumentFilter,\n languages,\n Range,\n TextDocument,\n TextEdit,\n TextEditor,\n Uri,\n window,\n workspace,\n} from \"vscode\";\nimport { getParserFromLanguageId } from \"./languageFilters\";\nimport { LoggingService } from \"./LoggingService\";\nimport { INVALID_PRETTIER_CONFIG, RESTART_TO_ENABLE } from \"./message\";\nimport { ModuleResolver } from \"./ModuleResolver\";\nimport { PrettierEditProvider } from \"./PrettierEditProvider\";\nimport { FormatterStatus, StatusBar } from \"./StatusBar\";\nimport {\n ExtensionFormattingOptions,\n PrettierModule,\n RangeFormattingOptions,\n} from \"./types\";\nimport { getConfig, getWorkspaceRelativePath } from \"./util\";\n\ninterface ISelectors {\n rangeLanguageSelector: ReadonlyArray;\n languageSelector: ReadonlyArray;\n}\n\n/**\n * Prettier reads configuration from files\n */\nconst PRETTIER_CONFIG_FILES = [\n \".prettierrc\",\n \".prettierrc.json\",\n \".prettierrc.json5\",\n \".prettierrc.yaml\",\n \".prettierrc.yml\",\n \".prettierrc.toml\",\n \".prettierrc.js\",\n \".prettierrc.cjs\",\n \"package.json\",\n \"prettier.config.js\",\n \"prettier.config.cjs\",\n \".editorconfig\",\n];\n\nexport default class PrettierEditService implements Disposable {\n private formatterHandler: undefined | Disposable;\n private rangeFormatterHandler: undefined | Disposable;\n private registeredWorkspaces = new Set();\n\n private allLanguages: string[] = [];\n private allExtensions: string[] = [];\n private allRangeLanguages: string[] = [\n \"javascript\",\n \"javascriptreact\",\n \"typescript\",\n \"typescriptreact\",\n \"json\",\n \"graphql\",\n ];\n\n constructor(\n private moduleResolver: ModuleResolver,\n private loggingService: LoggingService,\n private statusBar: StatusBar\n ) {}\n\n public registerDisposables(): Disposable[] {\n const packageWatcher = workspace.createFileSystemWatcher(\"**/package.json\");\n packageWatcher.onDidChange(this.resetFormatters);\n packageWatcher.onDidCreate(this.resetFormatters);\n packageWatcher.onDidDelete(this.resetFormatters);\n\n const configurationWatcher = workspace.onDidChangeConfiguration((event) => {\n if (event.affectsConfiguration(\"prettier.enable\")) {\n this.loggingService.logWarning(RESTART_TO_ENABLE);\n } else if (event.affectsConfiguration(\"prettier\")) {\n this.resetFormatters();\n }\n });\n\n const prettierConfigWatcher = workspace.createFileSystemWatcher(\n `**/{${PRETTIER_CONFIG_FILES.join(\",\")}}`\n );\n prettierConfigWatcher.onDidChange(this.prettierConfigChanged);\n prettierConfigWatcher.onDidCreate(this.prettierConfigChanged);\n prettierConfigWatcher.onDidDelete(this.prettierConfigChanged);\n\n const textEditorChange = window.onDidChangeActiveTextEditor(\n this.handleActiveTextEditorChanged\n );\n\n this.handleActiveTextEditorChanged(window.activeTextEditor);\n\n return [\n packageWatcher,\n configurationWatcher,\n prettierConfigWatcher,\n textEditorChange,\n ];\n }\n\n public forceFormatDocument = async () => {\n const editor = window.activeTextEditor;\n if (!editor) {\n this.loggingService.logInfo(\"No active document. Nothing was formatted.\");\n return;\n }\n\n this.loggingService.logInfo(\"Forced formatting will not use ignore files.\");\n\n const edits = await this.provideEdits(editor.document, { force: true });\n if (edits.length !== 1) {\n return;\n }\n\n await editor.edit((editBuilder) => {\n editBuilder.replace(edits[0].range, edits[0].newText);\n });\n };\n\n private prettierConfigChanged = async (uri: Uri) => this.resetFormatters(uri);\n\n private resetFormatters = async (uri?: Uri) => {\n if (uri) {\n const workspaceFolder = workspace.getWorkspaceFolder(uri);\n this.registeredWorkspaces.delete(workspaceFolder?.uri.fsPath ?? \"global\");\n } else {\n // VS Code config change, reset everything\n this.registeredWorkspaces.clear();\n }\n this.statusBar.update(FormatterStatus.Ready);\n };\n\n private handleActiveTextEditorChanged = async (\n textEditor: TextEditor | undefined\n ) => {\n if (!textEditor) {\n this.statusBar.hide();\n return;\n }\n const { document } = textEditor;\n\n if (document.uri.scheme === \"untitled\") {\n // We set as ready for untitled documents,\n // but return because these will always\n // use the global registered formatter.\n this.statusBar.update(FormatterStatus.Ready);\n return;\n } else if (document.uri.scheme !== \"file\") {\n this.statusBar.hide();\n return;\n }\n const workspaceFolder = workspace.getWorkspaceFolder(document.uri);\n\n if (!workspaceFolder) {\n // Do nothing, this is only for registering formatters in workspace folder.\n return;\n }\n\n const prettierInstance = await this.moduleResolver.getPrettierInstance(\n workspaceFolder.uri.fsPath\n );\n\n const isRegistered = this.registeredWorkspaces.has(\n workspaceFolder.uri.fsPath\n );\n\n // If there isn't an instance here, it is because the module\n // could not be loaded either locally or globably when specified\n if (!prettierInstance) {\n this.statusBar.update(FormatterStatus.Error);\n return;\n }\n\n const selectors = await this.getSelectors(\n prettierInstance,\n workspaceFolder.uri\n );\n\n if (!isRegistered) {\n this.registerDocumentFormatEditorProviders(selectors);\n this.registeredWorkspaces.add(workspaceFolder.uri.fsPath);\n this.loggingService.logDebug(\n `Enabling Prettier for Workspace ${workspaceFolder.uri.fsPath}`,\n selectors\n );\n }\n\n const score = languages.match(selectors.languageSelector, document);\n if (score > 0) {\n this.statusBar.update(FormatterStatus.Ready);\n } else {\n this.statusBar.update(FormatterStatus.Disabled);\n }\n };\n\n public async registerGlobal() {\n const selectors = await this.getSelectors(prettier);\n this.registerDocumentFormatEditorProviders(selectors);\n this.loggingService.logDebug(\"Enabling Prettier globally\", selectors);\n }\n\n public dispose = () => {\n this.moduleResolver.dispose();\n this.formatterHandler?.dispose();\n this.rangeFormatterHandler?.dispose();\n this.formatterHandler = undefined;\n this.rangeFormatterHandler = undefined;\n };\n\n private registerDocumentFormatEditorProviders({\n languageSelector,\n rangeLanguageSelector,\n }: ISelectors) {\n this.dispose();\n const editProvider = new PrettierEditProvider(this.provideEdits);\n this.rangeFormatterHandler =\n languages.registerDocumentRangeFormattingEditProvider(\n rangeLanguageSelector,\n editProvider\n );\n this.formatterHandler = languages.registerDocumentFormattingEditProvider(\n languageSelector,\n editProvider\n );\n }\n\n /**\n * Build formatter selectors\n */\n private getSelectors = async (\n prettierInstance: PrettierModule,\n uri?: Uri\n ): Promise => {\n const { languages } = prettierInstance.getSupportInfo();\n\n languages.forEach((lang) => {\n if (lang && lang.vscodeLanguageIds) {\n this.allLanguages.push(...lang.vscodeLanguageIds);\n }\n });\n this.allLanguages = this.allLanguages.filter((value, index, self) => {\n return self.indexOf(value) === index;\n });\n\n languages.forEach((lang) => {\n if (lang && lang.extensions) {\n this.allExtensions.push(...lang.extensions);\n }\n });\n this.allExtensions = this.allExtensions.filter((value, index, self) => {\n return self.indexOf(value) === index;\n });\n\n const { documentSelectors } = getConfig();\n\n // Language selector for file extensions\n const extensionLanguageSelector: DocumentFilter[] = uri\n ? this.allExtensions.length === 0\n ? []\n : [\n {\n pattern: `${uri.fsPath}/**/*.{${this.allExtensions\n .map((e) => e.substring(1))\n .join(\",\")}}`,\n scheme: \"file\",\n },\n ]\n : [];\n\n const customLanguageSelectors: DocumentFilter[] = uri\n ? documentSelectors.map((pattern) => ({\n pattern: `${uri.fsPath}/${pattern}`,\n scheme: \"file\",\n }))\n : [];\n\n const defaultLanguageSelectors: DocumentFilter[] = [\n ...this.allLanguages.map((language) => ({ language, scheme: \"file\" })),\n ...this.allLanguages.map((language) => ({\n language,\n scheme: \"untitled\",\n })),\n { language: \"jsonc\", scheme: \"vscode-userdata\" }, // Selector for VSCode settings.json\n ];\n\n const languageSelector = [\n ...customLanguageSelectors,\n ...extensionLanguageSelector,\n ...defaultLanguageSelectors,\n ];\n\n const rangeLanguageSelector: DocumentFilter[] = [\n ...this.allRangeLanguages.map((language) => ({\n language,\n scheme: \"file\",\n })),\n ...this.allRangeLanguages.map((language) => ({\n language,\n scheme: \"untitled\",\n })),\n ];\n\n return { languageSelector, rangeLanguageSelector };\n };\n\n private provideEdits = async (\n document: TextDocument,\n options: ExtensionFormattingOptions\n ): Promise => {\n const hrStart = process.hrtime();\n const result = await this.format(document.getText(), document, options);\n if (!result) {\n // No edits happened, return never so VS Code can try other formatters\n return [];\n }\n const hrEnd = process.hrtime(hrStart);\n this.loggingService.logInfo(\n `Formatting completed in ${hrEnd[1] / 1000000}ms.`\n );\n return [TextEdit.replace(this.fullDocumentRange(document), result)];\n };\n\n /**\n * Format the given text with user's configuration.\n * @param text Text to format\n * @param path formatting file's path\n * @returns {string} formatted text\n */\n private async format(\n text: string,\n { fileName, languageId, uri, isUntitled }: TextDocument,\n options: ExtensionFormattingOptions\n ): Promise {\n this.loggingService.logInfo(`Formatting ${fileName}`);\n\n const vscodeConfig = getConfig(uri);\n\n let configPath: string | undefined;\n try {\n if (!isUntitled) {\n configPath = (await prettier.resolveConfigFile(fileName)) ?? undefined;\n }\n } catch (error) {\n this.loggingService.logError(\n `Error resolving prettier configuration for ${fileName}`,\n error\n );\n this.statusBar.update(FormatterStatus.Error);\n return;\n }\n\n const resolveConfigOptions: prettier.ResolveConfigOptions = {\n config: isUntitled\n ? undefined\n : vscodeConfig.configPath\n ? getWorkspaceRelativePath(fileName, vscodeConfig.configPath)\n : configPath,\n editorconfig: isUntitled ? undefined : vscodeConfig.useEditorConfig,\n };\n\n let resolvedConfig: prettier.Options | null;\n try {\n resolvedConfig = isUntitled\n ? null\n : await prettier.resolveConfig(fileName, resolveConfigOptions);\n } catch (error) {\n this.loggingService.logError(\n \"Invalid prettier configuration file detected.\",\n error\n );\n this.loggingService.logError(INVALID_PRETTIER_CONFIG);\n this.statusBar.update(FormatterStatus.Error);\n return;\n }\n\n if (!isUntitled && !resolvedConfig && vscodeConfig.requireConfig) {\n this.loggingService.logInfo(\n \"Require config set to true and no config present. Skipping file.\"\n );\n this.statusBar.update(FormatterStatus.Disabled);\n return;\n }\n\n if (resolveConfigOptions.config) {\n this.loggingService.logInfo(\n `Using config file at '${resolveConfigOptions.config}'`\n );\n }\n\n let resolvedIgnorePath: string | undefined;\n if (vscodeConfig.ignorePath) {\n resolvedIgnorePath = getWorkspaceRelativePath(\n fileName,\n vscodeConfig.ignorePath\n );\n if (resolvedIgnorePath) {\n this.loggingService.logInfo(\n `Using ignore file (if present) at ${resolvedIgnorePath}`\n );\n }\n }\n\n const prettierInstance = await this.moduleResolver.getPrettierInstance(\n fileName\n );\n\n if (!prettierInstance) {\n this.loggingService.logError(\n \"Prettier could not be loaded. See previous logs for more information.\"\n );\n this.statusBar.update(FormatterStatus.Error);\n return;\n }\n\n let fileInfo: prettier.FileInfoResult | undefined;\n if (fileName) {\n fileInfo = await prettierInstance.getFileInfo(fileName, {\n ignorePath: resolvedIgnorePath,\n resolveConfig: true,\n withNodeModules: vscodeConfig.withNodeModules,\n });\n this.loggingService.logInfo(\"File Info:\", fileInfo);\n }\n\n if (!options.force && fileInfo && fileInfo.ignored) {\n this.loggingService.logInfo(\"File is ignored, skipping.\");\n this.statusBar.update(FormatterStatus.Ignore);\n return;\n }\n\n let parser: prettier.BuiltInParserName | string | undefined;\n if (fileInfo && fileInfo.inferredParser) {\n parser = fileInfo.inferredParser;\n } else if (languageId !== \"plaintext\") {\n // Don't attempt VS Code language for plaintext because we never have\n // a formatter for plaintext and most likely the reason for this is\n // somebody has registered a custom file extension without properly\n // configuring the parser in their prettier config.\n this.loggingService.logWarning(\n `Parser not inferred, trying VS Code language.`\n );\n const languages = prettierInstance.getSupportInfo().languages;\n parser = getParserFromLanguageId(languages, uri, languageId);\n }\n\n if (!parser) {\n this.loggingService.logError(\n `Failed to resolve a parser, skipping file. If you registered a custom file extension, be sure to configure the parser.`\n );\n this.statusBar.update(FormatterStatus.Error);\n return;\n }\n\n const prettierOptions = this.getPrettierOptions(\n fileName,\n parser as prettier.BuiltInParserName,\n vscodeConfig,\n resolvedConfig,\n options\n );\n\n this.loggingService.logInfo(\"Prettier Options:\", prettierOptions);\n\n try {\n const formattedText = prettierInstance.format(text, prettierOptions);\n this.statusBar.update(FormatterStatus.Success);\n\n return formattedText;\n } catch (error) {\n this.loggingService.logError(\"Error formatting document.\", error);\n this.statusBar.update(FormatterStatus.Error);\n\n return text;\n }\n }\n\n private getPrettierOptions(\n fileName: string,\n parser: prettier.BuiltInParserName,\n vsCodeConfig: prettier.Options,\n configOptions: prettier.Options | null,\n extentionFormattingOptions: ExtensionFormattingOptions\n ): Partial {\n const fallbackToVSCodeConfig = configOptions === null;\n\n const vsOpts: prettier.Options = {};\n if (fallbackToVSCodeConfig) {\n vsOpts.arrowParens = vsCodeConfig.arrowParens;\n vsOpts.bracketSpacing = vsCodeConfig.bracketSpacing;\n vsOpts.endOfLine = vsCodeConfig.endOfLine;\n vsOpts.htmlWhitespaceSensitivity = vsCodeConfig.htmlWhitespaceSensitivity;\n vsOpts.insertPragma = vsCodeConfig.insertPragma;\n vsOpts.jsxBracketSameLine = vsCodeConfig.jsxBracketSameLine;\n vsOpts.jsxSingleQuote = vsCodeConfig.jsxSingleQuote;\n vsOpts.printWidth = vsCodeConfig.printWidth;\n vsOpts.proseWrap = vsCodeConfig.proseWrap;\n vsOpts.quoteProps = vsCodeConfig.quoteProps;\n vsOpts.requirePragma = vsCodeConfig.requirePragma;\n vsOpts.semi = vsCodeConfig.semi;\n vsOpts.singleQuote = vsCodeConfig.singleQuote;\n vsOpts.tabWidth = vsCodeConfig.tabWidth;\n vsOpts.trailingComma = vsCodeConfig.trailingComma;\n vsOpts.useTabs = vsCodeConfig.useTabs;\n vsOpts.vueIndentScriptAndStyle = vsCodeConfig.vueIndentScriptAndStyle;\n }\n\n this.loggingService.logInfo(\n fallbackToVSCodeConfig\n ? \"No local configuration (i.e. .prettierrc or .editorconfig) detected, falling back to VS Code configuration\"\n : \"Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used\"\n );\n\n let rangeFormattingOptions: RangeFormattingOptions | undefined;\n if (\n extentionFormattingOptions.rangeEnd &&\n extentionFormattingOptions.rangeStart\n ) {\n rangeFormattingOptions = {\n rangeEnd: extentionFormattingOptions.rangeEnd,\n rangeStart: extentionFormattingOptions.rangeStart,\n };\n }\n\n const options: prettier.Options = {\n ...(fallbackToVSCodeConfig ? vsOpts : {}),\n ...{\n /* cspell: disable-next-line */\n filepath: fileName,\n parser: parser as prettier.BuiltInParserName,\n },\n ...(rangeFormattingOptions || {}),\n ...(configOptions || {}),\n };\n\n if (extentionFormattingOptions.force && options.requirePragma === true) {\n options.requirePragma = false;\n }\n\n return options;\n }\n\n private fullDocumentRange(document: TextDocument): Range {\n const lastLineId = document.lineCount - 1;\n return new Range(0, 0, lastLineId, document.lineAt(lastLineId).text.length);\n }\n}\n","import { StatusBarAlignment, StatusBarItem, window } from \"vscode\";\n\nexport enum FormatterStatus {\n Ready = \"check-all\",\n Success = \"check\",\n Ignore = \"x\",\n Warn = \"warning\",\n Error = \"alert\",\n Disabled = \"circle-slash\",\n}\n\nexport class StatusBar {\n private statusBarItem: StatusBarItem;\n constructor() {\n // Setup the statusBarItem\n this.statusBarItem = window.createStatusBarItem(\n \"prettier.status\",\n StatusBarAlignment.Right,\n -1\n );\n this.statusBarItem.name = \"Prettier\";\n this.statusBarItem.text = \"Prettier\";\n this.statusBarItem.command = \"prettier.openOutput\";\n this.update(FormatterStatus.Ready);\n this.statusBarItem.show();\n }\n\n /**\n * Update the statusBarItem message and show the statusBarItem\n *\n * @param icon The the icon to use\n */\n public update(result: FormatterStatus): void {\n this.statusBarItem.text = `$(${result.toString()}) Prettier`;\n // Waiting for VS Code 1.53: https://github.com/microsoft/vscode/pull/116181\n // if (result === FormattingResult.Error) {\n // this.statusBarItem.backgroundColor = new ThemeColor(\n // \"statusBarItem.errorBackground\"\n // );\n // } else {\n // this.statusBarItem.backgroundColor = new ThemeColor(\n // \"statusBarItem.fourgroundBackground\"\n // );\n // }\n this.statusBarItem.show();\n }\n\n public hide() {\n this.statusBarItem.hide();\n }\n}\n","import { writeFile } from \"fs\";\nimport * as path from \"path\";\nimport { format, Options } from \"prettier\";\nimport { promisify } from \"util\";\nimport { Uri } from \"vscode\";\nimport { LoggingService } from \"./LoggingService\";\n\nconst writeFileAsync: (\n filePath: string,\n data: string,\n encoding: \"utf8\"\n) => Promise = promisify(writeFile);\n\nexport class TemplateService {\n constructor(private loggingService: LoggingService) {}\n public async writeConfigFile(folderPath: Uri) {\n const settings = { tabWidth: 2, useTabs: false };\n\n const outputPath = path.join(folderPath.fsPath, \".prettierrc\");\n\n const formatterOptions: Options = {\n /* cspell: disable-next-line */\n filepath: outputPath,\n tabWidth: settings.tabWidth,\n useTabs: settings.useTabs,\n };\n\n const templateSource = format(\n JSON.stringify(settings, null, 2),\n formatterOptions\n );\n\n this.loggingService.logInfo(`Writing .prettierrc to '${outputPath}'`);\n await writeFileAsync(outputPath, templateSource, \"utf8\");\n }\n}\n","import { window } from \"vscode\";\nimport { TemplateService } from \"./TemplateService\";\n\nexport type createConfigFileFunction = () => Promise;\n\nexport const createConfigFile =\n (templateService: TemplateService): createConfigFileFunction =>\n async () => {\n const folderResult = await window.showOpenDialog({\n canSelectFiles: false,\n canSelectFolders: true,\n canSelectMany: false,\n });\n if (folderResult && folderResult.length === 1) {\n const folderUri = folderResult[0];\n await templateService.writeConfigFile(folderUri);\n }\n };\n","import * as prettier from \"prettier\";\nimport { Uri } from \"vscode\";\n\nexport function getParserFromLanguageId(\n languages: prettier.SupportLanguage[],\n uri: Uri,\n languageId: string\n): prettier.BuiltInParserName | string | undefined {\n // This is a workaround for when the vscodeLanguageId is duplicated in multiple\n // prettier languages. In these cases the first match is not the preferred match\n // so we override with the parser that exactly matches the languageId.\n // Specific undesired cases here are:\n // `html` matching to `angular`\n // `json` matching to `json-stringify`\n const languageParsers = [\"html\", \"json\"];\n if (uri.scheme === \"untitled\" && languageParsers.includes(languageId)) {\n return languageId;\n }\n const language = languages.find(\n (lang) =>\n lang &&\n lang.extensions &&\n Array.isArray(lang.vscodeLanguageIds) &&\n lang.vscodeLanguageIds.includes(languageId)\n );\n if (language && language.parsers?.length > 0) {\n return language.parsers[0];\n }\n}\n\nexport function getSupportedFileNames(languages: prettier.SupportLanguage[]) {\n const fileNames: string[] = [];\n languages.forEach((lang) => {\n if (lang && lang.filenames) {\n fileNames.push(...lang.filenames);\n }\n });\n return fileNames.filter((value, index, self) => {\n return self.indexOf(value) === index;\n });\n}\n","export const OUTDATED_PRETTIER_VERSION_MESSAGE =\n \"Your project is configured to use an outdated version of prettier that cannot be used by this extension. Upgrade to the latest version of prettier.\";\nexport const INVALID_PRETTIER_PATH_MESSAGE =\n \"`prettierPath` option does not reference a valid instance of Prettier. Please ensure you are passing a path to the prettier module, not the binary. Falling back to bundled version of prettier.\";\nexport const VIEW_LOGS_ACTION_TEXT = \"Show Log\";\nexport const FAILED_TO_LOAD_MODULE_MESSAGE =\n \"Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`\";\nexport const INVALID_PRETTIER_CONFIG =\n \"Invalid prettier configuration file detected. See log for details.\";\nexport const UNABLE_TO_LOAD_PRETTIER =\n \"Unable to load the configured Prettier module. Prettier will not run. Check logs.\";\nexport const RESTART_TO_ENABLE =\n \"To enable or disable prettier after changing the `enable` setting, you must restart VS Code.\";\nexport const USING_BUNDLED_PRETTIER = \"Using bundled version of prettier.\";\nexport const EXTENSION_DISABLED =\n \"Extension is disabled. No formatters will be registered. To enable, change the `prettier.enable` to `true` and restart VS Code.\";\nexport const UNTRUSED_WORKSPACE_USING_BUNDLED_PRETTIER =\n \"This workspace is not trusted. Using the bundled version of prettier.\";\n","/*---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See THIRDPARTY in the project root for license information.\n *--------------------------------------------------------*/\n\nimport vscode = require(\"vscode\");\n\nlet globalState: vscode.Memento;\nlet workspaceState: vscode.Memento;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getFromGlobalState(key: string, defaultValue?: any): any {\n if (!globalState) {\n return defaultValue;\n }\n return globalState.get(key, defaultValue);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function updateGlobalState(key: string, value: any) {\n if (!globalState) {\n return;\n }\n return globalState.update(key, value);\n}\n\nexport function setGlobalState(state: vscode.Memento) {\n globalState = state;\n}\n\nexport function getGlobalState() {\n return globalState;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getFromWorkspaceState(key: string, defaultValue?: any) {\n if (!workspaceState) {\n return defaultValue;\n }\n return workspaceState.get(key, defaultValue);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function updateWorkspaceState(key: string, value: any) {\n if (!workspaceState) {\n return;\n }\n return workspaceState.update(key, value);\n}\n\nexport function setWorkspaceState(state: vscode.Memento) {\n workspaceState = state;\n}\n\nexport function getWorkspaceState(): vscode.Memento {\n return workspaceState;\n}\n","import * as os from \"os\";\nimport * as path from \"path\";\nimport { Uri, workspace } from \"vscode\";\nimport { PrettierVSCodeConfig } from \"./types\";\n\nexport function getWorkspaceRelativePath(\n filePath: string,\n pathToResolve: string\n) {\n // In case the user wants to use ~/.prettierrc on Mac\n if (\n process.platform === \"darwin\" &&\n pathToResolve.indexOf(\"~\") === 0 &&\n os.homedir()\n ) {\n return pathToResolve.replace(/^~(?=$|\\/|\\\\)/, os.homedir());\n }\n\n if (workspace.workspaceFolders) {\n const folder = workspace.getWorkspaceFolder(Uri.file(filePath));\n return folder\n ? path.isAbsolute(pathToResolve)\n ? pathToResolve\n : path.join(folder.uri.fsPath, pathToResolve)\n : undefined;\n }\n}\n\nexport function getConfig(uri?: Uri): PrettierVSCodeConfig {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const config = workspace.getConfiguration(\n \"prettier\",\n uri\n ) as unknown as PrettierVSCodeConfig;\n\n // Some settings are disabled for untrusted workspaces\n // because they can be used for bad things.\n if (!workspace.isTrusted) {\n config.prettierPath = undefined;\n config.configPath = undefined;\n config.ignorePath = \".prettierignore\";\n config.documentSelectors = [];\n config.useEditorConfig = false;\n config.withNodeModules = false;\n config.resolveGlobalModules = false;\n }\n\n return config;\n}\n","'use strict';\nconst path = require('path');\nconst locatePath = require('locate-path');\nconst pathExists = require('path-exists');\n\nconst stop = Symbol('findUp.stop');\n\nmodule.exports = async (name, options = {}) => {\n\tlet directory = path.resolve(options.cwd || '');\n\tconst {root} = path.parse(directory);\n\tconst paths = [].concat(name);\n\n\tconst runMatcher = async locateOptions => {\n\t\tif (typeof name !== 'function') {\n\t\t\treturn locatePath(paths, locateOptions);\n\t\t}\n\n\t\tconst foundPath = await name(locateOptions.cwd);\n\t\tif (typeof foundPath === 'string') {\n\t\t\treturn locatePath([foundPath], locateOptions);\n\t\t}\n\n\t\treturn foundPath;\n\t};\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tconst foundPath = await runMatcher({...options, cwd: directory});\n\n\t\tif (foundPath === stop) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (foundPath) {\n\t\t\treturn path.resolve(directory, foundPath);\n\t\t}\n\n\t\tif (directory === root) {\n\t\t\treturn;\n\t\t}\n\n\t\tdirectory = path.dirname(directory);\n\t}\n};\n\nmodule.exports.sync = (name, options = {}) => {\n\tlet directory = path.resolve(options.cwd || '');\n\tconst {root} = path.parse(directory);\n\tconst paths = [].concat(name);\n\n\tconst runMatcher = locateOptions => {\n\t\tif (typeof name !== 'function') {\n\t\t\treturn locatePath.sync(paths, locateOptions);\n\t\t}\n\n\t\tconst foundPath = name(locateOptions.cwd);\n\t\tif (typeof foundPath === 'string') {\n\t\t\treturn locatePath.sync([foundPath], locateOptions);\n\t\t}\n\n\t\treturn foundPath;\n\t};\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst foundPath = runMatcher({...options, cwd: directory});\n\n\t\tif (foundPath === stop) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (foundPath) {\n\t\t\treturn path.resolve(directory, foundPath);\n\t\t}\n\n\t\tif (directory === root) {\n\t\t\treturn;\n\t\t}\n\n\t\tdirectory = path.dirname(directory);\n\t}\n};\n\nmodule.exports.exists = pathExists;\n\nmodule.exports.sync.exists = pathExists.sync;\n\nmodule.exports.stop = stop;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar has = require('has');\n\nfunction specifierIncluded(current, specifier) {\n\tvar nodeParts = current.split('.');\n\tvar parts = specifier.split(' ');\n\tvar op = parts.length > 1 ? parts[0] : '=';\n\tvar versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');\n\n\tfor (var i = 0; i < 3; ++i) {\n\t\tvar cur = parseInt(nodeParts[i] || 0, 10);\n\t\tvar ver = parseInt(versionParts[i] || 0, 10);\n\t\tif (cur === ver) {\n\t\t\tcontinue; // eslint-disable-line no-restricted-syntax, no-continue\n\t\t}\n\t\tif (op === '<') {\n\t\t\treturn cur < ver;\n\t\t}\n\t\tif (op === '>=') {\n\t\t\treturn cur >= ver;\n\t\t}\n\t\treturn false;\n\t}\n\treturn op === '>=';\n}\n\nfunction matchesRange(current, range) {\n\tvar specifiers = range.split(/ ?&& ?/);\n\tif (specifiers.length === 0) {\n\t\treturn false;\n\t}\n\tfor (var i = 0; i < specifiers.length; ++i) {\n\t\tif (!specifierIncluded(current, specifiers[i])) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nfunction versionIncluded(nodeVersion, specifierValue) {\n\tif (typeof specifierValue === 'boolean') {\n\t\treturn specifierValue;\n\t}\n\n\tvar current = typeof nodeVersion === 'undefined'\n\t\t? process.versions && process.versions.node && process.versions.node\n\t\t: nodeVersion;\n\n\tif (typeof current !== 'string') {\n\t\tthrow new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required');\n\t}\n\n\tif (specifierValue && typeof specifierValue === 'object') {\n\t\tfor (var i = 0; i < specifierValue.length; ++i) {\n\t\t\tif (matchesRange(current, specifierValue[i])) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\treturn matchesRange(current, specifierValue);\n}\n\nvar data = require('./core.json');\n\nmodule.exports = function isCore(x, nodeVersion) {\n\treturn has(data, x) && versionIncluded(nodeVersion, data[x]);\n};\n","'use strict';\nconst path = require('path');\nconst fs = require('fs');\nconst {promisify} = require('util');\nconst pLocate = require('p-locate');\n\nconst fsStat = promisify(fs.stat);\nconst fsLStat = promisify(fs.lstat);\n\nconst typeMappings = {\n\tdirectory: 'isDirectory',\n\tfile: 'isFile'\n};\n\nfunction checkType({type}) {\n\tif (type in typeMappings) {\n\t\treturn;\n\t}\n\n\tthrow new Error(`Invalid type specified: ${type}`);\n}\n\nconst matchType = (type, stat) => type === undefined || stat[typeMappings[type]]();\n\nmodule.exports = async (paths, options) => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\ttype: 'file',\n\t\tallowSymlinks: true,\n\t\t...options\n\t};\n\n\tcheckType(options);\n\n\tconst statFn = options.allowSymlinks ? fsStat : fsLStat;\n\n\treturn pLocate(paths, async path_ => {\n\t\ttry {\n\t\t\tconst stat = await statFn(path.resolve(options.cwd, path_));\n\t\t\treturn matchType(options.type, stat);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}, options);\n};\n\nmodule.exports.sync = (paths, options) => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\tallowSymlinks: true,\n\t\ttype: 'file',\n\t\t...options\n\t};\n\n\tcheckType(options);\n\n\tconst statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync;\n\n\tfor (const path_ of paths) {\n\t\ttry {\n\t\t\tconst stat = statFn(path.resolve(options.cwd, path_));\n\n\t\t\tif (matchType(options.type, stat)) {\n\t\t\t\treturn path_;\n\t\t\t}\n\t\t} catch {}\n\t}\n};\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","'use strict';\nconst pLimit = require('p-limit');\n\nclass EndError extends Error {\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t}\n}\n\n// The input can also be a promise, so we await it\nconst testElement = async (element, tester) => tester(await element);\n\n// The input can also be a promise, so we `Promise.all()` them both\nconst finder = async element => {\n\tconst values = await Promise.all(element);\n\tif (values[1] === true) {\n\t\tthrow new EndError(values[0]);\n\t}\n\n\treturn false;\n};\n\nconst pLocate = async (iterable, tester, options) => {\n\toptions = {\n\t\tconcurrency: Infinity,\n\t\tpreserveOrder: true,\n\t\t...options\n\t};\n\n\tconst limit = pLimit(options.concurrency);\n\n\t// Start all the promises concurrently with optional limit\n\tconst items = [...iterable].map(element => [element, limit(testElement, element, tester)]);\n\n\t// Check the promises either serially or concurrently\n\tconst checkLimit = pLimit(options.preserveOrder ? 1 : Infinity);\n\n\ttry {\n\t\tawait Promise.all(items.map(element => checkLimit(finder, element)));\n\t} catch (error) {\n\t\tif (error instanceof EndError) {\n\t\t\treturn error.value;\n\t\t}\n\n\t\tthrow error;\n\t}\n};\n\nmodule.exports = pLocate;\n","'use strict';\nconst Queue = require('yocto-queue');\n\nconst pLimit = concurrency => {\n\tif (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, ...args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, ...args) => {\n\t\tqueue.enqueue(run.bind(null, fn, resolve, ...args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, ...args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t}\n\t\t}\n\t});\n\n\treturn generator;\n};\n\nmodule.exports = pLimit;\n","'use strict';\nconst fs = require('fs');\nconst {promisify} = require('util');\n\nconst pAccess = promisify(fs.access);\n\nmodule.exports = async path => {\n\ttry {\n\t\tawait pAccess(path);\n\t\treturn true;\n\t} catch (_) {\n\t\treturn false;\n\t}\n};\n\nmodule.exports.sync = path => {\n\ttry {\n\t\tfs.accessSync(path);\n\t\treturn true;\n\t} catch (_) {\n\t\treturn false;\n\t}\n};\n","'use strict';\n\nvar isWindows = process.platform === 'win32';\n\n// Regex to split a windows path into into [dir, root, basename, name, ext]\nvar splitWindowsRe =\n /^(((?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?[\\\\\\/]?)(?:[^\\\\\\/]*[\\\\\\/])*)((\\.{1,2}|[^\\\\\\/]+?|)(\\.[^.\\/\\\\]*|))[\\\\\\/]*$/;\n\nvar win32 = {};\n\nfunction win32SplitPath(filename) {\n return splitWindowsRe.exec(filename).slice(1);\n}\n\nwin32.parse = function(pathString) {\n if (typeof pathString !== 'string') {\n throw new TypeError(\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\n );\n }\n var allParts = win32SplitPath(pathString);\n if (!allParts || allParts.length !== 5) {\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n }\n return {\n root: allParts[1],\n dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1),\n base: allParts[2],\n ext: allParts[4],\n name: allParts[3]\n };\n};\n\n\n\n// Split a filename into [dir, root, basename, name, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n /^((\\/?)(?:[^\\/]*\\/)*)((\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))[\\/]*$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n return splitPathRe.exec(filename).slice(1);\n}\n\n\nposix.parse = function(pathString) {\n if (typeof pathString !== 'string') {\n throw new TypeError(\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\n );\n }\n var allParts = posixSplitPath(pathString);\n if (!allParts || allParts.length !== 5) {\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n }\n \n return {\n root: allParts[1],\n dir: allParts[0].slice(0, -1),\n base: allParts[2],\n ext: allParts[4],\n name: allParts[3],\n };\n};\n\n\nif (isWindows)\n module.exports = win32.parse;\nelse /* posix */\n module.exports = posix.parse;\n\nmodule.exports.posix = posix.parse;\nmodule.exports.win32 = win32.parse;\n","var async = require('./lib/async');\nasync.core = require('./lib/core');\nasync.isCore = require('./lib/is-core');\nasync.sync = require('./lib/sync');\n\nmodule.exports = async;\n","var fs = require('fs');\nvar path = require('path');\nvar caller = require('./caller');\nvar nodeModulesPaths = require('./node-modules-paths');\nvar normalizeOptions = require('./normalize-options');\nvar isCore = require('is-core-module');\n\nvar realpathFS = fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;\n\nvar defaultIsFile = function isFile(file, cb) {\n fs.stat(file, function (err, stat) {\n if (!err) {\n return cb(null, stat.isFile() || stat.isFIFO());\n }\n if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);\n return cb(err);\n });\n};\n\nvar defaultIsDir = function isDirectory(dir, cb) {\n fs.stat(dir, function (err, stat) {\n if (!err) {\n return cb(null, stat.isDirectory());\n }\n if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);\n return cb(err);\n });\n};\n\nvar defaultRealpath = function realpath(x, cb) {\n realpathFS(x, function (realpathErr, realPath) {\n if (realpathErr && realpathErr.code !== 'ENOENT') cb(realpathErr);\n else cb(null, realpathErr ? x : realPath);\n });\n};\n\nvar maybeRealpath = function maybeRealpath(realpath, x, opts, cb) {\n if (opts && opts.preserveSymlinks === false) {\n realpath(x, cb);\n } else {\n cb(null, x);\n }\n};\n\nvar defaultReadPackage = function defaultReadPackage(readFile, pkgfile, cb) {\n readFile(pkgfile, function (readFileErr, body) {\n if (readFileErr) cb(readFileErr);\n else {\n try {\n var pkg = JSON.parse(body);\n cb(null, pkg);\n } catch (jsonErr) {\n cb(null);\n }\n }\n });\n};\n\nvar getPackageCandidates = function getPackageCandidates(x, start, opts) {\n var dirs = nodeModulesPaths(start, opts, x);\n for (var i = 0; i < dirs.length; i++) {\n dirs[i] = path.join(dirs[i], x);\n }\n return dirs;\n};\n\nmodule.exports = function resolve(x, options, callback) {\n var cb = callback;\n var opts = options;\n if (typeof options === 'function') {\n cb = opts;\n opts = {};\n }\n if (typeof x !== 'string') {\n var err = new TypeError('Path must be a string.');\n return process.nextTick(function () {\n cb(err);\n });\n }\n\n opts = normalizeOptions(x, opts);\n\n var isFile = opts.isFile || defaultIsFile;\n var isDirectory = opts.isDirectory || defaultIsDir;\n var readFile = opts.readFile || fs.readFile;\n var realpath = opts.realpath || defaultRealpath;\n var readPackage = opts.readPackage || defaultReadPackage;\n if (opts.readFile && opts.readPackage) {\n var conflictErr = new TypeError('`readFile` and `readPackage` are mutually exclusive.');\n return process.nextTick(function () {\n cb(conflictErr);\n });\n }\n var packageIterator = opts.packageIterator;\n\n var extensions = opts.extensions || ['.js'];\n var includeCoreModules = opts.includeCoreModules !== false;\n var basedir = opts.basedir || path.dirname(caller());\n var parent = opts.filename || basedir;\n\n opts.paths = opts.paths || [];\n\n // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory\n var absoluteStart = path.resolve(basedir);\n\n maybeRealpath(\n realpath,\n absoluteStart,\n opts,\n function (err, realStart) {\n if (err) cb(err);\n else init(realStart);\n }\n );\n\n var res;\n function init(basedir) {\n if ((/^(?:\\.\\.?(?:\\/|$)|\\/|([A-Za-z]:)?[/\\\\])/).test(x)) {\n res = path.resolve(basedir, x);\n if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';\n if ((/\\/$/).test(x) && res === basedir) {\n loadAsDirectory(res, opts.package, onfile);\n } else loadAsFile(res, opts.package, onfile);\n } else if (includeCoreModules && isCore(x)) {\n return cb(null, x);\n } else loadNodeModules(x, basedir, function (err, n, pkg) {\n if (err) cb(err);\n else if (n) {\n return maybeRealpath(realpath, n, opts, function (err, realN) {\n if (err) {\n cb(err);\n } else {\n cb(null, realN, pkg);\n }\n });\n } else {\n var moduleError = new Error(\"Cannot find module '\" + x + \"' from '\" + parent + \"'\");\n moduleError.code = 'MODULE_NOT_FOUND';\n cb(moduleError);\n }\n });\n }\n\n function onfile(err, m, pkg) {\n if (err) cb(err);\n else if (m) cb(null, m, pkg);\n else loadAsDirectory(res, function (err, d, pkg) {\n if (err) cb(err);\n else if (d) {\n maybeRealpath(realpath, d, opts, function (err, realD) {\n if (err) {\n cb(err);\n } else {\n cb(null, realD, pkg);\n }\n });\n } else {\n var moduleError = new Error(\"Cannot find module '\" + x + \"' from '\" + parent + \"'\");\n moduleError.code = 'MODULE_NOT_FOUND';\n cb(moduleError);\n }\n });\n }\n\n function loadAsFile(x, thePackage, callback) {\n var loadAsFilePackage = thePackage;\n var cb = callback;\n if (typeof loadAsFilePackage === 'function') {\n cb = loadAsFilePackage;\n loadAsFilePackage = undefined;\n }\n\n var exts = [''].concat(extensions);\n load(exts, x, loadAsFilePackage);\n\n function load(exts, x, loadPackage) {\n if (exts.length === 0) return cb(null, undefined, loadPackage);\n var file = x + exts[0];\n\n var pkg = loadPackage;\n if (pkg) onpkg(null, pkg);\n else loadpkg(path.dirname(file), onpkg);\n\n function onpkg(err, pkg_, dir) {\n pkg = pkg_;\n if (err) return cb(err);\n if (dir && pkg && opts.pathFilter) {\n var rfile = path.relative(dir, file);\n var rel = rfile.slice(0, rfile.length - exts[0].length);\n var r = opts.pathFilter(pkg, x, rel);\n if (r) return load(\n [''].concat(extensions.slice()),\n path.resolve(dir, r),\n pkg\n );\n }\n isFile(file, onex);\n }\n function onex(err, ex) {\n if (err) return cb(err);\n if (ex) return cb(null, file, pkg);\n load(exts.slice(1), x, pkg);\n }\n }\n }\n\n function loadpkg(dir, cb) {\n if (dir === '' || dir === '/') return cb(null);\n if (process.platform === 'win32' && (/^\\w:[/\\\\]*$/).test(dir)) {\n return cb(null);\n }\n if ((/[/\\\\]node_modules[/\\\\]*$/).test(dir)) return cb(null);\n\n maybeRealpath(realpath, dir, opts, function (unwrapErr, pkgdir) {\n if (unwrapErr) return loadpkg(path.dirname(dir), cb);\n var pkgfile = path.join(pkgdir, 'package.json');\n isFile(pkgfile, function (err, ex) {\n // on err, ex is false\n if (!ex) return loadpkg(path.dirname(dir), cb);\n\n readPackage(readFile, pkgfile, function (err, pkgParam) {\n if (err) cb(err);\n\n var pkg = pkgParam;\n\n if (pkg && opts.packageFilter) {\n pkg = opts.packageFilter(pkg, pkgfile);\n }\n cb(null, pkg, dir);\n });\n });\n });\n }\n\n function loadAsDirectory(x, loadAsDirectoryPackage, callback) {\n var cb = callback;\n var fpkg = loadAsDirectoryPackage;\n if (typeof fpkg === 'function') {\n cb = fpkg;\n fpkg = opts.package;\n }\n\n maybeRealpath(realpath, x, opts, function (unwrapErr, pkgdir) {\n if (unwrapErr) return cb(unwrapErr);\n var pkgfile = path.join(pkgdir, 'package.json');\n isFile(pkgfile, function (err, ex) {\n if (err) return cb(err);\n if (!ex) return loadAsFile(path.join(x, 'index'), fpkg, cb);\n\n readPackage(readFile, pkgfile, function (err, pkgParam) {\n if (err) return cb(err);\n\n var pkg = pkgParam;\n\n if (pkg && opts.packageFilter) {\n pkg = opts.packageFilter(pkg, pkgfile);\n }\n\n if (pkg && pkg.main) {\n if (typeof pkg.main !== 'string') {\n var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');\n mainError.code = 'INVALID_PACKAGE_MAIN';\n return cb(mainError);\n }\n if (pkg.main === '.' || pkg.main === './') {\n pkg.main = 'index';\n }\n loadAsFile(path.resolve(x, pkg.main), pkg, function (err, m, pkg) {\n if (err) return cb(err);\n if (m) return cb(null, m, pkg);\n if (!pkg) return loadAsFile(path.join(x, 'index'), pkg, cb);\n\n var dir = path.resolve(x, pkg.main);\n loadAsDirectory(dir, pkg, function (err, n, pkg) {\n if (err) return cb(err);\n if (n) return cb(null, n, pkg);\n loadAsFile(path.join(x, 'index'), pkg, cb);\n });\n });\n return;\n }\n\n loadAsFile(path.join(x, '/index'), pkg, cb);\n });\n });\n });\n }\n\n function processDirs(cb, dirs) {\n if (dirs.length === 0) return cb(null, undefined);\n var dir = dirs[0];\n\n isDirectory(path.dirname(dir), isdir);\n\n function isdir(err, isdir) {\n if (err) return cb(err);\n if (!isdir) return processDirs(cb, dirs.slice(1));\n loadAsFile(dir, opts.package, onfile);\n }\n\n function onfile(err, m, pkg) {\n if (err) return cb(err);\n if (m) return cb(null, m, pkg);\n loadAsDirectory(dir, opts.package, ondir);\n }\n\n function ondir(err, n, pkg) {\n if (err) return cb(err);\n if (n) return cb(null, n, pkg);\n processDirs(cb, dirs.slice(1));\n }\n }\n function loadNodeModules(x, start, cb) {\n var thunk = function () { return getPackageCandidates(x, start, opts); };\n processDirs(\n cb,\n packageIterator ? packageIterator(x, start, thunk, opts) : thunk()\n );\n }\n};\n","module.exports = function () {\n // see https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\n var origPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = function (_, stack) { return stack; };\n var stack = (new Error()).stack;\n Error.prepareStackTrace = origPrepareStackTrace;\n return stack[2].getFileName();\n};\n","var current = (process.versions && process.versions.node && process.versions.node.split('.')) || [];\n\nfunction specifierIncluded(specifier) {\n var parts = specifier.split(' ');\n var op = parts.length > 1 ? parts[0] : '=';\n var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');\n\n for (var i = 0; i < 3; ++i) {\n var cur = parseInt(current[i] || 0, 10);\n var ver = parseInt(versionParts[i] || 0, 10);\n if (cur === ver) {\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n }\n if (op === '<') {\n return cur < ver;\n } else if (op === '>=') {\n return cur >= ver;\n } else {\n return false;\n }\n }\n return op === '>=';\n}\n\nfunction matchesRange(range) {\n var specifiers = range.split(/ ?&& ?/);\n if (specifiers.length === 0) { return false; }\n for (var i = 0; i < specifiers.length; ++i) {\n if (!specifierIncluded(specifiers[i])) { return false; }\n }\n return true;\n}\n\nfunction versionIncluded(specifierValue) {\n if (typeof specifierValue === 'boolean') { return specifierValue; }\n if (specifierValue && typeof specifierValue === 'object') {\n for (var i = 0; i < specifierValue.length; ++i) {\n if (matchesRange(specifierValue[i])) { return true; }\n }\n return false;\n }\n return matchesRange(specifierValue);\n}\n\nvar data = require('./core.json');\n\nvar core = {};\nfor (var mod in data) { // eslint-disable-line no-restricted-syntax\n if (Object.prototype.hasOwnProperty.call(data, mod)) {\n core[mod] = versionIncluded(data[mod]);\n }\n}\nmodule.exports = core;\n","var isCoreModule = require('is-core-module');\n\nmodule.exports = function isCore(x) {\n return isCoreModule(x);\n};\n","var path = require('path');\nvar parse = path.parse || require('path-parse');\n\nvar getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) {\n var prefix = '/';\n if ((/^([A-Za-z]:)/).test(absoluteStart)) {\n prefix = '';\n } else if ((/^\\\\\\\\/).test(absoluteStart)) {\n prefix = '\\\\\\\\';\n }\n\n var paths = [absoluteStart];\n var parsed = parse(absoluteStart);\n while (parsed.dir !== paths[paths.length - 1]) {\n paths.push(parsed.dir);\n parsed = parse(parsed.dir);\n }\n\n return paths.reduce(function (dirs, aPath) {\n return dirs.concat(modules.map(function (moduleDir) {\n return path.resolve(prefix, aPath, moduleDir);\n }));\n }, []);\n};\n\nmodule.exports = function nodeModulesPaths(start, opts, request) {\n var modules = opts && opts.moduleDirectory\n ? [].concat(opts.moduleDirectory)\n : ['node_modules'];\n\n if (opts && typeof opts.paths === 'function') {\n return opts.paths(\n request,\n start,\n function () { return getNodeModulesDirs(start, modules); },\n opts\n );\n }\n\n var dirs = getNodeModulesDirs(start, modules);\n return opts && opts.paths ? dirs.concat(opts.paths) : dirs;\n};\n","module.exports = function (x, opts) {\n /**\n * This file is purposefully a passthrough. It's expected that third-party\n * environments will override it at runtime in order to inject special logic\n * into `resolve` (by manipulating the options). One such example is the PnP\n * code path in Yarn.\n */\n\n return opts || {};\n};\n","var isCore = require('is-core-module');\nvar fs = require('fs');\nvar path = require('path');\nvar caller = require('./caller');\nvar nodeModulesPaths = require('./node-modules-paths');\nvar normalizeOptions = require('./normalize-options');\n\nvar realpathFS = fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;\n\nvar defaultIsFile = function isFile(file) {\n try {\n var stat = fs.statSync(file);\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return stat.isFile() || stat.isFIFO();\n};\n\nvar defaultIsDir = function isDirectory(dir) {\n try {\n var stat = fs.statSync(dir);\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return stat.isDirectory();\n};\n\nvar defaultRealpathSync = function realpathSync(x) {\n try {\n return realpathFS(x);\n } catch (realpathErr) {\n if (realpathErr.code !== 'ENOENT') {\n throw realpathErr;\n }\n }\n return x;\n};\n\nvar maybeRealpathSync = function maybeRealpathSync(realpathSync, x, opts) {\n if (opts && opts.preserveSymlinks === false) {\n return realpathSync(x);\n }\n return x;\n};\n\nvar defaultReadPackageSync = function defaultReadPackageSync(readFileSync, pkgfile) {\n var body = readFileSync(pkgfile);\n try {\n var pkg = JSON.parse(body);\n return pkg;\n } catch (jsonErr) {}\n};\n\nvar getPackageCandidates = function getPackageCandidates(x, start, opts) {\n var dirs = nodeModulesPaths(start, opts, x);\n for (var i = 0; i < dirs.length; i++) {\n dirs[i] = path.join(dirs[i], x);\n }\n return dirs;\n};\n\nmodule.exports = function resolveSync(x, options) {\n if (typeof x !== 'string') {\n throw new TypeError('Path must be a string.');\n }\n var opts = normalizeOptions(x, options);\n\n var isFile = opts.isFile || defaultIsFile;\n var readFileSync = opts.readFileSync || fs.readFileSync;\n var isDirectory = opts.isDirectory || defaultIsDir;\n var realpathSync = opts.realpathSync || defaultRealpathSync;\n var readPackageSync = opts.readPackageSync || defaultReadPackageSync;\n if (opts.readFileSync && opts.readPackageSync) {\n throw new TypeError('`readFileSync` and `readPackageSync` are mutually exclusive.');\n }\n var packageIterator = opts.packageIterator;\n\n var extensions = opts.extensions || ['.js'];\n var includeCoreModules = opts.includeCoreModules !== false;\n var basedir = opts.basedir || path.dirname(caller());\n var parent = opts.filename || basedir;\n\n opts.paths = opts.paths || [];\n\n // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory\n var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts);\n\n if ((/^(?:\\.\\.?(?:\\/|$)|\\/|([A-Za-z]:)?[/\\\\])/).test(x)) {\n var res = path.resolve(absoluteStart, x);\n if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';\n var m = loadAsFileSync(res) || loadAsDirectorySync(res);\n if (m) return maybeRealpathSync(realpathSync, m, opts);\n } else if (includeCoreModules && isCore(x)) {\n return x;\n } else {\n var n = loadNodeModulesSync(x, absoluteStart);\n if (n) return maybeRealpathSync(realpathSync, n, opts);\n }\n\n var err = new Error(\"Cannot find module '\" + x + \"' from '\" + parent + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n\n function loadAsFileSync(x) {\n var pkg = loadpkg(path.dirname(x));\n\n if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) {\n var rfile = path.relative(pkg.dir, x);\n var r = opts.pathFilter(pkg.pkg, x, rfile);\n if (r) {\n x = path.resolve(pkg.dir, r); // eslint-disable-line no-param-reassign\n }\n }\n\n if (isFile(x)) {\n return x;\n }\n\n for (var i = 0; i < extensions.length; i++) {\n var file = x + extensions[i];\n if (isFile(file)) {\n return file;\n }\n }\n }\n\n function loadpkg(dir) {\n if (dir === '' || dir === '/') return;\n if (process.platform === 'win32' && (/^\\w:[/\\\\]*$/).test(dir)) {\n return;\n }\n if ((/[/\\\\]node_modules[/\\\\]*$/).test(dir)) return;\n\n var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), 'package.json');\n\n if (!isFile(pkgfile)) {\n return loadpkg(path.dirname(dir));\n }\n\n var pkg = readPackageSync(readFileSync, pkgfile);\n\n if (pkg && opts.packageFilter) {\n // v2 will pass pkgfile\n pkg = opts.packageFilter(pkg, /*pkgfile,*/ dir); // eslint-disable-line spaced-comment\n }\n\n return { pkg: pkg, dir: dir };\n }\n\n function loadAsDirectorySync(x) {\n var pkgfile = path.join(maybeRealpathSync(realpathSync, x, opts), '/package.json');\n if (isFile(pkgfile)) {\n try {\n var pkg = readPackageSync(readFileSync, pkgfile);\n } catch (e) {}\n\n if (pkg && opts.packageFilter) {\n // v2 will pass pkgfile\n pkg = opts.packageFilter(pkg, /*pkgfile,*/ x); // eslint-disable-line spaced-comment\n }\n\n if (pkg && pkg.main) {\n if (typeof pkg.main !== 'string') {\n var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');\n mainError.code = 'INVALID_PACKAGE_MAIN';\n throw mainError;\n }\n if (pkg.main === '.' || pkg.main === './') {\n pkg.main = 'index';\n }\n try {\n var m = loadAsFileSync(path.resolve(x, pkg.main));\n if (m) return m;\n var n = loadAsDirectorySync(path.resolve(x, pkg.main));\n if (n) return n;\n } catch (e) {}\n }\n }\n\n return loadAsFileSync(path.join(x, '/index'));\n }\n\n function loadNodeModulesSync(x, start) {\n var thunk = function () { return getPackageCandidates(x, start, opts); };\n var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk();\n\n for (var i = 0; i < dirs.length; i++) {\n var dir = dirs[i];\n if (isDirectory(path.dirname(dir))) {\n var m = loadAsFileSync(dir);\n if (m) return m;\n var n = loadAsDirectorySync(dir);\n if (n) return n;\n }\n }\n }\n};\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n const sameSemVer = this.semver.version === comp.semver.version\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<')\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>')\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst {re, t} = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split(/\\s*\\|\\|\\s*/)\n // map the range to a 2d array of comparators\n .map(range => this.parseRange(range.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0)\n this.set = [first]\n else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n range = range.trim()\n\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts = Object.keys(this.options).join(',')\n const memoKey = `parseRange:${memoOpts}:${range}`\n const cached = cache.get(memoKey)\n if (cached)\n return cached\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n // in loose mode, throw out any that are not valid comparators\n .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)\n .map(comp => new Comparator(comp, this.options))\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const l = rangeList.length\n const rangeMap = new Map()\n for (const comp of rangeList) {\n if (isNullSet(comp))\n return [comp]\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has(''))\n rangeMap.delete('')\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\nmodule.exports = Range\n\nconst LRU = require('lru-cache')\nconst cache = new LRU({ max: 1000 })\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace\n} = require('../internal/re')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceTilde(comp, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceCaret(comp, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((comp) => {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<')\n pr = '-0'\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst {re, t} = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null)\n return null\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse')\nconst eq = require('./eq')\n\nconst diff = (version1, version2) => {\n if (eq(version1, version2)) {\n return null\n } else {\n const v1 = parse(version1)\n const v2 = parse(version2)\n const hasPre = v1.prerelease.length || v2.prerelease.length\n const prefix = hasPre ? 'pre' : ''\n const defaultResult = hasPre ? 'prerelease' : ''\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(version, options).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nmodule.exports = {\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION,\n SemVer: require('./classes/semver'),\n compareIdentifiers: require('./internal/identifiers').compareIdentifiers,\n rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers,\n parse: require('./functions/parse'),\n valid: require('./functions/valid'),\n clean: require('./functions/clean'),\n inc: require('./functions/inc'),\n diff: require('./functions/diff'),\n major: require('./functions/major'),\n minor: require('./functions/minor'),\n patch: require('./functions/patch'),\n prerelease: require('./functions/prerelease'),\n compare: require('./functions/compare'),\n rcompare: require('./functions/rcompare'),\n compareLoose: require('./functions/compare-loose'),\n compareBuild: require('./functions/compare-build'),\n sort: require('./functions/sort'),\n rsort: require('./functions/rsort'),\n gt: require('./functions/gt'),\n lt: require('./functions/lt'),\n eq: require('./functions/eq'),\n neq: require('./functions/neq'),\n gte: require('./functions/gte'),\n lte: require('./functions/lte'),\n cmp: require('./functions/cmp'),\n coerce: require('./functions/coerce'),\n Comparator: require('./classes/comparator'),\n Range: require('./classes/range'),\n satisfies: require('./functions/satisfies'),\n toComparators: require('./ranges/to-comparators'),\n maxSatisfying: require('./ranges/max-satisfying'),\n minSatisfying: require('./ranges/min-satisfying'),\n minVersion: require('./ranges/min-version'),\n validRange: require('./ranges/valid'),\n outside: require('./ranges/outside'),\n gtr: require('./ranges/gtr'),\n ltr: require('./ranges/ltr'),\n intersects: require('./ranges/intersects'),\n simplifyRange: require('./ranges/simplify'),\n subset: require('./ranges/subset'),\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin)))\n minver = setMin\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst {ANY} = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let min = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!min)\n min = version\n } else {\n if (prev) {\n set.push([min, prev])\n }\n prev = null\n min = null\n }\n }\n if (min)\n set.push([min, null])\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max)\n ranges.push(min)\n else if (!max && min === v[0])\n ranges.push('*')\n else if (!max)\n ranges.push(`>=${min}`)\n else if (min === v[0])\n ranges.push(`<=${max}`)\n else\n ranges.push(`${min} - ${max}`)\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom)\n return true\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub)\n continue OUTER\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull)\n return false\n }\n return true\n}\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom)\n return true\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY)\n return true\n else if (options.includePrerelease)\n sub = [ new Comparator('>=0.0.0-0') ]\n else\n sub = [ new Comparator('>=0.0.0') ]\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease)\n return true\n else\n dom = [ new Comparator('>=0.0.0') ]\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=')\n gt = higherGT(gt, c, options)\n else if (c.operator === '<' || c.operator === '<=')\n lt = lowerLT(lt, c, options)\n else\n eqSet.add(c.semver)\n }\n\n if (eqSet.size > 1)\n return null\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0)\n return null\n else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))\n return null\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options))\n return null\n\n if (lt && !satisfies(eq, String(lt), options))\n return null\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options))\n return false\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt)\n return false\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))\n return false\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt)\n return false\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))\n return false\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0)\n return false\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0)\n return false\n\n if (lt && hasDomGT && !gt && gtltComp !== 0)\n return false\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre)\n return false\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","class Node {\n\t/// value;\n\t/// next;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\n\t\t// TODO: Remove this when targeting Node.js 12.\n\t\tthis.next = undefined;\n\t}\n}\n\nclass Queue {\n\t// TODO: Use private class fields when targeting Node.js 12.\n\t// #_head;\n\t// #_tail;\n\t// #_size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this._head) {\n\t\t\tthis._tail.next = node;\n\t\t\tthis._tail = node;\n\t\t} else {\n\t\t\tthis._head = node;\n\t\t\tthis._tail = node;\n\t\t}\n\n\t\tthis._size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this._head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._head = this._head.next;\n\t\tthis._size--;\n\t\treturn current.value;\n\t}\n\n\tclear() {\n\t\tthis._head = undefined;\n\t\tthis._tail = undefined;\n\t\tthis._size = 0;\n\t}\n\n\tget size() {\n\t\treturn this._size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this._head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n}\n\nmodule.exports = Queue;\n","module.exports = require(\"child_process\");;","module.exports = require(\"fs\");;","module.exports = require(\"os\");;","module.exports = require(\"path\");;","module.exports = require(\"prettier\");;","module.exports = require(\"util\");;","module.exports = require(\"vscode\");;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import { commands, ExtensionContext, workspace } from \"vscode\";\nimport { createConfigFile } from \"./commands\";\nimport { LoggingService } from \"./LoggingService\";\nimport { ModuleResolver } from \"./ModuleResolver\";\nimport PrettierEditService from \"./PrettierEditService\";\nimport { StatusBar } from \"./StatusBar\";\nimport { TemplateService } from \"./TemplateService\";\nimport { getConfig } from \"./util\";\nimport { RESTART_TO_ENABLE, EXTENSION_DISABLED } from \"./message\";\nimport { setGlobalState, setWorkspaceState } from \"./stateUtils\";\n\n// the application insights key (also known as instrumentation key)\nconst extensionName = process.env.EXTENSION_NAME || \"dev.prettier-vscode\";\nconst extensionVersion = process.env.EXTENSION_VERSION || \"0.0.0\";\n\nexport function activate(context: ExtensionContext) {\n const loggingService = new LoggingService();\n\n loggingService.logInfo(`Extension Name: ${extensionName}.`);\n loggingService.logInfo(`Extension Version: ${extensionVersion}.`);\n\n const { enable, enableDebugLogs } = getConfig();\n\n if (enableDebugLogs) {\n loggingService.setOutputLevel(\"DEBUG\");\n }\n\n if (!enable) {\n loggingService.logInfo(EXTENSION_DISABLED);\n context.subscriptions.push(\n workspace.onDidChangeConfiguration((event) => {\n if (event.affectsConfiguration(\"prettier.enable\")) {\n loggingService.logWarning(RESTART_TO_ENABLE);\n }\n })\n );\n return;\n }\n\n setGlobalState(context.globalState);\n setWorkspaceState(context.workspaceState);\n\n const templateService = new TemplateService(loggingService);\n\n const moduleResolver = new ModuleResolver(loggingService);\n\n const statusBar = new StatusBar();\n\n const editService = new PrettierEditService(\n moduleResolver,\n loggingService,\n statusBar\n );\n editService.registerGlobal();\n\n const createConfigFileFunc = createConfigFile(templateService);\n const createConfigFileCommand = commands.registerCommand(\n \"prettier.createConfigFile\",\n createConfigFileFunc\n );\n const openOutputCommand = commands.registerCommand(\n \"prettier.openOutput\",\n () => {\n loggingService.show();\n }\n );\n const forceFormatDocumentCommand = commands.registerCommand(\n \"prettier.forceFormatDocument\",\n editService.forceFormatDocument\n );\n\n context.subscriptions.push(\n editService,\n createConfigFileCommand,\n openOutputCommand,\n forceFormatDocumentCommand,\n ...editService.registerDisposables()\n );\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/icon.png b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/icon.png new file mode 100644 index 00000000..71f2515b Binary files /dev/null and b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/icon.png differ diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package-json-schema.json b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package-json-schema.json new file mode 100644 index 00000000..84e2d14e --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package-json-schema.json @@ -0,0 +1,9 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "properties": { + "prettier": { + "description": "Prettier configuration", + "$ref": "http://json.schemastore.org/prettierrc" + } + } +} diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package.json b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package.json new file mode 100644 index 00000000..bfd12796 --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package.json @@ -0,0 +1,423 @@ +{ + "name": "prettier-vscode", + "displayName": "Prettier - Code formatter", + "description": "Code formatter using prettier", + "version": "8.0.1", + "publisher": "esbenp", + "author": "Prettier <@prettiercode>", + "galleryBanner": { + "color": "#ffe04b", + "theme": "light" + }, + "homepage": "https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode", + "repository": { + "type": "git", + "url": "https://github.com/prettier/prettier-vscode.git" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/prettier/prettier-vscode/issues" + }, + "engines": { + "vscode": "^1.57.0" + }, + "keywords": [ + "multi-root ready", + "prettier", + "formatter", + "javascript", + "js", + "jsx", + "flow", + "typescript", + "ts", + "json", + "css", + "less", + "scss", + "styled-components", + "styled-jsx", + "markdown", + "md", + "commonmark", + "mdx", + "php", + "pug", + "ruby", + "swift", + "html", + "vue", + "angular", + "graphql", + "yaml", + "yml" + ], + "categories": [ + "Formatters" + ], + "activationEvents": [ + "onStartupFinished" + ], + "icon": "icon.png", + "main": "./dist/extension", + "scripts": { + "clean": "node ./scripts/clean.js", + "lint": "eslint -c .eslintrc.js --ext .ts .", + "pretest": "yarn test-compile && cd test-fixtures/plugins && yarn install && cd ../outdated && yarn install && cd ../module && yarn install && cd ../specific-version && yarn install && cd ../explicit-dep && yarn install && cd implicit-dep && yarn install", + "prettier": "prettier --write '**/*.{ts,json,md,yml,js}'", + "test-compile": "yarn clean && tsc -p ./ && yarn webpack", + "test": "node ./out/test/runTests.js", + "version": "node ./scripts/version.js && git add CHANGELOG.md", + "vscode:prepublish": "webpack --mode production", + "watch": "tsc --watch -p ./", + "webpack-dev": "webpack --mode development --watch", + "webpack": "webpack --mode development", + "postinstall": "husky install" + }, + "lint-staged": { + "**/*.{ts,json,md,yml,js}": [ + "prettier --write" + ], + "src/**/*.ts": [ + "eslint -c .eslintrc.js --ext .ts ." + ] + }, + "devDependencies": { + "@types/glob": "^7.1.3", + "@types/lodash": "^4.14.160", + "@types/mocha": "^8.0.0", + "@types/node": "14", + "@types/prettier": "^2.1.0", + "@types/resolve": "^1.17.0", + "@types/semver": "^7.3.1", + "@types/sinon": "^10.0.0", + "@types/vscode": "^1.57.0", + "@typescript-eslint/eslint-plugin": "^4.23.0", + "@typescript-eslint/parser": "^4.23.0", + "eslint": "^7.24.0", + "eslint-config-prettier": "^8.1.0", + "glob": "^7.1.6", + "husky": "^6.0.0", + "lint-staged": "^11.0.0", + "mocha": "^9.0.1", + "sinon": "^11.1.1", + "ts-loader": "^9.1.2", + "typescript": "^4.2.4", + "vsce": "^1.80.0", + "vscode-nls-dev": "^3.3.2", + "vscode-test": "^1.4.0", + "webpack": "^5.37.0", + "webpack-cli": "^4.2.0" + }, + "dependencies": { + "find-up": "^5.0.0", + "prettier": "^2.3.1", + "resolve": "^1.17.0", + "semver": "^7.3.4", + "vscode-nls": "^5.0.0" + }, + "capabilities": { + "untrustedWorkspaces": { + "supported": "limited", + "description": "%ext.capabilities.untrustedWorkspaces.description%", + "restrictedConfigurations": [ + "prettier.documentSelectors", + "prettier.resolveGlobalModules", + "prettier.ignorePath", + "prettier.prettierPath", + "prettier.configPath", + "prettier.useEditorConfig", + "prettier.resolveGlobalModules", + "prettier.withNodeModules" + ] + } + }, + "contributes": { + "configuration": { + "type": "object", + "title": "%ext.config.title%", + "properties": { + "prettier.disableLanguages": { + "type": "array", + "items": { + "type": "string" + }, + "deprecationMessage": "%ext.config.disableLanguagesDeprecation%", + "markdownDescription": "%ext.config.disableLanguages%", + "scope": "window" + }, + "prettier.documentSelectors": { + "type": "array", + "items": { + "type": "string" + }, + "markdownDescription": "%ext.config.documentSelectors%", + "scope": "window" + }, + "prettier.enable": { + "type": "boolean", + "default": true, + "markdownDescription": "%ext.config.enable%", + "scope": "resource" + }, + "prettier.requireConfig": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.requireConfig%", + "scope": "resource" + }, + "prettier.resolveGlobalModules": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.resolveGlobalModules%", + "scope": "resource" + }, + "prettier.withNodeModules": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.withNodeModules%", + "scope": "resource" + }, + "prettier.packageManager": { + "scope": "resource", + "type": "string", + "enum": [ + "npm", + "yarn", + "pnpm" + ], + "default": "npm", + "deprecationMessage": "%ext.config.packageManagerDeprecation%", + "markdownDescription": "%ext.config.packageManager%" + }, + "prettier.useEditorConfig": { + "type": "boolean", + "default": true, + "markdownDescription": "%ext.config.useEditorConfig%", + "scope": "resource" + }, + "prettier.ignorePath": { + "type": "string", + "default": ".prettierignore", + "markdownDescription": "%ext.config.ignorePath%", + "scope": "resource" + }, + "prettier.prettierPath": { + "type": "string", + "markdownDescription": "%ext.config.prettierPath%", + "scope": "resource" + }, + "prettier.configPath": { + "type": "string", + "markdownDescription": "%ext.config.configPath%", + "scope": "resource" + }, + "prettier.enableDebugLogs": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.enableDebugLogs%", + "scope": "resource" + }, + "prettier.printWidth": { + "type": "integer", + "default": 80, + "markdownDescription": "%ext.config.printWidth%", + "scope": "resource" + }, + "prettier.tabWidth": { + "type": "integer", + "default": 2, + "markdownDescription": "%ext.config.tabWidth%", + "scope": "resource" + }, + "prettier.singleQuote": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.singleQuote%", + "scope": "resource" + }, + "prettier.trailingComma": { + "type": "string", + "enum": [ + "none", + "es5", + "all" + ], + "default": "es5", + "markdownDescription": "%ext.config.trailingComma%", + "scope": "resource" + }, + "prettier.bracketSpacing": { + "type": "boolean", + "default": true, + "markdownDescription": "%ext.config.bracketSpacing%", + "scope": "resource" + }, + "prettier.jsxBracketSameLine": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.jsxBracketSameLine%", + "scope": "resource" + }, + "prettier.semi": { + "type": "boolean", + "default": true, + "markdownDescription": "%ext.config.semi%", + "scope": "resource" + }, + "prettier.requirePragma": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.requirePragma%", + "scope": "resource" + }, + "prettier.insertPragma": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.insertPragma%", + "scope": "resource" + }, + "prettier.useTabs": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.useTabs%", + "scope": "resource" + }, + "prettier.proseWrap": { + "type": "string", + "enum": [ + "preserve", + "always", + "never" + ], + "default": "preserve", + "markdownDescription": "%ext.config.proseWrap%", + "scope": "resource" + }, + "prettier.arrowParens": { + "type": "string", + "enum": [ + "avoid", + "always" + ], + "default": "always", + "markdownDescription": "%ext.config.arrowParens%", + "scope": "resource" + }, + "prettier.jsxSingleQuote": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.jsxSingleQuote%", + "scope": "resource" + }, + "prettier.htmlWhitespaceSensitivity": { + "type": "string", + "enum": [ + "css", + "strict", + "ignore" + ], + "default": "css", + "markdownDescription": "%ext.config.htmlWhitespaceSensitivity%", + "scope": "resource" + }, + "prettier.vueIndentScriptAndStyle": { + "type": "boolean", + "default": false, + "markdownDescription": "%ext.config.vueIndentScriptAndStyle%", + "scope": "resource" + }, + "prettier.endOfLine": { + "type": "string", + "enum": [ + "auto", + "lf", + "crlf", + "cr" + ], + "default": "lf", + "markdownDescription": "%ext.config.endOfLine%", + "scope": "resource" + }, + "prettier.quoteProps": { + "type": "string", + "enum": [ + "as-needed", + "consistent", + "preserve" + ], + "default": "as-needed", + "markdownDescription": "%ext.config.quoteProps%", + "scope": "resource" + }, + "prettier.embeddedLanguageFormatting": { + "type": "string", + "enum": [ + "auto", + "off" + ], + "default": "auto", + "markdownDescription": "%ext.config.embeddedLanguageFormatting%", + "scope": "resource" + } + } + }, + "jsonValidation": [ + { + "fileMatch": ".prettierrc", + "url": "http://json.schemastore.org/prettierrc" + }, + { + "fileMatch": ".prettierrc.json", + "url": "http://json.schemastore.org/prettierrc" + }, + { + "fileMatch": "package.json", + "url": "./package-json-schema.json" + } + ], + "languages": [ + { + "id": "json", + "filenames": [ + ".prettierrc" + ] + }, + { + "id": "ignore", + "filenames": [ + ".prettierignore" + ] + }, + { + "id": "graphql", + "extensions": [ + ".graphql" + ] + }, + { + "id": "vue", + "extensions": [ + ".vue" + ] + } + ], + "commands": [ + { + "command": "prettier.createConfigFile", + "title": "%ext.command.createConfigFile.title%" + }, + { + "command": "prettier.forceFormatDocument", + "title": "%ext.command.forceFormatDocument.title%", + "when": "editorFocus" + } + ] + }, + "__metadata": { + "id": "96fa4707-6983-4489-b7c5-d5ffdfdcce90", + "publisherId": "d16f4e39-2ffb-44e3-9c0d-79d873570e3a", + "publisherDisplayName": "Prettier", + "installedTimestamp": 1627023508442 + } +} \ No newline at end of file diff --git a/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package.nls.json b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package.nls.json new file mode 100644 index 00000000..8cab9bcb --- /dev/null +++ b/.vscode/extensions/esbenp.prettier-vscode-8.0.1/package.nls.json @@ -0,0 +1,40 @@ +{ + "ext.command.createConfigFile.title": "Prettier: Create Configuration File", + "ext.command.forceFormatDocument.title": "Format Document (Forced)", + "ext.config.arrowParens": "Include parentheses around a sole arrow function parameter", + "ext.config.bracketSpacing": "Controls the printing of spaces inside object literals", + "ext.config.configPath": "Path to the prettier configuration file", + "ext.config.disableLanguages": "A list of languages IDs to disable this extension on", + "ext.config.disableLanguagesDeprecation": "This feature is no longer supported. Instead, configure VS Code [default formatters](https://github.com/prettier/prettier-vscode#default-formatter) or use .prettierignore.", + "ext.config.documentSelectors": "A list of [glob patterns](https://code.visualstudio.com/api/references/vscode-api#GlobPattern) to register Prettier formatter", + "ext.config.endOfLine": "Specify the end of line used by prettier", + "ext.config.htmlWhitespaceSensitivity": "Specify the global whitespace sensitivity for HTML files.\n Valid options:\n- `css` - Respect the default value of CSS display property.\n- `strict` - Whitespaces are considered sensitive.\n- `ignore` - Whitespaces are considered insensitive.", + "ext.config.ignorePath": "Path to a .prettierignore file", + "ext.config.insertPragma": "Prettier can insert a special @format marker at the top of files specifying that the file has been formatted with prettier. This works well when used in tandem with the `--require-pragma` option. If there is already a docblock at the top of the file then this option will add a newline to it with the @format marker.", + "ext.config.jsxBracketSameLine": "If true, puts the `>` of a multi-line jsx element at the end of the last line instead of being alone on the next line", + "ext.config.jsxSingleQuote": "Use single quotes instead of double quotes in JSX", + "ext.config.packageManager": "The package manager you use to install node modules.", + "ext.config.packageManagerDeprecation": "Package manager is now automatically detected by VS Code. This setting is no longer used.", + "ext.config.parser": "Override the parser. You shouldn't have to change this setting.", + "ext.config.parserDeprecationMessage": "This setting is no longer supported. Use a prettier configuration file instead.", + "ext.config.prettierPath": "Path to the prettier module", + "ext.config.printWidth": "Fit code within this line limit", + "ext.config.proseWrap": "(Markdown) wrap prose over multiple lines", + "ext.config.quoteProps": "Change when properties in objects are quoted", + "ext.config.requireConfig": "Require a prettier configuration file to format. See [documentation for valid configuration files](https://prettier.io/docs/en/configuration.html).\n\n> _Note, untitled files will still be formatted using the VS Code prettier settings even when this setting is set._", + "ext.config.requirePragma": "Prettier can restrict itself to only format files that contain a special comment, called a pragma, at the top of the file. This is very useful when gradually transitioning large, unformatted codebases to prettier.", + "ext.config.resolveGlobalModules": "When enabled, this extension will attempt to use global npm or yarn modules if local modules cannot be resolved.\n> _This setting can have a negative performance impact, particularly on Windows when you have attached network drives. Only enable this if you must use global modules._", + "ext.config.withNodeModules": "If true, this extension will process files in node_modules", + "ext.config.semi": "Whether to add a semicolon at the end of every line", + "ext.config.singleQuote": "If true, will use single instead of double quotes", + "ext.config.tabWidth": "Number of spaces it should use per tab", + "ext.config.title": "Prettier", + "ext.config.trailingComma": "Controls the printing of trailing commas wherever possible. Valid options:\n- `none` - No trailing commas\n- `es5` - Trailing commas where valid in ES5 (objects, arrays, etc)\n- `all` - Trailing commas wherever possible (function arguments)", + "ext.config.useEditorConfig": "Whether or not to take `.editorconfig` into account when parsing configuration. See the [prettier.resolveConfig](https://prettier.io/docs/en/api.html) docs for details.", + "ext.config.useTabs": "Indent lines with tabs", + "ext.config.vueIndentScriptAndStyle": "Whether or not to indent the code inside `" + // ], + // "description": "Create " + // ], + // "description": "Create +``` + +In the HTML interpolation regions, `start` and `msg` will be completed. Their documentation will be the Markdown below: + +```` +Initial counter value + +```js +start: { + type: Number, + default: 0 +} +``` + +--- + +My msg + +```js +msg: 'Vetur get much better completion', +``` +```` + +#### Child Component Completion + +If you have child components in a parent component: + +```vue +)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)" + } + ] + }, + { + "begin": "(<)(script)\\b(?=[^>]*lang=('ts'|\"ts\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.ts", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.ts" + } + ] + } + ] + }, + { + "begin": "(<)(script)\\b(?=[^>]*lang=('coffee'|\"coffee\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.coffee", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.coffee" + } + ] + } + ] + }, + { + "begin": "(<)(script)(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.js", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.js" + } + ] + } + ] + } + ], + "repository": { + "entities": { + "patterns": [ + { + "name": "constant.character.entity.html", + "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", + "captures": { + "1": { + "name": "punctuation.definition.entity.html" + }, + "3": { + "name": "punctuation.definition.entity.html" + } + } + }, + { + "name": "invalid.illegal.bad-ampersand.html", + "match": "&" + } + ] + }, + "string-double-quoted": { + "name": "string.quoted.double.html", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + "string-single-quoted": { + "name": "string.quoted.single.html", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + "tag-generic-attribute": { + "name": "entity.other.attribute-name.html", + "match": "\\b([a-zA-Z\\-:_]+)" + }, + "tag-id-attribute": { + "name": "meta.attribute-with-value.id.html", + "begin": "\\b(id)\\b\\s*(=)", + "end": "(?<='|\")", + "captures": { + "1": { + "name": "entity.other.attribute-name.id.html" + }, + "2": { + "name": "punctuation.separator.key-value.html" + } + }, + "patterns": [ + { + "name": "string.quoted.double.html", + "contentName": "meta.toc-list.id.html", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + { + "name": "string.quoted.single.html", + "contentName": "meta.toc-list.id.html", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + } + ] + }, + "tag-stuff": { + "patterns": [ + { + "include": "#vue-directives" + }, + { + "include": "#tag-id-attribute" + }, + { + "include": "#tag-generic-attribute" + }, + { + "include": "#string-double-quoted" + }, + { + "include": "#string-single-quoted" + } + ] + }, + "vue-directives": { + "name": "meta.directive.vue", + "begin": "(?:\\b(v-)|(:|@|#))([a-zA-Z0-9\\-_]+)(?:\\:([a-zA-Z\\-_]+))?(?:\\.([a-zA-Z\\-_]+))*\\s*(=)", + "end": "(?<='|\")|(?=[\\s<>`])", + "captures": { + "1": { + "name": "entity.other.attribute-name.html" + }, + "2": { + "name": "punctuation.separator.key-value.html" + }, + "3": { + "name": "entity.other.attribute-name.html" + }, + "4": { + "name": "entity.other.attribute-name.html" + }, + "5": { + "name": "entity.other.attribute-name.html" + }, + "6": { + "name": "punctuation.separator.key-value.html" + } + }, + "patterns": [ + { + "name": "source.directive.vue", + "begin": "`", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "`", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + }, + { + "name": "source.directive.vue", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + }, + { + "name": "source.directive.vue", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + } + ] + }, + "vue-interpolations": { + "patterns": [ + { + "name": "expression.embedded.vue", + "begin": "\\{\\{\\{?", + "beginCaptures": { + "0": { + "name": "punctuation.definition.generic.begin.html" + } + }, + "end": "\\}\\}\\}?", + "endCaptures": { + "0": { + "name": "punctuation.definition.generic.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-html.YAML b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-html.YAML new file mode 100644 index 00000000..22f33fb0 --- /dev/null +++ b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-html.YAML @@ -0,0 +1,253 @@ +# [PackageDev] target_format: plist, ext: tmLanguage +name: Vue HTML +scopeName: text.html.vue-html +fileTypes: [] +uuid: ca2e4260-5d62-45bf-8cf1-d8b5cc19c8f8 +patterns: + - include: source.vue#vue-interpolations + - name: meta.tag.any.html + begin: (<)([A-Z][a-zA-Z0-9:-]*)(?=[^>]*>) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: support.class.component.html } + end: (>)(<)(/)(\2)(>) + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + '2': { name: punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html } + '3': { name: punctuation.definition.tag.begin.html } + '4': { name: support.class.component.html } + '5': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.any.html + begin: (<)([a-z][a-zA-Z0-9:-]*)(?=[^>]*>) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.html } + end: (>)(<)(/)(\2)(>) + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + '2': { name: punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html } + '3': { name: punctuation.definition.tag.begin.html } + '4': { name: entity.name.tag.html } + '5': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.preprocessor.xml.html + begin: (<\?)(xml) + end: (\?>) + captures: + '1': { name: punctuation.definition.tag.html } + '2': { name: entity.name.tag.xml.html } + patterns: + - include: '#tag-generic-attribute' + - include: '#string-double-quoted' + - include: '#string-single-quoted' + - name: comment.block.html + begin: + captures: + '0': { name: punctuation.definition.comment.html } + - name: meta.tag.sgml.html + begin: ' + captures: + '0': { name: punctuation.definition.tag.html } + patterns: + - name: meta.tag.sgml.doctype.html + begin: (?i:DOCTYPE) + end: (?=>) + captures: + '1': { name: entity.name.tag.doctype.html } + patterns: + - name: string.quoted.double.doctype.identifiers-and-DTDs.html + match: '"[^">]*"' + - name: constant.other.inline-data.html + begin: \[CDATA\[ + end: ']](?=>)' + - name: invalid.illegal.bad-comments-or-CDATA.html + match: (\s*)(?!--|>)\S(\s*) + - name: meta.tag.block.any.html + begin: () + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.block.any.html + begin: () + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.structure.any.html + begin: () + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + captures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.structure.any.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.block.any.html + begin: () + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.inline.any.html + begin: () + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - name: meta.tag.other.html + begin: () + endCaptures: + '1': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - include: '#entities' + - name: invalid.illegal.incomplete.html + match: <> + - name: invalid.illegal.bad-angle-bracket.html + match: < +repository: + entities: + patterns: + - name: constant.character.entity.html + match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) + captures: + '1': { name: punctuation.definition.entity.html } + '3': { name: punctuation.definition.entity.html } + - name: invalid.illegal.bad-ampersand.html + match: '&' + string-double-quoted: + name: string.quoted.double.html + begin: '"' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '"' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.vue#vue-interpolations + - include: '#entities' + string-single-quoted: + name: string.quoted.single.html + begin: "'" + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: "'" + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.vue#vue-interpolations + - include: '#entities' + tag-generic-attribute: + name: entity.other.attribute-name.html + match: (?<=[^=])\b([a-zA-Z0-9:\-_]+) + tag-id-attribute: + name: meta.attribute-with-value.id.html + begin: \b(id)\b\s*(=) + end: (?!\G)(?<='|"|[^\s<>/]) + captures: + '1': { name: entity.other.attribute-name.id.html } + '2': { name: punctuation.separator.key-value.html } + patterns: + - name: string.quoted.double.html + contentName: meta.toc-list.id.html + begin: '"' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '"' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.vue#vue-interpolations + - include: '#entities' + - name: string.quoted.single.html + contentName: meta.toc-list.id.html + begin: "'" + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: "'" + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.vue#vue-interpolations + - include: '#entities' + - name: string.unquoted.html + match: (?<==)(?:[^\s<>/'"]|/(?!>))+ + captures: + '0': { name: meta.toc-list.id.html } + tag-stuff: + patterns: + - include: '#vue-directives' + - include: '#tag-id-attribute' + - include: '#tag-generic-attribute' + - include: '#string-double-quoted' + - include: '#string-single-quoted' + - include: '#unquoted-attribute' + unquoted-attribute: + name: string.unquoted.html + match: (?<==)(?:[^\s<>/'"]|/(?!>))+ + vue-directives: + name: meta.directive.vue + begin: (?:\b(v-)|(:|@|#))([a-zA-Z0-9\-_]+)(?:\:([a-zA-Z\-_]+))?(?:\.([a-zA-Z\-_]+))*\s*(=) + end: (?<='|")|(?=[\s<>`]) + captures: + '1': { name: entity.other.attribute-name.html } + '2': { name: punctuation.separator.key-value.html } + '3': { name: entity.other.attribute-name.html } + '4': { name: entity.other.attribute-name.html } + '5': { name: entity.other.attribute-name.html } + '6': { name: punctuation.separator.key-value.html } + patterns: + - name: source.directive.vue + begin: '`' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '`' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.js#expression + - name: source.directive.vue + begin: '"' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '"' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.js#expression + - name: source.directive.vue + begin: "'" + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: "'" + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.js#expression diff --git a/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-html.tmLanguage.json b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-html.tmLanguage.json new file mode 100644 index 00000000..d8a3af60 --- /dev/null +++ b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-html.tmLanguage.json @@ -0,0 +1,558 @@ +{ + "name": "Vue HTML", + "scopeName": "text.html.vue-html", + "fileTypes": [], + "uuid": "ca2e4260-5d62-45bf-8cf1-d8b5cc19c8f8", + "patterns": [ + { + "include": "source.vue#vue-interpolations" + }, + { + "name": "meta.tag.any.html", + "begin": "(<)([A-Z][a-zA-Z0-9:-]*)(?=[^>]*>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "support.class.component.html" + } + }, + "end": "(>)(<)(/)(\\2)(>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + }, + "2": { + "name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html" + }, + "3": { + "name": "punctuation.definition.tag.begin.html" + }, + "4": { + "name": "support.class.component.html" + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.any.html", + "begin": "(<)([a-z][a-zA-Z0-9:-]*)(?=[^>]*>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "(>)(<)(/)(\\2)(>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + }, + "2": { + "name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html" + }, + "3": { + "name": "punctuation.definition.tag.begin.html" + }, + "4": { + "name": "entity.name.tag.html" + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.preprocessor.xml.html", + "begin": "(<\\?)(xml)", + "end": "(\\?>)", + "captures": { + "1": { + "name": "punctuation.definition.tag.html" + }, + "2": { + "name": "entity.name.tag.xml.html" + } + }, + "patterns": [ + { + "include": "#tag-generic-attribute" + }, + { + "include": "#string-double-quoted" + }, + { + "include": "#string-single-quoted" + } + ] + }, + { + "name": "comment.block.html", + "begin": "", + "captures": { + "0": { + "name": "punctuation.definition.comment.html" + } + } + }, + { + "name": "meta.tag.sgml.html", + "begin": "", + "captures": { + "0": { + "name": "punctuation.definition.tag.html" + } + }, + "patterns": [ + { + "name": "meta.tag.sgml.doctype.html", + "begin": "(?i:DOCTYPE)", + "end": "(?=>)", + "captures": { + "1": { + "name": "entity.name.tag.doctype.html" + } + }, + "patterns": [ + { + "name": "string.quoted.double.doctype.identifiers-and-DTDs.html", + "match": "\"[^\">]*\"" + } + ] + }, + { + "name": "constant.other.inline-data.html", + "begin": "\\[CDATA\\[", + "end": "]](?=>)" + }, + { + "name": "invalid.illegal.bad-comments-or-CDATA.html", + "match": "(\\s*)(?!--|>)\\S(\\s*)" + } + ] + }, + { + "name": "meta.tag.block.any.html", + "begin": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.block.any.html", + "begin": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.structure.any.html", + "begin": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "captures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.structure.any.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.block.any.html", + "begin": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.inline.any.html", + "begin": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "name": "meta.tag.other.html", + "begin": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "include": "#entities" + }, + { + "name": "invalid.illegal.incomplete.html", + "match": "<>" + }, + { + "name": "invalid.illegal.bad-angle-bracket.html", + "match": "<" + } + ], + "repository": { + "entities": { + "patterns": [ + { + "name": "constant.character.entity.html", + "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", + "captures": { + "1": { + "name": "punctuation.definition.entity.html" + }, + "3": { + "name": "punctuation.definition.entity.html" + } + } + }, + { + "name": "invalid.illegal.bad-ampersand.html", + "match": "&" + } + ] + }, + "string-double-quoted": { + "name": "string.quoted.double.html", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.vue#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + "string-single-quoted": { + "name": "string.quoted.single.html", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.vue#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + "tag-generic-attribute": { + "name": "entity.other.attribute-name.html", + "match": "(?<=[^=])\\b([a-zA-Z0-9:\\-_]+)" + }, + "tag-id-attribute": { + "name": "meta.attribute-with-value.id.html", + "begin": "\\b(id)\\b\\s*(=)", + "end": "(?!\\G)(?<='|\"|[^\\s<>/])", + "captures": { + "1": { + "name": "entity.other.attribute-name.id.html" + }, + "2": { + "name": "punctuation.separator.key-value.html" + } + }, + "patterns": [ + { + "name": "string.quoted.double.html", + "contentName": "meta.toc-list.id.html", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.vue#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + { + "name": "string.quoted.single.html", + "contentName": "meta.toc-list.id.html", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.vue#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + { + "name": "string.unquoted.html", + "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+", + "captures": { + "0": { + "name": "meta.toc-list.id.html" + } + } + } + ] + }, + "tag-stuff": { + "patterns": [ + { + "include": "#vue-directives" + }, + { + "include": "#tag-id-attribute" + }, + { + "include": "#tag-generic-attribute" + }, + { + "include": "#string-double-quoted" + }, + { + "include": "#string-single-quoted" + }, + { + "include": "#unquoted-attribute" + } + ] + }, + "unquoted-attribute": { + "name": "string.unquoted.html", + "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+" + }, + "vue-directives": { + "name": "meta.directive.vue", + "begin": "(?:\\b(v-)|(:|@|#))([a-zA-Z0-9\\-_]+)(?:\\:([a-zA-Z\\-_]+))?(?:\\.([a-zA-Z\\-_]+))*\\s*(=)", + "end": "(?<='|\")|(?=[\\s<>`])", + "captures": { + "1": { + "name": "entity.other.attribute-name.html" + }, + "2": { + "name": "punctuation.separator.key-value.html" + }, + "3": { + "name": "entity.other.attribute-name.html" + }, + "4": { + "name": "entity.other.attribute-name.html" + }, + "5": { + "name": "entity.other.attribute-name.html" + }, + "6": { + "name": "punctuation.separator.key-value.html" + } + }, + "patterns": [ + { + "name": "source.directive.vue", + "begin": "`", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "`", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + }, + { + "name": "source.directive.vue", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + }, + { + "name": "source.directive.vue", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-postcss.json b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-postcss.json new file mode 100644 index 00000000..4295f504 --- /dev/null +++ b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue-postcss.json @@ -0,0 +1,374 @@ +{ + "patterns": [ + { + "patterns": [ + { + "include": "#comment-tag" + } + ], + "begin": "/\\*", + "name": "comment.block.postcss", + "end": "\\*/" + }, + { + "include": "#double-slash" + }, + { + "include": "#double-quoted" + }, + { + "include": "#single-quoted" + }, + { + "include": "#interpolation" + }, + { + "include": "#placeholder-selector" + }, + { + "include": "#variable" + }, + { + "include": "#variable-root-css" + }, + { + "include": "#numeric" + }, + { + "include": "#unit" + }, + { + "include": "#flag" + }, + { + "include": "#dotdotdot" + }, + { + "captures": { + "0": { + "name": "keyword.control.at-rule.css.postcss" + } + }, + "begin": "@include", + "name": "support.function.name.postcss.library", + "end": "(?=\\n|\\(|{|;)" + }, + { + "captures": { + "0": { + "name": "keyword.control.at-rule.css.postcss" + } + }, + "patterns": [ + { + "name": "entity.name.function", + "match": "[\\w-]+" + } + ], + "begin": "@mixin|@function", + "name": "support.function.name.postcss.no-completions", + "end": "$\\n?|(?=\\(|{)" + }, + { + "name": "string.quoted.double.css.postcss", + "match": "(?<=@import)\\s[\\w/.*-]+" + }, + { + "begin": "@", + "name": "keyword.control.at-rule.css.postcss", + "end": "$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)(\\s|,))|(?=;)" + }, + { + "patterns": [ + { + "include": "#interpolation" + }, + { + "include": "#pseudo-class" + } + ], + "begin": "#", + "name": "entity.other.attribute-name.id.css.postcss", + "end": "$\\n?|(?=\\s|,|;|\\(|\\)|\\.|\\[|{|>)" + }, + { + "patterns": [ + { + "include": "#interpolation" + }, + { + "include": "#pseudo-class" + } + ], + "begin": "\\.|(?<=&)(-|_)", + "name": "entity.other.attribute-name.class.css.postcss", + "end": "$\\n?|(?=\\s|,|;|\\(|\\)|\\[|{|>)" + }, + { + "patterns": [ + { + "include": "#double-quoted" + }, + { + "include": "#single-quoted" + }, + { + "name": "keyword.other.regex.postcss", + "match": "\\^|\\$|\\*|~" + } + ], + "begin": "\\[", + "name": "entity.other.attribute-selector.postcss", + "end": "\\]" + }, + { + "name": "entity.other.attribute-name.pseudo-class.css.postcss", + "match": "(?<=\\]|\\)|not\\(|\\*|>|>\\s):[a-z:-]+|(::|:-)[a-z:-]+" + }, + { + "patterns": [ + { + "include": "#double-slash" + }, + { + "include": "#double-quoted" + }, + { + "include": "#single-quoted" + }, + { + "include": "#interpolation" + }, + { + "include": "#variable" + }, + { + "include": "#rgb-value" + }, + { + "include": "#numeric" + }, + { + "include": "#unit" + }, + { + "include": "#flag" + }, + { + "include": "#function" + }, + { + "include": "#function-content" + }, + { + "include": "#function-content-var" + }, + { + "include": "#operator" + }, + { + "include": "#parent-selector" + }, + { + "include": "#property-value" + } + ], + "begin": ":", + "name": "meta.property-list.css.postcss", + "end": "$\\n?|(?=;|\\s\\(|and\\(|{|}|\\),)" + }, + { + "include": "#rgb-value" + }, + { + "include": "#function" + }, + { + "include": "#function-content" + }, + { + "patterns": [ + { + "include": "#interpolation" + }, + { + "include": "#pseudo-class" + } + ], + "begin": "(?|-|_)" + }, + { + "include": "#operator" + }, + { + "name": "support.type.property-name.css.postcss", + "match": "[a-z-]+((?=:|#{))" + }, + { + "include": "#reserved-words" + }, + { + "include": "#property-value" + } + ], + "name": "PostCSS", + "repository": { + "reserved-words": { + "name": "support.type.property-name.css.postcss", + "match": "\\b(false|from|in|not|null|through|to|true)\\b" + }, + "double-quoted": { + "patterns": [ + { + "include": "#quoted-interpolation" + } + ], + "begin": "\"", + "name": "string.quoted.double.css.postcss", + "end": "\"" + }, + "operator": { + "name": "keyword.operator.postcss", + "match": "\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~" + }, + "function-content": { + "name": "string.quoted.double.css.postcss", + "match": "(?<=url\\(|format\\(|attr\\().+?(?=\\))" + }, + "double-slash": { + "patterns": [ + { + "include": "#comment-tag" + } + ], + "begin": "//", + "name": "comment.line.postcss", + "end": "$" + }, + "numeric": { + "name": "constant.numeric.css.postcss", + "match": "(-|\\.)?[0-9]+(\\.[0-9]+)?" + }, + "variable-root-css": { + "name": "variable.parameter.postcss", + "match": "(?)" + }, + { + "patterns": [ + { + "include": "#interpolation" + }, + { + "include": "#pseudo-class" + } + ], + "begin": "\\.|(?<=&)(-|_)", + "name": "entity.other.attribute-name.class.css.sugarss", + "end": "$\\n?|(?=\\s|,|\\(|\\)|\\[|{|>)" + }, + { + "patterns": [ + { + "include": "#double-quoted" + }, + { + "include": "#single-quoted" + }, + { + "name": "keyword.other.regex.sugarss", + "match": "\\^|\\$|\\*|~" + } + ], + "begin": "\\[", + "name": "entity.other.attribute-selector.sugarss", + "end": "\\]" + }, + { + "name": "entity.other.attribute-name.pseudo-class.css.sugarss", + "match": "(?<=\\]|\\)|not\\(|\\*|>|>\\s):[a-z:-]+|(::|:-)[a-z:-]+" + }, + { + "patterns": [ + { + "include": "#double-slash" + }, + { + "include": "#double-quoted" + }, + { + "include": "#single-quoted" + }, + { + "include": "#interpolation" + }, + { + "include": "#variable" + }, + { + "include": "#rgb-value" + }, + { + "include": "#numeric" + }, + { + "include": "#unit" + }, + { + "include": "#flag" + }, + { + "include": "#function" + }, + { + "include": "#function-content" + }, + { + "include": "#function-content-var" + }, + { + "include": "#operator" + }, + { + "include": "#parent-selector" + }, + { + "include": "#property-value" + } + ], + "begin": ":", + "name": "meta.property-list.css.sugarss", + "end": "$\\n?|(?=\\s\\(|and\\(|{|}|\\),)" + }, + { + "include": "#rgb-value" + }, + { + "include": "#function" + }, + { + "include": "#function-content" + }, + { + "patterns": [ + { + "include": "#interpolation" + }, + { + "include": "#pseudo-class" + } + ], + "begin": "(?|-|_)" + }, + { + "include": "#operator" + }, + { + "name": "support.type.property-name.css.sugarss", + "match": "[a-z-]+((?=:|#{))" + }, + { + "include": "#reserved-words" + }, + { + "include": "#property-value" + } + ], + "name": "SugarSS", + "repository": { + "reserved-words": { + "name": "support.type.property-name.css.sugarss", + "match": "\\b(false|from|in|not|null|through|to|true)\\b" + }, + "double-quoted": { + "patterns": [ + { + "include": "#quoted-interpolation" + } + ], + "begin": "\"", + "name": "string.quoted.double.css.sugarss", + "end": "\"" + }, + "operator": { + "name": "keyword.operator.sugarss", + "match": "\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~" + }, + "function-content": { + "name": "string.quoted.double.css.sugarss", + "match": "(?<=url\\(|format\\(|attr\\().+?(?=\\))" + }, + "double-slash": { + "patterns": [ + { + "include": "#comment-tag" + } + ], + "begin": "//", + "name": "comment.line.sugarss", + "end": "$" + }, + "numeric": { + "name": "constant.numeric.css.sugarss", + "match": "(-|\\.)?[0-9]+(\\.[0-9]+)?" + }, + "variable-root-css": { + "name": "variable.parameter.sugarss", + "match": "(?", + "captures": { + "0": { + "name": "punctuation.definition.comment.html" + } + } + }, + { + "begin": "(<)(?=template.*[^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + } + }, + "end": "(/>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "begin": "(template)", + "beginCaptures": { + "1": { + "name": "entity.name.tag.template.html" + } + }, + "end": "(?=/>)", + "patterns": [ + { + "include": "#tag-stuff" + } + ] + } + ] + }, + { + "begin": "(<)(template)(?=[^>]*>[^/>]*)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)" + } + ] + }, + { + "begin": "(<)(template)\\b(?=[^>]*lang=('jade'|\"jade\"|'pug'|\"pug\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "text.pug", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "text.pug" + } + ] + } + ] + }, + { + "begin": "(<)(template)\\b(?=[^>]*lang=('haml'|\"haml\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "text.haml", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "text.haml" + } + ] + } + ] + }, + { + "begin": "(<)(template)\\b(?=[^>]*lang=('slim'|\"slim\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "text.slim", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "text.slim" + } + ] + } + ] + }, + { + "begin": "(<)(template)\\b(?=[^>]*lang=('slm'|\"slm\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "text.jade.slm", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "text.jade.slm" + } + ] + } + ] + }, + { + "begin": "(<)(template)\\b(?=[^>]*lang=('liquid'|\"liquid\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "text.html.liquid", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "text.html.liquid" + } + ] + } + ] + }, + { + "begin": "(<)(template)(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + } + }, + "end": "^()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.template.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "text.html.vue-html", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=^)", + "patterns": [ + { + "include": "text.html.vue-html" + } + ] + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "(/>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "begin": "(<)(style)(?=[^>]*>[^/>]*)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)" + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^>]*lang=('sass'|\"sass\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.sass", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.sass" + } + ] + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^>]*lang=('scss'|\"scss\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.css.scss", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.css.scss" + } + ] + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^>]*lang=('less'|\"less\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.css.less", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.css.less" + } + ] + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^>]*lang=('stylus'|\"stylus\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.stylus", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.stylus" + } + ] + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^>]*lang=('postcss'|\"postcss\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.css.postcss", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.css.postcss" + } + ] + } + ] + }, + { + "begin": "(<)(style)\\b(?=[^>]*lang=(['\"]sss['\"]))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.css.sugarss", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.css.sugarss" + } + ] + } + ] + }, + { + "begin": "(<)(style)(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.style.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.css", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.css" + } + ] + } + ] + }, + { + "begin": "(<)(script)\\b(?=[^>]*/>$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "(/>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "begin": "(<)(script)(?=[^>]*>[^/>]*)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)" + } + ] + }, + { + "begin": "(<)(script)\\b(?=[^>]*lang=('ts'|\"ts\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.ts", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.ts" + } + ] + } + ] + }, + { + "begin": "(<)(script)\\b(?=[^>]*lang=('coffee'|\"coffee\"))(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.coffee", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.coffee" + } + ] + } + ] + }, + { + "begin": "(<)(script)(?![^/>]*/>\\s*$)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + } + }, + "end": "()", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.script.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [ + { + "include": "#tag-stuff" + }, + { + "contentName": "source.js", + "begin": "(>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?=)", + "patterns": [ + { + "include": "source.js" + } + ] + } + ] + } + ], + "repository": { + "entities": { + "patterns": [ + { + "name": "constant.character.entity.html", + "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", + "captures": { + "1": { + "name": "punctuation.definition.entity.html" + }, + "3": { + "name": "punctuation.definition.entity.html" + } + } + }, + { + "name": "invalid.illegal.bad-ampersand.html", + "match": "&" + } + ] + }, + "string-double-quoted": { + "name": "string.quoted.double.html", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + "string-single-quoted": { + "name": "string.quoted.single.html", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + "tag-generic-attribute": { + "name": "entity.other.attribute-name.html", + "match": "\\b([a-zA-Z\\-:_]+)" + }, + "tag-id-attribute": { + "name": "meta.attribute-with-value.id.html", + "begin": "\\b(id)\\b\\s*(=)", + "end": "(?<='|\")", + "captures": { + "1": { + "name": "entity.other.attribute-name.id.html" + }, + "2": { + "name": "punctuation.separator.key-value.html" + } + }, + "patterns": [ + { + "name": "string.quoted.double.html", + "contentName": "meta.toc-list.id.html", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + }, + { + "name": "string.quoted.single.html", + "contentName": "meta.toc-list.id.html", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "#vue-interpolations" + }, + { + "include": "#entities" + } + ] + } + ] + }, + "tag-stuff": { + "patterns": [ + { + "include": "#vue-directives" + }, + { + "include": "#tag-id-attribute" + }, + { + "include": "#tag-generic-attribute" + }, + { + "include": "#string-double-quoted" + }, + { + "include": "#string-single-quoted" + } + ] + }, + "vue-directives": { + "name": "meta.directive.vue", + "begin": "(?:\\b(v-)|(:|@|#))([a-zA-Z0-9\\-_]+)(?:\\:([a-zA-Z\\-_]+))?(?:\\.([a-zA-Z\\-_]+))*\\s*(=)", + "end": "(?<='|\")|(?=[\\s<>`])", + "captures": { + "1": { + "name": "entity.other.attribute-name.html" + }, + "2": { + "name": "punctuation.separator.key-value.html" + }, + "3": { + "name": "entity.other.attribute-name.html" + }, + "4": { + "name": "entity.other.attribute-name.html" + }, + "5": { + "name": "entity.other.attribute-name.html" + }, + "6": { + "name": "punctuation.separator.key-value.html" + } + }, + "patterns": [ + { + "name": "source.directive.vue", + "begin": "`", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "`", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + }, + { + "name": "source.directive.vue", + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + }, + { + "name": "source.directive.vue", + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + } + ] + }, + "vue-interpolations": { + "patterns": [ + { + "name": "expression.embedded.vue", + "begin": "\\{\\{\\{?", + "beginCaptures": { + "0": { + "name": "punctuation.definition.generic.begin.html" + } + }, + "end": "\\}\\}\\}?", + "endCaptures": { + "0": { + "name": "punctuation.definition.generic.end.html" + } + }, + "patterns": [ + { + "include": "source.js#expression" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue.yaml b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue.yaml new file mode 100644 index 00000000..e6a3dfa3 --- /dev/null +++ b/.vscode/extensions/octref.vetur-0.34.1/syntaxes/vue.yaml @@ -0,0 +1,548 @@ +# [PackageDev] target_format: plist, ext: tmLanguage +name: Vue +scopeName: source.vue +fileTypes: [vue] +uuid: 5512c10d-4cc5-434c-b8fc-53b912f55ab3 +patterns: + # comment + - name: comment.block.html + begin: + captures: + '0': { name: punctuation.definition.comment.html } + + # template - single line + # ) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + + # jade / pug + - begin: (<)(template)\b(?=[^>]*lang=('jade'|"jade"|'pug'|"pug"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: text.pug + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: text.pug + + # haml + - begin: (<)(template)\b(?=[^>]*lang=('haml'|"haml"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: text.haml + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: text.haml + + # slim + - begin: (<)(template)\b(?=[^>]*lang=('slim'|"slim"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: text.slim + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: text.slim + + # slm + - begin: (<)(template)\b(?=[^>]*lang=('slm'|"slm"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: text.jade.slm + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: text.jade.slm + + # liquid + - begin: (<)(template)\b(?=[^>]*lang=('liquid'|"liquid"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: text.html.liquid + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: text.html.liquid + + # html + - begin: (<)(template)(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + end: ^() + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.template.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: text.html.vue-html + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=^) + patterns: + - include: text.html.vue-html + + # style - single line + # + - begin: (<)(style)(?=[^>]*>[^/>]*) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + + # sass / scss + - begin: (<)(style)\b(?=[^>]*lang=('sass'|"sass"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.sass + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.sass + - begin: (<)(style)\b(?=[^>]*lang=('scss'|"scss"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.css.scss + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.css.scss + + # less + - begin: (<)(style)\b(?=[^>]*lang=('less'|"less"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.css.less + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.css.less + + # stylus + - begin: (<)(style)\b(?=[^>]*lang=('stylus'|"stylus"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.stylus + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.stylus + + # postcss + - begin: (<)(style)\b(?=[^>]*lang=('postcss'|"postcss"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.css.postcss + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.css.postcss + + # sugarss + - begin: (<)(style)\b(?=[^>]*lang=(['"]sss['"]))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.css.sugarss + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.css.sugarss + + # css + - begin: (<)(style)(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.style.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.css + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.css + + # script - single line + # + - begin: (<)(script)(?=[^>]*>[^/>]*) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + + # ts + - begin: (<)(script)\b(?=[^>]*lang=('ts'|"ts"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.ts + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.ts + + # coffee + - begin: (<)(script)\b(?=[^>]*lang=('coffee'|"coffee"))(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.coffee + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.coffee + + # js + - begin: (<)(script)(?![^/>]*/>\s*$) + beginCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + end: () + endCaptures: + '1': { name: punctuation.definition.tag.begin.html } + '2': { name: entity.name.tag.script.html } + '3': { name: punctuation.definition.tag.end.html } + patterns: + - include: '#tag-stuff' + - contentName: source.js + begin: (>) + beginCaptures: + '1': { name: punctuation.definition.tag.end.html } + end: (?=) + patterns: + - include: source.js + +# Repository +repository: + entities: + patterns: + - name: constant.character.entity.html + match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) + captures: + '1': { name: punctuation.definition.entity.html } + '3': { name: punctuation.definition.entity.html } + - name: invalid.illegal.bad-ampersand.html + match: '&' + string-double-quoted: + name: string.quoted.double.html + begin: '"' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '"' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: '#vue-interpolations' + - include: '#entities' + string-single-quoted: + name: string.quoted.single.html + begin: "'" + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: "'" + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: '#vue-interpolations' + - include: '#entities' + tag-generic-attribute: + name: entity.other.attribute-name.html + match: \b([a-zA-Z\-:_]+) + tag-id-attribute: + name: meta.attribute-with-value.id.html + begin: \b(id)\b\s*(=) + end: (?<='|") + captures: + '1': { name: entity.other.attribute-name.id.html } + '2': { name: punctuation.separator.key-value.html } + patterns: + - name: string.quoted.double.html + contentName: meta.toc-list.id.html + begin: '"' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '"' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: '#vue-interpolations' + - include: '#entities' + - name: string.quoted.single.html + contentName: meta.toc-list.id.html + begin: "'" + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: "'" + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: '#vue-interpolations' + - include: '#entities' + tag-stuff: + patterns: + - include: '#vue-directives' + - include: '#tag-id-attribute' + - include: '#tag-generic-attribute' + - include: '#string-double-quoted' + - include: '#string-single-quoted' + vue-directives: + name: meta.directive.vue + begin: (?:\b(v-)|(:|@|#))([a-zA-Z0-9\-_]+)(?:\:([a-zA-Z\-_]+))?(?:\.([a-zA-Z\-_]+))*\s*(=) + end: (?<='|")|(?=[\s<>`]) + captures: + '1': { name: entity.other.attribute-name.html } + '2': { name: punctuation.separator.key-value.html } + '3': { name: entity.other.attribute-name.html } + '4': { name: entity.other.attribute-name.html } + '5': { name: entity.other.attribute-name.html } + '6': { name: punctuation.separator.key-value.html } + patterns: + - name: source.directive.vue + begin: '`' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '`' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.js#expression + - name: source.directive.vue + begin: '"' + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: '"' + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.js#expression + - name: source.directive.vue + begin: "'" + beginCaptures: + '0': { name: punctuation.definition.string.begin.html } + end: "'" + endCaptures: + '0': { name: punctuation.definition.string.end.html } + patterns: + - include: source.js#expression + vue-interpolations: + patterns: + - name: expression.embedded.vue + begin: \{\{\{? + beginCaptures: + '0': { name: punctuation.definition.generic.begin.html } + end: \}\}\}? + endCaptures: + '0': { name: punctuation.definition.generic.end.html } + patterns: + - include: source.js#expression diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/.gitgnore b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/.gitgnore new file mode 100644 index 00000000..9e5f04df --- /dev/null +++ b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/.gitgnore @@ -0,0 +1,2 @@ +node_modules/ +demo.txt \ No newline at end of file diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/.vsixmanifest b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/.vsixmanifest new file mode 100644 index 00000000..307d6a14 --- /dev/null +++ b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/.vsixmanifest @@ -0,0 +1,40 @@ + + + + + Fastify code snippets + Contains the code snippets for fastify web framework development in VS Code editor + snippet + Snippets + Public + + + + + + + + + + + + + + + + + + + + + extension/images/full-logo.png + + + + + + + + + + diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/README.md b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/README.md new file mode 100644 index 00000000..353b13b7 --- /dev/null +++ b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/README.md @@ -0,0 +1,28 @@ +
+ +
+ +## VS Code Fastify code snippets + +| Trigger | Content | +| ----------------------------: | ----------------------------------------------------------------------------------------------------- | +| `f.module→` | Create fastify module | +| `f.get→` | a get router | +| `f.post→` | a post router | +| `f.request.body→` | the request body | +| `f.request.query→` | the parsed querystring | +| `f.request.params→` | the params matching the URL | +| `f.request.headers→` | the headers | +| `f.request.raw→` | the incoming HTTP request from Node core (you can use the alias req) | +| `f.request.id→` | the request id | +| `f.reply.code→` | the request id | +| `f.reply.getHeader→` | Retrieve value of already set header | +| `f.reply.removeHeader→` | Removed the value of a previously set header | +| `f.reply.hasHeader→` | Determine if a header has been set | +| `f.reply.type→` | Sets the header Content-Type | +| `f.reply.redirect→` | Redirect to the specified url, the status code is optional (default to 302) | +| `f.reply.serialize→` | Serializes the specified payload using the default json serializer and returns the serialized payload | +| `f.reply.serializer→` | Sets a custom serializer for the payload | +| `f.reply.send→` | Sends the payload to the user, could be a plain text, a buffer, JSON, stream, or an Error object | +| `f.reply.sent→` | A boolean value that you can use if you need to know if send has already been called | +| `f.reply.res→` | The http.ServerResponse from Node core | diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/demo.txt b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/demo.txt new file mode 100644 index 00000000..71a74160 --- /dev/null +++ b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/demo.txt @@ -0,0 +1 @@ +vsce publish \ No newline at end of file diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/images/full-logo.png b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/images/full-logo.png new file mode 100644 index 00000000..045b3d08 Binary files /dev/null and b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/images/full-logo.png differ diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/package.json b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/package.json new file mode 100644 index 00000000..20134210 --- /dev/null +++ b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/package.json @@ -0,0 +1,33 @@ +{ + "name": "fastify-snippets", + "description": "Contains the code snippets for fastify web framework development in VS Code editor", + "version": "0.0.5", + "displayName": "Fastify code snippets", + "publisher": "paulzhang", + "icon": "images/full-logo.png", + "license": "SEE LICENSE IN LICENSE.md", + "repository": { + "type": "git", + "url": "https://github.com/paulZzhang/fastify-snippets" + }, + "engines": { + "vscode": "0.10.x" + }, + "categories": [ + "Snippets" + ], + "contributes": { + "snippets": [ + { + "language": "javascript", + "path": "./snippets/snippets.json" + } + ] + }, + "__metadata": { + "id": "06fc37a4-e524-4d7d-af9f-16808dcb37f7", + "publisherId": "fa1c5f87-ae0a-441c-9070-16b019094558", + "publisherDisplayName": "paulzhang", + "installedTimestamp": 1632689171087 + } +} \ No newline at end of file diff --git a/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/snippets/snippets.json b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/snippets/snippets.json new file mode 100644 index 00000000..fae94935 --- /dev/null +++ b/.vscode/extensions/paulzhang.fastify-snippets-0.0.5/snippets/snippets.json @@ -0,0 +1,175 @@ +{ + "fastify_module": { + "prefix": "f.module", + "body": + "'use strict' \n module.exports = async function(fastify, opts, next) { \n\t $0 \n}\n", + "description": "Create fastify module" + }, + "fastify_method_get": { + "prefix": "f.get", + "body": + "\tfastify.get('${1:path}', async function(request, reply) {\n\t $0 \n})\n", + "description": "a get router." + }, + "fastify_method_post": { + "prefix": "f.post", + "body": + "\tfastify.post('${1:path}', async function(request, reply) {\n\t $0 \n})\n", + "description": "a post router." + }, + "fastify_request_body": { + "prefix": "f.request.body", + "body": "const body = request.body$0", + "description": "the request body" + }, + "fastify_request_query": { + "prefix": "f.request.query", + "body": "const query = request.query$0", + "description": "the parsed querystring" + }, + "fastify_request_params": { + "prefix": "f.request.params", + "body": "const params = request.params$0", + "description": "the params matching the URL" + }, + "fastify_request_headers": { + "prefix": "f.request.headers", + "body": "const headers = request.headers$0", + "description": "the headers" + }, + "fastify_request_raw": { + "prefix": "f.request.raw", + "body": "const rawReq = request.raw$0", + "description": + "the incoming HTTP request from Node core (you can use the alias req)" + }, + "fastify_request_id": { + "prefix": "f.request.id", + "body": "const requestId = request.id$0", + "description": "the request id" + }, + "fastify_reply_code": { + "prefix": "f.reply.code", + "body": "reply.code(${1:200})$0", + "description": "Sets the status code" + }, + "fastify_reply_header": { + "prefix": "f.reply.code", + "body": "reply.header(${2:name}, ${1:value})$0", + "description": "Sets a response header" + }, + "fastify_reply_getHeader": { + "prefix": "f.reply.getHeader", + "body": "reply.getHeader(${1:name})$0", + "description": "Retrieve value of already set header" + }, + "fastify_reply_removeHeader": { + "prefix": "f.reply.removeHeader", + "body": "reply.removeHeader(${1:name})$0", + "description": "Removed the value of a previously set header" + }, + "fastify_reply_hasHeader": { + "prefix": "f.reply.hasHeader", + "body": "reply.hasHeader(${1:name})$0", + "description": "Determine if a header has been set" + }, + "fastify_reply_type": { + "prefix": "f.reply.type", + "body": "reply.type(${1:value})$0", + "description": "Sets the header Content-Type" + }, + "fastify_reply_redirect": { + "prefix": "f.reply.redirect", + "body": "reply.redirect([${2:code}],${1:url}$0", + "description": + "Redirect to the specified url, the status code is optional (default to 302)" + }, + "fastify_reply_serialize": { + "prefix": "f.reply.serialize", + "body": "reply.serialize(${1:payload}$0", + "description": + "Serializes the specified payload using the default json serializer and returns the serialized payload" + }, + "fastify_reply_serializer": { + "prefix": "f.reply.serializer", + "body": "reply.serializer(${1:function}$0", + "description": "Sets a custom serializer for the payload" + }, + "fastify_reply_send": { + "prefix": "f.reply.send", + "body": "reply.send(${1:payload}$0", + "description": + "Sends the payload to the user, could be a plain text, a buffer, JSON, stream, or an Error object" + }, + "fastify_reply_sent": { + "prefix": "f.reply.sent", + "body": "reply.sent(${1:payload}$0", + "description": + "A boolean value that you can use if you need to know if send has already been called" + }, + "fastify_reply_res": { + "prefix": "f.reply.res", + "body": "const rawRes = reply.res", + "description": "The http.ServerResponse from Node core" + }, + "fastify_request_log_info": { + "prefix": "f.request.log.info", + "body": "request.log.info(${1:msg})$0", + "description": "Print the request log with info level" + }, + "fastify_request_log_fatal": { + "prefix": "f.request.log.fatal", + "body": "request.log.fatal(${1:msg})$0", + "description": "Print the request log with fatal level" + }, + "fastify_request_log_error": { + "prefix": "f.request.log.error", + "body": "request.log.error(${1:msg})$0", + "description": "Print the request log with error level" + }, + "fastify_request_log_warn": { + "prefix": "f.request.log.warn", + "body": "request.log.warn(${1:msg})$0", + "description": "Print the request log with warn level" + }, + "fastify_request_log_debug": { + "prefix": "f.request.log.debug", + "body": "request.log.debug(${1:msg})$0", + "description": "Print the request log with debug level" + }, + "fastify_request_log_trace": { + "prefix": "f.request.log.trace", + "body": "request.log.trace(${1:msg})$0", + "description": "Print the request log with trace level" + }, + "fastify_log_info": { + "prefix": "f.log.info", + "body": "fastify.log.info(${1:msg})$0", + "description": "Print the fastify log with info level" + }, + "fastify_log_fatal": { + "prefix": "f.log.fatal", + "body": "fastify.log.fatal(${1:msg})$0", + "description": "Print the fastify log with fatal level" + }, + "fastify_log_error": { + "prefix": "f.log.error", + "body": "fastify.log.error(${1:msg})$0", + "description": "Print the fastify log with error level" + }, + "fastify_log_warn": { + "prefix": "f.log.warn", + "body": "fastify.log.warn(${1:msg})$0", + "description": "Print the fastify log with warn level" + }, + "fastify_log_debug": { + "prefix": "f.log.debug", + "body": "fastify.log.debug(${1:msg})$0", + "description": "Print the fastify log with debug level" + }, + "fastify_log_trace": { + "prefix": "f.log.trace", + "body": "fastify.log.trace(${1:msg})$0", + "description": "Print the fastify log with trace level" + } +} diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.github/FUNDING.yml b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.github/FUNDING.yml new file mode 100644 index 00000000..4267cfda --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.github/FUNDING.yml @@ -0,0 +1 @@ +github: pranaygp diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.prettierignore b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.prettierignore new file mode 100644 index 00000000..f39db614 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.prettierignore @@ -0,0 +1,3 @@ +server/out +client/out +tests/out \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.vsixmanifest b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.vsixmanifest new file mode 100644 index 00000000..5f9ff504 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + CSS Peek + Allow peeking to css ID and class strings as definitions from html files to respective CSS. Allows peek and goto definition. + definition,css,scss,sass,less,peek,style,stylesheet,jump to stylesheet,multi-root ready + + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/css_peek_icon.png + + + + + + + + + + diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/LICENSE.txt b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/LICENSE.txt new file mode 100644 index 00000000..4aebe28e --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/LICENSE.txt @@ -0,0 +1,17 @@ +Copyright (c) Pranay Prakash + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/README.md b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/README.md new file mode 100644 index 00000000..93e99acd --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/README.md @@ -0,0 +1,132 @@ +[![Build Status](https://travis-ci.org/pranaygp/vscode-css-peek.svg?branch=master)](https://travis-ci.org/pranaygp/vscode-css-peek) +[![Installs](https://vsmarketplacebadge.apphb.com/installs-short/pranaygp.vscode-css-peek.svg)](https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek) +[![Version](https://vsmarketplacebadge.apphb.com/version/pranaygp.vscode-css-peek.svg)](https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek) +[![Open VSX](https://img.shields.io/badge/Open%20VSX-vscode--css--peek-purple)](https://open-vsx.org/extension/pranaygp/vscode-css-peek) +[![codecov](https://codecov.io/gh/pranaygp/vscode-css-peek/branch/master/graph/badge.svg)](https://codecov.io/gh/pranaygp/vscode-css-peek) + +## Backed By + +> An amazing tool I've used before and they didn't ask me to say that :) - Extension Author + +


+Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.
Learn More

+ +# Functionality + +This extension extends HTML and ejs code editing with `Go To Definition` and `Go To Symbol in Workspace` support for css/scss/less (classes and IDs) found in strings within the source code. + +This was heavily inspired by a similar feature in [Brackets](http://brackets.io/) called CSS Inline Editors. + +![working](https://github.com/pranaygp/vscode-css-peek/raw/master/readme/working.gif) + +The extension supports all the normal capabilities of symbol definition tracking, but does it for css selectors (classes, IDs and HTML tags). This includes: + +- Peek: load the css file inline and make quick edits right there. (`Ctrl+Shift+F12`) +- Go To: jump directly to the css file or open it in a new editor (`F12`) +- Hover: show the definition in a hover over the symbol (`Ctrl+hover`) + +In addition, it supports the Symbol Provider so you can quickly jump to the right CSS/SCSS/LESS code if you already know the class or ID name + +![Symbol Provider](https://github.com/pranaygp/vscode-css-peek/raw/master/readme/symbolProvider.gif) + +## Configuration + +- `cssPeek.supportTags` - Enable Peeking from HTML tags in addition to classnames and IDs. React components are ignored, but it's a good idea to disable this feature when using Angular. +- `cssPeek.peekFromLanguages` - A list of vscode language names where the extension should be used. +- `cssPeek.peekToExclude` - A list of file globs that filters out style files to not look for. By default, `node_modules` and `bower_components` + +See editor docs for more details + +- [Visual Studio Code: Goto Definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition) +- [Visual Studio Code: Peek](https://code.visualstudio.com/docs/editor/editingevolved#_peek) +- [Visual Studio Code: Open Symbol By Name](https://code.visualstudio.com/Docs/editor/editingevolved#_open-symbol-by-name) + +# Contributing + +Contributions are greatly appreciated. Please fork the repository and submit a pull request. + +# Changelog + +> TODO: Keep the changelog upto date + +## 4.2.0 + +- Support VSCode Workspace Trust [#107](https://github.com/pranaygp/vscode-css-peek/issues/107) + +## 4.1.1 + +- Add CodeStream Banner + +## 3.0.2 + +- Use Globs for configuration options instead of RegExp via [#61](https://github.com/pranaygp/vscode-css-peek/pull/61) ❤ [@arch-stack](https://github.com/arch-stack) + +## 2.2.0 + +- Initial JSX support via [#49](https://github.com/pranaygp/vscode-css-peek/pull/49) ❤ [@ReiMcCl](https://github.com/ReiMcCl) + +## 2.1.1 + +- (Temporarily) fix bug [#19](https://github.com/pranaygp/vscode-css-peek/issues/18) by handling errors from `findDocumentSymbols` + +## 2.1.0 + +- Add support for Symbol Provider [#18](https://github.com/pranaygp/vscode-css-peek/issues/18) + > ![Symbol Provider](https://github.com/pranaygp/vscode-css-peek/raw/master/readme/symbolProvider.gif) + +## 2.0.3 + +- Fix bug [#14](https://github.com/pranaygp/vscode-css-peek/issues/14) that caused CSS Peek to fail after any HTML comments + +## 2.0.2 + +- Fix bug that limited the language support only to HTML. Now supports all languages provided by "activeLanguages" config + +## 2.0.1 + +- Fix an error wherby the Overview was missing on the Visual Studio Marketplace + +## 2.0.0 + +- A complete rewrite featuring the new [Language Server Protocol](https://github.com/Microsoft/language-server-protocol) +- Added scss support +- Added multi definition support (provides all CSS rules matching the selector) +- Added support for HTML tag selectors + +## 1.3.3 + +- New Logo + +## 1.3.0 + +- Add configuration option to ignore file from CSS lookup + +## 1.2.4 + +- Crucial bug fix + +## 1.2.3 + +- Workaround for bug if large number of files exist + +## 1.2.2 + +- Better recognition of CSS selector word from cursor position +- Optimize code for fewer file lookups + +## 1.2.1 + +- Fix README typo + +## 1.2.0 + +- Add `less` support +- Configure search file extensions using "css_peek.searchFileExtensions" + +## 1.1.0 + +- Update Icon + +## 1.0.0 + +- Shamelessly copied code from [https://github.com/abierbaum/vscode-file-peek](https://github.com/abierbaum/vscode-file-peek) diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/client/out/extension.js b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/client/out/extension.js new file mode 100644 index 00000000..9177742a --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/client/out/extension.js @@ -0,0 +1,170 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deactivate = exports.activate = void 0; +const path = require("path"); +const vscode_1 = require("vscode"); +const vscode_languageclient_1 = require("vscode-languageclient"); +const SUPPORTED_EXTENSIONS = ["css", "scss", "less"]; +const SUPPORTED_EXTENSION_REGEX = /\.(css|scss|less)$/; +let defaultClient; +const clients = new Map(); +let _sortedWorkspaceFolders; +function sortedWorkspaceFolders() { + if (_sortedWorkspaceFolders === void 0) { + _sortedWorkspaceFolders = vscode_1.workspace.workspaceFolders + ? vscode_1.workspace.workspaceFolders + .map((folder) => { + let result = folder.uri.toString(); + if (result.charAt(result.length - 1) !== "/") { + result = result + "/"; + } + return result; + }) + .sort((a, b) => { + return a.length - b.length; + }) + : []; + } + return _sortedWorkspaceFolders; +} +vscode_1.workspace.onDidChangeWorkspaceFolders(() => (_sortedWorkspaceFolders = undefined)); +function getOuterMostWorkspaceFolder(folder) { + const sorted = sortedWorkspaceFolders(); + for (const element of sorted) { + let uri = folder.uri.toString(); + if (uri.charAt(uri.length - 1) !== "/") { + uri = uri + "/"; + } + if (uri.startsWith(element)) { + return vscode_1.workspace.getWorkspaceFolder(vscode_1.Uri.parse(element)); + } + } + return folder; +} +function activate(context) { + const module = context.asAbsolutePath(path.join("server", "out", "server.js")); + const outputChannel = vscode_1.window.createOutputChannel("CSS Peek"); + const config = vscode_1.workspace.getConfiguration("cssPeek"); + const peekFromLanguages = config.get("peekFromLanguages"); + const peekToInclude = SUPPORTED_EXTENSIONS.map((l) => `**/*.${l}`); + const peekToExclude = config.get("peekToExclude"); + function didOpenTextDocument(document) { + // TODO: Return if unsupported document.languageId + if (!["file", "untitled"].includes(document.uri.scheme) || + (!peekFromLanguages.includes(document.languageId) && + !SUPPORTED_EXTENSION_REGEX.test(document.fileName))) { + return; + } + const documentSelector = [ + ...SUPPORTED_EXTENSIONS.map((language) => ({ + scheme: "file", + language, + })), + ...SUPPORTED_EXTENSIONS.map((language) => ({ + scheme: "untitled", + language, + })), + ...peekFromLanguages.map((language) => ({ + scheme: "file", + language, + })), + ...peekFromLanguages.map((language) => ({ + scheme: "untitled", + language, + })), + ]; + const uri = document.uri; + // Untitled files go to a default client. + if (uri.scheme === "untitled" && !defaultClient) { + const debugOptions = { execArgv: ["--nolazy", "--inspect=6010"] }; + const serverOptions = { + run: { module, transport: vscode_languageclient_1.TransportKind.ipc }, + debug: { module, transport: vscode_languageclient_1.TransportKind.ipc, options: debugOptions }, + }; + const clientOptions = { + documentSelector, + synchronize: { + configurationSection: "cssPeek", + }, + initializationOptions: { + stylesheets: [], + peekFromLanguages, + }, + diagnosticCollectionName: "css-peek", + outputChannel, + }; + defaultClient = new vscode_languageclient_1.LanguageClient("css-peek", "CSS Peek", serverOptions, clientOptions); + defaultClient.registerProposedFeatures(); + defaultClient.start(); + return; + } + let folder = vscode_1.workspace.getWorkspaceFolder(uri); + // Files outside a folder can't be handled. This might depend on the language. + // Single file languages like JSON might handle files outside the workspace folders. + if (!folder) { + return; + } + // If we have nested workspace folders we only start a server on the outer most workspace folder. + folder = getOuterMostWorkspaceFolder(folder); + if (!clients.has(folder.uri.toString())) { + vscode_1.workspace.findFiles(`{${(peekToInclude || []).join(",")}}`, `{${(peekToExclude || []).join(",")}}`).then((file_searches) => { + const potentialFiles = file_searches.filter((uri) => uri.scheme === "file"); + const debugOptions = { + execArgv: ["--nolazy", `--inspect=${6011 + clients.size}`], + }; + const serverOptions = { + run: { module, transport: vscode_languageclient_1.TransportKind.ipc }, + debug: { + module, + transport: vscode_languageclient_1.TransportKind.ipc, + options: debugOptions, + }, + }; + const clientOptions = { + documentSelector, + diagnosticCollectionName: "css-peek", + synchronize: { + configurationSection: "cssPeek", + }, + initializationOptions: { + stylesheets: potentialFiles.map((u) => ({ + uri: u.toString(), + fsPath: u.fsPath, + })), + peekFromLanguages, + }, + workspaceFolder: folder, + outputChannel, + }; + const client = new vscode_languageclient_1.LanguageClient("css-peek", "CSS Peek", serverOptions, clientOptions); + client.registerProposedFeatures(); + client.start(); + clients.set(folder.uri.toString(), client); + }); + } + } + vscode_1.workspace.onDidOpenTextDocument(didOpenTextDocument); + vscode_1.workspace.textDocuments.forEach(didOpenTextDocument); + vscode_1.workspace.onDidChangeWorkspaceFolders((event) => { + for (const folder of event.removed) { + const client = clients.get(folder.uri.toString()); + if (client) { + clients.delete(folder.uri.toString()); + client.stop(); + } + } + }); +} +exports.activate = activate; +function deactivate() { + const promises = []; + if (defaultClient) { + promises.push(defaultClient.stop()); + } + for (const client of clients.values()) { + promises.push(client.stop()); + } + return Promise.all(promises).then(() => undefined); +} +exports.deactivate = deactivate; +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/client/package.json b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/client/package.json new file mode 100644 index 00000000..8844dbd0 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/client/package.json @@ -0,0 +1,20 @@ +{ + "name": "vscode-css-peek-client-part", + "description": "VSCode part of the language server", + "license": "MIT", + "author": "Pranay Prakash ", + "repository": { + "type": "git", + "url": "https://github.com/pranaygp/vscode-css-peek.git" + }, + "engines": { + "vscode": "^1.33.0" + }, + "scripts": {}, + "dependencies": { + "vscode-languageclient": "^5.2.1" + }, + "devDependencies": { + "@types/vscode": "^1.33.0" + } +} diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/css_peek_icon.png b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/css_peek_icon.png new file mode 100644 index 00000000..7ef75379 Binary files /dev/null and b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/css_peek_icon.png differ diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/package.json b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/package.json new file mode 100644 index 00000000..001d19b9 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/package.json @@ -0,0 +1,148 @@ +{ + "name": "vscode-css-peek", + "displayName": "CSS Peek", + "description": "Allow peeking to css ID and class strings as definitions from html files to respective CSS. Allows peek and goto definition.", + "author": "Pranay Prakash ", + "icon": "css_peek_icon.png", + "license": "MIT", + "version": "4.2.0", + "repository": { + "type": "git", + "url": "https://github.com/pranaygp/vscode-css-peek" + }, + "categories": [], + "keywords": [ + "definition", + "css", + "scss", + "sass", + "less", + "peek", + "style", + "stylesheet", + "jump to stylesheet", + "multi-root ready" + ], + "engines": { + "vscode": "^1.33.0" + }, + "main": "./client/out/extension", + "publisher": "pranaygp", + "bugs": { + "url": "https://github.com/pranaygp/vscode-css-peek/issues" + }, + "homepage": "https://github.com/pranaygp/vscode-css-peek/blob/master/README.md", + "activationEvents": [ + "workspaceContains:**/*.css", + "workspaceContains:**/*.scss", + "workspaceContains:**/*.sass", + "workspaceContains:**/*.less" + ], + "contributes": { + "configuration": { + "type": "object", + "title": "CSS Peek", + "properties": { + "cssPeek.enable": { + "scope": "window", + "type": "boolean", + "default": true, + "description": "Controls the enablement." + }, + "cssPeek.supportTags": { + "scope": "window", + "type": "boolean", + "default": true, + "description": "Enable Peeking from HTML tags in addition to classnames and IDs. React components are ignored, but it's a good idea to disable this feature when using Angular" + }, + "cssPeek.peekFromLanguages": { + "scope": "window", + "type": "array", + "default": [ + "html", + "django-html", + "laravel-blade", + "razor", + "vue", + "blade", + "pug", + "jade", + "handlebars", + "php", + "twig", + "md", + "nunjucks", + "javascript", + "javascriptreact", + "erb", + "typescript", + "typescriptreact", + "HTML (Eex)", + "html-eex", + "ejs" + ], + "items": { + "type": "string" + }, + "description": "A list of vscode language names where the extension should be used." + }, + "cssPeek.peekToExclude": { + "scope": "window", + "type": "array", + "default": [ + "**/node_modules/**", + "**/bower_components/**" + ], + "items": { + "type": "string" + }, + "description": "A list of file globs that filters out peekable files" + }, + "cssPeek.trace.server": { + "scope": "window", + "type": "string", + "enum": [ + "off", + "messages", + "verbose" + ], + "default": "off", + "description": "Traces the communication between VSCode and the language server." + } + } + } + }, + "capabilities": { + "untrustedWorkspaces": { + "supported": true + } + }, + "scripts": { + "vscode:prepublish": "yarn run compile", + "compile": "tsc -b", + "prettier": "prettier './{server,client,tests}/**/*' -c", + "lint": "yarn run eslint . --ext ts", + "watch": "tsc -b -w", + "test": "nyc node tests/out/runTest.js", + "posttest": "nyc report --reporter=json && codecov -f coverage/*.json", + "postinstall": "cd client && yarn && cd ../server && yarn && cd ../tests && yarn && cd .." + }, + "devDependencies": { + "@types/mocha": "^8.0.0", + "@types/node": "^14.0.24", + "@typescript-eslint/eslint-plugin": "^3.7.0", + "@typescript-eslint/parser": "^3.7.0", + "codecov": "^3.7.2", + "eslint": "^7.5.0", + "mocha": "^8.3.2", + "nyc": "^15.1.0", + "prettier": "^2.0.5", + "typescript": "^3.9.7" + }, + "__metadata": { + "id": "0b8f8d63-11a2-4194-969c-ca7488b3413a", + "publisherId": "3975bc66-f8bb-46a9-b8b6-430f013e4fa5", + "publisherDisplayName": "Pranay Prakash", + "installedTimestamp": 1632235242228 + } +} \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/core/findDefinition.js b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/core/findDefinition.js new file mode 100644 index 00000000..d5586a29 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/core/findDefinition.js @@ -0,0 +1,85 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.findDefinition = exports.findSymbols = exports.getLanguageService = exports.isLanguageServiceSupported = void 0; +const path = require("path"); +const vscode_css_languageservice_1 = require("vscode-css-languageservice"); +const logger_1 = require("./../logger"); +const languageServices = { + css: vscode_css_languageservice_1.getCSSLanguageService(), + scss: vscode_css_languageservice_1.getSCSSLanguageService(), + less: vscode_css_languageservice_1.getLESSLanguageService(), +}; +function isLanguageServiceSupported(serviceId) { + return !!languageServices[serviceId]; +} +exports.isLanguageServiceSupported = isLanguageServiceSupported; +function getLanguageService(document) { + let service = languageServices[document.languageId]; + if (!service) { + logger_1.console.log("Document type is " + document.languageId + ", using css instead."); + service = languageServices["css"]; + } + return service; +} +exports.getLanguageService = getLanguageService; +function getSelection(selector) { + switch (selector.attribute) { + case "id": + return "#" + selector.value; + case "class": + return "." + selector.value; + default: + return selector.value; + } +} +function resolveSymbolName(symbols, i) { + const name = symbols[i].name; + if (name.startsWith("&")) { + return resolveSymbolName(symbols, i - 1) + name.slice(1); + } + return name; +} +function findSymbols(selector, stylesheetMap) { + const foundSymbols = []; + // Construct RegExp of selector to test against the symbols + let selection = getSelection(selector); + const classOrIdSelector = selector.attribute === "class" || selector.attribute === "id"; + if (selection[0] === ".") { + selection = "\\" + selection; + } + if (!classOrIdSelector) { + // Tag selectors must have nothing, whitespace, or a combinator before it. + selection = "(^|[\\s>+~])" + selection; + } + const re = new RegExp(selection + "(\\[[^\\]]*\\]|:{1,2}[\\w-()]+|\\.[\\w-]+|#[\\w-]+)*\\s*$", classOrIdSelector ? "" : "i"); + // Test all the symbols against the RegExp + Object.keys(stylesheetMap).forEach((uri) => { + const { symbols } = stylesheetMap[uri]; + try { + logger_1.console.log(`${path.basename(uri)} has ${symbols.length} symbols`); + symbols.forEach((symbol, i) => { + let name = resolveSymbolName(symbols, i); + logger_1.console.log(` ${symbol.location.range.start.line}:${symbol.location.range.start.character} ${symbol.deprecated ? "[deprecated] " : " "}${symbol.containerName ? `[container:${symbol.containerName}] ` : " "} [${symbol.kind}] ${name}`); + if (name.search(re) !== -1) { + foundSymbols.push(symbol); + } + else if (!classOrIdSelector) { + // Special case for tag selectors - match "*" as the rightmost character + if (/\*\s*$/.test(name)) { + foundSymbols.push(symbol); + } + } + }); + } + catch (e) { + logger_1.console.log(e.stack); + } + }); + return foundSymbols; +} +exports.findSymbols = findSymbols; +function findDefinition(selector, stylesheetMap) { + return findSymbols(selector, stylesheetMap).map(({ location }) => location); +} +exports.findDefinition = findDefinition; +//# sourceMappingURL=findDefinition.js.map \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/core/findSelector.js b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/core/findSelector.js new file mode 100644 index 00000000..0579b09d --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/core/findSelector.js @@ -0,0 +1,114 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_html_languageservice_1 = require("vscode-html-languageservice"); +const logger_1 = require("./../logger"); +/** + * Find the selector given the document and the current cursor position. + * This is found by iterating forwards and backwards from the position to find a valid CSS class/id + * + * @param {vscode.TextDocument} document - The Document to check + * @param {vscode.Position} position - The current cursor position + * @returns {{attribute: string, value: string}} The valid CSS selector + * + * @memberOf PeekFileDefinitionProvider + */ +function findSelector(document, position, settings) { + const text = document.getText(); + const offset = document.offsetAt(position); + let start = offset; + let end = offset; + // expand selection to this word specifically + while (start > 0 && + text.charAt(start - 1) !== " " && + text.charAt(start - 1) !== "'" && + text.charAt(start - 1) !== '"' && + text.charAt(start - 1) !== "\n" && + text.charAt(start - 1) !== "/" && + text.charAt(start - 1) !== "<") + start -= 1; + while (end < text.length && + text.charAt(end) !== " " && + text.charAt(end) !== "'" && + text.charAt(end) !== '"' && + text.charAt(end) !== "\n" && + text.charAt(end) !== ">") + end += 1; + const selectorWord = text.slice(start, end); + let selector = null; + const htmlScanner = vscode_html_languageservice_1.getLanguageService().createScanner(text); + let attribute = null; + logger_1.console.log(`${selectorWord} ${start}`); + let tokenType = htmlScanner.scan(); + while (tokenType !== vscode_html_languageservice_1.TokenType.EOS) { + switch (tokenType) { + case vscode_html_languageservice_1.TokenType.StartTag: + case vscode_html_languageservice_1.TokenType.EndTag: + attribute = null; + if (!settings.supportTags) { + break; + } + // FOR DEBUGGING + logger_1.console.log(` ${htmlScanner.getTokenText()} ${htmlScanner.getTokenOffset()} ${htmlScanner.getTokenEnd()}`); + const tokenOffset = htmlScanner.getTokenOffset(); + if ([ + "javascript", + "typescript", + "javascriptreact", + "typescriptreact", + ].includes(document.languageId)) { + if (selectorWord[0].toUpperCase() === selectorWord[0]) { + // if the first letter is uppercase, this is a JSX component + break; + } + } + if (start === tokenOffset) + selector = { attribute: null, value: selectorWord }; + break; + case vscode_html_languageservice_1.TokenType.AttributeName: + attribute = htmlScanner.getTokenText().toLowerCase(); + // Convert the attribute to a standard class attribute + if (attribute === "classname") { + attribute = "class"; + } + break; + case vscode_html_languageservice_1.TokenType.AttributeValue: + // FOR DEBUGGING + // console.log( + // `${htmlScanner.getTokenText()} ${htmlScanner.getTokenOffset()} ${htmlScanner.getTokenEnd()}` + // ); + if (attribute === "class" || attribute === "id") { + const values = htmlScanner.getTokenText().slice(1, -1).split(" "); + // calculate startOffsets for each class/id in this attribute + // +1 because we sliced earlier, so the first offset is the offset + 1 + let startOffset = htmlScanner.getTokenOffset() + 1; + const offsets = values.map((v) => { + const o = startOffset; + startOffset += v.length + 1; // add 1 for the space + return o; + }); + values.forEach((value, i) => { + const startOffset = offsets[i]; + // FOR DEBUGGING + // console.log(` ${value} ${startOffset}`); + if (start === startOffset) { + selector = { attribute, value }; + } + }); + } + break; + } + if (selector) { + break; + } + tokenType = htmlScanner.scan(); + } + if (selector) { + logger_1.console.log(`${selector.value} is a "${selector.attribute || "html tag"}"`); + } + else { + logger_1.console.log("Invalid Selector"); + } + return selector; +} +exports.default = findSelector; +//# sourceMappingURL=findSelector.js.map \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/logger/index.js b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/logger/index.js new file mode 100644 index 00000000..88a1afe1 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/logger/index.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.create = exports.console = void 0; +exports.console = null; +function create(nConsole) { + exports.console = nConsole; +} +exports.create = create; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/server.js b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/server.js new file mode 100644 index 00000000..a69b4f98 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/server.js @@ -0,0 +1,177 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = require("fs"); +const minimatch = require("minimatch"); +const path = require("path"); +const vscode_languageserver_1 = require("vscode-languageserver"); +const findSelector_1 = require("./core/findSelector"); +const findDefinition_1 = require("./core/findDefinition"); +const logger_1 = require("./logger"); +// Creates the LSP connection +const connection = vscode_languageserver_1.createConnection(vscode_languageserver_1.ProposedFeatures.all); +// Create a manager for open text documents +const documents = new vscode_languageserver_1.TextDocuments(); +// Create a map of styleSheet URIs to the stylesheet text content +const styleSheets = {}; +// The workspace folder this server is operating on +let workspaceFolder; +let hasConfigurationCapability = false; +let hasWorkspaceFolderCapability = false; +async function documentShouldBeIgnored(document) { + const settings = await getDocumentSettings(document.uri); + if (!settings.peekFromLanguages.includes(document.languageId) || + settings.peekToExclude.find((glob) => minimatch(document.uri, glob))) { + return true; + } + else { + return false; + } +} +/* Handle Document Updates */ +documents.onDidOpen(async (event) => { + if (await documentShouldBeIgnored(event.document)) { + return; + } + connection.console.log(`[Server(${process.pid}) ${path.basename(workspaceFolder)}/] Document opened: ${path.basename(event.document.uri)}`); + if (findDefinition_1.isLanguageServiceSupported(event.document.languageId)) { + const languageService = findDefinition_1.getLanguageService(event.document); + const stylesheet = languageService.parseStylesheet(event.document); + const symbols = languageService.findDocumentSymbols(event.document, stylesheet); + styleSheets[event.document.uri] = { + document: event.document, + symbols, + }; + } +}); +documents.onDidChangeContent(async (event) => { + if (await documentShouldBeIgnored(event.document)) { + return; + } + connection.console.log(`[Server(${process.pid}) ${path.basename(workspaceFolder)}/] Document changed: ${path.basename(event.document.uri)}`); + if (findDefinition_1.isLanguageServiceSupported(event.document.languageId)) { + const languageService = findDefinition_1.getLanguageService(event.document); + const stylesheet = languageService.parseStylesheet(event.document); + const symbols = languageService.findDocumentSymbols(event.document, stylesheet); + styleSheets[event.document.uri] = { + document: event.document, + symbols, + }; + } +}); +documents.listen(connection); +/* Server Initialization */ +connection.onInitialize((params) => { + logger_1.create(connection.console); + const capabilities = params.capabilities; + workspaceFolder = params.rootUri; + // Does the client support the `workspace/configuration` request? + // If not, we will fall back using global settings + hasConfigurationCapability = + capabilities.workspace && !!capabilities.workspace.configuration; + hasWorkspaceFolderCapability = + capabilities.workspace && !!capabilities.workspace.workspaceFolders; + connection.console.log(`[Server(${process.pid}) ${path.basename(workspaceFolder)}/] onInitialize`); + setupInitialStyleMap(params); + connection.console.log(`[Server(${process.pid}) ${path.basename(workspaceFolder)}/] setupInitialStylemap`); + return { + capabilities: { + textDocumentSync: { + openClose: true, + change: vscode_languageserver_1.TextDocumentSyncKind.Full, + }, + definitionProvider: true, + workspaceSymbolProvider: true, + }, + }; +}); +connection.onInitialized(() => { + if (hasConfigurationCapability) { + // Register for all configuration changes. + connection.client.register(vscode_languageserver_1.DidChangeConfigurationNotification.type, undefined); + } + if (hasWorkspaceFolderCapability) { + connection.workspace.onDidChangeWorkspaceFolders((_event) => { + connection.console.log("Workspace folder change event received."); + }); + } +}); +// The global settings, used when the `workspace/configuration` request is not supported by the client. +const defaultSettings = { + supportTags: true, + peekFromLanguages: ["html"], + peekToExclude: ["**/node_modules/**", "**/bower_components/**"], +}; +let globalSettings = defaultSettings; +// Cache the settings of all open documents +let documentSettings = new Map(); +connection.onDidChangeConfiguration((change) => { + if (hasConfigurationCapability) { + // Reset all cached document settings + documentSettings.clear(); + } + else { + globalSettings = (change.settings.cssPeek || defaultSettings); + } +}); +function getDocumentSettings(resource) { + if (!hasConfigurationCapability) { + return Promise.resolve(globalSettings); + } + let result = documentSettings.get(resource); + if (!result) { + result = connection.workspace.getConfiguration({ + scopeUri: resource, + section: "cssPeek", + }); + documentSettings.set(resource, result); + } + return result; +} +// Only keep settings for open documents +documents.onDidClose((e) => { + documentSettings.delete(e.document.uri); +}); +function setupInitialStyleMap(params) { + const styleFiles = params.initializationOptions.stylesheets; + styleFiles.forEach((fileUri) => { + const languageId = fileUri.fsPath.split(".").slice(-1)[0]; + const text = fs.readFileSync(fileUri.fsPath, "utf8"); + const document = vscode_languageserver_1.TextDocument.create(fileUri.uri, languageId, 1, text); + const languageService = findDefinition_1.getLanguageService(document); + const stylesheet = languageService.parseStylesheet(document); + const symbols = languageService.findDocumentSymbols(document, stylesheet); + styleSheets[fileUri.uri] = { + document, + symbols, + }; + }); +} +connection.onDefinition(async (textDocumentPositon) => { + const documentIdentifier = textDocumentPositon.textDocument; + const position = textDocumentPositon.position; + const document = documents.get(documentIdentifier.uri); + if (await documentShouldBeIgnored(document)) { + return null; + } + const settings = await getDocumentSettings(document.uri); + const selector = findSelector_1.default(document, position, settings); + if (!selector) { + return null; + } + return findDefinition_1.findDefinition(selector, styleSheets); +}); +connection.onWorkspaceSymbol(({ query }) => { + const selectors = [ + { + attribute: "class", + value: query, + }, + { + attribute: "id", + value: query, + }, + ]; + return selectors.reduce((p, selector) => [...p, ...findDefinition_1.findSymbols(selector, styleSheets)], []); +}); +connection.listen(); +//# sourceMappingURL=server.js.map \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/utils/selectorToString.js b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/utils/selectorToString.js new file mode 100644 index 00000000..58096062 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/out/utils/selectorToString.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function default_1(selector) { + switch (selector.attribute) { + case "id": + return "#" + selector.value; + case "class": + return "." + selector.value; + default: + return selector.value; + } +} +exports.default = default_1; +//# sourceMappingURL=selectorToString.js.map \ No newline at end of file diff --git a/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/package.json b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/package.json new file mode 100644 index 00000000..a0ab3a35 --- /dev/null +++ b/.vscode/extensions/pranaygp.vscode-css-peek-4.2.0/server/package.json @@ -0,0 +1,17 @@ +{ + "name": "vscode-css-peek", + "description": "CSS Peek Language Server", + "version": "0.0.1", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/pranaygp/vscode-css-peek" + }, + "dependencies": { + "minimatch": "^3.0.4", + "vscode-css-languageservice": "^4.3.0", + "vscode-html-languageservice": "^3.1.0", + "vscode-languageserver": "^5.2.1" + }, + "scripts": {} +} diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/.travis.yml b/.vscode/extensions/ritwickdey.live-sass-3.0.0/.travis.yml new file mode 100644 index 00000000..c7974a55 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/.travis.yml @@ -0,0 +1,42 @@ +language: node_js +node_js: + - "7.9.0" + +cache: + directories: + - node_modules + yarn: true + +os: + - linux + - osx + +addons: + apt: + packages: + - libsecret-1-dev + +before_install: + - if [ $TRAVIS_OS_NAME == "linux" ]; then + export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0; + sh -e /etc/init.d/xvfb start; + sleep 3; + fi + +install: + - export CI=true + - npm i -g vsce + - npm install + - npm run vscode:prepublish + +script: + - vsce package -o LiveSassCompiler-$TRAVIS_TAG-$TRAVIS_OS_NAME.vsix + +deploy: + provider: releases + api_key: $github_token + file: "*.vsix" + file_glob: true + skip_cleanup: true + on: + tags: true \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/.vsixmanifest b/.vscode/extensions/ritwickdey.live-sass-3.0.0/.vsixmanifest new file mode 100644 index 00000000..7e6965b3 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/.vsixmanifest @@ -0,0 +1,40 @@ + + + + + Live Sass Compiler + Compile Sass or Scss to CSS at realtime with live browser reload. + SASS,SCSS,Compiler,Transpiler,SASS Compiler,scss,sass,css + Other,Extension Packs + Public Preview + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/images/icon2.png + + + + + + + + + + diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/CHANGELOG.md b/.vscode/extensions/ritwickdey.live-sass-3.0.0/CHANGELOG.md new file mode 100644 index 00000000..7882e429 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/CHANGELOG.md @@ -0,0 +1,41 @@ +# Changelog + + +| Version | Date | Changelog| +| ------- | -------- | ------ | +|3.0.0 | 11.07.2018 | — Upgrade `sass.js` library that included fixes for 8 digit Hex code & grid name. [Fixes [#39](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/39), [#40](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/40), [#78](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/77)] | +|2.2.1 | 29.06.2018 | — ***[Fixes [#77](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/77)]*** Rebuild the package | +|2.2.0 | 29.06.2018 | — ***[Fixes [#76](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/76)]*** (That was library issue. Sass.js is downgraded to `v0.10.8`)| +|2.1.0| 28.06.2018 | — ***[Fixes [#73](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/73)]*** Change detection of Partial Sass was missing in `v2.0.0` | +|2.0.0|27.06.2018| — Fixes [#6](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/6) [#62](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/62)
— Include Path Fixes
— Grid Autoprefix
— Autoprefix is now on by default| +|1.3.0|19.02.2018| — ***[NEW [#41](https://github.com/ritwickdey/vscode-live-sass-compiler/pull/41)]***
- added ability to suppress the output window
- Statusbar button Color change based on `Success` and `error`.

_[Thanks a lot to [Brandon Baker](https://github.com/bmwigglestein) for sumitting the PR ]_| +|1.2.0|21.12.17| — ***[New Features [#26](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/26)]*** `savePath` setting updated. You can now specify `savePath` location relative to your Sass files. *See Settings section for more details* *[Thanks [Marius](https://github.com/morsanu)]*

— ***[Bug Fixed [#25](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/25)]*** No more extra new line in generated CSS. *[Thanks [Shahril Amri](https://github.com/redemption024)]*

—**[Bug Fixed [#33](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/33)]** Now firefox is recognizing source scss file. *[Thanks [Felix](https://github.com/felix007)]*| +|1.1.0| 01.11.17 | — ***[NEW [#19](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/19)]*** Support for autoprefix in generated CSS. (see settings section for more) _[Thanks a lot to [boyum](https://github.com/boyum) for sumitting the PR [#22](https://github.com/ritwickdey/vscode-live-sass-compiler/pull/22)]_

— ***[Bug fixed [#20](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/20)]*** : Fixed `liveSassCompile.settings.includeItems` settings. *[Thanks [Hoàng Nam](https://github.com/hoangnamitc)]* | +| 1.0.1 | 10.10.17| — ***[Fixes [#17](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/17)]*** Default value `savePath` from new settings (`.formats`) is revised. If you don't set any value it will generate CSS at the same location of sass/scss as it was before. _(See settings section for more details)_ *[Thanks [2289034325](https://github.com/2289034325) & [Ibsenleo](https://github.com/ibsenleo) for the feedback]* | +| 1.0.0 |10.10.17 | — ***[New Features/settings [#10](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/10)]*** Support for multiple extensionName, formats & save locations . *[Thanks to [Trinh Xuan Manh](https://github.com/ShadowFoOrm) for the suggestion and a Special Thanks to [Ibsenleo](https://github.com/ibsenleo) for the PR [#16](https://github.com/ritwickdey/vscode-live-sass-compiler/pull/16).]*

—***NOTE : Due to enable this feature, the `liveSassCompile.settings.format`, `.savePath`, `.extensionName` settings are dropped. [See settings section for the new setting.]*** | +|0.5.1|23.09.17| — ***[Bug Fixed [#12](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/12)]*** Sass files from excluded list was compiled on individual savings. _[Thanks [Braedin Jared](https://github.com/ImBaedin)]_ | +|0.5.0|25.08.17| — ***[New Settings]*** `liveSassCompile.settings.generateMap` : Set it as `false` if you don't want `.map` file for compiled CSS. Default is `true`. *[[#9](https://github.com/ritwickdey/vscode-live-sass-compiler/pull/9) Thanks [Mark Hewitt](https://github.com/mhco) for the PR].*| +|0.4.0|21.08.17|— ***[Renamed]*** `liveSassCompile.settings.excludeFolders` is renamed to `liveSassCompile.settings.excludeList`.

— ***[Fixed]*** You can set glob pattern to exclude files through `liveSassCompile.settings.excludeList` settings. You can also use negative glob pattern.*[For More details, follow settings section]*

— ***[New Settings [#8](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/8) ]*** `liveSassCompile.settings.includeItems` : This setting is useful when you deals with only few of sass files. Only mentioned Sass files will be included. NOTE: No need to include partial sass files. *[Thanks [PatrickPahlke](https://github.com/PatrickPahlke)]*.| +|0.3.4|15.08.17|**[Fixed [#7](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/7)]** Duplicate Output. _[Thanks [Tomekk-hnm](https://github.com/tomekk-hnm)]_.| +|0.3.3|01.08.17|[[#5](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/5)] Critical Fix Update for Linux & macOS. (Thanks a lot to [Shea Fitzek](https://github.com/sheafitzek)). | +|0.3.2 | 01.08.17 | [Hot Fix] CSS & map link was broken. | +|0.3.1 | 30.07.17 | — Ordering of Output log is fixed.

NOTE : Lot of code (almost full code) is changed as I've refactored the source code. So, if anything is broken (Hopefully NOT :D ), feel free to open a issue request on GitHub. I'm happy to resolve the bugs. | +|0.3.0|29.07.17| — This update does not include any new feature or major fix but a big fix in source code setup. I was facing a big configuration issue between TypeScript and non-NPM third-party library since I released the extension - even I was not able to debug extension directly from TypeScript codes. Finally I am able to fix it. (I promise, more updates are coming soon...).
— Statusbar text (at watching mode) has been changed.
—Package size reduced to more than 50%.| +|0.2.2|25.07.17|New Command added for one time Sass/Scss compilation. - Press `F1` or `ctrl+shift+p` and enter `Compile Sass - Without Watch Mode`.| +| 0.2.1 | 21.07.17 |[[#4](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/4)] Critical Bug Fixed update. [Thanks _[Cassio Cabral](https://github.com/cassioscabral)_].| +|0.2.0|20.07.17|[[#3](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/3)] New settings added to exclude specific folders from workspace. All Sass/Scss files inside the folders will be ignored. [Thanks _[Cassio Cabral](https://github.com/cassioscabral) for the suggestion_]. | +|0.1.2|19.07.17| Small Fix (Rename) update.| +| 0.1.1 | 14.07.17 | Fixed [#2](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/2) - Partial Sass/Sass files are not compiling in watching mode. (Thanks again, _[Kerry Smyth](https://github.com/Kerrys7777) :p_) | +|0.1.0| 13.07.17| Feature Added [#1](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/1) - Now the extesion will also generate `Linker Address Map (.map)` files in the same directory of `.css` (Thanks, _[Kerry Smyth](https://github.com/Kerrys7777)_). | +|0.0.5| 11.07.17 |`liveSassCompile.settings.extensionName` settings added. | +|0.0.4 | 11.07.17 | Icon updated.| +|0.0.3 | 11.07.17 | Fix update for Linux environment.| +|0.0.2 | 11.07.17 | Small description updated.| +| 0.0.1 | 11.07.17 | Initial Preview Release with following key features.
— Live SASS & SCSS Compile.
— Customizable file location of exported CSS.
— Customizable exported CSS Style (`expanded`, `compact`, `compressed`, `nested`.)
— Quick Status bar control.
— Live Reload to browser (`Live Server` extension dependency). | + + +
+ +>#### [Released] (11.07.2017) + +>#### [Unreleased] (09.07.17 - 10.07.2017) \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/LICENSE.txt b/.vscode/extensions/ritwickdey.live-sass-3.0.0/LICENSE.txt new file mode 100644 index 00000000..cfc20f4e --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Ritwick Dey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/README.md b/.vscode/extensions/ritwickdey.live-sass-3.0.0/README.md new file mode 100644 index 00000000..4f6cf5e1 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/README.md @@ -0,0 +1,52 @@ + +# Live Sass Compiler + +**_[If you like the extension, [please leave a review](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass#review-details), it puts a smile on my face.]_** + +**_[If you found any bug or if you have any suggestion, feel free to report or suggest me.]_** + +[![VSCode Marketplace Badge](https://img.shields.io/vscode-marketplace/v/ritwickdey.live-sass.svg?label=VSCode%20Marketplace&style=flat-square)](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass) [![Total Install](https://img.shields.io/vscode-marketplace/d/ritwickdey.live-sass.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass) [![Avarage Rating Badge](https://img.shields.io/vscode-marketplace/r/ritwickdey.live-sass.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/ritwickdey/vscode-live-sass-compiler/) + +A VSCode Extension that help you to compile/transpile your SASS/SCSS files to CSS files at realtime with live browser reload. + +![App Preview](https://github.com/ritwickdey/vscode-live-sass-compiler/raw/master/./images/Screenshot/AnimatedPreview.gif) + +## Usage/Shortcuts +1. Click to `Watch Sass` from Statusbar to turn on the live compilation and then click to `Stop Watching Sass` from Statusbar to turn on live compilation . +![Statusbar control](https://github.com/ritwickdey/vscode-live-sass-compiler/raw/master/./images/Screenshot/statusbar.jpg) + +2. Press `F1` or `ctrl+shift+P` and type `Live Sass: Watch Sass` to start live compilation or, type `Live Sass: Stop Watching Sass` to stop a live compilation. +3. Press `F1` or `ctrl+shift+P` and type `Live Sass: Compile Sass - Without Watch Mode ` to compile Sass or Scss for one time. + +## Features +* Live SASS & SCSS Compile. +* Customizable file location of exported CSS. +* Customizable exported CSS Style (`expanded`, `compact`, `compressed`, `nested`). +* Customizable extension name (`.css` or `.min.css`). +* Quick Status bar control. +* Exclude Specific Folders by settings. +* Live Reload to browser (Dependency on `Live Server` extension). +* Autoprefix Supported (See setting section) + +## Installation +Open VSCode Editor and Press `ctrl+P`, type `ext install live-sass`. + +## Settings +All settings are now listed here [Settings Docs](https://github.com/ritwickdey/vscode-live-sass-compiler/blob/master/./docs/settings.md). + +## FAQ +*All FAQs are now listed here [FAQ Docs](https://github.com/ritwickdey/vscode-live-sass-compiler/blob/master/./docs/faqs.md)* + +## Extension Dependency +This extension has dependency on _[Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)_ extension for live browser reload. + +## What's new ? + +* #### Version 3.0.0 (11.07.2018) + * Upgrade `sass.js` library that included fixes for 8 digit Hex code & grid name. [Fixes [#39](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/39), [#40](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/40), [#78](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/77)] + +## Changelog +To check full changelog click here [changelog](https://github.com/ritwickdey/vscode-live-sass-compiler/blob/master/CHANGELOG.md). + +## LICENSE +This extension is licensed under the [MIT License](https://github.com/ritwickdey/vscode-live-sass-compiler/blob/master/LICENSE) \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/docs/faqs.md b/.vscode/extensions/ritwickdey.live-sass-3.0.0/docs/faqs.md new file mode 100644 index 00000000..b3b62d45 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/docs/faqs.md @@ -0,0 +1,33 @@ + +## FAQ (For Beginners) + +### How to config the settings in my project? + +Create a `.vscode` folder in the root of project. Inside of `.vscode` folder create a json file named `settings.json`. +Inside of the `settings.json`, type following key-value pairs. By the way you'll get intelli-sense. + +```json +{ + "liveSassCompile.settings.formats":[ + { + "format": "expanded", + "extensionName": ".css", + "savePath": "/css" + }, + { + "extensionName": ".min.css", + "format": "compressed", + "savePath": "/dist/css" + } + ], + "liveSassCompile.settings.excludeList": [ + "**/node_modules/**", + ".vscode/**" + ], + "liveSassCompile.settings.generateMap": true, + "liveSassCompile.settings.autoprefix": [ + "> 1%", + "last 2 versions" + ] +} +``` \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/docs/settings.md b/.vscode/extensions/ritwickdey.live-sass-3.0.0/docs/settings.md new file mode 100644 index 00000000..4757c966 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/docs/settings.md @@ -0,0 +1,100 @@ +## Settings + +* ~~**`liveSassCompile.settings.format`**~~ +
+* ~~**`liveSassCompile.settings.savePath`**~~ +
+* ~~**`liveSassCompile.settings.extensionName`**~~ + +
+* ***[NEW]*** **`liveSassCompile.settings.formats`** : To setup Format (style), Extension Name & Save location for exported css [Multiple Format Supported]. + + * *Format can be _`expanded`_, _`compact`_, _`compressed`_ or _`nested`_. _Default is `expanded`._* + + * *Extension Name can be `.css` or `.min.css`. Default is `.css`.* + + * ***[New]*** Save location is relative from workspace root or your Sass files. + * Default value is `null`. (`null` means, it will generate CSS in the location of scss/sass. By The Way, It is `null`, NOT `"null"`). + + * "`/`" denotes relative to root. + + * "`~`" denotes relative to every sass file. - Complex Scenario. *([Checkout the example](https://github.com/ritwickdey/vscode-live-sass-compiler/issues/26#issue-274641546))* + + * *Example :* + + ```js + "liveSassCompile.settings.formats":[ + // This is Default. + { + "format": "expanded", + "extensionName": ".css", + "savePath": null + }, + // You can add more + { + "format": "compressed", + "extensionName": ".min.css", + "savePath": "/dist/css" + }, + // More Complex + { + "format": "compressed", + "extensionName": ".min.css", + "savePath": "~/../css/" + } + ] + ``` +
+* **`liveSassCompile.settings.excludeList`:** To Exclude specific folders. All Sass/Scss files inside the folders will be ignored. + * _default value :_ + ```json + "liveSassCompile.settings.excludeList": [ + "**/node_modules/**", + ".vscode/**" + ] + ``` + * You can use negative glob pattern. + + * _Example : if you want exclude all file except `file1.scss` & `file2.scss` from `path/subpath` directory, you can use the expression -_ + + ```json + "liveSassCompile.settings.excludeList": [ + "path/subpath/*[!(file1|file2)].scss" + ] + ``` +
+* **`liveSassCompile.settings.includeItems`:** This setting is useful when you deals with only few of sass files. Only mentioned Sass files will be included. + + * *NOTE: No need to include partial sass files.* + * *Default value is `null`* + * Example : + ```json + "liveSassCompile.settings.includeItems": [ + "path/subpath/a.scss", + "path/subpath/b.scss", + ] + ``` +
+* **`liveSassCompile.settings.generateMap`:** Set it as `false` if you don't want `.map` file for compiled CSS. + * _Default is `true`._ + +
+* **`liveSassCompile.settings.autoprefix` :** + Automatically add vendor prefixes to unsupported CSS properties (e. g. `transform` -> `-ms-transform`). + + * _Specify what browsers to target with an array of strings (uses [Browserslist](https://github.com/ai/browserslist))._ + * _Set `null` to turn off. (Default is `null`)_ + + * Example: + ```json + "liveSassCompile.settings.autoprefix": [ + "> 1%", + "last 2 versions" + ] + ``` +
+* **`liveSassCompile.settings.showOutputWindow` :** Set this to `false` if you do not want the output window to show. + * *NOTE: You can use the command palette to open the Live Sass output window.* + * *Default value is `true`* + +
diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/images/icon2.png b/.vscode/extensions/ritwickdey.live-sass-3.0.0/images/icon2.png new file mode 100644 index 00000000..ce0657cc Binary files /dev/null and b/.vscode/extensions/ritwickdey.live-sass-3.0.0/images/icon2.png differ diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/package.json b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/package.json new file mode 100644 index 00000000..ecff76cb --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/package.json @@ -0,0 +1,12 @@ +{ + "name": "sasslib", + "version": "1.1.0", + "description": "", + "main": "sass.node.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "private": true +} diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.js new file mode 100644 index 00000000..3df82dc5 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.js @@ -0,0 +1,202 @@ +/*! sass.js - v0.10.5 (2cd3782) - built 2017-06-25 + providing libsass 3.4.5 (31573210) + via emscripten 1.37.0 () + */ + +(function (root, factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define([], factory); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.Sass = factory(); + } +}(this, function () {/*global document*/ +// identify the path sass.js is located at in case we're loaded by a simple +// +// this path can be used to identify the location of +// * sass.worker.js from sass.js +// * libsass.js.mem from sass.sync.js +// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214 +// see https://github.com/medialize/sass.js/issues/33 +var SASSJS_RELATIVE_PATH = (function() { + 'use strict'; + + // in Node things are rather simple + if (typeof __dirname !== 'undefined') { + return __dirname; + } + + // we can only run this test in the browser, + // so make sure we actually have a DOM to work with. + if (typeof document === 'undefined' || !document.getElementsByTagName) { + return null; + } + + // http://www.2ality.com/2014/05/current-script.html + var currentScript = document.currentScript || (function() { + var scripts = document.getElementsByTagName('script'); + return scripts[scripts.length - 1]; + })(); + + var path = currentScript && currentScript.src; + if (!path) { + return null; + } + + // [worker] make sure we're not running in some concatenated thing + if (path.slice(-8) === '/sass.js') { + return path.slice(0, -8); + } + + // [sync] make sure we're not running in some concatenated thing + if (path.slice(-13) === '/sass.sync.js') { + return path.slice(0, -13); + } + + return null; +})() || '.'; + +/*global Worker, SASSJS_RELATIVE_PATH*/ +'use strict'; + +var noop = function(){}; +var slice = [].slice; +// defined upon first Sass.initialize() call +var globalWorkerUrl; + +function Sass(workerUrl) { + if (!workerUrl && !globalWorkerUrl) { + /*jshint laxbreak:true */ + throw new Error( + 'Sass needs to be initialized with the URL of sass.worker.js - ' + + 'either via Sass.setWorkerUrl(url) or by new Sass(url)' + ); + /*jshint laxbreak:false */ + } + + if (!globalWorkerUrl) { + globalWorkerUrl = workerUrl; + } + + // bind all functions + // we're doing this because we used to have a single hard-wired instance that allowed + // [].map(Sass.removeFile) and we need to maintain that for now (at least until 1.0.0) + for (var key in this) { + if (typeof this[key] === 'function') { + this[key] = this[key].bind(this); + } + } + + this._callbacks = {}; + this._worker = new Worker(workerUrl || globalWorkerUrl); + this._worker.addEventListener('message', this._handleWorkerMessage, false); +} + +// allow setting the workerUrl before the first Sass instance is initialized, +// where registering the global workerUrl would've happened automatically +Sass.setWorkerUrl = function(workerUrl) { + globalWorkerUrl = workerUrl; +}; + +Sass.style = { + nested: 0, + expanded: 1, + compact: 2, + compressed: 3 +}; + +Sass.comments = { + 'none': 0, + 'default': 1 +}; + +Sass.prototype = { + style: Sass.style, + comments: Sass.comments, + + destroy: function() { + this._worker && this._worker.terminate(); + this._worker = null; + this._callbacks = {}; + this._importer = null; + }, + + _handleWorkerMessage: function(event) { + if (event.data.command) { + this[event.data.command](event.data.args); + } + + this._callbacks[event.data.id] && this._callbacks[event.data.id](event.data.result); + delete this._callbacks[event.data.id]; + }, + + _dispatch: function(options, callback) { + if (!this._worker) { + throw new Error('Sass worker has been terminated'); + } + + options.id = 'cb' + Date.now() + Math.random(); + this._callbacks[options.id] = callback; + this._worker.postMessage(options); + }, + + _importerInit: function(args) { + // importer API done callback pushing results + // back to the worker + var done = function done(result) { + this._worker.postMessage({ + command: '_importerFinish', + args: [result] + }); + }.bind(this); + + try { + this._importer(args[0], done); + } catch(e) { + done({ error: e.message }); + throw e; + } + }, + + importer: function(importerCallback, callback) { + if (typeof importerCallback !== 'function' && importerCallback !== null) { + throw new Error('importer callback must either be a function or null'); + } + + // callback is executed in the main EventLoop + this._importer = importerCallback; + // tell worker to activate importer callback + this._worker.postMessage({ + command: 'importer', + args: [Boolean(importerCallback)] + }); + + callback && callback(); + }, +}; + +var commands = 'writeFile readFile listFiles removeFile clearFiles lazyFiles preloadFiles options compile compileFile'; +commands.split(' ').forEach(function(command) { + Sass.prototype[command] = function() { + var callback = slice.call(arguments, -1)[0]; + var args = slice.call(arguments, 0, -1); + if (typeof callback !== 'function') { + args.push(callback); + callback = noop; + } + + this._dispatch({ + command: command, + args: args + }, callback); + }; +}); + +// automatically set the workerUrl in case we're loaded by a simple +// +// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214 +Sass.setWorkerUrl(SASSJS_RELATIVE_PATH + '/sass.worker.js'); +return Sass; +})); \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.node.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.node.js new file mode 100644 index 00000000..bd26d735 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.node.js @@ -0,0 +1,77 @@ +/*! sass.js - v0.10.5 (2cd3782) - built 2017-06-25 + providing libsass 3.4.5 (31573210) + via emscripten 1.37.0 () + */ +var fs = require('fs'); +var Sass = require('./sass.sync.js'); +var pathModule = require('path'); +function fileExists(path) { + var stat = fs.statSync(path); + return stat && stat.isFile(); +} +function importFileToSass(originalPath, path, done) { + var requestedPath = pathModule.resolve(originalPath, path); + // figure out the *actual* path of the file + var filesystemPath = Sass.findPathVariation(fileExists, requestedPath); + if (!filesystemPath) { + done({ + error: 'File "' + requestedPath + '" not found', + }); + return; + } + // write the file to emscripten FS so libsass internal FS handling + // can engage the scss/sass switch, which apparently does not happen + // for content provided through the importer callback directly + var content = fs.readFileSync(filesystemPath, { + encoding: 'utf8' + }); + Sass.writeFile(filesystemPath, content, function () { + done({ + path: filesystemPath, + }); + }); +} +function importerCallback(originalPath, request, done) { + //EDITED + // sass.js works in the "/sass/" directory, make that relative to CWD + // var requestedPath = request.resolved.replace(/^\/sass\//, '' ); + // importFileToSass(requestedPath, done); + //var requestedPath = request.current.replace(/^\/sass/, ''); + var requestedPath; + var indexOfSlash; + if (process.platform === "win32") { + requestedPath = pathModule.resolve(pathModule.dirname(request.previous.replace(/^\/sass\//, '')), request.current); + indexOfSlash = requestedPath.lastIndexOf("\\"); + } + else { + requestedPath = request.resolved.replace(/^\/sass/, ''); + indexOfSlash = requestedPath.lastIndexOf("/"); + } + var fullTempRequestedPath = requestedPath.substring(0, indexOfSlash + 1) + '_' + requestedPath.substring(indexOfSlash + 1); + + if (fs.existsSync(fullTempRequestedPath + '.scss') + || fs.existsSync(fullTempRequestedPath + '.sass')) { + requestedPath = fullTempRequestedPath; + } + else { + console.error("not found", fullTempRequestedPath); + } + importFileToSass(originalPath, requestedPath, done); +} +function compileFile(path, options, callback) { + if (!callback) { + callback = options; + options = {}; + } + var originalFilePath = pathModule.dirname(path); + var originalFileName = pathModule.basename(path); + Sass.importer((requestPath, done) => { + importerCallback(originalFilePath, requestPath, done); + }); + importFileToSass(originalFilePath, originalFileName, function () { + Sass.compileFile(path, options, callback); + }); +} +compileFile.importFileToSass = importFileToSass; +compileFile.Sass = Sass; +module.exports = compileFile; diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.sync.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.sync.js new file mode 100644 index 00000000..27d1ac77 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/lib/sasslib/sass.sync.js @@ -0,0 +1,827 @@ +/*! sass.js - v0.10.10 (4ca6ca1) - built 2018-07-07 + providing libsass 3.5.4 (1e52b743) + via emscripten 1.37.35 () + */ + +(function (root, factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define([], factory); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.Sass = factory(); + } +}(this, function () {/*global document*/ +// identify the path sass.js is located at in case we're loaded by a simple +// +// this path can be used to identify the location of +// * sass.worker.js from sass.js +// * libsass.js.mem from sass.sync.js +// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214 +// see https://github.com/medialize/sass.js/issues/33 +var SASSJS_RELATIVE_PATH = (function() { + 'use strict'; + + // in Node things are rather simple + if (typeof __dirname !== 'undefined') { + return __dirname; + } + + // we can only run this test in the browser, + // so make sure we actually have a DOM to work with. + if (typeof document === 'undefined' || !document.getElementsByTagName) { + return null; + } + + // http://www.2ality.com/2014/05/current-script.html + var currentScript = document.currentScript || (function() { + var scripts = document.getElementsByTagName('script'); + return scripts[scripts.length - 1]; + })(); + + var path = currentScript && currentScript.src; + if (!path) { + return null; + } + + // [worker] make sure we're not running in some concatenated thing + if (path.slice(-8) === '/sass.js') { + return path.slice(0, -8); + } + + // [sync] make sure we're not running in some concatenated thing + if (path.slice(-13) === '/sass.sync.js') { + return path.slice(0, -13); + } + + return null; +})() || '.'; + +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;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{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}if(ENVIRONMENT_IS_NODE){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",(function(reason,p){process["exit"](1)}));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,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){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)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);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;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);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)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&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:x+" ["+y+"]"}))}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 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{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{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 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_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;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}var ASM_CONSTS=[(function($0,$1,$2){Sass._sassCompileEmscriptenSuccess(pointerToString($0),pointerToJson($1),pointerToStringArray($2))}),(function($0,$1){Sass._sassCompileEmscriptenError(pointerToJson($0),pointerToString($1))}),(function($0,$1){Importer.find(pointerToString($0),pointerToString($1))}),(function($0){return Number(Importer.finished())}),(function($0){return Number(Importer.error())}),(function($0){return Number(Importer.path())}),(function($0){return Number(Importer.content())})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+89824;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_node_cpp()})},{func:(function(){__GLOBAL__sub_I_context_cpp()})},{func:(function(){__GLOBAL__sub_I_functions_cpp()})},{func:(function(){__GLOBAL__sub_I_color_maps_cpp()})},{func:(function(){__GLOBAL__sub_I_environment_cpp()})},{func:(function(){__GLOBAL__sub_I_ast_fwd_decl_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})},{func:(function(){__GLOBAL__sub_I_file_cpp()})},{func:(function(){__GLOBAL__sub_I_util_cpp()})},{func:(function(){__GLOBAL__sub_I_units_cpp()})},{func:(function(){__GLOBAL__sub_I_values_cpp()})},{func:(function(){__GLOBAL__sub_I_parser_cpp()})},{func:(function(){__GLOBAL__sub_I_eval_cpp()})},{func:(function(){__GLOBAL__sub_I_expand_cpp()})},{func:(function(){__GLOBAL__sub_I_listize_cpp()})},{func:(function(){__GLOBAL__sub_I_cssize_cpp()})},{func:(function(){__GLOBAL__sub_I_extend_cpp()})},{func:(function(){__GLOBAL__sub_I_output_cpp()})},{func:(function(){__GLOBAL__sub_I_inspect_cpp()})},{func:(function(){__GLOBAL__sub_I_emitter_cpp()})},{func:(function(){__GLOBAL__sub_I_check_nesting_cpp()})},{func:(function(){__GLOBAL__sub_I_remove_placeholders_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_util_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_values_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_context_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_functions_cpp()})},{func:(function(){__GLOBAL__sub_I_sass2scss_cpp()})},{func:(function(){__GLOBAL__sub_I_backtrace_cpp()})},{func:(function(){__GLOBAL__sub_I_operators_cpp()})},{func:(function(){__GLOBAL__sub_I_to_c_cpp()})},{func:(function(){__GLOBAL__sub_I_to_value_cpp()})},{func:(function(){__GLOBAL__sub_I_source_map_cpp()})},{func:(function(){__GLOBAL__sub_I_subset_map_cpp()})},{func:(function(){__GLOBAL__sub_I_error_handling_cpp()})},{func:(function(){__GLOBAL__sub_I_ast_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="data:application/octet-stream;base64,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AAAAALgPAAAIAAAAEwEAAAAAAADoDwAAdgIAABQBAAAVAQAAdwIAAHgCAAB5AgAAegIAAHsCAAB8AgAAfQIAAH4CAAB/AgAAgAIAAIECAACCAgAAgwIAAIQCAACFAgAAhgIAAIcCAACIAgAAiQIAAIoCAACLAgAAjAIAAI0CAACOAgAAjwIAAJACAACRAgAAkgIAAJMCAACUAgAAlQIAAJYCAACXAgAAmAIAAJkCAACaAgAAmwIAAJwCAACdAgAAngIAAJ8CAACgAgAAoQIAAKICAACjAgAApAIAAKUCAACmAgAApwIAAKgCAACpAgAAqgIAAKsCAACsAgAArQIAAK4CAACvAgAAsAIAALECAACyAgAAswIAALQCAAC1AgAAtgIAALcCAAC4AgAAuQIAAAAAAAAIEAAAugIAABYBAAAXAQAAuwIAALwCAAC9AgAAvgIAAL8CAADAAgAAwQIAAMICAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAADJAgAAygIAAMsCAADMAgAAzQIAAM4CAADPAgAA0AIAANECAADSAgAA0wIAANQCAADVAgAA1gIAANcCAADYAgAA2QIAANoCAADbAgAA3AIAAN0CAADeAgAA3wIAAOACAADhAgAA4gIAAOMCAADkAgAA5QIAAOYCAADnAgAA6AIAAOkCAADqAgAA6wIAAOwCAADtAgAA7gIAAO8CAADwAgAA8QIAAPICAADzAgAA9AIAAPUCAAD2AgAA9wIAAPgCAAD5AgAA+gIAAPsCAAD8AgAA/QIAAAAAAAAwEAAACAAAABgBAAAAAAAAGBAAAAgAAAAZAQAAAAAAAFgQAACKAAAAGgEAABsBAACLAAAAjAAAAI0AAACOAAAAjwAAAJAAAACRAAAAkgAAAJMAAACUAAAAlQAAAJYAAACXAAAAmAAAAJkAAACaAAAAmwAAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApwAAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAALEAAACyAAAAswAAALQAAAC1AAAAtgAAALcAAAC4AAAAuQAAALoAAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAxQAAAMYAAADHAAAAyAAAAMkAAADKAAAA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fAMAAH0DAAB+AwAAfwMAAIADAACBAwAAggMAAIMDAACEAwAAhQMAAAAAAACIEQAAhgMAACsBAAAsAQAAhwMAAIgDAACJAwAAigMAAIsDAACMAwAAjQMAAI4DAACPAwAAkAMAAJEDAACSAwAAkwMAAJQDAACVAwAAlgMAAJcDAACYAwAAmQMAAJoDAACbAwAAnAMAAJ0DAACeAwAAnwMAAKADAAChAwAAogMAAKMDAACkAwAApQMAAKYDAACnAwAAqAMAAKkDAACqAwAAqwMAAKwDAACtAwAArgMAAK8DAACwAwAAsQMAALIDAACzAwAAtAMAALUDAAC2AwAAtwMAALgDAAC5AwAAugMAALsDAAC8AwAAvQMAAL4DAAC/AwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAAyQMAAAAAAAAQDQAAtQAAAC0BAADsAAAA7QAAAAAAAABQCAAAtQAAAC4BAADsAAAA7QAAAAAAAACQCQAAtQAAAC8BAADsAAAA7QAAAAAAAAAADQAAtQAAADABAADsAAAA7QAAAAAAAABIDwAAtQAAADEBAADsAAAA+QAAAAAAAAAQDwAAtQAAADIBAADsAAAA+gAAAAAAAACQDwAAtQAAADMBAADsAAAA+wAAAAAAAADwAAAABgAAADQBAAALAAAADAAAAAAAAABAEQAABgAAADUBAAALAAAADAAAAAAAAABQEQAABgAAADYBAAALAAAA/AAAAAAAAAAgEQAABgAAADcBAAALAAAADAAAAAAAAAAwEQAABgAAADgBAAALAAAADAAAAAAAAAAgDwAAtQAAADkBAADsAAAA7QAAAAAAAACwEQAABAAAADoBAAAAAAAAKAEAAAEAAAABAAAAoFMAABQAAABDLlVURi04AAAAAAAAAAAAAAAAAN4SBJUAAAAA////////////////hFMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTnFQAAAUAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAPAAAAz1YBAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcVQAACQAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA8AAADXVgEAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxVAAAFAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAADwAAAN9aAQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFHYAAJRZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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zAMAABUAAADNAwAACAAAAAAAAADwEQAAvQAAAL4AAAD4////+P////ARAAC/AAAAwAAAABRmAAAoZgAACAAAAAAAAAAIEgAAQQEAAEIBAAD4////+P///wgSAABDAQAARAEAAERmAABYZgAAHAAAADAAAAAEAAAAAAAAADgSAABFAQAARgEAAPz////8////OBIAAEcBAABIAQAAfGYAAJBmAAAMAAAAAAAAAFASAADRAAAA0gAAAAQAAAD4////UBIAANMAAADUAAAA9P////T///9QEgAA1QAAANYAAACsZgAAfBIAAJASAAAcAAAAMAAAANRmAADAZgAAAAAAAJgSAABJAQAASgEAAAMBAABHAAAAFgAAABcAAABIAAAAAAAAAKgSAABLAQAATAEAAAQBAAAAZwAAAAAAALgSAABNAQAATgEAAKMBAAATAAAABAAAAAQAAAAFAQAAAAEAABQAAAABAQAAAgEAAMwDAAAYAAAAzgMAAAAAAADIEgAATwEAAFABAACkAQAACgAAAAMAAAADAAAABgEAAPAAAAALAAAA/gAAAPIAAADKAwAAGQAAAM8DAAAAAAAA2BIAAFEBAABSAQAApQEAABMAAAAEAAAABAAAAP8AAAAAAQAAFAAAAAcBAAAIAQAA0AMAABUAAADNAwAAAAAAAOgSAABTAQAAVAEAAKYBAAAKAAAAAwAAAAMAAADvAAAA8AAAAAsAAAAJAQAACgEAANEDAAAMAAAAywMAAAAAAAD4EgAAVQEAAFYBAABXAQAAAQAAAAUAAAAaAAAAAAAAABgTAABYAQAAWQEAAFcBAAACAAAABgAAABsAAAAAAAAAKBMAAFoBAABbAQAAVwEAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAAGgTAABcAQAAXQEAAFcBAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAAAAACgEwAAXgEAAF8BAABXAQAAAwAAAAQAAAAXAAAABQAAABgAAAABAAAAAgAAAAYAAAAAAAAA4BMAAGABAABhAQAAVwEAAAcAAAAIAAAAGQAAAAkAAAAaAAAAAwAAAAQAAAAKAAAAAAAAABgUAABiAQAAYwEAAFcBAAALAQAAGwAAABwAAAAdAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATjRTYXNzMTVQc2V1ZG9fU2VsZWN0b3JFAE40U2FzczE1U2ltcGxlX1NlbGVjdG9yRQBONFNhc3M4QVNUX05vZGVFAE40U2FzczhTZWxlY3RvckUATjRTYXNzMTBFeHByZXNzaW9uRQBONFNhc3MxNldyYXBwZWRfU2VsZWN0b3JFAE40U2FzczE4QXR0cmlidXRlX1NlbGVjdG9yRQBONFNhc3MxNkVsZW1lbnRfU2VsZWN0b3JFAE40U2FzczVWYWx1ZUUATjRTYXNzOUV4Y2VwdGlvbjE0T3BlcmF0aW9uRXJyb3JFAE40U2FzczlFeGNlcHRpb24xN0luY29tcGF0aWJsZVVuaXRzRQBONFNhc3M2TnVtYmVyRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfOEFTVF9Ob2RlRUVFAE40U2FzczlTaGFyZWRQdHJFAE40U2FzczdFbWl0dGVyRQBONFNhc3M1VW5pdHNFAE40U2FzczEwU2hhcmVkSW1wbElOU185U3RhdGVtZW50RUVFAE40U2FzczEwVmVjdG9yaXplZElOU18xMFNoYXJlZEltcGxJTlNfOVN0YXRlbWVudEVFRUVFAE40U2FzczlTdGF0ZW1lbnRFAE40U2FzczVCbG9ja0UATjRTYXNzMTNTZWxlY3Rvcl9MaXN0RQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTNTZWxlY3Rvcl9MaXN0RUVFAE40U2FzczEwU2hhcmVkSW1wbElOU181QmxvY2tFRUUATjRTYXNzOUhhc19CbG9ja0UATjRTYXNzN1J1bGVzZXRFAE40U2FzczZCdWJibGVFAE40U2FzczVUcmFjZUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzRMaXN0RUVFAE40U2FzczExTWVkaWFfQmxvY2tFAEAtd2Via2l0LW1lZGlhAEAtbW96LW1lZGlhAEAtby1tZWRpYQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTBFeHByZXNzaW9uRUVFAE40U2FzczlEaXJlY3RpdmVFAE40U2FzczEzS2V5ZnJhbWVfUnVsZUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzZTdHJpbmdFRUUATjRTYXNzMTFEZWNsYXJhdGlvbkUATjRTYXNzMTBBc3NpZ25tZW50RQBONFNhc3M2SW1wb3J0RQBONFNhc3MxMUltcG9ydF9TdHViRQBONFNhc3M3V2FybmluZ0UATjRTYXNzNUVycm9yRQBONFNhc3M1RGVidWdFAE40U2FzczdDb21tZW50RQBONFNhc3MySWZFAE40U2FzczNGb3JFAE40U2FzczRFYWNoRQBONFNhc3M1V2hpbGVFAE40U2FzczZSZXR1cm5FAE40U2FzczlFeHRlbnNpb25FAE40U2FzczEwU2hhcmVkSW1wbElOU18xMFBhcmFtZXRlcnNFRUUATjRTYXNzMTBEZWZpbml0aW9uRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfOUFyZ3VtZW50c0VFRQBONFNhc3MxME1peGluX0NhbGxFAE40U2FzczdDb250ZW50RQBONFNhc3MxMFZlY3Rvcml6ZWRJTlNfMTBTaGFyZWRJbXBsSU5TXzEwRXhwcmVzc2lvbkVFRUVFAE40U2FzczhBcmd1bWVudEUAYXJnbGlzdABsaXN0AE40U2FzczRMaXN0RQBONFNhc3MzTWFwRQB1bm9yZGVyZWRfbWFwOjphdDoga2V5IG5vdCBmb3VuZABONFNhc3M2SGFzaGVkRQBONFNhc3MxN0JpbmFyeV9FeHByZXNzaW9uRQBONFNhc3M4UHJlVmFsdWVFAE40U2FzczE2VW5hcnlfRXhwcmVzc2lvbkUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzhBcmd1bWVudEVFRQBONFNhc3MxMFZlY3Rvcml6ZWRJTlNfMTBTaGFyZWRJbXBsSU5TXzhBcmd1bWVudEVFRUVFAG5hbWVkIGFyZ3VtZW50cyBtdXN0IHByZWNlZGUgdmFyaWFibGUtbGVuZ3RoIGFyZ3VtZW50AGZ1bmN0aW9ucyBhbmQgbWl4aW5zIG1heSBvbmx5IGJlIGNhbGxlZCB3aXRoIG9uZSB2YXJpYWJsZS1sZW5ndGggYXJndW1lbnQAb25seSBrZXl3b3JkIGFyZ3VtZW50cyBtYXkgZm9sbG93IHZhcmlhYmxlIGFyZ3VtZW50cwBmdW5jdGlvbnMgYW5kIG1peGlucyBtYXkgb25seSBiZSBjYWxsZWQgd2l0aCBvbmUga2V5d29yZCBhcmd1bWVudABvcmRpbmFsIGFyZ3VtZW50cyBtdXN0IHByZWNlZGUgdmFyaWFibGUtbGVuZ3RoIGFyZ3VtZW50cwBvcmRpbmFsIGFyZ3VtZW50cyBtdXN0IHByZWNlZGUgbmFtZWQgYXJndW1lbnRzAE40U2FzczlBcmd1bWVudHNFAE40U2FzczhGdW5jdGlvbkUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzEwRGVmaW5pdGlvbkVFRQBONFNhc3MxM0Z1bmN0aW9uX0NhbGxFAE40U2FzczEwU2hhcmVkSW1wbElOU184RnVuY3Rpb25FRUUATjRTYXNzMjBGdW5jdGlvbl9DYWxsX1NjaGVtYUUATjRTYXNzOFZhcmlhYmxlRQBONFNhc3M1Q29sb3JFAE40U2FzczdCb29sZWFuRQBONFNhc3MxM1N0cmluZ19TY2hlbWFFAE40U2FzczZTdHJpbmdFACAMCg0JCwBONFNhc3MxM1N0cmluZ19RdW90ZWRFAE40U2FzczE1U3RyaW5nX0NvbnN0YW50RQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMjJNZWRpYV9RdWVyeV9FeHByZXNzaW9uRUVFAE40U2FzczEwVmVjdG9yaXplZElOU18xMFNoYXJlZEltcGxJTlNfMjJNZWRpYV9RdWVyeV9FeHByZXNzaW9uRUVFRUUATjRTYXNzMTFNZWRpYV9RdWVyeUUATjRTYXNzMjJNZWRpYV9RdWVyeV9FeHByZXNzaW9uRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMThTdXBwb3J0c19Db25kaXRpb25FRUUATjRTYXNzMTRTdXBwb3J0c19CbG9ja0UATjRTYXNzMThTdXBwb3J0c19Db25kaXRpb25FAE40U2FzczE3U3VwcG9ydHNfT3BlcmF0b3JFAE40U2FzczE3U3VwcG9ydHNfTmVnYXRpb25FAE40U2FzczEwU2hhcmVkSW1wbElOU18xN1N1cHBvcnRzX09wZXJhdG9yRUVFAE40U2FzczIwU3VwcG9ydHNfRGVjbGFyYXRpb25FAE40U2FzczIyU3VwcG9ydHNfSW50ZXJwb2xhdGlvbkUATjRTYXNzMTNBdF9Sb290X1F1ZXJ5RQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTNBdF9Sb290X1F1ZXJ5RUVFAE40U2FzczEzQXRfUm9vdF9CbG9ja0UATjRTYXNzNE51bGxFAE40U2FzczlQYXJhbWV0ZXJFAE40U2FzczEwU2hhcmVkSW1wbElOU185UGFyYW1ldGVyRUVFAE40U2FzczEwVmVjdG9yaXplZElOU18xMFNoYXJlZEltcGxJTlNfOVBhcmFtZXRlckVFRUVFAG9wdGlvbmFsIHBhcmFtZXRlcnMgbWF5IG5vdCBiZSBjb21iaW5lZCB3aXRoIHZhcmlhYmxlLWxlbmd0aCBwYXJhbWV0ZXJzAGZ1bmN0aW9ucyBhbmQgbWl4aW5zIGNhbm5vdCBoYXZlIG1vcmUgdGhhbiBvbmUgdmFyaWFibGUtbGVuZ3RoIHBhcmFtZXRlcgByZXF1aXJlZCBwYXJhbWV0ZXJzIG11c3QgcHJlY2VkZSB2YXJpYWJsZS1sZW5ndGggcGFyYW1ldGVycwByZXF1aXJlZCBwYXJhbWV0ZXJzIG11c3QgcHJlY2VkZSBvcHRpb25hbCBwYXJhbWV0ZXJzAE40U2FzczEwUGFyYW1ldGVyc0UATjRTYXNzMTZDb21wbGV4X1NlbGVjdG9yRQBONFNhc3MxN0NvbXBvdW5kX1NlbGVjdG9yRQBpbnZhbGlkIHNlbGVjdG9yIGJhc2UgY2xhc3NlcyB0byBjb21wYXJlAE40U2FzczE1UGFyZW50X1NlbGVjdG9yRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTVQYXJlbnRfU2VsZWN0b3JFRUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzEzU3RyaW5nX1NjaGVtYUVFRQBONFNhc3MxNVNlbGVjdG9yX1NjaGVtYUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzE1U2ltcGxlX1NlbGVjdG9yRUVFAHwATjRTYXNzMjBQbGFjZWhvbGRlcl9TZWxlY3RvckUATjRTYXNzMTRDbGFzc19TZWxlY3RvckUATjRTYXNzMTFJZF9TZWxlY3RvckUAOmJlZm9yZQA6YWZ0ZXIAOmZpcnN0LWxpbmUAOmZpcnN0LWxldHRlcgBpc19zdXBlcnNlbGVjdG9yIGV4cGVjdGVkIGEgU2VsZWN0b3JfTGlzdABONFNhc3MxMFZlY3Rvcml6ZWRJTlNfMTBTaGFyZWRJbXBsSU5TXzE1U2ltcGxlX1NlbGVjdG9yRUVFRUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzE2Q29tcGxleF9TZWxlY3RvckVFRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTdDb21wb3VuZF9TZWxlY3RvckVFRQB3cmFwcGVkIG5vdCBzZWxlY3RvciBpcyBub3QgYSBsaXN0ADotbW96LWFueQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTZXcmFwcGVkX1NlbGVjdG9yRUVFAE40U2FzczEwU2hhcmVkSW1wbElOU184U2VsZWN0b3JFRUUATjRTYXNzMTBWZWN0b3JpemVkSU5TXzEwU2hhcmVkSW1wbElOU18xNkNvbXBsZXhfU2VsZWN0b3JFRUVFRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTVTZWxlY3Rvcl9TY2hlbWFFRUUAcnVsZQBhbGwAbF9sYXN0ICYmICJsaHMgaXMgbnVsbCIAc3JjL2FzdC5jcHAAdW5pZnlfd2l0aAByX2xhc3QgJiYgInJocyBpcyBudWxsIgBsX2xhc3RfaGVhZCAmJiAibGhzIGhlYWQgaXMgbnVsbCIAcl9sYXN0X2hlYWQgJiYgInJocyBoZWFkIGlzIG51bGwiAE40U2FzczlFeGNlcHRpb240QmFzZUUATjRTYXNzOUV4Y2VwdGlvbjEzSW52YWxpZFBhcmVudEUAbmVzdGVkIHNlbGVjdG9ycyBtYXkgbm90IGJlIGV4dGVuZGVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU5TXzVkZXF1ZUlONFNhc3M0Tm9kZUVOU185YWxsb2NhdG9ySVMzX0VFRUVOUzRfSVM2X0VFRUUAQ29tcGFyaW5nIHVua25vd24gbm9kZSB0eXBlcy4gQSBuZXcgdHlwZSB3YXMgcHJvYmFibHkgYWRkZWQgYW5kIHRoaXMgbWV0aG9kIHdhc24ndCBpbXBsZW1lbnRlZCBmb3IgaXQuAEJvdGggdGhlIGN1cnJlbnQgbm9kZSBhbmQgcmhzIG11c3QgYmUgY29sbGVjdGlvbnMuAFRoZSBub2RlIHRvIGNvbnZlcnQgdG8gYSBDb21wbGV4X1NlbGVjdG9yX1B0ciBtdXN0IGJlIGEgY29sbGVjdGlvbiB0eXBlIG9yIG5pbC4AW05PREVdAFRoZSBub2RlIHRvIGNvbnZlcnQncyBjaGlsZHJlbiBtdXN0IGJlIG9ubHkgY29tYmluYXRvcnMgb3Igc2VsZWN0b3JzLgAvKiMgc291cmNlTWFwcGluZ1VSTD0AZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwATlN0M19fMjE5YmFzaWNfb3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmluZ2J1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIxOWJhc2ljX2lzdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBONFNhc3M3Q29udGV4dEUARmlsZSB0byByZWFkIG5vdCBmb3VuZCBvciB1bnJlYWRhYmxlOiAAQW4gQGltcG9ydCBsb29wIGhhcyBiZWVuIGZvdW5kOgAKICAgIAAgaW1wb3J0cyAATjRTYXNzOUV4Y2VwdGlvbjEzSW52YWxpZFN5bnRheEUATjRTYXNzMTJGaWxlX0NvbnRleHRFAE40U2FzczEyRGF0YV9Db250ZXh0RQBzdGRvdXQASXQncyBub3QgY2xlYXIgd2hpY2ggZmlsZSB0byBpbXBvcnQgZm9yIAAnQGltcG9ydCAiACInLgBDYW5kaWRhdGVzOgBQbGVhc2UgZGVsZXRlIG9yIHJlbmFtZSBhbGwgYnV0IG9uZSBvZiB0aGVzZSBmaWxlcy4ASW5jbHVkaW5nIC5jc3MgZmlsZXMgd2l0aCBAaW1wb3J0IGlzIG5vbi1zdGFuZGFyZCBiZWhhdmlvdXIgd2hpY2ggd2lsbCBiZSByZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBMaWJTYXNzLgBVc2UgYSBjdXN0b20gaW1wb3J0ZXIgdG8gbWFpbnRhaW4gdGhpcyBiZWhhdmlvdXIuIENoZWNrIHlvdXIgaW1wbGVtZW50YXRpb25zIGRvY3VtZW50YXRpb24gb24gaG93IHRvIGNyZWF0ZSBhIGN1c3RvbSBpbXBvcnRlci4ARmlsZSB0byBpbXBvcnQgbm90IGZvdW5kIG9yIHVucmVhZGFibGU6IAB2YXJpYWJsZS1sZW5ndGggYXJndW1lbnQgbWF5IG5vdCBiZSBwYXNzZWQgYnkgbmFtZQBONFNhc3MxMFNoYXJlZEltcGxJTlNfNkltcG9ydEVFRQBAYXQtcm9vdABpZgBAZm9yAGZyb20AdG8AdGhyb3VnaABkZWZhdWx0AGdsb2JhbABudWxsAG9wdGlvbmFsAHdpdGgAd2l0aG91dABpbXBvcnRhbnQAOm5vdCgAcHJvZ2lkAGNhbGMAIicjITt7fQB+PQB8PQBePQAkPQAqPQAjewAtKwAjJSYAKi8lACl7fTshACwpe307IQArfj4AKiYlLCgpW10A77u//v///gAA/v///gAAKy92OCsvdjkrL3YrKy92Lysvdjgt92RM3XNmcw7+//vuKIQxlTNyZ2IoJHJlZCwgJGdyZWVuLCAkYmx1ZSkAcmdiYSgkcmVkLCAkZ3JlZW4sICRibHVlLCAkYWxwaGEpAHJnYmEoJGNvbG9yLCAkYWxwaGEpAHJlZCgkY29sb3IpAGdyZWVuKCRjb2xvcikAYmx1ZSgkY29sb3IpAG1peCgkY29sb3ItMSwgJGNvbG9yLTIsICR3ZWlnaHQ6IDUwJSkAaHNsKCRodWUsICRzYXR1cmF0aW9uLCAkbGlnaHRuZXNzKQBoc2xhKCRodWUsICRzYXR1cmF0aW9uLCAkbGlnaHRuZXNzLCAkYWxwaGEpAGh1ZSgkY29sb3IpAHNhdHVyYXRpb24oJGNvbG9yKQBsaWdodG5lc3MoJGNvbG9yKQBhZGp1c3QtaHVlKCRjb2xvciwgJGRlZ3JlZXMpAGxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KQBkYXJrZW4oJGNvbG9yLCAkYW1vdW50KQBzYXR1cmF0ZSgkY29sb3IsICRhbW91bnQ6IGZhbHNlKQBkZXNhdHVyYXRlKCRjb2xvciwgJGFtb3VudCkAZ3JheXNjYWxlKCRjb2xvcikAY29tcGxlbWVudCgkY29sb3IpAGludmVydCgkY29sb3IsICR3ZWlnaHQ6IDEwMCUpAGFscGhhKCRjb2xvcikAb3BhY2l0eSgkY29sb3IpAG9wYWNpZnkoJGNvbG9yLCAkYW1vdW50KQBmYWRlLWluKCRjb2xvciwgJGFtb3VudCkAdHJhbnNwYXJlbnRpemUoJGNvbG9yLCAkYW1vdW50KQBmYWRlLW91dCgkY29sb3IsICRhbW91bnQpAGFkanVzdC1jb2xvcigkY29sb3IsICRyZWQ6IGZhbHNlLCAkZ3JlZW46IGZhbHNlLCAkYmx1ZTogZmFsc2UsICRodWU6IGZhbHNlLCAkc2F0dXJhdGlvbjogZmFsc2UsICRsaWdodG5lc3M6IGZhbHNlLCAkYWxwaGE6IGZhbHNlKQBzY2FsZS1jb2xvcigkY29sb3IsICRyZWQ6IGZhbHNlLCAkZ3JlZW46IGZhbHNlLCAkYmx1ZTogZmFsc2UsICRodWU6IGZhbHNlLCAkc2F0dXJhdGlvbjogZmFsc2UsICRsaWdodG5lc3M6IGZhbHNlLCAkYWxwaGE6IGZhbHNlKQBjaGFuZ2UtY29sb3IoJGNvbG9yLCAkcmVkOiBmYWxzZSwgJGdyZWVuOiBmYWxzZSwgJGJsdWU6IGZhbHNlLCAkaHVlOiBmYWxzZSwgJHNhdHVyYXRpb246IGZhbHNlLCAkbGlnaHRuZXNzOiBmYWxzZSwgJGFscGhhOiBmYWxzZSkAaWUtaGV4LXN0cigkY29sb3IpAHVucXVvdGUoJHN0cmluZykAcXVvdGUoJHN0cmluZykAc3RyLWxlbmd0aCgkc3RyaW5nKQBzdHItaW5zZXJ0KCRzdHJpbmcsICRpbnNlcnQsICRpbmRleCkAc3RyLWluZGV4KCRzdHJpbmcsICRzdWJzdHJpbmcpAHN0ci1zbGljZSgkc3RyaW5nLCAkc3RhcnQtYXQsICRlbmQtYXQ6LTEpAHRvLXVwcGVyLWNhc2UoJHN0cmluZykAdG8tbG93ZXItY2FzZSgkc3RyaW5nKQBwZXJjZW50YWdlKCRudW1iZXIpAHJvdW5kKCRudW1iZXIpAGNlaWwoJG51bWJlcikAZmxvb3IoJG51bWJlcikAYWJzKCRudW1iZXIpAG1pbigkbnVtYmVycy4uLikAbWF4KCRudW1iZXJzLi4uKQByYW5kb20oJGxpbWl0OmZhbHNlKQBsZW5ndGgoJGxpc3QpAG50aCgkbGlzdCwgJG4pAHNldC1udGgoJGxpc3QsICRuLCAkdmFsdWUpAGluZGV4KCRsaXN0LCAkdmFsdWUpAGpvaW4oJGxpc3QxLCAkbGlzdDIsICRzZXBhcmF0b3I6IGF1dG8sICRicmFja2V0ZWQ6IGF1dG8pAGFwcGVuZCgkbGlzdCwgJHZhbCwgJHNlcGFyYXRvcjogYXV0bykAemlwKCRsaXN0cy4uLikAbGlzdF9zZXBhcmF0b3IoJGxpc3QpAG1hcC1nZXQoJG1hcCwgJGtleSkAbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkAbWFwLWtleXMoJG1hcCkAbWFwLXZhbHVlcygkbWFwKQBtYXAtbWVyZ2UoJG1hcDEsICRtYXAyKQBtYXAtcmVtb3ZlKCRtYXAsICRrZXlzLi4uKQBrZXl3b3JkcygkYXJncykAdHlwZS1vZigkdmFsdWUpAHVuaXQoJG51bWJlcikAdW5pdGxlc3MoJG51bWJlcikAY29tcGFyYWJsZSgkbnVtYmVyLTEsICRudW1iZXItMikAdmFyaWFibGUtZXhpc3RzKCRuYW1lKQBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCRuYW1lKQBmdW5jdGlvbi1leGlzdHMoJG5hbWUpAG1peGluLWV4aXN0cygkbmFtZSkAZmVhdHVyZS1leGlzdHMoJG5hbWUpAGNhbGwoJG5hbWUsICRhcmdzLi4uKQBub3QoJHZhbHVlKQBpZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSwgJGlmLWZhbHNlKQBpbnNwZWN0KCR2YWx1ZSkAc2VsZWN0b3ItbmVzdCgkc2VsZWN0b3JzLi4uKQBzZWxlY3Rvci1hcHBlbmQoJHNlbGVjdG9ycy4uLikAc2VsZWN0b3ItdW5pZnkoJHNlbGVjdG9yMSwgJHNlbGVjdG9yMikAc2ltcGxlLXNlbGVjdG9ycygkc2VsZWN0b3IpAHNlbGVjdG9yLWV4dGVuZCgkc2VsZWN0b3IsICRleHRlbmRlZSwgJGV4dGVuZGVyKQBzZWxlY3Rvci1yZXBsYWNlKCRzZWxlY3RvciwgJG9yaWdpbmFsLCAkcmVwbGFjZW1lbnQpAHNlbGVjdG9yLXBhcnNlKCRzZWxlY3RvcikAaXMtc3VwZXJzZWxlY3Rvcigkc3VwZXIsICRzdWIpAHVuaXF1ZS1pZCgpAGlzLWJyYWNrZXRlZCgkbGlzdCkAY29udGVudC1leGlzdHMoKQBnZXQtZnVuY3Rpb24oJG5hbWUsICRjc3M6IGZhbHNlKQBnbG9iYWwtdmFyaWFibGUtc2hhZG93aW5nAGV4dGVuZC1zZWxlY3Rvci1wc2V1ZG9jbGFzcwB1bml0cy1sZXZlbC0zAGN1c3RvbS1wcm9wZXJ0eQAvZGV2L3VyYW5kb20AW2J1aWx0LWluIGZ1bmN0aW9uXQBbYyBmdW5jdGlvbl0AYXJndW1lbnQgYABgIG9mIGAAYCBtdXN0IGJlIGEgAG1hcABgIG11c3QgYmUgYmV0d2VlbiAAbnVtYmVyACUAOiBudWxsIGlzIG5vdCBhIHZhbGlkIHNlbGVjdG9yOiBpdCBtdXN0IGJlIGEgc3RyaW5nLAoAYSBsaXN0IG9mIHN0cmluZ3MsIG9yIGEgbGlzdCBvZiBsaXN0cyBvZiBzdHJpbmdzIGZvciBgAFtTRUxFQ1RPUl0AOiBudWxsIGlzIG5vdCBhIHN0cmluZyBmb3IgYAAkZ3JlZW4AJGJsdWUAcmdiKABjYWxjKAAkYWxwaGEAJGNvbG9yAGNvbG9yACR3ZWlnaHQATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzVDb2xvckVFRQAkc2F0dXJhdGlvbgAkbGlnaHRuZXNzAGhzbCgAaHNsYSgAJGFtb3VudABzYXR1cmF0ZSgAZ3JheXNjYWxlKABpbnZlcnQoAGFscGhhKABvcGFjaXR5KABDYW5ub3Qgc3BlY2lmeSBIU0wgYW5kIFJHQiB2YWx1ZXMgZm9yIGEgY29sb3IgYXQgdGhlIHNhbWUgdGltZSBmb3IgYGFkanVzdC1jb2xvcicAbm90IGVub3VnaCBhcmd1bWVudHMgZm9yIGBhZGp1c3QtY29sb3InAENhbm5vdCBzcGVjaWZ5IEhTTCBhbmQgUkdCIHZhbHVlcyBmb3IgYSBjb2xvciBhdCB0aGUgc2FtZSB0aW1lIGZvciBgc2NhbGUtY29sb3InAG5vdCBlbm91Z2ggYXJndW1lbnRzIGZvciBgc2NhbGUtY29sb3InAENhbm5vdCBzcGVjaWZ5IEhTTCBhbmQgUkdCIHZhbHVlcyBmb3IgYSBjb2xvciBhdCB0aGUgc2FtZSB0aW1lIGZvciBgY2hhbmdlLWNvbG9yJwBub3QgZW5vdWdoIGFyZ3VtZW50cyBmb3IgYGNoYW5nZS1jb2xvcicAJHN0cmluZwBQYXNzaW5nIAAsIGEgbm9uLXN0cmluZyB2YWx1ZSwgdG8gdW5xdW90ZSgpAEludmFsaWQgRGF0YSBUeXBlIGZvciB1bnF1b3RlAHV0Zjg6OmludmFsaWRfY29kZV9wb2ludAB1dGY4Ojpub3RfZW5vdWdoX3Jvb20AdXRmODo6aW52YWxpZF91dGY4AEludmFsaWQgVVRGLTgATm90IGVub3VnaCBzcGFjZQBJbnZhbGlkIGNvZGUgcG9pbnQATjR1dGY4MTJpbnZhbGlkX3V0ZjhFAE40dXRmODlleGNlcHRpb25FAE40dXRmODE1bm90X2Vub3VnaF9yb29tRQBONHV0ZjgxOGludmFsaWRfY29kZV9wb2ludEUAc3RyaW5nACRpbnNlcnQAJGluZGV4ACRzdWJzdHJpbmcAJHN0YXJ0LWF0ACRlbmQtYXQAJG51bWJlcgBhcmd1bWVudCAkbnVtYmVyIG9mIGAAYCBtdXN0IGJlIHVuaXRsZXNzAE40U2FzczEwU2hhcmVkSW1wbElOU182TnVtYmVyRUVFACIgaXMgbm90IGEgbnVtYmVyIGZvciBgbWluJwAiIGlzIG5vdCBhIG51bWJlciBmb3IgYG1heCcAJGxpbWl0ACRsaW1pdCAAIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEgZm9yIGByYW5kb20nAEV4cGVjdGVkICRsaW1pdCB0byBiZSBhbiBpbnRlZ2VyIGJ1dCBnb3QgACBmb3IgYHJhbmRvbScAcmFuZG9tAE40U2FzczlFeGNlcHRpb24xOUludmFsaWRBcmd1bWVudFR5cGVFACRsaXN0AGFyZ3VtZW50IGAkbGlzdGAgb2YgYABgIG11c3Qgbm90IGJlIGVtcHR5AGluZGV4IG91dCBvZiBib3VuZHMgZm9yIGAAYXJndW1lbnQgYCRuYCBvZiBgAGAgbXVzdCBiZSBub24temVybwAkdmFsdWUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzNNYXBFRUUAJGxpc3QxACRsaXN0MgAkc2VwYXJhdG9yACRicmFja2V0ZWQAc3BhY2UAY29tbWEAYXV0bwBhcmd1bWVudCBgJHNlcGFyYXRvcmAgb2YgYABgIG11c3QgYmUgYHNwYWNlYCwgYGNvbW1hYCwgb3IgYGF1dG9gAE40U2FzczEwU2hhcmVkSW1wbElOU18xNVN0cmluZ19Db25zdGFudEVFRQAkbGlzdHMAJG1hcDEAJG1hcDIAJGtleXMAJGFyZ3MAJG51bWJlci0xACRudW1iZXItMgAkbmFtZQAkbmFtZTogACBpcyBub3QgYSBzdHJpbmcgZm9yIGBmdW5jdGlvbi1leGlzdHMnAFBhc3NpbmcgYSBzdHJpbmcgdG8gY2FsbCgpIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgaWxsZWdhbABpbiBTYXNzIDQuMC4gVXNlIGNhbGwoZ2V0LWZ1bmN0aW9uKAApKSBpbnN0ZWFkLgBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTNGdW5jdGlvbl9DYWxsRUVFACRjb25kaXRpb24AJGlmLWZhbHNlACRpZi10cnVlACRzZWxlY3RvcnMAJHNlbGVjdG9yczogQXQgbGVhc3Qgb25lIHNlbGVjdG9yIG11c3QgYmUgcGFzc2VkIGZvciBgc2VsZWN0b3ItbmVzdCcAJHNlbGVjdG9yczogbnVsbCBpcyBub3QgYSB2YWxpZCBzZWxlY3RvcjogaXQgbXVzdCBiZSBhIHN0cmluZywKAGEgbGlzdCBvZiBzdHJpbmdzLCBvciBhIGxpc3Qgb2YgbGlzdHMgb2Ygc3RyaW5ncyBmb3IgJ3NlbGVjdG9yLW5lc3QnACRzZWxlY3RvcnM6IEF0IGxlYXN0IG9uZSBzZWxlY3RvciBtdXN0IGJlIHBhc3NlZCBmb3IgYHNlbGVjdG9yLWFwcGVuZCcAYSBsaXN0IG9mIHN0cmluZ3MsIG9yIGEgbGlzdCBvZiBsaXN0cyBvZiBzdHJpbmdzIGZvciAnc2VsZWN0b3ItYXBwZW5kJwBDYW4ndCBhcHBlbmQgIgAiIHRvICIAIiBmb3IgYHNlbGVjdG9yLWFwcGVuZCcAKgBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTZFbGVtZW50X1NlbGVjdG9yRUVFACRzZWxlY3RvcjEAJHNlbGVjdG9yMgAkc2VsZWN0b3IAJGV4dGVuZGVlACRleHRlbmRlcgAkb3JpZ2luYWwAJHJlcGxhY2VtZW50ACRzdXBlcgB1AE40U2FzczEwU2hhcmVkSW1wbElOU181VmFsdWVFRUUAIGlzIG5vdCBhIHN0cmluZyBmb3IgYGdldC1mdW5jdGlvbicARnVuY3Rpb24gbm90IGZvdW5kOiAATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzdCb29sZWFuRUVFAGFsaWNlYmx1ZQBhbnRpcXVld2hpdGUAY3lhbgBhcXVhAGFxdWFtYXJpbmUAYXp1cmUAYmVpZ2UAYmlzcXVlAGJsYWNrAGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZXZpb2xldABicm93bgBidXJseXdvb2QAY2FkZXRibHVlAGNoYXJ0cmV1c2UAY2hvY29sYXRlAGNvcmFsAGNvcm5mbG93ZXJibHVlAGNvcm5zaWxrAGNyaW1zb24AZGFya2JsdWUAZGFya2N5YW4AZGFya2dvbGRlbnJvZABkYXJrZ3JheQBkYXJrZ3JleQBkYXJrZ3JlZW4AZGFya2toYWtpAGRhcmttYWdlbnRhAGRhcmtvbGl2ZWdyZWVuAGRhcmtvcmFuZ2UAZGFya29yY2hpZABkYXJrcmVkAGRhcmtzYWxtb24AZGFya3NlYWdyZWVuAGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwc2t5Ymx1ZQBkaW1ncmF5AGRpbWdyZXkAZG9kZ2VyYmx1ZQBmaXJlYnJpY2sAZmxvcmFsd2hpdGUAZm9yZXN0Z3JlZW4AbWFnZW50YQBmdWNoc2lhAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZGVucm9kAGdyYXkAZ3JleQBncmVlbgBncmVlbnllbGxvdwBob25leWRldwBob3RwaW5rAGluZGlhbnJlZABpbmRpZ28AaXZvcnkAa2hha2kAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxpZ2h0Ymx1ZQBsaWdodGNvcmFsAGxpZ2h0Y3lhbgBsaWdodGdvbGRlbnJvZHllbGxvdwBsaWdodGdyYXkAbGlnaHRncmV5AGxpZ2h0Z3JlZW4AbGlnaHRwaW5rAGxpZ2h0c2FsbW9uAGxpZ2h0c2VhZ3JlZW4AbGlnaHRza3libHVlAGxpZ2h0c2xhdGVncmF5AGxpZ2h0c2xhdGVncmV5AGxpZ2h0c3RlZWxibHVlAGxpZ2h0eWVsbG93AGxpbWUAbGltZWdyZWVuAGxpbmVuAG1hcm9vbgBtZWRpdW1hcXVhbWFyaW5lAG1lZGl1bWJsdWUAbWVkaXVtb3JjaGlkAG1lZGl1bXB1cnBsZQBtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtb2NjYXNpbgBuYXZham93aGl0ZQBuYXZ5AG9sZGxhY2UAb2xpdmUAb2xpdmVkcmFiAG9yYW5nZQBvcmFuZ2VyZWQAb3JjaGlkAHBhbGVnb2xkZW5yb2QAcGFsZWdyZWVuAHBhbGV0dXJxdW9pc2UAcGFsZXZpb2xldHJlZABwYXBheWF3aGlwAHBlYWNocHVmZgBwZXJ1AHBpbmsAcGx1bQBwb3dkZXJibHVlAHB1cnBsZQByZWQAcm9zeWJyb3duAHJveWFsYmx1ZQBzYWRkbGVicm93bgBzYWxtb24Ac2FuZHlicm93bgBzZWFncmVlbgBzZWFzaGVsbABzaWVubmEAc2lsdmVyAHNreWJsdWUAc2xhdGVibHVlAHNsYXRlZ3JheQBzbGF0ZWdyZXkAc25vdwBzcHJpbmdncmVlbgBzdGVlbGJsdWUAdGFuAHRlYWwAdGhpc3RsZQB0b21hdG8AdHVycXVvaXNlAHZpb2xldAB3aGVhdAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3dncmVlbgByZWJlY2NhcHVycGxlAHRyYW5zcGFyZW50AFtDT0xPUiBUQUJMRV0AIGFyZ3VtZW50ACBhcmd1bWVudHMAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyAoACBmb3IgAGludmFsaWQgc3RhdGUAJAAgdGFrZXMgACBidXQgACB3YXMgcGFzc2VkACB3ZXJlIHBhc3NlZC4AIGhhcyBubyBwYXJhbWV0ZXIgbmFtZWQgAHBhcmFtZXRlciAAIHByb3ZpZGVkIG1vcmUgdGhhbiBvbmNlIGluIGNhbGwgdG8gAGFyZ3VtZW50IABjYW5ub3QgYmUgdXNlZCBhcyBuYW1lZCBhcmd1bWVudABwcm92aWRlZCBtb3JlIHRoYW4gb25jZSBpbiBjYWxsIHRvIABONFNhc3M5RXhjZXB0aW9uMTVNaXNzaW5nQXJndW1lbnRFAE40U2FzczlFeGNlcHRpb24xN0ludmFsaWRWYXJLd2RUeXBlRQBjd2QgZ29uZSBtaXNzaW5nAC8uLwAuLwAvLgAuLi8ALi5cAC4uAF8ALmNzcwByYgBOU3QzX18yMTNiYXNpY19maWxlYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNGJhc2ljX2lmc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAFxuAFxyAFx0AE40U2FzczEwU2hhcmVkSW1wbElOU18xM1N0cmluZ19RdW90ZWRFRUUAYXJyYXktPnRhZyA9PSBKU09OX0FSUkFZAHNyYy9qc29uLmNwcABqc29uX2FwcGVuZF9lbGVtZW50AGVsZW1lbnQtPnBhcmVudCA9PSBOVUxMAHNiLT5zdGFydCA8PSBzYi0+Y3VyICYmIHN0cmxlbihzYi0+c3RhcnQpID09IChzaXplX3QpKHNiLT5jdXIgLSBzYi0+c3RhcnQpAHNiX2ZpbmlzaAB0YWdfaXNfdmFsaWQobm9kZS0+dGFnKQBlbWl0X3ZhbHVlACUuMTZnAHV0ZjhfdmFsaWRhdGUoc3RyKQBlbWl0X3N0cmluZwAwMTIzNDU2Nzg5QUJDREVGAGVtaXRfdmFsdWVfaW5kZW50ZWQALAoAb2JqZWN0LT50YWcgPT0gSlNPTl9PQkpFQ1QAanNvbl9hcHBlbmRfbWVtYmVyAHZhbHVlLT5wYXJlbnQgPT0gTlVMTABweABwdABwYwBtbQBjbQBpbgBkZWcAZ3JhZAByYWQAdHVybgBzAG1zAEh6AGtIegBkcGkAZHBjbQBkcHB4AElOVkFMSUQAbGlic2Fzc19nZXRfdmVyc2lvbgBsaWJzYXNzX2xvYWRfZnVuY3Rpb25zAGxpYnNhc3NfbG9hZF9pbXBvcnRlcnMAbGlic2Fzc19sb2FkX2hlYWRlcnMAZmFpbGVkIGxvYWRpbmcgJ2xpYnNhc3Nfc3VwcG9ydCcgaW4gPABmYWlsZWQgbG9hZGluZyBwbHVnaW4gPABbbmFdAC5zbwBJbnZhbGlkIENTUwAgYWZ0ZXIgADogZXhwZWN0ZWQgc2VsZWN0b3IsIHdhcyAASW52YWxpZCBDU1MgYWZ0ZXIgIgAiOiBleHBlY3RlZCAieyIsIHdhcyAiACIKCiIAIiBtYXkgb25seSBiZSB1c2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBjb21wb3VuZCBzZWxlY3Rvci4ATjRTYXNzOUV4Y2VwdGlvbjExSW52YWxpZFNhc3NFAGludmFsaWQgYXR0cmlidXRlIG5hbWUgaW4gYXR0cmlidXRlIHNlbGVjdG9yAGludmFsaWQgb3BlcmF0b3IgaW4gYXR0cmlidXRlIHNlbGVjdG9yIGZvciAAZXhwZWN0ZWQgYSBzdHJpbmcgY29uc3RhbnQgb3IgaWRlbnRpZmllciBpbiBhdHRyaWJ1dGUgc2VsZWN0b3IgZm9yIAB1bnRlcm1pbmF0ZWQgYXR0cmlidXRlIHNlbGVjdG9yIGZvciAAOiBleHBlY3RlZCBleHByZXNzaW9uIChlLmcuIDFweCwgYm9sZCksIHdhcyAAdW50ZXJtaW5hdGVkIGludGVycG9sYW50IGluc2lkZSBzdHJpbmcgY29uc3RhbnQgAHVua25vd24gc3RhdGljIG9wIHBhcnNlZAB1bmNsb3NlZCBwYXJlbnRoZXNpcwB1bmNsb3NlZCBzcXVhcmVkIGJyYWNrZXQASW4gU2FzcywgIiYmIiBtZWFucyB0d28gY29waWVzIG9mIHRoZSBwYXJlbnQgc2VsZWN0b3IuIFlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSAiYW5kIiBpbnN0ZWFkLgBUaGUgdmFsdWUgIgAiIGlzIGN1cnJlbnRseSBwYXJzZWQgYXMgYSBzdHJpbmcsIGJ1dCBpdCB3aWxsIGJlIHBhcnNlZCBhcyBhIGNvbG9yIGluAGZ1dHVyZSB2ZXJzaW9ucyBvZiBTYXNzLiBVc2UgInVucXVvdGUoJwAnKSIgdG8gY29udGludWUgcGFyc2luZyBpdCBhcyBhIHN0cmluZy4AIAoNCQAtKzAxMjM0NTY3ODkuADAuAC0uAC0wLgA6IGV4cGVjdGVkICJ9Iiwgd2FzIABjb250ZW50LWV4aXN0cwBDYW5ub3QgY2FsbCBjb250ZW50LWV4aXN0cygpIGV4Y2VwdCB3aXRoaW4gYSBtaXhpbi4AOiBleHBlY3RlZCAiKSIsIHdhcyAAdW50ZXJtaW5hdGVkIGludGVycG9sYW50IGluc2lkZSBpbnRlcnBvbGF0ZWQgaWRlbnRpZmllciAATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzIwRnVuY3Rpb25fQ2FsbF9TY2hlbWFFRUUAdW50ZXJtaW5hdGVkIGludGVycG9sYW50IGluc2lkZSBJRSBmdW5jdGlvbiAAOiBleHBlY3RlZCAiOiIsIHdhcyAATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzE4QXR0cmlidXRlX1NlbGVjdG9yRUVFADogZXhwZWN0ZWQgcHNldWRvY2xhc3Mgb3IgcHNldWRvZWxlbWVudCwgd2FzIABuZWdhdGVkIHNlbGVjdG9yIGlzIG1pc3NpbmcgJyknAE40U2FzczlFeGNlcHRpb24xN05lc3RpbmdMaW1pdEVycm9yRQBJbnZhbGlkIFVURi04IHNlcXVlbmNlADogZXhwZWN0ZWQgc2VsZWN0b3Igb3IgYXQtcnVsZSwgd2FzIAA6IGV4cGVjdGVkIDEgc2VsZWN0b3Igb3IgYXQtcnVsZSwgd2FzIAA6IGV4cGVjdGVkICJ7Iiwgd2FzIABONFNhc3MxMFNoYXJlZEltcGxJTlNfMTFEZWNsYXJhdGlvbkVFRQAtLQBwcm9wZXJ0eSAiACIgbXVzdCBiZSBmb2xsb3dlZCBieSBhICc6JwBzdHlsZSBkZWNsYXJhdGlvbiBtdXN0IGNvbnRhaW4gYSB2YWx1ZQAgCQwLCg0AOiBleHBlY3RlZCAiXSIsIHdhcyAATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzlEaXJlY3RpdmVFRUUAQGVsc2UASW52YWxpZCBDU1M6IEBlbHNlIG11c3QgY29tZSBhZnRlciBAaWYAaW52YWxpZCBuYW1lIGluIAAgZGVmaW5pdGlvbgBvcgBJbnZhbGlkIGZ1bmN0aW9uIG5hbWUgIgA6IGV4cGVjdGVkIHZhcmlhYmxlIChlLmcuICRmb28pLCB3YXMgADogZXhwZWN0ZWQgQHN1cHBvcnRzIGNvbmRpdGlvbiAoZS5nLiAoZGlzcGxheTogZmxleGJveCkpLCB3YXMgAE40U2FzczEwU2hhcmVkSW1wbElOU18xNFN1cHBvcnRzX0Jsb2NrRUVFAHVuY2xvc2VkIHBhcmVudGhlc2lzIGluIEBzdXBwb3J0cyBkZWNsYXJhdGlvbgBAc3VwcG9ydHMgY29uZGl0aW9uIGV4cGVjdGVkIGRlY2xhcmF0aW9uAE40U2FzczEwU2hhcmVkSW1wbElOU183Q29udGVudEVFRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTBNaXhpbl9DYWxsRUVFADogZXhwZWN0ZWQgaWRlbnRpZmllciwgd2FzIABONFNhc3MxMFNoYXJlZEltcGxJTlNfMTNBdF9Sb290X0Jsb2NrRUVFAE40U2FzczEwU2hhcmVkSW1wbElOU183UnVsZXNldEVFRQBhdC1yb290IGZlYXR1cmUgcmVxdWlyZWQgaW4gYXQtcm9vdCBleHByZXNzaW9uADogZXhwZWN0ZWQgIndpdGgiIG9yICJ3aXRob3V0Iiwgd2FzIAB1bmNsb3NlZCBwYXJlbnRoZXNpcyBpbiBAYXQtcm9vdCBleHByZXNzaW9uAG1lZGlhIHF1ZXJ5IGV4cHJlc3Npb24gbXVzdCBiZWdpbiB3aXRoICcoJwBtZWRpYSBmZWF0dXJlIHJlcXVpcmVkIGluIG1lZGlhIHF1ZXJ5IGV4cHJlc3Npb24AdW5jbG9zZWQgcGFyZW50aGVzaXMgaW4gbWVkaWEgcXVlcnkgZXhwcmVzc2lvbgBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTFNZWRpYV9RdWVyeUVFRQBONFNhc3MxMFNoYXJlZEltcGxJTlNfMTFNZWRpYV9CbG9ja0VFRQBtYWxmb3JtZWQgVVJMAFVSSSBpcyBtaXNzaW5nICcpJwBAaW1wb3J0IGRpcmVjdGl2ZSByZXF1aXJlcyBhIHVybCBvciBxdW90ZWQgcGF0aABleHBlY3RpbmcgYW5vdGhlciB1cmwgb3IgcXVvdGVkIHBhdGggaW4gQGltcG9ydCBsaXN0AE40U2FzczEwU2hhcmVkSW1wbElOU182UmV0dXJuRUVFAE40U2FzczEwU2hhcmVkSW1wbElOU181V2hpbGVFRUUAQGVhY2ggZGlyZWN0aXZlIHJlcXVpcmVzIGFuIGl0ZXJhdGlvbiB2YXJpYWJsZQBleHBlY3RlZCAnaW4nIGtleXdvcmQgaW4gQGVhY2ggZGlyZWN0aXZlAE40U2FzczEwU2hhcmVkSW1wbElOU180RWFjaEVFRQA6IGV4cGVjdGVkICIkIiwgd2FzIABleHBlY3RlZCAnZnJvbScga2V5d29yZCBpbiBAZm9yIGRpcmVjdGl2ZQBleHBlY3RlZCAndGhyb3VnaCcgb3IgJ3RvJyBrZXl3b3JkIGluIEBmb3IgZGlyZWN0aXZlAE40U2FzczEwU2hhcmVkSW1wbElOU18zRm9yRUVFAE40U2FzczEwU2hhcmVkSW1wbElOU18ySWZFRUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzdXYXJuaW5nRUVFAE40U2FzczEwU2hhcmVkSW1wbElOU181RGVidWdFRUUATjRTYXNzMTBTaGFyZWRJbXBsSU5TXzVFcnJvckVFRQBleHBlY3RlZCAnOicgYWZ0ZXIgACBpbiBhc3NpZ25tZW50IHN0YXRlbWVudABONFNhc3MxMFNoYXJlZEltcGxJTlNfMTBBc3NpZ25tZW50RUVFAFVURi04AFVURi0xNiAoYmlnIGVuZGlhbikAVVRGLTE2IChsaXR0bGUgZW5kaWFuKQBVVEYtMzIgKGxpdHRsZSBlbmRpYW4pAFVURi0zMiAoYmlnIGVuZGlhbikAVVRGLTcAVVRGLTEAVVRGLUVCQ0RJQwBTQ1NVAEJPQ1UtMQBHQi0xODAzMABvbmx5IFVURi04IGRvY3VtZW50cyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZDsgeW91ciBkb2N1bWVudCBhcHBlYXJzIHRvIGJlIAAiXCMAJ1wjACgpW117fSInIy8AKClbXXt9IicjLzsATjRTYXNzOUV4Y2VwdGlvbjEySW52YWxpZFZhbHVlRQBVbmRlZmluZWQgdmFyaWFibGU6ICIAU3RhY2sgZGVwdGggZXhjZWVkZWQgbWF4IG9mIAAoKSBpc24ndCBhIHZhbGlkIENTUyB2YWx1ZS4ARnVuY3Rpb24gACBkb2Vzbid0IHN1cHBvcnQga2V5d29yZCBhcmd1bWVudHMAKltmXQBjYWxsW2ZdAGlmW2ZdAG92ZXJsb2FkZWQgZnVuY3Rpb24gYABgIGdpdmVuIHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMALCBpbiBmdW5jdGlvbiBgACBmaW5pc2hlZCB3aXRob3V0IEByZXR1cm4AZXJyb3IgaW4gQyBmdW5jdGlvbiAAd2FybmluZyBpbiBDIGZ1bmN0aW9uIABFcnJvciBpbiBDIGZ1bmN0aW9uOiAAV2FybmluZyBpbiBDIGZ1bmN0aW9uOiAATjRTYXNzOUV4Y2VwdGlvbjE0U2Fzc1ZhbHVlRXJyb3JFAE40U2FzczEwU2hhcmVkSW1wbElOU18xN0JpbmFyeV9FeHByZXNzaW9uRUVFAE40U2FzczlFeGNlcHRpb24xN0R1cGxpY2F0ZUtleUVycm9yRQBONFNhc3M5RXhjZXB0aW9uMTJUeXBlTWlzbWF0Y2hFAEBkZWJ1Z1tmXQAgREVCVUc6IABAZXJyb3JbZl0AICAgICAgICAgAE40U2FzczRFdmFsRQBONFNhc3MxNE9wZXJhdGlvbl9DUlRQSVBOU18xMEV4cHJlc3Npb25FTlNfNEV2YWxFRUUATjRTYXNzOU9wZXJhdGlvbklQTlNfMTBFeHByZXNzaW9uRUVFAFtOQV0AYEV4cGFuZGAgZG9lc24ndCBoYW5kbGUgAFtXQVJOXQB1bmtub3duIGludGVybmFsIGVycm9yOyBwbGVhc2UgY29udGFjdCB0aGUgTGliU2FzcyBtYWludGFpbmVycwBbbV0Abm8gbWl4aW4gbmFtZWQgAE1peGluICIAIiBkb2VzIG5vdCBhY2NlcHQgYSBjb250ZW50IGJsb2NrLgAsIGluIG1peGluIGAAYABAY29udGVudFttXQBNaXhpbgBpc19pbl9taXhpbgBONFNhc3MxMFNoYXJlZEltcGxJTlNfNVRyYWNlRUVFAE40U2FzczlFeGNlcHRpb24xMFN0YWNrRXJyb3JFAFtmXQBlbGVtZW50AGV4cHJlc3Npb24AdXJsAE5hbWluZyBhIGZ1bmN0aW9uICIAIiBpcyBkaXNhbGxvd2VkIGFuZCB3aWxsIGJlIGFuIGVycm9yIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBTYXNzLgBUaGlzIG5hbWUgY29uZmxpY3RzIHdpdGggYW4gZXhpc3RpbmcgQ1NTIGZ1bmN0aW9uIHdpdGggc3BlY2lhbCBwYXJzZSBydWxlcy4AQ2FuJ3QgZXh0ZW5kIAA6IGNhbid0IGV4dGVuZCBwYXJlbnQgc2VsZWN0b3JzADogY2FuJ3QgZXh0ZW5kIG5lc3RlZCBzZWxlY3RvcnMAQHJldHVybiBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIGZ1bmN0aW9uAGludGVnZXIASW1wb3J0IGRpcmVjdGl2ZXMgbWF5IG5vdCBiZSB1c2VkIHdpdGhpbiBjb250cm9sIGRpcmVjdGl2ZXMgb3IgbWl4aW5zLgBFbnYgbm90IGluIHN5bmMAQmFzZS1sZXZlbCBydWxlcyBjYW5ub3QgY29udGFpbiB0aGUgcGFyZW50LXNlbGVjdG9yLXJlZmVyZW5jaW5nIGNoYXJhY3RlciAnJicuAE40U2FzczEwU2hhcmVkSW1wbElOU18xM0tleWZyYW1lX1J1bGVFRUUATjRTYXNzNkV4cGFuZEUATjRTYXNzMTRPcGVyYXRpb25fQ1JUUElQTlNfOVN0YXRlbWVudEVOU182RXhwYW5kRUVFAE40U2FzczlPcGVyYXRpb25JUE5TXzlTdGF0ZW1lbnRFRUUATjRTYXNzN0xpc3RpemVFAE40U2FzczE0T3BlcmF0aW9uX0NSVFBJUE5TXzEwRXhwcmVzc2lvbkVOU183TGlzdGl6ZUVFRQBvbmx5AE40U2FzczEwU2hhcmVkSW1wbElOU182QnViYmxlRUVFAE40U2FzczEwU2hhcmVkSW1wbElOU185SGFzX0Jsb2NrRUVFAEAtd2Via2l0LWtleWZyYW1lcwBALW1vei1rZXlmcmFtZXMAQC1vLWtleWZyYW1lcwBAa2V5ZnJhbWVzAG1lZGlhAGtleWZyYW1lcwBONFNhc3M2Q3NzaXplRQBONFNhc3MxNE9wZXJhdGlvbl9DUlRQSVBOU185U3RhdGVtZW50RU5TXzZDc3NpemVFRUUAW0ZBS0VdAG1hcDo6YXQ6ICBrZXkgbm90IGZvdW5kAFlvdSBtYXkgbm90IEBleHRlbmQgYW4gb3V0ZXIgc2VsZWN0b3IgZnJvbSB3aXRoaW4gQG1lZGlhLgoAWW91IG1heSBvbmx5IEBleHRlbmQgc2VsZWN0b3JzIHdpdGhpbiB0aGUgc2FtZSBkaXJlY3RpdmUuCgBGcm9tICJAZXh0ZW5kIAAiIGZhaWxlZCB0byBAZXh0ZW5kICIAIi4KVGhlIHNlbGVjdG9yICIAIiB3YXMgbm90IGZvdW5kLgpVc2UgIkBleHRlbmQgACAhb3B0aW9uYWwiIGlmIHRoZSBleHRlbmQgc2hvdWxkIGJlIGFibGUgdG8gZmFpbC4ATjRTYXNzNkV4dGVuZEUATjRTYXNzMTRPcGVyYXRpb25fQ1JUUEl2TlNfNkV4dGVuZEVFRQBONFNhc3M5T3BlcmF0aW9uSXZFRQBAZm9udC1mYWNlAC8qIGxpbmUgACwgAE40U2FzczZPdXRwdXRFAEBjaGFyc2V0ICJVVEYtOCI7AF0AKQBbACgALi4uAG9ubHkgACBhbmQgAG5vdAByZ2JhKAAwADAuMAAtMAAtMC4wAGdldC1mdW5jdGlvbgBAbWl4aW4AQGZ1bmN0aW9uAEB3aGlsZQBAZWFjaAAgZnJvbSAAIHRocm91Z2ggACB0byAAQGlmACFpbXBvcnRhbnQAQGF0LXJvb3QgAEBtZWRpYQBAc3VwcG9ydHMATjRTYXNzN0luc3BlY3RFAE40U2FzczE0T3BlcmF0aW9uX0NSVFBJdk5TXzdJbnNwZWN0RUVFAO+7vwBjaGFyc2V0AEByZXR1cm4gbWF5IG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbi4ASWxsZWdhbCBuZXN0aW5nOiBPbmx5IHByb3BlcnRpZXMgbWF5IGJlIG5lc3RlZCBiZW5lYXRoIHByb3BlcnRpZXMuAFByb3BlcnRpZXMgYXJlIG9ubHkgYWxsb3dlZCB3aXRoaW4gcnVsZXMsIGRpcmVjdGl2ZXMsIG1peGluIGluY2x1ZGVzLCBvciBvdGhlciBwcm9wZXJ0aWVzLgBGdW5jdGlvbnMgY2FuIG9ubHkgY29udGFpbiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgYW5kIGNvbnRyb2wgZGlyZWN0aXZlcy4ARnVuY3Rpb25zIG1heSBub3QgYmUgZGVmaW5lZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIG9yIG90aGVyIG1peGlucy4ATWl4aW5zIG1heSBub3QgYmUgZGVmaW5lZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIG9yIG90aGVyIG1peGlucy4ARXh0ZW5kIGRpcmVjdGl2ZXMgbWF5IG9ubHkgYmUgdXNlZCB3aXRoaW4gcnVsZXMuAEBjaGFyc2V0IG1heSBvbmx5IGJlIHVzZWQgYXQgdGhlIHJvb3Qgb2YgYSBkb2N1bWVudC4AQGNvbnRlbnQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBtaXhpbi4ATjRTYXNzMTJDaGVja05lc3RpbmdFAE40U2FzczE0T3BlcmF0aW9uX0NSVFBJUE5TXzlTdGF0ZW1lbnRFTlNfMTJDaGVja05lc3RpbmdFRUUATjRTYXNzMTlSZW1vdmVfUGxhY2Vob2xkZXJzRQBONFNhc3MxNE9wZXJhdGlvbl9DUlRQSXZOU18xOVJlbW92ZV9QbGFjZWhvbGRlcnNFRUUAT3V0IG9mIG1lbW9yeS4KADMuNS40LWRpcnR5AE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAICAARXJyb3IgYWxsb2NhdGluZyBtZW1vcnkgZm9yIGZpbGUgY29udGV4dABGaWxlIGNvbnRleHQgY3JlYXRlZCB3aXRob3V0IGFuIGlucHV0IHBhdGgARmlsZSBjb250ZXh0IGNyZWF0ZWQgd2l0aCBlbXB0eSBpbnB1dCBwYXRoAFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnk6IABzdGF0dXMAbWVzc2FnZQBmb3JtYXR0ZWQASW50ZXJuYWwgRXJyb3I6IABVbmtub3duIGVycm9yIG9jY3VycmVkAHVua25vd24AIG9uIGxpbmUgAD4+IAAgICAAXgoAbGluZQBjb2x1bW4ARXJyb3IgYWxsb2NhdGluZyBtZW1vcnkgZm9yIGRhdGEgY29udGV4dABEYXRhIGNvbnRleHQgY3JlYXRlZCB3aXRob3V0IGEgc291cmNlIHN0cmluZwBEYXRhIGNvbnRleHQgY3JlYXRlZCB3aXRoIGVtcHR5IHNvdXJjZSBzdHJpbmcARXJyb3IgYWxsb2NhdGluZyBtZW1vcnkgZm9yIGNvbnRleHQARGF0YSBjb250ZXh0IGhhcyBubyBzb3VyY2Ugc3RyaW5nAEZpbGUgY29udGV4dCBoYXMgbm8gaW5wdXQgcGF0aABGaWxlIGNvbnRleHQgaGFzIGVtcHR5IGlucHV0IHBhdGgAICovAAoALyoALy8AIHt9ADsAfQBcADo6AGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6LUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaADpsaW5rADp2aXNpdGVkADphY3RpdmUAOmxhbmcAOmZpcnN0LWNoaWxkADpob3ZlcgA6Zm9jdXMAOmZpcnN0ADp0YXJnZXQAOnJvb3QAOm50aC1jaGlsZAA6bnRoLWxhc3Qtb2YtY2hpbGQAOm50aC1vZi10eXBlADpudGgtbGFzdC1vZi10eXBlADpsYXN0LWNoaWxkADpmaXJzdC1vZi10eXBlADpsYXN0LW9mLXR5cGUAOm9ubHktY2hpbGQAOm9ubHktb2YtdHlwZQA6ZW1wdHkAOm5vdAA6ZGVmYXVsdAA6dmFsaWQAOmludmFsaWQAOmluLXJhbmdlADpvdXQtb2YtcmFuZ2UAOnJlcXVpcmVkADpvcHRpb25hbAA6cmVhZC1vbmx5ADpyZWFkLXdyaXRlADpkaXIAOmVuYWJsZWQAOmRpc2FibGVkADpjaGVja2VkADppbmRldGVybWluYXRlADpudGgtbGFzdC1jaGlsZAA6YW55LWxpbmsAOmxvY2FsLWxpbmsAOnNjb3BlADphY3RpdmUtZHJvcC10YXJnZXQAOnZhbGlkLWRyb3AtdGFyZ2V0ADppbnZhbGlkLWRyb3AtdGFyZ2V0ADpjdXJyZW50ADpwYXN0ADpmdXR1cmUAOnBsYWNlaG9sZGVyLXNob3duADp1c2VyLWVycm9yADpibGFuawA6bnRoLW1hdGNoADpudGgtbGFzdC1tYXRjaAA6bnRoLWNvbHVtbgA6bnRoLWxhc3QtY29sdW1uADptYXRjaGVzADpmdWxsc2NyZWVuAEB3YXJuAEBkZWJ1ZwBAZXJyb3IAQGNoYXJzZXQAQG5hbWVzcGFjZQA9AEBtaXhpbiAAKwBAaW5jbHVkZSAAQGltcG9ydAB1cmwoAEByZXR1cm4AQGV4dGVuZABAaW5jbHVkZQBAY29udGVudAAqLwAgeyAAewBvbiBsaW5lIABmcm9tIGxpbmUgAE40U2FzczlFeGNlcHRpb24xOFVuZGVmaW5lZE9wZXJhdGlvbkUALQAvAD09ACE9ADwAPgA8PQA+PQBONFNhc3M5RXhjZXB0aW9uMjBJbnZhbGlkTnVsbE9wZXJhdGlvbkUATjRTYXNzOUV4Y2VwdGlvbjE3WmVyb0RpdmlzaW9uRXJyb3JFAE40U2FzczlFeGNlcHRpb24yMUFscGhhQ2hhbm5lbHNOb3RFcXVhbEUATmFOAEluZmluaXR5AHVua25vd24gdHlwZSBmb3IgQy1BUEkATjRTYXNzNFRvX0NFAE40U2FzczE0T3BlcmF0aW9uX0NSVFBJUDEwU2Fzc19WYWx1ZU5TXzRUb19DRUVFAE40U2FzczlPcGVyYXRpb25JUDEwU2Fzc19WYWx1ZUVFAGludmFsaWQgbm9kZSBmb3IgdG9fdmFsdWUATjRTYXNzOFRvX1ZhbHVlRQBONFNhc3MxNE9wZXJhdGlvbl9DUlRQSVBOU181VmFsdWVFTlNfOFRvX1ZhbHVlRUVFAE40U2FzczlPcGVyYXRpb25JUE5TXzVWYWx1ZUVFRQBzdGRpbgB2ZXJzaW9uAGZpbGUAc291cmNlUm9vdABzb3VyY2VzAGZpbGU6Ly8AZmlsZTovLy8Ac291cmNlc0NvbnRlbnQAbmFtZXMAbWFwcGluZ3MACQAsAHByZXBlbmQgc291cmNlbWFwIGhhcyBpbGxlZ2FsIGxpbmUAcHJlcGVuZCBzb3VyY2VtYXAgaGFzIGlsbGVnYWwgY29sdW1uAGludGVybmFsIGVycm9yOiBzdWJzZXQgbWFwIGtleXMgbWF5IG5vdCBiZSBlbXB0eQAuc2NzcwAuc2FzcwBJbnZhbGlkIHNhc3MgZGV0ZWN0ZWQAVW5kZWZpbmVkIG9wZXJhdGlvbgBJbnZhbGlkIG51bGwgb3BlcmF0aW9uAENvZGUgdG9vIGRlZXBseSBuZWVzdGVkACAJCgsMDQBFcnJvcgBJbnZhbGlkIHBhcmVudCBzZWxlY3RvciBmb3IgIgAiOiAiACIAVmFyaWFibGUga2V5d29yZCBhcmd1bWVudCBtYXAgbXVzdCBoYXZlIHN0cmluZyBrZXlzLgoAIGlzIG5vdCBhIHN0cmluZyBpbiAAOiAiACIgaXMgbm90IGEgACBmb3IgYAAnACAAIGlzIG1pc3NpbmcgYXJndW1lbnQgAER1cGxpY2F0ZSBrZXkgACBpbiBtYXAgKAApLgAgaXMgbm90IGFuIAAgaXNuJ3QgYSB2YWxpZCBDU1MgdmFsdWUuAHN0YWNrIGxldmVsIHRvbyBkZWVwAFN5c3RlbVN0YWNrRXJyb3IASW5jb21wYXRpYmxlIHVuaXRzOiAnACcgYW5kICcAJy4AQWxwaGEgY2hhbm5lbHMgbXVzdCBiZSBlcXVhbDogAGFuZABuZXEAZ3RlAGx0ZQBzdWIAdGltZXMAZGl2AG1vZABbT1BTXQBpbnZhbGlkAGRpdmlkZWQgYnkgMABaZXJvRGl2aXNpb25FcnJvcgAiLgBXQVJOSU5HIG9uIGxpbmUgACwgY29sdW1uIAAgb2YgADoAREVQUkVDQVRJT04gV0FSTklORzogAHdpbGwgYmUgYW4gZXJyb3IgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFNhc3MuACAgICAgICAgb24gbGluZSAAREVQUkVDQVRJT04gV0FSTklORyBvbiBsaW5lIABXQVJOSU5HOiAAVGhpcyB3aWxsIGJlIGFuIGVycm9yIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBTYXNzLgBONFNhc3M5U2hhcmVkT2JqRQBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAHsgU2Fzcy5fc2Fzc0NvbXBpbGVFbXNjcmlwdGVuU3VjY2VzcyggcG9pbnRlclRvU3RyaW5nKCQwKSwgcG9pbnRlclRvSnNvbigkMSksIHBvaW50ZXJUb1N0cmluZ0FycmF5KCQyKSApOyB9AHsgU2Fzcy5fc2Fzc0NvbXBpbGVFbXNjcmlwdGVuRXJyb3IoIHBvaW50ZXJUb0pzb24oJDApLCBwb2ludGVyVG9TdHJpbmcoJDEpICk7IH0AeyBJbXBvcnRlci5maW5kKCBwb2ludGVyVG9TdHJpbmcoJDApLCBwb2ludGVyVG9TdHJpbmcoJDEpICk7IH0AeyByZXR1cm4gTnVtYmVyKEltcG9ydGVyLmZpbmlzaGVkKCkpOyB9AHsgcmV0dXJuIE51bWJlcihJbXBvcnRlci5lcnJvcigpKTsgfQB7IHJldHVybiBOdW1iZXIoSW1wb3J0ZXIucGF0aCgpKTsgfQB7IHJldHVybiBOdW1iZXIoSW1wb3J0ZXIuY29udGVudCgpKTsgfQD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAaW5maW5pdHkAbmFuAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAC4AcndhAF9fbmV4dF9wcmltZSBvdmVyZmxvdwBOU3QzX18yOGlvc19iYXNlRQBOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yOWJhc2ljX2lvc0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfaXN0cmVhbUl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAdW5zcGVjaWZpZWQgaW9zdHJlYW1fY2F0ZWdvcnkgZXJyb3IAaW9zdHJlYW0ATlN0M19fMjE5X19pb3N0cmVhbV9jYXRlZ29yeUUATlN0M19fMjhpb3NfYmFzZTdmYWlsdXJlRQBpb3NfYmFzZTo6Y2xlYXIATlN0M19fMjExX19zdGRvdXRidWZJd0VFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSWNFRQB1bnN1cHBvcnRlZCBsb2NhbGUgZm9yIHN0YW5kYXJkIGlucHV0AE5TdDNfXzIxMF9fc3RkaW5idWZJd0VFAE5TdDNfXzIxMF9fc3RkaW5idWZJY0VFAE5TdDNfXzI3Y29sbGF0ZUljRUUATlN0M19fMjZsb2NhbGU1ZmFjZXRFAE5TdDNfXzI3Y29sbGF0ZUl3RUUAMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRnhYKy1wUGlJbk4AJXAAQwBOU3QzX18yN251bV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fZ2V0SWNFRQBOU3QzX18yMTRfX251bV9nZXRfYmFzZUUATlN0M19fMjdudW1fZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEl3RUUAJXAAAAAATABsbAAlAAAAAABsAE5TdDNfXzI3bnVtX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjlfX251bV9wdXRJY0VFAE5TdDNfXzIxNF9fbnVtX3B1dF9iYXNlRQBOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAlSDolTTolUwAlbS8lZC8leQAlSTolTTolUyAlcAAlYSAlYiAlZCAlSDolTTolUyAlWQBBTQBQTQBKYW51YXJ5AEZlYnJ1YXJ5AE1hcmNoAEFwcmlsAE1heQBKdW5lAEp1bHkAQXVndXN0AFNlcHRlbWJlcgBPY3RvYmVyAE5vdmVtYmVyAERlY2VtYmVyAEphbgBGZWIATWFyAEFwcgBKdW4ASnVsAEF1ZwBTZXAAT2N0AE5vdgBEZWMAU3VuZGF5AE1vbmRheQBUdWVzZGF5AFdlZG5lc2RheQBUaHVyc2RheQBGcmlkYXkAU2F0dXJkYXkAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0ACVtLyVkLyV5JVktJW0tJWQlSTolTTolUyAlcCVIOiVNJUg6JU06JVMlSDolTTolU05TdDNfXzI4dGltZV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSWNFRQBOU3QzX18yOXRpbWVfYmFzZUUATlN0M19fMjh0aW1lX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJd0VFAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAGxvY2FsZSBub3Qgc3VwcG9ydGVkAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMEVFRQBOU3QzX18yMTBtb25leV9iYXNlRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjFFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIwRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMUVFRQAwMTIzNDU2Nzg5ACVMZgBtb25leV9nZXQgZXJyb3IATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxqMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTGozMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUAdmVjdG9yAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQByYW5kb21fZGV2aWNlIGZhaWxlZCB0byBvcGVuIAByYW5kb21fZGV2aWNlIGdvdCBFT0YAcmFuZG9tX2RldmljZSBnb3QgYW4gdW5leHBlY3RlZCBlcnJvcgBiYXNpY19zdHJpbmcAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQB1bnNwZWNpZmllZCBnZW5lcmljX2NhdGVnb3J5IGVycm9yAFVua25vd24gZXJyb3IgJWQAbmV3X2Vycm5vID09IEVSQU5HRQAvdXNyL2xvY2FsL0NlbGxhci9lbXNjcmlwdGVuLzEuMzcuMzUvbGliZXhlYy9zeXN0ZW0vbGliL2xpYmN4eC9zeXN0ZW1fZXJyb3IuY3BwAGRvX3N0cmVycm9yX3IAZ2VuZXJpYwBOU3QzX18yMjRfX2dlbmVyaWNfZXJyb3JfY2F0ZWdvcnlFAE5TdDNfXzIxMl9fZG9fbWVzc2FnZUUATlN0M19fMjE0ZXJyb3JfY2F0ZWdvcnlFAHVuc3BlY2lmaWVkIHN5c3RlbV9jYXRlZ29yeSBlcnJvcgBzeXN0ZW0ATlN0M19fMjIzX19zeXN0ZW1fZXJyb3JfY2F0ZWdvcnlFAE5TdDNfXzIxMnN5c3RlbV9lcnJvckUAOiAAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgdGhyZXcgYW4gZXhjZXB0aW9uAHN0ZDo6YmFkX2FsbG9jAFN0OWJhZF9hbGxvYwBzdGQ6OmV4Y2VwdGlvbgBTdDExbG9naWNfZXJyb3IAU3QxM3J1bnRpbWVfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBTdDEyb3V0X29mX3JhbmdlAFN0MTRvdmVyZmxvd19lcnJvcgBzdGQ6OmJhZF9jYXN0AFN0OGJhZF9jYXN0AHN0ZDo6YmFkX3R5cGVpZABTdDEwYmFkX3R5cGVpZABOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYwBQS2MATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;var EMTSTACKTOP=getMemory(1048576);var EMT_STACK_MAX=EMTSTACKTOP+1048576;var eb=getMemory(64792);__ATPRERUN__.push((function(){HEAPU8.set([140,2,79,0,0,0,0,0,2,68,0,0,206,1,0,0,2,69,0,0,173,1,0,0,2,70,0,0,174,1,0,0,2,71,0,0,8,27,0,0,2,72,0,0,0,28,0,0,2,73,0,0,206,0,0,0,2,74,0,0,125,1,0,0,1,65,0,0,136,75,0,0,0,64,75,0,136,75,0,0,1,76,224,2,3,75,75,76,137,75,0,0,25,63,64,80,25,61,64,40,0,62,64,0,1,75,200,2,3,60,64,75,1,75,184,2,3,66,64,75,1,75,168,2,3,21,64,75,1,75,192,2,3,3,64,75,1,75,176,2,3,4,64,75,1,75,160,2,3,5,64,75,1,75,152,2,3,7,64,75,1,75,144,2,3,6,64,75,1,75,136,2,3,8,64,75,1,75,128,2,3,9,64,75,1,75,120,2,3,10,64,75,1,75,112,2,3,11,64,75,1,75,104,2,3,12,64,75,1,75,96,2,3,13,64,75,1,75,88,2,3,14,64,75,1,75,80,2,3,15,64,75,1,75,72,2,3,16,64,75,1,75,64,2,3,17,64,75,1,75,56,2,3,18,64,75,1,75,48,2,3,19,64,75,1,75,40,2,3,20,64,75,1,75,24,2,3,32,64,75,1,75,16,2,3,37,64,75,1,75,8,2,3,40,64,75,1,75,0,2,3,57,64,75,1,75,216,1,3,58,64,75,1,75,160,1,3,59,64,75,1,75,152,1,3,43,64,75,1,75,144,1,3,44,64,75,1,75,136,1,3,53,64,75,1,75,96,1,3,51,64,75,1,75,88,1,3,54,64,75,1,75,80,1,3,22,64,75,1,75,72,1,3,24,64,75,1,75,56,1,3,23,64,75,1,75,48,1,3,25,64,75,1,75,40,1,3,26,64,75,1,75,32,1,3,27,64,75,1,75,24,1,3,28,64,75,1,75,16,1,3,29,64,75,1,75,8,1,3,30,64,75,1,75,0,1,3,38,64,75,1,75,248,0,3,41,64,75,1,75,240,0,3,31,64,75,1,75,232,0,3,33,64,75,1,75,224,0,3,34,64,75,1,75,216,0,3,35,64,75,1,75,208,0,3,36,64,75,1,75,200,0,3,39,64,75,1,75,192,0,3,42,64,75,1,75,184,0,3,45,64,75,1,75,176,0,3,46,64,75,1,75,168,0,3,47,64,75,1,75,160,0,3,48,64,75,1,75,152,0,3,49,64,75,1,75,144,0,3,50,64,75,1,75,136,0,3,52,64,75,1,75,128,0,3,55,64,75,25,56,64,120,106,76,0,48,26,76,76,4,82,76,76,0,135,75,0,0,66,76,0,0,1,75,112,28,85,66,75,0,1,75,0,0,132,0,0,75,1,76,192,1,135,75,1,0,76,0,0,0,130,75,0,0,0,2,75,0,1,75,0,0,132,0,0,75,38,75,2,1,120,75,117,12,1,75,0,0,132,0,0,75,1,76,62,0,1,77,1,0,1,78,0,0,135,75,2,0,76,0,77,78,130,75,0,0,0,2,75,0,1,75,0,0,132,0,0,75,38,75,2,1,120,75,104,12,1,75,0,0,132,0,0,75,1,75,100,0,1,78,1,0,1,77,0,0,135,2,2,0,75,0,78,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,80,12,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,78,92,2,135,77,3,0,78,4,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,62,12,1,77,0,0,132,0,0,77,106,78,4,4,135,77,3,0,68,3,78,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,3,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,3,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,3,0,0,0,119,0,10,0,135,77,5,0,3,0,0,0,135,77,5,0,4,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,4,0,0,0,119,0,22,12,1,77,0,0,132,0,0,77,1,77,108,0,1,78,1,0,1,75,0,0,135,2,2,0,77,0,78,75,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,7,12,121,2,58,0,106,75,66,4,25,2,75,64,82,75,2,0,106,1,75,20,1,75,0,0,132,0,0,75,1,78,93,2,135,75,3,0,78,7,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,245,11,1,75,0,0,132,0,0,75,106,78,7,4,135,75,3,0,68,5,78,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,135,2,4,0,119,0,25,0,85,5,71,0,1,75,0,0,132,0,0,75,135,75,3,0,1,2,5,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,5,0,135,2,4,0,135,75,5,0,5,0,0,0,119,0,10,0,135,75,5,0,5,0,0,0,135,75,5,0,7,0,0,0,135,75,5,0,66,0,0,0,137,64,0,0,1,75,1,0,139,75,0,0,135,75,5,0,7,0,0,0,119,0,205,11,1,75,0,0,132,0,0,75,1,75,109,0,1,78,1,0,1,77,0,0,135,2,2,0,75,0,78,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,190,11,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,78,94,2,135,77,3,0,78,8,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,172,11,1,77,0,0,132,0,0,77,106,78,8,4,135,77,3,0,68,6,78,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,6,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,6,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,6,0,0,0,119,0,10,0,135,77,5,0,6,0,0,0,135,77,5,0,8,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,8,0,0,0,119,0,132,11,1,77,0,0,132,0,0,77,1,77,110,0,1,78,1,0,1,75,0,0,135,2,2,0,77,0,78,75,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,117,11,121,2,58,0,106,75,66,4,25,2,75,64,82,75,2,0,106,1,75,20,1,75,0,0,132,0,0,75,1,78,95,2,135,75,3,0,78,10,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,99,11,1,75,0,0,132,0,0,75,106,78,10,4,135,75,3,0,68,9,78,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,135,2,4,0,119,0,25,0,85,9,71,0,1,75,0,0,132,0,0,75,135,75,3,0,1,2,9,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,5,0,135,2,4,0,135,75,5,0,9,0,0,0,119,0,10,0,135,75,5,0,9,0,0,0,135,75,5,0,10,0,0,0,135,75,5,0,66,0,0,0,137,64,0,0,1,75,1,0,139,75,0,0,135,75,5,0,10,0,0,0,119,0,59,11,1,75,0,0,132,0,0,75,1,75,111,0,1,78,1,0,1,77,0,0,135,2,2,0,75,0,78,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,44,11,121,2,59,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,78,119,0,1,75,0,0,135,77,6,0,78,12,0,75,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,25,11,1,77,0,0,132,0,0,77,106,75,12,4,135,77,3,0,68,11,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,11,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,11,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,11,0,0,0,119,0,10,0,135,77,5,0,11,0,0,0,135,77,5,0,12,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,12,0,0,0,119,0,241,10,1,77,0,0,132,0,0,77,1,77,112,0,1,75,1,0,1,78,0,0,135,2,2,0,77,0,75,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,226,10,121,2,58,0,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,1,75,96,2,135,78,3,0,75,14,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,208,10,1,78,0,0,132,0,0,78,106,75,14,4,135,78,3,0,68,13,75,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,25,0,85,13,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,13,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,13,0,0,0,119,0,10,0,135,78,5,0,13,0,0,0,135,78,5,0,14,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,14,0,0,0,119,0,168,10,1,78,0,0,132,0,0,78,1,78,113,0,1,75,1,0,1,77,0,0,135,2,2,0,78,0,75,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,153,10,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,75,97,2,135,77,3,0,75,16,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,135,10,1,77,0,0,132,0,0,77,106,75,16,4,135,77,3,0,68,15,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,15,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,15,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,15,0,0,0,119,0,10,0,135,77,5,0,15,0,0,0,135,77,5,0,16,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,16,0,0,0,119,0,95,10,1,77,0,0,132,0,0,77,1,77,114,0,1,75,1,0,1,78,0,0,135,2,2,0,77,0,75,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,80,10,121,2,58,0,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,1,75,98,2,135,78,3,0,75,18,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,62,10,1,78,0,0,132,0,0,78,106,75,18,4,135,78,3,0,68,17,75,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,25,0,85,17,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,17,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,17,0,0,0,119,0,10,0,135,78,5,0,17,0,0,0,135,78,5,0,18,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,18,0,0,0,119,0,22,10,1,78,0,0,132,0,0,78,1,78,115,0,1,75,1,0,1,77,0,0,135,2,2,0,78,0,75,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,7,10,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,75,99,2,135,77,3,0,75,20,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,245,9,1,77,0,0,132,0,0,77,106,75,20,4,135,77,3,0,68,19,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,19,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,19,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,19,0,0,0,119,0,10,0,135,77,5,0,19,0,0,0,135,77,5,0,20,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,20,0,0,0,119,0,205,9,1,77,0,0,132,0,0,77,1,77,116,0,1,75,1,0,1,78,0,0,135,2,2,0,77,0,75,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,190,9,121,2,250,1,106,2,0,60,106,78,0,56,46,78,78,2,8,16,0,0,26,78,2,4,82,78,78,0,1,75,0,0,1,77,7,0,138,78,75,77,132,13,0,0,128,13,0,0,136,13,0,0,140,13,0,0,128,13,0,0,128,13,0,0,144,13,0,0,119,0,5,0,119,0,161,0,119,0,160,0,119,0,159,0,119,0,158,0,25,2,0,76,1,78,0,0,132,0,0,78,1,78,91,1,82,75,2,0,135,1,7,0,78,75,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,120,75,143,0,25,3,0,80,32,78,1,0,121,78,4,0,1,78,1,0,0,75,78,0,119,0,4,0,82,78,3,0,16,78,78,1,0,75,78,0,121,75,2,0,82,1,2,0,1,75,0,0,132,0,0,75,1,75,92,1,135,2,7,0,75,1,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,120,75,121,0,1,75,0,0,132,0,0,75,1,75,114,1,125,78,2,2,1,0,0,0,135,2,7,0,75,78,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,108,0,32,75,2,0,121,75,4,0,1,75,1,0,0,78,75,0,119,0,4,0,82,75,3,0,16,75,75,2,0,78,75,0,120,78,2,0,119,0,100,0,1,78,0,0,85,32,78,0,1,75,0,0,109,32,4,75,1,78,0,0,109,32,8,78,1,78,0,0,132,0,0,78,1,78,62,1,1,75,80,0,135,2,7,0,78,75,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,120,75,80,0,85,32,2,0,2,78,0,0,80,0,0,128,109,32,8,78,1,75,70,0,109,32,4,75,0,17,2,0,2,18,0,0,184,190,0,0,25,19,17,70,78,75,18,0,83,17,75,0,25,17,17,1,25,18,18,1,54,75,17,19,236,14,0,0,1,78,0,0,107,2,70,78,1,78,0,0,132,0,0,78,1,75,203,1,135,78,3,0,75,60,32,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,41,0,25,67,0,108,1,78,0,0,132,0,0,78,116,63,67,0,106,75,67,4,109,63,4,75,106,78,67,8,109,63,8,78,1,75,113,0,135,78,6,0,75,0,60,63,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,10,0,135,2,4,0,1,78,0,0,102,75,60,11,56,78,78,75,224,15,0,0,82,75,60,0,135,78,8,0,75,0,0,0,119,0,15,0,102,78,60,11,34,78,78,0,121,78,4,0,82,75,60,0,135,78,8,0,75,0,0,0,1,78,0,0,102,75,32,11,56,78,78,75,8,16,0,0,82,75,32,0,135,78,8,0,75,0,0,0,119,0,11,0,1,78,0,0,102,75,32,11,56,78,78,75,48,52,0,0,82,75,32,0,135,78,8,0,75,0,0,0,119,0,13,9,135,2,4,0,119,0,11,9,1,78,0,0,132,0,0,78,1,75,100,2,135,78,3,0,75,63,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,254,8,25,16,63,4,82,2,16,0,106,78,2,64,106,75,2,68,45,78,78,75,92,16,0,0,1,65,121,0,119,0,56,0,106,78,66,4,25,1,78,64,82,78,1,0,106,3,78,20,1,78,0,0,132,0,0,78,135,78,3,0,68,40,2,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,40,0,1,78,252,64,85,40,78,0,1,78,0,0,132,0,0,78,106,75,40,4,135,78,3,0,68,37,75,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,23,0,85,37,71,0,1,78,0,0,132,0,0,78,135,78,3,0,3,1,37,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,37,0,0,0,119,0,8,0,135,78,5,0,37,0,0,0,135,78,5,0,40,0,0,0,82,2,16,0,1,65,121,0,119,0,3,0,135,78,5,0,40,0,0,0,32,78,65,121,121,78,247,0,106,78,2,80,106,75,2,76,4,67,78,75,28,6,67,52,121,67,235,0,25,7,66,4,25,3,0,108,25,8,59,36,25,9,8,11,25,10,59,24,25,11,10,11,25,12,59,12,25,13,12,11,25,14,59,11,1,1,0,0,82,75,7,0,25,4,75,64,82,75,4,0,106,5,75,20,1,75,0,0,132,0,0,75,1,75,62,1,1,78,116,0,135,15,7,0,75,78,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,124,0,119,0,137,0,0,17,58,0,0,18,3,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,78,17,19,208,17,0,0,1,78,0,0,132,0,0,78,1,75,216,1,82,77,16,0,106,77,77,76,27,76,1,52,3,77,77,76,135,78,3,0,75,59,77,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,141,0,119,0,112,0,0,17,62,0,0,18,58,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,78,17,19,52,18,0,0,1,78,0,0,132,0,0,78,1,77,171,1,135,78,1,0,77,15,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,4,0,1,2,1,0,1,65,142,0,119,0,90,0,25,17,15,12,0,18,62,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,78,17,19,140,18,0,0,25,2,15,52,1,78,0,0,85,2,78,0,1,77,0,0,109,15,56,77,1,78,0,0,107,15,60,78,1,78,176,31,85,15,78,0,1,78,0,0,132,0,0,78,1,77,216,1,25,75,15,64,135,78,3,0,77,75,59,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,129,0,119,0,59,0,1,78,11,0,85,2,78,0,1,78,0,0,132,0,0,78,135,78,3,0,68,57,15,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,4,0,1,2,0,0,1,65,142,0,119,0,44,0,85,57,71,0,1,78,0,0,132,0,0,78,135,78,3,0,5,4,57,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,144,0,119,0,31,0,135,78,5,0,57,0,0,0,78,78,9,0,34,78,78,0,121,78,4,0,82,75,8,0,135,78,8,0,75,0,0,0,78,78,11,0,34,78,78,0,121,78,4,0,82,75,10,0,135,78,8,0,75,0,0,0,78,78,13,0,34,78,78,0,121,78,4,0,82,75,12,0,135,78,8,0,75,0,0,0,78,78,14,0,34,78,78,0,121,78,4,0,82,75,59,0,135,78,8,0,75,0,0,0,25,1,1,1,57,78,6,1,252,20,0,0,119,0,103,255,32,78,65,124,121,78,3,0,135,2,4,0,119,0,74,0,1,78,129,0,45,78,65,78,16,20,0,0,135,2,4,0,1,1,1,0,1,65,143,0,119,0,22,0,1,78,141,0,45,78,65,78,36,20,0,0,135,2,4,0,119,0,17,0,1,78,142,0,45,78,65,78,68,20,0,0,135,67,4,0,0,1,2,0,0,2,67,0,1,65,143,0,119,0,9,0,1,78,144,0,45,78,65,78,100,20,0,0,135,2,4,0,135,78,5,0,57,0,0,0,1,1,0,0,1,65,145,0,1,78,143,0,45,78,65,78,116,20,0,0,1,65,145,0,1,78,145,0,45,78,65,78,240,20,0,0,78,78,9,0,34,78,78,0,121,78,4,0,82,75,8,0,135,78,8,0,75,0,0,0,78,78,11,0,34,78,78,0,121,78,4,0,82,75,10,0,135,78,8,0,75,0,0,0,78,78,13,0,34,78,78,0,121,78,4,0,82,75,12,0,135,78,8,0,75,0,0,0,78,78,14,0,34,78,78,0,121,78,6,0,82,75,59,0,135,78,8,0,75,0,0,0,121,1,14,0,119,0,3,0,121,1,12,0,119,0,1,0,135,78,8,0,15,0,0,0,119,0,8,0,135,78,5,0,63,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,63,0,0,0,119,0,196,7,1,78,0,0,132,0,0,78,1,78,117,0,1,75,1,0,1,77,0,0,135,2,2,0,78,0,75,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,181,7,121,2,107,2,1,77,0,0,132,0,0,77,1,75,120,0,106,78,0,76,135,77,6,0,75,62,0,78,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,178,0,119,0,88,2,106,3,62,8,121,3,71,0,1,77,0,0,132,0,0,77,1,77,92,1,135,2,7,0,77,3,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,178,0,119,0,73,2,125,67,2,2,3,0,0,0,78,78,67,0,32,78,78,59,121,78,4,0,25,78,67,1,0,77,78,0,119,0,3,0,1,78,0,0,0,77,78,0,0,67,77,0,25,2,0,80,32,78,67,0,121,78,4,0,1,78,1,0,0,77,78,0,119,0,4,0,82,78,2,0,16,78,78,67,0,77,78,0,120,77,3,0,85,62,3,0,119,0,35,0,1,77,0,0,132,0,0,77,1,77,92,1,135,1,7,0,77,3,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,178,0,119,0,37,2,125,67,1,1,3,0,0,0,78,78,67,0,32,78,78,125,121,78,4,0,25,78,67,1,0,77,78,0,119,0,3,0,1,78,0,0,0,77,78,0,0,67,77,0,32,78,67,0,121,78,4,0,1,78,1,0,0,77,78,0,119,0,4,0,82,78,2,0,16,78,78,67,0,77,78,0,120,77,2,0,85,62,3,0,82,3,62,0,120,3,167,0,1,77,0,0,85,63,77,0,1,78,0,0,109,63,4,78,1,77,0,0,109,63,8,77,1,77,0,0,132,0,0,77,1,77,62,1,1,78,16,0,135,2,7,0,77,78,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,250,1,85,63,2,0,2,77,0,0,16,0,0,128,109,63,8,77,1,78,11,0,109,63,4,78,0,17,2,0,2,18,0,0,210,172,0,0,25,19,17,11,78,78,18,0,83,17,78,0,25,17,17,1,25,18,18,1,54,78,17,19,60,23,0,0,1,77,0,0,107,2,11,77,1,78,0,0,109,61,8,78,25,1,61,11,1,78,7,0,83,1,78,0,2,78,0,0,222,172,0,0,78,78,78,0,83,61,78,0,2,77,0,0,223,172,0,0,78,77,77,0,107,61,1,77,2,78,0,0,224,172,0,0,78,78,78,0,107,61,2,78,2,77,0,0,225,172,0,0,78,77,77,0,107,61,3,77,2,78,0,0,226,172,0,0,78,78,78,0,107,61,4,78,2,77,0,0,227,172,0,0,78,77,77,0,107,61,5,77,2,78,0,0,228,172,0,0,78,78,78,0,107,61,6,78,1,77,0,0,107,61,7,77,1,77,0,0,85,60,77,0,1,78,0,0,109,60,4,78,1,77,0,0,109,60,8,77,1,77,0,0,132,0,0,77,1,77,62,1,1,78,32,0,135,2,7,0,77,78,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,60,0,85,60,2,0,2,77,0,0,32,0,0,128,109,60,8,77,1,78,25,0,109,60,4,78,0,17,2,0,2,18,0,0,230,172,0,0,25,19,17,25,78,78,18,0,83,17,78,0,25,17,17,1,25,18,18,1,54,78,17,19,96,24,0,0,1,77,0,0,107,2,25,77,1,77,0,0,132,0,0,77,1,78,8,0,1,75,1,0,135,77,9,0,78,0,63,61,60,75,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,10,0,135,2,4,0,1,77,0,0,102,75,60,11,56,77,77,75,36,25,0,0,82,75,60,0,135,77,8,0,75,0,0,0,119,0,20,0,102,77,60,11,34,77,77,0,121,77,4,0,82,75,60,0,135,77,8,0,75,0,0,0,78,77,1,0,34,77,77,0,121,77,4,0,82,75,61,0,135,77,8,0,75,0,0,0,102,77,63,11,34,77,77,0,121,77,19,0,82,75,63,0,135,77,8,0,75,0,0,0,119,0,15,0,78,77,1,0,34,77,77,0,121,77,4,0,82,75,61,0,135,77,8,0,75,0,0,0,1,77,0,0,102,75,63,11,56,77,77,75,248,30,0,0,82,75,63,0,135,77,8,0,75,0,0,0,119,0,104,1,1,77,0,0,132,0,0,77,1,75,0,0,135,77,3,0,68,60,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,91,1,85,60,72,0,102,77,62,13,120,77,41,0,1,77,0,0,132,0,0,77,1,75,111,0,1,78,1,0,135,77,6,0,75,63,0,78,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,177,0,25,2,60,4,82,77,2,0,121,77,16,0,1,77,0,0,132,0,0,77,135,77,1,0,69,60,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,120,77,2,0,119,0,5,0,135,2,4,0,135,77,5,0,63,0,0,0,119,0,159,0,25,65,63,4,116,2,65,0,1,77,0,0,85,65,77,0,135,77,5,0,63,0,0,0,1,65,215,0,119,0,151,0,1,77,0,0,132,0,0,77,1,77,62,1,1,78,112,0,135,2,7,0,77,78,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,209,0,119,0,133,0,1,78,0,0,132,0,0,78,0,17,63,0,25,18,0,108,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,78,17,19,136,26,0,0,1,77,84,0,1,75,0,0,135,78,6,0,77,2,63,75,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,6,0,135,67,4,0,135,78,8,0,2,0,0,0,0,2,67,0,119,0,108,0,1,78,0,0,132,0,0,78,135,78,3,0,68,61,2,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,209,0,119,0,96,0,85,61,72,0,25,2,60,4,82,78,2,0,121,78,16,0,1,78,0,0,132,0,0,78,135,78,1,0,69,60,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,2,0,119,0,5,0,135,2,4,0,135,78,5,0,61,0,0,0,119,0,77,0,25,67,61,4,116,2,67,0,1,78,0,0,85,67,78,0,135,78,5,0,61,0,0,0,82,2,2,0,1,78,0,0,132,0,0,78,1,75,35,0,1,77,1,0,135,78,10,0,75,44,0,3,77,0,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,213,0,119,0,59,0,25,1,2,92,25,2,2,96,82,78,2,0,120,78,3,0,1,65,206,0,119,0,12,0,1,78,0,0,132,0,0,78,135,78,1,0,69,1,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,2,0,1,65,206,0,45,78,65,73,116,28,0,0,25,78,44,4,116,2,78,0,1,78,0,0,132,0,0,78,135,78,1,0,70,1,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,20,0,1,78,0,0,132,0,0,78,82,77,2,0,135,78,3,0,68,43,77,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,9,0,1,78,68,63,85,43,78,0,135,78,5,0,43,0,0,0,135,78,5,0,44,0,0,0,1,65,215,0,119,0,9,0,135,2,4,0,135,78,5,0,44,0,0,0,119,0,5,0,1,78,209,0,45,78,65,78,148,28,0,0,135,2,4,0,1,78,215,0,45,78,65,78,224,30,0,0,106,78,66,4,25,3,78,64,82,78,3,0,106,4,78,20,1,78,0,0,132,0,0,78,1,78,62,1,1,77,72,0,135,5,7,0,78,77,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,213,0,119,0,127,0,0,17,51,0,25,18,0,108,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,77,17,19,244,28,0,0,1,77,0,0,132,0,0,77,106,78,60,4,135,77,3,0,68,54,78,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,104,0,85,54,72,0,0,17,61,0,0,18,51,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,77,17,19,76,29,0,0,1,77,0,0,132,0,0,77,1,78,171,1,135,77,1,0,78,5,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,1,1,0,119,0,77,0,25,17,5,12,0,18,61,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,77,17,19,160,29,0,0,25,2,5,52,1,77,0,0,85,2,77,0,1,78,0,0,109,5,56,78,1,77,0,0,107,5,60,77,1,77,112,35,85,5,77,0,25,1,5,64,1,77,0,0,132,0,0,77,106,78,54,4,135,77,3,0,68,1,78,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,54,0,0,0,119,0,49,0,85,1,72,0,1,77,16,0,85,2,77,0,1,77,0,0,132,0,0,77,135,77,3,0,68,53,5,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,1,0,0,119,0,29,0,85,53,71,0,1,77,0,0,132,0,0,77,135,77,3,0,4,3,53,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,7,0,135,2,4,0,135,77,5,0,53,0,0,0,135,77,5,0,54,0,0,0,119,0,19,0,135,77,5,0,53,0,0,0,135,77,5,0,54,0,0,0,135,77,5,0,60,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,2,4,0,135,77,5,0,54,0,0,0,120,1,2,0,119,0,3,0,135,77,8,0,5,0,0,0,1,77,213,0,45,77,65,77,240,30,0,0,135,2,4,0,135,77,5,0,60,0,0,0,1,77,178,0,45,77,65,77,8,31,0,0,135,2,4,0,119,0,74,5,25,6,0,76,1,77,0,0,132,0,0,77,1,78,120,0,82,75,6,0,135,77,6,0,78,63,0,75,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,59,5,82,3,63,0,106,67,63,4,25,4,63,8,116,21,4,0,104,75,4,4,108,21,4,75,102,4,63,14,102,5,63,15,120,67,76,0,38,75,4,1,120,75,74,0,106,75,66,4,25,2,75,64,82,75,2,0,106,1,75,20,85,23,3,0,1,77,0,0,109,23,4,77,25,67,23,8,116,67,21,0,104,75,21,4,108,67,4,75,107,23,14,4,107,23,15,5,1,75,0,0,132,0,0,75,116,63,23,0,106,77,23,4,109,63,4,77,106,75,23,8,109,63,8,75,106,77,23,12,109,63,12,77,1,75,121,0,135,77,6,0,75,24,0,63,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,15,5,1,77,0,0,132,0,0,77,106,75,24,4,135,77,3,0,68,22,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,22,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,22,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,22,0,0,0,119,0,10,0,135,77,5,0,22,0,0,0,135,77,5,0,24,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,24,0,0,0,119,0,231,4,1,77,0,0,132,0,0,77,1,77,118,0,1,75,1,0,1,78,0,0,135,2,2,0,77,0,75,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,216,4,121,2,58,0,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,1,75,101,2,135,78,3,0,75,26,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,198,4,1,78,0,0,132,0,0,78,106,75,26,4,135,78,3,0,68,25,75,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,25,0,85,25,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,25,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,25,0,0,0,119,0,10,0,135,78,5,0,25,0,0,0,135,78,5,0,26,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,26,0,0,0,119,0,158,4,1,78,0,0,132,0,0,78,1,78,119,0,1,75,1,0,1,77,0,0,135,2,2,0,78,0,75,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,143,4,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,75,102,2,135,77,3,0,75,28,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,125,4,1,77,0,0,132,0,0,77,106,75,28,4,135,77,3,0,68,27,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,27,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,27,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,27,0,0,0,119,0,10,0,135,77,5,0,27,0,0,0,135,77,5,0,28,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,28,0,0,0,119,0,85,4,1,77,0,0,132,0,0,77,1,77,120,0,1,75,1,0,1,78,0,0,135,2,2,0,77,0,75,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,70,4,121,2,58,0,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,1,75,103,2,135,78,3,0,75,30,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,52,4,1,78,0,0,132,0,0,78,106,75,30,4,135,78,3,0,68,29,75,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,25,0,85,29,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,29,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,29,0,0,0,119,0,10,0,135,78,5,0,29,0,0,0,135,78,5,0,30,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,30,0,0,0,119,0,12,4,1,78,0,0,132,0,0,78,1,78,121,0,1,75,1,0,1,77,0,0,135,2,2,0,78,0,75,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,253,3,121,2,115,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,77,62,1,1,75,68,0,135,3,7,0,77,75,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,234,3,0,17,63,0,25,18,0,108,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,75,17,19,152,36,0,0,1,75,0,0,132,0,0,75,1,77,171,1,135,75,1,0,77,3,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,6,0,135,2,4,0,135,75,8,0,3,0,0,0,1,65,11,0,119,0,210,3,25,17,3,12,0,18,63,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,75,17,19,248,36,0,0,1,77,0,0,109,3,56,77,1,75,0,0,107,3,60,75,1,75,176,36,85,3,75,0,1,77,0,0,109,3,64,77,1,75,7,0,109,3,52,75,1,75,0,0,132,0,0,75,135,75,3,0,68,41,3,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,180,3,1,75,200,66,85,41,75,0,1,75,0,0,132,0,0,75,106,77,41,4,135,75,3,0,68,38,77,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,135,2,4,0,119,0,25,0,85,38,71,0,1,75,0,0,132,0,0,75,135,75,3,0,1,2,38,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,5,0,135,2,4,0,135,75,5,0,38,0,0,0,119,0,10,0,135,75,5,0,38,0,0,0,135,75,5,0,41,0,0,0,135,75,5,0,66,0,0,0,137,64,0,0,1,75,1,0,139,75,0,0,135,75,5,0,41,0,0,0,119,0,138,3,1,75,0,0,132,0,0,75,1,75,122,0,1,77,1,0,1,78,0,0,135,2,2,0,75,0,77,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,123,3,121,2,58,0,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,1,77,104,2,135,78,3,0,77,33,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,105,3,1,78,0,0,132,0,0,78,106,77,33,4,135,78,3,0,68,31,77,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,25,0,85,31,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,31,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,31,0,0,0,119,0,10,0,135,78,5,0,31,0,0,0,135,78,5,0,33,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,33,0,0,0,119,0,65,3,1,78,0,0,132,0,0,78,1,78,123,0,1,77,1,0,1,75,0,0,135,2,2,0,78,0,77,75,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,50,3,121,2,59,0,106,75,66,4,25,2,75,64,82,75,2,0,106,1,75,20,1,75,0,0,132,0,0,75,1,77,122,0,1,78,0,0,135,75,6,0,77,35,0,78,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,1,65,10,0,119,0,31,3,1,75,0,0,132,0,0,75,106,78,35,4,135,75,3,0,68,34,78,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,135,2,4,0,119,0,25,0,85,34,71,0,1,75,0,0,132,0,0,75,135,75,3,0,1,2,34,0],eb+0);HEAPU8.set([130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,5,0,135,2,4,0,135,75,5,0,34,0,0,0,119,0,10,0,135,75,5,0,34,0,0,0,135,75,5,0,35,0,0,0,135,75,5,0,66,0,0,0,137,64,0,0,1,75,1,0,139,75,0,0,135,75,5,0,35,0,0,0,119,0,247,2,1,75,0,0,132,0,0,75,1,75,124,0,1,78,1,0,1,77,0,0,135,2,2,0,75,0,78,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,232,2,121,2,59,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,78,122,0,1,75,1,0,135,77,6,0,78,39,0,75,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,213,2,1,77,0,0,132,0,0,77,106,75,39,4,135,77,3,0,68,36,75,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,36,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,36,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,36,0,0,0,119,0,10,0,135,77,5,0,36,0,0,0,135,77,5,0,39,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,39,0,0,0,119,0,173,2,1,77,0,0,132,0,0,77,1,77,125,0,1,75,1,0,1,78,0,0,135,2,2,0,77,0,75,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,158,2,121,2,21,0,1,78,0,0,132,0,0,78,1,75,126,0,1,77,1,0,1,76,0,0,135,78,2,0,75,0,77,76,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,142,2,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,1,78,0,0,132,0,0,78,1,78,127,0,1,76,1,0,1,77,0,0,135,2,2,0,78,0,76,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,122,2,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,76,105,2,135,77,3,0,76,45,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,104,2,1,77,0,0,132,0,0,77,106,76,45,4,135,77,3,0,68,42,76,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,42,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,42,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,42,0,0,0,119,0,10,0,135,77,5,0,42,0,0,0,135,77,5,0,45,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,45,0,0,0,119,0,64,2,1,77,0,0,132,0,0,77,1,77,128,0,1,76,1,0,1,78,0,0,135,2,2,0,77,0,76,78,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,49,2,121,2,58,0,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,1,76,106,2,135,78,3,0,76,47,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,10,0,119,0,31,2,1,78,0,0,132,0,0,78,106,76,47,4,135,78,3,0,68,46,76,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,25,0,85,46,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,46,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,46,0,0,0,119,0,10,0,135,78,5,0,46,0,0,0,135,78,5,0,47,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,47,0,0,0,119,0,247,1,1,78,0,0,132,0,0,78,1,78,129,0,1,76,1,0,1,77,0,0,135,2,2,0,78,0,76,77,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,232,1,121,2,58,0,106,77,66,4,25,2,77,64,82,77,2,0,106,1,77,20,1,77,0,0,132,0,0,77,1,76,107,2,135,77,3,0,76,49,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,214,1,1,77,0,0,132,0,0,77,106,76,49,4,135,77,3,0,68,48,76,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,25,0,85,48,71,0,1,77,0,0,132,0,0,77,135,77,3,0,1,2,48,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,5,0,135,2,4,0,135,77,5,0,48,0,0,0,119,0,10,0,135,77,5,0,48,0,0,0,135,77,5,0,49,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,135,77,5,0,49,0,0,0,119,0,174,1,121,1,200,0,106,77,0,60,26,77,77,4,82,77,77,0,32,77,77,7,120,77,195,0,1,77,0,0,132,0,0,77,1,76,62,0,1,78,1,0,1,75,0,0,135,77,2,0,76,0,78,75,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,1,65,10,0,119,0,153,1,106,77,0,80,82,75,6,0,50,77,77,75,244,45,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,1,77,0,0,85,63,77,0,1,75,0,0,109,63,4,75,1,77,0,0,109,63,8,77,1,77,0,0,132,0,0,77,1,77,62,1,1,75,16,0,135,2,7,0,77,75,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,135,2,4,0,119,0,124,1,85,63,2,0,2,77,0,0,16,0,0,128,109,63,8,77,1,75,11,0,109,63,4,75,0,17,2,0,2,18,0,0,210,172,0,0,25,19,17,11,78,75,18,0,83,17,75,0,25,17,17,1,25,18,18,1,54,75,17,19,108,46,0,0,1,77,0,0,107,2,11,77,1,75,0,0,109,61,8,75,25,1,61,11,1,75,7,0,83,1,75,0,2,75,0,0,222,172,0,0,78,75,75,0,83,61,75,0,2,77,0,0,223,172,0,0,78,77,77,0,107,61,1,77,2,75,0,0,224,172,0,0,78,75,75,0,107,61,2,75,2,77,0,0,225,172,0,0,78,77,77,0,107,61,3,77,2,75,0,0,226,172,0,0,78,75,75,0,107,61,4,75,2,77,0,0,227,172,0,0,78,77,77,0,107,61,5,77,2,75,0,0,228,172,0,0,78,75,75,0,107,61,6,75,1,77,0,0,107,61,7,77,1,77,0,0,85,62,77,0,1,75,0,0,109,62,4,75,1,77,0,0,109,62,8,77,1,77,0,0,132,0,0,77,1,77,62,1,1,75,48,0,135,2,7,0,77,75,0,0,130,75,0,0,0,67,75,0,1,75,0,0,132,0,0,75,38,75,67,1,121,75,3,0,135,2,4,0,119,0,64,0,85,62,2,0,2,77,0,0,48,0,0,128,109,62,8,77,1,75,38,0,109,62,4,75,0,17,2,0,2,18,0,0,6,178,0,0,25,19,17,38,78,75,18,0,83,17,75,0,25,17,17,1,25,18,18,1,54,75,17,19,144,47,0,0,1,77,0,0,107,2,38,77,1,77,0,0,132,0,0,77,1,75,8,0,1,78,1,0,135,77,9,0,75,0,63,61,62,78,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,10,0,135,2,4,0,1,77,0,0,102,78,62,11,56,77,77,78,100,48,0,0,82,78,62,0,135,77,8,0,78,0,0,0,119,0,24,0,102,77,62,11,34,77,77,0,121,77,4,0,82,78,62,0,135,77,8,0,78,0,0,0,78,77,1,0,34,77,77,0,121,77,4,0,82,78,61,0,135,77,8,0,78,0,0,0,102,77,63,11,34,77,77,0,121,77,4,0,82,78,63,0,135,77,8,0,78,0,0,0,135,77,5,0,66,0,0,0,137,64,0,0,1,77,1,0,139,77,0,0,78,77,1,0,34,77,77,0,121,77,4,0,82,78,61,0,135,77,8,0,78,0,0,0,1,77,0,0,102,78,63,11,56,77,77,78,48,52,0,0,82,78,63,0,135,77,8,0,78,0,0,0,119,0,230,0,1,77,0,0,132,0,0,77,1,78,108,2,135,77,3,0,78,63,0,0,130,77,0,0,0,67,77,0,1,77,0,0,132,0,0,77,38,77,67,1,121,77,3,0,135,2,4,0,119,0,217,0,25,4,63,4,82,67,4,0,1,77,160,0,3,5,0,77,82,78,5,0,109,67,56,78,106,78,66,4,25,2,78,64,82,78,2,0,106,1,78,20,1,78,0,0,132,0,0,78,135,78,3,0,68,52,67,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,114,1,119,0,189,0,1,78,216,66,85,52,78,0,1,78,0,0,132,0,0,78,106,77,52,4,135,78,3,0,68,50,77,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,172,0,85,50,71,0,1,78,0,0,132,0,0,78,135,78,3,0,1,2,50,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,5,0,135,2,4,0,135,78,5,0,50,0,0,0,119,0,157,0,135,78,5,0,50,0,0,0,135,78,5,0,52,0,0,0,82,2,6,0,1,78,0,0,132,0,0,78,1,78,92,1,135,1,7,0,78,2,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,114,1,119,0,141,0,125,67,1,1,2,0,0,0,78,77,67,0,32,77,77,123,121,77,4,0,25,77,67,1,0,78,77,0,119,0,3,0,1,77,0,0,0,78,77,0,0,67,78,0,32,77,67,0,121,77,4,0,1,77,1,0,0,78,77,0,119,0,4,0,106,77,0,80,16,77,77,67,0,78,77,0,120,78,112,0,82,2,4,0,102,78,2,90,121,78,4,0,82,78,5,0,25,78,78,1,85,5,78,0,1,78,5,0,85,61,78,0,25,3,0,60,82,1,3,0,106,78,0,64,48,78,1,78,128,50,0,0,1,78,5,0,85,1,78,0,25,78,1,4,85,3,78,0,119,0,17,0,1,78,0,0,132,0,0,78,1,77,62,2,25,75,0,56,135,78,3,0,77,75,61,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,135,2,4,0,119,0,89,0,82,2,4,0,119,0,1,0,1,78,0,0,132,0,0,78,1,75,123,0,1,77,0,0,135,78,6,0,75,56,0,77,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,121,78,3,0,1,65,114,1,119,0,73,0,25,1,2,64,25,2,2,68,82,78,2,0,120,78,3,0,1,65,125,1,119,0,12,0,1,78,0,0,132,0,0,78,135,78,1,0,69,1,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,2,0,1,65,125,1,45,78,65,74,228,51,0,0,25,78,56,4,116,2,78,0,1,78,0,0,132,0,0,78,135,78,1,0,70,1,0,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,29,0,1,78,0,0,132,0,0,78,82,77,2,0,135,78,3,0,68,55,77,0,130,78,0,0,0,67,78,0,1,78,0,0,132,0,0,78,38,78,67,1,120,78,18,0,1,78,112,28,85,55,78,0,135,78,5,0,55,0,0,0,135,78,5,0,56,0,0,0,82,78,3,0,26,78,78,4,85,3,78,0,82,78,4,0,102,78,78,90,120,78,2,0,119,0,9,0,82,78,5,0,26,78,78,1,85,5,78,0,119,0,5,0,135,2,4,0,135,78,5,0,56,0,0,0,119,0,10,0,135,78,5,0,63,0,0,0,135,78,5,0,66,0,0,0,137,64,0,0,1,78,1,0,139,78,0,0,135,78,5,0,52,0,0,0,1,78,114,1,45,78,65,78,40,52,0,0,135,2,4,0,135,78,5,0,63,0,0,0,32,78,65,10,121,78,3,0,135,2,4,0,1,65,11,0,0,67,2,0,135,78,5,0,66,0,0,0,135,78,11,0,67,0,0,0,135,67,4,0,135,78,5,0,66,0,0,0,135,78,11,0,67,0,0,0,1,78,0,0,139,78,0,0,140,2,114,0,0,0,0,0,2,99,0,0,206,1,0,0,2,100,0,0,62,1,0,0,2,101,0,0,154,0,0,0,2,102,0,0,16,30,0,0,2,103,0,0,168,40,0,0,2,104,0,0,151,0,0,0,2,105,0,0,152,0,0,0,2,106,0,0,155,0,0,0,2,107,0,0,153,0,0,0,2,108,0,0,203,1,0,0,136,109,0,0,0,93,109,0,136,109,0,0,1,110,128,2,3,109,109,110,137,109,0,0,1,109,88,2,3,94,93,109,1,109,68,2,3,96,93,109,1,109,56,2,3,95,93,109,1,109,248,1,3,89,93,109,1,109,208,1,3,86,93,109,1,109,176,1,3,69,93,109,1,109,152,1,3,70,93,109,1,109,100,1,3,71,93,109,1,109,88,1,3,72,93,109,25,46,93,40,0,98,93,0,1,109,16,2,3,49,93,109,1,109,4,2,3,73,93,109,1,109,200,1,3,66,93,109,1,109,192,1,3,61,93,109,1,109,168,1,3,62,93,109,1,109,112,1,3,50,93,109,1,109,80,1,3,74,93,109,1,109,64,1,3,75,93,109,1,109,56,1,3,63,93,109,1,109,16,1,3,51,93,109,1,109,8,1,3,76,93,109,1,109,0,1,3,77,93,109,1,109,240,0,3,78,93,109,1,109,232,0,3,64,93,109,1,109,192,0,3,52,93,109,1,109,184,0,3,79,93,109,1,109,168,0,3,80,93,109,1,109,156,0,3,81,93,109,1,109,144,0,3,82,93,109,1,109,132,0,3,83,93,109,25,84,93,120,25,87,93,112,25,88,93,104,25,91,93,96,25,92,93,80,1,109,96,0,135,8,12,0,109,0,0,0,25,90,1,108,0,6,98,0,0,7,90,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,109,6,9,0,54,0,0,1,109,0,0,132,0,0,109,1,110,171,1,135,109,1,0,110,8,0,0,130,109,0,0,0,97,109,0,1,109,0,0,132,0,0,109,38,109,97,1,121,109,3,0,135,2,4,0,119,0,93,13,25,6,8,12,0,7,98,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,109,6,9,84,54,0,0,25,2,8,52,1,109,0,0,85,2,109,0,1,110,0,0,109,8,56,110,1,109,0,0,107,8,60,109,1,109,80,31,85,8,109,0,25,6,8,64,25,7,8,68,25,3,8,88,1,109,0,0,85,6,109,0,1,110,0,0,109,6,4,110,1,109,0,0,109,6,8,109,1,110,0,0,109,6,12,110,1,109,0,0,109,6,16,109,1,110,0,0,109,6,20,110,1,110,0,0,132,0,0,110,1,109,0,0,135,110,3,0,99,3,109,0,130,110,0,0,0,97,110,0,1,110,0,0,132,0,0,110,38,110,97,1,121,110,27,0,135,2,4,0,128,110,0,0,0,5,110,0,25,109,8,76,135,110,13,0,109,0,0,0,82,3,6,0,121,3,42,13,82,4,7,0,46,110,4,3,80,55,0,0,26,98,4,8,85,7,98,0,82,109,98,0,82,109,109,0,1,111,255,1,19,109,109,111,135,110,14,0,109,98,0,0,82,4,7,0,53,110,4,3,32,55,0,0,82,3,6,0,135,110,8,0,3,0,0,0,119,0,24,13,1,110,160,29,85,3,110,0,1,110,12,0,85,2,110,0,135,110,0,0,0,8,0,0,1,110,252,64,85,0,110,0,1,110,0,0,85,98,110,0,25,97,98,4,1,110,0,0,85,97,110,0,1,109,0,0,109,98,8,109,25,20,83,8,25,21,83,4,25,22,1,108,25,42,70,11,25,53,83,11,25,23,84,8,25,24,84,4,25,43,69,11,25,54,84,11,25,55,73,11,25,25,73,3,25,26,96,4,25,27,89,4,25,41,1,76,25,67,1,80,25,28,81,8,25,29,81,4,25,44,72,11,25,56,81,11,25,30,86,4,25,57,80,11,25,31,77,4,25,58,78,11,25,32,82,8,25,33,82,4,25,45,71,11,25,59,82,11,25,68,94,11,25,34,94,12,25,35,95,4,25,36,98,8,25,37,94,16,25,60,94,12,1,109,168,0,3,40,1,109,25,10,61,4,25,11,89,4,25,47,75,11,25,38,1,84,25,39,1,96,1,109,172,0,3,12,1,109,1,109,176,0,3,13,1,109,25,85,96,11,25,14,94,12,25,15,95,4,25,16,94,16,25,48,94,12,25,65,94,11,25,17,96,8,25,18,96,4,25,19,73,4,1,3,1,0,1,109,0,0,132,0,0,109,1,109,55,0,1,110,1,0,1,111,0,0,135,2,2,0,109,1,110,111,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,16,0,119,0,156,5,33,111,2,0,120,111,240,255,1,111,0,0,132,0,0,111,1,111,71,0,1,110,1,0,1,109,0,0,135,2,2,0,111,1,110,109,130,109,0,0,0,9,109,0,1,109,0,0,132,0,0,109,38,109,9,1,121,109,3,0,1,25,16,0,119,0,139,5,120,2,176,4,1,109,0,0,132,0,0,109,1,109,92,0,1,110,1,0,1,111,0,0,135,2,2,0,109,1,110,111,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,16,0,119,0,123,5,120,2,164,0,121,3,82,0,1,111,0,0,85,83,111,0,1,110,0,0,109,83,4,110,1,111,0,0,109,83,8,111,1,111,0,0,132,0,0,111,1,111,48,0,135,2,7,0,100,111,0,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,16,0,119,0,102,5,85,83,2,0,2,111,0,0,48,0,0,128,85,20,111,0,1,111,47,0,85,21,111,0,0,6,2,0,2,7,0,0,110,182,0,0,25,9,6,47,78,111,7,0,83,6,111,0,25,6,6,1,25,7,7,1,54,111,6,9,172,57,0,0,1,110,0,0,107,2,47,110,1,110,0,0,132,0,0,110,135,110,3,0,108,70,83,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,221,0,119,0,72,5,1,110,0,0,132,0,0,110,116,94,22,0,106,111,22,4,109,94,4,111,106,110,22,8,109,94,8,110,1,111,113,0,135,110,6,0,111,1,70,94,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,217,0,119,0,54,5,78,110,42,0,34,110,110,0,121,110,4,0,82,111,70,0,135,110,8,0,111,0,0,0,1,110,0,0,78,111,53,0,56,110,110,111,44,78,0,0,82,111,83,0,135,110,8,0,111,0,0,0,119,0,237,4,1,110,0,0,85,84,110,0,1,111,0,0,109,84,4,111,1,110,0,0,109,84,8,110,1,110,0,0,132,0,0,110,1,110,64,0,135,2,7,0,100,110,0,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,16,0,119,0,21,5,85,84,2,0,2,110,0,0,64,0,0,128,85,23,110,0,1,110,52,0,85,24,110,0,0,6,2,0,2,7,0,0,158,182,0,0,25,9,6,52,78,110,7,0,83,6,110,0,25,6,6,1,25,7,7,1,54,110,6,9,240,58,0,0,1,111,0,0,107,2,52,111,1,111,0,0,132,0,0,111,135,111,3,0,108,69,84,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,233,0,119,0,247,4,1,111,0,0,132,0,0,111,116,94,22,0,106,110,22,4,109,94,4,110,106,111,22,8,109,94,8,111,1,110,113,0,135,111,6,0,110,1,69,94,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,229,0,119,0,229,4,78,111,43,0,34,111,111,0,121,111,4,0,82,110,69,0,135,111,8,0,110,0,0,0,1,111,0,0,78,110,54,0,56,111,111,110,44,78,0,0,82,110,84,0,135,111,8,0,110,0,0,0,119,0,156,4,1,111,0,0,132,0,0,111,1,111,84,0,135,8,7,0,100,111,0,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,85,0,119,0,202,4,0,6,46,0,0,7,90,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,111,6,9,0,60,0,0,1,111,0,0,132,0,0,111,1,110,171,1,135,111,1,0,110,8,0,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,86,0,119,0,181,4,25,6,8,12,0,7,46,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,111,6,9,84,60,0,0,1,111,224,40,85,8,111,0,1,110,0,0,107,8,52,110,1,111,0,0,107,8,53,111,1,110,0,0,107,8,54,110,1,111,0,0,109,8,56,111,25,2,8,60,1,111,184,40,85,2,111,0,25,7,8,64,1,111,0,0,85,7,111,0,1,110,0,0,109,7,4,110,1,111,0,0,109,7,8,111,1,110,0,0,109,7,12,110,1,110,0,0,132,0,0,110,1,111,43,2,1,109,0,0,135,110,3,0,111,7,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,60,0,119,0,137,4,1,110,0,40,85,8,110,0,1,110,128,40,85,2,110,0,1,109,0,0,107,8,80,109,1,110,0,0,107,8,81,110,1,109,0,0,107,8,82,109,1,109,0,0,132,0,0,109,135,109,3,0,99,96,8,0,130,109,0,0,0,9,109,0,1,109,0,0,132,0,0,109,38,109,9,1,121,109,3,0,1,25,85,0,119,0,115,4,1,109,160,36,85,96,109,0,1,109,0,0,132,0,0,109,1,109,100,0,135,5,7,0,100,109,0,0,130,109,0,0,0,9,109,0,1,109,0,0,132,0,0,109,38,109,9,1,121,109,3,0,1,25,88,0,119,0,100,4,0,6,49,0,0,7,90,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,109,6,9,152,61,0,0,0,9,19,0,1,109,0,0,85,9,109,0,1,110,0,0,109,9,4,110,1,110,3,0,83,55,110,0,2,110,0,0,146,189,0,0,78,110,110,0,83,73,110,0,2,109,0,0,147,189,0,0,78,109,109,0,107,73,1,109,2,110,0,0,148,189,0,0,78,110,110,0,107,73,2,110,1,110,0,0,83,25,110,0,1,110,0,0,132,0,0,110,82,109,26,0,135,110,3,0,99,66,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,89,0,119,0,58,4,1,110,160,36,85,66,110,0,1,110,0,0,132,0,0,110,0,6,94,0,0,7,49,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,110,6,9,80,62,0,0,1,109,22,0,135,110,10,0,109,5,94,73,66,0,0,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,4,0,1,2,1,0,1,25,90,0,119,0,33,4,1,110,0,0,132,0,0,110,135,110,3,0,99,95,5,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,4,0,1,2,0,0,1,25,90,0,119,0,20,4,1,110,176,65,85,95,110,0,135,110,5,0,66,0,0,0,78,110,55,0,34,110,110,0,121,110,4,0,82,109,73,0,135,110,8,0,109,0,0,0,1,110,0,0,132,0,0,110,1,110,71,0,1,109,1,0,1,111,0,0,135,2,2,0,110,1,109,111,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,95,0,119,0,251,3,120,2,221,1,1,111,0,0,132,0,0,111,1,109,88,2,135,111,3,0,109,89,1,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,119,0,119,0,237,3,82,2,27,0,120,2,81,1,82,2,41,0,1,111,0,0,132,0,0,111,1,111,92,1,135,3,7,0,111,2,0,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,120,0,119,0,221,3,125,2,3,3,2,0,0,0,78,3,2,0,41,111,3,24,42,111,111,24,121,111,236,0,1,4,0,0,1,5,0,0,1,6,0,0,41,111,3,24,42,111,111,24,1,109,34,0,1,110,59,0,138,111,109,110,56,65,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,68,65,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,204,64,0,0,80,65,0,0,121,4,3,0,1,4,1,0,119,0,33,0,121,5,4,0,1,4,0,0,1,5,1,0,119,0,29,0,41,109,3,24,42,109,109,24,1,110,40,0,1,112,2,0,138,109,110,112,16,65,0,0,32,65,0,0,1,4,0,0,1,5,0,0,119,0,19,0,1,4,0,0,1,5,0,0,25,6,6,1,119,0,15,0,120,6,2,0,119,0,19,0,1,4,0,0,1,5,0,0,26,6,6,1,119,0,9,0,40,109,4,1,0,4,109,0,119,0,6,0,40,109,5,1,0,5,109,0,119,0,3,0,25,2,2,1,119,0,1,0,25,2,2,1,78,3,2,0,41,111,3,24,42,111,111,24,120,111,153,255,119,0,128,0,82,111,67,0,25,109,2,1,55,111,111,109,108,67,0,0,1,111,0,0,132,0,0,111,1,109,114,0,1,110,0,0,135,111,6,0,109,86,1,110,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,151,0,119,0,89,3,82,111,26,0,25,2,111,60,82,111,2,0,106,3,111,20,1,111,0,0,132,0,0,111,1,111,88,0,135,5,7,0,100,111,0,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,152,0,119,0,72,3,82,4,30,0,0,6,52,0,25,7,4,12,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,111,6,9,12,66,0,0,1,111,0,0,132,0,0,111,135,111,3,0,99,79,4,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,153,0,119,0,51,3,85,79,102,0,1,111,0,0,85,80,111,0,1,110,0,0,109,80,4,110,1,111,0,0,109,80,8,111,1,111,0,0,132,0,0,111,0,6,94,0,0,7,52,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,111,6,9,128,66,0,0,1,110,13,0,1,109,0,0,1,112,0,0,135,111,15,0,110,5,94,79,80,109,112,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,4,0,1,2,1,0,1,25,154,0,119,0,19,3,1,111,0,0,132,0,0,111,135,111,3,0,99,64,5,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,4,0,1,2,0,0,1,25,154,0,119,0,6,3,85,64,103,0,1,111,0,0,132,0,0,111,135,111,3,0,3,2,64,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,155,0,119,0,249,2,135,111,5,0,64,0,0,0,78,111,57,0,34,111,111,0,121,111,4,0,82,112,80,0,135,111,8,0,112,0,0,0,135,111,5,0,79,0,0,0,135,111,5,0,86,0,0,0,119,0,204,0,1,111,0,0,85,81,111,0,1,112,0,0,109,81,4,112,1,111,0,0,109,81,8,111,1,111,0,0,132,0,0,111,1,111,16,0,135,2,7,0,100,111,0,0,130,111,0,0,0,9,111,0,1,111,0,0,132,0,0,111,38,111,9,1,121,111,3,0,1,25,120,0,119,0,217,2,85,81,2,0,2,111,0,0,16,0,0,128,85,28,111,0,1,111,13,0,85,29,111,0,0,6,2,0,2,7,0,0,77,182,0,0,25,9,6,13,78,111,7,0,83,6,111,0,25,6,6,1,25,7,7,1,54,111,6,9,224,67,0,0,1,112,0,0,107,2,13,112,1,112,0,0,132,0,0,112,135,112,3,0,108,72,81,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,171,0,119,0,187,2,1,112,0,0,132,0,0,112,116,94,22,0,106,111,22,4,109,94,4,111,106,112,22,8,109,94,8,112,1,111,113,0,135,112,6,0,111,1,72,94,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,167,0,119,0,169,2,78,112,44,0,34,112,112,0,121,112,4,0,82,111,72,0,135,112,8,0,111,0,0,0,1,112,0,0,78,111,56,0,56,112,112,111,152,70,0,0,82,111,81,0,135,112,8,0,111,0,0,0,119,0,123,0,82,112,26,0,25,3,112,60,82,112,3,0,106,4,112,20,1,112,0,0,132,0,0,112,1,112,88,0,135,5,7,0,100,112,0,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,120,0,119,0,138,2,0,6,51,0,25,7,2,12,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,112,6,9,0,69,0,0,1,112,0,0,132,0,0,112,135,112,3,0,99,77,2,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,121,0,119,0,118,2,1,112,224,30,85,77,112,0,1,112,0,0,132,0,0,112,82,111,31,0,135,112,3,0,99,76,111,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,122,0,119,0,103,2,85,76,102,0,1,112,0,0,85,78,112,0,1,111,0,0,109,78,4,111,1,112,0,0,109,78,8,112,1,112,0,0,132,0,0,112,0,6,94,0,0,7,51,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,112,6,9,176,69,0,0,1,111,13,0,1,109,0,0,1,110,0,0,135,112,15,0,111,5,94,76,78,109,110,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,4,0,1,4,1,0,1,25,123,0,119,0,71,2,1,112,0,0,132,0,0,112,135,112,3,0,99,63,5,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,4,0,1,4,0,0,1,25,123,0,119,0,58,2,85,63,103,0,1,112,0,0,132,0,0,112,135,112,3,0,4,3,63,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,124,0,119,0,45,2,135,112,5,0,63,0,0,0,78,112,58,0,34,112,112,0,121,112,4,0,82,110,78,0,135,112,8,0,110,0,0,0,135,112,5,0,76,0,0,0,135,112,5,0,77,0,0,0,135,112,5,0,89,0,0,0,119,0,146,0,1,112,0,0,132,0,0,112,116,94,40,0,106,110,40,4,109,94,4,110,106,112,40,8,109,94,8,112,1,110,9,0,1,109,0,0,1,111,1,0,135,112,9,0,110,61,1,94,109,111,0,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,96,0,119,0,9,2,1,112,0,0,132,0,0,112,82,111,10,0,135,112,3,0,99,89,111,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,97,0,119,0,252,1,85,89,102,0,135,112,5,0,61,0,0,0,82,112,26,0,25,2,112,60,82,112,2,0,106,3,112,20,1,112,0,0,132,0,0,112,1,112,88,0,135,5,7,0,100,112,0,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,98,0,119,0,232,1,82,4,11,0,0,6,50,0,25,7,4,12,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,112,6,9,140,71,0,0,1,112,0,0,132,0,0,112,135,112,3,0,99,74,4,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,99,0,119,0,211,1,85,74,102,0,1,112,0,0,85,75,112,0,1,111,0,0,109,75,4,111,1,112,0,0,109,75,8,112,1,112,0,0,132,0,0,112,0,6,94,0,0,7,50,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,112,6,9,0,72,0,0,1,111,13,0,1,109,0,0,1,110,0,0,135,112,15,0,111,5,94,74,75,109,110,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,4,0,1,2,1,0,1,25,100,0,119,0,179,1,1,112,0,0,132,0,0,112,135,112,3,0,99,62,5,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,4,0,1,2,0,0,1,25,100,0,119,0,166,1,85,62,103,0,1,112,0,0,132,0,0,112,135,112,3,0,3,2,62,0,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,101,0,119,0,153,1,135,112,5,0,62,0,0,0,78,112,47,0,34,112,112,0,121,112,4,0,82,110,75,0,135,112,8,0,110,0,0,0,135,112,5,0,74,0,0,0,135,112,5,0,89,0,0,0,1,112,0,0,132,0,0,112,1,112,66,0,1,110,1,0,1,109,0,0,135,2,2,0,112,1,110,109,130,109,0,0,0,9,109,0,1,109,0,0,132,0,0,109,38,109,9,1,121,109,3,0,1,25,95,0,119,0,126,1,120,2,81,0,1,109,0,0,85,82,109,0,1,110,0,0,109,82,4,110,1,109,0,0,109,82,8,109,1,109,0,0,132,0,0,109,1,109,32,0,135,2,7,0,100,109,0,0,130,109,0,0,0,9,109,0,1,109,0,0,132,0,0,109,38,109,9,1,121,109,3,0,1,25,95,0,119,0,106,1,85,82,2,0,2,109,0,0,32,0,0,128,85,32,109,0,1,109,18,0,85,33,109,0,0,6,2,0,2,7,0,0,91,182,0,0,25,9,6,18,78,109,7,0,83,6,109,0,25,6,6,1,25,7,7,1,54,109,6,9,156,73,0,0,1,110,0,0,107,2,18,110,1,110,0,0,132,0,0,110,135,110,3,0,108,71,82,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,188,0,119,0,76,1,1,110,0,0,132,0,0,110,116,94,22,0,106,109,22,4,109,94,4,109,106,110,22,8,109,94,8,110,1,109,113,0,135,110,6,0,109,1,71,94,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,184,0,119,0,58,1,78,110,45,0,34,110,110,0,121,110,4,0,82,109,71,0,135,110,8,0,109,0,0,0,1,110,0,0,78,109,59,0,56,110,110,109,104,74,0,0,82,109,82,0,135,110,8,0,109,0,0,0,1,110,0,0,85,94,110,0,1,109,0,0,109,94,4,109,1,110,0,0,109,94,8,110,1,110,0,0,132,0,0,110,82,109,35,0,135,110,3,0,99,34,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,192,0,119,0,26,1,1,110,176,65,85,34,110,0,82,4,97,0,82,110,36,0,48,110,4,110,72,75,0,0,116,4,94,0,106,109,94,4,109,4,4,109,106,110,94,8,109,4,8,110,1,110,0,0,85,94,110,0,1,109,0,0,109,94,4,109,1,110,0,0,109,94,8,110,25,2,4,12,1,110,0,0,132,0,0,110,82,109,37,0,135,110,3,0,99,2,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,196,0,119,0,251,0,1,110,176,65,85,2,110,0,82,110,97,0,25,110,110,20,85,97,110,0,119,0,14,0,1,110,0,0,132,0,0,110,1,109,110,2,135,110,3,0,109,98,94,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,204,0,119,0,232,0,135,110,5,0,60,0,0,0,78,110,68,0,34,110,110,0,121,110,4,0,82,109,94,0,135,110,8,0,109,0,0,0,135,110,5,0,95,0,0,0,135,110,5,0,96,0,0,0,119,0,160,0,82,3,12,0,82,5,13,0,1,110,0,0,85,96,110,0,1,109,0,0,109,96,4,109,1,110,0,0,109,96,8,110,4,6,5,3,1,110,239,255,48,110,110,6,232,75,0,0,1,25,20,0,119,0,205,0,35,110,6,11,121,110,4,0,83,85,6,0,0,2,96,0,119,0,22,0,25,110,6,16,38,110,110,240,0,4,110,0,1,110,0,0,132,0,0,110,135,2,7,0,100,4,0,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,44,0,119,0,185,0,85,96,2,0,2,110,0,0,0,0,0,128,20,110,4,110,85,17,110,0,85,18,6,0,46,110,3,5,124,76,0,0,0,4,2,0,78,110,3,0,83,4,110,0,25,3,3,1,52,110,3,5,120,76,0,0,25,4,4,1,119,0,250,255,3,2,2,6,1,110,0,0,83,2,110,0,1,110,0,0,132,0,0,110,1,109,0,0,135,110,3,0,99,95,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,45,0,119,0,153,0,1,110,176,65,85,95,110,0,1,110,0,0,132,0,0,110,135,110,3,0,108,94,96,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,46,0,119,0,139,0,1,110,0,0,132,0,0,110,82,109,15,0,135,110,3,0,99,14,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,31,0,119,0,126,0,1,110,176,65,85,14,110,0,82,4,97,0,82,110,36,0,48,110,4,110,184,77,0,0,116,4,94,0,106,109,94,4,109,4,4,109,106,110,94,8,109,4,8,110,1,110,0,0,85,94,110,0,1,109,0,0,109,94,4,109,1,110,0,0,109,94,8,110,25,2,4,12,1,110,0,0,132,0,0,110,82,109,16,0,135,110,3,0,99,2,109,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,35,0,119,0,95,0,1,110,176,65,85,2,110,0,82,110,97,0,25,110,110,20,85,97,110,0,119,0,14,0,1,110,0,0,132,0,0,110,1,109,110,2,135,110,3,0,109,98,94,0,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,48,0,119,0,76,0,135,110,5,0,48,0,0,0,78,110,65,0,34,110,110,0,121,110,4,0,82,109,94,0,135,110,8,0,109,0,0,0,135,110,5,0,95,0,0,0,78,110,85,0,34,110,110,0,121,110,4,0,82,109,96,0,135,110,8,0,109,0,0,0,116,96,40,0,106,109,40,4,109,96,4,109,106,110,40,8,109,96,8,110,82,3,41,0,116,95,38,0,106,109,38,4,109,95,4,109,106,110,38,8,109,95,8,110,116,89,39,0,106,109,39,4,109,89,4,109,106,110,39,8,109,89,8,110,0,6,86,0,0,7,90,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,110,6,9,120,78,0,0,1,110,0,0,132,0,0,110,1,109,52,0,1,112,1,0,1,111,0,0,135,110,2,0,109,1,112,111,130,110,0,0,0,9,110,0,1,110,0,0,132,0,0,110,38,110,9,1,121,110,3,0,1,25,16,0,119,0,21,0,1,110,0,0,132,0,0,110,1,110,53,0,1,111,1,0,1,112,0,0,135,2,2,0,110,1,111,112,130,112,0,0,0,9,112,0,1,112,0,0,132,0,0,112,38,112,9,1,121,112,3,0,1,25,16,0,119,0,6,0,120,2,3,0,1,25,239,0,119,0,3,0,1,3,0,0,119,0,87,250,1,112,20,0,1,109,220,0,138,25,112,109,152,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,188,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,240,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,36,83,0,0,56,83,0,0,148,82,0,0,76,83,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,96,83,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0],eb+10240);HEAPU8.set([148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,200,83,0,0,220,83,0,0,148,82,0,0,240,83,0,0,4,84,0,0,28,84,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,64,84,0,0,84,84,0,0,104,84,0,0,132,84,0,0,152,84,0,0,172,84,0,0,196,84,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,228,84,0,0,248,84,0,0,12,85,0,0,32,85,0,0,60,85,0,0,80,85,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,112,85,0,0,132,85,0,0,152,85,0,0,172,85,0,0,196,85,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,228,85,0,0,148,82,0,0,148,82,0,0,148,82,0,0,24,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,44,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,96,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,116,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,160,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,212,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,232,86,0,0,148,82,0,0,148,82,0,0,148,82,0,0,28,87,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,48,87,0,0,148,82,0,0,148,82,0,0,148,82,0,0,100,87,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,148,82,0,0,120,87,0,0,119,0,93,4,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,96,0,0,1,112,0,0,132,0,0,112,1,25,44,0,119,0,84,4,135,3,4,0,128,112,0,0,0,2,112,0,78,112,65,0,34,112,112,0,121,112,6,0,82,111,94,0,135,112,8,0,111,0,0,0,1,25,47,0,119,0,73,4,1,25,47,0,119,0,71,4,135,3,4,0,128,112,0,0,0,2,112,0,102,112,4,11,34,112,112,0,121,112,6,0,82,111,4,0,135,112,8,0,111,0,0,0,1,25,49,0,119,0,60,4,1,25,49,0,119,0,58,4,135,3,4,0,128,112,0,0,0,2,112,0,1,25,52,0,119,0,53,4,135,3,4,0,128,112,0,0,0,2,112,0,1,25,47,0,119,0,48,4,135,3,4,0,128,112,0,0,0,2,112,0,1,25,49,0,119,0,43,4,135,3,4,0,128,112,0,0,0,6,112,0,25,5,8,68,82,2,7,0,121,2,18,0,82,4,5,0,46,112,4,2,180,83,0,0,26,96,4,8,85,5,96,0,82,111,96,0,82,111,111,0,1,110,255,1,19,111,111,110,135,112,14,0,111,96,0,0,82,4,5,0,53,112,4,2,132,83,0,0,82,2,7,0,135,112,8,0,2,0,0,0,0,2,6,0,1,25,87,0,119,0,17,4,135,3,4,0,128,112,0,0,0,2,112,0,1,25,210,0,119,0,12,4,135,3,4,0,128,112,0,0,0,2,112,0,1,25,87,0,119,0,7,4,135,3,4,0,128,112,0,0,0,2,112,0,1,25,209,0,119,0,2,4,135,3,4,0,1,4,1,0,128,112,0,0,0,2,112,0,1,25,91,0,119,0,252,3,135,3,4,0,128,112,0,0,0,95,112,0,135,112,5,0,66,0,0,0,0,4,2,0,0,2,95,0,1,25,91,0,119,0,243,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,208,0,119,0,238,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,107,0,119,0,233,3,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,61,0,0,0,1,25,107,0,119,0,226,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,106,0,119,0,221,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,105,0,119,0,216,3,135,3,4,0,0,4,2,0,128,112,0,0,0,2,112,0,1,25,102,0,119,0,210,3,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,62,0,0,0,1,4,0,0,1,25,102,0,119,0,202,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,176,0,119,0,197,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,175,0,119,0,192,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,128,0,119,0,187,3,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,77,0,0,0,1,25,128,0,119,0,180,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,125,0,119,0,175,3,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,63,0,0,0,1,4,0,0,1,25,125,0,119,0,167,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,161,0,119,0,162,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,160,0,119,0,157,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,159,0,119,0,152,3,135,3,4,0,0,4,2,0,128,112,0,0,0,2,112,0,1,25,156,0,119,0,146,3,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,64,0,0,0,1,4,0,0,1,25,156,0,119,0,138,3,135,3,4,0,128,112,0,0,0,2,112,0,78,112,44,0,34,112,112,0,121,112,6,0,82,111,72,0,135,112,8,0,111,0,0,0,1,25,172,0,119,0,127,3,1,25,172,0,119,0,125,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,172,0,119,0,120,3,135,3,4,0,128,112,0,0,0,2,112,0,78,112,45,0,34,112,112,0,121,112,6,0,82,111,71,0,135,112,8,0,111,0,0,0,1,25,189,0,119,0,109,3,1,25,189,0,119,0,107,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,189,0,119,0,102,3,135,3,4,0,128,112,0,0,0,2,112,0,78,112,68,0,34,112,112,0,121,112,4,0,82,111,94,0,135,112,8,0,111,0,0,0,1,25,207,0,119,0,91,3,135,3,4,0,128,112,0,0,0,2,112,0,102,112,4,11,34,112,112,0,121,112,6,0,82,111,4,0,135,112,8,0,111,0,0,0,1,25,205,0,119,0,80,3,1,25,205,0,119,0,78,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,205,0,119,0,73,3,135,3,4,0,128,112,0,0,0,2,112,0,78,112,42,0,34,112,112,0,121,112,6,0,82,111,70,0,135,112,8,0,111,0,0,0,1,25,222,0,119,0,62,3,1,25,222,0,119,0,60,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,222,0,119,0,55,3,135,3,4,0,128,112,0,0,0,2,112,0,78,112,43,0,34,112,112,0,121,112,6,0,82,111,69,0,135,112,8,0,111,0,0,0,1,25,234,0,119,0,44,3,1,25,234,0,119,0,42,3,135,3,4,0,128,112,0,0,0,2,112,0,1,25,234,0,119,0,37,3,0,6,90,0,0,7,86,0,25,9,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,112,6,9,132,87,0,0,116,40,96,0,106,111,96,4,109,40,4,111,106,112,96,8,109,40,8,112,85,41,3,0,116,39,89,0,106,111,89,4,109,39,4,111,106,112,89,8,109,39,8,112,116,38,95,0,106,111,95,4,109,38,4,111,106,112,95,8,109,38,8,112,1,112,0,0,132,0,0,112,1,112,91,1,135,2,7,0,112,3,0,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,16,0,119,0,0,3,32,111,2,0,121,111,4,0,1,111,1,0,0,112,111,0,119,0,4,0,82,111,67,0,16,111,111,2,0,112,111,0,121,112,2,0,82,2,41,0,1,112,0,0,132,0,0,112,1,112,92,1,135,3,7,0,112,2,0,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,16,0,119,0,233,2,125,2,3,3,2,0,0,0,78,112,2,0,1,111,59,0,1,110,67,0,138,112,111,110,192,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,140,89,0,0,196,89,0,0,1,111,0,0,132,0,0,111,1,111,93,1,135,2,7,0,111,2,0,0,130,111,0,0,0,89,111,0,1,111,0,0,132,0,0,111,38,111,89,1,121,111,6,0,1,25,16,0,119,0,147,2,119,0,1,0,25,2,2,1,119,0,1,0,32,111,2,0,121,111,4,0,1,111,1,0,0,112,111,0,119,0,4,0,82,111,67,0,16,111,111,2,0,112,111,0,121,112,97,0,1,112,0,0,132,0,0,112,1,111,111,2,135,112,3,0,111,94,1,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,5,0,135,3,4,0,128,112,0,0,0,2,112,0,119,0,80,0,106,2,0,4,1,112,0,0,132,0,0,112,106,111,94,4,135,112,3,0,99,88,111,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,5,0,135,3,4,0,128,112,0,0,0,2,112,0,119,0,62,0,1,112,160,29,85,88,112,0,25,3,2,88,25,2,2,92,82,112,2,0,120,112,3,0,1,25,250,0,119,0,13,0,1,112,0,0,132,0,0,112,1,111,173,1,135,112,1,0,111,3,0,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,120,112,2,0,1,25,250,0,1,112,250,0,45,112,25,112,76,91,0,0,25,112,88,4,116,2,112,0,1,112,0,0,132,0,0,112,1,111,174,1,135,112,1,0,111,3,0,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,120,112,21,0,1,112,0,0,132,0,0,112,82,111,2,0,135,112,3,0,99,87,111,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,120,112,10,0,1,112,160,29,85,87,112,0,135,112,5,0,87,0,0,0,135,112,5,0,88,0,0,0,135,112,5,0,94,0,0,0,119,0,10,0,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,88,0,0,0,135,112,5,0,94,0,0,0,0,6,2,0,119,0,39,2,82,2,98,0,82,15,97,0,46,112,2,15,160,99,0,0,25,16,96,12,25,17,96,16,25,18,1,40,25,9,1,12,25,10,0,4,25,22,95,11,25,19,94,11,25,20,92,11,25,11,94,8,25,12,94,4,25,21,94,4,25,23,96,12,25,24,96,11,25,13,91,4,25,14,94,4,1,112,0,0,132,0,0,112,135,112,3,0,108,96,2,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,25,1,119,0,12,1,1,112,0,0,132,0,0,112,106,111,2,16,135,112,3,0,99,16,111,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,15,1,119,0,255,0,1,112,176,65,85,16,112,0,82,3,17,0,120,3,167,0,82,3,18,0,1,112,0,0,132,0,0,112,1,111,5,0,1,110,0,0,1,109,0,0,1,113,1,0,135,112,9,0,111,95,96,110,109,113,0,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,60,1,119,0,233,0,82,4,9,0,82,5,10,0,1,112,0,0,132,0,0,112,1,113,37,2,1,109,132,1,3,109,3,109,135,112,3,0,113,94,109,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,61,1,119,0,216,0,1,112,0,0,132,0,0,112,1,112,90,0,1,109,1,0,135,3,16,0,112,3,95,4,90,5,94,109,130,109,0,0,0,89,109,0,1,109,0,0,132,0,0,109,38,109,89,1,121,109,3,0,1,25,40,1,119,0,201,0,82,4,94,0,121,4,13,0,82,5,21,0,46,109,5,4,40,93,0,0,26,109,5,4,4,109,109,4,43,109,109,2,11,109,109,0,41,109,109,2,3,109,5,109,85,21,109,0,135,109,8,0,4,0,0,0,78,109,22,0,34,109,109,0,121,109,4,0,82,112,95,0,135,109,8,0,112,0,0,0,120,3,166,0,82,6,18,0,82,7,10,0,1,109,0,0,132,0,0,109,135,109,3,0,108,92,96,0,130,109,0,0,0,89,109,0,1,109,0,0,132,0,0,109,38,109,89,1,121,109,3,0,1,25,27,1,119,0,166,0,82,5,9,0,1,109,0,0,85,94,109,0,1,112,0,0,109,94,4,112,1,109,0,0,109,94,8,109,135,8,17,0,5,0,0,0,1,109,239,255,48,109,109,8,188,93,0,0,1,25,49,1,119,0,152,0,35,109,8,11,121,109,8,0,83,19,8,0,120,8,3,0,0,3,94,0,119,0,26,0,0,3,94,0,1,25,54,1,119,0,23,0,25,109,8,16,38,109,109,240,0,4,109,0,1,109,0,0,132,0,0,109,135,3,7,0,100,4,0,0,130,109,0,0,0,89,109,0,1,109,0,0,132,0,0,109,38,109,89,1,121,109,3,0,1,25,65,1,119,0,128,0,85,94,3,0,2,109,0,0,0,0,0,128,20,109,4,109,85,11,109,0,85,12,8,0,1,25,54,1,1,109,54,1,45,109,25,109,80,94,0,0,1,25,0,0,135,109,18,0,3,5,8,0,1,112,0,0,95,3,8,112,1,112,0,0,132,0,0,112,1,109,24,0,135,112,10,0,109,6,7,92,94,0,0,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,66,1,119,0,99,0,78,112,19,0,34,112,112,0,121,112,4,0,82,109,94,0,135,112,8,0,109,0,0,0,1,112,0,0,78,109,20,0,56,112,112,109,224,95,0,0,82,109,92,0,135,112,8,0,109,0,0,0,119,0,71,0,82,5,10,0,25,6,5,64,1,112,0,0,132,0,0,112,135,112,3,0,99,91,3,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,28,1,119,0,71,0,1,112,176,65,85,91,112,0,1,112,0,0,132,0,0,112,82,109,13,0,135,112,3,0,99,94,109,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,29,1,119,0,56,0,85,94,102,0,25,3,5,68,82,4,3,0,106,112,5,72,48,112,4,112,156,95,0,0,1,112,0,0,132,0,0,112,82,109,14,0,135,112,3,0,99,4,109,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,30,1,119,0,37,0,85,4,102,0,82,112,3,0,25,112,112,8,85,3,112,0,119,0,14,0,1,112,0,0,132,0,0,112,1,109,42,2,135,112,3,0,109,6,94,0,130,112,0,0,0,89,112,0,1,112,0,0,132,0,0,112,38,112,89,1,121,112,3,0,1,25,30,1,119,0,19,0,135,112,5,0,94,0,0,0,135,112,5,0,91,0,0,0,135,112,5,0,23,0,0,0,78,112,24,0,34,112,112,0,121,112,4,0,82,109,96,0,135,112,8,0,109,0,0,0,25,2,2,20,45,112,2,15,20,96,0,0,1,25,4,1,119,0,2,0,119,0,234,254,1,112,4,1,1,109,63,0,138,25,112,109,36,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,44,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,96,97,0,0,32,97,0,0,116,97,0,0,136,97,0,0,156,97,0,0,176,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,204,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,98,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,68,98,0,0,88,98,0,0,32,97,0,0,32,97,0,0,32,97,0,0,32,97,0,0,108,98,0,0,119,0,96,0,82,2,98,0,119,0,158,0,135,3,4,0,128,112,0,0,0,2,112,0,78,112,24,0,34,112,112,0,121,112,6,0,82,109,96,0,135,112,8,0,109,0,0,0,1,25,26,1,119,0,83,0,1,25,26,1,119,0,81,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,26,1,119,0,76,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,73,1,119,0,71,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,32,1,119,0,66,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,31,1,119,0,61,0,135,3,4,0,128,112,0,0,0,2,112,0,135,112,5,0,94,0,0,0,1,25,31,1,119,0,54,0,135,3,4,0,128,112,0,0,0,2,112,0,82,4,94,0,120,4,3,0,1,25,62,1,119,0,47,0,82,5,21,0,46,112,5,4,16,98,0,0,26,112,5,4,4,112,112,4,43,112,112,2,11,112,112,0,41,112,112,2,3,112,5,112,85,21,112,0,135,112,8,0,4,0,0,0,1,25,62,1,119,0,33,0,1,112,0,0,132,0,0,112,1,109,172,1,135,112,1,0,109,94,0,0,1,112,0,0,132,0,0,112,1,25,65,1,119,0,24,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,64,1,119,0,19,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,62,1,119,0,14,0,135,3,4,0,128,112,0,0,0,2,112,0,78,112,19,0,34,112,112,0,121,112,6,0,82,109,94,0,135,112,8,0,109,0,0,0,1,25,68,1,119,0,3,0,1,25,68,1,119,0,1,0,1,112,26,1,46,112,25,112,20,99,0,0,1,112,31,1,45,112,25,112,200,98,0,0,135,112,5,0,91,0,0,0,1,25,32,1,119,0,20,0,45,112,25,100,248,98,0,0,78,112,22,0,34,112,112,0,121,112,6,0,82,109,95,0,135,112,8,0,109,0,0,0,1,25,64,1,119,0,10,0,1,25,64,1,119,0,8,0,1,112,65,1,45,112,25,112,20,99,0,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,68,1,1,112,32,1,45,112,25,112,40,99,0,0,1,25,73,1,119,0,18,0,1,112,64,1,45,112,25,112,60,99,0,0,1,25,73,1,119,0,13,0,1,112,68,1,45,112,25,112,108,99,0,0,78,112,20,0,34,112,112,0,121,112,6,0,82,109,92,0,135,112,8,0,109,0,0,0,1,25,73,1,119,0,2,0,1,25,73,1,1,112,73,1,45,112,25,112,152,99,0,0,135,112,5,0,23,0,0,0,78,112,24,0,34,112,112,0,121,112,4,0,82,109,96,0,135,112,8,0,109,0,0,0,0,6,2,0,119,0,27,0,120,2,3,0,137,93,0,0,139,0,0,0,82,3,97,0,46,112,3,2,244,99,0,0,26,4,3,20,85,97,4,0,26,109,3,8,135,112,5,0,109,0,0,0,102,112,4,11,34,112,112,0,121,112,4,0,82,109,4,0,135,112,8,0,109,0,0,0,82,3,97,0,53,112,3,2,184,99,0,0,82,2,98,0,135,112,8,0,2,0,0,0,137,93,0,0,139,0,0,0,119,0,1,0,1,112,16,0,1,109,219,0,138,25,112,109,132,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,148,103,0,0,128,103,0,0,128,103,0,0,168,103,0,0,128,103,0,0,176,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,224,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,240,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,48,104,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,104,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,188,104,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,12,105,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,52,105,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,92,105,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,140,105,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,128,103,0,0,180,105,0,0,119,0,151,0,135,3,4,0,128,112,0,0,0,6,112,0,119,0,147,0,135,3,4,0,128,112,0,0,0,2,112,0,1,25,54,0,119,0,142,0,1,25,51,0,119,0,140,0,135,112,5,0,48,0,0,0,78,112,65,0,34,112,112,0,121,112,6,0,82,109,94,0,135,112,8,0,109,0,0,0,1,25,51,0,119,0,130,0,1,25,51,0,119,0,128,0,135,112,8,0,8,0,0,0,1,25,210,0,119,0,124,0,78,112,55,0,34,112,112,0,121,112,7,0,82,109,73,0,135,112,8,0,109,0,0,0,120,4,6,0,1,25,209,0,119,0,115,0,120,4,3,0,1,25,209,0,119,0,112,0,135,112,8,0,5,0,0,0,1,25,209,0,119,0,108,0,78,112,47,0,34,112,112,0,121,112,11,0,82,109,75,0,135,112,8,0,109,0,0,0,135,112,5,0,74,0,0,0,121,4,3,0,1,25,105,0,119,0,97,0,1,25,106,0,119,0,95,0,135,112,5,0,74,0,0,0,121,4,3,0,1,25,105,0,119,0,90,0,1,25,106,0,119,0,88,0,78,112,58,0,34,112,112,0,121,112,4,0,82,109,78,0,135,112,8,0,109,0,0,0,135,112,5,0,76,0,0,0,135,112,5,0,77,0,0,0,121,4,3,0,1,25,128,0,119,0,75,0,1,25,175,0,119,0,73,0,78,112,57,0,34,112,112,0,121,112,11,0,82,109,80,0,135,112,8,0,109,0,0,0,135,112,5,0,79,0,0,0,121,4,3,0,1,25,159,0,119,0,62,0,1,25,160,0,119,0,60,0,135,112,5,0,79,0,0,0,121,4,3,0,1,25,159,0,119,0,55,0,1,25,160,0,119,0,53,0,78,112,56,0,34,112,112,0,121,112,6,0,82,109,81,0,135,112,8,0,109,0,0,0,1,25,175,0,119,0,45,0,1,25,175,0,119,0,43,0,78,112,59,0,34,112,112,0,121,112,6,0,82,109,82,0,135,112,8,0,109,0,0,0,1,25,208,0,119,0,35,0,1,25,208,0,119,0,33,0,135,112,5,0,60,0,0,0,78,112,68,0,34,112,112,0,121,112,6,0,82,109,94,0,135,112,8,0,109,0,0,0,1,25,207,0,119,0,23,0,1,25,207,0,119,0,21,0,78,112,53,0,34,112,112,0,121,112,6,0,82,109,83,0,135,112,8,0,109,0,0,0,0,6,2,0,119,0,13,0,0,6,2,0,119,0,11,0,78,112,54,0,34,112,112,0,121,112,6,0,82,109,84,0,135,112,8,0,109,0,0,0,0,6,2,0,119,0,3,0,0,6,2,0,119,0,1,0,32,112,25,51,121,112,5,0,135,112,5,0,95,0,0,0,1,25,52,0,119,0,25,0,32,112,25,105,121,112,5,0,135,112,8,0,5,0,0,0,1,25,106,0,119,0,19,0,1,112,128,0,45,112,25,112,40,106,0,0,135,112,8,0,5,0,0,0,1,25,175,0,119,0,12,0,1,112,159,0,45,112,25,112,68,106,0,0,135,112,8,0,5,0,0,0,1,25,160,0,119,0,5,0,1,112,207,0,45,112,25,112,84,106,0,0,1,25,208,0,32,112,25,52,121,112,11,0,78,112,85,0,34,112,112,0,121,112,6,0,82,109,96,0,135,112,8,0,109,0,0,0,1,25,54,0,119,0,15,0,1,25,54,0,119,0,13,0,32,112,25,106,121,112,5,0,135,112,5,0,89,0,0,0,1,25,107,0,119,0,7,0,1,112,160,0,45,112,25,112,180,106,0,0,135,112,5,0,86,0,0,0,1,25,161,0,32,112,25,54,121,112,3,0,0,6,2,0,119,0,9,0,32,112,25,107,121,112,3,0,1,25,208,0,119,0,5,0,1,112,161,0,45,112,25,112,228,106,0,0,1,25,175,0,1,112,175,0,45,112,25,112,252,106,0,0,135,112,5,0,89,0,0,0,1,25,176,0,1,112,176,0,45,112,25,112,12,107,0,0,1,25,208,0,1,112,208,0,45,112,25,112,36,107,0,0,135,112,5,0,95,0,0,0,1,25,209,0,1,112,209,0,45,112,25,112,60,107,0,0,135,112,5,0,96,0,0,0,1,25,210,0,1,112,210,0,45,112,25,112,76,107,0,0,0,6,2,0,82,2,98,0,121,2,21,0,82,4,97,0,46,112,4,2,156,107,0,0,26,5,4,20,85,97,5,0,26,109,4,8,135,112,5,0,109,0,0,0,102,112,5,11,34,112,112,0,121,112,4,0,82,109,5,0,135,112,8,0,109,0,0,0,82,4,97,0,53,112,4,2,96,107,0,0,82,2,98,0,135,112,8,0,2,0,0,0,135,112,5,0,0,0,0,0,0,98,3,0,135,112,11,0,98,0,0,0,135,112,8,0,8,0,0,0,0,98,2,0,135,112,11,0,98,0,0,0,139,0,0,0,140,4,54,0,0,0,0,0,2,42,0,0,129,0,0,0,2,43,0,0,16,30,0,0,2,44,0,0,206,1,0,0,2,45,0,0,42,2,0,0,2,46,0,0,160,36,0,0,1,36,0,0,136,47,0,0,0,34,47,0,136,47,0,0,1,48,240,1,3,47,47,48,137,47,0,0,25,33,34,40,0,37,34,0,1,47,144,1,3,32,34,47,1,47,120,1,3,40,34,47,1,47,56,1,3,41,34,47,1,47,224,1,3,13,34,47,1,47,184,1,3,15,34,47,1,47,132,1,3,22,34,47,1,47,80,1,3,18,34,47,1,47,68,1,3,20,34,47,1,47,16,1,3,23,34,47,1,47,8,1,3,24,34,47,1,47,248,0,3,25,34,47,1,47,148,0,3,35,34,47,1,47,240,0,3,28,34,47,1,47,200,0,3,29,34,47,1,47,136,0,3,30,34,47,1,47,128,0,3,31,34,47,25,21,34,116,25,19,34,104,25,26,34,80,25,27,34,92,25,14,1,12,0,8,32,0,0,9,14,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,47,8,11,196,108,0,0,1,48,0,0,1,49,0,0,1,50,1,0,135,47,19,0,40,2,48,49,50,0,0,0,1,47,0,0,85,41,47,0,1,50,0,0,109,41,4,50,1,47,0,0,109,41,8,47,25,38,41,11,1,47,4,0,83,38,47,0,2,47,0,0,102,105,108,101,85,41,47,0,25,9,41,4,1,47,0,0,83,9,47,0,25,39,40,11,1,47,0,0,132,0,0,47,1,47,71,1,78,49,39,0,34,49,49,0,121,49,4,0,82,49,40,0,0,50,49,0,119,0,2,0,0,50,40,0,135,7,7,0,47,50,0,0,130,50,0,0,0,11,50,0,1,50,0,0,132,0,0,50,38,50,11,1,121,50,3,0,135,4,4,0,119,0,106,5,121,7,113,0,78,50,7,0,32,50,50,58,121,50,110,0,102,50,7,1,32,50,50,47,121,50,107,0,102,50,7,2,32,50,50,47,121,50,104,0,78,47,39,0,34,47,47,0,121,47,4,0,82,47,40,0,0,50,47,0,119,0,2,0,0,50,40,0,0,5,50,0,1,50,0,0,85,33,50,0,1,47,0,0,109,33,4,47,1,50,0,0,109,33,8,50,4,8,7,5,1,50,239,255,48,50,50,8,16,110,0,0,1,50,0,0,132,0,0,50,1,47,172,1,135,50,1,0,47,33,0,0,1,50,0,0,132,0,0,50,119,0,76,0,35,50,8,11,121,50,4,0,107,33,11,8,0,4,33,0,119,0,21,0,25,50,8,16,38,50,50,240,0,6,50,0,1,50,0,0,132,0,0,50,1,50,62,1,135,4,7,0,50,6,0,0,130,50,0,0,0,11,50,0,1,50,0,0,132,0,0,50,38,50,11,1,120,50,57,0,85,33,4,0,2,47,0,0,0,0,0,128,20,47,6,47,109,33,8,47,109,33,4,8,46,47,5,7,160,110,0,0,0,6,4,0,78,47,5,0,83,6,47,0,25,5,5,1,52,47,5,7,156,110,0,0,25,6,6,1,119,0,250,255,3,4,4,8,1,47,0,0,83,4,47,0,78,47,38,0,34,47,47,0,121,47,7,0,82,47,41,0,1,50,0,0,83,47,50,0,1,50,0,0,85,9,50,0,119,0,5,0,1,50,0,0,83,41,50,0,1,50,0,0,83,38,50,0,1,50,0,0,132,0,0,50,1,47,245,1,1,49,0,0,135,50,3,0,47,41,49,0,130,50,0,0,0,11,50,0,1,50,0,0,132,0,0,50,38,50,11,1,121,50,7,0,1,50,0,0,135,37,20,0,50,0,0,0,135,50,21,0,37,0,0,0,119,0,7,0,116,41,33,0,106,49,33,4,109,41,4,49,106,50,33,8,109,41,8,50,119,0,3,0,135,4,4,0,119,0,249,4,1,50,0,0,132,0,0,50,106,49,1,92,135,50,3,0,44,13,49,0,130,50,0,0,0,11,50,0,1,50,0,0,132,0,0,50,38,50,11,1,121,50,3,0,135,4,4,0,119,0,236,4,1,50,160,29,85,13,50,0,106,50,13,4,120,50,62,4,78,11,38,0,41,49,11,24,42,49,49,24,34,49,49,0,121,49,4,0,82,49,9,0,0,50,49,0,119,0,4,0,1,49,255,0,19,49,11,49,0,50,49,0,32,50,50,4,121,50,47,4,1,50,0,0,132,0,0,50,1,50,21,0,1,49,0,0,1,47,255,255,2,48,0,0,221,205,0,0,1,51,4,0,135,4,22,0,50,41,49,47,48,51,0,0,130,51,0,0,0,11,51,0,1,51,0,0,132,0,0,51,38,51,11,1,121,51,6,0,1,51,0,0,135,11,20,0,51,0,0,0,135,51,21,0,11,0,0,0,120,4,22,4,1,51,0,0,132,0,0,51,1,48,4,0,1,47,0,0,1,49,2,0,135,51,9,0,48,33,40,47,49,40,0,0,130,51,0,0,0,11,51,0,1,51,0,0,132,0,0,51,38,51,11,1,121,51,5,0,135,4,4,0,135,51,5,0,13,0,0,0,119,0,178,4,25,5,33,11,78,4,5,0,41,49,4,24,42,49,49,24,34,49,49,0,121,49,4,0,106,49,33,4,0,51,49,0,119,0,4,0,1,49,255,0,19,49,4,49,0,51,49,0,32,51,51,2,121,51,27,0,1,51,0,0,132,0,0,51,1,51,21,0,1,49,0,0,1,47,255,255,2,48,0,0,249,200,0,0,1,50,2,0,135,4,22,0,51,33,49,47,48,50,0,0,130,50,0,0,0,11,50,0,1,50,0,0,132,0,0,50,38,50,11,1,121,50,7,0,1,50,0,0,135,11,20,0,50,0,0,0,135,50,21,0,11,0,0,0,119,0,6,0,78,10,5,0,32,12,4,0,119,0,3,0,0,10,4,0,1,12,0,0,41,50,10,24,42,50,50,24,34,50,50,0,121,50,4,0,82,48,33,0,135,50,8,0,48,0,0,0,135,50,5,0,13,0,0,0,121,12,3,0,1,36,38,0,119,0,211,3,78,4,39,0,41,48,4,24,42,48,48,24,34,48,48,0,121,48,4,0,106,48,40,4,0,50,48,0,119,0,4,0,1,48,255,0,19,48,4,48,0,50,48,0,0,4,50,0,1,50,4,0,48,50,50,4,52,123,0,0,1,50,0,0,132,0,0,50,1,48,4,0,26,47,4,4,1,49,4,0,135,50,9,0,48,33,40,47,49,40,0,0,130,50,0,0,0,22,50,0,1,50,0,0,132,0,0,50,38,50,22,1,121,50,3,0,135,4,4,0,119,0,93,4,25,5,33,11,78,4,5,0,41,49,4,24,42,49,49,24,34,49,49,0,121,49,4,0,106,49,33,4,0,50,49,0,119,0,4,0,1,49,255,0,19,49,4,49,0,50,49,0,32,50,50,4,121,50,27,0,1,50,0,0,132,0,0,50,1,50,21,0,1,49,0,0,1,47,255,255,2,48,0,0,250,169,0,0,1,51,4,0,135,4,22,0,50,33,49,47,48,51,0,0,130,51,0,0,0,22,51,0,1,51,0,0,132,0,0,51,38,51,22,1,121,51,7,0,1,51,0,0,135,22,20,0,51,0,0,0,135,51,21,0,22,0,0,0,119,0,6,0,32,16,4,0,78,17,5,0,119,0,3,0,1,16,0,0,0,17,4,0,41,51,17,24,42,51,51,24,34,51,51,0,121,51,4,0,82,48,33,0,135,51,8,0,48,0,0,0,121,16,47,2,1,51,0,0,132,0,0,51,1,51,62,1,1,48,80,0,135,5,7,0,51,48,0,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,135,4,4,0,119,0,29,4,0,8,18,0,0,9,32,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,192,114,0,0,1,48,0,0,132,0,0,48,1,51,5,0,1,47,0,0,1,49,0,0,1,50,1,0,135,48,9,0,51,20,2,47,49,50,0,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,135,4,4,0,119,0,5,2,0,8,37,0,0,9,18,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,36,115,0,0,1,48,0,0,132,0,0,48,1,50,171,1,135,48,1,0,50,5,0,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,135,4,4,0,119,0,233,1,25,8,5,12,0,9,37,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,120,115,0,0,1,50,0,0,107,5,52,50,1,48,0,0,107,5,53,48,1,50,0,0,107,5,54,50,1,48,4,0,109,5,56,48,1,48,148,45,85,5,48,0,1,50,0,0,107,5,60,50,1,48,0,0,107,5,61,48,1,48,0,0,132,0,0,48,1,50,101,0,25,49,5,64,1,47,1,0,135,48,6,0,50,49,20,47,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,135,4,4,0,119,0,196,1,1,47,0,0,109,5,76,47,102,47,20,11,34,47,47,0,121,47,4,0,82,48,20,0,135,47,8,0,48,0,0,0,1,47,0,0,132,0,0,47,1,47,62,1,1,48,88,0,135,7,7,0,47,48,0,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,135,4,4,0,119,0,180,3,0,8,23,0,0,9,32,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,100,116,0,0,1,48,0,0,132,0,0,48,135,48,3,0,44,24,5,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,135,4,4,0,119,0,151,1,85,24,43,0,25,6,25,11,1,48,0,0,85,25,48,0,1,47,0,0,109,25,4,47,1,48,0,0,109,25,8,48,1,48,0,0,132,0,0,48,0,8,33,0,0,9,23,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,220,116,0,0,1,47,13,0,1,49,0,0,1,50,0,0,135,48,15,0,47,7,33,24,25,49,50,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,1,5,1,0,119,0,104,1,1,48,0,0,132,0,0,48,135,48,3,0,44,37,7,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,3,0,1,5,0,0,119,0,92,1,1,48,168,40,85,37,48,0,78,48,6,0,34,48,48,0,121,48,4,0,82,50,25,0,135,48,8,0,50,0,0,0,135,48,5,0,24,0,0,0,1,48,0,0,132,0,0,48,1,48,62,1,1,50,84,0,135,10,7,0,48,50,0,0,130,50,0,0,0,27,50,0,1,50,0,0,132,0,0,50,38,50,27,1,121,50,3,0,1,36,118,0,119,0,62,1,0,8,33,0,0,9,32,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,50,8,11,196,117,0,0,1,50,0,0,132,0,0,50,1,48,171,1,135,50,1,0,48,10,0,0,130,50,0,0,0,27,50,0,1,50,0,0,132,0,0,50,38,50,27,1,121,50,3,0,135,4,4,0,119,0,39,1,25,8,10,12,0,9,33,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,50,8,11,24,118,0,0,1,50,224,40,85,10,50,0,1,48,0,0,107,10,52,48,1,50,0,0,107,10,53,50,1,48,0,0,107,10,54,48,1,50,0,0,109,10,56,50,25,4,10,60,1,50,184,40,85,4,50,0,25,8,10,64,25,9,10,68,1,50,0,0,85,8,50,0,1,48,0,0,109,8,4,48,1,50,0,0,109,8,8,50,1,48,0,0,109,8,12,48,1,48,0,0,132,0,0,48,1,50,43,2,1,49,0,0,135,48,3,0,50,8,49,0,130,48,0,0,0,27,48,0,1,48,0,0,132,0,0,48,38,48,27,1,121,48,24,0,135,4,4,0,128,48,0,0,0,7,48,0,82,5,8,0,121,5,247,0,82,6,9,0,46,48,6,5,8,119,0,0,26,35,6,8,85,9,35,0,82,49,35,0,82,49,49,0,1,50,255,1,19,49,49,50,135,48,14,0,49,35,0,0,82,6,9,0,53,48,6,5,216,118,0,0,82,5,8,0,135,48,8,0,5,0,0,0,119,0,229,0,1,48,0,40,85,10,48,0,1,48,128,40,85,4,48,0,1,49,0,0,107,10,80,49,1,48,0,0,107,10,81,48,1,49,0,0,107,10,82,49,1,49,0,0,132,0,0,49,135,49,3,0,44,35,10,0,130,49,0,0,0,27,49,0,1,49,0,0,132,0,0,49,38,49,27,1,121,49,3,0,1,36,118,0,119,0,209,0,85,35,46,0,25,6,35,4,82,49,6,0,25,4,49,60,82,49,4,0,106,5,49,20,1,49,0,0,132,0,0,49,106,48,37,4,135,49,3,0,44,28,48,0,130,49,0,0,0,27,49,0,1,49,0,0,132,0,0,49,38,49,27,1,121,49,3,0,135,4,4,0,119,0,185,0,1,49,168,40,85,28,49,0,1,49,0,0,132,0,0,49,135,49,3,0,5,4,28,0,130,49,0,0,0,27,49,0,1,49,0,0,132,0,0,49,38,49,27,1,121,49,5,0,135,4,4,0,135,49,5,0,28,0,0,0,119,0,169,0,135,49,5,0,28,0,0,0],eb+20480);HEAPU8.set([1,49,0,0,132,0,0,49,1,49,62,1,1,48,100,0,135,7,7,0,49,48,0,0,130,48,0,0,0,28,48,0,1,48,0,0,132,0,0,48,38,48,28,1,121,48,3,0,135,4,4,0,119,0,153,0,0,8,29,0,0,9,32,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,68,120,0,0,25,5,30,4,1,48,0,0,85,5,48,0,1,49,0,0,109,5,4,49,25,5,30,11,1,49,3,0,83,5,49,0,2,49,0,0,146,189,0,0,78,49,49,0,83,30,49,0,2,48,0,0,147,189,0,0,78,48,48,0,107,30,1,48,2,49,0,0,148,189,0,0,78,49,49,0,107,30,2,49,1,48,0,0,107,30,3,48,1,48,0,0,132,0,0,48,82,49,6,0,135,48,3,0,44,31,49,0,130,48,0,0,0,32,48,0,1,48,0,0,132,0,0,48,38,48,32,1,121,48,3,0,135,4,4,0,119,0,108,0,85,31,46,0,1,48,0,0,132,0,0,48,0,8,33,0,0,9,29,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,252,120,0,0,1,49,22,0,135,48,10,0,49,7,33,30,31,0,0,0,130,48,0,0,0,32,48,0,1,48,0,0,132,0,0,48,38,48,32,1,121,48,12,0,135,4,4,0,135,48,5,0,31,0,0,0,1,48,0,0,78,49,5,0,56,48,48,49,144,122,0,0,82,49,30,0,135,48,8,0,49,0,0,0,119,0,76,0,135,48,5,0,31,0,0,0,78,48,5,0,34,48,48,0,121,48,4,0,82,49,30,0,135,48,8,0,49,0,0,0,25,6,1,64,1,48,0,0,132,0,0,48,135,48,3,0,44,33,7,0,130,48,0,0,0,32,48,0,1,48,0,0,132,0,0,48,38,48,32,1,121,48,3,0,135,4,4,0,119,0,57,0,85,33,43,0,25,4,1,68,82,5,4,0,106,48,1,72,48,48,5,48,28,122,0,0,1,48,0,0,132,0,0,48,106,49,33,4,135,48,3,0,44,5,49,0,130,48,0,0,0,36,48,0,1,48,0,0,132,0,0,48,38,48,36,1,121,48,3,0,1,36,129,0,119,0,20,0,85,5,43,0,82,48,4,0,25,48,48,8,85,4,48,0,1,36,104,0,119,0,14,0,1,48,0,0,132,0,0,48,135,48,3,0,45,6,33,0,130,48,0,0,0,36,48,0,1,48,0,0,132,0,0,48,38,48,36,1,121,48,3,0,1,36,129,0,119,0,2,0,1,36,104,0,32,48,36,104,121,48,8,0,135,48,5,0,33,0,0,0,135,48,5,0,35,0,0,0,135,48,5,0,37,0,0,0,119,0,132,1,45,48,36,42,140,122,0,0,135,4,4,0,135,48,5,0,33,0,0,0,119,0,4,0,119,0,3,0,135,48,8,0,7,0,0,0,135,48,5,0,35,0,0,0,119,0,3,0,135,48,8,0,10,0,0,0,32,48,36,118,121,48,2,0,135,4,4,0,135,48,5,0,37,0,0,0,119,0,25,2,135,4,4,0,78,48,6,0,34,48,48,0,121,48,8,0,82,49,25,0,135,48,8,0,49,0,0,0,135,48,5,0,24,0,0,0,121,5,15,2,119,0,5,0,135,48,5,0,24,0,0,0,121,5,11,2,119,0,1,0,135,48,8,0,7,0,0,0,119,0,7,2,1,48,0,0,102,49,20,11,56,48,48,49,40,123,0,0,82,49,20,0,135,48,8,0,49,0,0,0,135,48,8,0,5,0,0,0,119,0,253,1,1,48,0,0,132,0,0,48,1,49,203,1,135,48,3,0,49,21,40,0,130,48,0,0,0,31,48,0,1,48,0,0,132,0,0,48,38,48,31,1,121,48,3,0,135,4,4,0,119,0,240,1,1,48,0,0,132,0,0,48,1,49,203,1,135,48,3,0,49,19,3,0,130,48,0,0,0,31,48,0,1,48,0,0,132,0,0,48,38,48,31,1,121,48,3,0,135,4,4,0,119,0,46,1,1,48,0,0,132,0,0,48,1,49,95,0,135,48,6,0,49,37,21,19,130,48,0,0,0,31,48,0,1,48,0,0,132,0,0,48,38,48,31,1,121,48,10,0,135,4,4,0,1,48,0,0,102,49,19,11,56,48,48,49,80,128,0,0,82,49,19,0,135,48,8,0,49,0,0,0,119,0,26,1,102,48,19,11,34,48,48,0,121,48,4,0,82,49,19,0,135,48,8,0,49,0,0,0,102,48,21,11,34,48,48,0,121,48,4,0,82,49,21,0,135,48,8,0,49,0,0,0,1,48,0,0,132,0,0,48,0,8,33,0,0,9,32,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,48,8,11,48,124,0,0,1,49,23,0,135,48,10,0,49,35,0,37,33,0,0,0,130,48,0,0,0,31,48,0,1,48,0,0,132,0,0,48,38,48,31,1,121,48,3,0,135,4,4,0,119,0,226,0,25,6,35,36,25,7,6,11,78,31,7,0,41,49,31,24,42,49,49,24,34,49,49,0,121,49,4,0,106,49,35,40,0,48,49,0,119,0,4,0,1,49,255,0,19,49,31,49,0,48,49,0,120,48,94,0,1,48,0,0,132,0,0,48,1,49,92,0,2,50,0,0,50,141,0,0,135,48,6,0,49,27,50,40,130,48,0,0,0,31,48,0,1,48,0,0,132,0,0,48,38,48,31,1,121,48,3,0,135,4,4,0,119,0,80,0,1,48,0,0,132,0,0,48,1,48,223,3,2,50,0,0,93,222,0,0,135,4,23,0,48,27,50,0,130,50,0,0,0,31,50,0,1,50,0,0,132,0,0,50,38,50,31,1,121,50,3,0,135,4,4,0,119,0,56,0,116,26,4,0,106,48,4,4,109,26,4,48,106,50,4,8,109,26,8,50,1,50,0,0,85,4,50,0,1,48,0,0,109,4,4,48,1,50,0,0,109,4,8,50,1,50,44,1,3,4,0,50,1,50,0,0,132,0,0,50,0,8,33,0,0,9,32,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,50,8,11,108,125,0,0,1,48,100,0,135,50,6,0,48,26,33,4,130,50,0,0,0,33,50,0,1,50,0,0,132,0,0,50,38,50,33,1,121,50,10,0,135,4,4,0,1,50,0,0,102,48,26,11,56,50,50,48,0,126,0,0,82,48,26,0,135,50,8,0,48,0,0,0,119,0,15,0,102,50,26,11,34,50,50,0,121,50,4,0,82,48,26,0,135,50,8,0,48,0,0,0,102,50,27,11,34,50,50,0,121,50,4,0,82,48,27,0,135,50,8,0,48,0,0,0,1,36,165,0,119,0,10,0,1,50,0,0,102,48,27,11,56,50,50,48,36,126,0,0,82,48,27,0,135,50,8,0,48,0,0,0,119,0,2,0,1,36,165,0,1,50,165,0,45,50,36,50,140,127,0,0,25,4,1,80,82,5,4,0,106,50,1,84,45,50,5,50,124,126,0,0,1,50,0,0,132,0,0,50,1,48,44,2,25,49,1,76,135,50,3,0,48,49,35,0,130,50,0,0,0,1,50,0,1,50,0,0,132,0,0,50,38,50,1,1,121,50,19,0,1,36,184,0,119,0,17,0,1,50,0,0,132,0,0,50,1,49,216,1,135,50,3,0,49,5,35,0,130,50,0,0,0,1,50,0,1,50,0,0,132,0,0,50,38,50,1,1,121,50,3,0,1,36,184,0,119,0,4,0,82,50,4,0,25,50,50,52,85,4,50,0,1,50,184,0,45,50,36,50,208,126,0,0,135,4,4,0,119,0,48,0,78,50,7,0,34,50,50,0,121,50,4,0,82,49,6,0,135,50,8,0,49,0,0,0,25,4,35,24,102,50,4,11,34,50,50,0,121,50,4,0,82,49,4,0,135,50,8,0,49,0,0,0,25,4,35,12,102,50,4,11,34,50,50,0,121,50,4,0,82,49,4,0,135,50,8,0,49,0,0,0,102,50,35,11,34,50,50,0,121,50,4,0,82,49,35,0,135,50,8,0,49,0,0,0,25,4,37,24,102,50,4,11,34,50,50,0,121,50,4,0,82,49,4,0,135,50,8,0,49,0,0,0,25,4,37,12,102,50,4,11,34,50,50,0,121,50,4,0,82,49,4,0,135,50,8,0,49,0,0,0,102,50,37,11,34,50,50,0,121,50,66,0,82,49,37,0,135,50,8,0,49,0,0,0,119,0,62,0,78,50,7,0,34,50,50,0,121,50,4,0,82,49,6,0,135,50,8,0,49,0,0,0,25,5,35,24,102,50,5,11,34,50,50,0,121,50,4,0,82,49,5,0,135,50,8,0,49,0,0,0,25,5,35,12,102,50,5,11,34,50,50,0,121,50,4,0,82,49,5,0,135,50,8,0,49,0,0,0,1,50,0,0,102,49,35,11,56,50,50,49,248,127,0,0,82,49,35,0,135,50,8,0,49,0,0,0,25,5,37,24,102,50,5,11,34,50,50,0,121,50,4,0,82,49,5,0,135,50,8,0,49,0,0,0,25,5,37,12,102,50,5,11,34,50,50,0,121,50,4,0,82,49,5,0,135,50,8,0,49,0,0,0,1,50,0,0,102,49,37,11,56,50,50,49,36,131,0,0,82,49,37,0,135,50,8,0,49,0,0,0,119,0,182,0,102,50,21,11,34,50,50,0,121,50,179,0,82,49,21,0,135,50,8,0,49,0,0,0,119,0,175,0,1,36,34,0,119,0,4,0,1,36,34,0,119,0,2,0,1,36,34,0,32,50,36,34,121,50,4,0,135,50,5,0,13,0,0,0,1,36,38,0,32,50,36,38,121,50,146,0,25,6,1,64,1,50,0,0,132,0,0,50,1,50,62,1,1,49,80,0,135,7,7,0,50,49,0,0,130,49,0,0,0,35,49,0,1,49,0,0,132,0,0,49,38,49,35,1,121,49,3,0,135,4,4,0,119,0,148,0,0,8,15,0,0,9,14,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,49,8,11,228,128,0,0,1,49,0,0,132,0,0,49,1,50,203,1,135,49,3,0,50,22,2,0,130,49,0,0,0,35,49,0,1,49,0,0,132,0,0,49,38,49,35,1,121,49,3,0,135,4,4,0,119,0,107,0,1,49,0,0,132,0,0,49,0,8,33,0,0,9,15,0,25,11,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,49,8,11,64,129,0,0,1,50,1,0,1,48,0,0,1,47,0,0,1,51,0,0,1,52,1,0,1,53,1,0,135,49,24,0,50,7,33,22,48,47,51,52,53,0,0,0,130,49,0,0,0,35,49,0,1,49,0,0,132,0,0,49,38,49,35,1,121,49,4,0,1,5,1,0,1,36,53,0,119,0,65,0,1,49,0,0,132,0,0,49,135,49,3,0,44,37,7,0,130,49,0,0,0,35,49,0,1,49,0,0,132,0,0,49,38,49,35,1,121,49,4,0,1,5,0,0,1,36,53,0,119,0,52,0,85,37,43,0,25,4,1,68,82,5,4,0,106,49,1,72,48,49,5,49,52,130,0,0,1,49,0,0,132,0,0,49,106,53,37,4,135,49,3,0,44,5,53,0,130,49,0,0,0,35,49,0,1,49,0,0,132,0,0,49,38,49,35,1,121,49,3,0,1,36,54,0,119,0,17,0,85,5,43,0,82,49,4,0,25,49,49,8,85,4,49,0,119,0,12,0,1,49,0,0,132,0,0,49,135,49,3,0,45,6,37,0,130,49,0,0,0,35,49,0,1,49,0,0,132,0,0,49,38,49,35,1,121,49,2,0,1,36,54,0,32,49,36,54,121,49,6,0,135,4,4,0,135,49,5,0,37,0,0,0,1,5,0,0,119,0,10,0,135,49,5,0,37,0,0,0,102,49,22,11,34,49,49,0,121,49,21,0,82,53,22,0,135,49,8,0,53,0,0,0,119,0,17,0,32,49,36,53,121,49,2,0,135,4,4,0,102,49,22,11,34,49,49,0,121,49,6,0,82,53,22,0,135,49,8,0,53,0,0,0,121,5,24,0,119,0,3,0,121,5,22,0,119,0,1,0,135,49,8,0,7,0,0,0,119,0,18,0,78,49,38,0,34,49,49,0,121,49,4,0,82,53,41,0,135,49,8,0,53,0,0,0,1,49,0,0,78,53,39,0,49,49,49,53,16,131,0,0,137,34,0,0,139,0,0,0,82,53,40,0,135,49,8,0,53,0,0,0,137,34,0,0,139,0,0,0,78,49,38,0,34,49,49,0,121,49,4,0,82,53,41,0,135,49,8,0,53,0,0,0,1,49,0,0,78,53,39,0,49,49,49,53,84,131,0,0,135,49,11,0,4,0,0,0,82,53,40,0,135,49,8,0,53,0,0,0,135,49,11,0,4,0,0,0,139,0,0,0,140,7,115,0,0,0,0,0,2,100,0,0,239,255,255,255,2,101,0,0,0,0,0,128,2,102,0,0,62,1,0,0,2,103,0,0,203,1,0,0,2,104,0,0,134,0,0,0,2,105,0,0,188,0,0,0,2,106,0,0,181,0,0,0,2,107,0,0,157,0,0,0,2,108,0,0,161,0,0,0,2,109,0,0,194,0,0,0,2,110,0,0,159,0,0,0,1,89,0,0,136,111,0,0,0,84,111,0,136,111,0,0,1,112,144,1,3,111,111,112,137,111,0,0,1,111,92,1,3,91,84,111,1,111,68,1,3,99,84,111,1,111,168,0,3,97,84,111,1,111,80,1,3,88,84,111,1,111,56,1,3,73,84,111,1,111,156,0,3,85,84,111,25,74,84,80,1,111,144,0,3,75,84,111,1,111,132,0,3,76,84,111,25,49,84,40,25,50,84,32,25,77,84,20,0,51,84,0,25,86,84,8,82,8,5,0,106,20,5,4,45,111,8,20,92,132,0,0,1,99,0,0,137,84,0,0,139,99,0,0,25,21,1,11,1,111,56,1,3,22,0,111,40,111,6,1,0,19,111,0,25,90,97,64,25,23,97,8,25,78,97,12,25,24,97,4,25,25,97,64,1,111,136,0,3,26,97,111,1,111,140,0,3,27,97,111,25,79,97,44,25,28,97,60,25,52,91,11,25,53,97,8,25,98,99,11,25,29,99,4,25,80,79,11,25,54,73,11,25,81,88,11,25,55,77,11,25,30,4,80,25,31,4,84,25,32,4,76,25,33,51,4,25,56,74,36,25,57,56,11,25,58,74,24,25,59,58,11,25,60,74,12,25,61,60,11,25,62,74,11,25,87,91,11,25,34,91,8,25,35,91,4,25,82,86,11,25,63,91,11,25,36,91,8,25,37,91,4,25,38,86,8,25,39,86,4,25,92,97,24,25,93,92,11,25,94,97,12,25,95,94,11,25,96,97,11,25,40,74,4,25,64,91,36,25,65,64,11,25,66,91,24,25,67,66,11,25,68,91,12,25,69,68,11,25,70,91,11,25,83,85,11,25,71,75,11,1,111,44,1,3,41,0,111,25,42,75,8,25,43,75,4,25,72,76,11,25,44,76,8,25,45,76,4,25,46,73,8,25,47,73,4,1,5,0,0,1,7,0,0,82,111,8,0,135,18,25,0,111,0,0,0,1,111,255,0,19,111,18,111,78,113,21,0,34,113,113,0,121,113,4,0,82,113,1,0,0,112,113,0,119,0,2,0,0,112,1,0,82,113,8,0,82,114,22,0,135,18,26,0,111,112,113,114,121,18,224,3,82,111,18,0,121,111,215,3,0,17,18,0,25,7,7,1,135,111,27,0,99,1,0,0,33,111,7,0,19,111,111,19,121,111,208,0,1,111,112,64,85,23,111,0,1,111,236,8,85,97,111,0,1,111,0,9,85,90,111,0,1,111,0,0,85,24,111,0,1,111,0,0,132,0,0,111,1,114,19,2,135,111,3,0,114,25,78,0,130,111,0,0,0,16,111,0,1,111,0,0,132,0,0,111,38,111,16,1,121,111,3,0,1,89,16,0,119,0,200,3,1,111,0,0,85,26,111,0,1,111,255,255,85,27,111,0,1,111,92,64,85,97,111,0,1,111,132,64,85,90,111,0,1,111,112,64,85,23,111,0,1,111,0,0,132,0,0,111,1,114,181,1,135,111,1,0,114,78,0,0,130,111,0,0,0,16,111,0,1,111,0,0,132,0,0,111,38,111,16,1,121,111,3,0,1,89,17,0,119,0,177,3,1,111,208,63,85,78,111,0,1,111,0,0,85,79,111,0,1,114,0,0,109,79,4,114,1,111,0,0,109,79,8,111,1,114,0,0,109,79,12,114,1,114,24,0,85,28,114,0,1,114,0,0,85,91,114,0,1,111,0,0,109,91,4,111,1,114,0,0,109,91,8,114,1,114,0,0,132,0,0,114,1,111,20,2,135,114,3,0,111,78,91,0,130,114,0,0,0,16,114,0,1,114,0,0,132,0,0,114,38,114,16,1,121,114,3,0,1,89,11,0,119,0,146,3,78,114,52,0,34,114,114,0,121,114,4,0,82,111,91,0,135,114,8,0,111,0,0,0,78,5,98,0,41,114,5,24,42,114,114,24,34,16,114,0,1,114,0,0,132,0,0,114,1,114,44,0,121,16,4,0,82,113,99,0,0,111,113,0,119,0,2,0,0,111,99,0,121,16,4,0,82,112,29,0,0,113,112,0,119,0,4,0,1,112,255,0,19,112,5,112,0,113,112,0,135,5,2,0,114,53,111,113,130,113,0,0,0,16,113,0,1,113,0,0,132,0,0,113,38,113,16,1,121,113,3,0,1,89,32,0,119,0,111,3,1,113,0,0,132,0,0,113,1,113,44,0,2,111,0,0,206,208,0,0,1,114,1,0,135,5,2,0,113,5,111,114,130,114,0,0,0,16,114,0,1,114,0,0,132,0,0,114,38,114,16,1,121,114,3,0,1,89,32,0,119,0,95,3,1,114,0,0,132,0,0,114,1,111,225,3,135,114,23,0,111,5,7,0,130,114,0,0,0,16,114,0,1,114,0,0,132,0,0,114,38,114,16,1,121,114,3,0,1,89,32,0,119,0,82,3,1,114,0,0,132,0,0,114,1,111,21,2,135,114,3,0,111,91,78,0,130,114,0,0,0,16,114,0,1,114,0,0,132,0,0,114,38,114,16,1,121,114,3,0,1,89,33,0,119,0,69,3,78,114,98,0,34,114,114,0,121,114,7,0,82,114,99,0,1,111,0,0,83,114,111,0,1,111,0,0,85,29,111,0,119,0,5,0,1,111,0,0,83,99,111,0,1,111,0,0,83,98,111,0,1,111,0,0,132,0,0,111,1,114,245,1,1,113,0,0,135,111,3,0,114,99,113,0,130,111,0,0,0,16,111,0,1,111,0,0,132,0,0,111,38,111,16,1,121,111,3,0,1,89,27,0,119,0,42,3,116,99,91,0,106,113,91,4,109,99,4,113,106,111,91,8,109,99,8,111,78,16,80,0,1,111,92,64,85,97,111,0,1,111,132,64,85,90,111,0,1,111,112,64,85,53,111,0,1,111,208,63,85,78,111,0,41,111,16,24,42,111,111,24,34,111,111,0,121,111,4,0,82,113,79,0,135,111,8,0,113,0,0,0,135,111,28,0,78,0,0,0,1,113,144,64,135,111,29,0,97,113,0,0,135,111,30,0,90,0,0,0,1,111,0,0,132,0,0,111,135,111,3,0,103,88,99,0,130,111,0,0,0,16,111,0,1,111,0,0,132,0,0,111,38,111,16,1,121,111,3,0,1,89,73,0,119,0,2,3,1,111,0,0,85,73,111,0,1,113,0,0,109,73,4,113,1,111,0,0,109,73,8,111,135,10,17,0,2,0,0,0,48,111,100,10,120,137,0,0,1,89,40,0,119,0,246,2,35,111,10,11,121,111,8,0,83,54,10,0,120,10,3,0,0,5,73,0,119,0,24,0,0,5,73,0,1,89,45,0,119,0,21,0,25,111,10,16,38,111,111,240,0,9,111,0,1,111,0,0,132,0,0,111,135,5,7,0,102,9,0,0,130,111,0,0,0,89,111,0,1,111,0,0,132,0,0,111,38,111,89,1,121,111,3,0,1,89,74,0,119,0,222,2,85,73,5,0,20,111,9,101,85,46,111,0,85,47,10,0,1,89,45,0,32,111,89,45,121,111,4,0,1,89,0,0,135,111,18,0,5,2,10,0,1,113,0,0,95,5,10,113,1,113,0,0,132,0,0,113,1,111,95,0,135,113,6,0,111,97,88,73,130,113,0,0,0,16,113,0,1,113,0,0,132,0,0,113,38,113,16,1,121,113,3,0,1,89,75,0,119,0,197,2,78,113,54,0,34,113,113,0,121,113,4,0,82,111,73,0,135,113,8,0,111,0,0,0,78,113,81,0,34,113,113,0,121,113,4,0,82,111,88,0,135,113,8,0,111,0,0,0,82,5,17,0,1,113,0,0,132,0,0,113,1,113,67,1,135,16,7,0,113,5,0,0,130,113,0,0,0,15,113,0,1,113,0,0,132,0,0,113,38,113,15,1,121,113,3,0,1,89,79,0,119,0,171,2,1,113,0,0,132,0,0,113,1,113,68,1,135,13,7,0,113,5,0,0,130,113,0,0,0,15,113,0,1,113,0,0,132,0,0,113,38,113,15,1,121,113,3,0,1,89,80,0,119,0,158,2,1,113,0,0,132,0,0,113,1,113,72,1,135,11,7,0,113,5,0,0,130,113,0,0,0,15,113,0,1,113,0,0,132,0,0,113,38,113,15,1,121,113,3,0,1,89,81,0,119,0,145,2,1,113,0,0,132,0,0,113,1,113,73,1,135,12,7,0,113,5,0,0,130,113,0,0,0,15,113,0,1,113,0,0,132,0,0,113,38,113,15,1,121,113,3,0,1,89,82,0,119,0,132,2,1,113,0,0,132,0,0,113,1,113,74,1,135,15,7,0,113,5,0,0,130,113,0,0,0,14,113,0,1,113,0,0,132,0,0,113,38,113,14,1,121,113,3,0,1,89,83,0,119,0,119,2,1,113,0,0,132,0,0,113,1,113,75,1,135,14,7,0,113,5,0,0,130,113,0,0,0,10,113,0,1,113,0,0,132,0,0,113,38,113,10,1,121,113,3,0,1,89,84,0,119,0,106,2,33,5,16,0,120,14,44,1,120,5,127,0,120,15,2,0,119,0,60,2,1,113,0,0,85,86,113,0,1,111,0,0,109,86,4,111,1,113,0,0,109,86,8,113,135,10,17,0,15,0,0,0,48,113,100,10,236,139,0,0,1,89,176,0,119,0,89,2,35,113,10,11,121,113,8,0,83,82,10,0,120,10,3,0,0,5,86,0,119,0,24,0,0,5,86,0,1,89,181,0,119,0,21,0,25,113,10,16,38,113,113,240,0,9,113,0,1,113,0,0,132,0,0,113,135,5,7,0,102,9,0,0,130,113,0,0,0,89,113,0,1,113,0,0,132,0,0,113,38,113,89,1,121,113,3,0,1,89,84,0,119,0,65,2,85,86,5,0,20,113,9,101,85,38,113,0,85,39,10,0,1,89,181,0,45,113,89,106,116,140,0,0,1,89,0,0,135,113,18,0,5,15,10,0,1,111,0,0,95,5,10,111,1,111,0,0,85,91,111,0,1,113,0,0,109,91,4,113,1,111,0,0,109,91,8,111,135,10,17,0,2,0,0,0,48,111,100,10,172,140,0,0,1,89,183,0,119,0,41,2,35,111,10,11,121,111,8,0,83,63,10,0,120,10,3,0,0,5,91,0,119,0,24,0,0,5,91,0,1,89,188,0,119,0,21,0,25,111,10,16,38,111,111,240,0,9,111,0,1,111,0,0,132,0,0,111,135,5,7,0,102,9,0,0,130,111,0,0,0,89,111,0,1,111,0,0,132,0,0,111,38,111,89,1,121,111,3,0,1,89,194,0,119,0,17,2,85,91,5,0,20,111,9,101,85,36,111,0,85,37,10,0,1,89,188,0,45,111,89,105,52,141,0,0,1,89,0,0,135,111,18,0,5,2,10,0,1,113,0,0,95,5,10,113,1,113,0,0,132,0,0,113,1,111,24,0,135,113,10,0,111,0,4,86,91,0,0,0,130,113,0,0,0,16,113,0,1,113,0,0,132,0,0,113,38,113,16,1,121,113,3,0,1,89,195,0,119,0,247,1,78,113,63,0,34,113,113,0,121,113,4,0,82,111,91,0,135,113,8,0,111,0,0,0,1,113,0,0,78,111,82,0,56,113,113,111,168,148,0,0,82,111,86,0,135,113,8,0,111,0,0,0,119,0,192,1,120,15,13,0,1,113,0,0,132,0,0,113,135,113,3,0,103,91,99,0,130,113,0,0,0,15,113,0,1,113,0,0,132,0,0,113,38,113,15,1,121,113,51,0,1,89,157,0,119,0,220,1,1,113,0,0,85,91,113,0,1,111,0,0,109,91,4,111,1,113,0,0,109,91,8,113,135,10,17,0,15,0,0,0,48,113,100,10,16,142,0,0,1,89,129,0,119,0,208,1,35,113,10,11,121,113,8,0,83,87,10,0,120,10,3,0,0,5,91,0,119,0,24,0,0,5,91,0,1,89,134,0,119,0,21,0,25,113,10,16,38,113,113,240,0,9,113,0,1,113,0,0,132,0,0,113,135,5,7,0,102,9,0,0,130,113,0,0,0,89,113,0,1,113,0,0,132,0,0,113,38,113,89,1,121,113,3,0,1,89,157,0,119,0,184,1,85,91,5,0,20,113,9,101,85,34,113,0,85,35,10,0,1,89,134,0,45,113,89,104,152,142,0,0,1,89,0,0,135,113,18,0,5,15,10,0,1,111,0,0,95,5,10,111,1,111,0,0,132,0,0,111,135,111,3,0,103,77,91,0,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,158,0,119,0,160,1,1,111,0,0,132,0,0,111,1,113,96,0,135,111,6,0,113,74,97,77,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,159,0,119,0,147,1,78,111,55,0,34,111,111,0,121,111,4,0,82,113,77,0,135,111,8,0,113,0,0,0,82,5,30,0,82,111,31,0,45,111,5,111,96,143,0,0,1,111,0,0,132,0,0,111,1,113,44,2,135,111,3,0,113,32,74,0,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,19,0,1,89,161,0,119,0,124,1,1,111,0,0,132,0,0,111,1,113,216,1,135,111,3,0,113,5,74,0,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,161,0,119,0,111,1,82,111,30,0,25,111,111,52,85,30,111,0,85,51,16,0,85,33,13,0,1,111,0,0,132,0,0,111,1,113,21,0,135,111,10,0,113,0,74,51,3,0,0,0,130,111,0,0,0,16,111,0,1,111,0,0,132,0,0,111,38,111,16,1,121,111,3,0,1,89,162,0,119,0,92,1,78,111,57,0,34,111,111,0,121,111,4,0,82,113,56,0,135,111,8,0,113,0,0,0,78,111,59,0,34,111,111,0,121,111,4,0,82,113,58,0,135,111,8,0,113,0,0,0,78,111,61,0,34,111,111,0,121,111,4,0,82,113,60,0,135,111,8,0,113,0,0,0,78,111,62,0,34,111,111,0,121,111,4,0,82,113,74,0,135,111,8,0,113,0,0,0,78,111,87,0,34,111,111,0,121,111,24,1,82,113,91,0,135,111,8,0,113,0,0,0,119,0,20,1,33,111,13,0,20,111,5,111,121,111,72,0,1,111,0,0,132,0,0,111,135,111,3,0,103,85,99,0,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,85,0,119,0,46,1,1,111,0,0,132,0,0,111,1,113,96,0,135,111,6,0,113,91,97,85,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,86,0,119,0,33,1,85,74,16,0,85,40,13,0,1,111,0,0,132,0,0,111,1,113,21,0,135,111,10,0,113,0,91,74,3,0,0,0,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,87,0,119,0,17,1,78,111,65,0,34,111,111,0,121,111,4,0,82,113,64,0,135,111,8,0,113,0,0,0,78,111,67,0,34,111,111,0,121,111,4,0,82,113,66,0,135,111,8,0,113,0,0,0,78,111,69,0,34,111,111,0,121,111,4,0,82,113,68,0,135,111,8,0,113,0,0,0,78,111,70,0,34,111,111,0,121,111,4,0,82,113,91,0,135,111,8,0,113,0,0,0,78,111,83,0,34,111,111,0,121,111,4,0,82,113,85,0,135,111,8,0,113,0,0,0,19,111,12,11,32,111,111,255,121,111,78,0,1,111,0,0,85,75,111,0,1,113,0,0,109,75,4,113,1,111,0,0,109,75,8,111,135,10,17,0,14,0,0,0,48,111,100,10,192,145,0,0,1,89,100,0,119,0,228,0,35,111,10,11,121,111,8,0,83,71,10,0,120,10,3,0,0,5,75,0,119,0,24,0,0,5,75,0,1,89,105,0,119,0,21,0,25,111,10,16,38,111,111,240,0,9,111,0,1,111,0,0,132,0,0,111,135,5,7,0,102,9,0,0,130,111,0,0,0,89,111,0,1,111,0,0,132,0,0,111,38,111,89,1,121,111,3,0,1,89,84,0,119,0,204,0,85,75,5,0,20,111,9,101,85,42,111,0,85,43,10,0,1,89,105,0,32,111,89,105,121,111,4,0,1,89,0,0,135,111,18,0,5,14,10,0,1,113,0,0,95,5,10,113,1,113,0,0,132,0,0,113,0,5,91,0,0,9,3,0,25,10,5,40,116,5,9,0,25,5,5,4,25,9,9,4,54,113,5,10,100,146,0,0,1,111,100,0,135,113,6,0,111,75,91,41,130,113,0,0,0,16,113,0,1,113,0,0,132,0,0,113,38,113,16,1,121,113,3,0,1,89,109,0,119,0,171,0,1,113,0,0,78,111,71,0,56,113,113,111,168,148,0,0,82,111,75,0,135,113,8,0,111,0,0,0,119,0,122,0,1,113,0,0,85,76,113,0,1,111,0,0,109,76,4,111,1,113,0,0,109,76,8,113,135,10,17,0,14,0,0,0,48,113,100,10,244,146,0,0,1,89,112,0,119,0,151,0,35,113,10,11,121,113,8,0,83,72,10,0,120,10,3,0,0,5,76,0,119,0,24,0,0,5,76,0,1,89,117,0,119,0,21,0,25,113,10,16,38,113,113,240,0,9,113,0,1,113,0,0,132,0,0,113,135,5,7,0,102,9,0,0,130,113,0,0,0,89,113,0,1,113,0,0,132,0,0,113,38,113,89,1,121,113,3,0,1,89,84,0,119,0,127,0,85,76,5,0,20,113,9,101,85,44,113,0,85,45,10,0,1,89,117,0,32,113,89,117,121,113,4,0,1,89,0,0,135,113,18,0,5,14,10,0,1,111,0,0,95,5,10,111,1,111,0,0,132,0,0,111,1,113,102,0,135,111,6,0,113,74,11,12,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,124,0,119,0,102,0,1,111,0,0,132,0,0,111,1,113,103,0,1,114,0,0,1,112,0,0,135,111,6,0,113,50,114,112,130,111,0,0,0,15,111,0,1,111,0,0,132,0,0,111,38,111,15,1,121,111,3,0,1,89,124,0,119,0,87,0,1,111,0,0,132,0,0,111,116,91,50,0,106,112,50,4,109,91,4,112,1,111,6,0,135,112,9,0,111,49,2,16,74,91,0,0,130,112,0,0,0,16,112,0,1,112,0,0,132,0,0,112,38,112,16,1,121,112,3,0,1,89,124,0,119,0,70,0,1,112,0,0,132,0,0,112,0,5,91,0,0,9,49,0,25,10,5,40,116,5,9,0,25,5,5,4,25,9,9,4,54,112,5,10,76,148,0,0,1,111,100,0,135,112,6,0,111,76,91,41,130,112,0,0,0,16,112,0,1,112,0,0,132,0,0,112,38,112,16,1,121,112,3,0,1,89,124,0,119,0,49,0,1,112,0,0,78,111,72,0,56,112,112,111,168,148,0,0,82,111,76,0,135,112,8,0,111,0,0,0,25,17,17,4,78,112,93,0,34,112,112,0,121,112,4,0,82,111,92,0,135,112,8,0,111,0,0,0,78,112,95,0,34,112,112,0,121,112,4,0,82,111,94,0,135,112,8,0,111,0,0,0,78,112,96,0,34,112,112,0,121,112,4,0,82,111,97,0,135,112,8,0,111,0,0,0,78,112,98,0,34,112,112,0,121,112,4,0,82,111,99,0,135,112,8,0,111,0,0,0,82,112,17,0,33,112,112,0,120,112,44,252,135,112,31,0,18,0,0,0,121,6,4,0,1,5,1,0,1,89,220,0,119,0,8,0,1,5,1,0,25,8,8,4,45,112,8,20,72,149,0,0,1,89,220,0,119,0,2,0,119,0,11,252,1,112,11,0,1,111,210,0,138,89,112,111,164,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,232,152,0,0,244,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,0,153,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,24,153,0,0,36,153,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,48,153,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,84,153,0,0,160,152,0,0,96,153,0,0,160,152,0,0,160,152,0,0,160,152,0,0,140,153,0,0,152,153,0,0,164,153,0,0,176,153,0,0,188,153,0,0,160,152,0,0,200,153,0,0,212,153,0,0,224,153,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,84,154,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,120,154,0,0,160,152,0,0,160,152,0,0,164,154,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,200,154,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,244,154,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,24,155,0,0,36,155,0,0,160,152,0,0,80,155,0,0,92,155,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,104,155,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,140,155,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,176,155,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,160,152,0,0,220,155,0,0,119,0,210,0,135,5,4,0,78,112,52,0,34,112,112,0,121,112,4,0,82,111,91,0,135,112,8,0,111,0,0,0,78,112,80,0,34,112,112,0,121,112,4,0,82,111,79,0,135,112,8,0,111,0,0,0,135,112,28,0,78,0,0,0,1,89,18,0,119,0,193,0,135,5,4,0,1,89,31,0,119,0,190,0,135,5,4,0,1,89,18,0,119,0,187,0,1,114,0,0,135,111,20,0,114,0,0,0,135,112,21,0,111,0,0,0,119,0,181,0,135,5,4,0,1,89,34,0,119,0,178,0,135,5,4,0,1,89,34,0,119,0,175,0,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,73,0,0,1,112,0,0,132,0,0,112,1,89,74,0,119,0,166,0,135,5,4,0,1,89,214,0,119,0,163,0,135,5,4,0,78,112,54,0,34,112,112,0,121,112,6,0,82,111,73,0,135,112,8,0,111,0,0,0,1,89,77,0,119,0,154,0,1,89,77,0,119,0,152,0,135,5,4,0,1,89,208,0,119,0,149,0,135,5,4,0,1,89,208,0,119,0,146,0,135,5,4,0,1,89,208,0,119,0,143,0,135,5,4,0,1,89,208,0,119,0,140,0,135,5,4,0,1,89,208,0,119,0,137,0,135,5,4,0,1,89,97,0,119,0,134,0,135,5,4,0,1,89,95,0,119,0,131,0,135,5,4,0,78,112,65,0,34,112,112,0,121,112,4,0,82,111,64,0,135,112,8,0,111,0,0,0,78,112,67,0,34,112,112,0,121,112,4,0,82,111,66,0,135,112,8,0,111,0,0,0,78,112,69,0,34,112,112,0,121,112,4,0,82,111,68,0,135,112,8,0,111,0,0,0,78,112,70,0,34,112,112,0,121,112,6,0,82,111,91,0,135,112,8,0,111,0,0,0,1,89,95,0,119,0,104,0,1,89,95,0,119,0,102,0,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,75,0,0,1,112,0,0,132,0,0,112,1,89,84,0,119,0,93,0,135,5,4,0,78,112,71,0,34,112,112,0,121,112,6,0,82,111,75,0,135,112,8,0,111,0,0,0,1,89,208,0,119,0,84,0,1,89,208,0,119,0,82,0,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,76,0,0,1,112,0,0,132,0,0,112,1,89,84,0,119,0,73,0,135,5,4,0,78,112,72,0,34,112,112,0,121,112,6,0,82,111,76,0,135,112,8,0,111,0,0,0,1,89,208,0,119,0,64,0,1,89,208,0,119,0,62,0,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,91,0,0,1,112,0,0,132,0,0,112,1,89,157,0,119,0,53,0,135,5,4,0,1,89,171,0,119,0,50,0,135,5,4,0,78,112,55,0,34,112,112,0,121,112,6,0,82,111,77,0,135,112,8,0,111,0,0,0,1,89,171,0,119,0,41,0,1,89,171,0,119,0,39,0,135,5,4,0,1,89,163,0,119,0,36,0,135,5,4,0,1,89,163,0,119,0,33,0,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,86,0,0,1,112,0,0,132,0,0,112,1,89,84,0,119,0,24,0,1,112,0,0,132,0,0,112,1,111,172,1,135,112,1,0,111,91,0,0,1,112,0,0,132,0,0,112,1,89,194,0,119,0,15,0,135,5,4,0,78,112,63,0,34,112,112,0,121,112,6,0,82,111,91,0,135,112,8,0,111,0,0,0,1,89,197,0,119,0,6,0,1,89,197,0,119,0,4,0,137,84,0,0,139,5,0,0,119,0,1,0,32,112,89,18,121,112,6,0,1,111,144,64,135,112,29,0,97,111,0,0,1,89,31,0,119,0,88,0,32,112,89,34,121,112,24,0,1,112,92,64,85,97,112,0,1,112,132,64,85,90,112,0,1,112,112,64,85,53,112,0,1,112,208,63,85,78,112,0,78,112,80,0,34,112,112,0,121,112,4,0,82,111,79,0,135,112,8,0,111,0,0,0,135,112,28,0,78,0,0,0,1,111,144,64,135,112,29,0,97,111,0,0,135,112,30,0,90,0,0,0,1,89,37,0,119,0,63,0,32,112,89,74,121,112,4,0,135,5,4,0,1,89,77,0,119,0,58,0,32,112,89,84,121,112,4,0,135,5,4,0,1,89,208,0,119,0,53,0,32,112,89,95,121,112,11,0,78,112,83,0,34,112,112,0,121,112,6,0,82,111,85,0,135,112,8,0,111,0,0,0,1,89,97,0,119,0,43,0,1,89,97,0,119,0,41,0,45,112,89,107,212,156,0,0,135,5,4,0,1,89,173,0,119,0,36,0,1,112,163,0,45,112,89,112,80,157,0,0,78,112,57,0,34,112,112,0,121,112,4,0,82,111,56,0,135,112,8,0,111,0,0,0,78,112,59,0,34,112,112,0,121,112,4,0,82,111,58,0,135,112,8,0,111,0,0,0,78,112,61,0,34,112,112,0,121,112,4,0,82,111,60,0,135,112,8,0,111,0,0,0,78,112,62,0,34,112,112,0,121,112,6,0,82,111,74,0,135,112,8,0,111,0,0,0,1,89,171,0,119,0,7,0,1,89,171,0,119,0,5,0,45,112,89,109,96,157,0,0,135,5,4,0,1,89,197,0,32,112,89,31,121,112,5,0,135,112,30,0,90,0,0,0,1,89,37,0,119,0,42,0,32,112,89,77,121,112,11,0,78,112,81,0,34,112,112,0,121,112,6,0,82,111,88,0,135,112,8,0,111,0,0,0,1,89,214,0,119,0,32,0,1,89,214,0,119,0,30,0,32,112,89,97,121,112,3,0,1,89,208,0,119,0,26,0,1,112,171,0,45,112,89,112,236,157,0,0,78,112,87,0,34,112,112,0,121,112,6,0,82,111,91,0,135,112,8,0,111,0,0,0,1,89,173,0,119,0,15,0,1,89,173,0,119,0,13,0,1,112,197,0,45,112,89,112,28,158,0,0,78,112,82,0,34,112,112,0,121,112,6,0,82,111,86,0,135,112,8,0,111,0,0,0,1,89,208,0,119,0,2,0,1,89,208,0,32,112,89,37,121,112,3,0,0,48,5,0,119,0,5,0,1,112,173,0,45,112,89,112,60,158,0,0,1,89,208,0,1,112,208,0,45,112,89,112,156,158,0,0,78,112,93,0,34,112,112,0,121,112,4,0,82,111,92,0,135,112,8,0,111,0,0,0,78,112,95,0,34,112,112,0,121,112,4,0,82,111,94,0,135,112,8,0,111,0,0,0,78,112,96,0,34,112,112,0,121,112,6,0,82,111,97,0,135,112,8,0,111,0,0,0,1,89,214,0,119,0,2,0,1,89,214,0,1,112,214,0,45,112,89,112,172,158,0,0,0,48,5,0,1,112,0,0,78,111,98,0,49,112,112,111,196,158,0,0,135,112,11,0,48,0,0,0,82,111,99,0,135,112,8,0,111,0,0,0,135,112,11,0,48,0,0,0,1,112,0,0,139,112,0,0,140,3,44,0,0,0,0,0,2,35,0,0,255,1,0,0,2,36,0,0,62,1,0,0,2,37,0,0,255,0,0,0,2,38,0,0,0,0,0,128,1,33,0,0,136,39,0,0,0,13,39,0,136,39,0,0,1,40,208,1,3,39,39,40,137,39,0,0,0,29,13,0,1,39,188,1,3,32,13,39,1,39,184,1,3,10,13,39,1,39,144,1,3,22,13,39,1,39,216,0,3,34,13,39,1,39,164,0,3,31,13,39,25,30,13,124,25,26,13,112,25,27,13,76,25,23,13,64,25,24,13,40,1,39,176,0,3,21,13,39,1,39,152,0,3,28,13,39,25,25,13,100,25,11,13,88,25,12,13,56,1,39,228,0,3,5,0,39,1,39,232,0,3,3,0,39,82,39,3,0,82,40,5,0,4,39,39,40,42,39,39,3,0,6,39,0,25,40,0,76,135,39,32,0,40,6,0,0,82,4,3,0,1,39,236,0,94,39,0,39,45,39,4,39,208,159,0,0,135,39,33,0,5,2,0,0,119,0,9,0,0,18,2,0,106,19,18,4,0,20,4,0,116,20,18,0,109,20,4,19,82,39,3,0,25,39,39,8,85,3,39,0,25,9,1,36,1,39,64,1,3,3,0,39,82,4,3,0],eb+30720);HEAPU8.set([1,39,68,1,94,39,0,39,45,39,4,39,36,160,0,0,1,40,60,1,3,40,0,40,135,39,34,0,40,9,0,0,119,0,6,0,135,39,27,0,4,9,0,0,82,39,3,0,25,39,39,12,85,3,39,0,1,40,204,1,3,40,0,40,25,41,0,4,135,39,35,0,29,9,40,41,1,39,76,1,3,3,0,39,82,4,3,0,1,39,80,1,94,39,0,39,48,39,4,39,164,160,0,0,116,4,29,0,106,41,29,4,109,4,4,41,106,39,29,8,109,4,8,39,1,39,0,0,85,29,39,0,1,41,0,0,109,29,4,41,1,39,0,0,109,29,8,39,82,39,3,0,25,39,39,12,85,3,39,0,119,0,32,0,1,39,0,0,132,0,0,39,1,41,30,2,1,40,72,1,3,40,0,40,135,39,3,0,41,40,29,0,130,39,0,0,0,20,39,0,1,39,0,0,132,0,0,39,38,39,20,1,120,39,9,0,1,39,0,0,102,40,29,11,56,39,39,40,32,161,0,0,82,40,29,0,135,39,8,0,40,0,0,0,119,0,11,0,135,3,4,0,102,39,29,11,34,39,39,0,121,39,4,0,82,40,29,0,135,39,8,0,40,0,0,0,0,34,3,0,135,39,11,0,34,0,0,0,102,39,1,11,34,39,39,0,121,39,3,0,82,3,1,0,119,0,2,0,0,3,1,0,25,1,9,11,78,39,1,0,34,39,39,0,121,39,3,0,82,4,9,0,119,0,2,0,0,4,9,0,82,39,2,0,106,40,2,4,135,3,36,0,3,4,39,40,85,10,3,0,1,40,20,1,3,20,0,40,1,40,24,1,3,8,0,40,82,4,8,0,1,40,28,1,94,40,0,40,45,40,4,40,152,161,0,0,135,40,37,0,20,10,0,0,119,0,5,0,85,4,3,0,82,40,8,0,25,40,40,4,85,8,40,0,82,40,5,0,41,39,6,3,94,7,40,39,78,40,1,0,34,40,40,0,121,40,3,0,82,3,9,0,119,0,2,0,0,3,9,0,135,3,38,0,3,0,0,0,85,29,3,0,1,40,220,0,3,4,0,40,82,1,4,0,1,40,224,0,94,40,0,40,48,40,1,40,8,162,0,0,85,1,3,0,82,40,4,0,25,3,40,4,85,4,3,0,119,0,6,0,1,39,216,0,3,39,0,39,135,40,39,0,39,29,0,0,82,3,4,0,26,39,3,4,82,39,39,0,135,40,40,0,22,39,7,6,82,1,20,0,82,40,8,0,4,3,40,1,32,40,3,8,121,40,3,0,1,33,29,0,119,0,128,2,82,40,10,0,106,5,40,4,42,40,3,2,26,4,40,2,1,6,0,0,41,39,6,2,94,39,1,39,106,39,39,4,135,40,41,0,39,5,0,0,120,40,2,0,119,0,8,0,25,3,6,1,48,40,3,4,140,162,0,0,0,6,3,0,119,0,245,255,1,33,29,0,119,0,109,2,135,40,42,0,32,0,0,0,1,40,0,0,85,34,40,0,1,39,0,0,109,34,4,39,1,40,0,0,109,34,8,40,1,40,0,0,132,0,0,40,1,40,32,0,135,3,7,0,36,40,0,0,130,40,0,0,0,19,40,0,1,40,0,0,132,0,0,40,38,40,19,1,121,40,3,0,135,3,4,0,119,0,82,2,85,34,3,0,2,39,0,0,32,0,0,128,109,34,8,39,1,40,31,0,109,34,4,40,0,4,3,0,2,1,0,0,70,139,0,0,25,5,4,31,78,40,1,0,83,4,40,0,25,4,4,1,25,1,1,1,54,40,4,5,16,163,0,0,1,39,0,0,107,3,31,39,25,12,6,2,1,39,254,255,48,39,6,39,64,170,0,0,25,19,27,11,25,15,24,11,25,14,23,11,25,7,23,4,25,13,29,11,25,8,29,4,25,16,31,11,25,17,30,11,25,18,26,11,25,9,24,8,25,2,24,4,25,10,27,8,25,11,27,4,1,6,1,0,82,39,20,0,41,40,6,2,94,39,39,40,106,1,39,4,1,39,0,0,85,27,39,0,1,40,0,0,109,27,4,40,1,39,0,0,109,27,8,39,135,5,17,0,1,0,0,0,1,39,239,255,48,39,39,5,188,163,0,0,1,33,40,0,119,0,30,1,35,39,5,11,121,39,8,0,83,19,5,0,120,5,3,0,0,3,27,0,119,0,24,0,0,3,27,0,1,33,45,0,119,0,21,0,25,39,5,16,38,39,39,240,0,4,39,0,1,39,0,0,132,0,0,39,135,3,7,0,36,4,0,0,130,39,0,0,0,33,39,0,1,39,0,0,132,0,0,39,38,39,33,1,121,39,3,0,1,33,74,0,119,0,6,1,85,27,3,0,20,39,4,38,85,10,39,0,85,11,5,0,1,33,45,0,32,39,33,45,121,39,4,0,1,33,0,0,135,39,18,0,3,1,5,0,1,40,0,0,95,3,5,40,1,40,0,0,132,0,0,40,1,39,17,0,135,40,10,0,39,26,27,32,32,0,0,0,130,40,0,0,0,5,40,0,1,40,0,0,132,0,0,40,38,40,5,1,121,40,3,0,1,33,75,0,119,0,236,0,1,40,0,0,132,0,0,40,1,40,43,0,1,39,0,0,2,41,0,0,102,139,0,0,135,3,2,0,40,26,39,41,130,41,0,0,0,5,41,0,1,41,0,0,132,0,0,41,38,41,5,1,121,41,3,0,1,33,76,0,119,0,220,0,116,30,3,0,106,39,3,4,109,30,4,39,106,41,3,8,109,30,8,41,1,41,0,0,85,3,41,0,1,39,0,0,109,3,4,39,1,41,0,0,109,3,8,41,1,41,0,0,132,0,0,41,1,41,223,3,2,39,0,0,108,139,0,0,135,3,23,0,41,30,39,0,130,39,0,0,0,5,39,0,1,39,0,0,132,0,0,39,38,39,5,1,121,39,3,0,1,33,77,0,119,0,194,0,116,31,3,0,106,41,3,4,109,31,4,41,106,39,3,8,109,31,8,39,1,39,0,0,85,3,39,0,1,41,0,0,109,3,4,41,1,39,0,0,109,3,8,39,25,6,6,1,82,39,20,0,41,41,6,2,94,39,39,41,106,1,39,4,1,39,0,0,85,24,39,0,1,41,0,0,109,24,4,41,1,39,0,0,109,24,8,39,135,5,17,0,1,0,0,0,1,39,239,255,48,39,39,5,160,165,0,0,1,33,50,0,119,0,165,0,35,39,5,11,121,39,8,0,83,15,5,0,120,5,3,0,0,3,24,0,119,0,24,0,0,3,24,0,1,33,55,0,119,0,21,0,25,39,5,16,38,39,39,240,0,4,39,0,1,39,0,0,132,0,0,39,135,3,7,0,36,4,0,0,130,39,0,0,0,33,39,0,1,39,0,0,132,0,0,39,38,39,33,1,121,39,3,0,1,33,78,0,119,0,141,0,85,24,3,0,20,39,4,38,85,9,39,0,85,2,5,0,1,33,55,0,32,39,33,55,121,39,4,0,1,33,0,0,135,39,18,0,3,1,5,0,1,41,0,0,95,3,5,41,1,41,0,0,132,0,0,41,1,39,17,0,135,41,10,0,39,23,24,32,32,0,0,0,130,41,0,0,0,5,41,0,1,41,0,0,132,0,0,41,38,41,5,1,121,41,3,0,1,33,79,0,119,0,115,0,78,3,14,0,41,41,3,24,42,41,41,24,34,5,41,0,1,41,0,0,132,0,0,41,1,41,41,0,121,5,4,0,82,40,23,0,0,39,40,0,119,0,2,0,0,39,23,0,121,5,4,0,82,42,7,0,0,40,42,0,119,0,3,0,19,42,3,37,0,40,42,0,135,3,2,0,41,31,39,40,130,40,0,0,0,5,40,0,1,40,0,0,132,0,0,40,38,40,5,1,121,40,3,0,1,33,80,0,119,0,87,0,116,29,3,0,106,39,3,4,109,29,4,39,106,40,3,8,109,29,8,40,1,40,0,0,85,3,40,0,1,39,0,0,109,3,4,39,1,40,0,0,109,3,8,40,78,5,13,0,41,40,5,24,42,40,40,24,34,1,40,0,1,40,0,0,132,0,0,40,1,39,41,0,121,1,4,0,82,42,29,0,0,41,42,0,119,0,2,0,0,41,29,0,121,1,4,0,82,43,8,0,0,42,43,0,119,0,3,0,19,43,5,37,0,42,43,0,135,40,2,0,39,34,41,42,130,40,0,0,0,5,40,0,1,40,0,0,132,0,0,40,38,40,5,1,121,40,3,0,1,33,81,0,119,0,48,0,78,40,13,0,34,40,40,0,121,40,4,0,82,42,29,0,135,40,8,0,42,0,0,0,78,40,14,0,34,40,40,0,121,40,4,0,82,42,23,0,135,40,8,0,42,0,0,0,78,40,15,0,34,40,40,0,121,40,4,0,82,42,24,0,135,40,8,0,42,0,0,0,78,40,16,0,34,40,40,0,121,40,4,0,82,42,31,0,135,40,8,0,42,0,0,0,78,40,17,0,34,40,40,0,121,40,4,0,82,42,30,0,135,40,8,0,42,0,0,0,78,40,18,0,34,40,40,0,121,40,4,0,82,42,26,0,135,40,8,0,42,0,0,0,78,40,19,0,34,40,40,0,121,40,4,0,82,42,27,0,135,40,8,0,42,0,0,0,50,40,12,6,44,168,0,0,1,33,37,0,119,0,135,0,119,0,211,254,32,40,33,40,121,40,10,0,1,40,0,0,132,0,0,40,1,42,172,1,135,40,1,0,42,27,0,0,1,40,0,0,132,0,0,40,1,33,74,0,119,0,49,0,32,40,33,50,121,40,10,0,1,40,0,0,132,0,0,40,1,42,172,1,135,40,1,0,42,24,0,0,1,40,0,0,132,0,0,40,1,33,78,0,119,0,38,0,32,40,33,75,121,40,4,0,135,3,4,0,1,33,93,0,119,0,33,0,32,40,33,76,121,40,4,0,135,3,4,0,1,33,91,0,119,0,28,0,32,40,33,77,121,40,4,0,135,3,4,0,1,33,89,0,119,0,23,0,32,40,33,79,121,40,4,0,135,3,4,0,1,33,85,0,119,0,18,0,32,40,33,80,121,40,4,0,135,3,4,0,1,33,83,0,119,0,13,0,32,40,33,81,121,40,11,0,135,3,4,0,78,40,13,0,34,40,40,0,121,40,6,0,82,42,29,0,135,40,8,0,42,0,0,0,1,33,83,0,119,0,2,0,1,33,83,0,32,40,33,74,121,40,3,0,135,3,4,0,119,0,17,0,32,40,33,78,121,40,4,0,135,3,4,0,1,33,87,0,119,0,12,0,32,40,33,83,121,40,10,0,78,40,14,0,34,40,40,0,121,40,6,0,82,42,23,0,135,40,8,0,42,0,0,0,1,33,85,0,119,0,2,0,1,33,85,0,32,40,33,85,121,40,10,0,78,40,15,0,34,40,40,0,121,40,6,0,82,42,24,0,135,40,8,0,42,0,0,0,1,33,87,0,119,0,2,0,1,33,87,0,32,40,33,87,121,40,10,0,78,40,16,0,34,40,40,0,121,40,6,0,82,42,31,0,135,40,8,0,42,0,0,0,1,33,89,0,119,0,2,0,1,33,89,0,32,40,33,89,121,40,10,0,78,40,17,0,34,40,40,0,121,40,6,0,82,42,30,0,135,40,8,0,42,0,0,0,1,33,91,0,119,0,2,0,1,33,91,0,32,40,33,91,121,40,10,0,78,40,18,0,34,40,40,0,121,40,6,0,82,42,26,0,135,40,8,0,42,0,0,0,1,33,93,0,119,0,2,0,1,33,93,0,32,40,33,93,121,40,9,0,78,40,19,0,34,40,40,0,121,40,6,0,82,42,27,0,135,40,8,0,42,0,0,0,119,0,2,0,1,33,37,0,32,40,33,37,121,40,115,0,1,40,84,0,135,9,43,0,40,0,0,0,0,4,21,0,0,1,22,0,25,5,4,40,116,4,1,0,25,4,4,4,25,1,1,4,54,40,4,5,100,170,0,0,1,40,0,0,132,0,0,40,1,42,44,1,3,42,0,42,135,40,3,0,35,28,42,0,130,40,0,0,0,31,40,0,1,40,0,0,132,0,0,40,38,40,31,1,121,40,3,0,135,3,4,0,119,0,88,0,1,40,0,0,132,0,0,40,1,42,203,1,135,40,3,0,42,25,34,0,130,40,0,0,0,31,40,0,1,40,0,0,132,0,0,40,38,40,31,1,121,40,6,0,135,3,4,0,1,8,1,0,128,40,0,0,0,1,40,0,119,0,45,0,1,40,0,0,132,0,0,40,0,4,29,0,0,1,21,0,25,5,4,40,116,4,1,0,25,4,4,4,25,1,1,4,54,40,4,5,4,171,0,0,1,42,18,0,135,40,10,0,42,9,29,28,25,0,0,0,130,40,0,0,0,31,40,0,1,40,0,0,132,0,0,40,38,40,31,1,121,40,3,0,1,4,1,0,119,0,11,0,1,40,0,0,132,0,0,40,1,42,77,0,1,41,144,9,1,39,181,0,135,40,6,0,42,9,41,39,1,40,0,0,132,0,0,40,1,4,0,0,135,3,4,0,128,40,0,0,0,1,40,0,102,40,25,11,34,40,40,0,121,40,6,0,82,39,25,0,135,40,8,0,39,0,0,0,0,8,4,0,119,0,2,0,0,8,4,0,82,4,28,0,120,4,3,0,121,8,27,0,119,0,24,0,25,7,28,4,82,5,7,0,46,40,5,4,252,171,0,0,26,6,5,52,85,7,6,0,26,5,5,12,102,40,5,11,34,40,40,0,121,40,6,0,82,39,5,0,135,40,8,0,39,0,0,0,82,5,7,0,119,0,2,0,0,5,6,0,53,40,5,4,192,171,0,0,82,4,28,0,135,40,8,0,4,0,0,0,120,8,2,0,119,0,3,0,135,40,44,0,9,0,0,0,102,40,34,11,34,40,40,0,121,40,4,0,82,39,34,0,135,40,8,0,39,0,0,0,102,40,32,11,34,40,40,0,121,40,4,0,82,39,32,0,135,40,8,0,39,0,0,0,32,40,33,29,121,40,192,1,1,39,44,1,3,39,0,39,135,40,45,0,11,39,0,0,1,40,0,0,132,0,0,40,0,4,29,0,0,1,22,0,25,5,4,40,116,4,1,0,25,4,4,4,25,1,1,4,54,40,4,5,112,172,0,0,1,39,12,0,1,41,0,0,135,40,15,0,39,34,7,0,11,29,41,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,28,0,135,3,4,0,128,40,0,0,0,6,40,0,82,4,11,0,121,4,162,1,25,7,11,4,82,1,7,0,46,40,1,4,16,173,0,0,26,5,1,52,85,7,5,0,26,1,1,12,102,40,1,11,34,40,40,0,121,40,6,0,82,41,1,0,135,40,8,0,41,0,0,0,82,1,7,0,119,0,2,0,0,1,5,0,53,40,1,4,212,172,0,0,82,4,11,0,135,40,8,0,4,0,0,0,119,0,140,1,82,3,11,0,121,3,22,0,25,5,11,4,82,4,5,0,46,40,4,3,112,173,0,0,26,1,4,52,85,5,1,0,26,4,4,12,102,40,4,11,34,40,40,0,121,40,6,0,82,41,4,0,135,40,8,0,41,0,0,0,82,4,5,0,119,0,2,0,0,4,1,0,53,40,4,3,52,173,0,0,82,3,11,0,135,40,8,0,3,0,0,0,1,40,0,0,132,0,0,40,1,41,67,1,82,39,10,0,135,40,7,0,41,39,0,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,3,0,1,33,167,0,119,0,36,1,1,40,0,0,132,0,0,40,1,39,68,1,82,41,10,0,135,40,7,0,39,41,0,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,3,0,1,33,167,0,119,0,22,1,1,40,0,0,132,0,0,40,1,41,31,2,135,40,3,0,41,31,34,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,5,0,135,3,4,0,128,40,0,0,0,4,40,0,119,0,6,1,1,40,0,0,132,0,0,40,1,41,178,1,82,39,8,0,26,39,39,4,82,39,39,0,135,40,1,0,41,39,0,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,5,0,135,3,4,0,128,40,0,0,0,4,40,0,119,0,242,0,82,40,8,0,26,40,40,4,85,8,40,0,1,40,0,0,132,0,0,40,1,39,206,1,106,41,31,4,135,40,3,0,39,12,41,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,6,0,135,3,4,0,128,40,0,0,0,4,40,0,1,33,175,0,119,0,222,0,1,40,112,28,85,12,40,0,0,27,2,0,106,28,27,4,0,3,29,0,116,3,27,0,109,3,4,28,25,3,29,8,1,40,0,0,132,0,0,40,1,41,206,1,106,39,12,4,135,40,3,0,41,3,39,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,5,0,135,3,4,0,128,40,0,0,0,4,40,0,119,0,195,0,1,40,112,28,85,3,40,0,1,40,0,0,132,0,0,40,1,39,203,1,135,40,3,0,39,30,9,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,5,0,135,3,4,0,128,40,0,0,0,4,40,0,119,0,175,0,0,27,29,0,106,28,27,4,25,3,30,12,116,3,27,0,109,3,4,28,25,3,30,20,1,40,0,0,132,0,0,40,1,39,206,1,106,41,29,12,135,40,3,0,39,3,41,0,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,121,40,12,0,135,3,4,0,128,40,0,0,0,4,40,0,1,40,0,0,102,41,30,11,56,40,40,41,24,178,0,0,82,41,30,0,135,40,8,0,41,0,0,0,119,0,146,0,1,40,112,28,85,3,40,0,25,41,29,8,135,40,5,0,41,0,0,0,135,40,5,0,12,0,0,0,1,40,240,0,3,1,0,40,1,40,0,0,132,0,0,40,1,40,45,0,135,5,2,0,40,1,29,30,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,120,40,112,0,82,40,5,0,120,40,34,0,1,40,0,0,132,0,0,40,1,41,98,0,135,40,6,0,41,32,1,30,130,40,0,0,0,28,40,0,1,40,0,0,132,0,0,40,38,40,28,1,120,40,99,0,82,4,29,0,82,3,32,0,1,40,0,0,85,3,40,0,1,41,0,0,109,3,4,41,109,3,8,4,85,5,3,0,82,41,1,0,82,4,41,0,121,4,3,0,85,1,4,0,82,3,5,0,1,40,244,0,94,40,0,40,135,41,46,0,40,3,0,0,1,41,248,0,3,33,0,41,82,41,33,0,25,41,41,1,85,33,41,0,25,40,30,20,135,41,5,0,40,0,0,0,102,41,30,11,34,41,41,0,121,41,4,0,82,40,30,0,135,41,8,0,40,0,0,0,135,41,5,0,31,0,0,0,1,41,148,0,3,5,34,41,82,3,5,0,121,3,23,0,1,41,152,0,3,6,34,41,82,4,6,0,46,41,4,3,60,177,0,0,26,1,4,52,85,6,1,0,26,4,4,12,102,41,4,11,34,41,41,0,121,41,6,0,82,40,4,0,135,41,8,0,40,0,0,0,82,4,6,0,119,0,2,0,0,4,1,0,53,41,4,3,0,177,0,0,82,3,5,0,135,41,8,0,3,0,0,0,106,3,34,56,121,3,14,0,25,4,34,60,82,1,4,0,46,41,1,3,120,177,0,0,26,41,1,4,4,41,41,3,43,41,41,2,11,41,41,0,41,41,41,2,3,41,1,41,85,4,41,0,135,41,8,0,3,0,0,0,25,5,34,44,82,3,5,0,120,3,3,0,137,13,0,0,139,0,0,0,25,1,34,48,82,4,1,0,46,41,4,3,208,177,0,0,26,34,4,8,85,1,34,0,82,40,34,0,82,40,40,0,19,40,40,35,135,41,14,0,40,34,0,0,82,4,1,0,53,41,4,3,164,177,0,0,82,3,5,0,135,41,8,0,3,0,0,0,137,13,0,0,139,0,0,0,135,3,4,0,128,41,0,0,0,4,41,0,25,40,30,20,135,41,5,0,40,0,0,0,1,41,0,0,102,40,30,11,56,41,41,40,48,178,0,0,82,40,30,0,135,41,8,0,40,0,0,0,119,0,7,0,25,40,29,8,135,41,5,0,40,0,0,0,135,41,5,0,12,0,0,0,1,33,175,0,135,41,5,0,31,0,0,0,0,8,4,0,1,41,167,0,45,41,33,41,84,178,0,0,135,3,4,0,128,41,0,0,0,8,41,0,1,41,148,0,3,6,34,41,82,4,6,0,121,4,23,0,1,41,152,0,3,7,34,41,82,1,7,0,46,41,1,4,180,178,0,0,26,5,1,52,85,7,5,0,26,1,1,12,102,41,1,11,34,41,41,0,121,41,6,0,82,40,1,0,135,41,8,0,40,0,0,0,82,1,7,0,119,0,2,0,0,1,5,0,53,41,1,4,120,178,0,0,82,4,6,0,135,41,8,0,4,0,0,0,106,4,34,56,121,4,14,0,25,1,34,60,82,5,1,0,46,41,5,4,240,178,0,0,26,41,5,4,4,41,41,4,43,41,41,2,11,41,41,0,41,41,41,2,3,41,5,41,85,1,41,0,135,41,8,0,4,0,0,0,25,6,34,44,82,4,6,0,121,4,18,0,25,5,34,48,82,1,5,0,46,41,1,4,64,179,0,0,26,34,1,8,85,5,34,0,82,40,34,0,82,40,40,0,19,40,40,35,135,41,14,0,40,34,0,0,82,1,5,0,53,41,1,4,20,179,0,0,82,4,6,0,135,41,8,0,4,0,0,0,0,34,3,0,135,41,11,0,34,0,0,0,139,0,0,0,140,3,37,0,0,0,0,0,2,30,0,0,206,1,0,0,2,31,0,0,0,28,0,0,2,32,0,0,174,1,0,0,1,27,0,0,136,33,0,0,0,25,33,0,136,33,0,0,1,34,0,1,3,33,33,34,137,33,0,0,1,33,208,0,3,21,25,33,1,33,168,0,3,3,25,33,1,33,156,0,3,19,25,33,1,33,144,0,3,6,25,33,1,33,136,0,3,26,25,33,25,4,25,88,25,10,25,80,25,11,25,72,25,12,25,64,25,13,25,56,1,33,128,0,3,18,25,33,25,14,25,48,25,15,25,40,25,16,25,32,25,17,25,24,25,22,25,16,25,23,25,8,0,24,25,0,1,33,164,0,3,28,1,33,82,29,28,0,25,20,29,1,85,28,20,0,1,33,0,2,48,33,33,20,12,182,0,0,1,33,84,0,135,10,43,0,33,0,0,0,0,7,3,0,25,8,1,108,25,9,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,33,7,9,44,180,0,0,1,33,0,0,132,0,0,33,1,34,255,1,1,35,148,0,3,35,1,35,135,33,3,0,34,19,35,0,130,33,0,0,0,27,33,0,1,33,0,0,132,0,0,33,38,33,27,1,121,33,3,0,135,3,4,0,119,0,95,0,1,33,0,0,132,0,0,33,1,35,203,1,2,34,0,0,20,57,1,0,135,33,3,0,35,6,34,0,130,33,0,0,0,27,33,0,1,33,0,0,132,0,0,33,38,33,27,1,121,33,6,0,135,3,4,0,128,33,0,0,0,9,33,0,1,5,1,0,119,0,45,0,1,33,0,0,132,0,0,33,0,7,21,0,0,8,3,0,25,9,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,33,7,9,216,180,0,0,1,34,28,0,135,33,10,0,34,10,21,19,6,0,0,0,130,33,0,0,0,27,33,0,1,33,0,0,132,0,0,33,38,33,27,1,121,33,3,0,1,5,1,0,119,0,11,0,1,33,0,0,132,0,0,33,1,34,77,0,1,35,0,13,1,36,181,0,135,33,6,0,34,10,35,36,1,33,0,0,132,0,0,33,1,5,0,0,135,3,4,0,128,33,0,0,0,4,33,0,102,33,6,11,34,33,33,0,121,33,6,0,82,36,6,0,135,33,8,0,36,0,0,0,0,9,4,0,119,0,2,0,0,9,4,0,82,4,19,0,120,4,5,0,120,5,30,0,85,28,29,0,135,33,11,0,3,0,0,0,25,8,19,4,82,6,8,0,46,33,6,4,216,181,0,0,26,7,6,52,85,8,7,0,26,6,6,12,102,33,6,11,34,33,33,0,121,33,6,0,82,36,6,0,135,33,8,0,36,0,0,0,82,6,8,0,119,0,2,0,0,6,7,0,53,33,6,4,156,181,0,0,82,4,19,0,135,33,8,0,4,0,0,0,120,5,5,0,0,27,3,0,85,28,29,0,135,33,11,0,27,0,0,0,135,33,44,0,10,0,0,0,0,27,3,0,85,28,29,0,135,33,11,0,27,0,0,0,1,33,0,0,132,0,0,33,106,36,1,48,26,36,36,4,82,36,36,0,135,33,3,0,30,26,36,0,130,33,0,0,0,20,33,0,1,33,0,0,132,0,0,33,38,33,20,1,121,33,3,0,135,3,4,0,119,0,51,2,1,33,112,28,85,26,33,0,106,3,26,4,120,3,3,0,1,19,0,0,119,0,2,0,102,19,3,84,1,33,0,0,132,0,0,33,1,36,138,0,1,35,0,0,1,34,1,0,135,33,2,0,36,1,35,34,130,33,0,0,0,20,33,0,1,33,0,0,132,0,0,33,38,33,20,1,121,33,3,0,1,27,36,0,119,0,24,2,1,33,0,0,132,0,0,33,1,33,62,1,1,34,84,0,135,5,7,0,33,34,0,0,130,34,0,0,0,20,34,0,1,34,0,0,132,0,0,34,38,34,20,1,121,34,3,0,1,27,36,0,119,0,10,2,25,20,1,108,0,7,4,0,0,8,20,0,25,9,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,34,7,9,232,182,0,0,1,34,0,0,132,0,0,34,1,33,0,0,135,34,3,0,30,10,33,0,130,34,0,0,0,9,34,0,1,34,0,0,132,0,0,34,38,34,9,1,121,34,3,0,135,3,4,0,119,0,242,1,85,10,31,0,1,34,0,0,132,0,0,34,1,33,0,0,135,34,3,0,30,11,33,0,130,34,0,0,0,9,34,0,1,34,0,0,132,0,0,34,38,34,9,1,121,34,5,0,135,3,4,0,135,34,5,0,10,0,0,0,119,0,226,1,1,34,112,28,85,11,34,0,1,34,0,0,132,0,0,34,0,7,21,0,0,8,4,0,25,9,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,34,7,9,140,183,0,0,1,33,38,0,135,34,10,0,33,5,21,10,11,0,0,0,130,34,0,0,0,9,34,0,1,34,0,0,132,0,0,34,38,34,9,1,121,34,3,0,1,4,1,0,119,0,195,1,1,34,0,0,132,0,0,34,135,34,3,0,30,0,5,0,130,34,0,0,0,9,34,0,1,34,0,0,132,0,0,34,38,34,9,1,121,34,3,0,1,4,0,0,119,0,183,1,1,34,24,67,85,0,34,0,135,34,5,0,11,0,0,0,135,34,5,0,10,0,0,0,102,34,2,12,120,34,203,0,1,34,0,0,132,0,0,34,1,34,62,1,1,33,112,0,135,3,7,0,34,33,0,0,130,33,0,0,0,13,33,0,1,33,0,0,132,0,0,33,38,33,13,1,121,33,3,0,1,27,57,0,119,0,185,0,1,33,0,0,132,0,0,33,0,7,21,0,0,8,20,0,25,9,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,33,7,9,108,184,0,0,1,34,84,0,1,35,0,0,135,33,6,0,34,3,21,35,130,33,0,0,0,13,33,0,1,33,0,0,132,0,0,33,38,33,13,1,121,33,6,0,135,25,4,0,135,33,8,0,3,0,0,0,0,3,25,0,119,0,160,0,1,33,0,0,132,0,0,33,135,33,3,0,30,18,3,0,130,33,0,0,0,13,33,0,1,33,0,0,132,0,0,33,38,33,13,1,121,33,3,0,1,27,57,0,119,0,148,0,85,18,31,0,25,5,18,4,82,3,5,0,1,33,0,0,132,0,0,33,1,35,35,0,106,34,2,8,1,36,0,0,135,33,10,0,35,15,1,34,36,0,0,0,130,33,0,0,0,2,33,0,1,33,0,0,132,0,0,33,38,33,2,1,121,33,3,0,1,27,59,0,119,0,124,0,25,4,3,92,25,3,3,96,82,33,3,0,120,33,3,0,1,27,49,0,119,0,13,0,1,33,0,0,132,0,0,33,1,36,173,1,135,33,1,0,36,4,0,0,130,33,0,0,0,2,33,0,1,33,0,0,132,0,0,33,38,33,2,1,120,33,2,0,1,27,49,0,32,33,27,49,121,33,101,0,25,33,15,4,116,3,33,0,1,33,0,0,132,0,0,33,135,33,1,0,32,4,0,0,130,33,0,0,0,2,33,0,1,33,0,0,132,0,0,33,38,33,2,1,120,33,89,0,1,33,0,0,132,0,0,33,82,36,3,0,135,33,3,0,30,14,36,0,130,33,0,0,0,2,33,0,1,33,0,0,132,0,0,33,38,33,2,1,120,33,78,0,1,33,68,63,85,14,33,0,135,33,5,0,14,0,0,0,135,33,5,0,15,0,0,0,106,3,0,4,1,33,0,0,132,0,0,33,82,36,5,0,135,33,3,0,30,17,36,0,130,33,0,0,0,15,33,0,1,33,0,0,132,0,0,33,38,33,15,1,121,33,3,0,1,27,59,0,119,0,61,0,85,17,31,0,25,4,3,72,25,3,3,76,82,33,3,0,120,33,3,0,1,27,54,0,119,0,13,0,1,33,0,0,132,0,0,33,1,36,173,1,135,33,1,0,36,4,0,0,130,33,0,0,0,15,33,0,1,33,0,0,132,0,0,33,38,33,15,1,120,33,2,0,1,27,54,0,32,33,27,54,121,33,33,0,25,33,17,4,116,3,33,0,1,33,0,0,132,0,0,33,135,33,1,0,32,4,0,0,130,33,0,0,0,15,33,0,1,33,0,0,132,0,0,33,38,33,15,1,120,33,21,0,1,33,0,0,132,0,0,33,82,36,3,0,135,33,3,0,30,16,36,0,130,33,0,0,0,15,33,0,1,33,0,0,132,0,0,33,38,33,15,1,120,33,10,0,85,16,31,0,135,33,5,0,16,0,0,0,135,33,5,0,17,0,0,0,135,33,5,0,18,0,0,0,1,27,64,0,119,0,85,0,135,3,4,0,135,33,5,0,17,0,0,0,119,0,4,0,135,3,4,0,135,33,5,0,15,0,0,0,32,33,27,59,121,33,2,0,135,3,4,0,135,33,5,0,18,0,0,0,32,33,27,57,121,33,71,0,135,3,4,0,119,0,69,0,106,3,0,4,1,33,0,0,132,0,0,33,1,36,111,0,1,34,0,0,135,33,6,0,36,13,1,34,130,33,0,0,0,18,33,0,1,33,0,0,132,0,0,33,38,33,18,1,121,33,3,0,1,27,41,0,119,0,54,0,25,4,3,72,25,3,3,76,82,33,3,0,120,33,3,0,1,27,32,0,119,0,13,0,1,33,0,0,132,0,0,33,1,34,173,1,135,33,1,0,34,4,0,0,130,33,0,0,0,18,33,0,1,33,0,0,132,0,0,33,38,33,18,1,120,33,2,0,1,27,32,0,32,33,27,32,121,33,31,0,25,33,13,4,116,3,33,0,1,33,0,0,132,0,0,33,135,33,1,0,32,4,0,0,130,33,0,0,0,18,33,0,1,33,0,0,132,0,0,33,38,33,18,1,120,33,19,0,1,33,0,0,132,0,0,33,82,34,3,0,135,33,3,0,30,12,34,0,130,33,0,0,0,18,33,0,1,33,0,0,132,0,0,33,38,33,18,1,120,33,8,0,85,12,31,0,135,33,5,0,12,0,0,0,135,33,5,0,13,0,0,0,1,27,64,0,119,0,4,0,135,3,4,0,135,33,5,0,13,0,0,0,32,33,27,64,121,33,153,0,1,33,6,0,85,21,33,0,25,6,1,60,82,3,6,0,106,33,1,64,48,33,3,33,144,188,0,0,1,33,6,0,85,3,33,0,25,33,3,4,85,6,33,0,119,0,15,0,1,33,0,0,132,0,0,33,1,34,62,2,25,36,1,56,135,33,3,0,34,36,21,0,130,33,0,0,0,21,33,0,1,33,0,0,132,0,0,33,38,33,21,1,121,33,3,0,135,3,4,0,119,0,127,0,25,5,0,4,82,3,5,0,1,33,0,0,132,0,0,33,1,36,123,0,1,34,0,0,135,33,6,0,36,23,1,34,130,33,0,0,0,1,33,0,1,33,0,0,132,0,0,33,38,33,1,1,121,33,3,0,1,27,41,0,119,0,111,0,25,4,3,64,25,3,3,68,82,33,3,0,120,33,3,0,1,27,70,0,119,0,13,0,1,33,0,0,132,0,0,33,1,34,173,1,135,33,1,0,34,4,0,0,130,33,0,0,0,1,33,0,1,33,0,0,132,0,0,33,38,33,1,1,120,33,2,0,1,27,70,0,32,33,27,70,121,33,88,0,25,33,23,4,116,3,33,0,1,33,0,0,132,0,0,33,135,33,1,0,32,4,0,0,130,33,0,0,0,1,33,0,1,33,0,0,132,0,0,33,38,33,1,1,120,33,76,0,1,33,0,0,132,0,0,33,82,34,3,0,135,33,3,0,30,22,34,0,130,33,0,0,0,1,33,0,1,33,0,0,132,0,0,33,38,33,1,1,120,33,65,0,1,33,112,28,85,22,33,0,135,33,5,0,22,0,0,0,135,33,5,0,23,0,0,0,82,33,6,0,26,33,33,4,85,6,33,0,1,33,0,0,132,0,0,33,1,34,63,2,82,36,5,0,135,33,3,0,34,36,20,0,130,33,0,0,0,23,33,0,1,33,0,0,132,0,0,33,38,33,23,1,121,33,3,0,1,27,41,0,119,0,45,0,1,33,0,0,132,0,0,33,82,36,5,0,106,36,36,68,135,33,3,0,30,24,36,0,130,33,0,0,0,23,33,0,1,33,0,0,132,0,0,33,38,33,23,1,121,33,3,0,1,27,41,0,119,0,31,0,1,33,112,28,85,24,33,0,1,33,0,0,132,0,0,33,1,36,63,2,106,34,24,4,135,33,3,0,36,34,20,0,130,33,0,0,0,23,33,0,1,33,0,0,132,0,0,33,38,33,23,1,121,33,5,0,135,3,4,0,135,33,5,0,24,0,0,0,119,0,13,0,135,33,5,0,24,0,0,0,82,33,5,0,107,33,80,19,135,33,5,0,26,0,0,0,85,28,29,0,137,25,0,0,139,0,0,0,135,3,4,0,135,33,5,0,23,0,0,0,32,33,27,41,121,33,2,0,135,3,4,0,135,33,5,0,0,0,0,0,119,0,10,0,135,3,4,0,135,33,5,0,11,0,0,0,135,33,5,0,10,0,0,0,120,4,2,0,119,0,3,0,135,33,8,0,5,0,0,0,32,33,27,36,121,33,2,0,135,3,4,0,135,33,5,0,26,0,0,0,0,27,3,0,85,28,29,0,135,33,11,0,27,0,0,0,139,0,0,0,140,4,29,0,0,0,0,0,2,22,0,0,244,200,0,0,2,23,0,0,255,0,0,0,2,24,0,0,221,198,0,0,1,16,0,0,136,25,0,0,0,17,25,0,136,25,0,0,1,26,0,1,3,25,25,26,137,25,0,0,1,25,208,0,3,15,17,25,1,25,196,0,3,19,17,25,25,14,17,40,1,25,184,0,3,13,17,25,25,8,17,24,25,7,17,12,0,18,17,0,135,25,47,0,19,1,2,0,25,6,19,4,82,5,19,0,82,25,6,0,4,4,25,5,1,25,1,0,28,26,4,52,48,25,25,26,104,198,0,0,25,12,14,64,25,4,14,8,1,25,112,64,85,4,25,0,25,11,14,12,1,25,236,8,85,14,25,0,1,25,0,9,85,12,25,0,1,26,0,0,109,14,4,26,1,26,0,0,132,0,0,26,1,25,19,2,25,27,14,64,135,26,3,0,25,27,11,0,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,4,0,135,4,4,0,1,16,25,0,119,0,139,1,1,26,136,0,1,27,0,0,97,14,26,27,1,27,140,0,1,26,255,255,97,14,27,26,1,26,92,64,85,14,26,0,1,26,132,64,85,12,26,0,1,26,112,64,85,4,26,0,1,26,0,0,132,0,0,26,1,27,181,1,135,26,1,0,27,11,0,0,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,3,0,135,4,4,0,119,0,110,1,1,26,208,63,85,11,26,0,25,8,14,44,1,26,0,0,85,8,26,0,1,27,0,0,109,8,4,27,1,26,0,0,109,8,8,26,1,27,0,0,109,8,12,27,1,26,24,0,109,14,60,26,1,26,0,0,85,15,26,0,1,27,0,0,109,15,4,27,1,26,0,0,109,15,8,26,1,26,0,0,132,0,0,26,1,27,20,2,135,26,3,0,27,11,15,0,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,17,0,135,4,4,0,102,26,15,11,34,26,26,0,121,26,4,0,82,27,15,0,135,26,8,0,27,0,0,0,102,26,8,11,34,26,26,0,121,26,4,0,82,27,8,0,135,26,8,0,27,0,0,0,135,26,28,0,11,0,0,0,119,0,64,1,102,26,15,11,34,26,26,0,121,26,4,0,82,27,15,0,135,26,8,0,27,0,0,0,25,7,14,8,1,26,0,0,132,0,0,26,1,27,44,0,2,25,0,0,202,139,0,0,1,28,40,0,135,26,2,0,27,7,25,28,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,3,0,1,16,26,0,119,0,16,1,1,26,0,0,132,0,0,26,1,26,44,0,2,28,0,0,243,139,0,0,1,25,10,0,135,4,2,0,26,7,28,25,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,3,0,1,16,26,0,119,0,0,1,102,10,2,11,41,25,10,24,42,25,25,24,34,9,25,0,1,25,0,0,132,0,0,25,1,25,44,0,121,9,4,0,82,26,2,0,0,28,26,0,119,0,2,0,0,28,2,0,121,9,4,0,106,27,2,4,0,26,27,0,119,0,3,0,19,27,10,23,0,26,27,0,135,4,2,0,25,4,28,26,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,3,0,1,16,26,0,119,0,228,0,1,26,0,0,132,0,0,26,1,26,44,0,2,28,0,0,254,139,0,0,1,25,3,0,135,4,2,0,26,4,28,25,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,3,0,1,16,26,0,119,0,212,0,1,25,0,0,132,0,0,25,1,28,44,0,1,26,1,0,135,25,2,0,28,4,22,26,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,3,0,1,16,26,0,119,0,198,0,1,25,0,0,132,0,0,25,1,25,44,0,2,26,0,0,2,140,0,0,1,28,11,0,135,4,2,0,25,7,26,28,130,28,0,0,0,10,28,0,1,28,0,0,132,0,0,28,38,28,10,1,121,28,3,0,1,16,26,0,119,0,182,0,1,28,0,0,132,0,0,28,1,26,44,0,1,25,1,0,135,28,2,0,26,4,22,25,130,28,0,0,0,10,28,0,1,28,0,0,132,0,0,28,38,28,10,1,121,28,3,0,1,16,26,0,119,0,168,0,82,28,6,0,82,25,19,0,4,10,28,25,28,6,10,52,121,10,62,0,1,5,0,0,1,25,0,0,132,0,0,25,1,25,44,0,1,28,2,0,135,4,2,0,25,7,24,28,130,28,0,0,0,10,28,0,1,28,0,0,132,0,0,28,38,28,10,1,120,28,47,0,82,9,19,0,27,28,5,52,3,9,9,28,0,21,9,0,102,10,21,11,41,28,10,24,42,28,28,24,34,20,28,0,1,28,0,0,132,0,0,28,1,28,44,0,121,20,4,0,82,26,21,0,0,25,26,0,119,0,2,0,0,25,21,0,121,20,4,0,106,27,9,4,0,26,27,0,119,0,3,0,19,27,10,23,0,26,27,0,135,4,2,0,28,4,25,26,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,120,26,17,0,1,26,0,0,132,0,0,26,1,25,44,0,1,28,1,0,135,26,2,0,25,4,22,28,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,120,26,5,0,25,5,5,1,57,26,6,5,56,196,0,0,119,0,199,255,135,4,4,0,119,0,102,0,1,26,0,0,132,0,0,26,1,26,44,0,2,28,0,0,14,140,0,0,1,25,51,0,135,4,2,0,26,7,28,25,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,3,0,1,16,26,0,119,0,86,0,1,25,0,0,132,0,0,25,1,28,44,0,1,26,1,0,135,25,2,0,28,4,22,26,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,3,0,1,16,26,0,119,0,72,0,1,25,0,0,132,0,0,25,1,26,21,2,135,25,3,0,26,13,11,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,3,0,1,16,26,0,119,0,59,0,1,25,44,1,3,4,1,25,1,25,0,0,132,0,0,25,0,5,15,0,0,9,3,0,25,10,5,40,116,5,9,0,25,5,5,4,25,9,9,4,54,25,5,10,0,197,0,0,1,26,100,0,135,25,6,0,26,13,15,4,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,10,0,135,4,4,0,1,25,0,0,102,26,13,11,56,25,25,26,204,197,0,0,82,26,13,0,135,25,8,0,26,0,0,0,119,0,29,0,102,25,13,11,34,25,25,0,121,25,4,0,82,26,13,0,135,25,8,0,26,0,0,0,1,25,92,64,85,14,25,0,1,25,132,64,85,12,25,0,1,25,112,64,85,7,25,0,1,25,208,63,85,11,25,0,102,25,8,11,34,25,25,0,121,25,4,0,82,26,8,0,135,25,8,0,26,0,0,0,135,25,28,0,11,0,0,0,1,26,144,64,135,25,29,0,14,26,0,0,135,25,30,0,12,0,0,0,119,0,31,1,32,25,16,26,121,25,2,0,135,4,4,0,1,25,92,64,85,14,25,0,1,25,132,64,85,12,25,0,1,25,112,64,85,7,25,0,1,25,208,63,85,11,25,0,102,25,8,11,34,25,25,0,121,25,4,0,82,26,8,0,135,25,8,0,26,0,0,0,135,25,28,0,11,0,0,0,1,26,144,64,135,25,29,0,14,26,0,0,135,25,30,0,12,0,0,0,119,0,5,0,1,26,144,64,135,25,29,0,14,26,0,0,1,16,25,0,32,25,16,25,121,25,3,0,135,25,30,0,12,0,0,0,0,21,4,0,135,25,13,0,19,0,0,0,135,25,11,0,21,0,0,0,119,0,248,0,32,25,4,52,121,25,246,0,1,25,136,1,94,25,1,25,1,26,132,1,94,26,1,26,13,6,25,26,102,26,5,48,120,26,3,0,1,16,61,0,119,0,139,0,1,26,0,0,85,8,26,0,1,25,0,0,109,8,4,25,1,26,0,0,109,8,8,26,1,26,0,0,132,0,0,26,1,26,62,1,1,25,128,0,135,4,7,0,26,25,0,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,120,25,121,0,85,8,4,0,2,26,0,0,128,0,0,128,109,8,8,26,1,25,112,0,109,8,4,25,0,5,4,0,2,9,0,0,66,140,0,0,25,10,5,112,78,25,9,0,83,5,25,0,25,5,5,1,25,9,9,1,54,25,5,10,4,199,0,0,1,26,0,0,107,4,112,26,1,26,0,0,85,7,26,0,1,25,0,0,109,7,4,25,1,26,0,0,109,7,8,26,1,26,0,0,132,0,0,26,1,26,62,1,1,25,128,0,135,4,7,0,26,25,0,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,3,0,135,4,4,0,119,0,66,0,85,7,4,0,2,26,0,0,128,0,0,128,109,7,8,26,1,25,126,0,109,7,4,25,0,5,4,0,2,9,0,0,179,140,0,0,25,10,5,126,78,25,9,0,83,5,25,0,25,5,5,1,25,9,9,1,54,25,5,10,156,199,0,0,1,26,0,0,107,4,126,26,1,26,0,0,132,0,0,26,0,5,15,0,0,9,3,0,25,10,5,40,116,5,9,0,25,5,5,4,25,9,9,4,54,26,5,10,208,199,0,0,1,25,20,0,1,28,1,0,135,26,10,0,25,8,7,28,15,0,0,0,130,26,0,0,0,21,26,0],eb+40960);HEAPU8.set([1,26,0,0,132,0,0,26,38,26,21,1,121,26,10,0,135,4,4,0,1,26,0,0,102,28,7,11,56,26,26,28,120,200,0,0,82,28,7,0,135,26,8,0,28,0,0,0,119,0,18,0,102,26,7,11,34,26,26,0,121,26,4,0,82,28,7,0,135,26,8,0,28,0,0,0,1,26,0,0,102,28,8,11,49,26,26,28,100,200,0,0,1,16,61,0,119,0,23,0,82,28,8,0,135,26,8,0,28,0,0,0,1,16,61,0,119,0,18,0,1,26,0,0,102,28,8,11,49,26,26,28,156,200,0,0,0,21,4,0,135,26,13,0,19,0,0,0,135,26,11,0,21,0,0,0,82,28,8,0,135,26,8,0,28,0,0,0,0,21,4,0,135,26,13,0,19,0,0,0,135,26,11,0,21,0,0,0,32,26,16,61,121,26,92,0,121,6,33,0,1,26,0,0,132,0,0,26,1,26,231,3,1,28,240,0,3,28,1,28,82,25,19,0,25,25,25,36,135,4,23,0,26,28,25,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,120,25,76,0,121,4,17,0,1,25,0,0,132,0,0,25,1,28,216,1,82,26,19,0,135,25,3,0,28,0,26,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,120,25,63,0,135,25,13,0,19,0,0,0,137,17,0,0,139,0,0,0,1,25,0,0,132,0,0,25,1,25,70,1,82,26,19,0,25,26,26,36,135,4,7,0,25,26,0,0,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,120,26,41,0,120,4,2,0,119,0,49,0,82,21,19,0,85,15,4,0,1,25,0,0,109,15,4,25,1,25,0,0,132,0,0,25,1,26,21,0,135,25,10,0,26,1,21,15,3,0,0,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,7,0,135,21,4,0,135,25,13,0,19,0,0,0,135,25,11,0,21,0,0,0,119,0,17,0,1,25,0,0,132,0,0,25,1,26,216,1,82,28,19,0,135,25,3,0,26,0,28,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,120,25,5,0,135,25,13,0,19,0,0,0,137,17,0,0,139,0,0,0,135,21,4,0,135,25,13,0,19,0,0,0,135,25,11,0,21,0,0,0,135,21,4,0,135,25,13,0,19,0,0,0,135,25,11,0,21,0,0,0,25,5,18,11,1,25,0,0,85,18,25,0,1,28,0,0,109,18,4,28,1,25,0,0,109,18,8,25,1,25,0,0,132,0,0,25,1,28,96,0,135,25,6,0,28,0,2,18,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,20,0,135,4,4,0,1,25,0,0,78,28,5,0,49,25,25,28,180,202,0,0,0,21,4,0,135,25,13,0,19,0,0,0,135,25,11,0,21,0,0,0,82,28,18,0,135,25,8,0,28,0,0,0,0,21,4,0,135,25,13,0,19,0,0,0,135,25,11,0,21,0,0,0,119,0,16,0,1,25,0,0,78,28,5,0,49,25,25,28,248,202,0,0,135,25,13,0,19,0,0,0,137,17,0,0,139,0,0,0,82,28,18,0,135,25,8,0,28,0,0,0,135,25,13,0,19,0,0,0,137,17,0,0,139,0,0,0,139,0,0,0,140,2,29,0,0,0,0,0,2,22,0,0,255,1,0,0,2,23,0,0,225,177,0,0,2,24,0,0,48,0,0,128,1,19,0,0,136,25,0,0,0,16,25,0,136,25,0,0,1,26,176,0,3,25,25,26,137,25,0,0,0,21,16,0,25,18,16,96,1,25,152,0,3,8,16,25,25,10,16,112,25,20,16,84,25,11,16,72,25,4,16,64,25,17,16,52,135,25,48,0,1,0,0,0,25,12,1,76,82,3,12,0,25,9,1,80,82,2,9,0,85,18,3,0,52,25,3,2,184,203,0,0,135,25,49,0,18,2,21,0,32,15,25,0,82,3,18,0,120,15,250,255,0,2,3,0,119,0,1,0,82,25,9,0,46,25,2,25,188,207,0,0,82,26,12,0,135,25,50,0,21,26,2,0,25,4,1,108,135,25,51,0,4,21,0,0,1,25,148,0,3,5,1,25,25,7,8,11,1,25,0,0,85,8,25,0,1,26,0,0,109,8,4,26,1,25,0,0,109,8,8,25,0,13,21,0,0,14,4,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,25,13,15,12,204,0,0,25,6,21,40,1,25,0,0,132,0,0,25,1,26,203,1,135,25,3,0,26,6,8,0,130,25,0,0,0,19,25,0,1,25,0,0,132,0,0,25,38,25,19,1,121,25,3,0,135,2,4,0,119,0,209,0,1,25,152,0,3,2,1,25,82,3,2,0,1,25,156,0,94,25,1,25,48,25,3,25,212,204,0,0,0,13,3,0,0,14,21,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,25,13,15,128,204,0,0,25,1,3,40,116,1,6,0,106,26,6,4,109,1,4,26,106,25,6,8,109,1,8,25,1,25,0,0,85,6,25,0,1,26,0,0,109,6,4,26,1,25,0,0,109,6,8,25,82,25,2,0,25,25,25,52,85,2,25,0,119,0,29,0,1,25,0,0,132,0,0,25,1,26,254,1,135,25,3,0,26,5,21,0,130,25,0,0,0,1,25,0,1,25,0,0,132,0,0,25,38,25,1,1,121,25,10,0,135,2,4,0,1,25,0,0,102,26,6,11,56,25,25,26,152,207,0,0,82,26,6,0,135,25,8,0,26,0,0,0,119,0,158,0,1,25,0,0,102,26,6,11,56,25,25,26,68,205,0,0,82,26,6,0,135,25,8,0,26,0,0,0,119,0,1,0,78,25,7,0,34,25,25,0,121,25,4,0,82,26,8,0,135,25,8,0,26,0,0,0,1,25,84,0,135,9,43,0,25,0,0,0,0,13,10,0,0,14,4,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,25,13,15,116,205,0,0,1,25,0,0,132,0,0,25,135,25,3,0,22,20,5,0,130,25,0,0,0,1,25,0,1,25,0,0,132,0,0,25,38,25,1,1,121,25,3,0,135,2,4,0,119,0,116,0,1,25,0,0,85,11,25,0,1,26,0,0,109,11,4,26,1,25,0,0,109,11,8,25,1,25,0,0,132,0,0,25,1,25,62,1,1,26,32,0,135,2,7,0,25,26,0,0,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,121,26,6,0,135,2,4,0,1,8,1,0,128,26,0,0,0,4,26,0,119,0,63,0,85,11,2,0,2,25,0,0,32,0,0,128,109,11,8,25,1,26,22,0,109,11,4,26,0,13,2,0,2,14,0,0,202,177,0,0,25,15,13,22,78,26,14,0,83,13,26,0,25,13,13,1,25,14,14,1,54,26,13,15,60,206,0,0,1,25,0,0,107,2,22,25,1,25,0,0,132,0,0,25,0,13,21,0,0,14,10,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,25,13,15,112,206,0,0,1,26,30,0,135,25,10,0,26,9,21,20,11,0,0,0,130,25,0,0,0,21,25,0,1,25,0,0,132,0,0,25,38,25,21,1,121,25,3,0,1,3,1,0,119,0,11,0,1,25,0,0,132,0,0,25,1,26,77,0,1,27,16,13,1,28,181,0,135,25,6,0,26,9,27,28,1,25,0,0,132,0,0,25,1,3,0,0,135,2,4,0,128,25,0,0,0,4,25,0,102,25,11,11,34,25,25,0,121,25,6,0,82,28,11,0,135,25,8,0,28,0,0,0,0,8,3,0,119,0,2,0,0,8,3,0,82,3,20,0,120,3,4,0,120,8,28,0,135,25,11,0,2,0,0,0,25,7,20,4,82,5,7,0,46,25,5,3,108,207,0,0,26,6,5,52,85,7,6,0,26,5,5,12,102,25,5,11,34,25,25,0,121,25,6,0,82,28,5,0,135,25,8,0,28,0,0,0,82,5,7,0,119,0,2,0,0,5,6,0,53,25,5,3,48,207,0,0,82,3,20,0,135,25,8,0,3,0,0,0,120,8,4,0,0,21,2,0,135,25,11,0,21,0,0,0,135,25,44,0,9,0,0,0,0,21,2,0,135,25,11,0,21,0,0,0,78,25,7,0,34,25,25,0,121,25,4,0,82,28,8,0,135,25,8,0,28,0,0,0,0,21,2,0,135,25,11,0,21,0,0,0,1,25,88,0,135,8,12,0,25,0,0,0,25,5,1,108,0,13,21,0,0,14,5,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,25,13,15,216,207,0,0,1,25,0,0,132,0,0,25,1,28,171,1,135,25,1,0,28,8,0,0,130,25,0,0,0,20,25,0,1,25,0,0,132,0,0,25,38,25,20,1,121,25,3,0,135,2,4,0,119,0,129,1,25,13,8,12,0,14,21,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,25,13,15,44,208,0,0,1,25,64,27,85,8,25,0,1,28,0,0,109,8,52,28,1,25,0,0,109,8,56,25,1,28,0,0,107,8,60,28,25,2,8,64,1,28,24,27,85,2,28,0,25,6,8,68,25,7,8,72,1,28,0,0,85,6,28,0,1,25,0,0,109,6,4,25,1,28,0,0,109,6,8,28,1,25,0,0,109,6,12,25,1,25,0,0,132,0,0,25,1,28,56,2,1,27,0,0,135,25,3,0,28,6,27,0,130,25,0,0,0,20,25,0,1,25,0,0,132,0,0,25,38,25,20,1,121,25,23,0,135,2,4,0,128,25,0,0,0,5,25,0,82,3,6,0,121,3,83,1,82,4,7,0,46,25,4,3,16,209,0,0,26,21,4,8,85,7,21,0,82,27,21,0,82,27,27,0,19,27,27,22,135,25,14,0,27,21,0,0,82,4,7,0,53,25,4,3,228,208,0,0,82,3,6,0,135,25,8,0,3,0,0,0,119,0,66,1,1,25,124,26,85,8,25,0,1,25,224,26,85,2,25,0,1,27,1,0,107,8,84,27,135,27,0,0,0,8,0,0,1,27,112,28,85,0,27,0,106,2,1,40,1,27,232,0,94,27,2,27,1,25,228,0,94,25,2,25,4,27,27,25,32,27,27,8,121,27,46,0,1,27,0,0,132,0,0,27,1,25,206,1,106,28,0,4,135,27,3,0,25,4,28,0,130,27,0,0,0,20,27,0,1,27,0,0,132,0,0,27,38,27,20,1,121,27,3,0,1,19,50,0,119,0,33,0,1,27,112,28,85,4,27,0,106,3,1,12,1,27,0,0,132,0,0,27,0,13,21,0,0,14,5,0,25,15,13,40,116,13,14,0,25,13,13,4,25,14,14,4,54,27,13,15,188,209,0,0,1,28,34,0,135,27,10,0,28,2,4,3,21,0,0,0,130,27,0,0,0,20,27,0,1,27,0,0,132,0,0,27,38,27,20,1,121,27,5,0,135,2,4,0,135,27,5,0,4,0,0,0,119,0,6,0,135,27,5,0,4,0,0,0,1,19,52,0,119,0,2,0,1,19,52,0,32,27,19,52,121,27,248,0,25,4,1,48,82,2,4,0,106,27,1,52,45,27,2,27,112,210,0,0,1,27,0,0,132,0,0,27,1,28,61,2,25,25,1,44,135,27,3,0,28,25,0,0,130,27,0,0,0,20,27,0,1,27,0,0,132,0,0,27,38,27,20,1,121,27,22,0,1,19,50,0,119,0,229,0,1,27,0,0,132,0,0,27,1,25,206,1,106,28,0,4,135,27,3,0,25,2,28,0,130,27,0,0,0,20,27,0,1,27,0,0,132,0,0,27,38,27,20,1,121,27,3,0,1,19,50,0,119,0,215,0,1,27,112,28,85,2,27,0,82,27,4,0,25,27,27,8,85,4,27,0,1,27,0,0,132,0,0,27,1,28,7,4,1,25,1,0,135,27,23,0,28,1,25,0,130,27,0,0,0,20,27,0,1,27,0,0,132,0,0,27,38,27,20,1,121,27,3,0,1,19,50,0,119,0,196,0,82,3,4,0,26,2,3,8,26,20,3,8,85,4,20,0,82,25,20,0,82,25,25,0,19,25,25,22,135,27,14,0,25,20,0,0,82,3,4,0,53,27,3,2,252,210,0,0,1,27,0,0,132,0,0,27,1,25,63,2,106,28,0,4,135,27,3,0,25,28,5,0,130,27,0,0,0,20,27,0,1,27,0,0,132,0,0,27,38,27,20,1,121,27,3,0,1,19,50,0,119,0,170,0,82,27,12,0,82,28,9,0,45,27,27,28,116,211,0,0,137,16,0,0,139,0,0,0,1,27,0,0,85,21,27,0,1,28,0,0,109,21,4,28,1,27,0,0,109,21,8,27,1,27,0,0,132,0,0,27,1,27,62,1,1,28,16,0,135,2,7,0,27,28,0,0,130,28,0,0,0,20,28,0,1,28,0,0,132,0,0,28,38,28,20,1,121,28,3,0,135,2,4,0,119,0,144,0,85,21,2,0,2,27,0,0,16,0,0,128,109,21,8,27,1,28,11,0,109,21,4,28,0,13,2,0,2,14,0,0,210,172,0,0,25,15,13,11,78,28,14,0,83,13,28,0,25,13,13,1,25,14,14,1,54,28,13,15,236,211,0,0,1,27,0,0,107,2,11,27,1,28,0,0,109,18,8,28,25,3,18,11,1,28,7,0,83,3,28,0,2,28,0,0,222,172,0,0,78,28,28,0,83,18,28,0,2,27,0,0,223,172,0,0,78,27,27,0,107,18,1,27,2,28,0,0,224,172,0,0,78,28,28,0,107,18,2,28,2,27,0,0,225,172,0,0,78,27,27,0,107,18,3,27,2,28,0,0,226,172,0,0,78,28,28,0,107,18,4,28,2,27,0,0,227,172,0,0,78,27,27,0,107,18,5,27,2,28,0,0,228,172,0,0,78,28,28,0,107,18,6,28,1,27,0,0,107,18,7,27,1,27,0,0,85,17,27,0,1,28,0,0,109,17,4,28,1,27,0,0,109,17,8,27,1,27,0,0,132,0,0,27,1,27,62,1,1,28,48,0,135,2,7,0,27,28,0,0,130,28,0,0,0,20,28,0,1,28,0,0,132,0,0,28,38,28,20,1,121,28,3,0,135,2,4,0,119,0,59,0,85,17,2,0,109,17,8,24,1,27,36,0,109,17,4,27,0,13,2,0,2,14,0,0,225,177,0,0,25,15,13,36,78,27,14,0,83,13,27,0,25,13,13,1,25,14,14,1,54,27,13,15,8,213,0,0,1,28,0,0,107,2,36,28,1,28,0,0,132,0,0,28,1,27,8,0,1,25,1,0,135,28,9,0,27,1,21,18,17,25,0,0,130,28,0,0,0,20,28,0,1,28,0,0,132,0,0,28,38,28,20,1,121,28,10,0,135,2,4,0,1,28,0,0,102,25,17,11,56,28,28,25,208,213,0,0,82,25,17,0,135,28,8,0,25,0,0,0,119,0,21,0,102,28,17,11,34,28,28,0,121,28,4,0,82,25,17,0,135,28,8,0,25,0,0,0,78,28,3,0,34,28,28,0,121,28,4,0,82,25,18,0,135,28,8,0,25,0,0,0,102,28,21,11,34,28,28,0,121,28,4,0,82,25,21,0,135,28,8,0,25,0,0,0,137,16,0,0,139,0,0,0,78,28,3,0,34,28,28,0,121,28,4,0,82,25,18,0,135,28,8,0,25,0,0,0,102,28,21,11,34,28,28,0,121,28,4,0,82,25,21,0,135,28,8,0,25,0,0,0,32,28,19,50,121,28,2,0,135,2,4,0,135,28,5,0,0,0,0,0,0,21,2,0,135,28,11,0,21,0,0,0,135,28,8,0,8,0,0,0,0,21,2,0,135,28,11,0,21,0,0,0,139,0,0,0,140,3,28,0,0,0,0,0,2,21,0,0,32,0,0,128,2,22,0,0,17,176,0,0,2,23,0,0,62,1,0,0,136,24,0,0,0,18,24,0,136,24,0,0,1,25,128,0,3,24,24,25,137,24,0,0,25,19,18,104,25,20,18,92,25,17,18,80,25,14,18,40,0,5,18,0,1,24,168,0,3,15,1,24,116,19,15,0,106,25,15,4,109,19,4,25,106,24,15,8,109,19,8,24,25,16,1,76,82,3,16,0,25,11,1,84,116,20,11,0,106,25,11,4,109,20,4,25,106,24,11,8,109,20,8,24,25,12,1,96,116,17,12,0,106,25,12,4,109,17,4,25,106,24,12,8,109,17,8,24,25,13,1,108,0,7,14,0,0,8,13,0,25,10,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,24,7,10,232,214,0,0,1,25,1,0,1,26,0,0,135,24,52,0,1,25,26,0,1,26,1,0,1,25,0,0,135,24,53,0,1,26,25,0,120,24,172,0,0,7,13,0,0,8,14,0,25,10,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,24,7,10,44,215,0,0,116,15,19,0,106,25,19,4,109,15,4,25,106,24,19,8,109,15,8,24,85,16,3,0,116,12,17,0,106,25,17,4,109,12,4,25,106,24,17,8,109,12,8,24,116,11,20,0,106,25,20,4,109,11,4,25,106,24,20,8,109,11,8,24,1,24,16,0,135,3,12,0,24,0,0,0,85,19,3,0,2,25,0,0,16,0,0,128,109,19,8,25,1,24,11,0,109,19,4,24,0,7,3,0,2,8,0,0,210,172,0,0,25,10,7,11,78,24,8,0,83,7,24,0,25,7,7,1,25,8,8,1,54,24,7,10,180,215,0,0,1,25,0,0,107,3,11,25,1,24,0,0,109,20,8,24,25,4,20,11,1,24,7,0,83,4,24,0,2,24,0,0,222,172,0,0,78,24,24,0,83,20,24,0,2,25,0,0,223,172,0,0,78,25,25,0,107,20,1,25,2,24,0,0,224,172,0,0,78,24,24,0,107,20,2,24,2,25,0,0,225,172,0,0,78,25,25,0,107,20,3,25,2,24,0,0,226,172,0,0,78,24,24,0,107,20,4,24,2,25,0,0,227,172,0,0,78,25,25,0,107,20,5,25,2,24,0,0,228,172,0,0,78,24,24,0,107,20,6,24,1,25,0,0,107,20,7,25,1,25,0,0,85,17,25,0,1,24,0,0,109,17,4,24,1,25,0,0,109,17,8,25,1,25,0,0,132,0,0,25,1,25,32,0,135,3,7,0,23,25,0,0,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,3,0,135,3,4,0,119,0,58,0,85,17,3,0,109,17,8,21,1,24,20,0,109,17,4,24,0,7,3,0,2,8,0,0,45,178,0,0,25,10,7,20,78,24,8,0,83,7,24,0,25,7,7,1,25,8,8,1,54,24,7,10,204,216,0,0,1,25,0,0,107,3,20,25,1,25,0,0,132,0,0,25,1,24,8,0,1,26,1,0,135,25,9,0,24,1,19,20,17,26,0,0,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,10,0,135,3,4,0,1,25,0,0,102,26,17,11,56,25,25,26,144,217,0,0,82,26,17,0,135,25,8,0,26,0,0,0,119,0,20,0,102,25,17,11,34,25,25,0,121,25,4,0,82,26,17,0,135,25,8,0,26,0,0,0,78,25,4,0,34,25,25,0,121,25,4,0,82,26,20,0,135,25,8,0,26,0,0,0,102,25,19,11,34,25,25,0,121,25,20,0,82,26,19,0,135,25,8,0,26,0,0,0,119,0,16,0,78,25,4,0,34,25,25,0,121,25,4,0,82,26,20,0,135,25,8,0,26,0,0,0,102,25,19,11,34,25,25,0,121,25,4,0,82,26,19,0,135,25,8,0,26,0,0,0,0,20,3,0,135,25,11,0,20,0,0,0,1,25,88,0,135,9,12,0,25,0,0,0,0,7,5,0,0,8,13,0,25,10,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,25,7,10,228,217,0,0,1,25,0,0,132,0,0,25,1,26,171,1,135,25,1,0,26,9,0,0,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,3,0,135,3,4,0,119,0,138,1,25,7,9,12,0,8,5,0,25,10,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,25,7,10,56,218,0,0,1,25,64,27,85,9,25,0,1,26,0,0,109,9,52,26,1,25,0,0,109,9,56,25,1,26,0,0,107,9,60,26,25,3,9,64,1,26,24,27,85,3,26,0,25,7,9,68,25,8,9,72,1,26,0,0,85,7,26,0,1,25,0,0,109,7,4,25,1,26,0,0,109,7,8,26,1,25,0,0,109,7,12,25,1,25,0,0,132,0,0,25,1,26,56,2,1,24,0,0,135,25,3,0,26,7,24,0,130,25,0,0,0,10,25,0,1,25,0,0,132,0,0,25,38,25,10,1,121,25,24,0,135,3,4,0,128,25,0,0,0,6,25,0,82,4,7,0,121,4,92,1,82,5,8,0,46,25,5,4,32,219,0,0,26,20,5,8,85,8,20,0,82,24,20,0,82,24,24,0,1,26,255,1,19,24,24,26,135,25,14,0,24,20,0,0,82,5,8,0,53,25,5,4,240,218,0,0,82,4,7,0,135,25,8,0,4,0,0,0,119,0,74,1,1,25,124,26,85,9,25,0,1,25,224,26,85,3,25,0,38,24,2,1,107,9,84,24,135,24,0,0,0,9,0,0,1,24,112,28,85,0,24,0,25,5,1,48,82,3,5,0,106,24,1,52,45,24,3,24,168,219,0,0,1,24,0,0,132,0,0,24,1,25,61,2,25,26,1,44,135,24,3,0,25,26,0,0,130,24,0,0,0,10,24,0,1,24,0,0,132,0,0,24,38,24,10,1,121,24,3,0,1,6,35,0,119,0,23,0,1,6,32,0,119,0,21,0,1,24,0,0,132,0,0,24,1,26,206,1,106,25,0,4,135,24,3,0,26,3,25,0,130,24,0,0,0,10,24,0,1,24,0,0,132,0,0,24,38,24,10,1,121,24,3,0,1,6,35,0,119,0,7,0,1,24,112,28,85,3,24,0,82,24,5,0,25,24,24,8,85,5,24,0,1,6,32,0,32,24,6,32,121,24,13,1,1,24,0,0,132,0,0,24,1,25,7,4,135,24,23,0,25,1,2,0,130,24,0,0,0,10,24,0,1,24,0,0,132,0,0,24,38,24,10,1,121,24,3,0,1,6,35,0,119,0,0,1,116,19,15,0,106,25,15,4,109,19,4,25,106,24,15,8,109,19,8,24,82,4,16,0,116,20,11,0,106,25,11,4,109,20,4,25,106,24,11,8,109,20,8,24,116,17,12,0,106,25,12,4,109,17,4,25,106,24,12,8,109,17,8,24,0,7,14,0,0,8,13,0,25,10,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,24,7,10,128,220,0,0,1,24,0,0,132,0,0,24,1,25,52,0,1,26,1,0,1,27,0,0,135,24,2,0,25,1,26,27,130,24,0,0,0,10,24,0,1,24,0,0,132,0,0,24,38,24,10,1,121,24,3,0,1,6,35,0,119,0,217,0,1,24,0,0,132,0,0,24,1,24,143,0,1,27,1,0,1,26,0,0,135,3,2,0,24,1,27,26,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,3,0,1,6,35,0,119,0,202,0,120,3,186,0,0,7,13,0,0,8,14,0,25,10,7,40,116,7,8,0,25,7,7,4,25,8,8,4,54,26,7,10,28,221,0,0,116,15,19,0,106,27,19,4,109,15,4,27,106,26,19,8,109,15,8,26,85,16,4,0,116,12,17,0,106,27,17,4,109,12,4,27,106,26,17,8,109,12,8,26,116,11,20,0,106,27,20,4,109,11,4,27,106,26,20,8,109,11,8,26,1,26,0,0,85,19,26,0,1,27,0,0,109,19,4,27,1,26,0,0,109,19,8,26,1,26,0,0,132,0,0,26,1,26,16,0,135,3,7,0,23,26,0,0,130,26,0,0,0,16,26,0,1,26,0,0,132,0,0,26,38,26,16,1,121,26,3,0,135,3,4,0,119,0,158,0,85,19,3,0,2,27,0,0,16,0,0,128,109,19,8,27,1,26,11,0,109,19,4,26,0,7,3,0,2,8,0,0,210,172,0,0,25,10,7,11,78,26,8,0,83,7,26,0,25,7,7,1,25,8,8,1,54,26,7,10,228,221,0,0,1,27,0,0,107,3,11,27,1,26,0,0,109,20,8,26,25,4,20,11,1,26,7,0,83,4,26,0,2,26,0,0,222,172,0,0,78,26,26,0,83,20,26,0,2,27,0,0,223,172,0,0,78,27,27,0,107,20,1,27,2,26,0,0,224,172,0,0,78,26,26,0,107,20,2,26,2,27,0,0,225,172,0,0,78,27,27,0,107,20,3,27,2,26,0,0,226,172,0,0,78,26,26,0,107,20,4,26,2,27,0,0,227,172,0,0,78,27,27,0,107,20,5,27,2,26,0,0,228,172,0,0,78,26,26,0,107,20,6,26,1,27,0,0,107,20,7,27,1,27,0,0,85,17,27,0,1,26,0,0,109,17,4,26,1,27,0,0,109,17,8,27,1,27,0,0,132,0,0,27,1,27,32,0,135,3,7,0,23,27,0,0,130,27,0,0,0,16,27,0,1,27,0,0,132,0,0,27,38,27,16,1,121,27,3,0,135,3,4,0,119,0,58,0,85,17,3,0,109,17,8,21,1,26,20,0,109,17,4,26,0,7,3,0,2,8,0,0,17,176,0,0,25,10,7,20,78,26,8,0,83,7,26,0,25,7,7,1,25,8,8,1,54,26,7,10,252,222,0,0,1,27,0,0,107,3,20,27,1,27,0,0,132,0,0,27,1,26,8,0,1,24,1,0,135,27,9,0,26,1,19,20,17,24,0,0,130,27,0,0,0,1,27,0,1,27,0,0,132,0,0,27,38,27,1,1,121,27,10,0,135,3,4,0,1,27,0,0,102,24,17,11,56,27,27,24,192,223,0,0,82,24,17,0,135,27,8,0,24,0,0,0,119,0,20,0,102,27,17,11,34,27,27,0,121,27,4,0,82,24,17,0,135,27,8,0,24,0,0,0,78,27,4,0,34,27,27,0,121,27,4,0,82,24,20,0,135,27,8,0,24,0,0,0,102,27,19,11,34,27,27,0,121,27,18,0,82,24,19,0,135,27,8,0,24,0,0,0,119,0,14,0,78,27,4,0,34,27,27,0,121,27,4,0,82,24,20,0,135,27,8,0,24,0,0,0,102,27,19,11,34,27,27,0,121,27,20,0,82,24,19,0,135,27,8,0,24,0,0,0,119,0,16,0,82,4,5,0,26,3,4,8,26,20,4,8,85,5,20,0,82,24,20,0,82,24,24,0,1,26,255,1,19,24,24,26,135,27,14,0,24,20,0,0,82,4,5,0,53,27,4,3,252,223,0,0,137,18,0,0,139,0,0,0,32,27,6,35,121,27,2,0,135,3,4,0,135,27,5,0,0,0,0,0,0,20,3,0,135,27,11,0,20,0,0,0,135,27,8,0,9,0,0,0,0,20,3,0,135,27,11,0,20,0,0,0,139,0,0,0,140,2,27,0,0,0,0,0,2,20,0,0,203,1,0,0,2,21,0,0,27,2,0,0,2,22,0,0,28,1,0,0,1,18,0,0,136,23,0,0,0,11,23,0,136,23,0,0,1,24,176,0,3,23,23,24,137,23,0,0,1,23,156,0,3,19,11,23,1,23,144,0,3,7,11,23,1,23,132,0,3,10,11,23,25,12,11,44,25,15,11,8,25,16,11,120,25,17,11,108,25,13,11,96,0,8,11,0,1,23,228,1,3,9,1,23,82,3,9,0,120,3,8,0,1,24,0,0,135,23,0,0,0,24,0,0,1,23,112,28,85,0,23,0,137,11,0,0,139,0,0,0,106,23,1,16,102,23,23,25,121,23,74,0,1,23,0,0,85,19,23,0,1,24,0,0,109,19,4,24,1,23,0,0,109,19,8,23,135,4,17,0,3,0,0,0,1,23,239,255,48,23,23,4,64,225,0,0,135,23,54,0,19,0,0,0,35,23,4,11,121,23,8,0,107,19,11,4,120,4,3,0,0,2,19,0,119,0,16,0,0,2,19,0,1,18,9,0,119,0,13,0,25,23,4,16,38,23,23,240,0,18,23,0,135,2,12,0,18,0,0,0,85,19,2,0,2,24,0,0,0,0,0,128,20,24,18,24,109,19,8,24,109,19,4,4,1,18,9,0,32,24,18,9,121,24,3,0,135,24,18,0,2,3,4,0,1,23,0,0,95,2,4,23,1,23,0,0,132,0,0,23,1,23,227,3,1,24,33,0,135,2,23,0,23,19,24,0,130,24,0,0,0,14,24,0,1,24,0,0,132,0,0,24,38,24,14,1,120,24,12,0,102,24,19,11,34,24,24,0,121,24,4,0,82,23,19,0,135,24,8,0,23,0,0,0,82,23,9,0,135,24,55,0,23,0,0,0,85,9,2,0,119,0,11,0,135,2,4,0,102,24,19,11,34,24,24,0,121,24,4,0,82,23,19,0,135,24,8,0,23,0,0,0,0,19,2,0,135,24,11,0,19,0,0,0,1,24,180,1,3,6,1,24,102,2,6,11,41,24,2,24,42,24,24,24,34,24,24,0,121,24,4,0,1,24,184,1,94,2,1,24,119,0,4,0,1,24,255,0,19,24,2,24,0,2,24,0,120,2,32,0,1,24,0,0,85,19,24,0,1,23,0,0,109,19,4,23,1,24,0,0,109,19,8,24,1,23,5,0,107,19,11,23,2,23,0,0,207,205,0,0,78,23,23,0,83,19,23,0,2,24,0,0,208,205,0,0,78,24,24,0,107,19,1,24,2,23,0,0,209,205,0,0,78,23,23,0,107,19,2,23,2,24,0,0,210,205,0,0,78,24,24,0,107,19,3,24,2,23,0,0,211,205,0,0,78,23,23,0,107,19,4,23,1,24,0,0,107,19,5,24,119,0,3,0,135,24,27,0,19,6,0,0,25,2,1,20,1,24,0,0,132,0,0,24,1,23,218,3,135,24,23,0,23,2,19,0,130,24,0,0,0,14,24,0,1,24,0,0,132,0,0,24,38,24,14,1,121,24,11,0,135,2,4,0,102,24,19,11,34,24,24,0,121,24,4,0,82,23,19,0,135,24,8,0,23,0,0,0,0,19,2,0,135,24,11,0,19,0,0,0,102,24,19,11,34,24,24,0,121,24,4,0,82,23,19,0,135,24,8,0,23,0,0,0,1,24,0,0,85,7,24,0,1,23,0,0,109,7,4,23,1,24,0,0,109,7,8,24,25,3,7,11,1,24,1,0,83,3,24,0,1,24,46,0,83,7,24,0,1,23,0,0,107,7,1,23,1,23,0,0,132,0,0,23,1,24,184,1,135,23,1,0,24,10,0,0,130,23,0,0,0,14,23,0,1,23,0,0,132,0,0,23,38,23,14,1,121,23,4,0,135,2,4,0,1,18,78,0,119,0,124,1,1,23,0,0,132,0,0,23,1,24,16,0,135,23,10,0,24,19,2,7,10,0,0,0,130,23,0,0,0,14,23,0,1,23,0,0,132,0,0,23,38,23,14,1,121,23,13,0,135,2,4,0,1,23,0,0,102,24,10,11,49,23,23,24,20,228,0,0,1,18,78,0,119,0,105,1,82,24,10,0,135,23,8,0,24,0,0,0,1,18,78,0,119,0,100,1,102,23,10,11,34,23,23,0,121,23,4,0,82,24,10,0,135,23,8,0,24,0,0,0,78,23,3,0,34,23,23,0,121,23,4,0,82,24,7,0,135,23,8,0,24,0,0,0,25,14,19,11,1,23,0,0,132,0,0,23,1,23,69,1,78,25,14,0,34,25,25,0,121,25,4,0,82,25,19,0,0,24,25,0,119,0,2,0,0,24,19,0,135,3,7,0,23,24,0,0,130,24,0,0,0,5,24,0,1,24,0,0,132,0,0,24,38,24,5,1,121,24,3,0,1,18,81,0,119,0,58,1,85,7,3,0,1,24,220,0,3,4,1,24,82,5,4,0,1,24,224,0,94,24,1,24,45,24,5,24,8,229,0,0,1,24,0,0,132,0,0,24,1,23,32,2,1,25,216,0,3,25,1,25,135,24,3,0,23,25,7,0,130,24,0,0,0,5,24,0,1,24,0,0,132,0,0,24,38,24,5,1,121,24,7,0,1,18,81,0,119,0,35,1,85,5,3,0,82,24,4,0,25,24,24,4,85,4,24,0,102,24,2,11,34,24,24,0,121,24,2,0,82,2,2,0,1,24,232,1,3,5,1,24,1,24,0,0,132,0,0,24,1,24,8,0,82,25,7,0,82,23,9,0,82,26,5,0,135,2,56,0,24,2,25,23,26,0,0,0,130,26,0,0,0,7,26,0,1,26,0,0,132,0,0,26,38,26,7,1,121,26,3,0,1,18,82,0,119,0,5,1,85,10,2,0,1,26,24,1,3,3,1,26,82,4,3,0,94,26,1,22,45,26,4,26,200,229,0,0,1,26,0,0,132,0,0,26,1,23,20,1,3,23,1,23,135,26,3,0,21,23,10,0,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,7,0,1,18,82,0,119,0,240,0,85,4,2,0,82,26,3,0,25,26,26,4,85,3,26,0,1,26,0,0,132,0,0,26,135,26,3,0,20,16,6,0,130,26,0,0,0,10,26,0,1,26,0,0,132,0,0,26,38,26,10,1,121,26,3,0,135,2,4,0,119,0,224,0,1,26,0,0,85,17,26,0,1,23,0,0,109,17,4,23,1,26,0,0,109,17,8,26,25,4,17,11,1,26,1,0,83,4,26,0,1,26,46,0,83,17,26,0,1,23,0,0,107,17,1,23,1,23,0,0,132,0,0,23,1,26,95,0,135,23,6,0,26,15,16,17,130,23,0,0,0,10,23,0,1,23,0,0,132,0,0,23,38,23,10,1,121,23,3,0,135,2,4,0,119,0,185,0,1,23,0,0,132,0,0,23,135,23,3,0,20,13,6,0,130,23,0,0,0,10,23,0,1,23,0,0,132,0,0,23,38,23,10,1,121,23,3,0,135,2,4,0,119,0,152,0,1,23,0,0,132,0,0,23,1,26,96,0,135,23,6,0,26,12,15,13,130,23,0,0,0,10,23,0,1,23,0,0,132,0,0,23,38,23,10,1,121,23,3,0,135,2,4,0,119,0,132,0,82,10,5,0,116,8,9,0,109,8,4,10,1,23,0,0,132,0,0,23,1,26,97,0,135,23,6,0,26,1,12,8,130,23,0,0,0,10,23,0,1,23,0,0,132,0,0,23,38,23,10,1,121,23,31,0,135,2,4,0,25,3,12,36,102,23,3,11,34,23,23,0,121,23,4,0,82,26,3,0,135,23,8,0,26,0,0,0,25,3,12,24,102,23,3,11,34,23,23,0,121,23,4,0,82,26,3,0,135,23,8,0,26,0,0,0,25,3,12,12,102,23,3,11,34,23,23,0,121,23,4,0,82,26,3,0,135,23,8,0,26,0,0,0,1,23,0,0,102,26,12,11,56,23,23,26,224,232,0,0,82,26,12,0,135,23,8,0,26,0,0,0,119,0,88,0,25,2,12,36,102,23,2,11,34,23,23,0,121,23,4,0,82,26,2,0,135,23,8,0,26,0,0,0,25,2,12,24,102,23,2,11,34,23,23,0,121,23,4,0,82,26,2,0,135,23,8,0,26,0,0,0,25,2,12,12,102,23,2,11,34,23,23,0,121,23,4,0,82,26,2,0,135,23,8,0,26,0,0,0,102,23,12,11,34,23,23,0,121,23,4,0,82,26,12,0,135,23,8,0,26,0,0,0,102,23,13,11,34,23,23,0,121,23,4,0,82,26,13,0,135,23,8,0,26,0,0,0,25,2,15,24,102,23,2,11,34,23,23,0,121,23,4,0,82,26,2,0,135,23,8,0,26,0,0,0,25,2,15,12,102,23,2,11,34,23,23,0,121,23,4,0,82,26,2,0,135,23,8,0,26,0,0,0,102,23,15,11,34,23,23,0,121,23,4,0,82,26,15,0,135,23,8,0,26,0,0,0,78,23,4,0,34,23,23,0,121,23,4,0,82,26,17,0,135,23,8,0,26,0,0,0,102,23,16,11,34,23,23,0,121,23,4,0,82,26,16,0,135,23,8,0,26,0,0,0,1,23,0,0,132,0,0,23,82,26,1,0,106,26,26,12,135,23,3,0,26,0,1,0,130,23,0,0,0,18,23,0,1,23,0,0,132,0,0,23,38,23,18,1,121,23,3,0,1,18,82,0,119,0,50,0,78,23,14,0,34,23,23,0,121,23,4,0,82,26,19,0,135,23,8,0,26,0,0,0,137,11,0,0,139,0,0,0,1,23,0,0,102,26,13,11,56,23,23,26,252,232,0,0,82,26,13,0,135,23,8,0,26,0,0,0,25,3,15,24,102,23,3,11,34,23,23,0,121,23,4,0,82,26,3,0,135,23,8,0,26,0,0,0,25,3,15,12,102,23,3,11,34,23,23,0,121,23,4,0,82,26,3,0,135,23,8,0,26,0,0,0,1,23,0,0,102,26,15,11,56,23,23,26,80,233,0,0,82,26,15,0,135,23,8,0,26,0,0,0,78,23,4,0,34,23,23,0,121,23,4,0,82,26,17,0,135,23,8,0,26,0,0,0,1,23,0,0,102,26,16,11,56,23,23,26,132,233,0,0,82,26,16,0,135,23,8,0,26,0,0,0,32,23,18,82,121,23,2,0,135,2,4,0,32,23,18,81,121,23,2,0,135,2,4,0,78,23,14,0,34,23,23,0,121,23,4,0,82,26,19,0,135,23,8,0,26,0,0,0,32,23,18,78,121,23,7,0,78,23,3,0,34,23,23,0,121,23,4,0,82,26,7,0,135,23,8,0,26,0,0,0,0,19,2,0,135,23,11,0,19,0,0,0,139,0,0,0,140,1,23,0,0,0,0,0,2,16,0,0,206,1,0,0,2,17,0,0,153,1,0,0,2,18,0,0,162,0,0,0,1,7,0,0,136,19,0,0,0,15,19,0,136,19,0,0,25,19,19,64,137,19,0,0,25,11,15,44,25,10,15,32,25,9,15,24,25,8,15,8,0,14,15,0,120,0,4,0,1,14,1,0,137,15,0,0,139,14,0,0,82,19,0,0,1,22,0,0,1,21,2,0,138,19,22,21,104,234,0,0,68,242,0,0,1,14,255,255,137,15,0,0,139,14,0,0,119,0,252,1,106,12,0,4,120,12,4,0,1,14,1,0,137,15,0,0,139,14,0,0,106,6,0,8,120,6,4,0,1,14,1,0,137,15,0,0,139,14,0,0,106,1,12,92,121,1,4,0,0,14,1,0,137,15,0,0,139,14,0,0,1,20,56,1,97,6,20,0,1,20,1,0,85,0,20,0,1,20,0,0,132,0,0,20,1,20,228,3,106,21,12,28,2,22,0,0,223,94,1,0,135,3,23,0,20,21,22,0,130,22,0,0,0,5,22,0,1,22,0,0,132,0,0,22,38,22,5,1,121,22,3,0,1,7,26,0,119,0,64,1,1,22,0,0,85,11,22,0,1,21,0,0,109,11,4,21,1,22,0,0,109,11,8,22,135,4,17,0,3,0,0,0,1,22,239,255,48,22,22,4,68,235,0,0,1,22,0,0,132,0,0,22,1,21,172,1,135,22,1,0,21,11,0,0,1,22,0,0,132,0,0,22,1,7,26,0,119,0,44,1,35,22,4,11,121,22,8,0,107,11,11,4,120,4,3,0,0,1,11,0,119,0,27,0,0,1,11,0,1,7,14,0,119,0,24,0,25,22,4,16,38,22,22,240,0,2,22,0,1,22,0,0,132,0,0,22,1,22,62,1,135,1,7,0,22,2,0,0,130,22,0,0,0,7,22,0,1,22,0,0,132,0,0,22,38,22,7,1,121,22,3,0,1,7,26,0,119,0,19,1,85,11,1,0,2,21,0,0,0,0,0,128,20,21,2,21,109,11,8,21,109,11,4,4,1,7,14,0,32,21,7,14,121,21,3,0,135,21,18,0,1,3,4,0,1,22,0,0,95,1,4,22,1,22,0,0,132,0,0,22,1,22,228,3,106,21,12,32,2,20,0,0,223,94,1,0,135,3,23,0,22,21,20,0,130,20,0,0,0,5,20,0,1,20,0,0,132,0,0,20,38,20,5,1,121,20,3,0,1,7,27,0,119,0,232,0,1,20,0,0,85,10,20,0,1,21,0,0,109,10,4,21,1,20,0,0,109,10,8,20,135,4,17,0,3,0,0,0,1,20,239,255,48,20,20,4,108,236,0,0,1,20,0,0,132,0,0,20,1,21,172,1,135,20,1,0,21,10,0,0,1,20,0,0,132,0,0,20,1,7,27,0,119,0,212,0,35,20,4,11,121,20,8,0,107,10,11,4,120,4,3,0,0,1,10,0,119,0,27,0,0,1,10,0,1,7,22,0,119,0,24,0,25,20,4,16,38,20,20,240,0,2,20,0,1,20,0,0,132,0,0,20,1,20,62,1,135,1,7,0,20,2,0,0,130,20,0,0,0,7,20,0,1,20,0,0,132,0,0,20,38,20,7,1,121,20,3,0,1,7,27,0,119,0,187,0,85,10,1,0,2,21,0,0,0,0,0,128,20,21,2,21,109,10,8,21,109,10,4,4,1,7,22,0,32,21,7,22,121,21,3,0,135,21,18,0,1,3,4,0,1,20,0,0,95,1,4,20,106,20,12,80,32,1,20,2,1,20,0,0,132,0,0,20,82,21,6,0,106,21,21,8,135,20,3,0,21,9,6,0,130,20,0,0,0,5,20,0,1,20,0,0,132,0,0,20,38,20,5,1,121,20,5,0,1,20,0,0,135,1,20,0,20,0,0,0,119,0,150,0,25,5,9,4,82,20,5,0,120,20,17,0,1,20,0,0,132,0,0,20,1,21,0,0,135,20,3,0,16,14,21,0,130,20,0,0,0,8,20,0,1,20,0,0,132,0,0,20,38,20,8,1,121,20,114,0,1,20,0,0,135,1,20,0,20,0,0,0,1,7,57,0,119,0,109,0,1,20,0,0,132,0,0,20,1,21,55,0,106,22,6,32,135,20,10,0,21,8,6,1,22,0,0,0,130,20,0,0,0,6,20,0,1,20,0,0,132,0,0,20,38,20,6,1,121,20,5,0,1,20,0,0,135,1,20,0,20,0,0,0,119,0,91,0,1,20,0,0,132,0,0,20,25,20,12,124,1,22,0,0,135,1,2,0,18,8,20,22,130,22,0,0,0,6,22,0,1,22,0,0,132,0,0,22,38,22,6,1,121,22,26,0,1,22,0,0,135,1,20,0,22,0,0,0,82,2,8,0,120,2,2,0,119,0,73,0,25,4,8,4,82,3,4,0,46,22,3,2,100,238,0,0,26,3,3,12,85,4,3,0,102,22,3,11,34,22,22,0,121,22,5,0,82,20,3,0,135,22,8,0,20,0,0,0,82,3,4,0,53,22,3,2,52,238,0,0,82,2,8,0,135,22,8,0,2,0,0,0,119,0,54,0,32,4,1,0,82,1,8,0,121,1,19,0,25,3,8,4,82,2,3,0,46,22,2,1,188,238,0,0,26,2,2,12,85,3,2,0,102,22,2,11,34,22,22,0,121,22,5,0,82,20,2,0,135,22,8,0,20,0,0,0,82,2,3,0,53,22,2,1,140,238,0,0,82,1,8,0,135,22,8,0,1,0,0,0,121,4,15,0,1,22,4,0,135,8,43,0,22,0,0,0,135,22,57,0,8,0,0,0,1,22,0,0,132,0,0,22,1,20,77,0,1,21,0,24,135,22,6,0,20,8,21,17,1,22,0,0,132,0,0,22,119,0,13,0,1,22,0,0,132,0,0,22,82,21,5,0,135,22,3,0,16,14,21,0,130,22,0,0,0,8,22,0,1,22,0,0,132,0,0,22,38,22,8,1,120,22,2,0,119,0,7,0,1,22,0,0,135,1,20,0,22,0,0,0,1,7,57,0,119,0,2,0,1,7,57,0,32,22,7,57,121,22,4,0,135,22,5,0,9,0,0,0,119,0,18,0,1,22,112,28,85,14,22,0,135,22,5,0,9,0,0,0,102,22,10,11,34,22,22,0,121,22,4,0,82,21,10,0,135,22,8,0,21,0,0,0,102,22,11,11,34,22,22,0,121,22,25,0,82,21,11,0,135,22,8,0,21,0,0,0,119,0,21,0,102,22,10,11,34,22,22,0,121,22,4,0,82,21,10,0,135,22,8,0,21,0,0,0,32,22,7,27,121,22,4,0,1,22,0,0,135,1,20,0,22,0,0,0,102,22,11,11,34,22,22,0,121,22,6,0,82,21,11,0,135,22,8,0,21,0,0,0,1,7,62,0,119,0,2,0,1,7,62,0,32,22,7,26,121,22,5,0,1,22,0,0,135,1,20,0],eb+51200);HEAPU8.set([22,0,0,0,1,7,62,0,32,22,7,62,121,22,110,0,135,22,58,0,1,0,0,0,1,22,0,0,132,0,0,22,1,21,146,1,135,22,7,0,21,12,0,0,130,22,0,0,0,11,22,0,1,22,0,0,132,0,0,22,38,22,11,1,121,22,69,0,1,22,0,0,135,11,20,0,22,0,0,0,135,22,58,0,11,0,0,0,1,22,0,0,132,0,0,22,1,21,146,1,135,22,7,0,21,12,0,0,130,22,0,0,0,12,22,0,1,22,0,0,132,0,0,22,38,22,12,1,121,22,21,0,135,1,4,0,1,22,0,0,132,0,0,22,1,21,4,0,135,22,59,0,21,0,0,0,130,22,0,0,0,12,22,0,1,22,0,0,132,0,0,22,38,22,12,1,121,22,7,0,1,22,0,0,135,12,20,0,22,0,0,0,135,22,21,0,12,0,0,0,119,0,16,0,0,13,1,0,119,0,14,0,1,22,0,0,132,0,0,22,1,21,4,0,135,22,59,0,21,0,0,0,130,22,0,0,0,13,22,0,1,22,0,0,132,0,0,22,38,22,13,1,120,22,2,0,119,0,21,0,135,13,4,0,1,22,0,0,132,0,0,22,1,21,4,0,135,22,59,0,21,0,0,0,130,22,0,0,0,12,22,0,1,22,0,0,132,0,0,22,38,22,12,1,121,22,7,0,1,22,0,0,135,13,20,0,22,0,0,0,135,22,21,0,13,0,0,0,119,0,3,0,135,22,60,0,13,0,0,0,1,22,0,0,132,0,0,22,1,21,4,0,135,22,59,0,21,0,0,0,130,22,0,0,0,13,22,0,1,22,0,0,132,0,0,22,38,22,13,1,120,22,15,0,1,22,0,0,132,0,0,22,1,21,0,0,135,22,3,0,16,14,21,0,130,22,0,0,0,13,22,0,1,22,0,0,132,0,0,22,38,22,13,1,120,22,4,0,1,22,112,28,85,14,22,0,119,0,4,0,135,13,4,0,135,22,60,0,13,0,0,0,25,2,0,12,46,22,2,14,44,242,0,0,25,1,0,16,82,22,1,0,121,22,17,0,1,22,0,0,132,0,0,22,1,21,173,1,135,22,1,0,21,2,0,0,130,22,0,0,0,0,22,0,1,22,0,0,132,0,0,22,38,22,0,1,121,22,6,0,135,15,4,0,135,22,5,0,14,0,0,0,135,22,11,0,15,0,0,0,25,0,14,4,116,1,0,0,1,22,0,0,85,0,22,0,135,22,5,0,14,0,0,0,1,14,0,0,137,15,0,0,139,14,0,0,119,0,1,0,1,14,0,0,137,15,0,0,139,14,0,0,119,0,2,254,1,19,0,0,139,19,0,0,140,4,18,0,0,0,0,0,2,14,0,0,254,1,0,0,2,15,0,0,52,1,0,0,136,16,0,0,0,13,16,0,136,16,0,0,25,16,16,64,137,16,0,0,0,6,13,0,25,10,13,52,1,16,44,1,3,7,0,16,25,11,10,11,1,16,0,0,85,10,16,0,1,17,0,0,109,10,4,17,1,16,0,0,109,10,8,16,0,9,6,0,25,5,9,40,116,9,3,0,25,9,9,4,25,3,3,4,54,16,9,5,188,242,0,0,25,8,6,40,1,16,0,0,132,0,0,16,1,17,203,1,135,16,3,0,17,8,10,0,130,16,0,0,0,12,16,0,1,16,0,0,132,0,0,16,38,16,12,1,121,16,3,0,135,3,4,0,119,0,85,0,1,16,48,1,3,12,0,16,82,4,12,0,94,16,0,15,48,16,4,16,128,243,0,0,0,9,4,0,0,3,6,0,25,5,9,40,116,9,3,0,25,9,9,4,25,3,3,4,54,16,9,5,44,243,0,0,25,9,4,40,116,9,8,0,106,17,8,4,109,9,4,17,106,16,8,8,109,9,8,16,1,16,0,0,85,8,16,0,1,17,0,0,109,8,4,17,1,16,0,0,109,8,8,16,82,16,12,0,25,16,16,52,85,12,16,0,119,0,28,0,1,16,0,0,132,0,0,16,135,16,3,0,14,7,6,0,130,16,0,0,0,9,16,0,1,16,0,0,132,0,0,16,38,16,9,1,121,16,10,0,135,3,4,0,1,16,0,0,102,17,8,11,56,16,16,17,88,244,0,0,82,17,8,0,135,16,8,0,17,0,0,0,119,0,36,0,1,16,0,0,102,17,8,11,56,16,16,17,236,243,0,0,82,17,8,0,135,16,8,0,17,0,0,0,119,0,1,0,78,16,11,0,34,16,16,0,121,16,4,0,82,17,10,0,135,16,8,0,17,0,0,0,134,16,0,0,224,158,0,0,0,1,2,0,82,4,12,0,26,5,4,52,26,3,4,52,85,12,3,0,26,4,4,12,102,16,4,11,34,16,16,0,121,16,5,0,82,17,4,0,135,16,8,0,17,0,0,0,82,3,12,0,52,16,3,5,80,244,0,0,0,4,3,0,119,0,243,255,137,13,0,0,139,0,0,0,1,16,0,0,78,17,11,0,49,16,16,17,112,244,0,0,135,16,11,0,3,0,0,0,82,17,10,0,135,16,8,0,17,0,0,0,135,16,11,0,3,0,0,0,139,0,0,0,140,1,9,0,0,0,0,0,120,0,3,0,1,4,1,0,139,4,0,0,106,1,0,92,121,1,3,0,0,4,1,0,139,4,0,0,1,5,128,0,3,2,0,5,82,5,2,0,121,5,39,0,1,5,236,1,135,1,12,0,5,0,0,0,1,5,0,0,132,0,0,5,1,6,186,2,135,5,3,0,6,1,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,121,5,7,0,135,4,4,0,135,5,8,0,1,0,0,0,135,5,11,0,4,0,0,0,119,0,19,0,1,5,220,64,85,1,5,0,1,5,228,1,82,6,2,0,97,1,5,6,1,6,132,0,3,4,0,6,1,6,232,1,82,5,4,0,97,1,6,5,1,5,0,0,85,2,5,0,1,5,0,0,85,4,5,0,134,4,0,0,204,248,0,0,0,1,0,0,139,4,0,0,1,5,8,0,135,1,43,0,5,0,0,0,1,5,0,0,132,0,0,5,1,6,240,1,2,7,0,0,141,200,0,0,135,5,3,0,6,1,7,0,130,5,0,0,0,2,5,0,1,5,0,0,132,0,0,5,38,5,2,1,121,5,8,0,1,5,0,0,135,2,20,0,5,0,0,0,135,5,44,0,1,0,0,0,0,1,2,0,119,0,13,0,1,5,0,0,132,0,0,5,1,7,77,0,1,6,32,24,1,8,158,1,135,5,6,0,7,1,6,8,1,5,0,0,132,0,0,5,1,5,0,0,135,1,20,0,5,0,0,0,135,5,58,0,1,0,0,0,1,5,0,0,132,0,0,5,1,5,146,1,135,1,7,0,5,0,0,0,130,5,0,0,0,2,5,0,1,5,0,0,132,0,0,5,38,5,2,1,121,5,71,0,1,5,0,0,135,1,20,0,5,0,0,0,135,5,58,0,1,0,0,0,1,5,0,0,132,0,0,5,1,5,146,1,135,1,7,0,5,0,0,0,130,5,0,0,0,0,5,0,1,5,0,0,132,0,0,5,38,5,0,1,121,5,21,0,135,1,4,0,1,5,0,0,132,0,0,5,1,8,4,0,135,5,59,0,8,0,0,0,130,5,0,0,0,0,5,0,1,5,0,0,132,0,0,5,38,5,0,1,121,5,7,0,1,5,0,0,135,0,20,0,5,0,0,0,135,5,21,0,0,0,0,0,119,0,17,0,0,4,1,0,119,0,15,0,1,5,0,0,132,0,0,5,1,8,4,0,135,5,59,0,8,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,120,5,3,0,0,3,1,0,119,0,23,0,135,4,4,0,1,5,0,0,132,0,0,5,1,8,4,0,135,5,59,0,8,0,0,0,130,5,0,0,0,0,5,0,1,5,0,0,132,0,0,5,38,5,0,1,121,5,7,0,1,5,0,0,135,4,20,0,5,0,0,0,135,5,21,0,4,0,0,0,119,0,5,0,135,5,11,0,4,0,0,0,119,0,2,0,0,3,1,0,135,5,61,0,39,5,3,1,0,4,5,0,139,4,0,0,140,17,26,0,0,0,0,0,135,0,62,0,0,0,0,0,121,2,8,0,135,19,63,0,0,0,0,0,1,17,0,0,0,18,19,0,135,19,64,0,19,0,0,0,119,0,7,0,135,19,65,0,0,0,0,0,0,17,19,0,1,18,0,0,135,19,66,0,19,0,0,0,135,0,67,0,19,0,0,0,1,20,255,255,47,20,20,5,164,247,0,0,135,20,68,0,0,5,0,0,135,20,69,0,0,4,0,0,135,20,70,0,0,6,0,0,135,20,71,0,0,9,0,0,135,20,72,0,0,8,0,0,135,20,73,0,0,10,0,0,135,20,74,0,0,7,0,0,135,20,75,0,0,15,0,0,135,20,76,0,0,16,0,0,135,20,77,0,0,13,0,0,135,20,78,0,0,14,0,0,135,20,79,0,0,1,0,0,135,20,80,0,0,12,0,0,135,20,81,0,0,11,0,0,121,3,14,0,1,20,1,0,135,9,82,0,20,0,0,0,1,21,0,0,1,23,164,0,59,24,0,0,1,25,0,0,135,22,83,0,23,24,25,0,135,20,84,0,9,21,22,0,135,20,85,0,0,9,0,0,121,2,4,0,135,0,86,0,18,0,0,0,119,0,4,0,134,0,0,0,136,244,0,0,17,0,0,0,120,0,11,0,135,8,87,0,19,0,0,0,135,9,88,0,19,0,0,0,1,22,0,0,135,21,89,0,19,0,0,0,135,20,90,0,22,8,9,21,119,0,8,0,135,9,91,0,19,0,0,0,1,21,1,0,135,22,92,0,19,0,0,0,135,20,93,0,21,9,22,0,121,2,5,0,135,20,94,0,18,0,0,0,139,0,0,0,119,0,4,0,135,20,95,0,17,0,0,0,139,0,0,0,139,0,0,0,140,2,7,0,0,0,0,0,135,2,96,0,0,1,0,0,1,5,0,0,132,0,0,5,1,6,149,1,135,5,7,0,6,2,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,120,5,17,0,1,5,0,0,132,0,0,5,1,6,150,1,135,5,7,0,6,2,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,120,5,6,0,135,5,97,0,2,0,0,0,25,3,0,92,82,3,3,0,139,3,0,0,1,5,0,0,135,1,20,0,5,0,0,0,135,5,58,0,1,0,0,0,1,5,0,0,132,0,0,5,1,6,146,1,135,5,7,0,6,0,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,121,5,69,0,1,5,0,0,135,1,20,0,5,0,0,0,135,5,58,0,1,0,0,0,1,5,0,0,132,0,0,5,1,6,146,1,135,5,7,0,6,0,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,121,5,21,0,135,1,4,0,1,5,0,0,132,0,0,5,1,6,4,0,135,5,59,0,6,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,121,5,7,0,1,5,0,0,135,4,20,0,5,0,0,0,135,5,21,0,4,0,0,0,119,0,16,0,0,3,1,0,119,0,14,0,1,5,0,0,132,0,0,5,1,6,4,0,135,5,59,0,6,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,120,5,2,0,119,0,21,0,135,3,4,0,1,5,0,0,132,0,0,5,1,6,4,0,135,5,59,0,6,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,121,5,7,0,1,5,0,0,135,4,20,0,5,0,0,0,135,5,21,0,4,0,0,0,119,0,3,0,135,5,11,0,3,0,0,0,135,5,61,0,135,5,97,0,2,0,0,0,25,4,0,92,82,4,4,0,139,4,0,0,140,2,9,0,0,0,0,0,25,2,0,76,25,3,0,80,82,6,3,0,82,7,2,0,50,6,6,7,216,250,0,0,1,6,1,0,139,6,0,0,135,6,98,0,0,0,0,0,1,7,1,0,1,8,0,0,135,6,99,0,0,7,8,0,1,8,1,0,1,7,0,0,135,6,100,0,0,8,7,0,120,6,47,0,82,4,2,0,135,5,101,0,4,0,0,0,125,6,5,5,4,0,0,0,135,4,102,0,6,0,0,0,32,7,4,0,121,7,4,0,1,7,1,0,0,6,7,0,119,0,4,0,82,7,3,0,16,7,7,4,0,6,7,0,120,6,3,0,1,0,7,0,119,0,36,0,82,5,2,0,135,4,101,0,5,0,0,0,125,5,4,4,5,0,0,0,78,7,5,0,32,7,7,125,121,7,4,0,25,7,5,1,0,6,7,0,119,0,3,0,1,7,0,0,0,6,7,0,0,5,6,0,32,7,5,0,121,7,4,0,1,7,1,0,0,6,7,0,119,0,4,0,82,7,3,0,16,7,7,5,0,6,7,0,120,6,3,0,1,0,7,0,119,0,11,0,134,6,0,0,0,0,0,0,0,1,0,0,82,6,3,0,82,7,2,0,50,6,6,7,212,251,0,0,1,0,7,0,119,0,2,0,119,0,193,255,32,6,0,7,121,6,3,0,1,6,1,0,139,6,0,0,1,6,0,0,139,6,0,0,140,3,9,0,0,0,0,0,1,6,2,0,135,8,103,0,2,0,0,0,135,7,104,0,8,0,0,0,135,5,93,0,6,0,7,0,1,7,3,0,1,6,0,0,135,5,105,0,7,6,0,0,120,5,9,0,1,6,20,0,135,5,106,0,6,0,0,0,1,6,3,0,1,7,0,0,135,5,105,0,6,7,0,0,121,5,249,255,1,5,4,0,1,7,0,0,135,1,105,0,5,7,0,0,121,1,17,0,1,7,1,0,135,4,107,0,7,0,0,0,1,7,0,0,1,5,0,0,135,0,108,0,0,7,5,0,85,4,0,0,135,7,62,0,1,0,0,0,1,6,0,0,1,8,0,0,135,5,109,0,0,7,6,8,0,0,4,0,139,0,0,0,1,5,5,0,1,8,0,0,135,1,105,0,5,8,0,0,1,8,6,0,1,5,0,0,135,3,105,0,8,5,0,0,20,5,3,1,120,5,3,0,1,0,0,0,139,0,0,0,1,5,1,0,135,4,107,0,5,0,0,0,125,5,1,1,0,0,0,0,135,2,62,0,5,0,0,0,120,3,3,0,1,1,0,0,119,0,3,0,135,1,62,0,3,0,0,0,1,5,0,0,135,0,108,0,2,1,5,0,85,4,0,0,0,0,4,0,139,0,0,0,0,0,0,0],eb+61440);var relocations=[];relocations=relocations.concat([3404,3428,3432,3436,3440,3444,3448,3452,3840,3988,4044,4076,4176,4576,4676,4764,5084,5116,5144,5164,5196,5228,5244,5968,6260,6340,6472,6808,7156,7308,7324,7428,7516,7600,7912,7936,9384,9480,11740,11904,12196,12276,12424,12904,13120,13344,13840,13924,14108,14152,14784,14952,15108,15276,15376,15460,15784,15968,16352,16356,16360,16364,16368,16372,16376,16380,16384,16388,16392,16396,16400,16404,16408,16412,16416,16420,16424,16428,16432,16436,16440,16444,16448,16452,16456,16460,16464,16468,16472,16476,16480,16484,16488,16492,16496,16500,16504,16508,16512,16516,16520,16524,16528,16532,16536,16540,16544,16548,16552,16556,16560,16564,16568,16572,16576,16580,16584,16636,16640,16764,16924,17040,17396,17564,17680,17856,18332,18448,18864,19032,19144,19420,19540,19564,19768,20104,20260,20264,20268,20272,20276,20280,20284,20288,20292,20296,20300,20304,20308,20312,20316,20320,20324,20328,20332,20336,20340,20344,20348,20352,20356,20360,20364,20368,20372,20376,20380,20384,20388,20392,20396,20400,20404,20408,20412,20416,20420,20424,20428,20432,20436,20440,20444,20448,20452,20456,20460,20464,20468,20472,20476,20480,20484,20488,20492,20496,20500,20504,20508,20512,20516,20520,20524,20528,20532,20536,20540,20544,20548,20552,20556,20560,20564,20568,20572,20576,20580,20584,20588,20592,20596,20600,20604,20608,20612,20616,20620,20624,20628,20632,20636,20640,20644,20648,20652,20656,20660,20664,20668,20672,20676,20680,20684,20688,20692,20696,20700,20704,20708,20712,20716,20720,20724,20728,20732,20736,20740,20744,20748,20752,20756,20760,20764,20768,20772,20776,20780,20784,20788,20792,20796,20800,20804,20808,20812,20816,20820,20824,20828,20832,20836,20840,20844,20848,20852,20856,20860,20864,20868,20872,20876,20880,20884,20888,20892,20896,20900,20904,20908,20912,20916,20920,20924,20928,20932,20936,20940,20944,20948,20952,20956,20960,20964,20968,20972,20976,20980,20984,20988,20992,20996,21e3,21004,21008,21012,21016,21020,21024,21028,21032,21036,21040,21044,21048,21052,21056,21060,21064,21068,21072,21076,21080,21084,21088,21092,21096,21100,21104,21108,21112,21116,21120,21124,21128,21132,21136,21376,21420,22420,22656,22660,22664,22668,22672,22676,22680,22684,22688,22692,22696,22700,22704,22708,22712,22716,22720,22724,22728,22732,22736,22740,22744,22748,22752,22756,22760,22764,22768,22772,22776,22780,22784,22788,22792,22796,22800,22804,22808,22812,22816,22820,22824,22828,22832,22836,22840,22844,22848,22852,22856,22860,22864,22868,22872,22876,22880,22884,22888,22892,22896,22900,22904,22908,22912,22916,22920,23236,23420,23816,23984,24128,24244,24400,24584,24612,24616,24620,24624,24628,24632,24636,24640,24644,24648,24652,24656,24660,24664,24668,24672,24676,24680,24684,24688,24692,24696,24700,24704,24708,24712,24716,24720,24724,24728,24732,24736,24740,24744,24748,24752,24756,24760,24764,24768,24772,24776,24780,24784,24788,24792,24796,24800,24804,24808,24812,24816,24820,24824,24828,24832,24836,24840,24844,24848,24852,24856,24860,25072,25256,25268,25292,25344,25372,25392,25412,25460,25524,25580,25620,25624,25628,25632,25636,25640,25644,25648,25652,25656,25660,25664,25668,25672,25676,25680,25684,25688,25692,25696,25700,25704,25708,25712,25716,25720,25724,25728,25732,25736,25740,25744,25748,25752,25756,25760,25764,25768,25772,25776,25780,25784,25788,25792,25796,25800,25804,25808,25812,25816,25820,25824,25828,25832,25836,25840,25844,25848,25852,25856,25860,25864,25868,25872,25876,25880,25884,25888,25892,25896,25900,25904,25908,25912,25916,25920,25924,25928,25932,25936,25940,25944,25948,25952,25956,25960,25964,25968,25972,25976,25980,25984,25988,25992,25996,26e3,26004,26008,26012,26016,26020,26024,26028,26032,26036,26040,26044,26048,26052,26056,26060,26064,26068,26072,26076,26080,26084,26088,26092,26096,26100,26104,26108,26112,26116,26120,26124,26128,26132,26136,26140,26144,26148,26152,26156,26160,26164,26168,26172,26176,26180,26184,26188,26192,26196,26200,26204,26208,26212,26216,26220,26224,26228,26232,26236,26240,26244,26248,26252,26256,26260,26264,26268,26272,26276,26280,26284,26288,26292,26296,26300,26304,26308,26312,26316,26320,26324,26328,26332,26336,26340,26344,26348,26352,26356,26360,26364,26368,26372,26376,26380,26384,26388,26392,26396,26400,26404,26408,26412,26416,26420,26424,26428,26432,26436,26440,26444,26448,26452,26456,26460,26464,26468,26472,26476,26480,26484,26488,26492,27156,27184,27212,27300,27356,27372,27396,27412,27436,27460,27484,27540,27860,28140,28280,28304,29040,29392,29492,29576,29812,29932,30164,30248,30420,30464,30804,30988,31056,31180,31352,31512,31704,31808,32124,32180,32268,32300,32320,32452,32744,32828,33012,33104,33256,33540,33608,33868,35180,35808,35940,36e3,36132,36248,36356,36488,36648,37300,37492,37552,37608,37980,38040,38204,38232,38236,38240,38244,38248,38252,38256,38260,38264,38268,38272,38276,38280,38284,38288,38292,38296,38300,38304,38308,38312,38316,38320,38324,38328,38332,38336,38340,38344,38348,38352,38356,38360,38364,38368,38372,38376,38380,38384,38388,38392,38396,38400,38404,38408,38412,38416,38420,38424,38428,38432,38436,38440,38444,38448,38452,38456,38460,38464,38468,38472,38476,38480,38484,38488,38492,38496,38500,38504,38508,38512,38516,38520,38524,38528,38532,38536,38540,38544,38548,38552,38556,38560,38564,38568,38572,38576,38580,38584,38588,38592,38596,38600,38604,38608,38612,38616,38620,38624,38628,38632,38636,38640,38644,38648,38652,38656,38660,38664,38668,38672,38676,38680,38684,38688,38692,38696,38700,38704,38708,38712,38716,38720,38724,38728,38732,38736,38740,38744,38748,38752,38756,38760,38764,38768,38772,38776,38780,38784,38788,38792,38796,38800,38804,38808,38812,38816,38820,38824,38828,38832,38836,38840,38844,38848,38852,38856,38860,38864,38868,38872,38876,38880,38884,38888,38892,38896,38900,38904,38908,38912,38916,38920,38924,38928,38932,38936,38940,38944,38948,38952,38956,38960,38964,38968,38972,38976,38980,38984,38988,38992,38996,39e3,39004,39008,39012,39016,39020,39024,39028,39032,39036,39040,39044,39048,39052,39056,39060,39064,39068,40132,40156,40276,40384,40436,40500,40516,40612,40632,40896,40972,41060,41188,41352,41456,41600,41764,41788,41904,42388,43040,43636,43796,43964,44020,44160,44240,44296,44336,44392,44992,45308,45364,45400,45472,45512,45572,45636,45684,45740,45776,45840,45880,46096,46140,46312,46488,46544,46840,47004,47228,48248,49068,50216,50448,50504,50968,51120,51168,51232,51288,51332,51868,51940,52120,52160,52252,52336,52368,52496,52528,52612,52816,52864,53036,53092,53224,53308,53472,53512,53708,53812,54048,54120,54272,54556,54636,55032,55100,55240,55520,55600,55796,55880,56044,56088,56164,56464,56620,56824,57104,57184,57380,57652,58376,58568,58764,59248,59628,59712,59764,59984,59988,60188,60484,60976,61020,61064,61108,61900,62156,62236,62268,62392,62424,62532,62564,63384,64204,64456,62472,62792,63576,64436]);for(var i=0;i>2]=HEAPU32[eb+relocations[i]>>2]+eb}}));function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}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"])}function ___cxa_allocate_exception(size){return _malloc(size)}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_call_unexpected(exception){Module.printErr("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){Module["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function ___cxa_find_matching_catch_2(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_3(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_4(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_6(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_8(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_get_exception_ptr(ptr){return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_rethrow(){var ptr=EXCEPTIONS.caught.pop();if(!EXCEPTIONS.infos[ptr].rethrown){EXCEPTIONS.caught.push(ptr);EXCEPTIONS.infos[ptr].rethrown=true}EXCEPTIONS.last=ptr;throw ptr}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}function ___lock(){}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};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}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"};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){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](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 ___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 ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}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(size0&&pos+268<=count){var id;var type;var name=stream.getdents.pop();if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP32[dirp+pos>>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;stringToUTF8(name,dirp+pos+11,256);pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>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 ___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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}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 ___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}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___unlock(){}function _abort(){Module["abort"]()}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){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=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(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 ENV={};function _dlopen(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/kripken/emscripten/wiki/Linking");var searchpaths=[];if(filename===0){filename="__self__"}else{var strfilename=Pointer_stringify(filename);var isValidFile=(function(filename){var target=FS.findObject(filename);return target&&!target.isFolder&&!target.isDevice});if(isValidFile(strfilename)){filename=strfilename}else{if(ENV["LD_LIBRARY_PATH"]){searchpaths=ENV["LD_LIBRARY_PATH"].split(":")}for(var ident in searchpaths){var searchfile=PATH.join2(searchpaths[ident],strfilename);if(isValidFile(searchfile)){filename=searchfile;break}}}}if(DLFCN.loadedLibNames[filename]){var handle=DLFCN.loadedLibNames[filename];DLFCN.loadedLibs[handle].refcount++;return handle}if(filename==="__self__"){var handle=-1;var lib_module=Module;var cached_functions={}}else{var target=FS.findObject(filename);if(!target||target.isFolder||target.isDevice){DLFCN.errorMsg="Could not find dynamic lib: "+filename;return 0}FS.forceLoadFile(target);var lib_module;try{var lib_data=FS.readFile(filename,{encoding:"utf8"});lib_module=eval(lib_data)(alignFunctionTables(),Module)}catch(e){DLFCN.errorMsg="Could not evaluate dynamic lib: "+filename+"\n"+e;return 0}var handle=1;for(var key in DLFCN.loadedLibs){if(DLFCN.loadedLibs.hasOwnProperty(key))handle++}if(flag&256){for(var ident in lib_module){if(lib_module.hasOwnProperty(ident)){if(ident[0]=="_"){Module[ident]=lib_module[ident]}}}}var cached_functions={}}DLFCN.loadedLibs[handle]={refcount:1,name:filename,module:lib_module,cached_functions:cached_functions};DLFCN.loadedLibNames[filename]=handle;return handle}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(lib.cached_functions.hasOwnProperty(symbol)){return lib.cached_functions[symbol]}if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result=="function"){result=addFunction(result);lib.cached_functions=result}return result}}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";function Browser_setImmediate_messageHandler(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=(function(){Module["dynCall_vi"](func,arg)})}else{browserIterationFunc=(function(){Module["dynCall_v"](func)})}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas)Browser.setFullscreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2,Module["emtStackSave"]()>>2));var stacktop=Module["stackSave"]();var resumedCallbacksForYield=false;function resumeCallbacksForYield(){if(resumedCallbacksForYield)return;resumedCallbacksForYield=true;EmterpreterAsync.yieldCallbacks.forEach((function(func){func()}));Browser.resumeAsyncCallbacks()}var callingDoAsyncOp=1;doAsyncOp(function resume(post){if(ABORT){return}if(callingDoAsyncOp){assert(callingDoAsyncOp===1);callingDoAsyncOp++;setTimeout((function(){resume(post)}),0);return}assert(EmterpreterAsync.state===1||EmterpreterAsync.state===3);EmterpreterAsync.setState(3);if(yieldDuring){resumeCallbacksForYield()}HEAP32.set(stack,EMTSTACKTOP>>2);EmterpreterAsync.setState(2);if(Browser.mainLoop.func){Browser.mainLoop.resume()}assert(!EmterpreterAsync.postAsync);EmterpreterAsync.postAsync=post||null;Module["emterpret"](stack[0]);if(!yieldDuring&&EmterpreterAsync.state===0){Browser.resumeAsyncCallbacks()}if(EmterpreterAsync.state===0){EmterpreterAsync.asyncFinalizers.forEach((function(func){func()}));EmterpreterAsync.asyncFinalizers.length=0}});callingDoAsyncOp=0;EmterpreterAsync.setState(1);if(Browser.mainLoop.func){Browser.mainLoop.pause()}if(yieldDuring){setTimeout((function(){resumeCallbacksForYield()}),0)}else{Browser.pauseAsyncCallbacks()}}else{assert(EmterpreterAsync.state===2);EmterpreterAsync.setState(0);if(EmterpreterAsync.postAsync){var ret=EmterpreterAsync.postAsync();EmterpreterAsync.postAsync=null;return ret}}})};function _emscripten_sleep(ms){EmterpreterAsync.handle((function(resume){setTimeout((function(){resume()}),ms)}))}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}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}var _llvm_ceil_f64=Math_ceil;function _llvm_eh_typeid_for(type){return type}var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}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()}___buildEnvironment(ENV);Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function cl(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;r=u;u=u+48|0;m=r+32|0;n=r+24|0;o=r+16|0;q=r+8|0;p=r;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=32680){q=0;u=r;return q|0}g=a+60|0;d=c+60|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+64>>2]|0:e;l=b[d+11>>0]|0;h=l<<24>>24<0;if((j|0)!=((h?f[c+64>>2]|0:l&255)|0)){q=0;u=r;return q|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;a:do if(i){if(!h)if(lO(l,d,j)|0){q=0;u=r;return q|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){q=0;u=r;return q|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=r;return d|0}while(0);l=a+76|0;x=0;Ga(462,m|0,f[l>>2]|0);a=x;x=0;b:do if(a&1){e=_a(6240,0)|0;d=I}else{f[m>>2]=9376;e=f[m+4>>2]|0;d=f[e+68>>2]|0;e=f[e+64>>2]|0;k=c+76|0;x=0;Ga(462,n|0,f[k>>2]|0);c=x;x=0;if(c&1){e=_a(6240,0)|0;d=I;_P(m);break}f[n>>2]=9376;c=f[n+4>>2]|0;c=(d-e|0)==((f[c+68>>2]|0)-(f[c+64>>2]|0)|0);_P(n);_P(m);if(!c){q=0;u=r;return q|0}x=0;Ga(462,o|0,f[l>>2]|0);n=x;x=0;c:do if(!(n&1)){f[o>>2]=9376;j=f[o+4>>2]|0;j=(f[j+68>>2]|0)-(f[j+64>>2]|0)>>3;_P(o);if(!j){q=1;u=r;return q|0}h=q+4|0;i=p+4|0;g=0;while(1){x=0;Ga(462,q|0,f[l>>2]|0);o=x;x=0;if(o&1)break c;f[q>>2]=9376;e=f[(f[(f[h>>2]|0)+64>>2]|0)+(g<<3)+4>>2]|0;d=f[(f[e>>2]|0)+92>>2]|0;x=0;Ga(462,p|0,f[k>>2]|0);o=x;x=0;if(o&1){g=24;break}f[p>>2]=9376;x=0;d=sa(d|0,e|0,f[(f[(f[i>>2]|0)+64>>2]|0)+(g<<3)+4>>2]|0)|0;o=x;x=0;if(o&1){g=25;break}_P(p);_P(q);g=g+1|0;if(!d){d=0;g=27;break}if(g>>>0>=j>>>0){d=1;g=27;break}}if((g|0)==24){e=_a(6240,0)|0;d=I}else if((g|0)==25){e=_a(6240,0)|0;d=I;_P(p)}else if((g|0)==27){u=r;return d|0}_P(q);break b}while(0);e=_a(6240,0)|0;d=I}while(0);q=(d|0)==(Sb(6240)|0);Ua(e|0)|0;if(q){Wa();q=0;u=r;return q|0}x=0;Ea(3);x=0;d=Ya()|0;x=0;Ea(4);r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}else jb(d|0);return 0}function dl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=0;h=u;u=u+80|0;i=h+16|0;e=h;c=f[c+4>>2]|0;if(!c){i=0;u=h;return i|0}d=a+72|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](c,d);TP(a+76|0,1);Ge(i,d);c=f[a+16>>2]|0;a:do if(!(b[c+24>>0]|0)){if(b[c+21>>0]|0){j=a+424|0;d=b[j+11>>0]|0;c=d<<24>>24<0;x=0;ta(41,i|0,(c?f[j>>2]|0:j)|0,(c?f[a+428>>2]|0:d&255)|0)|0;d=x;x=0;if(d&1){g=10;break}x=0;Ga(530,e|0,a|0);j=x;x=0;do if(j&1)c=Ya()|0;else{d=e+11|0;j=b[d>>0]|0;a=j<<24>>24<0;x=0;ta(41,i|0,(a?f[e>>2]|0:e)|0,(a?f[e+4>>2]|0:j&255)|0)|0;j=x;x=0;if(j&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[e>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[e>>2]|0);g=29;break a}while(0);break}c=a+460|0;j=b[c+11>>0]|0;do if(!((j<<24>>24<0?f[a+464>>2]|0:j&255)|0)){x=0;d=wa(21,c|0,0,-1,89823,0)|0;j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}else if(!d){g=29;break a}else break}while(0);k=a+424|0;j=b[k+11>>0]|0;d=j<<24>>24<0;x=0;ta(41,i|0,(d?f[k>>2]|0:k)|0,(d?f[a+428>>2]|0:j&255)|0)|0;j=x;x=0;if(j&1)g=10;else{x=0;Ia(90,e|0,a|0,c|0);k=x;x=0;do if(k&1)c=Ya()|0;else{d=e+11|0;k=b[d>>0]|0;j=k<<24>>24<0;x=0;ta(41,i|0,(j?f[e>>2]|0:e)|0,(j?f[e+4>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[e>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[e>>2]|0);g=29;break a}while(0)}}else g=29;while(0);if((g|0)==29){e=i+11|0;x=0;g=qa(325,((b[e>>0]|0)<0?f[i>>2]|0:i)|0)|0;k=x;x=0;if(k&1)g=10;else{c=i+48|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=f[i+24>>2]|0;if(c|0){d=i+28|0;a=f[d>>2]|0;if((a|0)!=(c|0))f[d>>2]=a+(~(((a+-24-c|0)>>>0)/24|0)*24|0);Hta(c)}c=f[i+12>>2]|0;if(c|0){d=i+16|0;a=f[d>>2]|0;if((a|0)!=(c|0))f[d>>2]=a+(~((a+-4-c|0)>>>2)<<2);Hta(c)}if((b[e>>0]|0)<0)Hta(f[i>>2]|0);k=g;u=h;return k|0}}if((g|0)==10)c=Ya()|0;d=i+48|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=f[i+24>>2]|0;if(d|0){a=i+28|0;e=f[a>>2]|0;if((e|0)!=(d|0))f[a>>2]=e+(~(((e+-24-d|0)>>>0)/24|0)*24|0);Hta(d)}d=f[i+12>>2]|0;if(d|0){a=i+16|0;e=f[a>>2]|0;if((e|0)!=(d|0))f[a>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}if((b[i+11>>0]|0)>=0)jb(c|0);Hta(f[i>>2]|0);jb(c|0);return 0}function el(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+128|0;o=n;m=n+116|0;k=n+104|0;Gv(m,g);x=0;i=o;g=i+40|0;do{f[i>>2]=f[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(g|0));c=wa(24,a|0,c|0,d|0,o|0,m|0)|0;d=x;x=0;if(d&1){d=Ya()|0;a=I;g=f[m>>2]|0;if(!g){o=d;jb(o|0)}c=m+4|0;e=f[c>>2]|0;if((e|0)!=(g|0)){do{i=e+-52|0;f[c>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[c>>2]|0}else e=i}while((e|0)!=(g|0));g=f[m>>2]|0}Hta(g);o=d;jb(o|0)}g=f[m>>2]|0;if(g|0){a=m+4|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{i=e+-52|0;f[a>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=i}while((e|0)!=(g|0));g=f[m>>2]|0}Hta(g)}$x(o,c);x=0;Fa(442,o|0);m=x;x=0;do if(m&1){j=Ya()|0;d=I;c=o+60|0}else{c=o+60|0;x=0;Ga(561,k|0,c|0);m=x;x=0;if(m&1){j=Ya()|0;d=I;break}e=k+11|0;g=b[e>>0]|0;do if(((g<<24>>24<0?f[k+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,k|0,0,-1,39063,1)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}else{l=(g|0)==0;j=b[e>>0]|0;break}}else{l=0;j=g}while(0);if(j<<24>>24<0)Hta(f[k>>2]|0);h=+p[o+88>>3];if(l)h=h*255.0/100.0;h=h<0.0?0.0:h;h=h>255.0?255.0:h;i=o+72|0;g=f[i>>2]|0;if(g|0){a=o+76|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));g=f[i>>2]|0}Hta(g)}g=f[c>>2]|0;if(!g){u=n;return +h}i=o+64|0;e=f[i>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[i>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}}while((e|0)!=(g|0));g=f[c>>2]|0}Hta(g);u=n;return +h}while(0);i=o+72|0;g=f[i>>2]|0;if(g|0){a=o+76|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));g=f[i>>2]|0}Hta(g)}g=f[o+60>>2]|0;if(g|0){i=o+64|0;e=f[i>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[i>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}}while((e|0)!=(g|0));g=f[c>>2]|0}Hta(g)}o=j;jb(o|0);return 0.0}function fl(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;s=0;t=u;u=u+32|0;p=t+16|0;q=t+8|0;r=t;if(!(Xp(a,c)|0)){i=a+72|0;j=c+72|0;l=b[j+11>>0]|0;k=l<<24>>24<0;l=k?f[c+76>>2]|0:l&255;g=b[i+11>>0]|0;e=g<<24>>24<0;g=e?f[a+76>>2]|0:g&255;h=l>>>0>>0;d=h?l:g;if(!d)s=35;else{d=lO(e?f[i>>2]|0:i,k?f[j>>2]|0:j,d)|0;if(!d)s=35}if((s|0)==35)d=g>>>0>>0?-1:h&1;s=(d|0)<0;u=t;return s|0}l=a+84|0;m=c+84|0;e=b[l+11>>0]|0;j=e<<24>>24<0;e=e&255;n=j?f[a+88>>2]|0:e;o=b[m+11>>0]|0;k=o<<24>>24<0;o=k?f[c+88>>2]|0:o&255;a:do if((n|0)==(o|0)){g=f[l>>2]|0;h=j?g:l;d=k?f[m>>2]|0:m;i=(n|0)==0;b:do if(j){if(!i)if(lO(h,d,n)|0)break a}else if(!i){if((b[d>>0]|0)==(g&255)<<24>>24)g=l;else break a;while(1){e=e+-1|0;g=g+1|0;if(!e)break b;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0))break a}}while(0);j=a+104|0;k=c+104|0;e=b[j+11>>0]|0;l=e<<24>>24<0;e=e&255;n=l?f[a+108>>2]|0:e;o=b[k+11>>0]|0;m=o<<24>>24<0;o=m?f[c+108>>2]|0:o&255;c:do if((n|0)==(o|0)){g=f[j>>2]|0;h=l?g:j;d=m?f[k>>2]|0:k;i=(n|0)==0;d:do if(l){if(!i)if(lO(h,d,n)|0)break c}else if(!i){if((b[d>>0]|0)==(g&255)<<24>>24)g=j;else break c;while(1){e=e+-1|0;g=g+1|0;if(!e)break d;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0))break c}}while(0);e=a+120|0;qV(p,f[e>>2]|0);f[p>>2]=7904;g=(f[p+4>>2]|0)==0;_P(p);h=c+120|0;qV(p,f[h>>2]|0);f[p>>2]=7904;d=(f[p+4>>2]|0)==0;_P(p);if(g|d){s=g&(d^1);u=t;return s|0}qV(q,f[e>>2]|0);f[q>>2]=7904;d=f[q+4>>2]|0;e=f[(f[d>>2]|0)+120>>2]|0;x=0;Ga(462,r|0,f[h>>2]|0);s=x;x=0;if(s&1){t=Ya()|0;_P(q);jb(t|0)}f[r>>2]=7904;x=0;d=sa(e|0,d|0,f[r+4>>2]|0)|0;s=x;x=0;if(s&1){t=Ya()|0;_P(r);_P(q);jb(t|0)}else{_P(r);_P(q);s=d;u=t;return s|0}}while(0);e=o>>>0>>0;d=e?o:n;if(!d)s=27;else{d=lO(l?f[j>>2]|0:j,m?f[k>>2]|0:k,d)|0;if(!d)s=27}if((s|0)==27)d=n>>>0>>0?-1:e&1;s=(d|0)<0;u=t;return s|0}while(0);e=o>>>0>>0;d=e?o:n;if(!d)s=31;else{d=lO(j?f[l>>2]|0:l,k?f[m>>2]|0:m,d)|0;if(!d)s=31}if((s|0)==31)d=n>>>0>>0?-1:e&1;s=(d|0)<0;u=t;return s|0}function gl(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.0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=u;u=u+128|0;n=m;l=m+116|0;k=m+104|0;Gv(l,g);x=0;h=n;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));c=wa(24,a|0,c|0,d|0,n|0,l|0)|0;d=x;x=0;if(d&1){d=Ya()|0;a=I;g=f[l>>2]|0;if(!g){n=d;jb(n|0)}c=l+4|0;e=f[c>>2]|0;if((e|0)!=(g|0)){do{h=e+-52|0;f[c>>2]=h;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[c>>2]|0}else e=h}while((e|0)!=(g|0));g=f[l>>2]|0}Hta(g);n=d;jb(n|0)}g=f[l>>2]|0;if(g|0){a=l+4|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{h=e+-52|0;f[a>>2]=h;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=h}while((e|0)!=(g|0));g=f[l>>2]|0}Hta(g)}$x(n,c);x=0;Fa(442,n|0);l=x;x=0;do if(l&1){j=Ya()|0;d=I;c=n+60|0}else{c=n+60|0;x=0;Ga(561,k|0,c|0);l=x;x=0;if(l&1){j=Ya()|0;d=I;break}e=k+11|0;g=b[e>>0]|0;do if(((g<<24>>24<0?f[k+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,k|0,0,-1,39063,1)|0;l=x;x=0;if(l&1){l=Za(0)|0;soa(l)}else{i=(g|0)==0?100.0:1.0;j=b[e>>0]|0;break}}else{i=1.0;j=g}while(0);if(j<<24>>24<0)Hta(f[k>>2]|0);o=+p[n+88>>3];o=o<0.0?0.0:o;i=o>i?i:o;h=n+72|0;g=f[h>>2]|0;if(g|0){a=n+76|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));g=f[h>>2]|0}Hta(g)}g=f[c>>2]|0;if(!g){u=m;return +i}h=n+64|0;e=f[h>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(g|0));g=f[c>>2]|0}Hta(g);u=m;return +i}while(0);h=n+72|0;g=f[h>>2]|0;if(g|0){a=n+76|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));g=f[h>>2]|0}Hta(g)}g=f[n+60>>2]|0;if(g|0){h=n+64|0;e=f[h>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(g|0));g=f[c>>2]|0}Hta(g)}n=j;jb(n|0);return 0.0}function hl(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,v=0,w=0,y=0,z=0;y=u;u=u+32|0;w=y;r=y+16|0;q=y+12|0;s=y+8|0;t=y+4|0;v=y+20|0;hz(a,c+316|0);z=a+4|0;j=f[z>>2]|0;i=f[a>>2]|0;h=i;n=j;if((j|0)==(i|0)){u=y;return}i=h+12|0;c=i+(e*12|0)|0;if(d)if((c|0)==(h|0))g=j;else{do if((c|0)==(n|0)){o=h;k=j;m=n}else{g=c;while(1){c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}x=0;Ga(501,h|0,0);p=x;x=0;if(p&1){c=9;break}f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;g=g+12|0;h=h+12|0;if((g|0)==(n|0)){c=11;break}}if((c|0)==9){p=Za(0)|0;soa(p)}else if((c|0)==11){m=f[z>>2]|0;o=h;k=m;break}}while(0);if((m|0)==(o|0))g=k;else{g=m;do{g=g+-12|0;f[z>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[z>>2]|0}}while((g|0)!=(o|0))}}else if(!e)g=j;else{do if((c|0)==(n|0)){p=i;l=j;g=n}else{while(1){h=i+11|0;if((b[h>>0]|0)<0){b[f[i>>2]>>0]=0;f[i+4>>2]=0}else{b[i>>0]=0;b[h>>0]=0}x=0;Ga(501,i|0,0);o=x;x=0;if(o&1){c=22;break}f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=c+12|0;i=i+12|0;if((c|0)==(n|0)){c=24;break}}if((c|0)==22){o=Za(0)|0;soa(o)}else if((c|0)==24){g=f[z>>2]|0;p=i;l=g;break}}while(0);if((g|0)==(p|0))g=l;else do{g=g+-12|0;f[z>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[z>>2]|0}}while((g|0)!=(p|0))}f[s>>2]=f[a>>2];f[t>>2]=g;x=0;f[q>>2]=f[s>>2];f[r>>2]=f[t>>2];b[w>>0]=b[v>>0]|0;c=ta(46,q|0,r|0,w|0)|0;v=x;x=0;if(!(v&1)){g=f[z>>2]|0;if((g|0)!=(c|0))do{g=g+-12|0;f[z>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[z>>2]|0}}while((g|0)!=(c|0));x=0;Ia(104,(f[a>>2]|0)+(((d^1)&1)*12|0)|0,c|0,w|0);d=x;x=0;if(!(d&1)){u=y;return}}h=Ya()|0;g=f[a>>2]|0;if(!g)jb(h|0);c=f[z>>2]|0;if((c|0)!=(g|0)){do{c=c+-12|0;f[z>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[z>>2]|0}}while((c|0)!=(g|0));g=f[a>>2]|0}Hta(g);jb(h|0)}function il(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;s=u;u=u+16|0;p=s;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;q=c+11|0;e=b[q>>0]|0;r=e<<24>>24<0?f[c+4>>2]|0:e&255;if(!r){u=s;return}l=p+11|0;m=p+1|0;n=p+2|0;o=p+3|0;d=0;a:while(1){i=e<<24>>24<0?f[c>>2]|0:c;e=b[i+d>>0]|0;do if(e<<24>>24==92){j=d+1|0;if(j>>>0>>0){g=1;e=j;do{h=b[i+e>>0]|0;if(!(h<<24>>24))break;if(!(Pla(h<<24>>24)|0))break;g=g+1|0;e=g+d|0}while(e>>>0>>0);if(g>>>0>1){x=0;Ka(4,p|0,c|0,j|0,g+-1|0,c|0);k=x;x=0;if(k&1){e=22;break a}h=Lea((b[l>>0]|0)<0?f[p>>2]|0:p,0,16)|0;if((b[l>>0]|0)<0)Hta(f[p>>2]|0);k=(b[((b[q>>0]|0)<0?f[c>>2]|0:c)+e>>0]|0)==32&1;j=(h|0)==0?65533:h;b[p>>0]=0;b[p+1>>0]=0;b[p+2>>0]=0;b[p+3>>0]=0;b[p+4>>0]=0;if(!(j>>>0<1114112&(j&-2048|0)!=55296)){e=13;break a}if(j>>>0<128){h=p;e=j}else{do if(j>>>0<2048){e=p;h=1;i=j>>>6|192}else if(j>>>0<65536){b[p>>0]=j>>>12|224;e=m;h=2;i=j>>>6&63|128;break}else{b[p>>0]=j>>>18|240;b[m>>0]=j>>>12&63|128;e=n;h=3;i=j>>>6&63|128;break}while(0);b[e>>0]=i;h=p+h|0;e=j&63|128}b[h>>0]=e;e=b[p>>0]|0;if(e<<24>>24){x=0;Ga(534,a|0,e|0);j=x;x=0;if(j&1){e=26;break a}e=b[m>>0]|0;if(e<<24>>24){x=0;Ga(534,a|0,e|0);j=x;x=0;if(j&1){e=26;break a}e=b[n>>0]|0;if(e<<24>>24){x=0;Ga(534,a|0,e|0);j=x;x=0;if(j&1){e=26;break a}e=b[o>>0]|0;if(e<<24>>24){x=0;Ga(534,a|0,e|0);j=x;x=0;if(j&1){e=26;break a}}}}}d=d+-1+g+k|0;break}}x=0;Ga(534,a|0,92);k=x;x=0;if(k&1){e=28;break a}}else{x=0;Ga(534,a|0,e|0);k=x;x=0;if(k&1){e=30;break a}}while(0);d=d+1|0;if(d>>>0>=r>>>0){e=36;break}e=b[q>>0]|0}if((e|0)==13){s=Ta(8)|0;f[s>>2]=16684;f[s+4>>2]=j;x=0;Ia(77,s|0,2528,223);x=0;e=26}else if((e|0)==22)d=Ya()|0;else if((e|0)==28)d=Ya()|0;else if((e|0)==30)d=Ya()|0;else if((e|0)==36){u=s;return}if((e|0)==26)d=Ya()|0;if((b[a+11>>0]|0)>=0)jb(d|0);Hta(f[a>>2]|0);jb(d|0)}function jl(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;p=0;a:while(1){n=b;o=b+-4|0;while(1){b:while(1){m=a;d=n-m|0;e=d>>2;switch(e|0){case 1:case 0:break a;case 2:{p=5;break a}case 3:{p=7;break a}case 4:{p=8;break a}case 5:{p=9;break a}default:{}}if((d|0)<124){p=11;break a}j=a+(((e|0)/2|0)<<2)|0;if((d|0)>3996){d=(e|0)/4|0;d=mE(a,a+(d<<2)|0,j,j+(d<<2)|0,o,c)|0}else d=RF(a,j,o,c)|0;i=f[a>>2]|0;g=f[j>>2]|0;if(i>>>0>>0){e=o;break}else e=o;while(1){e=e+-4|0;if((a|0)==(e|0))break;h=f[e>>2]|0;if(h>>>0>>0){p=29;break b}}d=a+4|0;g=f[o>>2]|0;if(i>>>0>=g>>>0){while(1){if((d|0)==(o|0))break a;e=f[d>>2]|0;if(i>>>0>>0)break;d=d+4|0}f[d>>2]=g;f[o>>2]=e;d=d+4|0}if((d|0)==(o|0))break a;else e=o;while(1){j=f[a>>2]|0;while(1){h=f[d>>2]|0;i=d+4|0;if(j>>>0>>0)break;else d=i}do{e=e+-4|0;g=f[e>>2]|0}while(j>>>0>>0);if(d>>>0>=e>>>0){a=d;continue b}f[d>>2]=g;f[e>>2]=h;d=i}}if((p|0)==29){p=0;f[a>>2]=h;f[e>>2]=i;d=d+1|0}g=a+4|0;c:do if(g>>>0>>0){l=j;while(1){k=f[l>>2]|0;while(1){i=f[g>>2]|0;j=g+4|0;if(i>>>0>>0)g=j;else break}do{e=e+-4|0;h=f[e>>2]|0}while(h>>>0>=k>>>0);if(g>>>0>e>>>0){h=l;i=g;break c}f[g>>2]=h;f[e>>2]=i;l=(l|0)==(g|0)?e:l;g=j;d=d+1|0}}else{h=j;i=g}while(0);if((i|0)!=(h|0)){e=f[h>>2]|0;g=f[i>>2]|0;if(e>>>0>>0){f[i>>2]=e;f[h>>2]=g;d=d+1|0}}if(!d){d=Tu(a,i,c)|0;e=i+4|0;if(Tu(e,b,c)|0){p=45;break}if(d){a=e;continue}}l=i;if((l-m|0)>=(n-l|0)){p=44;break}jl(a,i,c);a=i+4|0}if((p|0)==44){p=0;jl(i+4|0,b,c);b=i;continue}else if((p|0)==45){p=0;if(d)break;else{b=i;continue}}}if((p|0)==5){b=f[o>>2]|0;d=f[a>>2]|0;if(b>>>0>>0){f[a>>2]=b;f[o>>2]=d}}else if((p|0)==7)RF(a,a+4|0,o,c)|0;else if((p|0)==8)TG(a,a+4|0,a+8|0,o,c)|0;else if((p|0)==9)mE(a,a+4|0,a+8|0,a+12|0,o,c)|0;else if((p|0)==11)QG(a,b,c);return}function kl(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;o=0;m=u;u=u+112|0;n=m;e=m+64|0;q=m+52|0;p=m+40|0;i=e;j=d+12|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));ND(q,81592);x=0;Ga(511,p|0,c|0);l=x;x=0;if(l&1)c=Ya()|0;else{i=n;j=e;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(538,a|0,q|0);l=x;x=0;if(l&1){c=Ya()|0;j=I}else{f[a>>2]=16212;l=a+8|0;x=0;Ga(459,l|0,q|0);k=x;x=0;do if(k&1){c=Ya()|0;e=I}else{g=a+20|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=5;b[g>>0]=b[53005]|0;b[g+1>>0]=b[53006]|0;b[g+2>>0]=b[53007]|0;b[g+3>>0]=b[53008]|0;b[g+4>>0]=b[53009]|0;b[g+5>>0]=0;i=a+32|0;j=n;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,a+72|0,p|0);k=x;x=0;if(k&1){c=Ya()|0;e=I;if((b[h>>0]|0)<0)Hta(f[g>>2]|0);if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}c=f[p>>2]|0;if(c|0){h=p+4|0;e=f[h>>2]|0;if((e|0)!=(c|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);f[a>>2]=21164;f[a+84>>2]=d;x=0;Ga(f[(f[d>>2]|0)+32>>2]|0,n|0,d|0);q=x;x=0;do if(q&1){c=Ya()|0;o=40}else{x=0;sa(986,l|0,n|0)|0;q=x;x=0;if(q&1){c=Ya()|0;if((b[n+11>>0]|0)>=0){o=40;break}Hta(f[n>>2]|0);o=40;break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);x=0;sa(991,l|0,53212)|0;q=x;x=0;if(q&1){c=Ya()|0;break}else{u=m;return}}while(0);PF(a);q=c;jb(q|0)}while(0);dfa(a);j=e}e=f[p>>2]|0;if(e){i=p+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[p>>2]|0}Hta(e)}}if((b[q+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[q>>2]|0);q=c;jb(q|0)}function ll(a,c,d,e,g){a=a|0;c=c|0;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0;v=u;u=u+16|0;w=v;i=g&1;efa(a);h=a+12|0;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;s=a+56|0;f[s>>2]=0;z=a+60|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[a>>2]=6384;p[a+88>>3]=d;b[a+96>>0]=i;f[a+100>>2]=0;q=e+11|0;c=b[q>>0]|0;if(c<<24>>24<0)g=f[e+4>>2]|0;else g=c&255;if(!g){f[s>>2]=2;u=v;return}k=e+4|0;r=w+11|0;l=w+4|0;y=a+64|0;m=a+68|0;t=a+76|0;n=a+80|0;o=a+72|0;g=1;h=0;a:while(1){if(c<<24>>24<0){c=f[k>>2]|0;j=f[e>>2]|0}else{c=c&255;j=e}if(c>>>0>h>>>0){i=j+c|0;c=j+h|0;b:while(1){switch(b[c>>0]|0){case 42:case 47:break b;default:{}}c=c+1|0;if((c|0)==(i|0)){c=i;break}}j=(c|0)==(i|0)?-1:c-j|0}else j=-1;i=(j|0)==-1;x=0;Ka(4,w|0,e|0,h|0,(i?-1:j-h|0)|0,e|0);c=x;x=0;if(c&1){g=20;break}c=b[r>>0]|0;do if((c<<24>>24<0?f[l>>2]|0:c&255)|0)if(g){c=f[y>>2]|0;if((c|0)==(f[m>>2]|0)){x=0;Ga(515,z|0,w|0);c=x;x=0;if(c&1){g=21;break a}else break}x=0;Ga(459,c|0,w|0);c=x;x=0;if(c&1){g=21;break a}f[y>>2]=(f[y>>2]|0)+12;break}else{c=f[t>>2]|0;if((c|0)==(f[n>>2]|0)){x=0;Ga(515,o|0,w|0);c=x;x=0;if(c&1){g=21;break a}else break}x=0;Ga(459,c|0,w|0);c=x;x=0;if(c&1){g=21;break a}f[t>>2]=(f[t>>2]|0)+12;break}while(0);if(i)i=0;else{if((b[q>>0]|0)<0)c=f[e>>2]|0;else c=e;i=1;h=j+1|0;g=g&(b[c+j>>0]|0)!=47}if((b[r>>0]|0)<0)Hta(f[w>>2]|0);if(!i){g=50;break}c=b[q>>0]|0}if((g|0)==20)i=Ya()|0;else if((g|0)==21){g=Ya()|0;if((b[r>>0]|0)<0){Hta(f[w>>2]|0);i=g}else i=g}else if((g|0)==50){f[s>>2]=2;u=v;return}h=a+72|0;g=f[h>>2]|0;if(g|0){c=f[t>>2]|0;if((c|0)!=(g|0)){do{c=c+-12|0;f[t>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[t>>2]|0}}while((c|0)!=(g|0));g=f[h>>2]|0}Hta(g)}g=f[z>>2]|0;if(!g)jb(i|0);c=f[y>>2]|0;if((c|0)!=(g|0)){do{c=c+-12|0;f[y>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[y>>2]|0}}while((c|0)!=(g|0));g=f[z>>2]|0}Hta(g);jb(i|0)}function ml(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;m=0;n=u;u=u+32|0;o=n+16|0;l=n+8|0;k=n;if(!a){o=0;u=n;return o|0}qV(o,f[a+68>>2]|0);f[o>>2]=7280;j=o+4|0;a=f[j>>2]|0;a:do if(!a)a=0;else{g=(f[a+72>>2]|0)-(f[a+68>>2]|0)>>3;if(!g)a=0;else{h=l+4|0;i=(c|0)==3;e=0;b:while(1){a=a+64|0;x=0;a=sa(f[(f[a>>2]|0)+16>>2]|0,a|0,e|0)|0;d=x;x=0;if(d&1){m=11;break}x=0;Ga(462,l|0,f[a+4>>2]|0);d=x;x=0;if(d&1){m=11;break}f[l>>2]=6920;a=f[h>>2]|0;do if(!a)m=28;else if((f[139]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0))d=0;else if((f[153]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0))d=0;else{if((f[187]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){if(!i){d=0;break}if(!(b[a+72>>0]|0)){m=35;break}else{d=0;break}}if((f[101]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;a=sa(1021,a|0,c|0)|0;d=x;x=0;if(d&1){m=19;break b}if(a){d=0;break}else{m=35;break}}if((f[367]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;a=sa(1022,a|0,c|0)|0;d=x;x=0;if(d&1){m=23;break b}if(a){d=0;break}else{m=35;break}}if((f[129]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;a=sa(1023,a|0,c|0)|0;d=x;x=0;if(d&1){m=27;break b}if(a)d=0;else m=35}else m=28}while(0);if((m|0)==28){m=0;x=0;a=qa(346,a|0)|0;d=x;x=0;if(d&1){m=33;break}if(!a)m=35;else{x=0;Ga(462,k|0,f[a+68>>2]|0);d=x;x=0;if(d&1){m=33;break}f[k>>2]=7280;x=0;a=sa(1020,k|0,c|0)|0;d=x;x=0;if(d&1){m=34;break}_P(k);if(a)d=0;else m=35}}if((m|0)==35){m=0;d=1}_P(l);a=e+1|0;if(!d){a=1;break a}if(a>>>0>=g>>>0){a=0;break a}e=a;a=f[j>>2]|0}if((m|0)==11){n=Ya()|0;_P(o);jb(n|0)}else if((m|0)==19)a=Ya()|0;else if((m|0)==23)a=Ya()|0;else if((m|0)==27)a=Ya()|0;else if((m|0)==33)a=Ya()|0;else if((m|0)==34){a=Ya()|0;_P(k)}_P(l);n=a;_P(o);jb(n|0)}}while(0);_P(o);o=a;u=n;return o|0}function nl(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;l=f[a>>2]|0;i=l;j=(f[b>>2]|0)-i|0;b=l+(((j|0)/24|0)*24|0)|0;n=f[c>>2]|0;g=f[d>>2]|0;p=g-n|0;k=(p|0)/24|0;d=n;n=g;if((p|0)<=0){p=b;return p|0}o=a+8|0;h=f[o>>2]|0;p=a+4|0;m=f[p>>2]|0;e=m;if((k|0)<=((h-e|0)/24|0|0)){i=e-b|0;e=(i|0)/24|0;if((k|0)>(e|0)){h=d+(e*24|0)|0;g=h;if((h|0)==(n|0))e=m;else{e=m;do{f[e>>2]=f[h>>2];f[e+4>>2]=f[h+4>>2];f[e+8>>2]=f[h+8>>2];f[e+12>>2]=f[h+12>>2];f[e+16>>2]=f[h+16>>2];f[e+20>>2]=f[h+20>>2];h=h+24|0;e=(f[p>>2]|0)+24|0;f[p>>2]=e}while((h|0)!=(n|0))}if((i|0)>0)j=e;else{p=b;return p|0}}else j=m;i=j-(b+(k*24|0))|0;e=b+(((i|0)/24|0)*24|0)|0;if(e>>>0>>0){h=j;do{f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];e=e+24|0;h=(f[p>>2]|0)+24|0;f[p>>2]=h}while(e>>>0>>0)}if(i){DP(j+(((i|0)/-24|0)*24|0)|0,b|0,i|0)|0;d=f[c>>2]|0}if((d|0)==(g|0)){p=b;return p|0}else e=b;while(1){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=d+24|0;if((d|0)==(g|0))break;else e=e+24|0}return b|0}e=((e-i|0)/24|0)+k|0;if(e>>>0>178956970)EO(a);k=(h-i|0)/24|0;h=k<<1;h=k>>>0<89478485?(h>>>0>>0?e:h):178956970;k=b;e=(j|0)/24|0;do if(!h)g=0;else{if(h>>>0<=178956970){g=VN(h*24|0)|0;break}b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}while(0);j=g+(e*24|0)|0;e=j;i=g+(h*24|0)|0;if((d|0)==(n|0)){d=e;g=l}else{g=j;do{f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];f[g+16>>2]=f[d+16>>2];f[g+20>>2]=f[d+20>>2];g=e+24|0;e=g;d=d+24|0}while((d|0)!=(n|0));d=e;g=f[a>>2]|0}e=k-g|0;h=j+(((e|0)/-24|0)*24|0)|0;if((e|0)>0)Lu(h|0,g|0,e|0)|0;e=(f[p>>2]|0)-k|0;if((e|0)>0){Lu(d|0,b|0,e|0)|0;d=d+(((e>>>0)/24|0)*24|0)|0;b=f[a>>2]|0}else b=g;f[a>>2]=h;f[p>>2]=d;f[o>>2]=i;if(!b){p=j;return p|0}Hta(b);p=j;return p|0}function ol(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;r=u;u=u+32|0;s=r+16|0;o=r+8|0;p=r;q=a+4|0;n=(wna(q)|0)==5;h=c+84|0;g=f[h>>2]|0;i=c+88|0;e=f[i>>2]|0;if(n&(g|0)==(e|0)){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=2;d[s>>1]=10536;b[s+2>>0]=0;x=0;Ga(682,q|0,s|0);q=x;x=0;if(q&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);s=c;jb(s|0)}else{if((b[e>>0]|0)<0)Hta(f[s>>2]|0);u=r;return}}n=c+60|0;if((g|0)==(e|0)){u=r;return}if(vc[f[(f[c>>2]|0)+84>>2]&511](c)|0){u=r;return}f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=1;b[s>>0]=40;b[s+1>>0]=0;x=0;Ga(682,q|0,s|0);m=x;x=0;if(m&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);s=c;jb(s|0)}if((b[e>>0]|0)<0)Hta(f[s>>2]|0);e=f[h>>2]|0;g=f[i>>2]|0;a:do if((e|0)!=(g|0)){h=s+4|0;l=a+105|0;m=a+106|0;i=o+4|0;c=0;while(1){qV(s,f[e+4>>2]|0);f[s>>2]=7696;if(c){x=0;Fa(464,q|0);k=x;x=0;if(k&1){e=22;break}}k=f[h>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(k&1){e=22;break}x=0;Fa(462,q|0);k=x;x=0;if(k&1){e=22;break}j=b[l>>0]|0;b[l>>0]=1;k=b[m>>0]|0;b[m>>0]=1;x=0;Ga(462,p|0,f[h>>2]|0);c=x;x=0;if(c&1){e=29;break}f[p>>2]=7696;x=0;Ia(78,o|0,n|0,p|0);c=x;x=0;if(c&1){e=30;break}c=f[i>>2]|0;x=0;Ga(f[(f[c>>2]|0)+44>>2]|0,c|0,a|0);c=x;x=0;if(c&1){e=31;break}_P(o);_P(p);b[m>>0]=k;b[l>>0]=j;_P(s);e=e+8|0;if((e|0)==(g|0))break a;else c=1}if((e|0)==22)c=Ya()|0;else if((e|0)==29){c=Ya()|0;e=33}else if((e|0)==30){c=Ya()|0;e=32}else if((e|0)==31){c=Ya()|0;_P(o);e=32}if((e|0)==32){_P(p);e=33}if((e|0)==33){b[m>>0]=k;b[l>>0]=j}_P(s);s=c;jb(s|0)}while(0);f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=1;b[s>>0]=41;b[s+1>>0]=0;x=0;Ga(682,q|0,s|0);q=x;x=0;if(q&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);s=c;jb(s|0)}else{if((b[e>>0]|0)<0)Hta(f[s>>2]|0);u=r;return}}function pl(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,v=0,w=0,y=0,z=0,A=0,B=0;y=0;z=u;u=u+32|0;t=z;A=VN(36)|0;f[A+4>>2]=0;f[A+8>>2]=0;f[A>>2]=16236;v=A+12|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;f[v+20>>2]=0;w=v;e=f[c+20>>2]|0;a:do if(e|0){g=f[e+4>>2]|0;d=f[e+16>>2]|0;h=g+(((d>>>0)/146|0)<<2)|0;if((f[e+8>>2]|0)==(g|0)){d=0;q=0}else{q=d+(f[e+20>>2]|0)|0;d=(f[h>>2]|0)+(((d>>>0)%146|0)*28|0)|0;q=(f[g+(((q>>>0)/146|0)<<2)>>2]|0)+(((q>>>0)%146|0)*28|0)|0}k=A+20|0;l=A+16|0;m=A+28|0;n=A+32|0;o=t+16|0;p=t+20|0;r=t+24|0;s=t+12|0;b:while(1){do{if((q|0)==(d|0))break a;x=0;Ga(519,t|0,d|0);j=x;x=0;if(j&1){y=16;break b}j=f[k>>2]|0;i=f[l>>2]|0;B=j-i>>2;g=f[m>>2]|0;e=f[n>>2]|0;if((((B|0)==0?0:(B*146|0)+-1|0)|0)==(e+g|0)){x=0;Fa(433,v|0);B=x;x=0;if(B&1){y=17;break b}e=f[n>>2]|0;g=f[m>>2]|0;j=f[k>>2]|0;i=f[l>>2]|0}e=e+g|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/146|0)<<2)>>2]|0)+(((e>>>0)%146|0)*28|0)|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];g=e+12|0;x=0;Ga(462,g|0,f[o>>2]|0);B=x;x=0;if(B&1){y=17;break b}f[g>>2]=15556;f[e+20>>2]=f[p>>2];f[e+24>>2]=f[r>>2];f[p>>2]=0;f[r>>2]=0;f[n>>2]=(f[n>>2]|0)+1;_P(s);d=d+28|0}while((d-(f[h>>2]|0)|0)!=4088);d=h+4|0;h=d;d=f[d>>2]|0}if((y|0)==16)d=Ya()|0;else if((y|0)==17){d=Ya()|0;e=f[r>>2]|0;if(e|0)QZ(e);_P(s)}B=d;QZ(A);jb(B|0)}while(0);g=c+4|0;h=f[c+8>>2]|0;d=f[c+16>>2]|0;if(!d){e=0;y=23}else{x=0;d=qa(f[(f[d>>2]|0)+12>>2]|0,d|0)|0;B=x;x=0;if(!(B&1)){e=d;y=23}}if((y|0)==23){b[a>>0]=0;f[a+4>>2]=f[g>>2];f[a+8>>2]=h;d=a+12|0;x=0;Ga(462,d|0,e|0);B=x;x=0;if(!(B&1)){f[d>>2]=15556;f[a+20>>2]=w;f[a+24>>2]=A;ega(A);if(!e){B=b[c>>0]|0;b[a>>0]=B;QZ(A);u=z;return}b[a>>0]=b[e+60>>0]|0;B=b[c>>0]|0;b[a>>0]=B;QZ(A);u=z;return}}B=Ya()|0;QZ(A);jb(B|0)}function ql(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=0;n=u;u=u+128|0;m=n;l=n+104|0;j=n+48|0;k=n+64|0;o=n+40|0;e=c+76|0;d=gL(f[e>>2]|0)|0;g=c+80|0;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)d=f[e>>2]|0;i=VX(d)|0;d=i|0?i:d;switch(b[d>>0]|0){case 59:case 125:{d=d+1|0;break}default:d=Gma(d)|0}a:do if(!((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)){d=VN(16)|0;f[m>>2]=d;f[m+8>>2]=-2147483632;f[m+4>>2]=11;g=d;h=44242;i=g+11|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[d+11>>0]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=7;b[l>>0]=b[44254]|0;b[l+1>>0]=b[44255]|0;b[l+2>>0]=b[44256]|0;b[l+3>>0]=b[44257]|0;b[l+4>>0]=b[44258]|0;b[l+5>>0]=b[44259]|0;b[l+6>>0]=b[44260]|0;b[l+7>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;d=qa(318,48)|0;i=x;x=0;do if(i&1)d=Ya()|0;else{f[j>>2]=d;f[j+8>>2]=-2147483600;f[j+4>>2]=44;g=d;h=44621;i=g+44|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[d+44>>0]=0;x=0;Ka(8,c|0,m|0,l|0,j|0,1);i=x;x=0;if(i&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[e>>0]|0)<0)Hta(f[l>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);break a}while(0);if((b[e>>0]|0)<0)Hta(f[l>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);p=d;jb(p|0)}while(0);j=VN(72)|0;g=k;h=c+108|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ia(114,o|0,c|0,0);l=x;x=0;if(l&1)d=Ya()|0;else{g=m;h=k;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,j|0);l=x;x=0;do if(l&1){d=1;p=30}else{g=j+12|0;h=m;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));d=j+52|0;f[d>>2]=0;f[j+56>>2]=0;b[j+60>>0]=0;f[j>>2]=8976;e=j+64|0;x=0;Ga(462,e|0,f[o+4>>2]|0);m=x;x=0;if(m&1){d=Ya()|0;e=1;break}f[e>>2]=7696;f[d>>2]=15;x=0;Ga(462,a|0,j|0);p=x;x=0;if(p&1){d=0;p=30}else{f[a>>2]=17240;_P(o);u=n;return}}while(0);if((p|0)==30){p=Ya()|0;e=d;d=p}_P(o);if(!e){p=d;jb(p|0)}}Hta(j);p=d;jb(p|0)}function rl(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[a>>0]|0;if(!(d<<24>>24)){c=0;return c|0}if(!c){j=a;a=0;g=0;k=0;i=d;a:while(1){b:do switch(i<<24>>24){case 92:{h=a;a=j+1|0;d=k;break}case 34:{h=a^1;a=j;d=k;break}case 39:{h=a;g=g^1;a=j;d=k;break}default:if(a){h=1;a=j;d=k}else if(g){h=0;g=1;a=j;d=k}else if(!j){h=0;g=0;a=0;d=k}else{a=b[36397]|0;c:do if(!(a<<24>>24))a=j;else{if(i<<24>>24==a<<24>>24){a=j;d=36397;do{a=a+1|0;d=d+1|0;g=b[d>>0]|0;if(!(g<<24>>24))break c}while((b[a>>0]|0)==g<<24>>24)}a=b[51458]|0;d:do if(!(a<<24>>24))a=j;else{if(i<<24>>24==a<<24>>24){a=j;d=51458}else{h=0;g=0;a=j;d=k;break b}while(1){a=a+1|0;d=d+1|0;g=b[d>>0]|0;if(!(g<<24>>24))break d;if((b[a>>0]|0)!=g<<24>>24){h=0;g=0;a=j;d=k;break b}}}while(0);if(!k){d=40;break a}else{h=0;g=0;a=a+-1|0;d=k+-1|0;break b}}while(0);h=0;g=0;a=a+-1|0;d=k+1|0}}while(0);j=a+1|0;i=b[j>>0]|0;if(!(i<<24>>24)){a=0;d=40;break}else{a=h;k=d}}if((d|0)==40)return a|0}else{m=a;e=0;f=0;n=0;l=d}e:while(1){if(m>>>0>=c>>>0){a=0;d=40;break}f:do switch(l<<24>>24){case 92:{a=m+1|0;d=n;break}case 34:{e=e^1;a=m;d=n;break}case 39:{f=f^1;a=m;d=n;break}default:if(e){e=1;a=m;d=n}else if(f){e=0;f=1;a=m;d=n}else if(!m){e=0;f=0;a=0;d=n}else{a=b[36397]|0;g:do if(!(a<<24>>24))a=m;else{if(l<<24>>24==a<<24>>24){a=m;d=36397;do{a=a+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break g}while((b[a>>0]|0)==e<<24>>24)}a=b[51458]|0;h:do if(!(a<<24>>24))a=m;else{if(l<<24>>24==a<<24>>24){a=m;d=51458}else{e=0;f=0;a=m;d=n;break f}while(1){a=a+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break h;if((b[a>>0]|0)!=e<<24>>24){e=0;f=0;a=m;d=n;break f}}}while(0);if(!n){d=40;break e}else{e=0;f=0;a=a+-1|0;d=n+-1|0;break f}}while(0);e=0;f=0;a=a+-1|0;d=n+1|0}}while(0);m=a+1|0;l=b[m>>0]|0;if(!(l<<24>>24)){a=0;d=40;break}else n=d}if((d|0)==40)return a|0;return 0}function sl(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;k=0;m=u;u=u+16|0;n=m;qV(n,0);f[n>>2]=15556;i=a+16|0;e=f[i>>2]|0;if(!e){x=0;Fa(455,a|0);l=x;x=0;if(!(l&1)){e=f[i>>2]|0;k=4}}else k=4;if((k|0)==4){l=f[a+4>>2]|0;h=l+(e>>>9<<2)|0;if((f[a+8>>2]|0)==(l|0)){e=0;g=f[h>>2]|0}else{g=f[h>>2]|0;e=g+((e&511)<<3)|0}if((e|0)==(g|0))e=(f[h+-4>>2]|0)+4096|0;e=e+-8|0;x=0;Ga(462,e|0,f[n+4>>2]|0);l=x;x=0;if(!(l&1)){f[e>>2]=15556;f[i>>2]=(f[i>>2]|0)+-1;j=a+20|0;f[j>>2]=(f[j>>2]|0)+1;_P(n);qV(n,0);f[n>>2]=15556;i=b+16|0;e=f[i>>2]|0;if(!e){x=0;Fa(455,b|0);l=x;x=0;if(!(l&1)){e=f[i>>2]|0;k=13}}else k=13;if((k|0)==13){l=f[b+4>>2]|0;h=l+(e>>>9<<2)|0;if((f[b+8>>2]|0)==(l|0)){e=0;g=f[h>>2]|0}else{g=f[h>>2]|0;e=g+((e&511)<<3)|0}if((e|0)==(g|0))e=(f[h+-4>>2]|0)+4096|0;e=e+-8|0;x=0;Ga(462,e|0,f[n+4>>2]|0);l=x;x=0;if(!(l&1)){f[e>>2]=15556;f[i>>2]=(f[i>>2]|0)+-1;e=b+20|0;f[e>>2]=(f[e>>2]|0)+1;_P(n);f[n>>2]=0;l=n+4|0;f[l>>2]=0;f[n+8>>2]=0;x=0;Ja(54,a|0,b|0,c|0,n|0);k=x;x=0;if(!(k&1)){x=0;Ma(10,n|0,a|0,b|0,(f[j>>2]|0)+-1|0,(f[e>>2]|0)+-1|0,c|0,d|0);d=x;x=0;if(!(d&1)){e=f[n>>2]|0;if(!e){u=m;return}g=f[l>>2]|0;if((g|0)!=(e|0)){do{h=g+-12|0;f[l>>2]=h;i=f[h>>2]|0;if(!i)g=h;else{g=g+-8|0;h=f[g>>2]|0;if((h|0)!=(i|0))f[g>>2]=h+(~((h+-4-i|0)>>>2)<<2);Hta(i);g=f[l>>2]|0}}while((g|0)!=(e|0));e=f[n>>2]|0}Hta(e);u=m;return}}k=Ya()|0;j=I;e=f[n>>2]|0;if(e|0){g=f[l>>2]|0;if((g|0)!=(e|0)){do{h=g+-12|0;f[l>>2]=h;i=f[h>>2]|0;if(!i)g=h;else{g=g+-8|0;h=f[g>>2]|0;if((h|0)!=(i|0))f[g>>2]=h+(~((h+-4-i|0)>>>2)<<2);Hta(i);g=f[l>>2]|0}}while((g|0)!=(e|0));e=f[n>>2]|0}Hta(e)}n=k;jb(n|0)}}m=Ya()|0;_P(n);n=m;jb(n|0)}}m=Ya()|0;_P(n);n=m;jb(n|0)}function tl(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;r=u;u=u+48|0;s=r+32|0;g=r+24|0;h=r+16|0;n=r+8|0;q=r;o=c+64|0;p=c+68|0;if((f[o>>2]|0)==(f[p>>2]|0)){u=r;return}m=a+4|0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=7;b[s>>0]=b[52181]|0;b[s+1>>0]=b[52182]|0;b[s+2>>0]=b[52183]|0;b[s+3>>0]=b[52184]|0;b[s+4>>0]=b[52185]|0;b[s+5>>0]=b[52186]|0;b[s+6>>0]=b[52187]|0;b[s+7>>0]=0;x=0;Ia(147,m|0,s|0,c|0);l=x;x=0;if(l&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);s=d;jb(s|0)}if((b[e>>0]|0)<0)Hta(f[s>>2]|0);boa(m);l=f[(f[o>>2]|0)+4>>2]|0;Lc[f[(f[l>>2]|0)+44>>2]&1023](l,a);do if(((f[p>>2]|0)-(f[o>>2]|0)|0)==8){d=c+92|0;qV(g,f[d>>2]|0);f[g>>2]=7584;l=(f[g+4>>2]|0)==0;_P(g);if(!l){boa(m);qV(h,f[d>>2]|0);f[h>>2]=7584;l=f[h+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(!(l&1)){_P(h);break}s=Ya()|0;_P(h);jb(s|0)}}while(0);aN(m);e=(f[p>>2]|0)-(f[o>>2]|0)>>3;if(e>>>0<=1){u=r;return}l=s+11|0;g=s+7|0;h=c+92|0;i=n+4|0;j=q+4|0;k=s+8|0;d=1;while(1){y1(m);f[k>>2]=0;b[l>>0]=7;b[s>>0]=b[52181]|0;b[s+1>>0]=b[52182]|0;b[s+2>>0]=b[52183]|0;b[s+3>>0]=b[52184]|0;b[s+4>>0]=b[52185]|0;b[s+5>>0]=b[52186]|0;b[s+6>>0]=b[52187]|0;b[g>>0]=0;x=0;Ia(147,m|0,s|0,c|0);t=x;x=0;if(t&1){d=22;break}if((b[l>>0]|0)<0)Hta(f[s>>2]|0);boa(m);t=f[(f[o>>2]|0)+(d<<3)+4>>2]|0;Lc[f[(f[t>>2]|0)+44>>2]&1023](t,a);if((((f[p>>2]|0)-(f[o>>2]|0)>>3)+-1|0)==(d|0)){qV(n,f[h>>2]|0);f[n>>2]=7584;t=(f[i>>2]|0)==0;_P(n);if(!t){boa(m);qV(q,f[h>>2]|0);f[q>>2]=7584;t=f[j>>2]|0;x=0;Ga(f[(f[t>>2]|0)+44>>2]|0,t|0,a|0);t=x;x=0;if(t&1){d=25;break}_P(q)}}aN(m);d=d+1|0;if(d>>>0>=e>>>0){d=27;break}}if((d|0)==22){d=Ya()|0;if((b[l>>0]|0)<0)Hta(f[s>>2]|0);t=d;jb(t|0)}else if((d|0)==25){t=Ya()|0;_P(q);jb(t|0)}else if((d|0)==27){u=r;return}}function ul(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;q=0;o=u;u=u+64|0;p=o;m=o+48|0;n=o+40|0;r=VN(88)|0;h=b[c+84>>0]|0;d=p;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Fa(427,r|0);l=x;x=0;do if(l&1)d=Ya()|0;else{d=r+12|0;e=p;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[r>>2]=6976;f[r+52>>2]=0;f[r+56>>2]=0;b[r+60>>0]=0;l=r+64|0;f[l>>2]=6936;i=r+68|0;j=r+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);k=x;x=0;if(k&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{q=g+-8|0;f[j>>2]=q;Kc[f[f[q>>2]>>2]&511](q);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[r>>2]=6780;f[l>>2]=6880;b[r+84>>0]=h;k=c+64|0;i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;if(!i){u=o;return r|0}j=p+4|0;c=0;a:while(1){d=(xc[f[(f[k>>2]|0)+16>>2]&2047](k,c)|0)+4|0;d=f[d>>2]|0;if(!d)q=26;else if((f[81]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){qV(p,ul(a,d)|0);f[p>>2]=7280;e=f[j>>2]|0;h=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;b:do if(h|0){d=0;while(1){g=f[(f[l>>2]|0)+20>>2]|0;e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;s=x;x=0;if(s&1){q=18;break a}x=0;Ga(462,m|0,f[e+4>>2]|0);s=x;x=0;if(s&1){q=18;break a}f[m>>2]=6920;x=0;Ga(g|0,l|0,m|0);s=x;x=0;if(s&1){q=24;break a}_P(m);d=d+1|0;if(d>>>0>=h>>>0)break b;e=f[j>>2]|0}}while(0);_P(p)}else q=26;if((q|0)==26){q=0;s=f[(f[l>>2]|0)+20>>2]|0;qV(n,d);f[n>>2]=6920;x=0;Ga(s|0,l|0,n|0);s=x;x=0;if(s&1){q=28;break}_P(n)}c=c+1|0;if(c>>>0>=i>>>0){q=11;break}}if((q|0)==11){u=o;return r|0}else if((q|0)==18)d=Ya()|0;else if((q|0)==24){d=Ya()|0;_P(m)}else if((q|0)==28){s=Ya()|0;_P(n);jb(s|0)}_P(p);s=d;jb(s|0)}while(0);Hta(r);s=d;jb(s|0);return 0}function vl(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;p=u;u=u+32|0;n=p;o=a+4|0;d=f[a>>2]|0;g=((f[o>>2]|0)-d|0)/52|0;e=g+1|0;if(e>>>0>82595524)EO(a);m=a+8|0;l=((f[m>>2]|0)-d|0)/52|0;d=l<<1;d=l>>>0<41297762?(d>>>0>>0?e:d):82595524;f[n+12>>2]=0;f[n+16>>2]=a+8;do if(!d)e=0;else{if(d>>>0<=82595524){e=VN(d*52|0)|0;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(d|0);jb(p|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);f[n>>2]=e;g=e+(g*52|0)|0;j=g|0;k=n+8|0;l=n+4|0;f[l>>2]=j;h=e+(d*52|0)|0;i=n+12|0;f[i>>2]=h;f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;e=g+12|0;d=c+12|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;d=g+24|0;e=c+24|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=g+36|0;d=c+36|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;b[g+48>>0]=b[c+48>>0]|0;c=j+52|0;f[k>>2]=c;g=f[a>>2]|0;d=f[o>>2]|0;if((d|0)==(g|0)){e=j;j=g;g=d;f[a>>2]=e;f[l>>2]=j;f[o>>2]=c;f[k>>2]=g;o=f[m>>2]|0;f[m>>2]=h;f[i>>2]=o;f[n>>2]=j;YG(n);u=p;return}else e=j;do{j=e;e=e+-52|0;q=d;d=d+-52|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;s=j+-40|0;r=q+-40|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;r=j+-28|0;s=q+-28|0;f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;s=j+-16|0;r=q+-16|0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;b[j+-4>>0]=b[q+-4>>0]|0;f[l>>2]=e}while((d|0)!=(g|0));q=e;s=f[a>>2]|0;r=f[o>>2]|0;f[a>>2]=q;f[l>>2]=s;f[o>>2]=c;f[k>>2]=r;r=f[m>>2]|0;f[m>>2]=h;f[i>>2]=r;f[n>>2]=s;YG(n);u=p;return}function wl(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=0;p=u;u=u+64|0;l=p+56|0;k=p+48|0;s=p+32|0;q=p+24|0;m=p+16|0;n=p+8|0;o=p;qV(k,f[c+68>>2]|0);f[k>>2]=7280;h=k+4|0;d=f[h>>2]|0;i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>3;a:do if(i|0){j=l+4|0;g=0;while(1){d=d+64|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,g|0)|0;e=x;x=0;if(e&1){r=11;break}x=0;Ga(462,l|0,f[d+4>>2]|0);e=x;x=0;if(e&1){r=11;break}f[l>>2]=6920;d=f[j>>2]|0;if(!d)e=0;else e=(f[101]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;_P(l);d=g+1|0;if(!e)break;if(d>>>0>=i>>>0)break a;g=d;d=f[h>>2]|0}if((r|0)==11){s=Ya()|0;_P(k);jb(s|0)}_P(k);b[l>>0]=0;f[s+4>>2]=0;f[s+8>>2]=0;h=s+4|0;f[s>>2]=h;g=c+76|0;x=0;Ga(462,m|0,f[g>>2]|0);k=x;x=0;b:do if(k&1)d=Ya()|0;else{f[m>>2]=7168;x=0;d=wa(31,a|0,m|0,0,l|0,s|0)|0;a=x;x=0;if(!(a&1)){x=0;Ga(462,q|0,d|0);a=x;x=0;if(!(a&1)){f[q>>2]=7168;_P(m);do if(b[l>>0]|0){d=q+4|0;e=f[d>>2]|0;if(e|0){x=0;Fa(431,e|0);m=x;x=0;if(m&1)r=26;else{x=0;Ga(462,o|0,f[d>>2]|0);m=x;x=0;if(m&1)r=26;else{f[o>>2]=7168;d=c+72|0;if(!(f[g>>2]|0))r=21;else{x=0;Fa(429,d|0);c=x;x=0;if(!(c&1))r=21}if((r|0)==21){f[g>>2]=f[o+4>>2];x=0;Fa(430,d|0);c=x;x=0;if(!(c&1)){x=0;Ga(462,n|0,f[g>>2]|0);c=x;x=0;if(!(c&1)){f[n>>2]=7168;_P(n);_P(o);break}}}d=Ya()|0;_P(o)}}if((r|0)==26)d=Ya()|0;_P(q);break b}}while(0);_P(q);SI(s,f[h>>2]|0);u=p;return}}d=Ya()|0;_P(m)}while(0);SI(s,f[h>>2]|0);s=d;jb(s|0)}while(0);_P(k);u=p;return}function xl(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=fs(a)|0;if(l>>>0>a>>>0)c=0;else{k=0;k=(k|0)==0;l=k?l:0;return l|0}a:while(1){d=0;k=a;b:while(1){e=b[k>>0]|0;if(!(e<<24>>24)){a=c;c=38;break a}c:do if(d)a=0;else if(e<<24>>24==92)a=1;else if(!k)a=0;else{j=b[36397]|0;f=j<<24>>24==0;if(f){a=k;d=0;g=0}else{if(e<<24>>24==j<<24>>24){a=k;d=36397}else{a=0;break}while(1){a=a+1|0;d=d+1|0;e=b[d>>0]|0;h=b[a>>0]|0;if(!(e<<24>>24))break;if(h<<24>>24!=e<<24>>24){a=0;break c}}if(!(h<<24>>24)){a=0;break}if(f){d=0;g=0;e=h}else{g=a;a=0;d=0;i=0;while(1){d:do switch(h<<24>>24){case 92:{f=a;a=g+1|0;e=i;break}case 34:{f=a^1;a=g;e=i;break}case 39:{f=a;d=d^1;a=g;e=i;break}default:if(a){f=1;a=g;e=i}else if(d){f=0;d=1;a=g;e=i}else{e:do if(h<<24>>24==j<<24>>24){a=g;d=36397;while(1){e=a+1|0;d=d+1|0;f=b[d>>0]|0;if(!(f<<24>>24))break;if((b[e>>0]|0)!=f<<24>>24)break e;else a=e}f=0;d=0;e=i+1|0;break d}while(0);a=b[51458]|0;f:do if(!(a<<24>>24))a=g;else{if(h<<24>>24==a<<24>>24){a=g;d=51458}else{f=0;d=0;a=g;e=i;break d}while(1){a=a+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break f;if((b[a>>0]|0)!=e<<24>>24){f=0;d=0;a=g;e=i;break d}}}while(0);if(!i)break b;else{f=0;d=0;a=a+-1|0;e=i+-1|0}}}while(0);g=a+1|0;h=b[g>>0]|0;if(!(h<<24>>24)){a=0;break c}else{a=f;i=e}}}}while(1){switch(e<<24>>24){case 92:{f=g;a=a+1|0;break}case 34:{d=d^1;f=g;break}case 39:{f=g^1;break}default:if(d){d=1;f=g}else{d=0;f=g;a=g?a:a+-1|0}}a=a+1|0;e=b[a>>0]|0;if(!(e<<24>>24)){a=0;break c}else g=f}}while(0);k=k+1|0;if(k>>>0>=l>>>0){a=c;c=38;break a}else d=a}c=c+1|0;if(a>>>0>=l>>>0){a=c;c=38;break}}if((c|0)==38){k=(a|0)==0;l=k?l:0;return l|0}return 0}function yl(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:do if((b[a>>0]|0)==33){c=Xu(a+1|0)|0;if(c|0){d=b[36324]|0;if(d<<24>>24){e=36324;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){a=c;return a|0}}}while(0);c=fs(a)|0;if(c|0){a=c;return a|0}b:do if(a|0){j=b[36397]|0;f=j<<24>>24==0;if(f)c=a;else{c=a;d=36397;e=j;do{if((b[c>>0]|0)!=e<<24>>24)break b;c=c+1|0;d=d+1|0;e=b[d>>0]|0}while(e<<24>>24!=0)}e=b[c>>0]|0;if(e<<24>>24){if(f){d=0;f=0;while(1){switch(e<<24>>24){case 92:{g=f;c=c+1|0;break}case 34:{d=d^1;g=f;break}case 39:{g=f^1;break}default:if(d){d=1;g=f}else{d=0;g=f;c=f?c:c+-1|0}}c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24))break b;else f=g}}else{h=c;c=0;d=0;i=0}c:while(1){d:do switch(e<<24>>24){case 92:{g=c;c=h+1|0;f=i;break}case 34:{g=c^1;c=h;f=i;break}case 39:{g=c;d=d^1;c=h;f=i;break}default:if(c){g=1;c=h;f=i}else if(d){g=0;d=1;c=h;f=i}else{e:do if(e<<24>>24==j<<24>>24){c=h;d=36397;while(1){f=c+1|0;d=d+1|0;g=b[d>>0]|0;if(!(g<<24>>24))break;if((b[f>>0]|0)!=g<<24>>24)break e;else c=f}g=0;d=0;f=i+1|0;break d}while(0);c=b[51458]|0;f:do if(!(c<<24>>24))c=h;else{if(e<<24>>24==c<<24>>24){c=h;d=51458}else{g=0;d=0;c=h;f=i;break d}while(1){c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break f;if((b[c>>0]|0)!=e<<24>>24){g=0;d=0;c=h;f=i;break d}}}while(0);if(!i)break c;else{g=0;d=0;c=c+-1|0;f=i+-1|0}}}while(0);h=c+1|0;e=b[h>>0]|0;if(!(e<<24>>24))break b;else{c=g;i=f}}return c|0}}while(0);a=kp(a)|0;return a|0}function zl(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=0;o=u;u=u+80|0;h=o;d=o+64|0;e=o+56|0;p=o+72|0;k=o+48|0;n=o+40|0;qV(d,f[c+64>>2]|0);f[d>>2]=7904;j=f[d+4>>2]|0;x=0;j=sa(f[(f[j>>2]|0)+56>>2]|0,j|0,a|0)|0;m=x;x=0;if(m&1){q=Ya()|0;_P(d);jb(q|0)}_P(d);qV(e,f[c+72>>2]|0);f[e>>2]=9376;l=f[e+4>>2]|0;x=0;l=sa(f[(f[l>>2]|0)+56>>2]|0,l|0,a|0)|0;m=x;x=0;if(m&1){q=Ya()|0;_P(e);jb(q|0)}_P(e);m=VN(88)|0;g=h;d=c+12|0;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Fa(427,m|0);i=x;x=0;do if(i&1){d=Ya()|0;q=20}else{g=m+12|0;d=h;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;d=m+56|0;f[m>>2]=11536;f[d>>2]=4;e=m+60|0;f[e>>2]=9660;h=m+64|0;i=m+68|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(516,h|0,2);g=x;x=0;if(g&1){d=Ya()|0;g=I;e=f[h>>2]|0;if(e|0){c=f[i>>2]|0;if((c|0)!=(e|0)){do{q=c+-8|0;f[i>>2]=q;Kc[f[f[q>>2]>>2]&511](q);c=f[i>>2]|0}while((c|0)!=(e|0));e=f[h>>2]|0}Hta(e)}q=20;break}f[m>>2]=11364;f[e>>2]=11496;b[m+80>>0]=1;f[m+84>>2]=0;f[d>>2]=4;qV(p,m);f[p>>2]=13648;c=p+4|0;d=(f[c>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,k|0,j|0);m=x;x=0;do if(m&1)q=21;else{f[k>>2]=7696;x=0;Ga(e|0,d|0,k|0);m=x;x=0;if(m&1){d=Ya()|0;_P(k);break}_P(k);d=(f[c>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,n|0,l|0);m=x;x=0;if(m&1)q=21;else{f[n>>2]=7696;x=0;Ga(e|0,d|0,n|0);m=x;x=0;if(m&1){d=Ya()|0;_P(n);break}_P(n);d=f[c>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;q=x;x=0;if(q&1)q=21;else{_P(p);u=o;return d|0}}}while(0);if((q|0)==21)d=Ya()|0;_P(p)}while(0);if((q|0)==20)Hta(m);q=d;jb(q|0);return 0}function Al(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=u;u=u+16|0;d=l+8|0;e=l;c=f[a+4>>2]|0;if((c|0)!=(f[b+4>>2]|0)){k=0;u=l;return k|0}switch(c|0){case 1:{k=(f[a+8>>2]|0)==(f[b+8>>2]|0);u=l;return k|0}case 0:{qV(d,f[a+16>>2]|0);f[d>>2]=15556;c=f[d+4>>2]|0;a=f[(f[c>>2]|0)+160>>2]|0;x=0;Ga(462,e|0,f[b+16>>2]|0);k=x;x=0;if(k&1){l=Ya()|0;_P(d);jb(l|0)}f[e>>2]=15556;x=0;c=sa(a|0,c|0,f[e+4>>2]|0)|0;k=x;x=0;if(k&1){l=Ya()|0;_P(e);_P(d);jb(l|0)}else{_P(e);_P(d);k=c;u=l;return k|0}}case 2:{h=a+20|0;c=f[h>>2]|0;i=a+24|0;e=f[i>>2]|0;g=(e|0)==0;if(!g)ega(e);d=f[c+20>>2]|0;j=b+20|0;a=f[j>>2]|0;k=b+24|0;c=f[k>>2]|0;if(!c)c=f[a+20>>2]|0;else{ega(c);b=f[a+20>>2]|0;QZ(c);c=b}if(!g)QZ(e);if((d|0)!=(c|0)){k=0;u=l;return k|0}c=f[h>>2]|0;e=f[i>>2]|0;g=(e|0)==0;if(!g)ega(e);b=f[c+4>>2]|0;d=f[c+16>>2]|0;a=b+(((d>>>0)/146|0)<<2)|0;if((f[c+8>>2]|0)==(b|0))c=0;else c=(f[a>>2]|0)+(((d>>>0)%146|0)*28|0)|0;if(!g)QZ(e);g=f[h>>2]|0;b=f[i>>2]|0;h=(b|0)==0;if(!h)ega(b);d=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;e=f[g+4>>2]|0;if((f[g+8>>2]|0)==(e|0))i=0;else i=(f[e+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;if(!h)QZ(b);e=f[j>>2]|0;g=f[k>>2]|0;b=(g|0)==0;if(!b)ega(g);k=f[e+4>>2]|0;d=f[e+16>>2]|0;h=k+(((d>>>0)/146|0)<<2)|0;if((f[e+8>>2]|0)==(k|0))d=0;else d=(f[h>>2]|0)+(((d>>>0)%146|0)*28|0)|0;if(!b)QZ(g);a:while(1){do{if((i|0)==(c|0)){c=1;a=43;break a}if(!(Al(c,d)|0)){c=0;a=43;break a}c=c+28|0;if((c-(f[a>>2]|0)|0)==4088){c=a+4|0;a=c;c=f[c>>2]|0}d=d+28|0}while((d-(f[h>>2]|0)|0)!=4088);d=h+4|0;h=d;d=f[d>>2]|0}if((a|0)==43){u=l;return c|0}break}case 3:{k=1;u=l;return k|0}default:{l=Ta(4)|0;f[l>>2]=34961;fb(l|0,6344,0)}}return 0}function Bl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0.0;g=u;u=u+32|0;i=g;p[9780]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19992]=0;f[19993]=0;f[19994]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19993]=a;f[19992]=a;f[19994]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19993]|0)+12|0;f[19993]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19993]=(f[19993]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19995]=0;f[19996]=0;f[19997]=0;a=VN(32)|0;f[19995]=a;f[19997]=-2147483616;f[19996]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19998]=0;f[19999]=0;f[2e4]=0;a=VN(32)|0;f[19998]=a;f[2e4]=-2147483616;f[19999]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20001]=0;f[20002]=0;f[20003]=0;a=VN(32)|0;f[20001]=a;f[20003]=-2147483616;f[20002]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20004]=0;f[20005]=0;f[20006]=0;a=VN(32)|0;f[20004]=a;f[20006]=-2147483616;f[20005]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;p[9764]=1.0;p[9765]=1.1111111111111112;l=+p[9780];p[9766]=l/180.0;p[9767]=.002777777777777778;p[9768]=.9;p[9769]=1.0;p[9770]=l/200.0;p[9771]=.0025;p[9772]=180.0/l;p[9773]=200.0/l;p[9774]=1.0;p[9775]=.5/l;p[9776]=360.0;p[9777]=400.0;p[9778]=l*2.0;p[9779]=1.0;u=g;return}}a=Ya()|0;e=I;c=f[19992]|0;if(c){d=f[19993]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19993]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19993]|0}}while((d|0)!=(c|0));c=f[19992]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Cl(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;q=u;u=u+208|0;l=q;g=q+184|0;n=q+136|0;j=q+176|0;p=q+120|0;o=q+80|0;r=q+64|0;q=q+52|0;i=f[d>>2]|0?d:a+84|0;f[g>>2]=f[i>>2];f[g+4>>2]=f[i+4>>2];f[g+8>>2]=f[i+8>>2];i=f[a+12>>2]|0;m=f[a+72>>2]|0;Qda(j,0,0);f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];JL(n,i,m,g,l);g=a+148|0;m=p+11|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;i=l;j=n;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));h=l+40|0;x=0;Ga(459,h|0,p|0);k=x;x=0;a:do if(k&1)d=Ya()|0;else{d=a+152|0;e=f[d>>2]|0;do if(e>>>0<(f[a+156>>2]|0)>>>0){i=e;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));k=e+40|0;f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,g|0,l|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break a;Hta(f[h>>2]|0);break a}else{if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}while(0);if((b[m>>0]|0)<0)Hta(f[p>>2]|0);m=Ta(84)|0;i=o;j=n;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,r|0,g|0);p=x;x=0;do if(p&1)d=Ya()|0;else{x=0;Ga(459,q|0,c|0);p=x;x=0;if(p&1){d=Ya()|0;j=1;a=I}else{x=0;i=l;j=o;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ja(30,m|0,l|0,r|0,q|0);p=x;x=0;if(p&1)e=1;else{x=0;Ia(77,m|0,3344,181);x=0;e=0}d=Ya()|0;a=I;if((b[q+11>>0]|0)<0){Hta(f[q>>2]|0);j=e}else j=e}e=f[r>>2]|0;if(!e){if(j)break;jb(d|0)}i=r+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[r>>2]|0}Hta(e);if(!j){r=d;jb(r|0)}}while(0);bb(m|0);r=d;jb(r|0)}while(0);if((b[m>>0]|0)<0)Hta(f[p>>2]|0);r=d;jb(r|0)}function Dl(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,t=0;s=u;u=u+16|0;r=s;q=b_(i,83352)|0;l=b_(i,83360)|0;Lc[f[(f[l>>2]|0)+20>>2]&1023](r,l);o=r+11|0;n=b[o>>0]|0;p=r+4|0;a:do if(!((n<<24>>24<0?f[p>>2]|0:n&255)|0)){x=0;ua(f[(f[q>>2]|0)+48>>2]|0,q|0,a|0,d|0,e|0)|0;q=x;x=0;if(q&1)j=28;else{i=e+(d-a<<2)|0;f[h>>2]=i;j=27}}else{f[h>>2]=e;i=b[a>>0]|0;switch(i<<24>>24){case 43:case 45:{x=0;i=sa(f[(f[q>>2]|0)+44>>2]|0,q|0,i|0)|0;n=x;x=0;if(n&1){j=28;break a}k=f[h>>2]|0;f[h>>2]=k+4;f[k>>2]=i;k=a+1|0;break}default:k=a}b:do if((d-k|0)>1)if((b[k>>0]|0)==48){i=k+1|0;switch(b[i>>0]|0){case 88:case 120:break;default:break b}x=0;j=sa(f[(f[q>>2]|0)+44>>2]|0,q|0,48)|0;n=x;x=0;if(n&1){j=28;break a}n=f[h>>2]|0;f[h>>2]=n+4;f[n>>2]=j;x=0;i=sa(f[(f[q>>2]|0)+44>>2]|0,q|0,b[i>>0]|0)|0;n=x;x=0;if(n&1){j=28;break a}n=f[h>>2]|0;f[h>>2]=n+4;f[n>>2]=i;k=k+2|0}while(0);c:do if((k|0)!=(d|0)){i=d;j=k;while(1){i=i+-1|0;if(j>>>0>=i>>>0)break c;n=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=n;j=j+1|0}}while(0);x=0;n=qa(f[(f[l>>2]|0)+16>>2]|0,l|0)|0;m=x;x=0;if(m&1)j=28;else{m=k;i=0;j=0;while(1){if(m>>>0>=d>>>0)break;l=b[((b[o>>0]|0)<0?f[r>>2]|0:r)+i>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=f[h>>2]|0;f[h>>2]=j+4;f[j>>2]=n;j=b[o>>0]|0;i=i+(i>>>0<((j<<24>>24<0?f[p>>2]|0:j&255)+-1|0)>>>0&1)|0;j=0}x=0;l=sa(f[(f[q>>2]|0)+44>>2]|0,q|0,b[m>>0]|0)|0;t=x;x=0;if(t&1){j=28;break a}t=f[h>>2]|0;f[h>>2]=t+4;f[t>>2]=l;m=m+1|0;j=j+1|0}i=e+(k-a<<2)|0;j=f[h>>2]|0;if((i|0)==(j|0))j=27;else{while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=f[i>>2]|0;f[i>>2]=f[j>>2];f[j>>2]=t;i=i+4|0}i=f[h>>2]|0;j=27}}}while(0);if((j|0)==27){f[g>>2]=(c|0)==(d|0)?i:e+(c-a<<2)|0;Aaa(r);u=s;return}else if((j|0)==28){t=Ya()|0;Aaa(r);jb(t|0)}}function El(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;m=0;n=u;u=u+112|0;l=n;o=n+104|0;r=n+52|0;c=n+64|0;p=n+40|0;f[r+8>>2]=0;q=r+11|0;b[q>>0]=7;b[r>>0]=b[40091]|0;b[r+1>>0]=b[40092]|0;b[r+2>>0]=b[40093]|0;b[r+3>>0]=b[40094]|0;b[r+4>>0]=b[40095]|0;b[r+5>>0]=b[40096]|0;b[r+6>>0]=b[40097]|0;b[r+7>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);k=x;x=0;if(k&1)c=Ya()|0;else{x=0;i=l;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,r|0,a|0,e|0,l|0,p|0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,o|0,c|0);k=x;x=0;if(!(k&1)){f[o>>2]=16744;c=f[p>>2]|0;if(c|0){a=p+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[r>>2]|0);x=0;c=qa(338,(f[o+4>>2]|0)+60|0)|0;r=x;x=0;do if(r&1)m=28;else{x=0;d=qa(318,68)|0;r=x;x=0;if(r&1)m=28;else{i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);r=x;x=0;if(r&1){c=Ya()|0;Hta(d);break}else{c=c&1;i=d+12|0;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=c;f[d+64>>2]=0;f[d+56>>2]=1;_P(o);u=n;return d|0}}}while(0);if((m|0)==28)c=Ya()|0;_P(o);r=c;jb(r|0)}}c=Ya()|0;e=I;d=f[p>>2]|0;if(d){h=p+4|0;i=f[h>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[h>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[h>>2]|0}else i=a}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d)}}if((b[q>>0]|0)<0)Hta(f[r>>2]|0);r=c;jb(r|0);return 0}function Fl(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,t=0;s=u;u=u+16|0;r=s;q=b_(i,83320)|0;l=b_(i,83336)|0;Lc[f[(f[l>>2]|0)+20>>2]&1023](r,l);o=r+11|0;n=b[o>>0]|0;p=r+4|0;a:do if(!((n<<24>>24<0?f[p>>2]|0:n&255)|0)){x=0;ua(f[(f[q>>2]|0)+32>>2]|0,q|0,a|0,d|0,e|0)|0;q=x;x=0;if(q&1)j=28;else{i=e+(d-a)|0;f[h>>2]=i;j=27}}else{f[h>>2]=e;i=b[a>>0]|0;switch(i<<24>>24){case 43:case 45:{x=0;i=sa(f[(f[q>>2]|0)+28>>2]|0,q|0,i|0)|0;n=x;x=0;if(n&1){j=28;break a}k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=i;k=a+1|0;break}default:k=a}b:do if((d-k|0)>1)if((b[k>>0]|0)==48){i=k+1|0;switch(b[i>>0]|0){case 88:case 120:break;default:break b}x=0;j=sa(f[(f[q>>2]|0)+28>>2]|0,q|0,48)|0;n=x;x=0;if(n&1){j=28;break a}n=f[h>>2]|0;f[h>>2]=n+1;b[n>>0]=j;x=0;i=sa(f[(f[q>>2]|0)+28>>2]|0,q|0,b[i>>0]|0)|0;n=x;x=0;if(n&1){j=28;break a}n=f[h>>2]|0;f[h>>2]=n+1;b[n>>0]=i;k=k+2|0}while(0);c:do if((k|0)!=(d|0)){i=d;j=k;while(1){i=i+-1|0;if(j>>>0>=i>>>0)break c;n=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=n;j=j+1|0}}while(0);x=0;n=qa(f[(f[l>>2]|0)+16>>2]|0,l|0)|0;m=x;x=0;if(m&1)j=28;else{m=k;i=0;j=0;while(1){if(m>>>0>=d>>>0)break;l=b[((b[o>>0]|0)<0?f[r>>2]|0:r)+i>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=f[h>>2]|0;f[h>>2]=j+1;b[j>>0]=n;j=b[o>>0]|0;i=i+(i>>>0<((j<<24>>24<0?f[p>>2]|0:j&255)+-1|0)>>>0&1)|0;j=0}x=0;l=sa(f[(f[q>>2]|0)+28>>2]|0,q|0,b[m>>0]|0)|0;t=x;x=0;if(t&1){j=28;break a}t=f[h>>2]|0;f[h>>2]=t+1;b[t>>0]=l;m=m+1|0;j=j+1|0}i=e+(k-a)|0;j=f[h>>2]|0;if((i|0)==(j|0))j=27;else{while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=t;i=i+1|0}i=f[h>>2]|0;j=27}}}while(0);if((j|0)==27){f[g>>2]=(c|0)==(d|0)?i:e+(c-a)|0;Aaa(r);u=s;return}else if((j|0)==28){t=Ya()|0;Aaa(r);jb(t|0)}}function Gl(a){a=a|0;var b=0;a=f[5446]|0;DF(82952,a,83008);f[20568]=26132;f[20570]=26152;f[20569]=0;x=0;Ga(531,82280,82952);b=x;x=0;if(b&1){b=Ya()|0;uma(82280);jb(b|0)}f[20588]=0;b=Kta()|0;f[20589]=b;CF(83016,a,83072);f[20590]=26180;f[20592]=26200;f[20591]=0;x=0;Ga(531,82368,83016);b=x;x=0;if(b&1){b=Ya()|0;tma(82368);jb(b|0)}f[20610]=0;a=Jta()|0;f[20611]=a;a=f[5478]|0;xF(83080,a,83128);f[20612]=28;f[20613]=48;x=0;Ga(531,82452,83080);b=x;x=0;if(b&1){b=Ya()|0;uma(82452);jb(b|0)}f[20631]=0;b=Kta()|0;f[20632]=b;wF(83136,a,83184);f[20633]=26236;f[20634]=26256;x=0;Ga(531,82536,83136);b=x;x=0;if(b&1){b=Ya()|0;tma(82536);jb(b|0)}f[20652]=0;a=Jta()|0;f[20653]=a;a=f[5414]|0;xF(83192,a,83240);f[20654]=28;f[20655]=48;x=0;Ga(531,82620,83192);b=x;x=0;if(b&1){b=Ya()|0;uma(82620);jb(b|0)}f[20673]=0;b=Kta()|0;f[20674]=b;b=f[82616+(f[(f[20654]|0)+-12>>2]|0)+24>>2]|0;f[20696]=28;f[20697]=48;x=0;Ga(531,82788,b|0);b=x;x=0;if(b&1){b=Ya()|0;uma(82788);jb(b|0)}f[20715]=0;b=Kta()|0;f[20716]=b;wF(83248,a,83296);f[20675]=26236;f[20676]=26256;x=0;Ga(531,82704,83248);b=x;x=0;if(b&1){b=Ya()|0;tma(82704);jb(b|0)}f[20694]=0;b=Jta()|0;f[20695]=b;b=f[82700+(f[(f[20675]|0)+-12>>2]|0)+24>>2]|0;f[20717]=26236;f[20718]=26256;x=0;Ga(531,82872,b|0);b=x;x=0;if(b&1){b=Ya()|0;tma(82872);jb(b|0)}else{f[20736]=0;b=Jta()|0;f[20737]=b;f[82272+(f[(f[20568]|0)+-12>>2]|0)+72>>2]=82448;f[82360+(f[(f[20590]|0)+-12>>2]|0)+72>>2]=82532;b=82616+(f[(f[20654]|0)+-12>>2]|0)+4|0;f[b>>2]=f[b>>2]|8192;b=82700+(f[(f[20675]|0)+-12>>2]|0)+4|0;f[b>>2]=f[b>>2]|8192;f[82616+(f[(f[20654]|0)+-12>>2]|0)+72>>2]=82448;f[82700+(f[(f[20675]|0)+-12>>2]|0)+72>>2]=82532;return}}function Hl(a){a=a|0;var c=0,d=0,e=0;e=0;c=Dz(a)|0;do if(!c)c=0;else{c=Xu(c)|0;if(!c)c=0;else if((b[c>>0]|0)==61){d=Xu(c+1|0)|0;if(!d)c=0;else{if((b[d>>0]|0)==36){c=d;do c=c+1|0;while((b[c>>0]|0)==45);c=Ay(c)|0;if(!c)e=9;else{c=wy(c)|0;if(!c)e=9}}else e=9;if((e|0)==9){c=Vp(d)|0;if(!c){c=0;break}}d=Jr(c)|0;if(d){c=d;while(1){d=Jr(c)|0;if(!d)break;else c=d}}}}else c=0}while(0);c=c|0?c:a;if(!c){a=0;return a|0}c=Xu(c)|0;if(!c){a=0;return a|0}a=(b[c>>0]|0)==41?c+1|0:0;return a|0}function Il(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.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0;v=u;u=u+128|0;t=v+80|0;z=v+24|0;c=v+40|0;s=v+12|0;w=v;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;y=z+11|0;b[y>>0]=6;b[z>>0]=b[39245]|0;b[z+1>>0]=b[39246]|0;b[z+2>>0]=b[39247]|0;b[z+3>>0]=b[39248]|0;b[z+4>>0]=b[39249]|0;b[z+5>>0]=b[39250]|0;b[z+6>>0]=0;o=c;q=g;r=o+40|0;do{f[o>>2]=f[q>>2];o=o+4|0;q=q+4|0}while((o|0)<(r|0));x=0;Ga(511,s|0,h|0);r=x;x=0;do if(r&1)c=Ya()|0;else{x=0;o=t;q=c;r=o+40|0;do{f[o>>2]=f[q>>2];o=o+4|0;q=q+4|0}while((o|0)<(r|0));e=wa(26,z|0,a|0,e|0,t|0,s|0)|0;r=x;x=0;if(r&1){c=Ya()|0;e=I;d=f[s>>2]|0;if(!d)break;h=s+4|0;i=f[h>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[h>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[h>>2]|0}else i=a}while((i|0)!=(d|0));d=f[s>>2]|0}Hta(d);break}c=f[s>>2]|0;if(c|0){a=s+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[s>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[z>>2]|0);m=+p[e+64>>3]/255.0;n=+p[e+72>>3]/255.0;k=+p[e+80>>3]/255.0;c=n>2]=0;f[i+4>>2]=0;i=w+11|0;b[i>>0]=3;b[w>>0]=b[44032]|0;b[w+1>>0]=b[44033]|0;b[w+2>>0]=b[44034]|0;b[w+3>>0]=0;x=0;o=t;q=g;r=o+40|0;do{f[o>>2]=f[q>>2];o=o+4|0;q=q+4|0}while((o|0)<(r|0));Ha(1,d|0,t|0,+j,w|0,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[w>>2]|0);Hta(d);g=c;jb(g|0)}else{if((b[i>>0]|0)>=0){u=v;return d|0}Hta(f[w>>2]|0);u=v;return d|0}}while(0);if((b[y>>0]|0)<0)Hta(f[z>>2]|0);g=c;jb(g|0);return 0}function Jl(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;n=0;o=u;u=u+16|0;p=o;if(!c){u=o;return}else d=c;a:while(1){switch(b[d>>0]|0){case 0:break a;case 58:{n=4;break a}default:{}}d=d+1|0}b:do if((n|0)==4){m=p+11|0;j=p+4|0;k=a+356|0;l=a+360|0;h=a+352|0;i=p+8|0;c:while(1){g=d-c|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(g>>>0>4294967279){n=6;break}if(g>>>0<11){b[m>>0]=g;if(!g)c=p;else{e=p;n=10}}else{n=g+16&-16;e=VN(n)|0;f[p>>2]=e;f[i>>2]=n|-2147483648;f[j>>2]=g;n=10}if((n|0)==10){n=0;Lu(e|0,c|0,g|0)|0;c=e}b[c+g>>0]=0;e=b[m>>0]|0;c=e<<24>>24<0;e=c?f[j>>2]|0:e&255;do if(e|0){if((b[(c?f[p>>2]|0:p)+e+-1>>0]|0)!=47){x=0;Ga(534,p|0,47);g=x;x=0;if(g&1)break c}c=f[k>>2]|0;if((c|0)==(f[l>>2]|0)){x=0;Ga(515,h|0,p|0);g=x;x=0;if(g&1)break c;else break}x=0;Ga(459,c|0,p|0);g=x;x=0;if(g&1)break c;f[k>>2]=(f[k>>2]|0)+12}while(0);c=d+1|0;d=c;d:while(1){e=b[d>>0]|0;switch(e<<24>>24){case 0:case 58:break d;default:{}}d=d+1|0}if((b[m>>0]|0)<0)Hta(f[p>>2]|0);if(!(e<<24>>24))break b}if((n|0)==6)CO(p);d=Ya()|0;if((b[m>>0]|0)<0)Hta(f[p>>2]|0);p=d;jb(p|0)}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;g=hL(c)|0;if(g>>>0>4294967279)CO(p);if(g>>>0<11){e=p+11|0;b[e>>0]=g;if(!g)d=p;else{d=p;n=32}}else{e=g+16&-16;d=VN(e)|0;f[p>>2]=d;f[p+8>>2]=e|-2147483648;f[p+4>>2]=g;e=p+11|0;n=32}if((n|0)==32)Lu(d|0,c|0,g|0)|0;b[d+g>>0]=0;c=b[e>>0]|0;d=c<<24>>24<0;c=d?f[p+4>>2]|0:c&255;e:do if(c|0){if((b[(d?f[p>>2]|0:p)+c+-1>>0]|0)==47)n=39;else{x=0;Ga(534,p|0,47);m=x;x=0;if(!(m&1))n=39}do if((n|0)==39){d=a+356|0;c=f[d>>2]|0;if((c|0)==(f[a+360>>2]|0)){x=0;Ga(515,a+352|0,p|0);a=x;x=0;if(a&1)break;else break e}x=0;Ga(459,c|0,p|0);a=x;x=0;if(!(a&1)){f[d>>2]=(f[d>>2]|0)+12;break e}}while(0);d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[p>>2]|0);p=d;jb(p|0)}while(0);if((b[e>>0]|0)<0)Hta(f[p>>2]|0);u=o;return}function Kl(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;n=0;o=u;u=u+16|0;p=o;if(!c){u=o;return}else d=c;a:while(1){switch(b[d>>0]|0){case 0:break a;case 58:{n=4;break a}default:{}}d=d+1|0}b:do if((n|0)==4){m=p+11|0;j=p+4|0;k=a+344|0;l=a+348|0;h=a+340|0;i=p+8|0;c:while(1){g=d-c|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(g>>>0>4294967279){n=6;break}if(g>>>0<11){b[m>>0]=g;if(!g)c=p;else{e=p;n=10}}else{n=g+16&-16;e=VN(n)|0;f[p>>2]=e;f[i>>2]=n|-2147483648;f[j>>2]=g;n=10}if((n|0)==10){n=0;Lu(e|0,c|0,g|0)|0;c=e}b[c+g>>0]=0;e=b[m>>0]|0;c=e<<24>>24<0;e=c?f[j>>2]|0:e&255;do if(e|0){if((b[(c?f[p>>2]|0:p)+e+-1>>0]|0)!=47){x=0;Ga(534,p|0,47);g=x;x=0;if(g&1)break c}c=f[k>>2]|0;if((c|0)==(f[l>>2]|0)){x=0;Ga(515,h|0,p|0);g=x;x=0;if(g&1)break c;else break}x=0;Ga(459,c|0,p|0);g=x;x=0;if(g&1)break c;f[k>>2]=(f[k>>2]|0)+12}while(0);c=d+1|0;d=c;d:while(1){e=b[d>>0]|0;switch(e<<24>>24){case 0:case 58:break d;default:{}}d=d+1|0}if((b[m>>0]|0)<0)Hta(f[p>>2]|0);if(!(e<<24>>24))break b}if((n|0)==6)CO(p);d=Ya()|0;if((b[m>>0]|0)<0)Hta(f[p>>2]|0);p=d;jb(p|0)}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;g=hL(c)|0;if(g>>>0>4294967279)CO(p);if(g>>>0<11){e=p+11|0;b[e>>0]=g;if(!g)d=p;else{d=p;n=32}}else{e=g+16&-16;d=VN(e)|0;f[p>>2]=d;f[p+8>>2]=e|-2147483648;f[p+4>>2]=g;e=p+11|0;n=32}if((n|0)==32)Lu(d|0,c|0,g|0)|0;b[d+g>>0]=0;c=b[e>>0]|0;d=c<<24>>24<0;c=d?f[p+4>>2]|0:c&255;e:do if(c|0){if((b[(d?f[p>>2]|0:p)+c+-1>>0]|0)==47)n=39;else{x=0;Ga(534,p|0,47);m=x;x=0;if(!(m&1))n=39}do if((n|0)==39){d=a+344|0;c=f[d>>2]|0;if((c|0)==(f[a+348>>2]|0)){x=0;Ga(515,a+340|0,p|0);a=x;x=0;if(a&1)break;else break e}x=0;Ga(459,c|0,p|0);a=x;x=0;if(!(a&1)){f[d>>2]=(f[d>>2]|0)+12;break e}}while(0);d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[p>>2]|0);p=d;jb(p|0)}while(0);if((b[e>>0]|0)<0)Hta(f[p>>2]|0);u=o;return}function Ll(a){a=a|0;var c=0,d=0.0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,v=0,w=0,x=0;w=0;x=u;u=u+16|0;t=x;v=a+100|0;if(f[v>>2]|0){w=f[v>>2]|0;u=x;return w|0}d=+p[a+88>>3];if(d==0.0)c=0;else{p[s>>3]=d;r=X(f[s>>2]|0,1540483477)|0;c=X(f[s+4>>2]|0,1540483477)|0;c=(X((X(r>>>24^r,1540483477)|0)^-561034072,1540483477)|0)^(X(c>>>24^c,1540483477)|0);c=X(c>>>13^c,1540483477)|0;c=c>>>15^c}f[v>>2]=c;c=f[a+60>>2]|0;o=f[a+64>>2]|0;a:do if((c|0)!=(o|0)){q=t+11|0;r=t+4|0;while(1){ND(t,c);l=b[q>>0]|0;m=l<<24>>24<0;n=f[t>>2]|0;k=m?n:t;l=m?f[r>>2]|0:l&255;if(l>>>0>3){j=l+-4|0;i=k;e=l;g=l;while(1){l=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;e=(X(l>>>24^l,1540483477)|0)^(X(e,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else i=i+4|0}i=j&-4;g=j-i|0;i=k+(i+4)|0}else{g=l;i=k;e=l}switch(g|0){case 3:{e=(h[i+2>>0]|0)<<16^e;w=14;break}case 2:{w=14;break}case 1:{w=15;break}default:{}}if((w|0)==14){e=(h[i+1>>0]|0)<<8^e;w=15}if((w|0)==15){w=0;e=X(e^(h[i>>0]|0),1540483477)|0}k=X(e>>>13^e,1540483477)|0;l=f[v>>2]|0;f[v>>2]=(l<<6)+-1640531527+(l>>>2)+(k>>>15^k)^l;if(m)Hta(n);c=c+12|0;if((c|0)==(o|0))break a}}while(0);c=f[a+72>>2]|0;o=f[a+76>>2]|0;if((c|0)==(o|0)){w=f[v>>2]|0;u=x;return w|0}q=t+11|0;r=t+4|0;do{ND(t,c);l=b[q>>0]|0;m=l<<24>>24<0;n=f[t>>2]|0;k=m?n:t;l=m?f[r>>2]|0:l&255;if(l>>>0>3){j=l+-4|0;i=k;e=l;g=l;while(1){a=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;e=(X(a>>>24^a,1540483477)|0)^(X(e,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else i=i+4|0}i=j&-4;g=j-i|0;i=k+(i+4)|0}else{g=l;i=k;e=l}switch(g|0){case 3:{e=(h[i+2>>0]|0)<<16^e;w=25;break}case 2:{w=25;break}case 1:{w=26;break}default:{}}if((w|0)==25){e=(h[i+1>>0]|0)<<8^e;w=26}if((w|0)==26){w=0;e=X(e^(h[i>>0]|0),1540483477)|0}l=X(e>>>13^e,1540483477)|0;a=f[v>>2]|0;f[v>>2]=(a<<6)+-1640531527+(a>>>2)+(l>>>15^l)^a;if(m)Hta(n);c=c+12|0}while((c|0)!=(o|0));w=f[v>>2]|0;u=x;return w|0}function Ml(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=0;n=u;u=u+128|0;i=n+88|0;g=n+80|0;o=n+72|0;j=n+32|0;p=n+24|0;l=n+16|0;q=n+8|0;m=n;h=b+68|0;qV(g,f[h>>2]|0);f[g>>2]=7280;k=f[g+4>>2]|0;k=(f[k+72>>2]|0)==(f[k+68>>2]|0);_P(g);if(k){r=b;u=n;return r|0}d=a+24|0;k=a+28|0;e=f[k>>2]|0;g=e;if((e|0)==(f[d>>2]|0))c=f[a+12>>2]|0;else c=g+-4|0;if((f[(f[c>>2]|0)+52>>2]|0)==1){r=jf(a,b)|0;u=n;return r|0}f[i>>2]=b;if((f[a+32>>2]|0)>>>0>g>>>0){f[e>>2]=b;f[k>>2]=(f[k>>2]|0)+4}else TA(d,i);g=VN(80)|0;c=j;d=b+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));x=0;Ga(462,p|0,f[b+76>>2]|0);e=x;x=0;do if(e&1)c=Ya()|0;else{f[p>>2]=12372;c=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,q|0,f[h>>2]|0);h=x;x=0;if(h&1){c=Ya()|0;_P(p);break}f[q>>2]=7280;x=0;c=sa(c|0,a|0,f[q+4>>2]|0)|0;h=x;x=0;if(h&1)r=22;else{x=0;Ga(462,l|0,c|0);h=x;x=0;if(h&1)r=22;else{f[l>>2]=7280;x=0;c=i;d=j;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Ja(41,g|0,i|0,p|0,l|0);j=x;x=0;if(j&1)d=1;else{x=0;Ga(462,o|0,g|0);j=x;x=0;if(j&1)d=0;else{f[o>>2]=17144;_P(l);_P(q);_P(p);c=o+4|0;r=f[c>>2]|0;f[r+56>>2]=f[b+56>>2];f[k>>2]=(f[k>>2]|0)+-4;x=0;Ga(462,m|0,f[r+68>>2]|0);r=x;x=0;do if(r&1)c=Ya()|0;else{f[m>>2]=7280;x=0;c=ta(158,a|0,f[m+4>>2]|0,f[c>>2]|0)|0;r=x;x=0;if(r&1){c=Ya()|0;_P(m);break}_P(m);_P(o);r=c;u=n;return r|0}while(0);_P(o);r=c;jb(r|0)}}c=Ya()|0;_P(l)}}if((r|0)==22){c=Ya()|0;d=1}_P(q);_P(p);if(!d){r=c;jb(r|0)}}while(0);Hta(g);r=c;jb(r|0);return 0}function Nl(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;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 (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(!h){if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(k>>>0)/(h>>>0)>>>0;return (I=n,e)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}n=0;e=(k>>>0)/(i>>>0)>>>0;return (I=n,e)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}n=0;e=k>>>((VP(i|0)|0)>>>0);return (I=n,e)|0}g=(_(i|0)|0)-(_(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;n=0;e=0;return (I=n,e)|0}else{if(!g){g=(_(i|0)|0)-(_(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 (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(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 (I=o,p)|0}else{p=VP(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=w7(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{q=j;j=g>>>31|j<<1;g=i|g<<1;q=a<<1|q>>>31|0;d=a>>>31|b<<1|0;AY(k|0,c|0,q|0,d|0)|0;o=I;p=((o|0)<0?-1:0)<<1|0;n=o>>31|p;i=n&1;a=AY(q|0,d|0,n&m|0,(((o|0)<0?-1:0)>>31|p)&l|0)|0;b=I;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}p=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;q=(g<<1|0>>>31)&-2|i;return (I=p,q)|0}function Ol(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;g=f[b+12>>2]|0;t=c+12|0;e=f[t>>2]|0;if((g|0)==(e|0)){c=d;v=c;v=f[v>>2]|0;c=c+4|0;c=f[c>>2]|0;d=a;b=d;f[b>>2]=v;d=d+4|0;f[d>>2]=c;return}v=d+4|0;u=b+8|0;s=c+8|0;n=f[u>>2]|0;r=g;while(1){i=n;q=f[v>>2]|0;l=(f[f[d>>2]>>2]|0)+4088-q|0;o=(l|0)/28|0;h=f[s>>2]|0;if((e|0)==(g|0))e=0;else e=((g-(f[n>>2]|0)|0)/28|0)+((n-h>>2)*146|0)+((e-(f[h>>2]|0)|0)/-28|0)|0;j=c;h=f[j>>2]|0;j=f[j+4>>2]|0;m=s;k=f[m>>2]|0;m=f[m+4>>2]|0;if((e|0)>(o|0)){e=u;h=f[e>>2]|0;i=h;if(!l)e=n;else{e=(((f[e+4>>2]|0)-(f[h>>2]|0)|0)/28|0)-o|0;if((e|0)>0){p=i+(((e>>>0)/146|0)<<2)|0;g=(f[p>>2]|0)+(((e>>>0)%146|0)*28|0)|0;e=p}else{g=145-e|0;e=i+(((g|0)/-146|0)<<2)|0;g=(f[e>>2]|0)+((145-((g|0)%146|0)|0)*28|0)|0}}p=e;n=g;k=e;m=g}else{o=e;p=h;n=j}e=r;r=m;if((e|0)!=(r|0)){l=q;h=i;g=e;e=f[i>>2]|0;while(1){if((g|0)==(e|0))j=(f[h+-4>>2]|0)+4088|0;else j=g;e=j+-28|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];e=l+12|0;i=l+16|0;if(f[i>>2]|0)vQ(e);f[i>>2]=f[j+-12>>2];EX(e);e=f[j+-8>>2]|0;i=f[j+-4>>2]|0;if(i|0)ega(i);f[l+20>>2]=e;q=l+24|0;e=f[q>>2]|0;f[q>>2]=i;if(e|0)QZ(e);e=f[h>>2]|0;if((g|0)==(e|0)){h=h+-4|0;e=f[h>>2]|0;g=e+4088|0}g=g+-28|0;if((g|0)==(r|0))break;else l=l+28|0}}q=b;f[q>>2]=p;f[q+4>>2]=n;q=u;f[q>>2]=k;f[q+4>>2]=m;if(o|0){g=f[d>>2]|0;e=(((f[v>>2]|0)-(f[g>>2]|0)|0)/28|0)+o|0;if((e|0)>0){q=g+(((e>>>0)/146|0)<<2)|0;f[d>>2]=q;e=(f[q>>2]|0)+(((e>>>0)%146|0)*28|0)|0}else{e=145-e|0;q=g+(((e|0)/-146|0)<<2)|0;f[d>>2]=q;e=(f[q>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}f[v>>2]=e}e=f[t>>2]|0;if((e|0)==(r|0))break;else{n=k;g=m}}c=d;v=c;v=f[v>>2]|0;c=c+4|0;c=f[c>>2]|0;d=a;b=d;f[b>>2]=v;d=d+4|0;f[d>>2]=c;return}function Pl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9791]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20190]=0;f[20191]=0;f[20192]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20191]=a;f[20190]=a;f[20192]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20191]|0)+12|0;f[20191]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20191]=(f[20191]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20193]=0;f[20194]=0;f[20195]=0;a=VN(32)|0;f[20193]=a;f[20195]=-2147483616;f[20194]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20196]=0;f[20197]=0;f[20198]=0;a=VN(32)|0;f[20196]=a;f[20198]=-2147483616;f[20197]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20199]=0;f[20200]=0;f[20201]=0;a=VN(32)|0;f[20199]=a;f[20201]=-2147483616;f[20200]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20202]=0;f[20203]=0;f[20204]=0;a=VN(32)|0;f[20202]=a;f[20204]=-2147483616;f[20203]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20205]=0;f[20206]=0;f[20207]=0;b[80831]=6;b[80820]=b[52998]|0;b[80821]=b[52999]|0;b[80822]=b[53e3]|0;b[80823]=b[53001]|0;b[80824]=b[53002]|0;b[80825]=b[53003]|0;b[80826]=0;u=g;return}}a=Ya()|0;e=I;c=f[20190]|0;if(c){d=f[20191]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20191]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20191]|0}}while((d|0)!=(c|0));c=f[20190]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Ql(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20281]=0;f[20282]=0;f[20283]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20282]=a;f[20281]=a;f[20283]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20282]|0)+12|0;f[20282]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20282]=(f[20282]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);p[9797]=3.141592653589793;f[20284]=0;f[20285]=0;f[20286]=0;a=VN(32)|0;f[20284]=a;f[20286]=-2147483616;f[20285]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20287]=0;f[20288]=0;f[20289]=0;a=VN(32)|0;f[20287]=a;f[20289]=-2147483616;f[20288]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20290]=0;f[20291]=0;f[20292]=0;a=VN(32)|0;f[20290]=a;f[20292]=-2147483616;f[20291]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20293]=0;f[20294]=0;f[20295]=0;a=VN(32)|0;f[20293]=a;f[20295]=-2147483616;f[20294]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20296]=0;f[20297]=0;f[20298]=0;b[81195]=6;b[81184]=b[52998]|0;b[81185]=b[52999]|0;b[81186]=b[53e3]|0;b[81187]=b[53001]|0;b[81188]=b[53002]|0;b[81189]=b[53003]|0;b[81190]=0;u=g;return}}a=Ya()|0;e=I;c=f[20281]|0;if(c){d=f[20282]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20282]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20282]|0}}while((d|0)!=(c|0));c=f[20281]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Rl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9803]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20395]=0;f[20396]=0;f[20397]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20396]=a;f[20395]=a;f[20397]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20396]|0)+12|0;f[20396]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20396]=(f[20396]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20398]=0;f[20399]=0;f[20400]=0;a=VN(32)|0;f[20398]=a;f[20400]=-2147483616;f[20399]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20401]=0;f[20402]=0;f[20403]=0;a=VN(32)|0;f[20401]=a;f[20403]=-2147483616;f[20402]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20404]=0;f[20405]=0;f[20406]=0;a=VN(32)|0;f[20404]=a;f[20406]=-2147483616;f[20405]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20407]=0;f[20408]=0;f[20409]=0;a=VN(32)|0;f[20407]=a;f[20409]=-2147483616;f[20408]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20410]=0;f[20411]=0;f[20412]=0;b[81651]=6;b[81640]=b[52998]|0;b[81641]=b[52999]|0;b[81642]=b[53e3]|0;b[81643]=b[53001]|0;b[81644]=b[53002]|0;b[81645]=b[53003]|0;b[81646]=0;u=g;return}}a=Ya()|0;e=I;c=f[20395]|0;if(c){d=f[20396]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20396]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20396]|0}}while((d|0)!=(c|0));c=f[20395]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Sl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9790]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20172]=0;f[20173]=0;f[20174]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20173]=a;f[20172]=a;f[20174]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20173]|0)+12|0;f[20173]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20173]=(f[20173]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20175]=0;f[20176]=0;f[20177]=0;a=VN(32)|0;f[20175]=a;f[20177]=-2147483616;f[20176]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20178]=0;f[20179]=0;f[20180]=0;a=VN(32)|0;f[20178]=a;f[20180]=-2147483616;f[20179]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20181]=0;f[20182]=0;f[20183]=0;a=VN(32)|0;f[20181]=a;f[20183]=-2147483616;f[20182]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20184]=0;f[20185]=0;f[20186]=0;a=VN(32)|0;f[20184]=a;f[20186]=-2147483616;f[20185]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20187]=0;f[20188]=0;f[20189]=0;b[80759]=6;b[80748]=b[52998]|0;b[80749]=b[52999]|0;b[80750]=b[53e3]|0;b[80751]=b[53001]|0;b[80752]=b[53002]|0;b[80753]=b[53003]|0;b[80754]=0;u=g;return}}a=Ya()|0;e=I;c=f[20172]|0;if(c){d=f[20173]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20173]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20173]|0}}while((d|0)!=(c|0));c=f[20172]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Tl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9760]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19920]=0;f[19921]=0;f[19922]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19921]=a;f[19920]=a;f[19922]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19921]|0)+12|0;f[19921]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19921]=(f[19921]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19923]=0;f[19924]=0;f[19925]=0;a=VN(32)|0;f[19923]=a;f[19925]=-2147483616;f[19924]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19926]=0;f[19927]=0;f[19928]=0;a=VN(32)|0;f[19926]=a;f[19928]=-2147483616;f[19927]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19929]=0;f[19930]=0;f[19931]=0;a=VN(32)|0;f[19929]=a;f[19931]=-2147483616;f[19930]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19932]=0;f[19933]=0;f[19934]=0;a=VN(32)|0;f[19932]=a;f[19934]=-2147483616;f[19933]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[19935]=0;f[19936]=0;f[19937]=0;b[79751]=6;b[79740]=b[52998]|0;b[79741]=b[52999]|0;b[79742]=b[53e3]|0;b[79743]=b[53001]|0;b[79744]=b[53002]|0;b[79745]=b[53003]|0;b[79746]=0;u=g;return}}a=Ya()|0;e=I;c=f[19920]|0;if(c){d=f[19921]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19921]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19921]|0}}while((d|0)!=(c|0));c=f[19920]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Ul(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;e=0;l=u;u=u+48|0;i=l+24|0;j=l+12|0;k=l;h=a+100|0;do if(!(b[h>>0]|0))e=6;else{d=a+72|0;g=b[d+11>>0]|0;if(((g<<24>>24<0?f[a+76>>2]|0:g&255)|0)==1){x=0;d=wa(21,d|0,0,-1,41390,1)|0;g=x;x=0;if(g&1){j=Za(0)|0;soa(j)}else if(!d){e=6;break}else break}}while(0);a:do if((e|0)==6){g=c+100|0;do if(b[g>>0]|0){d=c+72|0;e=b[d+11>>0]|0;if(((e<<24>>24<0?f[c+76>>2]|0:e&255)|0)==1){x=0;d=wa(21,d|0,0,-1,41390,1)|0;e=x;x=0;if(e&1){k=Za(0)|0;soa(k)}else if(!d)break a;else break}}while(0);d=a+84|0;k=b[d+11>>0]|0;do if(((k<<24>>24<0?f[a+88>>2]|0:k&255)|0)==1){x=0;e=wa(21,d|0,0,-1,41390,1)|0;k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}if(!e){ND(i,c+84|0);x=0;sa(986,d|0,i|0)|0;k=x;x=0;if(!(k&1)){if((b[i+11>>0]|0)>=0)break;Hta(f[i>>2]|0);break}d=Ya()|0;if((b[i+11>>0]|0)>=0){l=d;jb(l|0)}Hta(f[i>>2]|0);l=d;jb(l|0)}}while(0);ND(j,c+72|0);x=0;sa(986,a+72|0,j|0)|0;k=x;x=0;if(k&1){d=Ya()|0;if((b[j+11>>0]|0)>=0){l=d;jb(l|0)}Hta(f[j>>2]|0);l=d;jb(l|0)}else{if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);b[h>>0]=b[g>>0]|0;u=l;return a|0}}while(0);g=a+84|0;j=b[g+11>>0]|0;if(((j<<24>>24<0?f[a+88>>2]|0:j&255)|0)!=1){u=l;return a|0}x=0;d=wa(21,g|0,0,-1,41390,1)|0;j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}if(d|0){u=l;return a|0}e=c+84|0;j=b[e+11>>0]|0;if(((j<<24>>24<0?f[c+88>>2]|0:j&255)|0)==1){x=0;d=wa(21,e|0,0,-1,41390,1)|0;c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}if(!d){u=l;return a|0}}ND(k,e);x=0;sa(986,g|0,k|0)|0;c=x;x=0;if(c&1){d=Ya()|0;if((b[k+11>>0]|0)>=0){l=d;jb(l|0)}Hta(f[k>>2]|0);l=d;jb(l|0)}else{if((b[k+11>>0]|0)>=0){u=l;return a|0}Hta(f[k>>2]|0);u=l;return a|0}return 0}function Vl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9794]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20244]=0;f[20245]=0;f[20246]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20245]=a;f[20244]=a;f[20246]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20245]|0)+12|0;f[20245]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20245]=(f[20245]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20247]=0;f[20248]=0;f[20249]=0;a=VN(32)|0;f[20247]=a;f[20249]=-2147483616;f[20248]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20250]=0;f[20251]=0;f[20252]=0;a=VN(32)|0;f[20250]=a;f[20252]=-2147483616;f[20251]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20253]=0;f[20254]=0;f[20255]=0;a=VN(32)|0;f[20253]=a;f[20255]=-2147483616;f[20254]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20256]=0;f[20257]=0;f[20258]=0;a=VN(32)|0;f[20256]=a;f[20258]=-2147483616;f[20257]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20259]=0;f[20260]=0;f[20261]=0;b[81047]=6;b[81036]=b[52998]|0;b[81037]=b[52999]|0;b[81038]=b[53e3]|0;b[81039]=b[53001]|0;b[81040]=b[53002]|0;b[81041]=b[53003]|0;b[81042]=0;u=g;return}}a=Ya()|0;e=I;c=f[20244]|0;if(c){d=f[20245]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20245]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20245]|0}}while((d|0)!=(c|0));c=f[20244]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Wl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9759]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19902]=0;f[19903]=0;f[19904]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19903]=a;f[19902]=a;f[19904]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19903]|0)+12|0;f[19903]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19903]=(f[19903]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19905]=0;f[19906]=0;f[19907]=0;a=VN(32)|0;f[19905]=a;f[19907]=-2147483616;f[19906]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19908]=0;f[19909]=0;f[19910]=0;a=VN(32)|0;f[19908]=a;f[19910]=-2147483616;f[19909]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19911]=0;f[19912]=0;f[19913]=0;a=VN(32)|0;f[19911]=a;f[19913]=-2147483616;f[19912]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19914]=0;f[19915]=0;f[19916]=0;a=VN(32)|0;f[19914]=a;f[19916]=-2147483616;f[19915]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[19917]=0;f[19918]=0;f[19919]=0;b[79679]=6;b[79668]=b[52998]|0;b[79669]=b[52999]|0;b[79670]=b[53e3]|0;b[79671]=b[53001]|0;b[79672]=b[53002]|0;b[79673]=b[53003]|0;b[79674]=0;u=g;return}}a=Ya()|0;e=I;c=f[19902]|0;if(c){d=f[19903]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19903]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19903]|0}}while((d|0)!=(c|0));c=f[19902]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Xl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9802]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20377]=0;f[20378]=0;f[20379]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20378]=a;f[20377]=a;f[20379]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20378]|0)+12|0;f[20378]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20378]=(f[20378]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20380]=0;f[20381]=0;f[20382]=0;a=VN(32)|0;f[20380]=a;f[20382]=-2147483616;f[20381]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20383]=0;f[20384]=0;f[20385]=0;a=VN(32)|0;f[20383]=a;f[20385]=-2147483616;f[20384]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20386]=0;f[20387]=0;f[20388]=0;a=VN(32)|0;f[20386]=a;f[20388]=-2147483616;f[20387]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20389]=0;f[20390]=0;f[20391]=0;a=VN(32)|0;f[20389]=a;f[20391]=-2147483616;f[20390]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20392]=0;f[20393]=0;f[20394]=0;b[81579]=6;b[81568]=b[52998]|0;b[81569]=b[52999]|0;b[81570]=b[53e3]|0;b[81571]=b[53001]|0;b[81572]=b[53002]|0;b[81573]=b[53003]|0;b[81574]=0;u=g;return}}a=Ya()|0;e=I;c=f[20377]|0;if(c){d=f[20378]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20378]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20378]|0}}while((d|0)!=(c|0));c=f[20377]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Yl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9801]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20359]=0;f[20360]=0;f[20361]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20360]=a;f[20359]=a;f[20361]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20360]|0)+12|0;f[20360]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20360]=(f[20360]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20362]=0;f[20363]=0;f[20364]=0;a=VN(32)|0;f[20362]=a;f[20364]=-2147483616;f[20363]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20365]=0;f[20366]=0;f[20367]=0;a=VN(32)|0;f[20365]=a;f[20367]=-2147483616;f[20366]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20368]=0;f[20369]=0;f[20370]=0;a=VN(32)|0;f[20368]=a;f[20370]=-2147483616;f[20369]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20371]=0;f[20372]=0;f[20373]=0;a=VN(32)|0;f[20371]=a;f[20373]=-2147483616;f[20372]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20374]=0;f[20375]=0;f[20376]=0;b[81507]=6;b[81496]=b[52998]|0;b[81497]=b[52999]|0;b[81498]=b[53e3]|0;b[81499]=b[53001]|0;b[81500]=b[53002]|0;b[81501]=b[53003]|0;b[81502]=0;u=g;return}}a=Ya()|0;e=I;c=f[20359]|0;if(c){d=f[20360]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20360]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20360]|0}}while((d|0)!=(c|0));c=f[20359]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function Zl(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9793]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20226]=0;f[20227]=0;f[20228]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20227]=a;f[20226]=a;f[20228]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20227]|0)+12|0;f[20227]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20227]=(f[20227]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20229]=0;f[20230]=0;f[20231]=0;a=VN(32)|0;f[20229]=a;f[20231]=-2147483616;f[20230]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20232]=0;f[20233]=0;f[20234]=0;a=VN(32)|0;f[20232]=a;f[20234]=-2147483616;f[20233]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20235]=0;f[20236]=0;f[20237]=0;a=VN(32)|0;f[20235]=a;f[20237]=-2147483616;f[20236]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20238]=0;f[20239]=0;f[20240]=0;a=VN(32)|0;f[20238]=a;f[20240]=-2147483616;f[20239]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20241]=0;f[20242]=0;f[20243]=0;b[80975]=6;b[80964]=b[52998]|0;b[80965]=b[52999]|0;b[80966]=b[53e3]|0;b[80967]=b[53001]|0;b[80968]=b[53002]|0;b[80969]=b[53003]|0;b[80970]=0;u=g;return}}a=Ya()|0;e=I;c=f[20226]|0;if(c){d=f[20227]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20227]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20227]|0}}while((d|0)!=(c|0));c=f[20226]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function _l(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9798]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20305]=0;f[20306]=0;f[20307]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20306]=a;f[20305]=a;f[20307]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20306]|0)+12|0;f[20306]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20306]=(f[20306]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20308]=0;f[20309]=0;f[20310]=0;a=VN(32)|0;f[20308]=a;f[20310]=-2147483616;f[20309]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20311]=0;f[20312]=0;f[20313]=0;a=VN(32)|0;f[20311]=a;f[20313]=-2147483616;f[20312]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20314]=0;f[20315]=0;f[20316]=0;a=VN(32)|0;f[20314]=a;f[20316]=-2147483616;f[20315]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20317]=0;f[20318]=0;f[20319]=0;a=VN(32)|0;f[20317]=a;f[20319]=-2147483616;f[20318]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20320]=0;f[20321]=0;f[20322]=0;b[81291]=6;b[81280]=b[52998]|0;b[81281]=b[52999]|0;b[81282]=b[53e3]|0;b[81283]=b[53001]|0;b[81284]=b[53002]|0;b[81285]=b[53003]|0;b[81286]=0;u=g;return}}a=Ya()|0;e=I;c=f[20305]|0;if(c){d=f[20306]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20306]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20306]|0}}while((d|0)!=(c|0));c=f[20305]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function $l(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9800]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20341]=0;f[20342]=0;f[20343]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20342]=a;f[20341]=a;f[20343]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20342]|0)+12|0;f[20342]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20342]=(f[20342]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20344]=0;f[20345]=0;f[20346]=0;a=VN(32)|0;f[20344]=a;f[20346]=-2147483616;f[20345]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20347]=0;f[20348]=0;f[20349]=0;a=VN(32)|0;f[20347]=a;f[20349]=-2147483616;f[20348]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20350]=0;f[20351]=0;f[20352]=0;a=VN(32)|0;f[20350]=a;f[20352]=-2147483616;f[20351]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20353]=0;f[20354]=0;f[20355]=0;a=VN(32)|0;f[20353]=a;f[20355]=-2147483616;f[20354]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20356]=0;f[20357]=0;f[20358]=0;b[81435]=6;b[81424]=b[52998]|0;b[81425]=b[52999]|0;b[81426]=b[53e3]|0;b[81427]=b[53001]|0;b[81428]=b[53002]|0;b[81429]=b[53003]|0;b[81430]=0;u=g;return}}a=Ya()|0;e=I;c=f[20341]|0;if(c){d=f[20342]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20342]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20342]|0}}while((d|0)!=(c|0));c=f[20341]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function am(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9785]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20079]=0;f[20080]=0;f[20081]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20080]=a;f[20079]=a;f[20081]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20080]|0)+12|0;f[20080]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20080]=(f[20080]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20082]=0;f[20083]=0;f[20084]=0;a=VN(32)|0;f[20082]=a;f[20084]=-2147483616;f[20083]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20085]=0;f[20086]=0;f[20087]=0;a=VN(32)|0;f[20085]=a;f[20087]=-2147483616;f[20086]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20088]=0;f[20089]=0;f[20090]=0;a=VN(32)|0;f[20088]=a;f[20090]=-2147483616;f[20089]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20091]=0;f[20092]=0;f[20093]=0;a=VN(32)|0;f[20091]=a;f[20093]=-2147483616;f[20092]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20094]=0;f[20095]=0;f[20096]=0;b[80387]=6;b[80376]=b[52998]|0;b[80377]=b[52999]|0;b[80378]=b[53e3]|0;b[80379]=b[53001]|0;b[80380]=b[53002]|0;b[80381]=b[53003]|0;b[80382]=0;u=g;return}}a=Ya()|0;e=I;c=f[20079]|0;if(c){d=f[20080]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20080]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20080]|0}}while((d|0)!=(c|0));c=f[20079]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function bm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9789]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20151]=0;f[20152]=0;f[20153]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20152]=a;f[20151]=a;f[20153]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20152]|0)+12|0;f[20152]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20152]=(f[20152]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20154]=0;f[20155]=0;f[20156]=0;a=VN(32)|0;f[20154]=a;f[20156]=-2147483616;f[20155]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20157]=0;f[20158]=0;f[20159]=0;a=VN(32)|0;f[20157]=a;f[20159]=-2147483616;f[20158]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20160]=0;f[20161]=0;f[20162]=0;a=VN(32)|0;f[20160]=a;f[20162]=-2147483616;f[20161]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20163]=0;f[20164]=0;f[20165]=0;a=VN(32)|0;f[20163]=a;f[20165]=-2147483616;f[20164]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20166]=0;f[20167]=0;f[20168]=0;b[80675]=6;b[80664]=b[52998]|0;b[80665]=b[52999]|0;b[80666]=b[53e3]|0;b[80667]=b[53001]|0;b[80668]=b[53002]|0;b[80669]=b[53003]|0;b[80670]=0;u=g;return}}a=Ya()|0;e=I;c=f[20151]|0;if(c){d=f[20152]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20152]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20152]|0}}while((d|0)!=(c|0));c=f[20151]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function cm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19956]=0;f[19957]=0;f[19958]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19957]=a;f[19956]=a;f[19958]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19957]|0)+12|0;f[19957]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19957]=(f[19957]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19959]=0;f[19960]=0;f[19961]=0;b[79847]=6;b[79836]=b[52998]|0;b[79837]=b[52999]|0;b[79838]=b[53e3]|0;b[79839]=b[53001]|0;b[79840]=b[53002]|0;b[79841]=b[53003]|0;b[79842]=0;p[9762]=3.141592653589793;f[19962]=0;f[19963]=0;f[19964]=0;a=VN(32)|0;f[19962]=a;f[19964]=-2147483616;f[19963]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19965]=0;f[19966]=0;f[19967]=0;a=VN(32)|0;f[19965]=a;f[19967]=-2147483616;f[19966]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19968]=0;f[19969]=0;f[19970]=0;a=VN(32)|0;f[19968]=a;f[19970]=-2147483616;f[19969]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19971]=0;f[19972]=0;f[19973]=0;a=VN(32)|0;f[19971]=a;f[19973]=-2147483616;f[19972]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;u=g;return}}a=Ya()|0;e=I;c=f[19956]|0;if(c){d=f[19957]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19957]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19957]|0}}while((d|0)!=(c|0));c=f[19956]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function dm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20043]=0;f[20044]=0;f[20045]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20044]=a;f[20043]=a;f[20045]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20044]|0)+12|0;f[20044]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20044]=(f[20044]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);p[9783]=3.141592653589793;f[20046]=0;f[20047]=0;f[20048]=0;a=VN(32)|0;f[20046]=a;f[20048]=-2147483616;f[20047]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20049]=0;f[20050]=0;f[20051]=0;a=VN(32)|0;f[20049]=a;f[20051]=-2147483616;f[20050]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20052]=0;f[20053]=0;f[20054]=0;a=VN(32)|0;f[20052]=a;f[20054]=-2147483616;f[20053]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20055]=0;f[20056]=0;f[20057]=0;a=VN(32)|0;f[20055]=a;f[20057]=-2147483616;f[20056]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20058]=0;f[20059]=0;f[20060]=0;b[80243]=6;b[80232]=b[52998]|0;b[80233]=b[52999]|0;b[80234]=b[53e3]|0;b[80235]=b[53001]|0;b[80236]=b[53002]|0;b[80237]=b[53003]|0;b[80238]=0;u=g;return}}a=Ya()|0;e=I;c=f[20043]|0;if(c){d=f[20044]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20044]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20044]|0}}while((d|0)!=(c|0));c=f[20043]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function em(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[7670]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19829]=0;f[19830]=0;f[19831]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19830]=a;f[19829]=a;f[19831]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19830]|0)+12|0;f[19830]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19830]=(f[19830]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19832]=0;f[19833]=0;f[19834]=0;a=VN(32)|0;f[19832]=a;f[19834]=-2147483616;f[19833]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19835]=0;f[19836]=0;f[19837]=0;a=VN(32)|0;f[19835]=a;f[19837]=-2147483616;f[19836]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19838]=0;f[19839]=0;f[19840]=0;a=VN(32)|0;f[19838]=a;f[19840]=-2147483616;f[19839]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19841]=0;f[19842]=0;f[19843]=0;a=VN(32)|0;f[19841]=a;f[19843]=-2147483616;f[19842]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[19844]=0;f[19845]=0;f[19846]=0;b[79387]=6;b[79376]=b[52998]|0;b[79377]=b[52999]|0;b[79378]=b[53e3]|0;b[79379]=b[53001]|0;b[79380]=b[53002]|0;b[79381]=b[53003]|0;b[79382]=0;u=g;return}}a=Ya()|0;e=I;c=f[19829]|0;if(c){d=f[19830]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19830]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19830]|0}}while((d|0)!=(c|0));c=f[19829]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function fm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9782]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20025]=0;f[20026]=0;f[20027]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20026]=a;f[20025]=a;f[20027]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20026]|0)+12|0;f[20026]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20026]=(f[20026]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20028]=0;f[20029]=0;f[20030]=0;a=VN(32)|0;f[20028]=a;f[20030]=-2147483616;f[20029]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20031]=0;f[20032]=0;f[20033]=0;a=VN(32)|0;f[20031]=a;f[20033]=-2147483616;f[20032]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20034]=0;f[20035]=0;f[20036]=0;a=VN(32)|0;f[20034]=a;f[20036]=-2147483616;f[20035]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20037]=0;f[20038]=0;f[20039]=0;a=VN(32)|0;f[20037]=a;f[20039]=-2147483616;f[20038]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20040]=0;f[20041]=0;f[20042]=0;b[80171]=6;b[80160]=b[52998]|0;b[80161]=b[52999]|0;b[80162]=b[53e3]|0;b[80163]=b[53001]|0;b[80164]=b[53002]|0;b[80165]=b[53003]|0;b[80166]=0;u=g;return}}a=Ya()|0;e=I;c=f[20025]|0;if(c){d=f[20026]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20026]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20026]|0}}while((d|0)!=(c|0));c=f[20025]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function gm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9788]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20133]=0;f[20134]=0;f[20135]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20134]=a;f[20133]=a;f[20135]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20134]|0)+12|0;f[20134]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20134]=(f[20134]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20136]=0;f[20137]=0;f[20138]=0;a=VN(32)|0;f[20136]=a;f[20138]=-2147483616;f[20137]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20139]=0;f[20140]=0;f[20141]=0;a=VN(32)|0;f[20139]=a;f[20141]=-2147483616;f[20140]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20142]=0;f[20143]=0;f[20144]=0;a=VN(32)|0;f[20142]=a;f[20144]=-2147483616;f[20143]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20145]=0;f[20146]=0;f[20147]=0;a=VN(32)|0;f[20145]=a;f[20147]=-2147483616;f[20146]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20148]=0;f[20149]=0;f[20150]=0;b[80603]=6;b[80592]=b[52998]|0;b[80593]=b[52999]|0;b[80594]=b[53e3]|0;b[80595]=b[53001]|0;b[80596]=b[53002]|0;b[80597]=b[53003]|0;b[80598]=0;u=g;return}}a=Ya()|0;e=I;c=f[20133]|0;if(c){d=f[20134]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20134]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20134]|0}}while((d|0)!=(c|0));c=f[20133]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function hm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9787]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20115]=0;f[20116]=0;f[20117]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20116]=a;f[20115]=a;f[20117]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20116]|0)+12|0;f[20116]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20116]=(f[20116]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20118]=0;f[20119]=0;f[20120]=0;a=VN(32)|0;f[20118]=a;f[20120]=-2147483616;f[20119]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20121]=0;f[20122]=0;f[20123]=0;a=VN(32)|0;f[20121]=a;f[20123]=-2147483616;f[20122]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20124]=0;f[20125]=0;f[20126]=0;a=VN(32)|0;f[20124]=a;f[20126]=-2147483616;f[20125]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20127]=0;f[20128]=0;f[20129]=0;a=VN(32)|0;f[20127]=a;f[20129]=-2147483616;f[20128]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20130]=0;f[20131]=0;f[20132]=0;b[80531]=6;b[80520]=b[52998]|0;b[80521]=b[52999]|0;b[80522]=b[53e3]|0;b[80523]=b[53001]|0;b[80524]=b[53002]|0;b[80525]=b[53003]|0;b[80526]=0;u=g;return}}a=Ya()|0;e=I;c=f[20115]|0;if(c){d=f[20116]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20116]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20116]|0}}while((d|0)!=(c|0));c=f[20115]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function im(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9784]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20061]=0;f[20062]=0;f[20063]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20062]=a;f[20061]=a;f[20063]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20062]|0)+12|0;f[20062]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20062]=(f[20062]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20064]=0;f[20065]=0;f[20066]=0;a=VN(32)|0;f[20064]=a;f[20066]=-2147483616;f[20065]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20067]=0;f[20068]=0;f[20069]=0;a=VN(32)|0;f[20067]=a;f[20069]=-2147483616;f[20068]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20070]=0;f[20071]=0;f[20072]=0;a=VN(32)|0;f[20070]=a;f[20072]=-2147483616;f[20071]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20073]=0;f[20074]=0;f[20075]=0;a=VN(32)|0;f[20073]=a;f[20075]=-2147483616;f[20074]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20076]=0;f[20077]=0;f[20078]=0;b[80315]=6;b[80304]=b[52998]|0;b[80305]=b[52999]|0;b[80306]=b[53e3]|0;b[80307]=b[53001]|0;b[80308]=b[53002]|0;b[80309]=b[53003]|0;b[80310]=0;u=g;return}}a=Ya()|0;e=I;c=f[20061]|0;if(c){d=f[20062]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20062]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20062]|0}}while((d|0)!=(c|0));c=f[20061]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function jm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9786]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20097]=0;f[20098]=0;f[20099]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20098]=a;f[20097]=a;f[20099]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20098]|0)+12|0;f[20098]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20098]=(f[20098]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20100]=0;f[20101]=0;f[20102]=0;a=VN(32)|0;f[20100]=a;f[20102]=-2147483616;f[20101]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20103]=0;f[20104]=0;f[20105]=0;a=VN(32)|0;f[20103]=a;f[20105]=-2147483616;f[20104]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20106]=0;f[20107]=0;f[20108]=0;a=VN(32)|0;f[20106]=a;f[20108]=-2147483616;f[20107]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20109]=0;f[20110]=0;f[20111]=0;a=VN(32)|0;f[20109]=a;f[20111]=-2147483616;f[20110]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20112]=0;f[20113]=0;f[20114]=0;b[80459]=6;b[80448]=b[52998]|0;b[80449]=b[52999]|0;b[80450]=b[53e3]|0;b[80451]=b[53001]|0;b[80452]=b[53002]|0;b[80453]=b[53003]|0;b[80454]=0;u=g;return}}a=Ya()|0;e=I;c=f[20097]|0;if(c){d=f[20098]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20098]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20098]|0}}while((d|0)!=(c|0));c=f[20097]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function km(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9799]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20323]=0;f[20324]=0;f[20325]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20324]=a;f[20323]=a;f[20325]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20324]|0)+12|0;f[20324]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20324]=(f[20324]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20326]=0;f[20327]=0;f[20328]=0;a=VN(32)|0;f[20326]=a;f[20328]=-2147483616;f[20327]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20329]=0;f[20330]=0;f[20331]=0;a=VN(32)|0;f[20329]=a;f[20331]=-2147483616;f[20330]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20332]=0;f[20333]=0;f[20334]=0;a=VN(32)|0;f[20332]=a;f[20334]=-2147483616;f[20333]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20335]=0;f[20336]=0;f[20337]=0;a=VN(32)|0;f[20335]=a;f[20337]=-2147483616;f[20336]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[20338]=0;f[20339]=0;f[20340]=0;b[81363]=6;b[81352]=b[52998]|0;b[81353]=b[52999]|0;b[81354]=b[53e3]|0;b[81355]=b[53001]|0;b[81356]=b[53002]|0;b[81357]=b[53003]|0;b[81358]=0;u=g;return}}a=Ya()|0;e=I;c=f[20323]|0;if(c){d=f[20324]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20324]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20324]|0}}while((d|0)!=(c|0));c=f[20323]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function lm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[7669]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19811]=0;f[19812]=0;f[19813]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19812]=a;f[19811]=a;f[19813]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19812]|0)+12|0;f[19812]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19812]=(f[19812]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19814]=0;f[19815]=0;f[19816]=0;a=VN(32)|0;f[19814]=a;f[19816]=-2147483616;f[19815]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19817]=0;f[19818]=0;f[19819]=0;a=VN(32)|0;f[19817]=a;f[19819]=-2147483616;f[19818]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19820]=0;f[19821]=0;f[19822]=0;a=VN(32)|0;f[19820]=a;f[19822]=-2147483616;f[19821]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19823]=0;f[19824]=0;f[19825]=0;a=VN(32)|0;f[19823]=a;f[19825]=-2147483616;f[19824]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[19826]=0;f[19827]=0;f[19828]=0;b[79315]=6;b[79304]=b[52998]|0;b[79305]=b[52999]|0;b[79306]=b[53e3]|0;b[79307]=b[53001]|0;b[79308]=b[53002]|0;b[79309]=b[53003]|0;b[79310]=0;u=g;return}}a=Ya()|0;e=I;c=f[19811]|0;if(c){d=f[19812]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19812]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19812]|0}}while((d|0)!=(c|0));c=f[19811]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function mm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;p[9761]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19938]=0;f[19939]=0;f[19940]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19939]=a;f[19938]=a;f[19940]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19939]|0)+12|0;f[19939]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19939]=(f[19939]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19941]=0;f[19942]=0;f[19943]=0;a=VN(32)|0;f[19941]=a;f[19943]=-2147483616;f[19942]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19944]=0;f[19945]=0;f[19946]=0;a=VN(32)|0;f[19944]=a;f[19946]=-2147483616;f[19945]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19947]=0;f[19948]=0;f[19949]=0;a=VN(32)|0;f[19947]=a;f[19949]=-2147483616;f[19948]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19950]=0;f[19951]=0;f[19952]=0;a=VN(32)|0;f[19950]=a;f[19952]=-2147483616;f[19951]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[19953]=0;f[19954]=0;f[19955]=0;b[79823]=6;b[79812]=b[52998]|0;b[79813]=b[52999]|0;b[79814]=b[53e3]|0;b[79815]=b[53001]|0;b[79816]=b[53002]|0;b[79817]=b[53003]|0;b[79818]=0;u=g;return}}a=Ya()|0;e=I;c=f[19938]|0;if(c){d=f[19939]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19939]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19939]|0}}while((d|0)!=(c|0));c=f[19938]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;e=0;i=u;u=u+16|0;g=i;c=f[a+68>>2]|0;a:do if(!c)e=6;else{d=f[c>>2]|0;if(!d)e=6;else{while(1){x=0;Ga(695,b|0,d|0);d=x;x=0;if(d&1)break;c=c+4|0;d=f[c>>2]|0;if(!d){e=6;break a}}c=Za(0)|0}}while(0);b:do if((e|0)==6){c=f[a+76>>2]|0;c:do if(c|0){d=f[c>>2]|0;if(d|0){while(1){x=0;Ga(696,b|0,d|0);e=x;x=0;if(e&1)break;c=c+4|0;d=f[c>>2]|0;if(!d)break c}c=Za(0)|0;break b}}while(0);c=f[a+72>>2]|0;d:do if(c|0){d=f[c>>2]|0;if(d|0){while(1){x=0;Ga(697,b|0,d|0);e=x;x=0;if(e&1)break;c=c+4|0;d=f[c>>2]|0;if(!d)break d}c=Za(0)|0;break b}}while(0);c=a+92|0;f[a+120>>2]=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[a+112>>2]=-1;f[a+116>>2]=-1;c=YP(1,20)|0;if(c|0){f[c+4>>2]=a;f[c+8>>2]=b;f[b+312>>2]=c;h=c;u=i;return h|0}x=0;d=ta(44,82616,51305,35)|0;b=x;x=0;do if(!(b&1)){x=0;Ga(536,g|0,d+(f[(f[d>>2]|0)+-12>>2]|0)|0);b=x;x=0;if(!(b&1)){x=0;c=sa(994,g|0,83320)|0;b=x;x=0;if(!(b&1)){x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;b=x;x=0;if(!(b&1)){uga(g);x=0;sa(1012,d|0,c|0)|0;g=x;x=0;if(g&1)break;x=0;qa(341,d|0)|0;g=x;x=0;if(g&1)break;else c=0;u=i;return c|0}}c=Za(0)|0;uga(g);break b}}while(0);c=Za(0)|0}while(0);Ua(c|0)|0;x=0;qa(402,a|0)|0;g=x;x=0;do if(g&1){g=Za(0)|0;Ua(g|0)|0;x=0;qa(402,a|0)|0;a=x;x=0;if(a&1){c=Ya()|0;x=0;Ea(4);a=x;x=0;if(a&1){a=Za(0)|0;soa(a)}else h=c}else{x=0;Ea(4);h=x;x=0;if(!(h&1))break;h=Ya()|0}x=0;Ea(4);a=x;x=0;if(a&1){h=Za(0)|0;soa(h)}else Va(h|0)}while(0);x=0;Ea(4);h=x;x=0;if(!(h&1)){h=0;u=i;return h|0}i=Ya()|0;Va(i|0);return 0}function om(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;l=u;u=u+240|0;j=l+192|0;m=l+12|0;k=l;Gv(k,e);x=0;i=j;e=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(e|0));La(12,m|0,c|0,d|0,k|0,j|0,h|0);h=x;x=0;if(h&1){d=Ya()|0;j=I;e=f[k>>2]|0;if(!e){m=d;jb(m|0)}c=k+4|0;g=f[c>>2]|0;if((g|0)!=(e|0)){do{i=g+-52|0;f[c>>2]=i;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[c>>2]|0}else g=i}while((g|0)!=(e|0));e=f[k>>2]|0}Hta(e);m=d;jb(m|0)}e=f[k>>2]|0;if(e|0){j=k+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{i=g+-52|0;f[j>>2]=i;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=i}while((g|0)!=(e|0));e=f[k>>2]|0}Hta(e)}x=0;Ia(111,a|0,m|0,0);k=x;x=0;if(k&1){h=Ya()|0;d=I;j=m+148|0;e=f[j>>2]|0;if(e|0){c=m+152|0;g=f[c>>2]|0;if((g|0)!=(e|0)){do{i=g+-52|0;f[c>>2]=i;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[c>>2]|0}else g=i}while((g|0)!=(e|0));e=f[j>>2]|0}Hta(e)}e=f[m+56>>2]|0;if(e|0){g=m+60|0;i=f[g>>2]|0;if((i|0)!=(e|0))f[g>>2]=i+(~((i+-4-e|0)>>>2)<<2);Hta(e)}j=m+44|0;e=f[j>>2]|0;if(!e){m=h;jb(m|0)}i=m+48|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{m=g+-8|0;f[i>>2]=m;Kc[f[f[m>>2]>>2]&511](m);g=f[i>>2]|0}while((g|0)!=(e|0));e=f[j>>2]|0}Hta(e);m=h;jb(m|0)}else{j=m+148|0;e=f[j>>2]|0;if(e|0){c=m+152|0;g=f[c>>2]|0;if((g|0)!=(e|0)){do{i=g+-52|0;f[c>>2]=i;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[c>>2]|0}else g=i}while((g|0)!=(e|0));e=f[j>>2]|0}Hta(e)}e=f[m+56>>2]|0;if(e|0){g=m+60|0;i=f[g>>2]|0;if((i|0)!=(e|0))f[g>>2]=i+(~((i+-4-e|0)>>>2)<<2);Hta(e)}j=m+44|0;e=f[j>>2]|0;if(!e){u=l;return}i=m+48|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{m=g+-8|0;f[i>>2]=m;Kc[f[f[m>>2]>>2]&511](m);g=f[i>>2]|0}while((g|0)!=(e|0));e=f[j>>2]|0}Hta(e);u=l;return}}function pm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[20262]=0;f[20263]=0;f[20264]=0;b[81059]=6;b[81048]=b[52998]|0;b[81049]=b[52999]|0;b[81050]=b[53e3]|0;b[81051]=b[53001]|0;b[81052]=b[53002]|0;b[81053]=b[53003]|0;b[81054]=0;p[9795]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20265]=0;f[20266]=0;f[20267]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20266]=a;f[20265]=a;f[20267]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20266]|0)+12|0;f[20266]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20266]=(f[20266]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20268]=0;f[20269]=0;f[20270]=0;a=VN(32)|0;f[20268]=a;f[20270]=-2147483616;f[20269]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20271]=0;f[20272]=0;f[20273]=0;a=VN(32)|0;f[20271]=a;f[20273]=-2147483616;f[20272]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20274]=0;f[20275]=0;f[20276]=0;a=VN(32)|0;f[20274]=a;f[20276]=-2147483616;f[20275]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20277]=0;f[20278]=0;f[20279]=0;a=VN(32)|0;f[20277]=a;f[20279]=-2147483616;f[20278]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;u=g;return}}a=Ya()|0;e=I;c=f[20265]|0;if(c){d=f[20266]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20266]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20266]|0}}while((d|0)!=(c|0));c=f[20265]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function qm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[20208]=0;f[20209]=0;f[20210]=0;b[80843]=6;b[80832]=b[52998]|0;b[80833]=b[52999]|0;b[80834]=b[53e3]|0;b[80835]=b[53001]|0;b[80836]=b[53002]|0;b[80837]=b[53003]|0;b[80838]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20211]=0;f[20212]=0;f[20213]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20212]=a;f[20211]=a;f[20213]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20212]|0)+12|0;f[20212]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20212]=(f[20212]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);p[9792]=3.141592653589793;f[20214]=0;f[20215]=0;f[20216]=0;a=VN(32)|0;f[20214]=a;f[20216]=-2147483616;f[20215]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20217]=0;f[20218]=0;f[20219]=0;a=VN(32)|0;f[20217]=a;f[20219]=-2147483616;f[20218]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20220]=0;f[20221]=0;f[20222]=0;a=VN(32)|0;f[20220]=a;f[20222]=-2147483616;f[20221]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20223]=0;f[20224]=0;f[20225]=0;a=VN(32)|0;f[20223]=a;f[20225]=-2147483616;f[20224]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;u=g;return}}a=Ya()|0;e=I;c=f[20211]|0;if(c){d=f[20212]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20212]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20212]|0}}while((d|0)!=(c|0));c=f[20211]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function rm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[20007]=0;f[20008]=0;f[20009]=0;b[80039]=6;b[80028]=b[52998]|0;b[80029]=b[52999]|0;b[80030]=b[53e3]|0;b[80031]=b[53001]|0;b[80032]=b[53002]|0;b[80033]=b[53003]|0;b[80034]=0;p[9781]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[20010]=0;f[20011]=0;f[20012]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20011]=a;f[20010]=a;f[20012]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[20011]|0)+12|0;f[20011]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[20011]=(f[20011]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[20013]=0;f[20014]=0;f[20015]=0;a=VN(32)|0;f[20013]=a;f[20015]=-2147483616;f[20014]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[20016]=0;f[20017]=0;f[20018]=0;a=VN(32)|0;f[20016]=a;f[20018]=-2147483616;f[20017]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[20019]=0;f[20020]=0;f[20021]=0;a=VN(32)|0;f[20019]=a;f[20021]=-2147483616;f[20020]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[20022]=0;f[20023]=0;f[20024]=0;a=VN(32)|0;f[20022]=a;f[20024]=-2147483616;f[20023]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;u=g;return}}a=Ya()|0;e=I;c=f[20010]|0;if(c){d=f[20011]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20011]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20011]|0}}while((d|0)!=(c|0));c=f[20010]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function sm(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=u;u=u+32|0;i=g;f[19974]=0;f[19975]=0;f[19976]=0;b[79907]=6;b[79896]=b[52998]|0;b[79897]=b[52999]|0;b[79898]=b[53e3]|0;b[79899]=b[53001]|0;b[79900]=b[53002]|0;b[79901]=b[53003]|0;b[79902]=0;p[9763]=3.141592653589793;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=5;b[i>>0]=b[52897]|0;b[i+1>>0]=b[52898]|0;b[i+2>>0]=b[52899]|0;b[i+3>>0]=b[52900]|0;b[i+4>>0]=b[52901]|0;b[i+5>>0]=0;h=i+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;k=h+11|0;b[k>>0]=5;b[h>>0]=b[52903]|0;b[h+1>>0]=b[52904]|0;b[h+2>>0]=b[52905]|0;b[h+3>>0]=b[52906]|0;b[h+4>>0]=b[52907]|0;b[h+5>>0]=0;f[19977]=0;f[19978]=0;f[19979]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19978]=a;f[19977]=a;f[19979]=a+24;x=0;Ga(459,a|0,i|0);e=x;x=0;if(!(e&1)){e=(f[19978]|0)+12|0;f[19978]=e;x=0;Ga(459,e|0,h|0);e=x;x=0;if(!(e&1)){f[19978]=(f[19978]|0)+12;if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[i>>2]|0);f[19980]=0;f[19981]=0;f[19982]=0;a=VN(32)|0;f[19980]=a;f[19982]=-2147483616;f[19981]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19983]=0;f[19984]=0;f[19985]=0;a=VN(32)|0;f[19983]=a;f[19985]=-2147483616;f[19984]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19986]=0;f[19987]=0;f[19988]=0;a=VN(32)|0;f[19986]=a;f[19988]=-2147483616;f[19987]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19989]=0;f[19990]=0;f[19991]=0;a=VN(32)|0;f[19989]=a;f[19991]=-2147483616;f[19990]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;u=g;return}}a=Ya()|0;e=I;c=f[19977]|0;if(c){d=f[19978]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19978]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19978]|0}}while((d|0)!=(c|0));c=f[19977]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function tm(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=u;u=u+16|0;l=m;k=Bj(a,b,c,e)|0;g=d+4|0;h=f[g>>2]|0;if(!h){l=k;u=m;return l|0}i=c+4|0;e=f[i>>2]|0;if(!e){l=k;u=m;return l|0}if(!(xc[f[(f[h>>2]|0)+156>>2]&2047](h,e)|0)){l=k;u=m;return l|0}qV(l,f[i>>2]|0);f[l>>2]=15556;if((c|0)!=(d|0)){if(f[i>>2]|0){x=0;Fa(429,c|0);j=x;x=0;if(j&1){m=Ya()|0;_P(l);jb(m|0)}}f[i>>2]=f[g>>2];f[g>>2]=0}if((l|0)!=(d|0)){if(f[g>>2]|0){x=0;Fa(429,d|0);j=x;x=0;if(j&1){m=Ya()|0;_P(l);jb(m|0)}}j=l+4|0;f[g>>2]=f[j>>2];f[j>>2]=0}_P(l);e=k+1|0;g=f[i>>2]|0;if(!g){l=e;u=m;return l|0}j=b+4|0;h=f[j>>2]|0;if(!h){l=e;u=m;return l|0}if(!(xc[f[(f[g>>2]|0)+156>>2]&2047](g,h)|0)){l=e;u=m;return l|0}qV(l,f[j>>2]|0);f[l>>2]=15556;if((b|0)!=(c|0)){if(f[j>>2]|0){x=0;Fa(429,b|0);d=x;x=0;if(d&1){m=Ya()|0;_P(l);jb(m|0)}}f[j>>2]=f[i>>2];f[i>>2]=0}if((l|0)!=(c|0)){if(f[i>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){m=Ya()|0;_P(l);jb(m|0)}}c=l+4|0;f[i>>2]=f[c>>2];f[c>>2]=0}_P(l);e=k+2|0;g=f[j>>2]|0;if(!g){l=e;u=m;return l|0}h=a+4|0;d=f[h>>2]|0;if(!d){l=e;u=m;return l|0}if(!(xc[f[(f[g>>2]|0)+156>>2]&2047](g,d)|0)){l=e;u=m;return l|0}qV(l,f[h>>2]|0);f[l>>2]=15556;if((a|0)!=(b|0)){if(f[h>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){m=Ya()|0;_P(l);jb(m|0)}}f[h>>2]=f[j>>2];f[j>>2]=0}if((l|0)!=(b|0)){if(f[j>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){m=Ya()|0;_P(l);jb(m|0)}}b=l+4|0;f[j>>2]=f[b>>2];f[b>>2]=0}_P(l);l=k+3|0;u=m;return l|0}function um(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;o=u;u=u+112|0;d=o;n=o+96|0;e=o+56|0;h=o+40|0;m=_z(c)|0;if(!m){g=VN(80)|0;j=e;k=a+108|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(459,h|0,c|0);n=x;x=0;if(n&1)d=Ya()|0;else{j=d;k=e;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,g|0);n=x;x=0;do if(n&1)d=Ya()|0;else{j=g+12|0;k=d;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=4;f[g>>2]=11668;b[g+60>>0]=0;b[g+61>>0]=0;x=0;Ia(101,g+64|0,h|0,1);n=x;x=0;if(n&1){d=Ya()|0;break}f[g+76>>2]=0;if((b[h+11>>0]|0)>=0){n=g;u=o;return n|0}Hta(f[h>>2]|0);n=g;u=o;return n|0}while(0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0)}Hta(g);o=d;jb(o|0)}i=VN(112)|0;x=0;Fa(427,i|0);l=x;x=0;do if(l&1)d=Ya()|0;else{f[i>>2]=6696;g=i+12|0;j=g;k=m+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=i+52|0;b[d>>0]=b[m+52>>0]|0;b[i+53>>0]=b[m+53>>0]|0;b[i+54>>0]=b[m+54>>0]|0;e=i+56|0;f[e>>2]=f[m+56>>2];f[i>>2]=11116;p[i+64>>3]=+p[m+64>>3];p[i+72>>3]=+p[m+72>>3];p[i+80>>3]=+p[m+80>>3];p[i+88>>3]=+p[m+88>>3];h=i+96|0;x=0;Ga(459,h|0,m+96|0);l=x;x=0;if(l&1){d=Ya()|0;break}f[i+108>>2]=f[m+108>>2];f[e>>2]=3;b[d>>0]=1;j=g;k=a+108|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));ND(n,c);x=0;sa(986,h|0,n|0)|0;c=x;x=0;if(c&1){d=Ya()|0;if((b[n+11>>0]|0)>=0){o=d;jb(o|0)}Hta(f[n>>2]|0);o=d;jb(o|0)}else{if((b[n+11>>0]|0)>=0){n=i;u=o;return n|0}Hta(f[n>>2]|0);n=i;u=o;return n|0}}while(0);Hta(i);o=d;jb(o|0);return 0}function vm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=0;k=a+1|0;do if((b[a>>0]|0)==92){if(!(R5(k)|0)){c=$ma(k)|0;if(!c)break}else{c=a+2|0;if(R5(c)|0){c=a+3|0;j=(R5(c)|0)==0;c=j?c:a+4|0}}c=(b[c>>0]|0)==32?c+1|0:c;if(c|0){k=c;return k|0}}while(0);c=b[a>>0]|0;c=c<<24>>24|0;c=(c|0)!=85?((c|0)==117?k:0):k;if(c|0)if((b[c>>0]|0)==43){c=LB(c+1|0)|0;if(c|0){k=c;return k|0}}j=b[36397]|0;f=j<<24>>24==0;a:do if(f){c=a;g=13}else{c=a;d=36397;e=j;while(1){if((b[c>>0]|0)!=e<<24>>24)break a;c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){g=13;break}}}while(0);b:do if((g|0)==13){e=b[c>>0]|0;if(e<<24>>24){if(f){d=0;f=0;while(1){switch(e<<24>>24){case 92:{g=f;c=c+1|0;break}case 34:{d=d^1;g=f;break}case 39:{g=f^1;break}default:if(d){d=1;g=f}else{d=0;g=f;c=f?c:c+-1|0}}c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24))break b;else f=g}}else{d=0;f=0;i=0}c:while(1){d:do switch(e<<24>>24){case 92:{c=c+1|0;g=i;break}case 34:{d=d^1;g=i;break}case 39:{f=f^1;g=i;break}default:if(d){d=1;g=i}else if(f){d=0;f=1;g=i}else{e:do if(e<<24>>24==j<<24>>24){h=c;d=36397;while(1){f=h+1|0;d=d+1|0;g=b[d>>0]|0;if(!(g<<24>>24))break;if((b[f>>0]|0)!=g<<24>>24)break e;else h=f}d=0;f=0;c=h;g=i+1|0;break d}while(0);d=b[51458]|0;f:do if(d<<24>>24){if(e<<24>>24==d<<24>>24){d=c;e=51458}else{d=0;f=0;g=i;break d}while(1){d=d+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=d;break f}if((b[d>>0]|0)!=f<<24>>24){d=0;f=0;g=i;break d}}}while(0);if(!i)break c;else{d=0;f=0;c=c+-1|0;g=i+-1|0}}}while(0);c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24))break b;else i=g}if(c|0){k=c;return k|0}}}while(0);switch(b[a>>0]|0){case 39:case 0:{k=0;return k|0}default:{}}return k|0}function wm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=0;k=a+1|0;do if((b[a>>0]|0)==92){if(!(R5(k)|0)){c=$ma(k)|0;if(!c)break}else{c=a+2|0;if(R5(c)|0){c=a+3|0;j=(R5(c)|0)==0;c=j?c:a+4|0}}c=(b[c>>0]|0)==32?c+1|0:c;if(c|0){k=c;return k|0}}while(0);c=b[a>>0]|0;c=c<<24>>24|0;c=(c|0)!=85?((c|0)==117?k:0):k;if(c|0)if((b[c>>0]|0)==43){c=LB(c+1|0)|0;if(c|0){k=c;return k|0}}j=b[36397]|0;f=j<<24>>24==0;a:do if(f){c=a;g=13}else{c=a;d=36397;e=j;while(1){if((b[c>>0]|0)!=e<<24>>24)break a;c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){g=13;break}}}while(0);b:do if((g|0)==13){e=b[c>>0]|0;if(e<<24>>24){if(f){d=0;f=0;while(1){switch(e<<24>>24){case 92:{g=f;c=c+1|0;break}case 34:{d=d^1;g=f;break}case 39:{g=f^1;break}default:if(d){d=1;g=f}else{d=0;g=f;c=f?c:c+-1|0}}c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24))break b;else f=g}}else{d=0;f=0;i=0}c:while(1){d:do switch(e<<24>>24){case 92:{c=c+1|0;g=i;break}case 34:{d=d^1;g=i;break}case 39:{f=f^1;g=i;break}default:if(d){d=1;g=i}else if(f){d=0;f=1;g=i}else{e:do if(e<<24>>24==j<<24>>24){h=c;d=36397;while(1){f=h+1|0;d=d+1|0;g=b[d>>0]|0;if(!(g<<24>>24))break;if((b[f>>0]|0)!=g<<24>>24)break e;else h=f}d=0;f=0;c=h;g=i+1|0;break d}while(0);d=b[51458]|0;f:do if(d<<24>>24){if(e<<24>>24==d<<24>>24){d=c;e=51458}else{d=0;f=0;g=i;break d}while(1){d=d+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=d;break f}if((b[d>>0]|0)!=f<<24>>24){d=0;f=0;g=i;break d}}}while(0);if(!i)break c;else{d=0;f=0;c=c+-1|0;g=i+-1|0}}}while(0);c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24))break b;else i=g}if(c|0){k=c;return k|0}}}while(0);switch(b[a>>0]|0){case 34:case 0:{k=0;return k|0}default:{}}return k|0}function xm(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;i=0;m=u;u=u+48|0;j=m+40|0;h=m+36|0;k=m+32|0;o=m+24|0;n=m+16|0;l=m;f[a+4>>2]=0;f[a+8>>2]=0;p=a+4|0;f[a>>2]=p;x=0;Ga(462,o|0,f[b+80>>2]|0);g=x;x=0;if(g&1){o=Ya()|0;p=f[p>>2]|0;WI(a,p);jb(o|0)}f[o>>2]=15572;x=0;Ga(462,n|0,f[b+88>>2]|0);g=x;x=0;if(g&1)b=Ya()|0;else{f[n>>2]=15556;b=f[o+4>>2]|0;a:do if(!b)i=16;else{c=f[b+92>>2]|0;e=b+96|0;if((c|0)==(e|0))i=16;else{g=p;while(1){d=c+16|0;f[h>>2]=g;x=0;f[j>>2]=f[h>>2];ua(17,a|0,j|0,d|0,d|0)|0;d=x;x=0;if(d&1)break;b=f[c+4>>2]|0;if(!b){d=c+8|0;b=f[d>>2]|0;if((f[b>>2]|0)!=(c|0)){c=d;do{d=f[c>>2]|0;c=d+8|0;b=f[c>>2]|0}while((f[b>>2]|0)!=(d|0))}}else while(1){c=f[b>>2]|0;if(!c)break;else b=c}if((b|0)==(e|0)){i=16;break a}else c=b}b=Ya()|0}}while(0);b:do if((i|0)==16){b=f[n+4>>2]|0;if(!b){_P(n);_P(o);u=m;return}x=0;Ga(669,l|0,b|0);i=x;x=0;if(i&1){b=Ya()|0;break}b=f[l>>2]|0;e=l+4|0;c:do if((b|0)!=(e|0)){g=p;d=b;while(1){i=d+16|0;f[k>>2]=g;x=0;f[j>>2]=f[k>>2];ua(17,a|0,j|0,i|0,i|0)|0;i=x;x=0;if(i&1)break;b=f[d+4>>2]|0;if(!b){c=d+8|0;b=f[c>>2]|0;if((f[b>>2]|0)!=(d|0))do{i=f[c>>2]|0;c=i+8|0;b=f[c>>2]|0}while((f[b>>2]|0)!=(i|0))}else while(1){c=f[b>>2]|0;if(!c)break;else b=c}if((b|0)==(e|0))break c;else d=b}b=Ya()|0;WI(l,f[e>>2]|0);break b}while(0);WI(l,f[e>>2]|0);_P(n);_P(o);u=m;return}while(0);_P(n)}_P(o);o=b;p=f[p>>2]|0;WI(a,p);jb(o|0)}function ym(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;i=0;n=u;u=u+48|0;q=n+36|0;p=n+24|0;o=n+12|0;l=n;h=b[a+11>>0]|0;h=h<<24>>24<0?f[a+4>>2]|0:h&255;if(!h){r=1;u=n;return r|0}FC(q,a,0,1,a);r=q+11|0;k=b[r>>0]|0;do if(((k<<24>>24<0?f[q+4>>2]|0:k&255)|0)==1){x=0;d=wa(21,q|0,0,-1,56925,1)|0;k=x;x=0;if(k&1){p=Za(0)|0;soa(p)}else if(!d){c=0;break}else{i=6;break}}else i=6;while(0);a:do if((i|0)==6)if(h>>>0>1){x=0;Ka(4,p|0,a|0,0,2,a|0);k=x;x=0;b:do if(k&1)c=Ya()|0;else{k=p+11|0;d=b[k>>0]|0;do if(((d<<24>>24<0?f[p+4>>2]|0:d&255)|0)==2){x=0;c=wa(21,p|0,0,-1,45063,2)|0;d=x;x=0;if(d&1){o=Za(0)|0;soa(o)}else if(!c){e=0;break}else{i=12;break}}else i=12;while(0);c:do if((i|0)==12){x=0;Ka(4,o|0,a|0,0,2,a|0);e=x;x=0;do if(e&1)c=Ya()|0;else{e=o+11|0;d=b[e>>0]|0;do if(((d<<24>>24<0?f[o+4>>2]|0:d&255)|0)==2){x=0;c=wa(21,o|0,0,-1,45066,2)|0;d=x;x=0;if(d&1){m=Za(0)|0;soa(m)}else if(!c){g=0;break}else{i=17;break}}else i=17;while(0);if((i|0)==17)if(h>>>0>2){x=0;Ka(4,l|0,a|0,0,3,a|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[o>>2]|0);break}d=l+11|0;c=b[d>>0]|0;do if(((c<<24>>24<0?f[l+4>>2]|0:c&255)|0)==3){x=0;c=wa(21,l|0,0,-1,45069,3)|0;i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}else{j=(c|0)!=0;m=b[d>>0]|0;break}}else{j=1;m=c}while(0);if(m<<24>>24<0)Hta(f[l>>2]|0);g=j}else g=1;if((b[e>>0]|0)<0)Hta(f[o>>2]|0);e=g;break c}while(0);if((b[k>>0]|0)>=0)break b;Hta(f[p>>2]|0);break b}while(0);if((b[k>>0]|0)<0)Hta(f[p>>2]|0);c=e;break a}while(0);if((b[r>>0]|0)>=0)jb(c|0);Hta(f[q>>2]|0);jb(c|0)}else c=1;while(0);if((b[r>>0]|0)<0)Hta(f[q>>2]|0);r=c;u=n;return r|0}function zm(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;p=0;l=u;u=u+128|0;m=l+88|0;q=l+80|0;o=l+24|0;k=l;j=l+40|0;n=l+12|0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=7;b[m>>0]=b[39749]|0;b[m+1>>0]=b[39750]|0;b[m+2>>0]=b[39751]|0;b[m+3>>0]=b[39752]|0;b[m+4>>0]=b[39753]|0;b[m+5>>0]=b[39754]|0;b[m+6>>0]=b[39755]|0;b[m+7>>0]=0;x=0;c=sa(992,a|0,m|0)|0;a=x;x=0;if(!(a&1)){x=0;Ga(462,q|0,f[c+4>>2]|0);a=x;x=0;if(!(a&1)){f[q>>2]=6664;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);e=f[q+4>>2]|0;if(!e)c=0;else{c=f[e>>2]|0;if((f[343]|0)==(f[(f[c+-4>>2]|0)+4>>2]|0)){b[e+60>>0]=42;p=e;_P(q);u=l;return p|0}}c=f[c+28>>2]|0;x=0;a=m;h=f[d+16>>2]|0;i=a+12|0;do{b[a>>0]=b[h>>0]|0;a=a+1|0;h=h+1|0}while((a|0)<(i|0));Ia(c|0,k|0,e|0,m|0);d=x;x=0;do if(d&1){c=Ya()|0;p=26}else{x=0;Ia(105,o|0,k|0,34);d=x;x=0;if(d&1){c=Ya()|0;if((b[k+11>>0]|0)>=0){p=26;break}Hta(f[k>>2]|0);p=26;break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);x=0;e=qa(318,80)|0;d=x;x=0;if(d&1)c=Ya()|0;else{a=j;h=g;i=a+40|0;do{f[a>>2]=f[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(i|0));x=0;Ga(459,n|0,o|0);g=x;x=0;do if(g&1)c=Ya()|0;else{x=0;a=m;h=j;i=a+40|0;do{f[a>>2]=f[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(i|0));Na(1,e|0,m|0,n|0,0,0,0,1,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);b[e+60>>0]=42;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);p=e;_P(q);u=l;return p|0}while(0);Hta(e)}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}while(0);_P(q);q=c;jb(q|0)}}c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);q=c;jb(q|0);return 0}function Am(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;l=0;m=u;u=u+16|0;j=m+8|0;k=m;i=a+4|0;d=f[i>>2]|0;if(!d){l=0;u=m;return l|0}e=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>3;if(!e){l=0;u=m;return l|0}g=j+4|0;h=(c|0)==3;a=0;a:while(1){d=d+64|0;d=(xc[f[(f[d>>2]|0)+16>>2]&2047](d,a)|0)+4|0;qV(j,f[d>>2]|0);f[j>>2]=6920;d=f[g>>2]|0;do if(!d)l=24;else if((f[153]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))d=0;else if((f[139]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))d=0;else{if((f[187]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){if(!h){d=0;break}if(!(b[d+72>>0]|0)){l=31;break}else{d=0;break}}if((f[101]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;d=sa(1021,d|0,c|0)|0;n=x;x=0;if(n&1){l=15;break a}if(d){d=0;break}else{l=31;break}}if((f[367]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;d=sa(1022,d|0,c|0)|0;n=x;x=0;if(n&1){l=19;break a}if(d){d=0;break}else{l=31;break}}if((f[129]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;d=sa(1023,d|0,c|0)|0;n=x;x=0;if(n&1){l=23;break a}if(d)d=0;else l=31}else l=24}while(0);if((l|0)==24){l=0;x=0;d=qa(346,d|0)|0;n=x;x=0;if(n&1){l=29;break}if(!d)l=31;else{x=0;Ga(462,k|0,f[d+68>>2]|0);n=x;x=0;if(n&1){l=29;break}f[k>>2]=7280;x=0;d=sa(1020,k|0,c|0)|0;n=x;x=0;if(n&1){l=30;break}_P(k);if(d)d=0;else l=31}}if((l|0)==31){l=0;d=1}_P(j);a=a+1|0;if(!d){a=1;l=34;break}if(a>>>0>=e>>>0){a=0;l=34;break}d=f[i>>2]|0}if((l|0)==15){n=Ya()|0;_P(j);jb(n|0)}else if((l|0)==19){n=Ya()|0;_P(j);jb(n|0)}else if((l|0)==23){n=Ya()|0;_P(j);jb(n|0)}else if((l|0)==29){n=Ya()|0;_P(j);jb(n|0)}else if((l|0)==30){n=Ya()|0;_P(k);_P(j);jb(n|0)}else if((l|0)==34){u=m;return a|0}return 0}function Bm(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,v=0,w=0,y=0;w=u;u=u+224|0;l=w+184|0;m=w+192|0;n=w+180|0;o=w+176|0;q=w+168|0;r=w+40|0;s=w+32|0;t=w+28|0;y=w+16|0;p=w+8|0;v=w;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[y+(c<<2)>>2]=0;c=c+1|0}f[p+4>>2]=0;f[p>>2]=28876;j=b[h+8+3>>0]|0;k=j<<24>>24<0;c=k?f[h>>2]|0:h;j=c+((k?f[h+4>>2]|0:j&255)<<2)|0;k=m+32|0;h=c;c=0;a:while(1){if(!((c|0)!=2&h>>>0>>0)){m=13;break}f[o>>2]=h;x=0;i=Aa(f[(f[p>>2]|0)+12>>2]|0,p|0,l|0,h|0,j|0,o|0,m|0,k|0,n|0)|0;c=x;x=0;if(c&1){m=14;break}if((i|0)==2?1:(f[o>>2]|0)==(h|0)){m=8;break}else c=m;while(1){if(c>>>0>=(f[n>>2]|0)>>>0)break;x=0;Ga(534,y|0,b[c>>0]|0);h=x;x=0;if(h&1){m=14;break a}c=c+1|0}h=f[o>>2]|0;c=i}do if((m|0)==8){x=0;Fa(472,58806);x=0;m=14}else if((m|0)==13){$sa(p);i=(b[y+11>>0]|0)<0?f[y>>2]|0:y;x=0;h=ua(30,((d|0)==-1?-1:d<<1)|0,e|0,g|0,i|0)|0;g=x;x=0;if(g&1){c=Ya()|0;break}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}f[v+4>>2]=0;f[v>>2]=28924;j=i+(hL(h)|0)|0;k=j;l=r+128|0;h=i;c=0;b:while(1){if(!((c|0)!=2&h>>>0>>0)){m=27;break}f[t>>2]=h;x=0;i=Aa(f[(f[v>>2]|0)+16>>2]|0,v|0,q|0,h|0,((k-h|0)>32?h+32|0:j)|0,t|0,r|0,l|0,s|0)|0;g=x;x=0;if(g&1)break;if((i|0)==2?1:(f[t>>2]|0)==(h|0)){m=22;break}else c=r;while(1){if(c>>>0>=(f[s>>2]|0)>>>0)break;x=0;Ga(709,a|0,f[c>>2]|0);g=x;x=0;if(g&1)break b;c=c+4|0}h=f[t>>2]|0;c=i}if((m|0)==22){x=0;Fa(472,58806);x=0}else if((m|0)==27){$sa(v);Aaa(y);u=w;return}c=Ya()|0;$sa(v);jaa(a)}while(0);if((m|0)==14){c=Ya()|0;$sa(p)}Aaa(y);jb(c|0)}function Cm(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,t=0,v=0,w=0,y=0;s=u;u=u+112|0;j=s;y=s+104|0;w=s+88|0;r=s+96|0;q=s+48|0;v=s+40|0;qV(y,f[(f[a+48>>2]|0)+-4>>2]|0);f[y>>2]=7280;k=a+168|0;l=a+172|0;m=y+4|0;n=a+108|0;o=w+4|0;p=v+4|0;while(1){x=0;c=ta(55,a|0,1,0)|0;t=x;x=0;if(t&1){e=13;break}if(!c){e=22;break}g=(b[(f[l>>2]|0)+2>>0]|0)==33;x=0;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];Ka(9,w|0,a|0,j|0,1,0);t=x;x=0;if(t&1){e=14;break}h=(f[m>>2]|0)+64|0;i=f[(f[h>>2]|0)+20>>2]|0;x=0;t=qa(318,76)|0;e=x;x=0;if(e&1){e=15;break}c=q;d=n;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));x=0;Ga(462,v|0,f[o>>2]|0);e=x;x=0;if(e&1){e=16;break}f[v>>2]=7904;c=j;d=q;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));x=0;Fa(427,t|0);e=x;x=0;if(e&1){d=1;e=18;break}c=t+12|0;d=j;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));c=t+52|0;f[c>>2]=0;f[t+56>>2]=0;b[t+60>>0]=0;f[t>>2]=8496;d=t+64|0;x=0;Ga(462,d|0,f[p>>2]|0);e=x;x=0;if(e&1){e=9;break}f[d>>2]=7904;b[t+72>>0]=g&1;f[c>>2]=13;x=0;Ga(462,r|0,t|0);g=x;x=0;if(g&1){d=0;e=18;break}f[r>>2]=6920;x=0;Ga(i|0,h|0,r|0);t=x;x=0;if(t&1){e=17;break}_P(r);_P(v);_P(w)}if((e|0)==9){c=Ya()|0;_P(v);e=19}else if((e|0)==13){w=Ya()|0;_P(y);jb(w|0)}else if((e|0)==14)c=Ya()|0;else if((e|0)==15){c=Ya()|0;e=20}else if((e|0)==16){c=Ya()|0;e=19}else if((e|0)==17){c=Ya()|0;_P(r);_P(v);e=20}else if((e|0)==18){c=Ya()|0;_P(v);if(d)e=19;else e=20}else if((e|0)==22){_P(y);u=s;return}if((e|0)==19){Hta(t);e=20}if((e|0)==20)_P(w);w=c;_P(y);jb(w|0)}function Dm(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+4|0;c=f[a>>2]|0;e=((f[k>>2]|0)-c|0)/20|0;d=e+1|0;if(d>>>0>214748364)EO(a);l=a+8|0;m=((f[l>>2]|0)-c|0)/20|0;n=m<<1;d=m>>>0<107374182?(n>>>0>>0?d:n):214748364;do if(!d){m=0;n=0}else{if(d>>>0<=214748364){n=VN(d*20|0)|0;m=n;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=n+(e*20|0)|0;c=g;j=n+(d*20|0)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);i=x;x=0;a:do if(i&1){i=Ya()|0;d=c}else{f[g>>2]=15556;x=0;Ga(680,n+(e*20|0)+8|0,b+8|0);i=x;x=0;if(i&1){i=Ya()|0;_P(g);d=c;break}d=g+20|0;h=f[a>>2]|0;b=f[k>>2]|0;do if((b|0)==(h|0)){i=h;g=h}else{while(1){e=g+-20|0;x=0;Ga(462,e|0,f[b+-16>>2]|0);i=x;x=0;if(i&1){b=29;break}f[e>>2]=15556;x=0;Ga(680,g+-12|0,b+-12|0);i=x;x=0;if(i&1){b=16;break}b=b+-20|0;g=c+-20|0;c=g;if((b|0)==(h|0)){b=18;break}}if((b|0)==16){i=Ya()|0;_P(e);break a}else if((b|0)==18){i=f[a>>2]|0;g=f[k>>2]|0;break}else if((b|0)==29){i=Ya()|0;break a}}while(0);f[a>>2]=c;f[k>>2]=d;f[l>>2]=j;h=i;if((g|0)!=(h|0))do{b=g+-12|0;c=f[b>>2]|0;if(c|0){e=g+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0)){do{n=d+-16|0;f[e>>2]=n;_P(d+-8|0);_P(n);d=f[e>>2]|0}while((d|0)!=(c|0));c=f[b>>2]|0}Hta(c)}g=g+-20|0;_P(g)}while((g|0)!=(h|0));if(!i)return;Hta(i);return}while(0);if((d|0)!=(c|0))do{g=d+-12|0;b=f[g>>2]|0;if(b|0){h=d+-8|0;e=f[h>>2]|0;if((e|0)!=(b|0)){do{l=e+-16|0;f[h>>2]=l;_P(e+-8|0);_P(l);e=f[h>>2]|0}while((e|0)!=(b|0));b=f[g>>2]|0}Hta(b)}d=d+-20|0;_P(d)}while((d|0)!=(c|0));if(!n)jb(i|0);Hta(m);jb(i|0)}function Em(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;k=u;u=u+64|0;n=k+48|0;l=k+40|0;c=k+32|0;d=k+8|0;j=k+16|0;m=k;e=a+24|0;if((f[a+28>>2]|0)==(f[e>>2]|0))if((a|0)==(b|0)){u=k;return a|0}else{f[a+20>>2]=f[b+20>>2];f[c>>2]=f[b+12>>2];f[d>>2]=0;f[l>>2]=f[c>>2];f[n>>2]=f[d>>2];Mm(a+4|0,l,n);yq(e,f[b+24>>2]|0,f[b+28>>2]|0);u=k;return a|0}c=f[b+24>>2]|0;d=f[b+28>>2]|0;a:do if((c|0)!=(d|0)){e=n+4|0;g=j+8|0;h=l+4|0;i=j+8|0;while(1){qV(n,f[c+4>>2]|0);f[n>>2]=7696;x=0;Ga(462,m|0,f[e>>2]|0);o=x;x=0;if(o&1){d=20;break}f[m>>2]=7696;x=0;Ia(78,l|0,b|0,m|0);o=x;x=0;if(o&1){d=21;break}x=0;Ga(462,j|0,f[e>>2]|0);o=x;x=0;if(o&1){d=22;break}f[j>>2]=7696;x=0;Ga(462,g|0,f[h>>2]|0);o=x;x=0;if(o&1){d=17;break}f[g>>2]=7696;x=0;sa(1007,a|0,j|0)|0;o=x;x=0;if(o&1){d=24;break}_P(i);_P(j);_P(l);_P(m);_P(n);c=c+8|0;if((c|0)==(d|0))break a}if((d|0)==17){c=Ya()|0;_P(j);d=23}else if((d|0)==20){o=Ya()|0;_P(n);jb(o|0)}else if((d|0)==21)c=Ya()|0;else if((d|0)==22){c=Ya()|0;d=23}else if((d|0)==24){c=Ya()|0;_P(i);_P(j);d=25}if((d|0)==23)d=25;if((d|0)==25)_P(l);_P(m);o=c;_P(n);jb(o|0)}while(0);qV(n,0);f[n>>2]=7696;c=a+40|0;if((c|0)!=(n|0)){d=a+44|0;if(f[d>>2]|0){x=0;Fa(429,c|0);o=x;x=0;if(o&1){o=Ya()|0;_P(n);jb(o|0)}}o=n+4|0;f[d>>2]=f[o>>2];f[o>>2]=0}_P(n);u=k;return a|0}function Fm(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=u;u=u+16|0;l=m;k=Lj(a,b,c,e)|0;g=d+4|0;h=f[g>>2]|0;if(!h){l=k;u=m;return l|0}i=c+4|0;e=f[i>>2]|0;if(!e){l=k;u=m;return l|0}if(!(Tt(h,e)|0)){l=k;u=m;return l|0}qV(l,f[i>>2]|0);f[l>>2]=13852;if((c|0)!=(d|0)){if(f[i>>2]|0){x=0;Fa(429,c|0);j=x;x=0;if(j&1){m=Ya()|0;_P(l);jb(m|0)}}f[i>>2]=f[g>>2];f[g>>2]=0}if((l|0)!=(d|0)){if(f[g>>2]|0){x=0;Fa(429,d|0);j=x;x=0;if(j&1){m=Ya()|0;_P(l);jb(m|0)}}j=l+4|0;f[g>>2]=f[j>>2];f[j>>2]=0}_P(l);e=k+1|0;g=f[i>>2]|0;if(!g){l=e;u=m;return l|0}j=b+4|0;h=f[j>>2]|0;if(!h){l=e;u=m;return l|0}if(!(Tt(g,h)|0)){l=e;u=m;return l|0}qV(l,f[j>>2]|0);f[l>>2]=13852;if((b|0)!=(c|0)){if(f[j>>2]|0){x=0;Fa(429,b|0);d=x;x=0;if(d&1){m=Ya()|0;_P(l);jb(m|0)}}f[j>>2]=f[i>>2];f[i>>2]=0}if((l|0)!=(c|0)){if(f[i>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){m=Ya()|0;_P(l);jb(m|0)}}c=l+4|0;f[i>>2]=f[c>>2];f[c>>2]=0}_P(l);e=k+2|0;g=f[j>>2]|0;if(!g){l=e;u=m;return l|0}h=a+4|0;d=f[h>>2]|0;if(!d){l=e;u=m;return l|0}if(!(Tt(g,d)|0)){l=e;u=m;return l|0}qV(l,f[h>>2]|0);f[l>>2]=13852;if((a|0)!=(b|0)){if(f[h>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){m=Ya()|0;_P(l);jb(m|0)}}f[h>>2]=f[j>>2];f[j>>2]=0}if((l|0)!=(b|0)){if(f[j>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){m=Ya()|0;_P(l);jb(m|0)}}b=l+4|0;f[j>>2]=f[b>>2];f[b>>2]=0}_P(l);l=k+3|0;u=m;return l|0}function Gm(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;q=0;m=a+4|0;p=f[c>>2]|0;c=p;do if((p|0)!=(m|0)){k=p+16|0;i=b[k+11>>0]|0;j=i<<24>>24<0;i=j?f[p+20>>2]|0:i&255;o=b[g+11>>0]|0;n=o<<24>>24<0;o=n?f[g+4>>2]|0:o&255;l=i>>>0>>0;h=l?i:o;if(!h)q=4;else{h=lO(n?f[g>>2]|0:g,j?f[k>>2]|0:k,h)|0;if(!h)q=4;else if((h|0)<0)break}if((q|0)==4)if(o>>>0>>0)break;h=o>>>0>>0?o:i;if(!h)q=21;else{h=lO(j?f[k>>2]|0:k,n?f[g>>2]|0:g,h)|0;if(!h)q=21;else if((h|0)>=0)q=37}if((q|0)==21)if(!l)q=37;if((q|0)==37){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}h=f[p+4>>2]|0;e=(h|0)==0;if(e){h=p+8|0;i=f[h>>2]|0;if((f[i>>2]|0)!=(p|0))do{l=f[h>>2]|0;h=l+8|0;i=f[h>>2]|0}while((f[i>>2]|0)!=(l|0))}else{while(1){i=f[h>>2]|0;if(!i)break;else h=i}i=h}do if((i|0)!=(m|0)){k=i+16|0;l=b[k+11>>0]|0;j=l<<24>>24<0;l=j?f[i+20>>2]|0:l&255;h=l>>>0>>0?l:o;if(!h)q=31;else{h=lO(n?f[g>>2]|0:g,j?f[k>>2]|0:k,h)|0;if(!h)q=31;else if((h|0)<0)break}if((q|0)==31)if(o>>>0>>0)break;d=Gu(a,d,g)|0;return d|0}while(0);if(e){f[d>>2]=c;d=p+4|0;return d|0}else{f[d>>2]=i;d=i;return d|0}}while(0);m=f[p>>2]|0;do if((f[a>>2]|0)!=(p|0)){if(!m){c=p;while(1){h=f[c+8>>2]|0;if((f[h>>2]|0)==(c|0))c=h;else break}}else{c=m;while(1){h=f[c+4>>2]|0;if(!h){h=c;break}else c=h}}c=h;i=h+16|0;e=b[g+11>>0]|0;j=e<<24>>24<0;e=j?f[g+4>>2]|0:e&255;l=b[i+11>>0]|0;k=l<<24>>24<0;l=k?f[h+20>>2]|0:l&255;h=e>>>0>>0?e:l;if(!h)q=13;else{h=lO(k?f[i>>2]|0:i,j?f[g>>2]|0:g,h)|0;if(!h)q=13;else if((h|0)<0)break}if((q|0)==13)if(l>>>0>>0)break;d=Gu(a,d,g)|0;return d|0}while(0);if(!m){f[d>>2]=p;d=p;return d|0}else{f[d>>2]=c;d=c+4|0;return d|0}return 0}function Hm(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.0,k=0.0,l=0.0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0;s=u;u=u+128|0;r=s+80|0;y=s+24|0;c=s+40|0;v=s+12|0;t=s;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;w=y+11|0;b[w>>0]=6;b[y>>0]=b[39245]|0;b[y+1>>0]=b[39246]|0;b[y+2>>0]=b[39247]|0;b[y+3>>0]=b[39248]|0;b[y+4>>0]=b[39249]|0;b[y+5>>0]=b[39250]|0;b[y+6>>0]=0;n=c;o=g;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));x=0;Ga(511,v|0,h|0);q=x;x=0;do if(q&1)c=Ya()|0;else{x=0;n=r;o=c;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));e=wa(26,y|0,a|0,e|0,r|0,v|0)|0;q=x;x=0;if(q&1){c=Ya()|0;e=I;d=f[v>>2]|0;if(!d)break;h=v+4|0;i=f[h>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[h>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[h>>2]|0}else i=a}while((i|0)!=(d|0));d=f[v>>2]|0}Hta(d);break}c=f[v>>2]|0;if(c|0){a=v+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[v>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[y>>2]|0);k=+p[e+64>>3]/255.0;l=+p[e+72>>3]/255.0;m=+p[e+80>>3]/255.0;j=l>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;i=t+11|0;b[i>>0]=1;b[t>>0]=37;b[t+1>>0]=0;x=0;n=r;o=g;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));Ha(1,d|0,r|0,+j,t|0,1);y=x;x=0;if(y&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[t>>2]|0);Hta(d);y=c;jb(y|0)}else{if((b[i>>0]|0)>=0){u=s;return d|0}Hta(f[t>>2]|0);u=s;return d|0}}while(0);if((b[w>>0]|0)<0)Hta(f[y>>2]|0);y=c;jb(y|0);return 0}function Im(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;z=u;u=u+48|0;B=z+32|0;w=z;UE(a);d=f[b+4>>2]|0;c=f[b+16>>2]|0;e=d+(c>>>9<<2)|0;if((f[b+8>>2]|0)==(d|0)){b=0;r=0}else{r=c+(f[b+20>>2]|0)|0;b=(f[e>>2]|0)+((c&511)<<3)|0;r=(f[d+(r>>>9<<2)>>2]|0)+((r&511)<<3)|0}n=a+20|0;A=a+24|0;o=B+4|0;p=w+16|0;q=w+20|0;v=w+24|0;y=w+12|0;a:while(1){do{if((r|0)==(b|0)){b=6;break a}x=0;Ga(462,B|0,f[b+4>>2]|0);t=x;x=0;if(t&1){b=21;break a}f[B>>2]=15556;c=f[n>>2]|0;s=f[A>>2]|0;t=(s|0)==0;if(!t)ega(s);x=0;Ga(505,w|0,f[o>>2]|0);m=x;x=0;if(m&1){b=22;break a}k=c+8|0;g=f[k>>2]|0;l=c+4|0;d=f[l>>2]|0;C=g-d>>2;i=c+16|0;j=f[i>>2]|0;m=c+20|0;h=f[m>>2]|0;if((((C|0)==0?0:(C*146|0)+-1|0)|0)==(h+j|0)){x=0;Fa(433,c|0);C=x;x=0;if(C&1){b=23;break a}h=f[m>>2]|0;c=f[i>>2]|0;g=f[k>>2]|0;d=f[l>>2]|0}else c=j;c=h+c|0;if((g|0)==(d|0))c=0;else c=(f[d+(((c>>>0)/146|0)<<2)>>2]|0)+(((c>>>0)%146|0)*28|0)|0;f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];d=c+12|0;x=0;Ga(462,d|0,f[p>>2]|0);C=x;x=0;if(C&1){b=23;break a}f[d>>2]=15556;f[c+20>>2]=f[q>>2];f[c+24>>2]=f[v>>2];f[q>>2]=0;f[v>>2]=0;f[m>>2]=(f[m>>2]|0)+1;_P(y);if(!t)QZ(s);_P(B);b=b+8|0}while((b-(f[e>>2]|0)|0)!=4096);b=e+4|0;e=b;b=f[b>>2]|0}if((b|0)==6){u=z;return}else if((b|0)==21)c=Ya()|0;else if((b|0)==22){c=Ya()|0;b=26}else if((b|0)==23){c=Ya()|0;b=f[v>>2]|0;if(b|0)QZ(b);_P(y);b=26}if((b|0)==26){if(!t)QZ(s);_P(B)}b=f[A>>2]|0;if(!b){C=a+12|0;_P(C);jb(c|0)}QZ(b);C=a+12|0;_P(C);jb(c|0)}function Jm(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;p=0;l=u;u=u+128|0;h=l+88|0;q=l+80|0;e=l+72|0;j=l+64|0;i=l+24|0;n=l+16|0;k=l+8|0;o=l;qV(e,f[c+76>>2]|0);f[e>>2]=12372;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;m=x;x=0;if(!(m&1)){x=0;Ga(462,q|0,d|0);m=x;x=0;if(!(m&1)){f[q>>2]=7696;_P(e);x=0;m=qa(318,80)|0;g=x;x=0;a:do if(g&1)d=Ya()|0;else{d=i;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;d=qa(391,f[q+4>>2]|0)|0;g=x;x=0;do if(g&1)p=16;else{x=0;Ga(462,n|0,d|0);g=x;x=0;if(g&1)p=16;else{f[n>>2]=12372;d=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,o|0,f[c+68>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;_P(n);break}f[o>>2]=7280;x=0;d=sa(d|0,a|0,f[o+4>>2]|0)|0;c=x;x=0;if(c&1)p=18;else{x=0;Ga(462,k|0,d|0);c=x;x=0;if(c&1)p=18;else{f[k>>2]=7280;x=0;d=h;e=i;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));Ja(41,m|0,h|0,n|0,k|0);i=x;x=0;if(i&1)e=1;else{x=0;Ga(462,j|0,m|0);i=x;x=0;if(i&1)e=0;else{f[j>>2]=17144;_P(k);_P(o);_P(n);d=f[j+4>>2]|0;if(!d){p=0;_P(j);_P(q);u=l;return p|0}b[d+8>>0]=1;p=d;_P(j);_P(q);u=l;return p|0}}d=Ya()|0;_P(k)}}if((p|0)==18){d=Ya()|0;e=1}_P(o);_P(n);if(!e)break a}}while(0);if((p|0)==16)d=Ya()|0;Hta(m)}while(0);_P(q);q=d;jb(q|0)}}q=Ya()|0;_P(e);jb(q|0);return 0}function Km(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;m=u;u=u+160|0;l=m;d=m+112|0;q=m+96|0;c=m+56|0;n=m+40|0;o=VN(68)|0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;p=q+11|0;b[p>>0]=6;b[q>>0]=b[40507]|0;b[q+1>>0]=b[40508]|0;b[q+2>>0]=b[40509]|0;b[q+3>>0]=b[40510]|0;b[q+4>>0]=b[40511]|0;b[q+5>>0]=b[40512]|0;b[q+6>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,n|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;i=l;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(25,q|0,a|0,e|0,l|0,n|0)|0;h=x;x=0;if(!(h&1)){x=0;c=qa(f[(f[c>>2]|0)+88>>2]|0,c|0)|0;h=x;x=0;if(!(h&1)){i=l;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,o|0);h=x;x=0;if(!(h&1)){c=c&1;i=o+12|0;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;f[o>>2]=11240;b[o+60>>0]=c;f[o+64>>2]=0;f[o+56>>2]=1;c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[p>>0]|0)>=0){u=m;return o|0}Hta(f[q>>2]|0);u=m;return o|0}}}c=Ya()|0;k=I;d=f[n>>2]|0;if(d){l=n+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d)}}if((b[p>>0]|0)>=0){Hta(o);jb(c|0)}Hta(f[q>>2]|0);Hta(o);jb(c|0);return 0}function Lm(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=0;i=b[a+11>>0]|0;n=i<<24>>24<0;i=i&255;k=n?f[a+4>>2]|0:i;m=b[c+11>>0]|0;h=m<<24>>24<0;a:do if((k|0)==((h?f[c+4>>2]|0:m&255)|0)){l=f[a>>2]|0;m=n?l:a;h=h?f[c>>2]|0:c;j=(k|0)==0;if(n)if(j){g=0.0;return +g}else{h=(lO(m,h,k)|0)==0;break}if(j){g=0.0;return +g}if((b[h>>0]|0)==(l&255)<<24>>24){j=a;while(1){i=i+-1|0;j=j+1|0;if(!i){g=0.0;break}h=h+1|0;if((b[j>>0]|0)!=(b[h>>0]|0)){h=0;break a}}return +g}else h=0}else h=0;while(0);if(h|(f[d>>2]|0)==0|(f[e>>2]|0)==0){g=0.0;return +g}k=gi(a)|0;j=gi(c)|0;if((k|0)==1280|(j|0)==1280){g=0.0;return +g}switch((k>>>8&255)<<24>>24){case 0:{l=0;break}case 1:{l=256;break}case 2:{l=512;break}case 3:{l=768;break}case 4:{l=1024;break}default:l=1280}switch((j>>>8&255)<<24>>24){case 0:{h=0;break}case 1:{h=256;break}case 2:{h=512;break}case 3:{h=768;break}case 4:{h=1024;break}default:h=1280}if((l|0)!=(h|0)){g=0.0;return +g}h=f[e>>2]|0;b:do if((h|0)<0){c=f[d>>2]|0;if((c|0)>0&(c|0)<(0-h|0)){i=j-l|0;h=k-l|0;switch(l>>>8&7){case 0:{j=e;g=+p[2904+(i*48|0)+(h<<3)>>3];break b}case 1:{j=e;g=+p[78112+(i<<5)+(h<<3)>>3];break b}case 2:{j=e;g=+p[3192+(i<<4)+(h<<3)>>3];break b}case 3:{j=e;g=+p[3224+(i<<4)+(h<<3)>>3];break b}case 4:{j=e;g=+p[3256+(i*24|0)+(h<<3)>>3];break b}default:{j=e;g=0.0;break b}}}else o=32}else o=32;while(0);c:do if((o|0)==32){i=k-l|0;h=j-l|0;switch(l>>>8&7){case 0:{j=d;g=+p[2904+(i*48|0)+(h<<3)>>3];d=e;break c}case 1:{j=d;g=+p[78112+(i<<5)+(h<<3)>>3];d=e;break c}case 2:{j=d;g=+p[3192+(i<<4)+(h<<3)>>3];d=e;break c}case 3:{j=d;g=+p[3224+(i<<4)+(h<<3)>>3];d=e;break c}case 4:{j=d;g=+p[3256+(i*24|0)+(h<<3)>>3];d=e;break c}default:{j=d;g=0.0;d=e;break c}}}while(0);e=f[d>>2]|0;g=+M(+g,+(+(e|0)));f[j>>2]=(f[j>>2]|0)+e;f[d>>2]=0;return +g}function Mm(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;l=0;m=u;u=u+16|0;n=m;g=f[a+4>>2]|0;a:do if(g|0){e=0;do{f[(f[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(g|0));f[a+12>>2]=0;k=a+8|0;e=f[k>>2]|0;f[k>>2]=0;if(e|0){k=f[d>>2]|0;j=f[c>>2]|0;g=j;i=j;while(1){if((g|0)==(k|0)){l=19;break}g=e+8|0;h=e+12|0;if(f[h>>2]|0){x=0;Fa(429,g|0);o=x;x=0;if(o&1)break}f[h>>2]=f[i+12>>2];x=0;Fa(430,g|0);o=x;x=0;if(o&1)break;g=e+16|0;h=e+20|0;if(f[h>>2]|0){x=0;Fa(429,g|0);o=x;x=0;if(o&1)break}f[h>>2]=f[i+20>>2];x=0;Fa(430,g|0);o=x;x=0;if(o&1)break;g=f[e>>2]|0;x=0;sa(1008,a|0,e|0)|0;o=x;x=0;if(o&1)break;h=f[j>>2]|0;f[c>>2]=h;if(!g)break a;else{e=g;g=h;i=h;j=h}}if((l|0)==19)while(1){l=0;o=e;e=f[e>>2]|0;_P(o+16|0);_P(o+8|0);Hta(o);if(!e)break a;else l=19}o=Za(0)|0;Ua(o|0)|0;do{o=e;e=f[e>>2]|0;_P(o+16|0);_P(o+8|0);Hta(o)}while((e|0)!=0);x=0;Ea(3);x=0;e=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(e|0)}}while(0);e=f[c>>2]|0;g=f[d>>2]|0;if((e|0)==(g|0)){u=m;return}h=e;while(1){Av(n,a,h+8|0);x=0;sa(1008,a|0,f[n>>2]|0)|0;o=x;x=0;if(o&1)break;e=f[e>>2]|0;f[c>>2]=e;if((g|0)==(e|0)){l=29;break}else h=e}if((l|0)==29){u=m;return}e=Ya()|0;g=f[n>>2]|0;f[n>>2]=0;if(!g)jb(e|0);if(b[n+8>>0]|0){_P(g+16|0);_P(g+8|0)}Hta(g);jb(e|0)}function Nm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=0;a=(b[a>>0]|0)==45?a+1|0:a;if(!a){g=0;return g|0}c=OB(a)|0;if(!c){g=0;return g|0}d=b[c>>0]|0;a=c+1|0;a:do if(d<<24>>24==42){a=OB((b[a>>0]|0)==45?c+2|0:a)|0;if(!a)a=c;else while(1){d=b[a>>0]|0;c=a+1|0;if(d<<24>>24!=42){f=a;a=d;break a}c=OB((b[c>>0]|0)==45?a+2|0:c)|0;if(!c)break;else a=c}f=a;a=b[a>>0]|0}else{f=c;a=d}while(0);e=f+1|0;b:do if(a<<24>>24==47){c=b[36369]|0;c:do if(!(c<<24>>24)){a=e;g=12}else{a=e;d=36369;while(1){if((b[a>>0]|0)!=c<<24>>24)break c;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){g=12;break}}}while(0);if((g|0)==12)if((b[a>>0]|0)==40){a=0;break}c=OB((b[e>>0]|0)==45?f+2|0:e)|0;if(!c)a=0;else{a=c+1|0;if((b[c>>0]|0)==42){a=OB((b[a>>0]|0)==45?c+2|0:a)|0;if(!a)a=c;else while(1){c=a+1|0;if((b[a>>0]|0)!=42)break b;c=OB((b[c>>0]|0)==45?a+2|0:c)|0;if(!c)break;else a=c}}else a=c}}else a=0;while(0);g=a|0?a:f;return g|0}function Om(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;l=u;u=u+112|0;m=l;e=l+96|0;j=l+56|0;n=l+40|0;d=VN(16)|0;f[m>>2]=d;f[m+8>>2]=-2147483632;f[m+4>>2]=11;k=d;a=48433;i=k+11|0;do{b[k>>0]=b[a>>0]|0;k=k+1|0;a=a+1|0}while((k|0)<(i|0));b[d+11>>0]=0;x=0;a=sa(1010,c|0,m|0)|0;k=x;x=0;if(k&1){a=Ya()|0;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);c=a;jb(c|0)}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);do if(a)a=g;else{d=VN(64)|0;f[e>>2]=d;f[e+8>>2]=-2147483584;f[e+4>>2]=51;k=d;a=45109;i=k+51|0;do{b[k>>0]=b[a>>0]|0;k=k+1|0;a=a+1|0}while((k|0)<(i|0));b[d+51>>0]=0;x=0;k=m;a=g;i=k+40|0;do{f[k>>2]=f[a>>2];k=k+4|0;a=a+4|0}while((k|0)<(i|0));Ia(100,e|0,m|0,h|0);k=x;x=0;if(!(k&1)){if((b[e+11>>0]|0)>=0){a=g;break}Hta(f[e>>2]|0);a=g;break}a=Ya()|0;if((b[e+11>>0]|0)>=0){c=a;jb(c|0)}Hta(f[e>>2]|0);c=a;jb(c|0)}while(0);e=VN(68)|0;k=j;i=k+40|0;do{f[k>>2]=f[a>>2];k=k+4|0;a=a+4|0}while((k|0)<(i|0));f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;d=qa(318,16)|0;k=x;x=0;if(k&1)a=Ya()|0;else{f[n>>2]=d;f[n+8>>2]=-2147483632;f[n+4>>2]=11;k=d;a=48415;i=k+11|0;do{b[k>>0]=b[a>>0]|0;k=k+1|0;a=a+1|0}while((k|0)<(i|0));b[d+11>>0]=0;x=0;d=sa(1014,c|0,n|0)|0;c=x;x=0;if(!(c&1)){k=m;a=j;i=k+40|0;do{f[k>>2]=f[a>>2];k=k+4|0;a=a+4|0}while((k|0)<(i|0));x=0;Fa(427,e|0);c=x;x=0;if(!(c&1)){d=d&1;k=e+12|0;a=m;i=k+40|0;do{f[k>>2]=f[a>>2];k=k+4|0;a=a+4|0}while((k|0)<(i|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e>>2]=11240;b[e+60>>0]=d;f[e+64>>2]=0;f[e+56>>2]=1;if((b[n+11>>0]|0)>=0){u=l;return e|0}Hta(f[n>>2]|0);u=l;return e|0}}a=Ya()|0;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0)}Hta(e);c=a;jb(c|0);return 0}function Pm(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,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=0;B=u;u=u+80|0;c=B+72|0;e=B+64|0;t=B+56|0;v=B+48|0;w=B+40|0;x=B+32|0;y=B+24|0;z=B+16|0;r=B+8|0;s=B;d=(a|0)==0;if(d){h=0;g=0}else{qV(c,f[a+80>>2]|0);f[c>>2]=15572;g=f[c+4>>2]|0;_P(c);h=g}qV(e,f[b+80>>2]|0);f[e>>2]=15572;c=f[e+4>>2]|0;_P(e);if(d){A=1;u=B;return A|0}j=y+4|0;k=z+4|0;l=s+4|0;m=r+4|0;n=t+4|0;o=v+4|0;p=x+4|0;q=w+4|0;i=c;d=h;while(1){e=(d|0)!=0;c=(i|0)!=0;if(e|c){c=c^1;if(e^1|c){a=c;A=24;break}if(!(xc[f[(f[g>>2]|0)+164>>2]&2047](d,i)|0)){A=22;break}c=f[a+72>>2]|0;d=f[b+72>>2]|0;if((c|0)!=(d|0)){A=17;break}qV(y,f[a+88>>2]|0);f[y>>2]=15556;a=f[j>>2]|0;_P(y);qV(z,f[b+88>>2]|0);f[z>>2]=15556;c=f[k>>2]|0;_P(z);if(!a){d=0;g=0}else{qV(r,f[a+80>>2]|0);f[r>>2]=15572;g=f[m>>2]|0;_P(r);d=g}if(!c){A=12;break}qV(s,f[c+80>>2]|0);f[s>>2]=15572;i=f[l>>2]|0;_P(s);b=c}else{c=f[a+72>>2]|0;d=f[b+72>>2]|0;if((c|0)!=(d|0)){A=7;break}qV(t,f[a+88>>2]|0);f[t>>2]=15556;a=f[n>>2]|0;_P(t);qV(v,f[b+88>>2]|0);f[v>>2]=15556;c=f[o>>2]|0;_P(v);if(!a){d=0;g=0}else{qV(w,f[a+80>>2]|0);f[w>>2]=15572;g=f[q>>2]|0;_P(w);d=g}if(!c){A=12;break}qV(x,f[c+80>>2]|0);f[x>>2]=15572;i=f[p>>2]|0;_P(x);b=c}c=(a|0)==0;e=(b|0)!=0;if(c|e^1){a=e;break}}if((A|0)==7){A=(c|0)<(d|0);u=B;return A|0}else if((A|0)==12){c=(a|0)==0;a=0}else if((A|0)==17){A=(c|0)<(d|0);u=B;return A|0}else if((A|0)==22){A=xc[f[(f[g>>2]|0)+160>>2]&2047](d,i)|0;u=B;return A|0}else if((A|0)==24){u=B;return a|0}A=c&a;u=B;return A|0}function Qm(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)if((c-b|0)>>>0<=f[20533]<<1>>>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;Xi(k,c);return a|0}if((f[20419]|0)==(i|0)){k=(f[20416]|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[20419]=d;f[20416]=c;return a|0}if((f[20418]|0)==(i|0)){d=(f[20415]|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[20415]=c;f[20418]=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[20413]=f[20413]&~(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)){e=i+16|0;d=e+4|0;c=f[d>>2]|0;if(!c){c=f[e>>2]|0;if(!c){e=0;break}else g=e}else g=d;while(1){e=c+20|0;d=f[e>>2]|0;if(d|0){c=d;g=e;continue}d=c+16|0;e=f[d>>2]|0;if(!e)break;else{c=e;g=d}}f[g>>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=81956+(c<<2)|0;if((f[d>>2]|0)==(i|0)){f[d>>2]=e;if(!e){f[20414]=f[20414]&~(1<>2]|0)!=(i|0)&1)<<2)>>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]=j|m&1|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;Xi(i,k);return a|0}return 0}function Rm(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,t=0,v=0,w=0,x=0,y=0,z=0,A=0;z=0;A=u;u=u+80|0;c=A+72|0;d=A+64|0;s=A+56|0;t=A+48|0;v=A+40|0;w=A+32|0;x=A+24|0;y=A+16|0;q=A+8|0;r=A;if(!a){e=0;g=0}else{qV(c,f[a+80>>2]|0);f[c>>2]=15572;g=f[c+4>>2]|0;_P(c);e=g}qV(d,f[b+80>>2]|0);f[d>>2]=15572;c=f[d+4>>2]|0;_P(d);i=x+4|0;j=y+4|0;k=r+4|0;l=q+4|0;m=s+4|0;n=t+4|0;o=w+4|0;p=v+4|0;if(!a){z=0;u=A;return z|0}else{h=c;d=e}a:while(1){c=(d|0)!=0;e=(h|0)!=0;if(c|e){if(c)z=14;else if((f[h+76>>2]|0)!=(f[h+80>>2]|0))z=14;do if((z|0)==14){z=0;if(!e)if((f[d+76>>2]|0)==(f[d+80>>2]|0))break;else{a=0;z=24;break a}if(!c){a=0;z=24;break a}if(!(xc[f[(f[g>>2]|0)+164>>2]&2047](d,h)|0)){a=0;z=24;break a}}while(0);if((f[a+72>>2]|0)!=(f[b+72>>2]|0)){a=0;z=24;break}qV(x,f[a+88>>2]|0);f[x>>2]=15556;a=f[i>>2]|0;_P(x);qV(y,f[b+88>>2]|0);f[y>>2]=15556;c=f[j>>2]|0;_P(y);if(!a){d=0;g=0}else{qV(q,f[a+80>>2]|0);f[q>>2]=15572;g=f[l>>2]|0;_P(q);d=g}if(!c){z=4;break}qV(r,f[c+80>>2]|0);f[r>>2]=15572;h=f[k>>2]|0;_P(r)}else{c=f[a+72>>2]|0;d=f[b+72>>2]|0;if((c|0)!=(d|0)){z=7;break}qV(s,f[a+88>>2]|0);f[s>>2]=15556;a=f[m>>2]|0;_P(s);qV(t,f[b+88>>2]|0);f[t>>2]=15556;c=f[n>>2]|0;_P(t);if(!a){d=0;g=0}else{qV(v,f[a+80>>2]|0);f[v>>2]=15572;g=f[p>>2]|0;_P(v);d=g}if(!c){z=4;break}qV(w,f[c+80>>2]|0);f[w>>2]=15572;h=f[o>>2]|0;_P(w)}if(!a){a=0;z=24;break}else b=c}if((z|0)==4){z=(a|0)==0;u=A;return z|0}else if((z|0)==7){z=(c|0)<(d|0);u=A;return z|0}else if((z|0)==24){u=A;return a|0}return 0}function Sm(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;g=0;a:do if(b[c>>0]|0){d=c;while(1){e=Yz(d)|0;if(!e){g=4;break}d=d+e|0;if(!(b[d>>0]|0)){e=c;break}}if((g|0)==4){a=Ta(8)|0;f[a>>2]=16724;b[a+4>>0]=0;fb(a|0,2560,223)}while(1){d=Yz(e)|0;if(!d)break;e=e+d|0;if(!(b[e>>0]|0))break a}Ra(43875,43692,1167,43894)}while(0);l=a+4|0;g=f[l>>2]|0;e=f[a>>2]|0;d=e;do if((g-e|0)<14){j=a+8|0;h=f[j>>2]|0;i=e-h|0;d=i+14|0;e=g-h|0;do e=e<<1;while(e>>>0>>0);d=eJ(h,e|1)|0;f[j>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{k=d+i|0;f[a>>2]=k;f[l>>2]=d+e;break}}else k=d;while(0);d=k+1|0;b[k>>0]=34;e=b[c>>0]|0;if(!(e<<24>>24)){k=d;l=k+1|0;b[k>>0]=34;f[a>>2]=l;return}k=a+8|0;b:while(1){g=c+1|0;c:do switch(e<<24>>24){case 34:{b[d>>0]=92;b[d+1>>0]=34;d=d+2|0;break}case 92:{b[d>>0]=92;b[d+1>>0]=92;d=d+2|0;break}case 8:{b[d>>0]=92;b[d+1>>0]=98;d=d+2|0;break}case 12:{b[d>>0]=92;b[d+1>>0]=102;d=d+2|0;break}case 10:{b[d>>0]=92;b[d+1>>0]=110;d=d+2|0;break}case 13:{b[d>>0]=92;b[d+1>>0]=114;d=d+2|0;break}case 9:{b[d>>0]=92;b[d+1>>0]=116;d=d+2|0;break}default:{j=Yz(c)|0;if(!j){g=25;break b}if((e&255)<31){b[d>>0]=92;b[d+1>>0]=117;j=e&255;b[d+2>>0]=48;b[d+3>>0]=48;b[d+4>>0]=b[43906+(j>>>4)>>0]|0;b[d+5>>0]=b[43906+(j&15)>>0]|0;d=d+6|0;break c}g=c+j|0;i=j+-1|0;b[d>>0]=e;if(i|0){h=d;e=i;do{c=c+1|0;h=h+1|0;e=e+-1|0;b[h>>0]=b[c>>0]|0}while((e|0)!=0)}d=d+j|0}}while(0);f[a>>2]=d;c=f[l>>2]|0;e=d;if((c-e|0)<14){h=f[k>>2]|0;i=e-h|0;d=i+14|0;e=c-h|0;do e=e<<1;while(e>>>0>>0);d=eJ(h,e|1)|0;f[k>>2]=d;if(!d){g=35;break}j=d+i|0;f[a>>2]=j;f[l>>2]=d+e;d=j}e=b[g>>0]|0;if(!(e<<24>>24)){g=38;break}else c=g}if((g|0)==25)Ra(59832,43692,1225,43894);else if((g|0)==35){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else if((g|0)==38){l=d+1|0;b[d>>0]=34;f[a>>2]=l;return}}function Tm(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;n=u;u=u+112|0;i=n;e=n+64|0;p=n+52|0;o=n+40|0;j=e;k=d+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));ND(p,81592);x=0;Ga(511,o|0,c|0);m=x;x=0;if(m&1)c=Ya()|0;else{j=i;k=e;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(538,a|0,p|0);m=x;x=0;if(m&1){c=Ya()|0;j=I}else{f[a>>2]=16212;m=a+8|0;x=0;Ga(459,m|0,p|0);l=x;x=0;do if(l&1){c=Ya()|0;e=I}else{g=a+20|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=5;b[g>>0]=b[53005]|0;b[g+1>>0]=b[53006]|0;b[g+2>>0]=b[53007]|0;b[g+3>>0]=b[53008]|0;b[g+4>>0]=b[53009]|0;b[g+5>>0]=0;j=a+32|0;k=i;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,a+72|0,o|0);l=x;x=0;if(l&1){c=Ya()|0;e=I;if((b[h>>0]|0)<0)Hta(f[g>>2]|0);if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}c=f[o>>2]|0;if(c|0){h=o+4|0;e=f[h>>2]|0;if((e|0)!=(c|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);f[a>>2]=21188;f[a+84>>2]=d;x=0;sa(1032,m|0,53238)|0;p=x;x=0;if(!(p&1)){u=n;return}p=Ya()|0;PF(a);jb(p|0)}while(0);dfa(a);j=e}e=f[o>>2]|0;if(e){i=o+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[o>>2]|0}Hta(e)}}if((b[p+11>>0]|0)>=0){p=c;jb(p|0)}Hta(f[p>>2]|0);p=c;jb(p|0)}function Um(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=u;u=u+144|0;h=p;n=p+120|0;i=p+80|0;q=p+64|0;p=p+52|0;o=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;k=h;l=c;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));j=h+40|0;x=0;Ga(459,j|0,n|0);m=x;x=0;a:do if(m&1)e=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;do if(g>>>0<(f[d+8>>2]|0)>>>0){k=g;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));m=g+40|0;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[m+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,h|0);m=x;x=0;if(m&1){e=Ya()|0;if((b[j+11>>0]|0)>=0)break a;Hta(f[j>>2]|0);break a}else{if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}}while(0);if((b[o>>0]|0)<0)Hta(f[n>>2]|0);j=Ta(84)|0;k=i;l=c;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,q|0,d|0);o=x;x=0;do if(o&1)e=Ya()|0;else{x=0;Ga(459,p|0,a|0);o=x;x=0;if(o&1){e=Ya()|0;i=1;h=I}else{x=0;k=h;l=i;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ja(18,j|0,h|0,q|0,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Ia(77,j|0,2448,181);x=0;g=0}e=Ya()|0;h=I;if((b[p+11>>0]|0)<0){Hta(f[p>>2]|0);i=g}else i=g}g=f[q>>2]|0;if(!g){if(i)break;jb(e|0)}d=q+4|0;a=f[d>>2]|0;if((a|0)!=(g|0)){do{c=a+-52|0;f[d>>2]=c;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[d>>2]|0}else a=c}while((a|0)!=(g|0));g=f[q>>2]|0}Hta(g);if(!i){q=e;jb(q|0)}}while(0);bb(j|0);q=e;jb(q|0)}while(0);if((b[o>>0]|0)<0)Hta(f[n>>2]|0);q=e;jb(q|0)}function Vm(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,v=0,w=0,x=0,y=0;x=0;y=u;u=u+16|0;h=y+8|0;t=y+4|0;v=y;w=a+64|0;if(!(f[w>>2]|0)){x=-1;u=y;return x|0}e=a+92|0;if(!(f[e>>2]&16)){f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;d=f[a+52>>2]|0;do if(d>>>0>8)if(!(b[a+98>>0]|0)){g=f[a+56>>2]|0;d=g+((f[a+60>>2]|0)+-1)|0;break}else{g=f[a+32>>2]|0;d=g+(d+-1)|0;break}else{d=0;g=0}while(0);f[a+24>>2]=g;o=a+20|0;f[o>>2]=g;r=a+28|0;f[r>>2]=d;f[e>>2]=16;q=o;n=r;s=g;p=d}else{o=a+20|0;g=f[o>>2]|0;p=a+28|0;q=o;n=p;r=p;s=g;p=f[p>>2]|0}m=(c|0)==-1;d=a+24|0;e=f[d>>2]|0;if(!m){if(!e){f[d>>2]=h;f[o>>2]=h;f[n>>2]=h+1;e=h}b[e>>0]=c;e=(f[d>>2]|0)+1|0;f[d>>2]=e;g=f[o>>2]|0}a:do if((e|0)==(g|0))x=32;else{b:do if(!(b[a+98>>0]|0)){k=a+32|0;h=f[k>>2]|0;f[t>>2]=h;l=a+68|0;i=f[l>>2]|0;if(!i){y=Ta(4)|0;Era(y);fb(y|0,6240,419)}j=a+72|0;a=a+52|0;g=Fc[f[(f[i>>2]|0)+12>>2]&15](i,j,g,e,v,h,h+(f[a>>2]|0)|0,t)|0;e=f[o>>2]|0;c:do if((f[v>>2]|0)!=(e|0)){while(1){if((g|0)==3){x=21;break}if(g>>>0>=2)break c;h=f[k>>2]|0;i=(f[t>>2]|0)-h|0;if((vO(h,1,i,f[w>>2]|0)|0)!=(i|0))break c;if((g|0)!=1){x=28;break}g=f[v>>2]|0;h=f[d>>2]|0;f[q>>2]=g;f[n>>2]=h;e=g;g=e+(h-g)|0;f[d>>2]=g;h=f[l>>2]|0;if(!h){x=19;break}i=f[k>>2]|0;g=Fc[f[(f[h>>2]|0)+12>>2]&15](h,j,e,g,v,i,i+(f[a>>2]|0)|0,t)|0;e=f[o>>2]|0;if((f[v>>2]|0)==(e|0))break c}if((x|0)==19){y=Ta(4)|0;Era(y);fb(y|0,6240,419)}else if((x|0)==21){v=(f[d>>2]|0)-e|0;if((vO(e,1,v,f[w>>2]|0)|0)!=(v|0))break}break b}while(0);d=-1;break a}else{v=e-g|0;if((vO(g,1,v,f[w>>2]|0)|0)!=(v|0)){d=-1;break a}}while(0);f[d>>2]=s;f[q>>2]=s;f[r>>2]=p;x=32}while(0);if((x|0)==32)d=m?0:c;x=d;u=y;return x|0}function Wm(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;a:do if(gea(a,f[c+8>>2]|0,g)|0)IR(0,c,d,e);else{if(!(gea(a,f[c>>2]|0,g)|0)){q=f[a+12>>2]|0;k=a+16+(q<<3)|0;xN(a+16|0,c,d,e,g);h=a+24|0;if((q|0)<=1)break;a=f[a+8>>2]|0;if(!(a&2)){j=c+36|0;if((f[j>>2]|0)!=1){if(!(a&1)){a=c+54|0;while(1){if(b[a>>0]|0)break a;if((f[j>>2]|0)==1)break a;xN(h,c,d,e,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}a=c+24|0;i=c+54|0;while(1){if(b[i>>0]|0)break a;if((f[j>>2]|0)==1)if((f[a>>2]|0)==1)break a;xN(h,c,d,e,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}}a=c+54|0;while(1){if(b[a>>0]|0)break a;xN(h,c,d,e,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((f[c+16>>2]|0)!=(d|0)){p=c+20|0;if((f[p>>2]|0)!=(d|0)){f[c+32>>2]=e;q=c+44|0;if((f[q>>2]|0)==4)break;k=a+16+(f[a+12>>2]<<3)|0;e=c+52|0;l=c+53|0;n=c+54|0;m=a+8|0;o=c+24|0;h=0;i=a+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){a=18;break}b[e>>0]=0;b[l>>0]=0;JM(i,c,d,d,1,g);if(b[n>>0]|0){a=18;break}do if(!(b[l>>0]|0))a=j;else{if(!(b[e>>0]|0))if(!(f[m>>2]&1)){h=1;a=18;break b}else{h=1;a=j;break}if((f[o>>2]|0)==1){a=23;break b}if(!(f[m>>2]&2)){a=23;break b}else{h=1;a=1}}while(0);i=i+8|0;j=a}do if((a|0)==18){if(!j){f[p>>2]=d;d=c+40|0;f[d>>2]=(f[d>>2]|0)+1;if((f[c+36>>2]|0)==1)if((f[o>>2]|0)==2){b[n>>0]=1;if(h){a=23;break}else{h=4;break}}}if(h)a=23;else h=4}while(0);if((a|0)==23)h=3;f[q>>2]=h;break}}if((e|0)==1)f[c+32>>2]=1}while(0);return}function Xm(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.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0.0,w=0.0,y=0.0;o=u;u=u+128|0;n=o+80|0;t=o+24|0;c=o+40|0;r=o+12|0;q=o;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;s=t+11|0;b[s>>0]=6;b[t>>0]=b[39245]|0;b[t+1>>0]=b[39246]|0;b[t+2>>0]=b[39247]|0;b[t+3>>0]=b[39248]|0;b[t+4>>0]=b[39249]|0;b[t+5>>0]=b[39250]|0;b[t+6>>0]=0;k=c;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,r|0,h|0);m=x;x=0;do if(m&1)c=Ya()|0;else{x=0;k=n;l=c;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));e=wa(26,t|0,a|0,e|0,n|0,r|0)|0;m=x;x=0;if(m&1){c=Ya()|0;e=I;d=f[r>>2]|0;if(!d)break;h=r+4|0;i=f[h>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[h>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[h>>2]|0}else i=a}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d);break}c=f[r>>2]|0;if(c|0){a=r+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[t>>2]|0);j=+p[e+64>>3]/255.0;v=+p[e+72>>3]/255.0;y=+p[e+80>>3]/255.0;w=v>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;i=q+11|0;b[i>>0]=1;b[q>>0]=37;b[q+1>>0]=0;x=0;k=n;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ha(1,d|0,n|0,+j,q|0,1);t=x;x=0;if(t&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[q>>2]|0);Hta(d);t=c;jb(t|0)}else{if((b[i>>0]|0)>=0){u=o;return d|0}Hta(f[q>>2]|0);u=o;return d|0}}while(0);if((b[s>>0]|0)<0)Hta(f[t>>2]|0);t=c;jb(t|0);return 0}function Ym(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=u;u=u+144|0;l=p;o=p+120|0;m=p+80|0;q=p+64|0;p=p+52|0;g=a+12|0;n=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));h=l+40|0;x=0;Ga(459,h|0,o|0);k=x;x=0;a:do if(k&1)a=Ya()|0;else{a=c+4|0;e=f[a>>2]|0;do if(e>>>0<(f[c+8>>2]|0)>>>0){i=e;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));k=e+40|0;f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[a>>2]=(f[a>>2]|0)+52}else{x=0;Ga(510,c|0,l|0);k=x;x=0;if(k&1){a=Ya()|0;if((b[h+11>>0]|0)>=0)break a;Hta(f[h>>2]|0);break a}else{if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}while(0);if((b[n>>0]|0)<0)Hta(f[o>>2]|0);n=Ta(84)|0;i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,q|0,c|0);o=x;x=0;do if(o&1)a=Ya()|0;else{x=0;Ga(459,p|0,d|0);o=x;x=0;if(o&1){a=Ya()|0;k=1;g=I}else{x=0;i=l;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ja(30,n|0,l|0,q|0,p|0);o=x;x=0;if(o&1)e=1;else{x=0;Ia(77,n|0,3344,181);x=0;e=0}a=Ya()|0;g=I;if((b[p+11>>0]|0)<0){Hta(f[p>>2]|0);k=e}else k=e}e=f[q>>2]|0;if(!e){if(k)break;jb(a|0)}j=q+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[q>>2]|0}Hta(e);if(!k){q=a;jb(q|0)}}while(0);bb(n|0);q=a;jb(q|0)}while(0);if((b[n>>0]|0)<0)Hta(f[o>>2]|0);q=a;jb(q|0)}function Zm(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.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0,t=0,v=0,w=0,y=0,z=0;z=u;u=u+112|0;y=z+64|0;w=z+12|0;c=z+24|0;t=z;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;v=w+11|0;b[v>>0]=6;b[w>>0]=b[39245]|0;b[w+1>>0]=b[39246]|0;b[w+2>>0]=b[39247]|0;b[w+3>>0]=b[39248]|0;b[w+4>>0]=b[39249]|0;b[w+5>>0]=b[39250]|0;b[w+6>>0]=0;d=c;i=g;s=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(s|0));x=0;Ga(511,t|0,h|0);s=x;x=0;do if(s&1)c=Ya()|0;else{x=0;d=y;i=c;s=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(s|0));e=wa(26,w|0,a|0,e|0,y|0,t|0)|0;s=x;x=0;if(s&1){c=Ya()|0;e=I;d=f[t>>2]|0;if(!d)break;h=t+4|0;i=f[h>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[h>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[h>>2]|0}else i=a}while((i|0)!=(d|0));d=f[t>>2]|0}Hta(d);break}c=f[t>>2]|0;if(c|0){a=t+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[v>>0]|0)<0)Hta(f[w>>2]|0);m=+p[e+64>>3]/255.0;n=+p[e+72>>3]/255.0;o=+p[e+80>>3]/255.0;c=n>3];d=y;i=g;s=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(s|0));g=Wo(k,m,l,j,0,y)|0;u=z;return g|0}while(0);if((b[v>>0]|0)>=0)jb(c|0);Hta(f[w>>2]|0);jb(c|0);return 0}function _m(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;c=LA(a)|0;if(c|0){a=c;return a|0}h=a+1|0;switch(b[a>>0]|0){case 42:{c=h;break}case 45:{c=a;do c=c+1|0;while((b[c>>0]|0)==45);d=4;break}default:{c=a;d=4}}do if((d|0)==4){d=Ay(c)|0;if(d|0){d=wy(d)|0;if(d|0){c=d;break}}c=np(c)|0}while(0);c=c|0?c:a;if(!c)c=0;else{d=c+1|0;if((b[c>>0]|0)==124)c=(b[d>>0]|0)==61?0:d;else c=0}c=c|0?c:a;if(c|0)if((b[c>>0]|0)==42){a=c+1|0;return a|0}d=b[36400]|0;g=d<<24>>24==0;a:do if(g)c=0;else{c=b[a>>0]|0;e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break a;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?h:a;if(c|0){c=Nu(c)|0;if(c|0){c=Nm(c)|0;if(c|0){a=c;return a|0}}}b:do if(g)c=0;else{c=b[a>>0]|0;e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break b;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?h:a;if(c|0){c=Nu(c)|0;if(c|0)if((b[c>>0]|0)==37){a=c+1|0;return a|0}}c:do if(g)c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break c;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?h:a;if(c|0){c=Nu(c)|0;if(c|0){a=c;return a|0}}a=By(a)|0;return a|0}function $m(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;s=u;u=u+48|0;r=s+28|0;q=s+16|0;o=s+8|0;n=s;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=32142){r=0;u=s;return r|0}x=0;Ga(f[(f[a>>2]|0)+80>>2]|0,r|0,a|0);p=x;x=0;if(p&1){d=_a(6240,0)|0;e=I}else{x=0;Ga(f[(f[c>>2]|0)+80>>2]|0,q|0,c|0);p=x;x=0;a:do if(p&1){d=_a(6240,0)|0;e=I;g=r+11|0}else{g=r+11|0;h=b[g>>0]|0;j=h<<24>>24<0;h=h&255;k=j?f[r+4>>2]|0:h;p=q+11|0;d=b[p>>0]|0;e=d<<24>>24<0;b:do if((k|0)==((e?f[q+4>>2]|0:d&255)|0)){l=f[r>>2]|0;m=j?l:r;e=e?f[q>>2]|0:q;i=(k|0)==0;c:do if(j){if(!i)if(lO(m,e,k)|0){e=0;break b}}else if(!i){if((b[e>>0]|0)==(l&255)<<24>>24)i=r;else{e=0;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;e=e+1|0;if((b[i>>0]|0)!=(b[e>>0]|0)){e=0;break b}}}while(0);x=0;Ga(462,o|0,f[a+68>>2]|0);a=x;x=0;if(a&1){d=_a(6240,0)|0;e=I}else{f[o>>2]=7696;d=f[o+4>>2]|0;e=f[(f[d>>2]|0)+92>>2]|0;x=0;Ga(462,n|0,f[c+68>>2]|0);c=x;x=0;do if(c&1){d=_a(6240,0)|0;e=I}else{f[n>>2]=7696;x=0;e=sa(e|0,d|0,f[n+4>>2]|0)|0;c=x;x=0;if(c&1){d=_a(6240,0)|0;e=I;_P(n);break}else{_P(n);_P(o);d=b[p>>0]|0;break b}}while(0);_P(o)}if((b[p>>0]|0)>=0)break a;Hta(f[q>>2]|0);break a}else e=0;while(0);if(d<<24>>24<0)Hta(f[q>>2]|0);if((b[g>>0]|0)<0)Hta(f[r>>2]|0);r=e;u=s;return r|0}while(0);if((b[g>>0]|0)<0)Hta(f[r>>2]|0)}r=(e|0)==(Sb(6240)|0);Ua(d|0)|0;if(r){Wa();r=0;u=s;return r|0}x=0;Ea(3);x=0;d=Ya()|0;x=0;Ea(4);s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}else jb(d|0);return 0}function an(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=0;g=f[a>>2]|0;d=f[c>>2]|0;a:do if((g|0)==(d|0))q=13;else{e=g+12|0;if((e|0)!=(d|0)){n=g;o=b[g+11>>0]|0;while(1){m=o<<24>>24<0;h=o&255;j=m?f[n+4>>2]|0:h;o=b[e+11>>0]|0;g=o<<24>>24<0;do if((j|0)==((g?f[n+16>>2]|0:o&255)|0)){k=f[n>>2]|0;l=m?k:n;g=g?f[e>>2]|0:e;i=(j|0)==0;if(m){if(i){g=n;q=13;break a}if(!(lO(l,g,j)|0)){g=n;q=13;break a}else break}if(i){g=n;q=13;break a}if((b[g>>0]|0)==(k&255)<<24>>24){i=n;do{h=h+-1|0;i=i+1|0;if(!h){g=n;q=13;break a}g=g+1|0}while((b[i>>0]|0)==(b[g>>0]|0))}}while(0);g=e+12|0;if((g|0)==(d|0))break;else{n=e;e=g}}}}while(0);if((q|0)==13){f[a>>2]=g;if((g|0)==(d|0)){a=d;return a|0}e=g+24|0;b:do if((e|0)==(d|0))p=g;else{h=g;g=g+12|0;while(1){i=b[h+11>>0]|0;m=i<<24>>24<0;i=i&255;n=m?f[h+4>>2]|0:i;o=b[e+11>>0]|0;j=o<<24>>24<0;c:do if((n|0)==((j?f[g+16>>2]|0:o&255)|0)){k=f[h>>2]|0;l=m?k:h;g=j?f[e>>2]|0:e;j=(n|0)==0;if(m){if(j)break;if(!(lO(l,g,n)|0))break;else{q=24;break}}if(!j)if((b[g>>0]|0)==(k&255)<<24>>24){j=h;while(1){i=i+-1|0;j=j+1|0;if(!i)break c;g=g+1|0;if((b[j>>0]|0)!=(b[g>>0]|0)){q=24;break}}}else q=24}else q=24;while(0);if((q|0)==24){q=0;d=h+12|0;f[a>>2]=d;g=d+11|0;if((b[g>>0]|0)<0){b[f[d>>2]>>0]=0;f[h+16>>2]=0}else{b[d>>0]=0;b[g>>0]=0}x=0;Ga(501,d|0,0);o=x;x=0;if(o&1)break;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;d=f[c>>2]|0;h=f[a>>2]|0}g=e+12|0;if((g|0)==(d|0)){p=h;break b}else{o=e;e=g;g=o}}q=Za(0)|0;soa(q)}while(0);d=p+12|0}f[a>>2]=d;a=d;return a|0}function bn(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;n=u;u=u+32|0;l=n;m=a+4|0;d=f[a>>2]|0;g=((f[m>>2]|0)-d|0)/52|0;e=g+1|0;if(e>>>0>82595524)EO(a);k=a+8|0;j=((f[k>>2]|0)-d|0)/52|0;d=j<<1;d=j>>>0<41297762?(d>>>0>>0?e:d):82595524;f[l+12>>2]=0;f[l+16>>2]=a+8;do if(!d)e=0;else{if(d>>>0<=82595524){e=VN(d*52|0)|0;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(d|0);jb(n|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);f[l>>2]=e;g=e+(g*52|0)|0;h=l+8|0;f[h>>2]=g;i=l+4|0;f[i>>2]=g;j=l+12|0;f[j>>2]=e+(d*52|0);x=0;Ga(472,g|0,c|0);c=x;x=0;if(c&1){n=Ya()|0;YG(l);jb(n|0)}c=(f[h>>2]|0)+52|0;f[h>>2]=c;g=f[a>>2]|0;d=f[m>>2]|0;if((d|0)==(g|0)){e=i;o=f[i>>2]|0;i=g;g=d;f[a>>2]=o;f[e>>2]=i;f[m>>2]=c;f[h>>2]=g;m=f[k>>2]|0;a=f[j>>2]|0;f[k>>2]=a;f[j>>2]=m;f[l>>2]=i;YG(l);u=n;return}e=f[i>>2]|0;do{o=e;e=e+-52|0;p=d;d=d+-52|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;r=o+-40|0;q=p+-40|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];f[r+8>>2]=f[q+8>>2];f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;q=o+-28|0;r=p+-28|0;f[q>>2]=f[r>>2];f[q+4>>2]=f[r+4>>2];f[q+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;r=o+-16|0;q=p+-16|0;f[r>>2]=f[q>>2];f[r+4>>2]=f[q+4>>2];f[r+8>>2]=f[q+8>>2];f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[o+-4>>0]=b[p+-4>>0]|0;f[i>>2]=e}while((d|0)!=(g|0));p=i;o=e;r=f[a>>2]|0;q=f[m>>2]|0;f[a>>2]=o;f[p>>2]=r;f[m>>2]=c;f[h>>2]=q;q=f[k>>2]|0;p=f[j>>2]|0;f[k>>2]=p;f[j>>2]=q;f[l>>2]=r;YG(l);u=n;return}function cn(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;n=u;u=u+160|0;l=n+120|0;r=n+68|0;c=n+80|0;p=n+56|0;m=n+16|0;o=n;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;q=r+11|0;b[q>>0]=6;b[r>>0]=b[40507]|0;b[r+1>>0]=b[40508]|0;b[r+2>>0]=b[40509]|0;b[r+3>>0]=b[40510]|0;b[r+4>>0]=b[40511]|0;b[r+5>>0]=b[40512]|0;b[r+6>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;i=l;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a=wa(25,r|0,a|0,e|0,l|0,p|0)|0;h=x;x=0;if(h&1){c=Ya()|0;k=I;d=f[p>>2]|0;if(!d)break;a=p+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d);break}c=f[p>>2]|0;if(c|0){j=p+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[r>>2]|0);d=VN(80)|0;i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(f[(f[a>>2]|0)+80>>2]|0,o|0,a|0);r=x;x=0;do if(r&1)c=Ya()|0;else{x=0;i=l;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Na(1,d|0,l|0,o|0,0,0,0,1,1);r=x;x=0;if(r&1){c=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)>=0){u=n;return d|0}Hta(f[o>>2]|0);u=n;return d|0}while(0);Hta(d);r=c;jb(r|0)}while(0);if((b[q>>0]|0)<0)Hta(f[r>>2]|0);r=c;jb(r|0);return 0}function dn(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.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;q=u;u=u+160|0;m=q+120|0;n=q+80|0;v=q+64|0;c=q+24|0;r=q+12|0;o=q;s=VN(104)|0;d=n;j=g;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;t=v+11|0;b[t>>0]=6;b[v>>0]=b[39245]|0;b[v+1>>0]=b[39246]|0;b[v+2>>0]=b[39247]|0;b[v+3>>0]=b[39248]|0;b[v+4>>0]=b[39249]|0;b[v+5>>0]=b[39250]|0;b[v+6>>0]=0;d=c;j=g;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));x=0;Ga(511,r|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;d=m;j=c;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));c=wa(26,v|0,a|0,e|0,m|0,r|0)|0;h=x;x=0;do if(h&1){c=Ya()|0;m=I}else{k=+p[c+72>>3];i=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;d=m;j=n;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Ha(1,s|0,m|0,+k,o|0,1);n=x;x=0;if(n&1){c=Ya()|0;d=I;if((b[i>>0]|0)>=0){m=d;break}Hta(f[o>>2]|0);m=d;break}if((b[i>>0]|0)<0)Hta(f[o>>2]|0);c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[t>>0]|0)>=0){u=q;return s|0}Hta(f[v>>2]|0);u=q;return s|0}while(0);d=f[r>>2]|0;if(d){l=r+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d)}}if((b[t>>0]|0)>=0){Hta(s);jb(c|0)}Hta(f[v>>2]|0);Hta(s);jb(c|0);return 0}function en(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.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;q=u;u=u+160|0;m=q+120|0;n=q+80|0;v=q+64|0;c=q+24|0;r=q+12|0;o=q;s=VN(104)|0;d=n;j=g;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;t=v+11|0;b[t>>0]=6;b[v>>0]=b[39245]|0;b[v+1>>0]=b[39246]|0;b[v+2>>0]=b[39247]|0;b[v+3>>0]=b[39248]|0;b[v+4>>0]=b[39249]|0;b[v+5>>0]=b[39250]|0;b[v+6>>0]=0;d=c;j=g;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));x=0;Ga(511,r|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;d=m;j=c;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));c=wa(26,v|0,a|0,e|0,m|0,r|0)|0;h=x;x=0;do if(h&1){c=Ya()|0;m=I}else{k=+p[c+80>>3];i=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;d=m;j=n;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Ha(1,s|0,m|0,+k,o|0,1);n=x;x=0;if(n&1){c=Ya()|0;d=I;if((b[i>>0]|0)>=0){m=d;break}Hta(f[o>>2]|0);m=d;break}if((b[i>>0]|0)<0)Hta(f[o>>2]|0);c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[t>>0]|0)>=0){u=q;return s|0}Hta(f[v>>2]|0);u=q;return s|0}while(0);d=f[r>>2]|0;if(d){l=r+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d)}}if((b[t>>0]|0)>=0){Hta(s);jb(c|0)}Hta(f[v>>2]|0);Hta(s);jb(c|0);return 0}function fn(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.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;q=u;u=u+160|0;m=q+120|0;n=q+80|0;v=q+64|0;c=q+24|0;r=q+12|0;o=q;s=VN(104)|0;d=n;j=g;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;t=v+11|0;b[t>>0]=6;b[v>>0]=b[39245]|0;b[v+1>>0]=b[39246]|0;b[v+2>>0]=b[39247]|0;b[v+3>>0]=b[39248]|0;b[v+4>>0]=b[39249]|0;b[v+5>>0]=b[39250]|0;b[v+6>>0]=0;d=c;j=g;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));x=0;Ga(511,r|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;d=m;j=c;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));c=wa(26,v|0,a|0,e|0,m|0,r|0)|0;h=x;x=0;do if(h&1){c=Ya()|0;m=I}else{k=+p[c+64>>3];i=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;d=m;j=n;l=d+40|0;do{f[d>>2]=f[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Ha(1,s|0,m|0,+k,o|0,1);n=x;x=0;if(n&1){c=Ya()|0;d=I;if((b[i>>0]|0)>=0){m=d;break}Hta(f[o>>2]|0);m=d;break}if((b[i>>0]|0)<0)Hta(f[o>>2]|0);c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[t>>0]|0)>=0){u=q;return s|0}Hta(f[v>>2]|0);u=q;return s|0}while(0);d=f[r>>2]|0;if(d){l=r+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d)}}if((b[t>>0]|0)>=0){Hta(s);jb(c|0)}Hta(f[v>>2]|0);Hta(s);jb(c|0);return 0}function gn(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.0,j=0,k=0,l=0;k=u;u=u+128|0;l=k;j=k+104|0;Gv(j,g);x=0;h=l;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));c=wa(24,a|0,c|0,d|0,l|0,j|0)|0;d=x;x=0;if(d&1){d=Ya()|0;a=I;g=f[j>>2]|0;if(!g){l=d;jb(l|0)}c=j+4|0;e=f[c>>2]|0;if((e|0)!=(g|0)){do{h=e+-52|0;f[c>>2]=h;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[c>>2]|0}else e=h}while((e|0)!=(g|0));g=f[j>>2]|0}Hta(g);l=d;jb(l|0)}g=f[j>>2]|0;if(g|0){a=j+4|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{h=e+-52|0;f[a>>2]=h;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=h}while((e|0)!=(g|0));g=f[j>>2]|0}Hta(g)}$x(l,c);x=0;Fa(442,l|0);j=x;x=0;if(j&1){j=Ya()|0;c=I;d=l+60|0;h=l+72|0;g=f[h>>2]|0;if(g|0){a=l+76|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));g=f[h>>2]|0}Hta(g)}g=f[d>>2]|0;if(g|0){h=l+64|0;e=f[h>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(g|0));g=f[d>>2]|0}Hta(g)}l=j;jb(l|0)}else{i=+p[l+88>>3];c=l+60|0;h=l+72|0;g=f[h>>2]|0;if(g|0){a=l+76|0;e=f[a>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));g=f[h>>2]|0}Hta(g)}g=f[c>>2]|0;if(!g){u=k;return +i}h=l+64|0;e=f[h>>2]|0;if((e|0)!=(g|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(g|0));g=f[c>>2]|0}Hta(g);u=k;return +i}return 0.0}function hn(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,t=0,v=0,w=0,x=0,y=0;p=0;t=u;u=u+16|0;s=t+4|0;o=t;m=a+64|0;if(!(f[m>>2]|0)){s=-1;u=t;return s|0}c=a+92|0;if(!(f[c>>2]&8)){f[a+24>>2]=0;f[a+20>>2]=0;f[a+28>>2]=0;q=(b[a+98>>0]|0)==0;r=f[(q?a+56|0:a+32|0)>>2]|0;q=r+(f[(q?a+60|0:a+52|0)>>2]|0)|0;f[a+8>>2]=r;r=a+12|0;f[r>>2]=q;f[a+16>>2]=q;f[c>>2]=8;d=1;c=q}else{c=a+12|0;d=0;r=c;c=f[c>>2]|0}if(!c){e=s+1|0;f[a+8>>2]=s;f[r>>2]=e;f[a+16>>2]=e}else e=c;q=a+16|0;if(d){c=f[q>>2]|0;n=0}else{c=f[q>>2]|0;n=(c-(f[a+8>>2]|0)|0)/2|0;n=n>>>0<4?n:4}do if((e|0)==(c|0)){c=a+8|0;DP(f[c>>2]|0,e+(0-n)|0,n|0)|0;if(b[a+98>>0]|0){d=f[c>>2]|0;d=AC(d+n|0,1,(f[q>>2]|0)-n-d|0,f[m>>2]|0)|0;if(!d){d=-1;break}p=(f[c>>2]|0)+n|0;f[r>>2]=p;f[q>>2]=p+d;d=h[p>>0]|0;break}k=a+40|0;j=f[k>>2]|0;l=a+36|0;d=f[l>>2]|0;e=j;g=d;if((j|0)==(d|0)){j=a+32|0;d=g}else{j=a+32|0;DP(f[j>>2]|0,d|0,e-g|0)|0;e=f[k>>2]|0;d=f[l>>2]|0}g=f[j>>2]|0;e=g+(e-d)|0;f[l>>2]=e;if((g|0)==(a+44|0))d=8;else d=f[a+52>>2]|0;v=g+d|0;f[k>>2]=v;g=a+60|0;d=(f[g>>2]|0)-n|0;v=v-e|0;i=a+72|0;y=i;x=f[y+4>>2]|0;w=a+80|0;f[w>>2]=f[y>>2];f[w+4>>2]=x;e=AC(e,1,v>>>0>>0?v:d,f[m>>2]|0)|0;if(!e)d=-1;else{d=f[a+68>>2]|0;if(!d){y=Ta(4)|0;Era(y);fb(y|0,6240,419)}x=(f[l>>2]|0)+e|0;f[k>>2]=x;y=f[c>>2]|0;if((Fc[f[(f[d>>2]|0)+16>>2]&15](d,i,f[j>>2]|0,x,l,y+n|0,y+(f[g>>2]|0)|0,o)|0)==3){d=f[j>>2]|0;e=f[k>>2]|0;f[c>>2]=d;p=25}else{e=f[o>>2]|0;d=(f[c>>2]|0)+n|0;if((e|0)==(d|0))d=-1;else p=25}if((p|0)==25){f[r>>2]=d;f[q>>2]=e;d=h[d>>0]|0}}}else{d=h[e>>0]|0;c=a+8|0}while(0);if((f[c>>2]|0)==(s|0)){f[c>>2]=0;f[r>>2]=0;f[q>>2]=0}y=d;u=t;return y|0}function jn(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;s=u;u=u+64|0;g=s;t=s+48|0;r=s+40|0;q=VN(88)|0;o=c+64|0;p=c+68|0;e=f[p>>2]|0;d=f[o>>2]|0;l=f[c+80>>2]|0;m=b[c+84>>0]|0;n=b[c+85>>0]|0;h=g;i=c+12|0;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Fa(427,q|0);k=x;x=0;do if(k&1)d=Ya()|0;else{k=e-d>>3;h=q+12|0;i=g;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));b[q+52>>0]=0;b[q+53>>0]=0;b[q+54>>0]=0;d=q+56|0;f[d>>2]=0;f[q>>2]=6516;e=q+60|0;f[e>>2]=9660;i=q+64|0;j=q+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,k|0);k=x;x=0;if(k&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{t=g+-8|0;f[j>>2]=t;Kc[f[f[t>>2]>>2]&511](t);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[q>>2]=9488;f[e>>2]=9620;f[q+80>>2]=l;b[q+84>>0]=m;b[q+85>>0]=n;b[q+86>>0]=0;f[d>>2]=5;qV(t,q);f[t>>2]=7584;e=f[o>>2]|0;j=(f[p>>2]|0)-e>>3;k=t+4|0;a:do if(j|0){i=c+64|0;d=0;while(1){g=(f[k>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;e=f[e+(d<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+72>>2]|0,e|0,a|0)|0;q=x;x=0;if(q&1){e=15;break}x=0;Ga(462,r|0,e|0);q=x;x=0;if(q&1){e=15;break}f[r>>2]=7696;x=0;Ga(h|0,g|0,r|0);q=x;x=0;if(q&1){e=21;break}_P(r);d=d+1|0;if(d>>>0>=j>>>0)break a;e=f[i>>2]|0}if((e|0)==15)d=Ya()|0;else if((e|0)==21){d=Ya()|0;_P(r)}_P(t);t=d;jb(t|0)}while(0);d=f[k>>2]|0;if(!d){r=0;_P(t);u=s;return r|0}b[d+8>>0]=1;r=d;_P(t);u=s;return r|0}while(0);Hta(q);t=d;jb(t|0);return 0}function kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var 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,v=0,w=0;w=0;v=u;u=u+336|0;q=v+300|0;k=v+48|0;j=v+32|0;h=v+24|0;g=v+8|0;l=v;n=v+304|0;m=v+296|0;o=v+68|0;t=v+64|0;r=v+60|0;s=v+56|0;i=l;f[i>>2]=37;f[i+4>>2]=0;i=qF(l+1|0,57953,f[c+4>>2]|0)|0;f[m>>2]=n;a=$O()|0;if(i){f[g>>2]=f[c+8>>2];p[g+8>>3]=e;a=GL(n,30,a,l,g)|0}else{p[h>>3]=e;a=GL(n,30,a,l,h)|0}a:do if((a|0)>29){if(i){x=0;a=la(3)|0;k=x;x=0;if(!(k&1)){x=0;f[j>>2]=f[c+8>>2];p[j+8>>3]=e;a=ua(28,m|0,a|0,l|0,j|0)|0;l=x;x=0;if(!(l&1))w=12}}else{x=0;a=la(3)|0;j=x;x=0;if(!(j&1)){x=0;p[k>>3]=e;a=ua(28,m|0,a|0,l|0,k|0)|0;l=x;x=0;if(!(l&1))w=12}}do if((w|0)==12){g=f[m>>2]|0;if(!g){x=0;Ea(6);x=0;break}else{l=g;j=g;w=15;break a}}while(0);a=Ya()|0}else{l=0;j=f[m>>2]|0;w=15}while(0);if((w|0)==15){i=j+a|0;k=QH(j,i,c)|0;do if((j|0)==(n|0)){g=o;h=0;w=19}else{a=Rd(a<<3)|0;if(!a){x=0;Ea(6);x=0;a=Ya()|0;break}else{g=a;h=a;w=19;break}}while(0);if((w|0)==19){x=0;Ga(536,q|0,c|0);o=x;x=0;do if(o&1){a=Ya()|0;w=29}else{x=0;Ma(14,j|0,k|0,i|0,g|0,t|0,r|0,q|0);o=x;x=0;if(o&1){a=Ya()|0;uga(q);w=29;break}uga(q);f[s>>2]=f[b>>2];t=f[t>>2]|0;a=f[r>>2]|0;x=0;f[q>>2]=f[s>>2];a=ya(46,q|0,g|0,t|0,a|0,c|0,d|0)|0;d=x;x=0;if(d&1){a=Ya()|0;break}f[b>>2]=a;if(h|0)$h(h);if(l|0)$h(l);u=v;return a|0}while(0);if(h)$h(h)}if(l)$h(l)}jb(a|0);return 0}function ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var 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,v=0,w=0;w=0;v=u;u=u+336|0;q=v+300|0;k=v+48|0;j=v+32|0;h=v+24|0;g=v+8|0;l=v;n=v+304|0;m=v+296|0;o=v+68|0;t=v+64|0;r=v+60|0;s=v+56|0;i=l;f[i>>2]=37;f[i+4>>2]=0;i=qF(l+1|0,89823,f[c+4>>2]|0)|0;f[m>>2]=n;a=$O()|0;if(i){f[g>>2]=f[c+8>>2];p[g+8>>3]=e;a=GL(n,30,a,l,g)|0}else{p[h>>3]=e;a=GL(n,30,a,l,h)|0}a:do if((a|0)>29){if(i){x=0;a=la(3)|0;k=x;x=0;if(!(k&1)){x=0;f[j>>2]=f[c+8>>2];p[j+8>>3]=e;a=ua(28,m|0,a|0,l|0,j|0)|0;l=x;x=0;if(!(l&1))w=12}}else{x=0;a=la(3)|0;j=x;x=0;if(!(j&1)){x=0;p[k>>3]=e;a=ua(28,m|0,a|0,l|0,k|0)|0;l=x;x=0;if(!(l&1))w=12}}do if((w|0)==12){g=f[m>>2]|0;if(!g){x=0;Ea(6);x=0;break}else{l=g;j=g;w=15;break a}}while(0);a=Ya()|0}else{l=0;j=f[m>>2]|0;w=15}while(0);if((w|0)==15){i=j+a|0;k=QH(j,i,c)|0;do if((j|0)==(n|0)){g=o;h=0;w=19}else{a=Rd(a<<3)|0;if(!a){x=0;Ea(6);x=0;a=Ya()|0;break}else{g=a;h=a;w=19;break}}while(0);if((w|0)==19){x=0;Ga(536,q|0,c|0);o=x;x=0;do if(o&1){a=Ya()|0;w=29}else{x=0;Ma(14,j|0,k|0,i|0,g|0,t|0,r|0,q|0);o=x;x=0;if(o&1){a=Ya()|0;uga(q);w=29;break}uga(q);f[s>>2]=f[b>>2];t=f[t>>2]|0;a=f[r>>2]|0;x=0;f[q>>2]=f[s>>2];a=ya(46,q|0,g|0,t|0,a|0,c|0,d|0)|0;d=x;x=0;if(d&1){a=Ya()|0;break}f[b>>2]=a;if(h|0)$h(h);if(l|0)$h(l);u=v;return a|0}while(0);if(h)$h(h)}if(l)$h(l)}jb(a|0);return 0}function mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var 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,v=0,w=0;w=0;v=u;u=u+176|0;q=v+72|0;k=v+48|0;j=v+32|0;h=v+24|0;g=v+8|0;l=v;n=v+134|0;m=v+68|0;o=v+76|0;t=v+64|0;r=v+60|0;s=v+56|0;i=l;f[i>>2]=37;f[i+4>>2]=0;i=qF(l+1|0,57953,f[c+4>>2]|0)|0;f[m>>2]=n;a=$O()|0;if(i){f[g>>2]=f[c+8>>2];p[g+8>>3]=e;a=GL(n,30,a,l,g)|0}else{p[h>>3]=e;a=GL(n,30,a,l,h)|0}a:do if((a|0)>29){if(i){x=0;a=la(3)|0;k=x;x=0;if(!(k&1)){x=0;f[j>>2]=f[c+8>>2];p[j+8>>3]=e;a=ua(28,m|0,a|0,l|0,j|0)|0;l=x;x=0;if(!(l&1))w=12}}else{x=0;a=la(3)|0;j=x;x=0;if(!(j&1)){x=0;p[k>>3]=e;a=ua(28,m|0,a|0,l|0,k|0)|0;l=x;x=0;if(!(l&1))w=12}}do if((w|0)==12){g=f[m>>2]|0;if(!g){x=0;Ea(6);x=0;break}else{l=g;j=g;w=15;break a}}while(0);a=Ya()|0}else{l=0;j=f[m>>2]|0;w=15}while(0);if((w|0)==15){i=j+a|0;k=QH(j,i,c)|0;do if((j|0)==(n|0)){g=o;h=0;w=19}else{a=Rd(a<<1)|0;if(!a){x=0;Ea(6);x=0;a=Ya()|0;break}else{g=a;h=a;w=19;break}}while(0);if((w|0)==19){x=0;Ga(536,q|0,c|0);o=x;x=0;do if(o&1){a=Ya()|0;w=29}else{x=0;Ma(12,j|0,k|0,i|0,g|0,t|0,r|0,q|0);o=x;x=0;if(o&1){a=Ya()|0;uga(q);w=29;break}uga(q);f[s>>2]=f[b>>2];t=f[t>>2]|0;a=f[r>>2]|0;x=0;f[q>>2]=f[s>>2];a=ya(39,q|0,g|0,t|0,a|0,c|0,d|0)|0;d=x;x=0;if(d&1){a=Ya()|0;break}f[b>>2]=a;if(h|0)$h(h);if(l|0)$h(l);u=v;return a|0}while(0);if(h)$h(h)}if(l)$h(l)}jb(a|0);return 0}function nn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var 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,v=0,w=0;w=0;v=u;u=u+176|0;q=v+72|0;k=v+48|0;j=v+32|0;h=v+24|0;g=v+8|0;l=v;n=v+134|0;m=v+68|0;o=v+76|0;t=v+64|0;r=v+60|0;s=v+56|0;i=l;f[i>>2]=37;f[i+4>>2]=0;i=qF(l+1|0,89823,f[c+4>>2]|0)|0;f[m>>2]=n;a=$O()|0;if(i){f[g>>2]=f[c+8>>2];p[g+8>>3]=e;a=GL(n,30,a,l,g)|0}else{p[h>>3]=e;a=GL(n,30,a,l,h)|0}a:do if((a|0)>29){if(i){x=0;a=la(3)|0;k=x;x=0;if(!(k&1)){x=0;f[j>>2]=f[c+8>>2];p[j+8>>3]=e;a=ua(28,m|0,a|0,l|0,j|0)|0;l=x;x=0;if(!(l&1))w=12}}else{x=0;a=la(3)|0;j=x;x=0;if(!(j&1)){x=0;p[k>>3]=e;a=ua(28,m|0,a|0,l|0,k|0)|0;l=x;x=0;if(!(l&1))w=12}}do if((w|0)==12){g=f[m>>2]|0;if(!g){x=0;Ea(6);x=0;break}else{l=g;j=g;w=15;break a}}while(0);a=Ya()|0}else{l=0;j=f[m>>2]|0;w=15}while(0);if((w|0)==15){i=j+a|0;k=QH(j,i,c)|0;do if((j|0)==(n|0)){g=o;h=0;w=19}else{a=Rd(a<<1)|0;if(!a){x=0;Ea(6);x=0;a=Ya()|0;break}else{g=a;h=a;w=19;break}}while(0);if((w|0)==19){x=0;Ga(536,q|0,c|0);o=x;x=0;do if(o&1){a=Ya()|0;w=29}else{x=0;Ma(12,j|0,k|0,i|0,g|0,t|0,r|0,q|0);o=x;x=0;if(o&1){a=Ya()|0;uga(q);w=29;break}uga(q);f[s>>2]=f[b>>2];t=f[t>>2]|0;a=f[r>>2]|0;x=0;f[q>>2]=f[s>>2];a=ya(39,q|0,g|0,t|0,a|0,c|0,d|0)|0;d=x;x=0;if(d&1){a=Ya()|0;break}f[b>>2]=a;if(h|0)$h(h);if(l|0)$h(l);u=v;return a|0}while(0);if(h)$h(h)}if(l)$h(l)}jb(a|0);return 0}function on(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=0;l=u;u=u+112|0;j=l;d=l+104|0;e=l+96|0;k=l+56|0;o=l+48|0;n=l+40|0;qV(d,f[c+64>>2]|0);f[d>>2]=12372;i=f[d+4>>2]|0;x=0;i=sa(f[(f[i>>2]|0)+56>>2]|0,i|0,a|0)|0;m=x;x=0;if(m&1){p=Ya()|0;_P(d);jb(p|0)}_P(d);qV(e,f[c+72>>2]|0);f[e>>2]=12372;h=f[e+4>>2]|0;x=0;h=sa(f[(f[h>>2]|0)+56>>2]|0,h|0,a|0)|0;m=x;x=0;if(m&1){p=Ya()|0;_P(e);jb(p|0)}_P(e);m=VN(80)|0;a=k;d=c+12|0;g=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(g|0));x=0;a=qa(391,i|0)|0;i=x;x=0;if(i&1)p=16;else{x=0;Ga(462,o|0,a|0);i=x;x=0;if(i&1)p=16;else{f[o>>2]=12372;x=0;a=qa(391,h|0)|0;i=x;x=0;if(i&1)p=17;else{x=0;Ga(462,n|0,a|0);i=x;x=0;if(i&1)p=17;else{f[n>>2]=12372;e=f[c+76>>2]|0;a=j;d=k;g=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(g|0));x=0;Fa(427,m|0);k=x;x=0;if(k&1)a=Ya()|0;else{a=m+12|0;d=j;g=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(g|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;f[m+56>>2]=0;f[m>>2]=12388;a=m+60|0;x=0;Ga(462,a|0,f[o+4>>2]|0);k=x;x=0;do if(k&1)a=Ya()|0;else{f[a>>2]=12372;d=m+68|0;x=0;Ga(462,d|0,f[n+4>>2]|0);k=x;x=0;if(k&1){l=Ya()|0;_P(a);a=l;break}else{f[d>>2]=12372;f[m+76>>2]=e;_P(n);_P(o);u=l;return m|0}}while(0)}_P(n)}}if((p|0)==17)a=Ya()|0;_P(o)}}if((p|0)==16)a=Ya()|0;Hta(m);p=a;jb(p|0);return 0}function pn(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.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;o=u;u=u+128|0;c=o+80|0;n=o+72|0;s=o+56|0;i=o+16|0;q=o;f[s+8>>2]=0;r=s+11|0;b[r>>0]=7;b[s>>0]=b[40091]|0;b[s+1>>0]=b[40092]|0;b[s+2>>0]=b[40093]|0;b[s+3>>0]=b[40094]|0;b[s+4>>0]=b[40095]|0;b[s+5>>0]=b[40096]|0;b[s+6>>0]=b[40097]|0;b[s+7>>0]=0;k=i;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,q|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;k=c;l=i;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c=wa(28,s|0,a|0,e|0,c|0,q|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,n|0,c|0);h=x;x=0;if(!(h&1)){f[n>>2]=16744;c=f[q>>2]|0;if(c|0){l=q+4|0;i=f[l>>2]|0;if((i|0)!=(c|0)){do{k=i+-52|0;f[l>>2]=k;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=k}while((i|0)!=(c|0));c=f[q>>2]|0}Hta(c)}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);c=n+4|0;i=f[c>>2]|0;k=i+88|0;x=0;j=+fa(1,+(+p[k>>3]),f[(f[d+16>>2]|0)+4>>2]|0);s=x;x=0;if(s&1){s=Ya()|0;_P(n);jb(s|0)}f[i+100>>2]=0;p[k>>3]=j;c=f[c>>2]|0;k=c+12|0;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if(!c){s=0;_P(n);u=o;return s|0}b[c+8>>0]=1;s=c;_P(n);u=o;return s|0}}c=Ya()|0;m=I;i=f[q>>2]|0;if(i){a=q+4|0;k=f[a>>2]|0;if((k|0)!=(i|0)){do{l=k+-52|0;f[a>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[a>>2]|0}else k=l}while((k|0)!=(i|0));i=f[q>>2]|0}Hta(i)}}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);s=c;jb(s|0);return 0}function qn(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,t=0;s=0;t=u;u=u+16|0;r=t;q=Sk(a,c,d,g)|0;l=d+11|0;j=b[l>>0]|0;i=j<<24>>24<0;p=d+4|0;j=i?f[p>>2]|0:j&255;k=b[e+11>>0]|0;h=k<<24>>24<0;k=h?f[e+4>>2]|0:k&255;g=j>>>0>>0?j:k;if(!g)s=3;else{g=lO(h?f[e>>2]|0:e,i?f[d>>2]|0:d,g)|0;if(!g)s=3;else if((g|0)<0){g=e;m=d}else{s=q;u=t;return s|0}}do if((s|0)==3)if(k>>>0>>0){g=e;m=d;break}else{s=q;u=t;return s|0}while(0);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[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];k=q+1|0;n=c+11|0;e=b[n>>0]|0;j=e<<24>>24<0;o=c+4|0;e=j?f[o>>2]|0:e&255;i=b[l>>0]|0;h=i<<24>>24<0;i=h?f[p>>2]|0:i&255;g=e>>>0>>0?e:i;if(!g)s=8;else{g=lO(h?f[d>>2]|0:m,j?f[c>>2]|0:c,g)|0;if(!g)s=8;else if((g|0)<0)l=c;else{s=k;u=t;return s|0}}do if((s|0)==8)if(i>>>0>>0){l=c;break}else{s=k;u=t;return s|0}while(0);f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];f[r+8>>2]=f[l+8>>2];f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];f[m>>2]=f[r>>2];f[m+4>>2]=f[r+4>>2];f[m+8>>2]=f[r+8>>2];k=q+2|0;e=b[a+11>>0]|0;j=e<<24>>24<0;e=j?f[a+4>>2]|0:e&255;i=b[n>>0]|0;h=i<<24>>24<0;i=h?f[o>>2]|0:i&255;g=e>>>0>>0?e:i;if(!g)s=13;else{g=lO(h?f[c>>2]|0:l,j?f[a>>2]|0:a,g)|0;if(!g)s=13;else if((g|0)>=0){s=k;u=t;return s|0}}do if((s|0)==13)if(i>>>0>>0)break;else{s=k;u=t;return s|0}while(0);f[r>>2]=f[a>>2];f[r+4>>2]=f[a+4>>2];f[r+8>>2]=f[a+8>>2];f[a>>2]=f[l>>2];f[a+4>>2]=f[l+4>>2];f[a+8>>2]=f[l+8>>2];f[l>>2]=f[r>>2];f[l+4>>2]=f[r+4>>2];f[l+8>>2]=f[r+8>>2];s=q+3|0;u=t;return s|0}function rn(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;n=0;o=u;u=u+16|0;p=o;if(!c){u=o;return}else d=c;a:while(1){switch(b[d>>0]|0){case 0:break a;case 58:{n=4;break a}default:{}}d=d+1|0}b:do if((n|0)==4){m=p+11|0;j=p+4|0;k=a+368|0;l=a+372|0;h=a+364|0;i=p+8|0;c:while(1){g=d-c|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(g>>>0>4294967279){n=6;break}if(g>>>0<11){b[m>>0]=g;if(!g)c=p;else{e=p;n=10}}else{n=g+16&-16;e=VN(n)|0;f[p>>2]=e;f[i>>2]=n|-2147483648;f[j>>2]=g;n=10}if((n|0)==10){n=0;Lu(e|0,c|0,g|0)|0;c=e}b[c+g>>0]=0;g=b[m>>0]|0;do if((g<<24>>24<0?f[j>>2]|0:g&255)|0){c=f[k>>2]|0;if((c|0)==(f[l>>2]|0)){x=0;Ga(515,h|0,p|0);g=x;x=0;if(g&1)break c;else break}x=0;Ga(459,c|0,p|0);g=x;x=0;if(g&1)break c;f[k>>2]=(f[k>>2]|0)+12}while(0);c=d+1|0;d=c;d:while(1){e=b[d>>0]|0;switch(e<<24>>24){case 0:case 58:break d;default:{}}d=d+1|0}if((b[m>>0]|0)<0)Hta(f[p>>2]|0);if(!(e<<24>>24))break b}if((n|0)==6)CO(p);d=Ya()|0;if((b[m>>0]|0)<0)Hta(f[p>>2]|0);p=d;jb(p|0)}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;g=hL(c)|0;if(g>>>0>4294967279)CO(p);if(g>>>0<11){e=p+11|0;b[e>>0]=g;if(!g)d=p;else{d=p;n=30}}else{e=g+16&-16;d=VN(e)|0;f[p>>2]=d;f[p+8>>2]=e|-2147483648;f[p+4>>2]=g;e=p+11|0;n=30}if((n|0)==30)Lu(d|0,c|0,g|0)|0;b[d+g>>0]=0;n=b[e>>0]|0;do if((n<<24>>24<0?f[p+4>>2]|0:n&255)|0){d=a+368|0;c=f[d>>2]|0;if((c|0)==(f[a+372>>2]|0)){x=0;Ga(515,a+364|0,p|0);a=x;x=0;if(!(a&1))break}else{x=0;Ga(459,c|0,p|0);a=x;x=0;if(!(a&1)){f[d>>2]=(f[d>>2]|0)+12;break}}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[p>>2]|0);p=d;jb(p|0)}while(0);if((b[e>>0]|0)<0)Hta(f[p>>2]|0);u=o;return}function sn(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;k=a+4|0;i=f[b>>2]|0;b=i;if((i|0)!=(k|0)){j=f[e>>2]|0;g=f[i+16>>2]|0;if((iO(j,g)|0)>=0){if((iO(g,j)|0)>=0){f[c>>2]=b;f[d>>2]=b;c=d;return c|0}h=i+4|0;g=f[h>>2]|0;if(!g){d=i+8|0;g=f[d>>2]|0;if((f[g>>2]|0)!=(i|0))do{e=f[d>>2]|0;d=e+8|0;g=f[d>>2]|0}while((f[g>>2]|0)!=(e|0))}else while(1){d=f[g>>2]|0;if(!d)break;else g=d}if((g|0)!=(k|0))if((iO(j,f[g+16>>2]|0)|0)>=0){b=f[k>>2]|0;if(!b){f[c>>2]=k;c=k;return c|0}d=a+4|0;while(1){g=f[b+16>>2]|0;if((iO(j,g)|0)<0){g=f[b>>2]|0;if(!g){e=39;break}else{d=b;b=g}}else{if((iO(g,j)|0)>=0){e=43;break}d=b+4|0;g=f[d>>2]|0;if(!g){e=42;break}else b=g}}if((e|0)==39){f[c>>2]=b;c=b;return c|0}else if((e|0)==42){f[c>>2]=b;c=d;return c|0}else if((e|0)==43){f[c>>2]=b;c=d;return c|0}}if(!(f[i+4>>2]|0)){f[c>>2]=b;c=h;return c|0}else{f[c>>2]=g;c=g;return c|0}}}d=f[i>>2]|0;if((f[a>>2]|0)!=(i|0)){if(!d){g=i;while(1){b=f[g+8>>2]|0;if((f[b>>2]|0)==(g|0))g=b;else break}}else{b=d;while(1){g=f[b+4>>2]|0;if(!g)break;else b=g}}e=f[e>>2]|0;if((iO(f[b+16>>2]|0,e)|0)>=0){b=f[k>>2]|0;if(!b){f[c>>2]=k;c=k;return c|0}d=a+4|0;while(1){g=f[b+16>>2]|0;if((iO(e,g)|0)<0){g=f[b>>2]|0;if(!g){e=17;break}else{d=b;b=g}}else{if((iO(g,e)|0)>=0){e=21;break}d=b+4|0;g=f[d>>2]|0;if(!g){e=20;break}else b=g}}if((e|0)==17){f[c>>2]=b;c=b;return c|0}else if((e|0)==20){f[c>>2]=b;c=d;return c|0}else if((e|0)==21){f[c>>2]=b;c=d;return c|0}}}if(!d){f[c>>2]=i;c=i;return c|0}else{f[c>>2]=b;c=b+4|0;return c|0}return 0}function tn(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;p=u;u=u+80|0;q=p+32|0;l=p+24|0;m=p+16|0;n=p+8|0;g=p;o=VN(112)|0;x=0;c=q;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Ia(84,o|0,q|0,0);k=x;x=0;if(k&1){q=Ya()|0;Hta(o);jb(q|0)}if(b|0){k=b+72|0;j=(f[b+80>>2]|0)-(f[b+76>>2]|0)>>3;if(j|0){g=q+4|0;h=m+4|0;i=o+72|0;b=0;while(1){qV(q,vc[f[(f[a>>2]|0)+16>>2]&511](a)|0);f[q>>2]=15556;d=f[g>>2]|0;x=0;c=sa(f[(f[k>>2]|0)+16>>2]|0,k|0,b|0)|0;e=x;x=0;if(e&1){d=15;break}x=0;Ga(462,m|0,f[c+4>>2]|0);e=x;x=0;if(e&1){d=15;break}f[m>>2]=15556;f[d+68>>2]=0;e=d+84|0;c=d+88|0;if(f[c>>2]|0){x=0;Fa(429,e|0);d=x;x=0;if(d&1){d=16;break}}f[c>>2]=f[h>>2];x=0;Fa(430,e|0);e=x;x=0;if(e&1){d=16;break}x=0;Ga(462,l|0,f[c>>2]|0);e=x;x=0;if(e&1){d=16;break}f[l>>2]=15556;_P(l);_P(m);c=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,n|0,f[g>>2]|0);e=x;x=0;if(e&1){d=15;break}f[n>>2]=15556;x=0;Ga(c|0,i|0,n|0);e=x;x=0;if(e&1){d=17;break}_P(n);_P(q);b=b+1|0;if(b>>>0>=j>>>0){d=22;break}}if((d|0)==15)c=Ya()|0;else if((d|0)==16){c=Ya()|0;_P(m)}else if((d|0)==17){c=Ya()|0;_P(n)}else if((d|0)==22){u=p;return o|0}_P(q);q=c;jb(q|0)}}q=o+72|0;n=f[(f[q>>2]|0)+20>>2]|0;qV(g,a);f[g>>2]=15556;x=0;Ga(n|0,q|0,g|0);q=x;x=0;if(q&1){q=Ya()|0;_P(g);jb(q|0)}else{_P(g);u=p;return o|0}return 0}function un(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;if(!a){f=0;return f|0}d=b[52202]|0;a:do if(!(d<<24>>24)){c=a;f=5}else{c=a;e=52202;while(1){if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=5;break}}}while(0);if((f|0)==5){c=sR(c)|0;if(c|0){f=c;return f|0}}d=b[52181]|0;b:do if(!(d<<24>>24)){c=a;f=9}else{c=a;e=52181;while(1){if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=9;break}}}while(0);if((f|0)==9){c=sR(c)|0;if(c|0){f=c;return f|0}}d=b[49974]|0;c:do if(!(d<<24>>24)){c=a;f=13}else{c=a;e=49974;while(1){if((b[c>>0]|0)!=d<<24>>24)break c;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=13;break}}}while(0);if((f|0)==13){c=sR(c)|0;if(c|0){f=c;return f|0}}d=b[52139]|0;d:do if(!(d<<24>>24)){c=a;f=17}else{c=a;e=52139;while(1){if((b[c>>0]|0)!=d<<24>>24)break d;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=17;break}}}while(0);if((f|0)==17){c=sR(c)|0;if(c|0){f=c;return f|0}}d=b[52219]|0;e:do if(!(d<<24>>24)){c=a;f=21}else{c=a;e=52219;while(1){if((b[c>>0]|0)!=d<<24>>24)break e;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=21;break}}}while(0);if((f|0)==21){c=sR(c)|0;if(c|0){f=c;return f|0}}d=b[36271]|0;f:do if(!(d<<24>>24)){c=a;f=25}else{c=a;e=36271;while(1){if((b[c>>0]|0)!=d<<24>>24)break f;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=25;break}}}while(0);if((f|0)==25){c=sR(c)|0;if(c|0){f=c;return f|0}}c=b[52132]|0;g:do if(c<<24>>24){d=52132;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break g}return a|0}while(0);f=sR(a)|0;return f|0}function vn(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;l=u;u=u+112|0;j=l;g=l+64|0;n=l+52|0;m=l+40|0;k=g;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));ND(n,e);x=0;Ga(511,m|0,d|0);k=x;x=0;if(k&1)c=Ya()|0;else{k=j;c=g;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));x=0;Ga(538,a|0,n|0);k=x;x=0;if(k&1){c=Ya()|0;i=I}else{f[a>>2]=16212;e=a+8|0;x=0;Ga(459,e|0,n|0);k=x;x=0;do if(k&1){c=Ya()|0;d=I}else{g=a+20|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=5;b[g>>0]=b[53005]|0;b[g+1>>0]=b[53006]|0;b[g+2>>0]=b[53007]|0;b[g+3>>0]=b[53008]|0;b[g+4>>0]=b[53009]|0;b[g+5>>0]=0;k=a+32|0;c=j;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));x=0;Ga(511,a+72|0,m|0);k=x;x=0;if(k&1){c=Ya()|0;d=I;if((b[h>>0]|0)<0)Hta(f[g>>2]|0);if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}c=f[m>>2]|0;if(c|0){g=m+4|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n+11>>0]|0)>=0){f[a>>2]=21116;u=l;return}Hta(f[n>>2]|0);f[a>>2]=21116;u=l;return}while(0);dfa(a);i=d}d=f[m>>2]|0;if(d){h=m+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(d|0));d=f[m>>2]|0}Hta(d)}}if((b[n+11>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0)}function wn(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;k=u;u=u+64|0;j=k;l=k+40|0;h=(Dv(c,a)|0)+4|0;h=f[h>>2]|0;if(h|0)if((f[249]|0)==(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0)){l=h;u=k;return l|0}h=(Dv(c,a)|0)+4|0;h=Dca(f[h>>2]|0)|0;if(h|0)if((f[h+68>>2]|0)==(f[h+64>>2]|0)){a=VN(108)|0;i=j;h=e;g=i+40|0;do{f[i>>2]=f[h>>2];i=i+4|0;h=h+4|0}while((i|0)<(g|0));x=0;Fa(427,a|0);l=x;x=0;do if(l&1)h=Ya()|0;else{i=a+12|0;h=j;g=i+40|0;do{f[i>>2]=f[h>>2];i=i+4|0;h=h+4|0}while((i|0)<(g|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;h=a+56|0;f[h>>2]=0;f[a>>2]=6516;g=a+60|0;x=0;Ga(560,g|0,0);l=x;x=0;if(l&1){h=Ya()|0;break}f[a>>2]=9700;f[g>>2]=9828;f[h>>2]=6;l=a;u=k;return l|0}while(0);Hta(a);l=h;jb(l|0)}Gv(l,g);x=0;i=j;h=e;g=i+40|0;do{f[i>>2]=f[h>>2];i=i+4|0;h=h+4|0}while((i|0)<(g|0));e=wa(23,a|0,c|0,d|0,j|0,l|0)|0;d=x;x=0;if(d&1){j=Ya()|0;i=I;h=f[l>>2]|0;if(!h){l=j;jb(l|0)}e=l+4|0;g=f[e>>2]|0;if((g|0)!=(h|0)){do{a=g+-52|0;f[e>>2]=a;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[e>>2]|0}else g=a}while((g|0)!=(h|0));h=f[l>>2]|0}Hta(h);l=j;jb(l|0)}else{h=f[l>>2]|0;if(!h){l=e;u=k;return l|0}i=l+4|0;g=f[i>>2]|0;if((g|0)!=(h|0)){do{a=g+-52|0;f[i>>2]=a;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=a}while((g|0)!=(h|0));h=f[l>>2]|0}Hta(h);l=e;u=k;return l|0}return 0} +function KB(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;i=u;u=u+416|0;c=i+8|0;d=i;f[d>>2]=c+400;cA(a+8|0,c,d,e,g,h);h=f[d>>2]|0;g=c;c=f[b>>2]|0;while(1){if((g|0)==(h|0))break;d=f[g>>2]|0;if(!c)c=0;else{a=c+24|0;e=f[a>>2]|0;if((e|0)==(f[c+28>>2]|0)){b=f[(f[c>>2]|0)+52>>2]|0;d=mra(d)|0;d=xc[b&2047](c,d)|0}else{f[a>>2]=e+4;f[e>>2]=d;d=mra(d)|0}b=vja(d,Jta()|0)|0;c=b?0:c}g=g+4|0}u=i;return c|0}function LB(a){a=a|0;var c=0,d=0;if(!(R5(a)|0))c=0;else{d=a+1|0;if(!(R5(d)|0)){c=1;a=d}else{d=a+2|0;if(!(R5(d)|0)){c=2;a=d}else{d=a+3|0;if(!(R5(d)|0)){c=3;a=d}else{d=a+4|0;if(!(R5(d)|0)){c=4;a=d}else{d=a+5|0;if(!(R5(d)|0)){c=5;a=d}else{d=a+6|0;c=6;c=(c|0)!=0;d=c?d:0;return d|0}}}}}}while(1){if((b[a>>0]|0)!=63){d=6;break}a=a+1|0;c=c+1|0;if(c>>>0>=6){d=6;break}}if((d|0)==6){d=(c|0)!=0;d=d?a:0;return d|0}return 0}function MB(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;j=u;u=u+112|0;d=j+4|0;e=j;f[e>>2]=d+100;wI(a+8|0,d,e,g,h,i);i=f[e>>2]|0;h=d;d=f[c>>2]|0;while(1){if((h|0)==(i|0))break;e=b[h>>0]|0;if(!d)d=0;else{a=d+24|0;g=f[a>>2]|0;if((g|0)==(f[d+28>>2]|0)){c=f[(f[d>>2]|0)+52>>2]|0;e=mqa(e)|0;e=xc[c&2047](d,e)|0}else{f[a>>2]=g+1;b[g>>0]=e;e=mqa(e)|0}c=wja(e,Kta()|0)|0;d=c?0:d}h=h+1|0}u=j;return d|0}function NB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=32768){k=0;return k|0}e=a+60|0;i=c+60|0;d=b[e+11>>0]|0;k=d<<24>>24<0;d=d&255;j=k?f[a+64>>2]|0:d;h=b[i+11>>0]|0;a=h<<24>>24<0;if((j|0)!=((a?f[c+64>>2]|0:h&255)|0)){k=0;return k|0}g=f[e>>2]|0;h=k?g:e;a=a?f[i>>2]|0:i;c=(j|0)==0;if(k){if(c){k=1;return k|0}k=(lO(h,a,j)|0)==0;return k|0}if(c){k=1;return k|0}if((b[a>>0]|0)!=(g&255)<<24>>24){k=0;return k|0}while(1){d=d+-1|0;e=e+1|0;if(!d){a=1;d=10;break}a=a+1|0;if((b[e>>0]|0)!=(b[a>>0]|0)){a=0;d=10;break}}if((d|0)==10)return a|0;return 0}function OB(a){a=a|0;var c=0;c=WF(a)|0;if(!c){c=0;return c|0}a=XF(c)|0;if(!a){if((b[c>>0]|0)==45)a=c;else return c|0;do a=a+1|0;while((b[a>>0]|0)==45);a=WF(a)|0;if(!a)return c|0}while(1){c=XF(a)|0;if(c|0){a=c;continue}if((b[a>>0]|0)==45)c=a;else{c=10;break}do c=c+1|0;while((b[c>>0]|0)==45);c=WF(c)|0;if(!c){c=10;break}else a=c}if((c|0)==10)return a|0;return 0}function PB(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(88)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;c=g+56|0;f[g>>2]=11536;f[c>>2]=4;d=g+60|0;f[d>>2]=9660;x=0;Ga(471,g+64|0,a+64|0);e=x;x=0;if(!(e&1)){f[g+76>>2]=f[a+76>>2];f[g>>2]=11364;f[d>>2]=11496;b[g+80>>0]=b[a+80>>0]|0;f[g+84>>2]=f[a+84>>2];f[c>>2]=4;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function QB(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;switch(f[a>>2]|0){case 8:{$h(f[a+4>>2]|0);break}case 7:{$h(f[a+4>>2]|0);break}case 1:{$h(f[a+16>>2]|0);break}case 5:{e=a+4|0;d=a+8|0;b=f[d>>2]|0;if(f[e>>2]|0){c=0;do{QB(f[b+(c<<3)>>2]|0);QB(f[(f[d>>2]|0)+(c<<3)+4>>2]|0);c=c+1|0;b=f[d>>2]|0}while(c>>>0<(f[e>>2]|0)>>>0)}$h(b);break}case 3:{$h(f[a+8>>2]|0);break}case 4:{d=a+12|0;e=a+16|0;b=f[e>>2]|0;if(f[d>>2]|0){c=0;do{QB(f[b+(c<<2)>>2]|0);c=c+1|0;b=f[e>>2]|0}while(c>>>0<(f[d>>2]|0)>>>0)}$h(b);break}default:{}}$h(a);return}function RB(a){a=a|0;var b=0,c=0,d=0;if(!a)return;sS(f[a+68>>2]|0);VT(f[a+72>>2]|0);VT(f[a+76>>2]|0);b=f[a+56>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;$h(f[c+4>>2]|0);$h(c)}while((b|0)!=0);b=f[a+52>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;$h(f[c+4>>2]|0);$h(c)}while((b|0)!=0);b=f[a+48>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;$h(f[c+4>>2]|0);$h(c)}while((b|0)!=0);d=a+28|0;$h(f[d>>2]|0);c=a+32|0;$h(f[c>>2]|0);$h(f[a+44>>2]|0);b=a+40|0;$h(f[b>>2]|0);$h(f[a+60>>2]|0);$h(f[a+64>>2]|0);f[d>>2]=0;f[c>>2]=0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function SB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=7072;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else{f[d>>2]=7168;b[a+80>>0]=b[c+80>>0]|0;f[e>>2]=1;return}}function TB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!(Xp(a,c)|0)){k=0;return k|0}e=a+84|0;i=c+84|0;d=b[e+11>>0]|0;k=d<<24>>24<0;d=d&255;j=k?f[a+88>>2]|0:d;h=b[i+11>>0]|0;a=h<<24>>24<0;if((j|0)!=((a?f[c+88>>2]|0:h&255)|0)){k=0;return k|0}g=f[e>>2]|0;h=k?g:e;a=a?f[i>>2]|0:i;c=(j|0)==0;if(k){if(c){k=1;return k|0}k=(lO(h,a,j)|0)==0;return k|0}if(c){k=1;return k|0}if((b[a>>0]|0)!=(g&255)<<24>>24){k=0;return k|0}while(1){d=d+-1|0;e=e+1|0;if(!d){a=1;d=10;break}a=a+1|0;if((b[e>>0]|0)!=(b[a>>0]|0)){a=0;d=10;break}}if((d|0)==10)return a|0;return 0}function UB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=b+4|0;c=(f[g>>2]|0)-(f[b>>2]|0)|0;d=(c|0)/24|0;if(!c)return;if(d>>>0>178956970){x=0;Fa(426,a|0);x=0}else{x=0;e=qa(318,c|0)|0;c=x;x=0;if(!(c&1)){f[h>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(d*24|0);b=f[b>>2]|0;c=(f[g>>2]|0)-b|0;if((c|0)<=0)return;Lu(e|0,b|0,c|0)|0;f[h>>2]=e+(((c>>>0)/24|0)*24|0);return}}d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[h>>2]|0;if((b|0)!=(c|0))f[h>>2]=b+(~(((b+-24-c|0)>>>0)/24|0)*24|0);Hta(c);jb(d|0)}function VB(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=0;i=u;u=u+16|0;g=i;b=a+-60|0;e=b+84|0;a=f[e>>2]|0;if(a|0){h=a;u=i;return h|0}a=f[b+64>>2]|0;d=f[b+68>>2]|0;if((a|0)==(d|0)){h=0;u=i;return h|0}c=g+4|0;do{qV(g,f[a+4>>2]|0);f[g>>2]=7696;b=f[c>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;j=x;x=0;if(j&1){h=6;break}j=f[e>>2]|0;f[e>>2]=b+-1640531527+(j<<6)+(j>>>2)^j;_P(g);a=a+8|0}while((a|0)!=(d|0));if((h|0)==6){j=Ya()|0;_P(g);jb(j|0)}j=f[e>>2]|0;u=i;return j|0}function WB(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;b=f[a+76>>2]|0;c=f[a+80>>2]|0;if((b|0)==(c|0)){e=0;u=g;return e|0}d=e+4|0;while(1){qV(e,f[b+4>>2]|0);f[e>>2]=13852;a=f[d>>2]|0;if(a|0){x=0;a=qa(f[(f[a>>2]|0)+128>>2]|0,a|0)|0;h=x;x=0;if(h&1){b=6;break}if(a){b=7;break}}_P(e);b=b+8|0;if((b|0)==(c|0)){a=0;b=9;break}}if((b|0)==6){h=Ya()|0;_P(e);jb(h|0)}else if((b|0)==7){_P(e);h=1;u=g;return h|0}else if((b|0)==9){u=g;return a|0}return 0}function XB(a){a=a|0;var b=0,c=0;b=a+4|0;a=f[b>>2]|0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;do if(f[a+24>>2]|0)if(!(f[a+16>>2]|0))if(f[a+4>>2]&8192|0)if(!(Qa()|0)){a=f[b>>2]|0;a=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+24>>2]|0,a|0)|0;c=x;x=0;if(!(c&1)){if((a|0)!=-1)break;c=f[b>>2]|0;c=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,c|0,f[c+16>>2]|1|0);c=x;x=0;if(!(c&1))break}c=Za(0)|0;Ua(c|0)|0;x=0;Ea(4);c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}}while(0);return}function YB(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;b=f[a+76>>2]|0;c=f[a+80>>2]|0;if((b|0)==(c|0)){e=0;u=g;return e|0}d=e+4|0;while(1){qV(e,f[b+4>>2]|0);f[e>>2]=15556;a=f[d>>2]|0;if(a|0){x=0;a=qa(f[(f[a>>2]|0)+128>>2]|0,a|0)|0;h=x;x=0;if(h&1){b=6;break}if(a){b=7;break}}_P(e);b=b+8|0;if((b|0)==(c|0)){a=0;b=9;break}}if((b|0)==6){h=Ya()|0;_P(e);jb(h|0)}else if((b|0)==7){_P(e);h=1;u=g;return h|0}else if((b|0)==9){u=g;return a|0}return 0}function ZB(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;b=f[a+76>>2]|0;c=f[a+80>>2]|0;if((b|0)==(c|0)){e=0;u=g;return e|0}d=e+4|0;while(1){qV(e,f[b+4>>2]|0);f[e>>2]=13852;a=f[d>>2]|0;if(a|0){x=0;a=qa(f[(f[a>>2]|0)+124>>2]|0,a|0)|0;h=x;x=0;if(h&1){b=6;break}if(a){b=7;break}}_P(e);b=b+8|0;if((b|0)==(c|0)){a=0;b=9;break}}if((b|0)==6){h=Ya()|0;_P(e);jb(h|0)}else if((b|0)==7){_P(e);h=1;u=g;return h|0}else if((b|0)==9){u=g;return a|0}return 0}function _B(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=u;u=u+16|0;i=m+8|0;j=m+4|0;k=m;l=a+11|0;h=b[l>>0]|0;if(h<<24>>24<0){g=f[a>>2]|0;f[k>>2]=g;d=g;e=f[a+4>>2]|0}else{f[k>>2]=a;d=a;e=h&255;g=a}e=d+e|0;if(!c){j=h;k=g;j=j<<24>>24<0;l=f[a>>2]|0;l=j?l:a;l=k-l|0;u=m;return l|0}d=0;do{f[j>>2]=e;f[i>>2]=f[j>>2];zD(k,i)|0;d=d+1|0}while((d|0)!=(c|0));j=b[l>>0]|0;k=f[k>>2]|0;j=j<<24>>24<0;l=f[a>>2]|0;l=j?l:a;l=k-l|0;u=m;return l|0}function $B(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;b=f[a+76>>2]|0;c=f[a+80>>2]|0;if((b|0)==(c|0)){e=0;u=g;return e|0}d=e+4|0;while(1){qV(e,f[b+4>>2]|0);f[e>>2]=15556;a=f[d>>2]|0;if(a|0){x=0;a=qa(f[(f[a>>2]|0)+124>>2]|0,a|0)|0;h=x;x=0;if(h&1){b=6;break}if(a){b=7;break}}_P(e);b=b+8|0;if((b|0)==(c|0)){a=0;b=9;break}}if((b|0)==6){h=Ya()|0;_P(e);jb(h|0)}else if((b|0)==7){_P(e);h=1;u=g;return h|0}else if((b|0)==9){u=g;return a|0}return 0}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+8|0;g=d;f[g>>2]=b;hs(e,a,b,87748,g,d+16|0);b=f[e>>2]|0;a=b+28|0;b=b+32|0;if(!(f[b>>2]|0)){g=c+4|0;g=f[g>>2]|0;f[b>>2]=g;EX(a);u=d;return}vQ(a);g=c+4|0;g=f[g>>2]|0;f[b>>2]=g;EX(a);u=d;return}function bC(a){a=a|0;a=a+72|0;if(!(FO(a,49278)|0)){a=1;return a|0}if(!(FO(a,49297)|0)){a=1;return a|0}if(!(FO(a,49313)|0)){a=1;return a|0}if(!(FO(a,49327)|0)){a=1;return a|0}if(!(FO(a,31440)|0)){a=1;return a|0}if(!(FO(a,31455)|0)){a=1;return a|0}if(!(FO(a,31467)|0)){a=1;return a|0}a=(FO(a,49974)|0)==0;return a|0}function cC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;g=0;ND(a,c);i=a+11|0;c=b[i>>0]|0;e=c<<24>>24<0;if(e){d=f[a>>2]|0;c=f[a+4>>2]|0}else{d=a;c=c&255}c=d+c|0;while(1){if((c|0)==(d|0))break;c=c+-1|0;if(!(HB(52998,h[c>>0]|0,6)|0)){g=7;break}}if((g|0)==7){c=c-d|0;if((c|0)!=-1){x=0;ta(40,a|0,c+1|0,-1)|0;g=x;x=0;if(!(g&1))return;c=Ya()|0;if((b[i>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}}if(e){b[f[a>>2]>>0]=0;f[a+4>>2]=0;return}else{b[a>>0]=0;b[i>>0]=0;return}}function dC(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16984;c=a+64|0;d=f[c>>2]|0;do if(d|0){x=0;qa(246,a|0)|0;e=x;x=0;if(e&1){e=Za(0)|0;aH(d)|0;Ua(e|0)|0;x=0;Ea(4);e=x;x=0;if(!(e&1))break;e=Za(0)|0;Bca(a);soa(e)}else{if(aH(d)|0)break;f[c>>2]=0;break}}while(0);if(b[a+96>>0]|0){c=f[a+32>>2]|0;if(c|0)zta(c)}if(!(b[a+97>>0]|0)){Bca(a);return}c=f[a+56>>2]|0;if(!c){Bca(a);return}zta(c);Bca(a);return}function eC(a,b){a=a|0;b=b|0;var c=0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){b=xc[f[(f[a>>2]|0)+132>>2]&2047](a,b)|0;return b|0}c=Yaa(b)|0;if(c|0){b=xc[f[(f[a>>2]|0)+132>>2]&2047](a,c)|0;return b|0}c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==33824){b=xc[f[(f[a>>2]|0)+132>>2]&2047](a,b)|0;return b|0}if((c|0)==33850){b=xc[f[(f[a>>2]|0)+160>>2]&2047](a,b)|0;return b|0}c=Ta(8)|0;x=0;Ga(496,c|0,33877);b=x;x=0;if(b&1){b=Ya()|0;bb(c|0);jb(b|0)}else fb(c|0,6176,414);return 0}function fC(a,b){a=a|0;b=b|0;var c=0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){b=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return b|0}c=Yaa(b)|0;if(c|0){b=xc[f[(f[a>>2]|0)+136>>2]&2047](a,c)|0;return b|0}c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==33824){b=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return b|0}if((c|0)==33850){b=xc[f[(f[a>>2]|0)+164>>2]&2047](a,b)|0;return b|0}c=Ta(8)|0;x=0;Ga(496,c|0,33877);b=x;x=0;if(b&1){b=Ya()|0;bb(c|0);jb(b|0)}else fb(c|0,6176,414);return 0}function gC(a,b){a=a|0;b=b|0;var c=0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){b=xc[f[(f[a>>2]|0)+132>>2]&2047](a,b)|0;return b|0}c=Yaa(b)|0;if(c|0){b=xc[f[(f[a>>2]|0)+132>>2]&2047](a,c)|0;return b|0}c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==33824){b=xc[f[(f[a>>2]|0)+156>>2]&2047](a,b)|0;return b|0}if((c|0)==33850){b=xc[f[(f[a>>2]|0)+132>>2]&2047](a,b)|0;return b|0}c=Ta(8)|0;x=0;Ga(496,c|0,33877);b=x;x=0;if(b&1){b=Ya()|0;bb(c|0);jb(b|0)}else fb(c|0,6176,414);return 0}function hC(a,b){a=a|0;b=b|0;var c=0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){b=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return b|0}c=Yaa(b)|0;if(c|0){b=xc[f[(f[a>>2]|0)+136>>2]&2047](a,c)|0;return b|0}c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==33824){b=xc[f[(f[a>>2]|0)+160>>2]&2047](a,b)|0;return b|0}if((c|0)==33850){b=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return b|0}c=Ta(8)|0;x=0;Ga(496,c|0,33877);b=x;x=0;if(b&1){b=Ya()|0;bb(c|0);jb(b|0)}else fb(c|0,6176,414);return 0}function iC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;g=0;ND(a,c);i=a+11|0;c=b[i>>0]|0;e=c<<24>>24<0;if(e){d=f[a>>2]|0;c=f[a+4>>2]|0}else{d=a;c=c&255}c=d+c|0;while(1){if((c|0)==(d|0))break;c=c+-1|0;if(!(HB(52998,h[c>>0]|0,6)|0)){g=7;break}}if((g|0)==7){c=c-d|0;if((c|0)!=-1){x=0;ta(40,a|0,c+1|0,-1)|0;g=x;x=0;if(!(g&1))return;c=Ya()|0;if((b[i>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}}if(e){b[f[a>>2]>>0]=0;f[a+4>>2]=0;return}else{b[a>>0]=0;b[i>>0]=0;return}}function jC(a){a=a|0;var c=0,d=0,e=0,g=0;e=u;u=u+16|0;d=e+8|0;c=e;if(b[a+54>>0]|0){d=1;u=e;return d|0}a=a+80|0;qV(d,f[a>>2]|0);f[d>>2]=7696;do if(!(f[d+4>>2]|0))a=0;else{x=0;Ga(462,c|0,f[a>>2]|0);a=x;x=0;if(a&1){e=Ya()|0;_P(d);jb(e|0)}f[c>>2]=7696;a=f[c+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+112>>2]|0,a|0)|0;g=x;x=0;if(!(g&1)){_P(c);break}g=Ya()|0;_P(c);_P(d);jb(g|0)}while(0);_P(d);g=a;u=e;return g|0}function kC(a){a=a|0;var c=0,d=0,e=0,g=0;e=u;u=u+16|0;d=e+8|0;c=e;if(b[a+54>>0]|0){d=1;u=e;return d|0}a=a+72|0;qV(d,f[a>>2]|0);f[d>>2]=7696;do if(!(f[d+4>>2]|0))a=0;else{x=0;Ga(462,c|0,f[a>>2]|0);a=x;x=0;if(a&1){e=Ya()|0;_P(d);jb(e|0)}f[c>>2]=7696;a=f[c+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+108>>2]|0,a|0)|0;g=x;x=0;if(!(g&1)){_P(c);break}g=Ya()|0;_P(c);_P(d);jb(g|0)}while(0);_P(d);g=a;u=e;return g|0}function lC(a,b){a=a|0;b=b|0;var c=0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){b=xc[f[(f[a>>2]|0)+84>>2]&2047](a,b)|0;return b|0}c=Yaa(b)|0;if(c|0){b=xc[f[(f[a>>2]|0)+84>>2]&2047](a,c)|0;return b|0}c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==33824){b=xc[f[(f[a>>2]|0)+84>>2]&2047](a,b)|0;return b|0}if((c|0)==33850){b=xc[f[(f[a>>2]|0)+84>>2]&2047](a,b)|0;return b|0}c=Ta(8)|0;x=0;Ga(496,c|0,33877);b=x;x=0;if(b&1){b=Ya()|0;bb(c|0);jb(b|0)}else fb(c|0,6176,414);return 0}function mC(a,b){a=a|0;b=b|0;var c=0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){b=xc[f[(f[a>>2]|0)+88>>2]&2047](a,b)|0;return b|0}c=Yaa(b)|0;if(c|0){b=xc[f[(f[a>>2]|0)+88>>2]&2047](a,c)|0;return b|0}c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==33824){b=xc[f[(f[a>>2]|0)+88>>2]&2047](a,b)|0;return b|0}if((c|0)==33850){b=xc[f[(f[a>>2]|0)+88>>2]&2047](a,b)|0;return b|0}c=Ta(8)|0;x=0;Ga(496,c|0,33877);b=x;x=0;if(b&1){b=Ya()|0;bb(c|0);jb(b|0)}else fb(c|0,6176,414);return 0}function nC(a){a=a|0;var c=0,d=0,e=0;if((b[a>>0]|0)!=92){d=0;return d|0}c=a+1|0;d=KG(c)|0;if(!d){if((b[a>>0]|0)!=92){d=0;return d|0}a=Vla(c)|0;if(a|0){d=a;return d|0}d=Uda(c)|0;return d|0}else{a=H2(d)|0;if(!a){e=b[d>>0]|0;a=d+1|0;c=e<<24>>24|0;a=(c|0)!=10&(e|4)<<24>>24!=13?((c|0)==12?a:0):a;if(!a){e=d;return e|0}}while(1){c=H2(a)|0;if(c|0){a=c;continue}d=b[a>>0]|0;c=a+1|0;e=d<<24>>24|0;c=(e|0)!=10&(d|4)<<24>>24!=13?((e|0)==12?c:0):c;if(!c)break;else a=c}return a|0}return 0}function oC(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=0;i=u;u=u+16|0;e=i;g=a+84|0;b=f[g>>2]|0;if(b|0){h=b;u=i;return h|0}b=f[a+64>>2]|0;d=f[a+68>>2]|0;if((b|0)==(d|0)){h=0;u=i;return h|0}c=e+4|0;do{qV(e,f[b+4>>2]|0);f[e>>2]=7696;a=f[c>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+8>>2]|0,a|0)|0;j=x;x=0;if(j&1){h=6;break}j=f[g>>2]|0;f[g>>2]=a+-1640531527+(j<<6)+(j>>>2)^j;_P(e);b=b+8|0}while((b|0)!=(d|0));if((h|0)==6){j=Ya()|0;_P(e);jb(j|0)}j=f[g>>2]|0;u=i;return j|0}function pC(a){a=a|0;var c=0,d=0,e=0;d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?a+1|0:a;if(!c){a=0;return a|0}c=Nu(c)|0;if(!c){a=0;return a|0}a=Nm(c)|0;return a|0}function qC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;if(FO(c,50046)|0){mD(d,c);hE(a+16|0,d)}e=a+4|0;iA(d,c,e);c=e+11|0;if((b[c>>0]|0)<0){b[f[e>>2]>>0]=0;f[a+8>>2]=0}else{b[e>>0]=0;b[c>>0]=0}x=0;Ga(501,e|0,0);a=x;x=0;if(a&1){g=Za(0)|0;soa(g)}else{f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];u=g;return}}function rC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=12276;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);c=x;x=0;if(c&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else{f[d>>2]=12372;f[e>>2]=4;return}}function sC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];f[a>>2]=12152;d=a+60|0;x=0;Ga(462,d|0,f[c+64>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7696;e=a+68|0;x=0;Ga(462,e|0,f[c+72>>2]|0);g=x;x=0;if(!(g&1)){f[e>>2]=7696;b[a+76>>0]=b[c+76>>0]|0;return}c=Ya()|0;_P(d);jb(c|0)}function tC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=13040;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);c=x;x=0;if(c&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else{f[d>>2]=13136;f[e>>2]=5;return}}function uC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=7712;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);c=x;x=0;if(c&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else{f[d>>2]=7168;f[e>>2]=8;return}}function vC(a){a=a|0;var c=0,d=0;c=hma(a)|0;if(c|0){a=c;return a|0}d=a+1|0;switch(b[a>>0]|0){case 45:case 95:{a=d;return a|0}default:{}}c=Vla(a)|0;if(c|0){a=c;return a|0}c=nC(a)|0;if(c|0){a=c;return a|0}if((b[a>>0]|0)!=92){a=0;return a|0}if(!(R5(d)|0)){c=$ma(d)|0;if(!c){a=0;return a|0}}else{c=a+2|0;if(R5(c)|0){c=a+3|0;d=(R5(c)|0)==0;c=d?c:a+4|0}}a=(b[c>>0]|0)==32?c+1|0:c;return a|0}function wC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=7488;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);c=x;x=0;if(c&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else{f[d>>2]=7584;f[e>>2]=2;return}}function xC(a,c,d){a=a|0;c=c|0;d=d|0;do if(!a)a=1;else{if(c>>>0<128){b[a>>0]=c;a=1;break}d=(nta()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=bua()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=bua()|0;f[a>>2]=84;a=-1;break}}while(0);return a|0}function yC(a){a=a|0;var b=0,c=0,d=0,e=0;a=f[a+8>>2]|0;a:do if(!a)c=1;else{x=0;b=qa(407,a|0)|0;a=x;x=0;do if(a&1)d=Za(0)|0;else{x=0;a=la(4)|0;e=x;x=0;if(e&1){a=Za(0)|0;if(!b){d=a;break}x=0;qa(407,b|0)|0;e=x;x=0;if(!(e&1)){d=a;break}e=Za(0)|0;soa(e)}else{if(!b){c=a;break a}x=0;qa(407,b|0)|0;e=x;x=0;if(!(e&1)){c=a;break a}e=Za(0)|0;soa(e)}}while(0);soa(d)}while(0);return c|0}function zC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];f[a>>2]=12388;d=a+60|0;x=0;Ga(462,d|0,f[c+64>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=12372;e=a+68|0;x=0;Ga(462,e|0,f[c+72>>2]|0);g=x;x=0;if(!(g&1)){f[e>>2]=12372;f[a+76>>2]=f[c+76>>2];return}c=Ya()|0;_P(d);jb(c|0)}function AC(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;l=0;k=X(d,c)|0;d=(c|0)==0?0:d;if((f[e+76>>2]|0)>-1)j=Vta(e)|0;else j=0;g=e+74|0;h=b[g>>0]|0;b[g>>0]=h+255|h;g=e+4|0;h=f[g>>2]|0;m=(f[e+8>>2]|0)-h|0;i=m>>>0>>0?m:k;if((m|0)>0){Lu(a|0,h|0,i|0)|0;f[g>>2]=h+i;g=k-i|0;a=a+i|0}else g=k;a:do if(!g)l=13;else{i=e+32|0;while(1){if(cJ(e)|0)break;h=yc[f[i>>2]&255](e,a,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else a=a+h|0}if(j|0)Uta(e);d=((k-g|0)>>>0)/(c>>>0)|0}while(0);if((l|0)==13)if(j)Uta(e);return d|0}function BC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=b+4|0;c=(f[g>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){x=0;Fa(426,a|0);x=0}else{x=0;e=qa(318,c|0)|0;c=x;x=0;if(!(c&1)){f[h>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(d<<2);b=f[b>>2]|0;c=(f[g>>2]|0)-b|0;if((c|0)<=0)return;Lu(e|0,b|0,c|0)|0;f[h>>2]=e+(c>>>2<<2);return}}d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[h>>2]|0;if((b|0)!=(c|0))f[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);jb(d|0)}function CC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=8880;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);c=x;x=0;if(c&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else{f[d>>2]=7696;f[e>>2]=19;return}}function DC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=b+4|0;c=(f[g>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){x=0;Fa(426,a|0);x=0}else{x=0;e=qa(318,c|0)|0;c=x;x=0;if(!(c&1)){f[h>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(d<<2);b=f[b>>2]|0;c=(f[g>>2]|0)-b|0;if((c|0)<=0)return;Lu(e|0,b|0,c|0)|0;f[h>>2]=e+(c>>>2<<2);return}}d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[h>>2]|0;if((b|0)!=(c|0))f[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);jb(d|0)}function EC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=b+4|0;c=(f[g>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){x=0;Fa(426,a|0);x=0}else{x=0;e=qa(318,c|0)|0;c=x;x=0;if(!(c&1)){f[h>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(d<<2);b=f[b>>2]|0;c=(f[g>>2]|0)-b|0;if((c|0)<=0)return;Lu(e|0,b|0,c|0)|0;f[h>>2]=e+(c>>>2<<2);return}}d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[h>>2]|0;if((b|0)!=(c|0))f[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);jb(d|0)}function FC(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;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=b[c+11>>0]|0;g=h<<24>>24<0;h=g?f[c+4>>2]|0:h&255;if(h>>>0>>0)BO(a);c=(g?f[c>>2]|0:c)+d|0;g=h-d|0;g=g>>>0>>0?g:e;if(g>>>0>4294967279)CO(a);if(g>>>0<11)b[a+11>>0]=g;else{d=g+16&-16;e=VN(d)|0;f[a>>2]=e;f[a+8>>2]=d|-2147483648;f[a+4>>2]=g;a=e}Naa(a,c,g)|0;b[i>>0]=0;vga(a+g|0,i);u=j;return}function GC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))cr(a+4|0,b);else{qV(h,e);f[h>>2]=12096;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=12096;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function HC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;e=a+56|0;f[e>>2]=f[c+56>>2];f[a>>2]=10868;g=a+60|0;x=0;Ga(462,g|0,f[c+64>>2]|0);d=x;x=0;if(d&1){c=Ya()|0;jb(c|0)}f[g>>2]=7904;d=a+68|0;x=0;Ga(462,d|0,f[c+72>>2]|0);c=x;x=0;if(!(c&1)){f[d>>2]=9376;f[e>>2]=4;return}c=Ya()|0;_P(g);jb(c|0)}function IC(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(HN(d)|0)){g=f[e>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;e=i;if((g-i|0)>>>0>>0){e=yc[f[d+36>>2]&255](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=0;g=a;break b}g=i+-1|0;if((b[a+g>>0]|0)==10)break;else i=g}e=yc[f[d+36>>2]&255](d,a,i)|0;if(e>>>0>>0)break a;h=i;g=a+i|0;c=c-i|0;e=f[j>>2]|0}else{h=0;g=a}while(0);Lu(e|0,g|0,c|0)|0;f[j>>2]=(f[j>>2]|0)+c;e=h+c|0}while(0);return e|0}function JC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;e=i+8|0;h=i;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=32625){h=0;u=i;return h|0}qV(e,f[a+64>>2]|0);f[e>>2]=10712;d=f[e+4>>2]|0;if(!d)g=0;else g=(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)==31847?d:0;_P(e);qV(h,f[c+64>>2]|0);f[h>>2]=10712;d=f[h+4>>2]|0;if(!d)d=0;else d=(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)==31847?d:0;_P(h);if(!((g|0)==(d|0)&((g|0)!=0&(d|0)!=0))){h=0;u=i;return h|0}h=(b[a+68>>0]|0)!=0^(b[c+68>>0]|0)!=0^1;u=i;return h|0}function KC(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=0;c=a+1|0;if((b[a>>0]|0)!=40){g=0;return g|0}a=b[c>>0]|0;if(!(a<<24>>24)){g=0;return g|0}else{d=0;e=0;f=0}a:while(1){b:do switch(a<<24>>24){case 92:{c=c+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else if(e){d=0;e=1}else switch(a<<24>>24){case 40:{d=0;e=0;f=f+1|0;break b}case 41:if(!f)break a;else{d=0;e=0;f=f+-1|0;break b}default:{d=0;e=0;break b}}}while(0);c=c+1|0;a=b[c>>0]|0;if(!(a<<24>>24)){a=0;g=14;break}}if((g|0)==14)return a|0;g=c+1|0;return g|0}function LC(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;h=i;a=VN(16)|0;f[h>>2]=a;f[h+8>>2]=-2147483632;f[h+4>>2]=12;c=a;d=38956;e=c+12|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+12>>0]=0;x=0;Ga(557,g|0,h|0);e=x;x=0;if(e&1){a=Ya()|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);i=a;jb(i|0)}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);x=0;a=qa(332,g|0)|0;h=x;x=0;if(!(h&1)){jV(g);I=0;u=i;return a|0}i=Ya()|0;jV(g);jb(i|0);return 0}function MC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))fr(a+4|0,b);else{qV(h,e);f[h>>2]=15556;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=15556;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function NC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))hr(a+4|0,b);else{qV(h,e);f[h>>2]=13852;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=13852;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function OC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=b+4|0;c=(f[g>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){x=0;Fa(426,a|0);x=0}else{x=0;e=qa(318,c|0)|0;c=x;x=0;if(!(c&1)){f[h>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(d<<2);b=f[b>>2]|0;c=(f[g>>2]|0)-b|0;if((c|0)<=0)return;Lu(e|0,b|0,c|0)|0;f[h>>2]=e+(c>>>2<<2);return}}d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[h>>2]|0;if((b|0)!=(c|0))f[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);jb(d|0)}function PC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=b+4|0;c=(f[g>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){x=0;Fa(426,a|0);x=0}else{x=0;e=qa(318,c|0)|0;c=x;x=0;if(!(c&1)){f[h>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(d<<2);b=f[b>>2]|0;c=(f[g>>2]|0)-b|0;if((c|0)<=0)return;Lu(e|0,b|0,c|0)|0;f[h>>2]=e+(c>>>2<<2);return}}d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[h>>2]|0;if((b|0)!=(c|0))f[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);jb(d|0)}function QC(a){a=a|0;var c=0,d=0,e=0,g=0;d=u;u=u+16|0;e=d;c=a+460|0;g=b[c+11>>0]|0;if(!((g<<24>>24<0?f[a+464>>2]|0:g&255)|0)){x=0;c=wa(21,c|0,0,-1,89823,0)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}if(!c){g=0;u=d;return g|0}}A4(e,a+76|0,a);a=e+11|0;x=0;c=qa(325,((b[a>>0]|0)<0?f[e>>2]|0:e)|0)|0;g=x;x=0;if(g&1){c=Ya()|0;if((b[a>>0]|0)>=0)jb(c|0);Hta(f[e>>2]|0);jb(c|0)}else{if((b[a>>0]|0)<0)Hta(f[e>>2]|0);g=c;u=d;return g|0}return 0}function RC(a){a=a|0;var c=0,d=0,e=0,f=0;if(!a){f=0;return f|0}c=b[51446]|0;a:do if(c<<24>>24){d=51446;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);c=b[a>>0]|0;if(!(c<<24>>24)){f=0;return f|0}f=b[52228]|0;if(!(f<<24>>24)){f=a;return f|0}else{e=a;a=c}b:while(1){if(a<<24>>24==f<<24>>24){a=e;c=52228;do{a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24)){c=11;break b}}while((b[a>>0]|0)==d<<24>>24)}e=e+1|0;a=b[e>>0]|0;if(!(a<<24>>24)){a=0;c=11;break}}if((c|0)==11)return a|0;return 0}function SC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))or(a+4|0,b);else{qV(h,e);f[h>>2]=7696;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=7696;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function TC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))nr(a+4|0,b);else{qV(h,e);f[h>>2]=13488;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=13488;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function UC(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(76)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));f[g>>2]=13276;d=g+52|0;x=0;Ga(459,d|0,a+52|0);e=x;x=0;if(e&1)c=Ya()|0;else{c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);e=x;x=0;if(!(e&1)){f[c>>2]=7696;b[g+72>>0]=b[a+72>>0]|0;return g|0}c=Ya()|0;if((b[g+63>>0]|0)<0)Hta(f[d>>2]|0)}a=c;Hta(g);jb(a|0);return 0}function VC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))qr(a+4|0,b);else{qV(h,e);f[h>>2]=6920;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=6920;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function WC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;c=i;d=b+4|0;e=f[d>>2]|0;if(!e){u=i;return}f[a+16>>2]=0;g=a+8|0;h=f[g>>2]|0;if((h|0)==(f[a+12>>2]|0))pr(a+4|0,b);else{qV(h,e);f[h>>2]=10408;f[g>>2]=(f[g>>2]|0)+8}h=f[f[a>>2]>>2]|0;qV(c,f[d>>2]|0);f[c>>2]=10408;x=0;Ga(h|0,a|0,c|0);h=x;x=0;if(h&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);u=i;return}function XC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;d=e;b=b+12|0;c=a+24|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];b=d+12|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=a+16|0;c=f[b>>2]|0;if(c>>>0<(f[a+20>>2]|0)>>>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];f[c+16>>2]=f[d+16>>2];f[c+20>>2]=f[d+20>>2];f[b>>2]=(f[b>>2]|0)+24;u=e;return}else{Iy(a+12|0,d);u=e;return}}function YC(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+64>>2]|0;g=f[a+68>>2]|0;if((d|0)==(g|0)){c=c&1;i=a+52|0;b[i>>0]=c;u=j;return}h=i+4|0;while(1){qV(i,f[d+4>>2]|0);f[i>>2]=10408;e=f[h>>2]|0;if(e|0){x=0;Ga(f[(f[e>>2]|0)+100>>2]|0,e|0,c|0);e=x;x=0;if(e&1){d=6;break}}_P(i);d=d+8|0;if((d|0)==(g|0)){d=3;break}}if((d|0)==3){c=c&1;i=a+52|0;b[i>>0]=c;u=j;return}else if((d|0)==6){j=Ya()|0;_P(i);jb(j|0)}}function ZC(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;a:do if(!(b[78456]|0))if(lda(78456)|0){f[20851]=0;f[20852]=0;f[20853]=0;e=yqa(58180)|0;do if(e>>>0>4294967279){x=0;Fa(428,83404);x=0}else{if(e>>>0<11){b[83415]=e;a=83404}else{c=e+16&-16;x=0;a=qa(318,c|0)|0;h=x;x=0;if(h&1)break;f[20851]=a;f[20853]=c|-2147483648;f[20852]=e}Naa(a,58180,e)|0;b[d>>0]=0;vga(a+e|0,d);break a}while(0);h=Ya()|0;jb(h|0)}while(0);u=g;return 83404}function _C(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;a:do if(!(b[78464]|0))if(lda(78464)|0){f[20854]=0;f[20855]=0;f[20856]=0;e=yqa(58189)|0;do if(e>>>0>4294967279){x=0;Fa(428,83416);x=0}else{if(e>>>0<11){b[83427]=e;a=83416}else{c=e+16&-16;x=0;a=qa(318,c|0)|0;h=x;x=0;if(h&1)break;f[20854]=a;f[20856]=c|-2147483648;f[20855]=e}Naa(a,58189,e)|0;b[d>>0]=0;vga(a+e|0,d);break a}while(0);h=Ya()|0;jb(h|0)}while(0);u=g;return 83416}function $C(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;a:do if(!(b[78472]|0))if(lda(78472)|0){f[20857]=0;f[20858]=0;f[20859]=0;e=yqa(58201)|0;do if(e>>>0>4294967279){x=0;Fa(428,83428);x=0}else{if(e>>>0<11){b[83439]=e;a=83428}else{c=e+16&-16;x=0;a=qa(318,c|0)|0;h=x;x=0;if(h&1)break;f[20857]=a;f[20859]=c|-2147483648;f[20858]=e}Naa(a,58201,e)|0;b[d>>0]=0;vga(a+e|0,d);break a}while(0);h=Ya()|0;jb(h|0)}while(0);u=g;return 83428}function aD(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;a:do if(!(b[78448]|0))if(lda(78448)|0){f[20848]=0;f[20849]=0;f[20850]=0;e=yqa(58171)|0;do if(e>>>0>4294967279){x=0;Fa(428,83392);x=0}else{if(e>>>0<11){b[83403]=e;a=83392}else{c=e+16&-16;x=0;a=qa(318,c|0)|0;h=x;x=0;if(h&1)break;f[20848]=a;f[20850]=c|-2147483648;f[20849]=e}Naa(a,58171,e)|0;b[d>>0]=0;vga(a+e|0,d);break a}while(0);h=Ya()|0;jb(h|0)}while(0);u=g;return 83392}function bD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];f[a>>2]=12660;e=a+60|0;x=0;Ga(462,e|0,f[c+64>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[e>>2]=7696;d=a+68|0;x=0;Ga(462,d|0,f[c+72>>2]|0);c=x;x=0;if(!(c&1)){f[d>>2]=7696;return}c=Ya()|0;_P(e);jb(c|0)}function cD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g+8|0;e=g;qV(d,f[a+80>>2]|0);f[d>>2]=7696;h=f[d+4>>2]|0;x=0;Ga(f[(f[h>>2]|0)+100>>2]|0,h|0,c|0);h=x;x=0;if(h&1){h=Ya()|0;_P(d);jb(h|0)}_P(d);qV(e,f[a+72>>2]|0);f[e>>2]=7696;h=f[e+4>>2]|0;x=0;Ga(f[(f[h>>2]|0)+100>>2]|0,h|0,c|0);h=x;x=0;if(!(h&1)){_P(e);b[a+52>>0]=c&1;u=g;return}h=Ya()|0;_P(e);jb(h|0)}function dD(a){a=a|0;var c=0,d=0,e=0,g=0;c=VN(80)|0;x=0;Fa(427,c|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(c);jb(g|0)}d=c+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[c+52>>0]=b[a+52>>0]|0;b[c+53>>0]=b[a+53>>0]|0;b[c+54>>0]=b[a+54>>0]|0;f[c+56>>2]=4;f[c>>2]=11668;b[c+60>>0]=b[a+60>>0]|0;b[c+61>>0]=b[a+61>>0]|0;x=0;Ga(459,c+64|0,a+64|0);g=x;x=0;if(!(g&1)){f[c+76>>2]=f[a+76>>2];f[c>>2]=11800;return c|0}g=Ya()|0;Hta(c);jb(g|0);return 0}function eD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;i=k;j=k+4|0;f[i>>2]=c;d=a+8|0;h=d+3|0;c=b[h>>0]|0;e=c<<24>>24<0;if(e){g=f[a+4>>2]|0;c=(f[d>>2]&2147483647)+-1|0}else{g=c&255;c=1}if((g|0)==(c|0)){uA(a,c,1,c,c,0,0);if((b[h>>0]|0)<0)d=8;else d=7}else if(e)d=8;else d=7;if((d|0)==7){b[h>>0]=g+1;c=a}else if((d|0)==8){c=f[a>>2]|0;f[a+4>>2]=g+1}a=c+(g<<2)|0;$ga(a,i);f[j>>2]=0;$ga(a+4|0,j);u=k;return}function fD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];f[a>>2]=12916;e=a+60|0;x=0;Ga(462,e|0,f[c+64>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[e>>2]=7696;d=a+68|0;x=0;Ga(462,d|0,f[c+72>>2]|0);c=x;x=0;if(!(c&1)){f[d>>2]=7696;return}c=Ya()|0;_P(e);jb(c|0)}function gD(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(76)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;f[g+56>>2]=f[a+56>>2];f[g>>2]=9992;f[g+60>>2]=f[a+60>>2];c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);e=x;x=0;if(!(e&1)){f[c>>2]=7696;f[g+72>>2]=f[a+72>>2];return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function hD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=7392;b[a+72>>0]=b[c+72>>0]|0;x=0;Ga(459,a+76|0,c+76|0);c=x;x=0;if(c&1){c=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(c|0)}else return}function iD(a){a=a|0;var c=0,d=0,e=0;if((b[a>>0]|0)!=39){e=0;return e|0}e=Cu(a+1|0)|0;if(!e){e=0;return e|0}c=b[e>>0]|0;if(c<<24>>24==39){e=e+1|0;return e|0}a=b[36397]|0;a:do if(!(a<<24>>24))a=0;else if(c<<24>>24==a<<24>>24){c=e;d=36397;do{c=c+1|0;d=d+1|0;a=b[d>>0]|0;if(!(a<<24>>24)){a=0;break a}}while((b[c>>0]|0)==a<<24>>24)}while(0);e=a<<24>>24==0?e:0;return e|0}function jD(a){a=a|0;var c=0,d=0,e=0;if((b[a>>0]|0)!=34){e=0;return e|0}e=Du(a+1|0)|0;if(!e){e=0;return e|0}c=b[e>>0]|0;if(c<<24>>24==34){e=e+1|0;return e|0}a=b[36397]|0;a:do if(!(a<<24>>24))a=0;else if(c<<24>>24==a<<24>>24){c=e;d=36397;do{c=c+1|0;d=d+1|0;a=b[d>>0]|0;if(!(a<<24>>24)){a=0;break a}}while((b[c>>0]|0)==a<<24>>24)}while(0);e=a<<24>>24==0?e:0;return e|0}function kD(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;k=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=22044;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){a=g;c=1;k=4}else{c=bua()|0;f[c>>2]=75;c=-1}else k=4;if((k|0)==4){k=-2-a|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;g=l+20|0;f[g>>2]=a;f[l+44>>2]=a;c=a+k|0;a=l+16|0;f[a>>2]=c;f[l+28>>2]=c;c=Ky(l,d,e)|0;if(k){l=f[g>>2]|0;b[l+(((l|0)==(f[a>>2]|0))<<31>>31)>>0]=0}}u=m;return c|0}function lD(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;c=g+56|0;f[c>>2]=f[a+56>>2];f[g>>2]=10588;d=g+60|0;x=0;Ga(462,d|0,f[a+64>>2]|0);e=x;x=0;if(!(e&1)){f[d>>2]=10712;b[g+68>>0]=b[a+68>>0]|0;f[c>>2]=9;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function mD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=0;f[a+4>>2]=0;i=b[c+11>>0]|0;j=i<<24>>24<0;d=j?f[c>>2]|0:c;i=j?f[c+4>>2]|0:i&255;j=d+i|0;a:do if((i|0)>0){g=0;c=0;i=0;h=0;while(1){e=b[d>>0]|0;switch(e<<24>>24){case 0:{d=g;break a}case 10:{e=i+1|0;g=e;c=0;h=0;break}default:{k=(e&255)<192;e=h+1|0;c=k?e:c;h=k?e:h;e=i}}d=d+1|0;if(d>>>0>=j>>>0){d=g;break a}else i=e}}else{d=0;c=0}while(0);k=a;f[k>>2]=d;f[k+4>>2]=c;return}function nD(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(88)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));f[g>>2]=6976;f[g+52>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;c=g+64|0;f[c>>2]=6936;x=0;Ga(460,g+68|0,a+68|0);e=x;x=0;if(!(e&1)){f[g+80>>2]=f[a+80>>2];f[g>>2]=6780;f[c>>2]=6880;b[g+84>>0]=b[a+84>>0]|0;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function oD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+16|0;j=Ta(88)|0;f[g>>2]=0;h=g+4|0;f[h>>2]=0;f[g+8>>2]=0;x=0;Ia(133,j|0,g|0,c|0);i=x;x=0;if(i&1)e=1;else{x=0;Ia(77,j|0,3856,181);x=0;e=0}i=Ya()|0;a=f[g>>2]|0;if(a|0){c=f[h>>2]|0;if((c|0)!=(a|0)){do{d=c+-52|0;f[h>>2]=d;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[h>>2]|0}else c=d}while((c|0)!=(a|0));a=f[g>>2]|0}Hta(a)}if(!e)jb(i|0);bb(j|0);jb(i|0)}function pD(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=15940;h=a+72|0;f[h>>2]=16116;e=a+100|0;c=f[e>>2]|0;if(c|0){g=a+104|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}_P(a+92|0);f[h>>2]=16156;e=a+76|0;c=f[e>>2]|0;if(!c){Hta(a);return}g=a+80|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{h=d+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c);Hta(a);return}function qD(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=u;u=u+16|0;h=j;do if((a|0)==(c|0)){f[d>>2]=4;a=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;a=0;break}i=bua()|0;i=f[i>>2]|0;g=bua()|0;f[g>>2]=0;a=$da(a,h,e,$O()|0)|0;e=I;g=bua()|0;g=f[g>>2]|0;if(!g){k=bua()|0;f[k>>2]=i}do if((f[h>>2]|0)==(c|0))if(e>>>0>0|(e|0)==0&a>>>0>65535|(g|0)==34){f[d>>2]=4;a=-1;break}else{a=a&65535;break}else{f[d>>2]=4;a=0}while(0)}while(0);u=j;return a|0}function rD(a){a=a|0;var c=0,d=0,e=0,g=0;c=VN(80)|0;x=0;Fa(427,c|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(c);jb(g|0)}d=c+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[c+52>>0]=b[a+52>>0]|0;b[c+53>>0]=b[a+53>>0]|0;b[c+54>>0]=b[a+54>>0]|0;f[c+56>>2]=4;f[c>>2]=11668;b[c+60>>0]=b[a+60>>0]|0;b[c+61>>0]=b[a+61>>0]|0;x=0;Ga(459,c+64|0,a+64|0);g=x;x=0;if(!(g&1)){f[c+76>>2]=f[a+76>>2];return c|0}g=Ya()|0;Hta(c);jb(g|0);return 0}function sD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=u;u=u+16|0;c=e+8|0;d=e;qV(c,f[b+64>>2]|0);f[c>>2]=7904;g=f[c+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+44>>2]|0,g|0,a|0);g=x;x=0;if(g&1){g=Ya()|0;_P(c);jb(g|0)}_P(c);qV(d,f[b+72>>2]|0);f[d>>2]=9376;g=f[d+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+44>>2]|0,g|0,a|0);g=x;x=0;if(!(g&1)){_P(d);u=e;return}g=Ya()|0;_P(d);jb(g|0)}function tD(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=u;u=u+16|0;j=l;e=a+8|0;k=e+3|0;g=b[k>>0]|0;i=g<<24>>24<0;if(i){e=(f[e>>2]&2147483647)+-1|0;h=f[a+4>>2]|0}else{e=1;h=g&255}if((e-h|0)>>>0>>0)Cv(a,e,d-e+h|0,h,h,0,d,c);else if(d|0){if(i)g=f[a>>2]|0;else g=a;RP(g+(h<<2)|0,c,d)|0;e=h+d|0;if((b[k>>0]|0)<0)f[a+4>>2]=e;else b[k>>0]=e;f[j>>2]=0;$ga(g+(e<<2)|0,j)}u=l;return a|0}function uD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;i=j+1|0;b[h>>0]=c;g=a+11|0;c=b[g>>0]|0;d=c<<24>>24<0;if(d){e=f[a+4>>2]|0;c=(f[a+8>>2]&2147483647)+-1|0}else{e=c&255;c=10}if((e|0)==(c|0)){ME(a,c,1,c,c,0,0);if((b[g>>0]|0)<0)d=8;else d=7}else if(d)d=8;else d=7;if((d|0)==7){b[g>>0]=e+1;c=a}else if((d|0)==8){c=f[a>>2]|0;f[a+4>>2]=e+1}a=c+e|0;vga(a,h);b[i>>0]=0;vga(a+1|0,i);u=j;return}function vD(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;j=0;k=u;u=u+16|0;h=k;do if((a|0)==(c|0)){f[d>>2]=4;e=0;a=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;e=0;a=0;break}i=bua()|0;i=f[i>>2]|0;g=bua()|0;f[g>>2]=0;a=$da(a,h,e,$O()|0)|0;e=I;g=bua()|0;g=f[g>>2]|0;if(!g){l=bua()|0;f[l>>2]=i}if((f[h>>2]|0)==(c|0)){if((g|0)==34){a=-1;e=-1;j=8}}else{a=0;e=0;j=8}if((j|0)==8)f[d>>2]=4}while(0);I=e;u=k;return a|0}function wD(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=a+4|0;d=(f[j>>2]|0)!=471;h=f[a>>2]|0;e=(f[c>>2]|0)-h|0;e=e>>>0<2147483647?e<<1:-1;e=(e|0)==0?4:e;g=(f[b>>2]|0)-h>>2;h=eJ(d?h:0,e)|0;if(!h)Kca();do if(d){f[a>>2]=h;i=h}else{d=f[a>>2]|0;f[a>>2]=h;if(!d)i=h;else{x=0;Fa(f[j>>2]|0,d|0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else{i=f[a>>2]|0;break}}}while(0);f[j>>2]=473;f[b>>2]=i+(g<<2);f[c>>2]=(f[a>>2]|0)+(e>>>2<<2);return}function xD(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=a+4|0;d=(f[j>>2]|0)!=471;h=f[a>>2]|0;e=(f[c>>2]|0)-h|0;e=e>>>0<2147483647?e<<1:-1;e=(e|0)==0?4:e;g=(f[b>>2]|0)-h>>2;h=eJ(d?h:0,e)|0;if(!h)Kca();do if(d){f[a>>2]=h;i=h}else{d=f[a>>2]|0;f[a>>2]=h;if(!d)i=h;else{x=0;Fa(f[j>>2]|0,d|0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else{i=f[a>>2]|0;break}}}while(0);f[j>>2]=473;f[b>>2]=i+(g<<2);f[c>>2]=(f[a>>2]|0)+(e>>>2<<2);return}function yD(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=a+-72|0;f[h>>2]=15940;g=h+72|0;f[g>>2]=16116;d=h+100|0;a=f[d>>2]|0;if(a|0){e=h+104|0;c=f[e>>2]|0;if((c|0)!=(a|0)){do{c=c+-12|0;f[e>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[e>>2]|0}}while((c|0)!=(a|0));a=f[d>>2]|0}Hta(a)}_P(h+92|0);f[g>>2]=16156;e=h+76|0;a=f[e>>2]|0;if(!a)return;d=h+80|0;c=f[d>>2]|0;if((c|0)!=(a|0)){do{h=c+-8|0;f[d>>2]=h;Kc[f[f[h>>2]>>2]&511](h);c=f[d>>2]|0}while((c|0)!=(a|0));a=f[e>>2]|0}Hta(a);return}function zD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;d=e+4|0;h=e;f[d>>2]=0;f[h>>2]=f[c>>2];f[g>>2]=f[h>>2];switch(fo(a,g,d)|0){case 5:{h=Ta(8)|0;g=f[d>>2]|0;f[h>>2]=16684;f[h+4>>2]=g;fb(h|0,2528,223)}case 1:{h=Ta(4)|0;f[h>>2]=16704;fb(h|0,2544,223)}case 4:case 3:case 2:{h=Ta(8)|0;g=b[f[a>>2]>>0]|0;f[h>>2]=16724;b[h+4>>0]=g;fb(h|0,2560,223)}default:{u=e;return f[d>>2]|0}}return 0}function AD(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 BD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;d=e+4|0;h=e;f[d>>2]=0;f[h>>2]=f[c>>2];f[g>>2]=f[h>>2];switch(go(a,g,d)|0){case 5:{h=Ta(8)|0;g=f[d>>2]|0;f[h>>2]=16684;f[h+4>>2]=g;fb(h|0,2528,223)}case 1:{h=Ta(4)|0;f[h>>2]=16704;fb(h|0,2544,223)}case 4:case 3:case 2:{h=Ta(8)|0;g=b[f[a>>2]>>0]|0;f[h>>2]=16724;b[h+4>>0]=g;fb(h|0,2560,223)}default:{u=e;return f[d>>2]|0}}return 0}function CD(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[48530]|0;a:do if(c<<24>>24){d=48530;while(1){if((b[a>>0]|0)!=c<<24>>24){c=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return c|0}while(0);b:do if((b[a>>0]|0)==45){c=Ufa(a+1|0)|0;if(!c)c=a;else{while(1){a=Ufa(c)|0;if(!a)break;else c=a}if((b[c>>0]|0)==45)do{a=Ufa(c+1|0)|0;if(!a)break b;else c=a;while(1){a=Ufa(c)|0;if(!a)break;else c=a}}while((b[c>>0]|0)==45)}}else c=a;while(0);d=(b[c>>0]|0)==40?c+1|0:0;return d|0}function DD(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=u;u=u+16|0;j=l;e=a+8|0;k=e+3|0;h=b[k>>0]|0;i=h<<24>>24<0;if(i)g=(f[e>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>>0){if(i)e=f[a+4>>2]|0;else e=h&255;Cv(a,g,d-g|0,e,0,e,d,c)}else{if(i)e=f[a>>2]|0;else e=a;QP(e,c,d)|0;f[j>>2]=0;$ga(e+(d<<2)|0,j);if((b[k>>0]|0)<0){f[a+4>>2]=d;break}else{b[k>>0]=d;break}}while(0);u=l;return a|0}function ED(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;b=f[a+76>>2]|0;c=f[a+80>>2]|0;if((b|0)==(c|0)){e=0;u=g;return e|0}d=e+4|0;a=b;while(1){qV(e,f[a+4>>2]|0);f[e>>2]=15556;b=f[d>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+152>>2]|0,b|0)|0;h=x;x=0;if(h&1){b=6;break}_P(e);a=a+8|0;if(b){a=1;b=7;break}if((a|0)==(c|0)){a=0;b=7;break}}if((b|0)==6){h=Ya()|0;_P(e);jb(h|0)}else if((b|0)==7){u=g;return a|0}return 0}function FD(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;oA(a,c);f[a>>2]=14744;e=a+104|0;x=0;Ga(459,e|0,c+104|0);d=x;x=0;if(d&1)d=Ya()|0;else{d=a+116|0;x=0;Ga(462,d|0,f[c+120>>2]|0);g=x;x=0;if(!(g&1)){f[d>>2]=7904;b[a+124>>0]=b[c+124>>0]|0;f[a+96>>2]=1;return}c=Ya()|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=c}else d=c}f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0)jb(d|0);Hta(f[c>>2]|0);jb(d|0)}function GD(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;k=u;u=u+32|0;e=k;i=k+16|0;f[i>>2]=c;g=i+4|0;j=a+48|0;l=f[j>>2]|0;f[g>>2]=d-((l|0)!=0&1);h=a+44|0;f[i+8>>2]=f[h>>2];f[i+12>>2]=l;f[e>>2]=f[a+60>>2];f[e+4>>2]=i;f[e+8>>2]=2;e=caa(mb(145,e|0)|0)|0;if((e|0)<1)f[a>>2]=f[a>>2]|e&48^16;else{i=f[g>>2]|0;if(e>>>0>i>>>0){g=f[h>>2]|0;h=a+4|0;f[h>>2]=g;f[a+8>>2]=g+(e-i);if(!(f[j>>2]|0))e=d;else{f[h>>2]=g+1;b[c+(d+-1)>>0]=b[g>>0]|0;e=d}}}u=k;return e|0}function HD(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=u;u=u+16|0;i=k;if(c|0){j=a+11|0;e=b[j>>0]|0;if(e<<24>>24<0){g=(f[a+8>>2]&2147483647)+-1|0;h=f[a+4>>2]|0}else{g=10;h=e&255}if((g-h|0)>>>0>>0){ME(a,g,c-g+h|0,h,h,0,0);e=b[j>>0]|0}if(e<<24>>24<0)g=f[a>>2]|0;else g=a;vX(g+h|0,c,d)|0;e=h+c|0;if((b[j>>0]|0)<0)f[a+4>>2]=e;else b[j>>0]=e;b[i>>0]=0;vga(g+e|0,i)}u=k;return a|0}function ID(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;d=a+104|0;c=f[d>>2]|0;if(!c)i=3;else if((f[a+108>>2]|0)<(c|0))i=3;else i=4;if((i|0)==3){c=hS(a)|0;if((c|0)<0)i=4;else{e=f[d>>2]|0;d=a+8|0;if(!e){e=f[d>>2]|0;d=e}else{j=f[d>>2]|0;g=f[a+4>>2]|0;d=e-(f[a+108>>2]|0)|0;e=j;if((j-g|0)<(d|0))d=e;else d=g+(d+-1)|0}f[a+100>>2]=d;d=a+4|0;if(!e)d=f[d>>2]|0;else{d=f[d>>2]|0;j=a+108|0;f[j>>2]=e+1-d+(f[j>>2]|0)}d=d+-1|0;if((c|0)!=(h[d>>0]|0|0))b[d>>0]=c}}if((i|0)==4){f[a+100>>2]=0;c=-1}return c|0}function JD(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=u;u=u+16|0;h=j;do if((a|0)==(c|0)){f[d>>2]=4;a=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;a=0;break}i=bua()|0;i=f[i>>2]|0;g=bua()|0;f[g>>2]=0;a=$da(a,h,e,$O()|0)|0;e=I;g=bua()|0;g=f[g>>2]|0;if(!g){k=bua()|0;f[k>>2]=i}do if((f[h>>2]|0)==(c|0))if(e>>>0>0|(e|0)==0&a>>>0>4294967295|(g|0)==34){f[d>>2]=4;a=-1;break}else break;else{f[d>>2]=4;a=0}while(0)}while(0);u=j;return a|0}function KD(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=u;u=u+16|0;h=j;do if((a|0)==(c|0)){f[d>>2]=4;a=0}else{if((b[a>>0]|0)==45){f[d>>2]=4;a=0;break}i=bua()|0;i=f[i>>2]|0;g=bua()|0;f[g>>2]=0;a=$da(a,h,e,$O()|0)|0;e=I;g=bua()|0;g=f[g>>2]|0;if(!g){k=bua()|0;f[k>>2]=i}do if((f[h>>2]|0)==(c|0))if(e>>>0>0|(e|0)==0&a>>>0>4294967295|(g|0)==34){f[d>>2]=4;a=-1;break}else break;else{f[d>>2]=4;a=0}while(0)}while(0);u=j;return a|0}function LD(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=a+4|0;d=(f[j>>2]|0)!=471;h=f[a>>2]|0;e=(f[c>>2]|0)-h|0;e=e>>>0<2147483647?e<<1:-1;e=(e|0)==0?1:e;g=(f[b>>2]|0)-h|0;h=eJ(d?h:0,e)|0;if(!h)Kca();do if(d){f[a>>2]=h;i=h}else{d=f[a>>2]|0;f[a>>2]=h;if(!d)i=h;else{x=0;Fa(f[j>>2]|0,d|0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else{i=f[a>>2]|0;break}}}while(0);f[j>>2]=473;f[b>>2]=i+g;f[c>>2]=(f[a>>2]|0)+e;return}function MD(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;i=u;u=u+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=a+8|0;n=vc[f[(f[n>>2]|0)+20>>2]&511](n)|0;f[m>>2]=f[c>>2];f[l>>2]=f[d>>2];d=b[n+8+3>>0]|0;o=d<<24>>24<0;c=o?f[n>>2]|0:n;d=c+((o?f[n+4>>2]|0:d&255)<<2)|0;f[k>>2]=f[m>>2];f[j>>2]=f[l>>2];h=xh(a,k,j,e,g,h,c,d)|0;u=i;return h|0}function ND(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;d=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){e=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)CO(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=VN(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}Naa(a,e,c)|0;b[d>>0]=0;vga(a+c|0,d)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function OD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=12096;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function PD(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=15940;h=a+72|0;f[h>>2]=16116;e=a+100|0;c=f[e>>2]|0;if(c|0){g=a+104|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}_P(a+92|0);f[h>>2]=16156;g=a+76|0;c=f[g>>2]|0;if(!c)return;e=a+80|0;d=f[e>>2]|0;if((d|0)!=(c|0)){do{a=d+-8|0;f[e>>2]=a;Kc[f[f[a>>2]>>2]&511](a);d=f[e>>2]|0}while((d|0)!=(c|0));c=f[g>>2]|0}Hta(c);return}function QD(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(108)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;c=g+56|0;f[c>>2]=f[a+56>>2];f[g>>2]=6516;d=g+60|0;x=0;Ga(479,d|0,a+60|0);a=x;x=0;if(!(a&1)){f[g>>2]=9700;f[d>>2]=9828;f[c>>2]=6;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function RD(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;i=u;u=u+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=a+8|0;n=vc[f[(f[n>>2]|0)+20>>2]&511](n)|0;f[m>>2]=f[c>>2];f[l>>2]=f[d>>2];d=b[n+11>>0]|0;o=d<<24>>24<0;c=o?f[n>>2]|0:n;d=c+(o?f[n+4>>2]|0:d&255)|0;f[k>>2]=f[m>>2];f[j>>2]=f[l>>2];h=sh(a,k,j,e,g,h,c,d)|0;u=i;return h|0}function SD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=15556;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function TD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=13852;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function UD(a){a=a|0;var c=0;if((b[a>>0]|0)!=47){c=0;return c|0}c=a+1|0;a=c;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;a=Ay(a)|0;if(!a)a=0;else{a=wy(a)|0;if(!a)a=0;else a=(b[a>>0]|0)==124?a+1|0:0}a=a|0?a:c;if(!a){c=0;return c|0}while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;a=Ay(a)|0;if(!a){c=0;return c|0}a=wy(a)|0;if(!a){c=0;return c|0}c=(b[a>>0]|0)==47?a+1|0:0;return c|0}function VD(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=u;u=u+16|0;i=k;j=a+11|0;e=b[j>>0]|0;h=e<<24>>24<0;if(h){g=(f[a+8>>2]&2147483647)+-1|0;e=f[a+4>>2]|0}else{g=10;e=e&255}if((g-e|0)>>>0>>0)lB(a,g,d-g+e|0,e,e,0,d,c);else if(d|0){if(h)g=f[a>>2]|0;else g=a;Naa(g+e|0,c,d)|0;e=e+d|0;if((b[j>>0]|0)<0)f[a+4>>2]=e;else b[j>>0]=e;b[i>>0]=0;vga(g+e|0,i)}u=k;return a|0}function WD(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==1)b=2;else if(b+-1&b)b=Pe(b)|0;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ek(a,b);return}if(b>>>0>=d>>>0)return;c=~~+W(+(+((f[a+12>>2]|0)>>>0)/+n[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Pe(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ek(a,b);return}function XD(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=u;u=u+16|0;i=k;j=a+11|0;e=b[j>>0]|0;g=e<<24>>24<0;if(g)h=(f[a+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>>0){if(g)e=f[a+4>>2]|0;else e=e&255;lB(a,h,d-h|0,e,0,e,d,c)}else{if(g)e=f[a>>2]|0;else e=a;Kaa(e,c,d)|0;b[i>>0]=0;vga(e+d|0,i);if((b[j>>0]|0)<0){f[a+4>>2]=d;break}else{b[j>>0]=d;break}}while(0);u=k;return a|0}function YD(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(76)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));d=g+52|0;f[d>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=8496;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);e=x;x=0;if(!(e&1)){f[c>>2]=7904;b[g+72>>0]=b[a+72>>0]|0;f[d>>2]=13;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function ZD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=7696;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function _D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=13488;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=6920;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function aE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;c=f[b+4>>2]|0;e=(f[b+8>>2]|0)-c>>3;if(!e){u=h;return}d=b+4|0;b=0;while(1){i=f[(f[a>>2]|0)+20>>2]|0;qV(g,f[c+(b<<3)+4>>2]|0);f[g>>2]=10408;x=0;Ga(i|0,a|0,g|0);c=x;x=0;if(c&1){b=7;break}_P(g);b=b+1|0;if(b>>>0>=e>>>0){b=3;break}c=f[d>>2]|0}if((b|0)==3){u=h;return}else if((b|0)==7){i=Ya()|0;_P(g);jb(i|0)}}function bE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;g=h;f[a+64>>2]=b;c=f[a+76>>2]|0;d=f[a+80>>2]|0;if((c|0)==(d|0)){u=h;return}e=g+4|0;a=c;while(1){qV(g,f[a+4>>2]|0);f[g>>2]=15556;c=f[e>>2]|0;x=0;Ga(f[(f[c>>2]|0)+120>>2]|0,c|0,b|0);c=x;x=0;if(c&1){a=6;break}_P(g);a=a+8|0;if((a|0)==(d|0)){a=3;break}}if((a|0)==3){u=h;return}else if((a|0)==6){h=Ya()|0;_P(g);jb(h|0)}}function cE(a){a=a|0;var c=0,d=0,e=0;e=Cu(a)|0;if(!e){e=0;return e|0}c=b[e>>0]|0;if(c<<24>>24==39){e=e+1|0;return e|0}a=b[36397]|0;a:do if(!(a<<24>>24))a=0;else if(c<<24>>24==a<<24>>24){c=e;d=36397;do{c=c+1|0;d=d+1|0;a=b[d>>0]|0;if(!(a<<24>>24)){a=0;break a}}while((b[c>>0]|0)==a<<24>>24)}while(0);e=a<<24>>24==0?e:0;return e|0}function dE(a){a=a|0;var c=0,d=0,e=0;e=Du(a)|0;if(!e){e=0;return e|0}c=b[e>>0]|0;if(c<<24>>24==34){e=e+1|0;return e|0}a=b[36397]|0;a:do if(!(a<<24>>24))a=0;else if(c<<24>>24==a<<24>>24){c=e;d=36397;do{c=c+1|0;d=d+1|0;a=b[d>>0]|0;if(!(a<<24>>24)){a=0;break a}}while((b[c>>0]|0)==a<<24>>24)}while(0);e=a<<24>>24==0?e:0;return e|0}function eE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;d=b+64|0;if(f[d>>2]|0)if(!(vc[f[(f[b>>2]|0)+24>>2]&511](b)|0))if(!(rS(f[d>>2]|0,f[c+8>>2]|0,0)|0)){e=c;d=f[e+4>>2]|0;b=b+72|0;f[b>>2]=f[e>>2];f[b+4>>2]=d;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];return}else{e=a;f[e>>2]=0;f[e+4>>2]=0;e=a+8|0;f[e>>2]=-1;f[e+4>>2]=-1;return}e=a;f[e>>2]=0;f[e+4>>2]=0;e=a+8|0;f[e>>2]=-1;f[e+4>>2]=-1;return}function fE(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=u;u=u+16|0;j=l;k=a+11|0;g=b[k>>0]|0;e=g<<24>>24<0;if(e)h=f[a+4>>2]|0;else h=g&255;if(h>>>0>>0)BO(a);if(d|0){if(e)i=f[a>>2]|0;else i=a;e=h-c|0;d=e>>>0>>0?e:d;e=e-d|0;if(e){g=i+c|0;Kaa(g,g+d|0,e)|0;g=b[k>>0]|0}e=h-d|0;if(g<<24>>24<0)f[a+4>>2]=e;else b[k>>0]=e;b[j>>0]=0;vga(i+e|0,j)}u=l;return a|0}function gE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(68)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;f[g+56>>2]=f[a+56>>2];f[g>>2]=12788;c=g+60|0;x=0;Ga(462,c|0,f[a+64>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7696;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function hE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=0;if(!(f[b>>2]|0)){if(f[b+4>>2]|0)c=3}else c=3;if((c|0)==3){c=f[a+12>>2]|0;g=f[a+16>>2]|0;if((c|0)!=(g|0)){h=b+4|0;do{d=c+12|0;e=f[d>>2]|0;if(!e){i=c+16|0;f[i>>2]=(f[i>>2]|0)+(f[h>>2]|0)}f[d>>2]=e+(f[b>>2]|0);c=c+24|0}while((c|0)!=(g|0))}}c=a+24|0;d=f[c>>2]|0;if(d|0){i=f[b>>2]|0;i=d+i|0;f[c>>2]=i;return}i=a+28|0;f[i>>2]=(f[i>>2]|0)+(f[b+4>>2]|0);i=f[b>>2]|0;i=d+i|0;f[c>>2]=i;return}function iE(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=u;u=u+32|0;h=j;a:do if(!(lka(c)|0)){i=(c|0)!=0;e=0;g=0;do{d=1<>2]|0;else d=ko(g,d|0?b:89823)|0;e=e+((d|0)!=0&1)|0;f[h+(g<<2)>>2]=d;g=g+1|0}while((g|0)!=6);switch(e|0){case 0:{c=82212;break a}case 1:{if((f[h>>2]|0)==21380){c=21428;break a}break}default:{}}}else{d=0;do{if(1<>2]=i}d=d+1|0}while((d|0)!=6)}while(0);u=j;return c|0}function jE(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=a+-72|0;e=c+68|0;a=f[e>>2]|0;if(a|0){e=a;return e|0}f[e>>2]=-1640531520;g=f[c+80>>2]|0;a=f[c+76>>2]|0;b=a;d=g;if((g|0)==(a|0)){g=-1640531520;return g|0}c=c+88|0;a=f[c>>2]|0;if(!a)if((b|0)==(d|0)){a=0;b=-1640531520}else{do{g=f[b+4>>2]|0;g=(vc[f[(f[g>>2]|0)+8>>2]&511](g)|0)+-1640531527|0;a=f[c>>2]|0;a=g+(a<<6)+(a>>>2)^a;f[c>>2]=a;b=b+8|0}while((b|0)!=(d|0));b=f[e>>2]|0}else b=-1640531520;g=a+-1640531527+(b<<6)+(b>>>2)^b;f[e>>2]=g;return g|0}function kE(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;i=u;u=u+16|0;g=i;if((a|0)==(b|0)){f[c>>2]=4;d=0;a=0}else{h=bua()|0;h=f[h>>2]|0;e=bua()|0;f[e>>2]=0;a=sea(a,g,d,$O()|0)|0;d=I;e=bua()|0;e=f[e>>2]|0;if(!e){j=bua()|0;f[j>>2]=h}if((f[g>>2]|0)==(b|0)){if((e|0)==34){f[c>>2]=4;d=(d|0)>0|(d|0)==0&a>>>0>0;a=d?-1:0;d=d?2147483647:-2147483648}}else{f[c>>2]=4;a=0;d=0}}I=d;u=i;return a|0}function lE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(68)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;f[g+56>>2]=f[a+56>>2];f[g>>2]=12532;c=g+60|0;x=0;Ga(462,c|0,f[a+64>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=12372;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function mE(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=TG(a,b,c,d,g)|0;g=f[e>>2]|0;h=f[d>>2]|0;if(g>>>0>>0){f[d>>2]=g;f[e>>2]=h;g=i+1|0;h=f[d>>2]|0;e=f[c>>2]|0;if(h>>>0>>0){f[c>>2]=h;f[d>>2]=e;g=i+2|0;h=f[c>>2]|0;e=f[b>>2]|0;if(h>>>0>>0){f[b>>2]=h;f[c>>2]=e;g=f[b>>2]|0;h=f[a>>2]|0;if(g>>>0>>0){f[a>>2]=g;f[b>>2]=h;g=i+4|0}else g=i+3|0}}}else g=i;return g|0}function nE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(76)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}f[g>>2]=6696;c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));c=g+52|0;f[c>>2]=13504;x=0;Ga(495,g+56|0,a+56|0);e=x;x=0;if(!(e&1)){f[g+68>>2]=f[a+68>>2];f[g>>2]=13360;f[c>>2]=13448;b[g+72>>0]=b[a+72>>0]|0;b[g+73>>0]=b[a+73>>0]|0;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function oE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=u;u=u+16|0;g=e;a=a+4|0;wv(a);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d=g+11|0;b[d>>0]=8;h=g;f[h>>2]=1852793664;f[h+4>>2]=1953391988;b[g+8>>0]=0;x=0;Ia(147,a|0,g|0,c|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[d>>0]|0)>=0)jb(a|0);Hta(f[g>>2]|0);jb(a|0)}else{if((b[d>>0]|0)>=0){aN(a);u=e;return}Hta(f[g>>2]|0);aN(a);u=e;return}}function pE(a,c){a=a|0;c=c|0;if(!c)return;pE(a,f[c>>2]|0);pE(a,f[c+4>>2]|0);a=c+16|0;_P(c+28|0);if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);Hta(c);return}function qE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(76)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));f[g+52>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=7296;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);e=x;x=0;if(!(e&1)){f[c>>2]=6920;b[g+72>>0]=b[a+72>>0]|0;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function rE(a,c){a=a|0;c=c|0;if(!c)return;rE(a,f[c>>2]|0);rE(a,f[c+4>>2]|0);a=c+16|0;_P(c+28|0);if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);Hta(c);return}function sE(a,b,c){a=a|0;b=b|0;c=c|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;if((ec|0)==1)ec=3}Vc(hc+64496|0);return f[fc>>2]|0}function tE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));d=g+52|0;f[d>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=9072;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7168;f[d>>2]=16;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function uE(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+68|0;b=f[e>>2]|0;if(b|0){e=b;return e|0}f[e>>2]=-1640531520;g=f[a+80>>2]|0;b=f[a+76>>2]|0;c=b;d=g;if((g|0)==(b|0)){g=-1640531520;return g|0}a=a+88|0;b=f[a>>2]|0;if(!b)if((c|0)==(d|0)){b=0;c=-1640531520}else{do{g=f[c+4>>2]|0;g=(vc[f[(f[g>>2]|0)+8>>2]&511](g)|0)+-1640531527|0;b=f[a>>2]|0;b=g+(b<<6)+(b>>>2)^b;f[a>>2]=b;c=c+8|0}while((c|0)!=(d|0));c=f[e>>2]|0}else c=-1640531520;g=b+-1640531527+(c<<6)+(c>>>2)^c;f[e>>2]=g;return g|0}function vE(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;do if(gea(a,f[c+8>>2]|0,g)|0)IR(0,c,d,e);else if(gea(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)){a=c+20|0;if((f[a>>2]|0)!=(d|0)){f[c+32>>2]=e;f[a>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1)if((f[c+24>>2]|0)==2)b[c+54>>0]=1;f[c+44>>2]=4;break}}if((e|0)==1)f[c+32>>2]=1}while(0);return}function wE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));d=g+52|0;f[d>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=8208;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7696;f[d>>2]=14;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function xE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;c=g+56|0;f[c>>2]=f[a+56>>2];f[g>>2]=10992;x=0;Ga(459,g+60|0,a+60|0);a=x;x=0;if(!(a&1)){f[c>>2]=13;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function yE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));d=g+52|0;f[d>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=8976;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7696;f[d>>2]=15;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function zE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));d=g+52|0;f[d>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=8304;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7696;f[d>>2]=17;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function AE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));d=g+52|0;f[d>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=8400;c=g+64|0;x=0;Ga(462,c|0,f[a+68>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7696;f[d>>2]=18;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function BE(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=Jta()|0;i=a+24|0;j=a+28|0;d=0;while(1){if((d|0)>=(c|0))break;e=f[i>>2]|0;g=f[j>>2]|0;if(e>>>0>>0){g=g-e>>2;k=c-d|0;g=(k|0)<(g|0)?k:g;RP(e,b,g)|0;f[i>>2]=(f[i>>2]|0)+(g<<2);b=b+(g<<2)|0;d=g+d|0;continue}g=f[(f[a>>2]|0)+52>>2]|0;k=mra(f[b>>2]|0)|0;if((xc[g&2047](a,k)|0)==(h|0))break;b=b+4|0;d=d+1|0}return d|0}function CE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;a=f[a+20>>2]|0;c=f[a+4>>2]|0;d=f[a+16>>2]|0;e=c+(((d>>>0)/146|0)<<2)|0;if((f[a+8>>2]|0)==(c|0)){g=0;c=0}else{g=d+(f[a+20>>2]|0)|0;g=(f[c+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;c=(f[e>>2]|0)+(((d>>>0)%146|0)*28|0)|0}a=0;a:while(1){do{if((g|0)==(c|0)){c=9;break a}d=Al(c,b)|0;a=a|d;if(d){c=9;break a}c=c+28|0}while((c-(f[e>>2]|0)|0)!=4088);c=e+4|0;e=c;c=f[c>>2]|0}if((c|0)==9)return a|0;return 0}function DE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=LV(b)|0;x=0;b=ta(168,a|0,c|0,g|0)|0;c=x;x=0;if(c&1){b=Ya()|0;if(d|0){x=0;qa(407,d|0)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}}jb(b|0)}else{if(d|0){x=0;qa(407,d|0)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}}u=e;return b|0}return 0}function EE(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;j=u;u=u+16|0;h=j+4|0;i=j;kha(h,d);x=0;d=sa(994,h|0,83352)|0;k=x;x=0;if(k&1){k=Ya()|0;uga(h);jb(k|0)}else{uga(h);f[i>>2]=f[c>>2];f[h>>2]=f[i>>2];eG(a,g+16|0,b,h,e,d);u=j;return f[b>>2]|0}return 0}function FE(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;j=u;u=u+16|0;h=j+4|0;i=j;kha(h,d);x=0;d=sa(994,h|0,83352)|0;k=x;x=0;if(k&1){k=Ya()|0;uga(h);jb(k|0)}else{uga(h);f[i>>2]=f[c>>2];f[h>>2]=f[i>>2];kG(a,g+24|0,b,h,e,d);u=j;return f[b>>2]|0}return 0}function GE(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;j=u;u=u+16|0;h=j+4|0;i=j;kha(h,d);x=0;d=sa(994,h|0,83320)|0;k=x;x=0;if(k&1){k=Ya()|0;uga(h);jb(k|0)}else{uga(h);f[i>>2]=f[c>>2];f[h>>2]=f[i>>2];fG(a,g+16|0,b,h,e,d);u=j;return f[b>>2]|0}return 0}function HE(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;j=u;u=u+16|0;h=j+4|0;i=j;kha(h,d);x=0;d=sa(994,h|0,83320)|0;k=x;x=0;if(k&1){k=Ya()|0;uga(h);jb(k|0)}else{uga(h);f[i>>2]=f[c>>2];f[h>>2]=f[i>>2];lG(a,g+24|0,b,h,e,d);u=j;return f[b>>2]|0}return 0}function IE(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a:do if(gea(a,f[c+8>>2]|0,0)|0)yJ(0,c,d,e);else{h=f[a+12>>2]|0;g=a+16+(h<<3)|0;QN(a+16|0,c,d,e);if((h|0)>1){h=c+54|0;a=a+24|0;do{QN(a,c,d,e);if(b[h>>0]|0)break a;a=a+8|0}while(a>>>0>>0)}}while(0);return}function JE(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;i=Kta()|0;j=a+24|0;k=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;g=f[j>>2]|0;h=f[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=d-e|0;h=(l|0)<(h|0)?l:h;Naa(g,c,h)|0;f[j>>2]=(f[j>>2]|0)+h;c=c+h|0;e=h+e|0;continue}h=f[(f[a>>2]|0)+52>>2]|0;l=mqa(b[c>>0]|0)|0;if((xc[h&2047](a,l)|0)==(i|0))break;c=c+1|0;e=e+1|0}return e|0}function KE(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(72)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));f[g>>2]=13544;c=g+52|0;x=0;Ga(462,c|0,f[a+56>>2]|0);e=x;x=0;if(!(e&1)){f[c>>2]=7904;b[g+60>>0]=b[a+60>>0]|0;f[g+64>>2]=f[a+64>>2];f[g+68>>2]=f[a+68>>2];return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function LE(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;e=f[a>>2]|0;if(!e){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((e|0)!=(d|0)){g=c+36|0;f[g>>2]=(f[g>>2]|0)+1;b[c+54>>0]=1;break}e=c+24|0;a=f[e>>2]|0;if((a|0)==2){f[e>>2]=g;a=g}if((a|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function ME(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;if((-17-c|0)>>>0>>0)CO(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){j=d+c|0;k=c<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=VN(j)|0;if(g|0)Naa(k,l,g)|0;d=e-h-g|0;if(d|0)Naa(k+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Hta(l);f[a>>2]=k;f[a+8>>2]=j|-2147483648;return}function NE(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;j=u;u=u+16|0;h=j+4|0;i=j;kha(h,d);x=0;d=sa(994,h|0,83352)|0;k=x;x=0;if(k&1){k=Ya()|0;uga(h);jb(k|0)}else{uga(h);f[i>>2]=f[c>>2];f[h>>2]=f[i>>2];JH(a,g+20|0,b,h,e,d);u=j;return f[b>>2]|0}return 0}function OE(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;j=u;u=u+16|0;h=j+4|0;i=j;kha(h,d);x=0;d=sa(994,h|0,83320)|0;k=x;x=0;if(k&1){k=Ya()|0;uga(h);jb(k|0)}else{uga(h);f[i>>2]=f[c>>2];f[h>>2]=f[i>>2];KH(a,g+20|0,b,h,e,d);u=j;return f[b>>2]|0}return 0}function PE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c&255;a:do if(!e)a=a+(hL(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=X(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 QE(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=a+60|0;e=a+72|0;c=f[e>>2]|0;if(c|0){g=a+76|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}c=f[h>>2]|0;if(!c){Hta(a);return}e=a+64|0;d=f[e>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(c|0));c=f[h>>2]|0}Hta(c);Hta(a);return}function RE(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;Jta()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(c|0))break;d=f[h>>2]|0;e=f[i>>2]|0;if(d>>>0>>0){e=e-d>>2;j=c-g|0;e=(j|0)<(e|0)?j:e;RP(b,d,e)|0;f[h>>2]=(f[h>>2]|0)+(e<<2);b=b+(e<<2)|0;g=e+g|0;continue}d=vc[f[(f[a>>2]|0)+40>>2]&511](a)|0;if((d|0)==-1)break;j=bra(d)|0;f[b>>2]=j;b=b+4|0;g=g+1|0}return g|0}function SE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;d=b+72|0;b=(f[b+80>>2]|0)-(f[b+76>>2]|0)>>3;c=a+72|0;a=(f[a+80>>2]|0)-(f[a+76>>2]|0)>>3;b=a>>>0>>0?a:b;if(!b){d=0;return d|0}a=0;while(1){g=(xc[f[(f[c>>2]|0)+12>>2]&2047](c,a)|0)+4|0;g=f[g>>2]|0;h=f[(f[g>>2]|0)+156>>2]|0;e=(xc[f[(f[d>>2]|0)+12>>2]&2047](d,a)|0)+4|0;a=a+1|0;if(xc[h&2047](g,f[e>>2]|0)|0){b=1;a=5;break}if(a>>>0>=b>>>0){b=0;a=5;break}}if((a|0)==5)return b|0;return 0}function TE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=u;u=u+32|0;c=e+8|0;d=e;if(!(Rw(b,1,0)|0)){qV(a,0);f[a>>2]=7696;u=e;return}g=b+168|0;f[c>>2]=f[g>>2];f[c+4>>2]=f[g+4>>2];f[c+8>>2]=f[g+8>>2];Md(d,b,c,1,1);x=0;Ga(462,a|0,f[d+4>>2]|0);b=x;x=0;if(b&1){g=Ya()|0;_P(d);jb(g|0)}f[a>>2]=7696;_P(d);u=e;return}function UE(a){a=a|0;var c=0,d=0,e=0,g=0;c=VN(36)|0;f[c+4>>2]=0;f[c+8>>2]=0;f[c>>2]=16236;d=c+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;b[a>>0]=0;f[a+4>>2]=2;f[a+8>>2]=0;e=a+12|0;x=0;Ga(462,e|0,0);g=x;x=0;if(g&1){g=Ya()|0;QZ(c);jb(g|0)}else{f[e>>2]=15556;f[a+20>>2]=d;f[a+24>>2]=c;ega(c);QZ(c);return}}function VE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e;c=f[a+80>>2]|0;if(c|0)if(xc[f[(f[c>>2]|0)+40>>2]&2047](c,b)|0){d=1;u=e;return d|0}c=f[a+88>>2]|0;if(c|0)if(xc[f[(f[c>>2]|0)+40>>2]&2047](c,b)|0){d=1;u=e;return d|0}qV(d,a);f[d>>2]=6664;x=0;c=qa(b|0,d|0)|0;b=x;x=0;if(b&1){e=Ya()|0;_P(d);jb(e|0)}_P(d);d=c;u=e;return d|0}function WE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(gea(a,b,0)|0)b=1;else if(!b)b=0;else{b=uy(b,6104,6088,0)|0;if(!b)b=0;else{d=g+4|0;e=d+52|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[g>>2]=b;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Oc[f[(f[b>>2]|0)+28>>2]&63](b,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}}u=h;return b|0}function XE(a,c){a=a|0;c=c|0;if(!c)return;XE(a,f[c>>2]|0);XE(a,f[c+4>>2]|0);a=c+16|0;_P(c+36|0);if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);Hta(c);return}function YE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;c=e+8|0;d=e;qV(c,f[a+4>>2]|0);f[c>>2]=7696;x=0;Ga(462,d|0,f[b+4>>2]|0);b=x;x=0;if(b&1){e=Ya()|0;_P(c);jb(e|0)}f[d>>2]=7696;x=0;a=ta(163,c|0,d|0,6)|0;b=x;x=0;if(!(b&1)){_P(d);_P(c);u=e;return a|0}e=Ya()|0;_P(d);_P(c);jb(e|0);return 0}function ZE(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;d=b[c+60>>0]|0;a=a+4|0;if(!(d<<24>>24)){FI(a,c+64|0,c);u=e;return}Uk(g,c+64|0,d);x=0;Ia(147,a|0,g|0,c|0);d=x;x=0;if(d&1){a=Ya()|0;if((b[g+11>>0]|0)>=0)jb(a|0);Hta(f[g>>2]|0);jb(a|0)}else{if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);u=e;return}}function _E(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;if((d|0)!=1&(d|0)<257)zba(a,c,d);else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=yqa(57389)|0;if(c>>>0>4294967279)CO(a);if(c>>>0<11)b[a+11>>0]=c;else{h=c+16&-16;d=VN(h)|0;f[a>>2]=d;f[a+8>>2]=h|-2147483648;f[a+4>>2]=c;a=d}Naa(a,57389,c)|0;b[e>>0]=0;vga(a+c|0,e)}u=g;return}function $E(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=a+-72|0;e=c+68|0;a=f[e>>2]|0;if(a|0){e=a;return e|0}f[e>>2]=-1640531520;d=c+88|0;a=f[d>>2]|0;if(!a){b=f[c+76>>2]|0;c=f[c+80>>2]|0;if((b|0)==(c|0)){a=0;b=-1640531520}else{do{g=f[b+4>>2]|0;g=(vc[f[(f[g>>2]|0)+8>>2]&511](g)|0)+-1640531527|0;a=f[d>>2]|0;a=g+(a<<6)+(a>>>2)^a;f[d>>2]=a;b=b+8|0}while((b|0)!=(c|0));b=f[e>>2]|0}}else b=-1640531520;g=a+-1640531527+(b<<6)+(b>>>2)^b;f[e>>2]=g;return g|0}function aF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=0;h=u;u=u+16|0;c=h;e=a+8|0;b=f[e>>2]|0;d=a+12|0;a:do if((b|0)<(f[d>>2]|0))g=6;else{f[c>>2]=f[a>>2];f[c+4>>2]=a+24;f[c+8>>2]=2048;b=qb(220,c|0)|0;if((b|0)>=1){f[d>>2]=b;f[e>>2]=0;b=0;g=6;break}switch(b|0){case 0:case -2:{b=0;break a}default:{}}e=bua()|0;f[e>>2]=0-b;b=0}while(0);if((g|0)==6){g=a+24+b|0;f[e>>2]=b+(j[g+8>>1]|0);f[a+4>>2]=f[g+4>>2];b=g}u=h;return b|0}function bF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;Rfa(a);g=f[a+12>>2]|0;h=yta((g|0)>-1?g:-1)|0;d=yta((g|0)<0?-1:g<<1)|0;e=b+4|0;do{Zu(b,h,g)|0;i=f[e>>2]|0;bv(c,d,Vu(h,i,d,a)|0)|0}while((i|0)>0?(f[b+(f[(f[b>>2]|0)+-12>>2]|0)+16>>2]|0)==0:0);bv(c,d,LG(d,a)|0)|0;Rfa(a);zta(d);zta(h);return}function cF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;if((d|0)>256){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=yqa(60118)|0;if(d>>>0>4294967279)CO(a);if(d>>>0<11){b[a+11>>0]=d;c=a}else{h=d+16&-16;c=VN(h)|0;f[a>>2]=c;f[a+8>>2]=h|-2147483648;f[a+4>>2]=d}Naa(c,60118,d)|0;b[e>>0]=0;vga(c+d|0,e)}else zba(a,0,d);u=g;return}function dF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;g=f[d>>2]|0;e=a+8|0;c=b+24|0;f[((g|0)==0?c:g+8|0)>>2]=f[e>>2];b=f[e>>2]|0;f[((b|0)==0?c+4|0:b+4|0)>>2]=f[d>>2];$h(f[a+12>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}switch(f[a+16>>2]|0){case 2:{$h(f[a+24>>2]|0);break}case 5:case 4:{b=f[a+24>>2]|0;if(b|0)do{g=b;b=f[b+8>>2]|0;dF(g)}while((b|0)!=0);break}default:{}}$h(a);return}function eF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=0;if((f[c+76>>2]|0)<0)i=3;else if(!(Vta(c)|0))i=3;else{e=a&255;d=a&255;if((d|0)==(b[c+75>>0]|0))i=10;else{g=c+20|0;h=f[g>>2]|0;if(h>>>0<(f[c+16>>2]|0)>>>0){f[g>>2]=h+1;b[h>>0]=e}else i=10}if((i|0)==10)d=JG(c,a)|0;Uta(c)}do if((i|0)==3){h=a&255;d=a&255;if((d|0)!=(b[c+75>>0]|0)){e=c+20|0;g=f[e>>2]|0;if(g>>>0<(f[c+16>>2]|0)>>>0){f[e>>2]=g+1;b[g>>0]=h;break}}d=JG(c,a)|0}while(0);return d|0}function fF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;if((d|0)>256){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=yqa(60375)|0;if(d>>>0>4294967279)CO(a);if(d>>>0<11){b[a+11>>0]=d;c=a}else{h=d+16&-16;c=VN(h)|0;f[a>>2]=c;f[a+8>>2]=h|-2147483648;f[a+4>>2]=d}Naa(c,60375,d)|0;b[e>>0]=0;vga(c+d|0,e)}else zba(a,0,d);u=g;return}function gF(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(116)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));c=g+52|0;f[c>>2]=f[a+52>>2];f[g+56>>2]=f[a+56>>2];b[g+60>>0]=b[a+60>>0]|0;f[g>>2]=8112;x=0;Ga(472,g+64|0,a+64|0);a=x;x=0;if(!(a&1)){f[c>>2]=11;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function hF(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;d=e;if(!a){u=e;return}b=a+8|0;c=f[b>>2]|0;if(c|0)Kc[f[(f[c>>2]|0)+4>>2]&511](c);f[b>>2]=0;f[a+4>>2]=0;qV(d,0);f[d>>2]=7280;b=a+12|0;if((b|0)!=(d|0)){c=a+16|0;if(f[c>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){e=Ya()|0;_P(d);jb(e|0)}}b=d+4|0;f[c>>2]=f[b>>2];f[b>>2]=0}_P(d);$h(a);u=e;return}function iF(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;Kta()|0;i=a+12|0;j=a+16|0;h=0;while(1){if((h|0)>=(d|0))break;e=f[i>>2]|0;g=f[j>>2]|0;if(e>>>0>>0){g=g-e|0;k=d-h|0;g=(k|0)<(g|0)?k:g;Naa(c,e,g)|0;f[i>>2]=(f[i>>2]|0)+g;c=c+g|0;h=g+h|0;continue}e=vc[f[(f[a>>2]|0)+40>>2]&511](a)|0;if((e|0)==-1)break;k=cqa(e)|0;b[c>>0]=k;c=c+1|0;h=h+1|0}return h|0}function jF(a,c){a=a|0;c=c|0;var d=0,e=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=8}else e=8;while(0);if((e|0)==8){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 kF(a,b){a=a|0;b=b|0;var c=0,d=0;d=a+12|0;c=f[d>>2]|0;if(!c){b=0;return b|0}while(1){if(!(f[c+12>>2]|0)){a=0;c=5;break}if((ww(a,b)|0)!=(a+4|0)){a=1;c=5;break}a=f[d>>2]|0;d=a+12|0;c=f[d>>2]|0;if(!c){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function lF(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;j=u;u=u+16|0;h=j;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;i=e-d|0;if(i>>>0>4294967279)CO(a);if(i>>>0<11){b[a+11>>0]=i;g=a}else{c=i+16&-16;g=VN(c)|0;f[a>>2]=g;f[a+8>>2]=c|-2147483648;f[a+4>>2]=i}c=d;a=g;while(1){if((c|0)==(e|0))break;vga(a,c);c=c+1|0;a=a+1|0}b[h>>0]=0;vga(g+i|0,h);u=j;return}function mF(a,b,c){a=+a;b=+b;c=+c;var d=0;if(!(a==255.0|(a==238.0|(a==221.0|(a==204.0|(a==187.0|(a==170.0|(a==153.0|(a==136.0|(a==119.0|(a==102.0|(a==85.0|(a==68.0|(a==51.0|(a==34.0|(a==0.0|a==17.0)))))))))))))))){d=0;return d|0}if(!(b==255.0|(b==238.0|(b==221.0|(b==204.0|(b==187.0|(b==170.0|(b==153.0|(b==136.0|(b==119.0|(b==102.0|(b==85.0|(b==68.0|(b==51.0|(b==34.0|(b==0.0|b==17.0)))))))))))))))){d=0;return d|0}d=c==255.0|(c==238.0|(c==221.0|(c==204.0|(c==187.0|(c==170.0|(c==153.0|(c==136.0|(c==119.0|(c==102.0|(c==85.0|(c==68.0|(c==51.0|(c==34.0|(c==0.0|c==17.0))))))))))))));return d|0}function nF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=9848;_P(a+40|0);d=a+24|0;b=f[d>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b)}b=f[a+12>>2]|0;if(b|0)do{g=b;b=f[b>>2]|0;_P(g+16|0);_P(g+8|0);Hta(g)}while((b|0)!=0);g=a+4|0;b=f[g>>2]|0;f[g>>2]=0;if(!b){Hta(a);return}Hta(b);Hta(a);return}function oF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;Dp(a+16|0,c);e=a+4|0;iA(d,c,e);c=e+11|0;if((b[c>>0]|0)<0){b[f[e>>2]>>0]=0;f[a+8>>2]=0}else{b[e>>0]=0;b[c>>0]=0}x=0;Ga(501,e|0,0);a=x;x=0;if(a&1){g=Za(0)|0;soa(g)}else{f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];u=g;return}}function pF(a){a=a|0;var c=0,d=0,e=0;d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?a+1|0:a;if(!c){a=0;return a|0}a=ZW(c)|0;c=a|0?a:c;if(!c){a=0;return a|0}if((b[c>>0]|0)!=110){a=0;return a|0}a=Et(c+1|0)|0;return a|0}function qF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){b[a>>0]=43;a=a+1|0}if(d&1024){b[a>>0]=35;a=a+1|0}h=d&260;e=(d&16384|0)!=0;f=(h|0)==260;if(f)g=0;else{b[a>>0]=46;b[a+1>>0]=42;g=1;a=a+2|0}while(1){d=b[c>>0]|0;if(!(d<<24>>24))break;b[a>>0]=d;c=c+1|0;a=a+1|0}a:do switch(h&511){case 4:{d=e?70:102;break}case 256:{d=e?69:101;break}default:if(f){d=e?65:97;break a}else{d=e?71:103;break a}}while(0);b[a>>0]=d;return g|0}function rF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;e=g;d=a+4|0;Lc[f[(f[c>>2]|0)+140>>2]&1023](e,c);x=0;Ia(147,d|0,e|0,c|0);a=x;x=0;if(a&1){a=Ya()|0;if((b[e+11>>0]|0)>=0)jb(a|0);Hta(f[e>>2]|0);jb(a|0)}if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);a=c+61|0;if(!(b[a>>0]|0)){u=g;return}dQ(d);if(!(b[a>>0]|0)){u=g;return}wv(d);u=g;return}function sF(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=a+60|0;e=a+72|0;c=f[e>>2]|0;if(c|0){g=a+76|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}c=f[h>>2]|0;if(!c)return;e=a+64|0;d=f[e>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(c|0));c=f[h>>2]|0}Hta(c);return}function tF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e;c=b+4|0;b=f[c>>2]|0;if(!b)b=0;else b=(f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==33177?b:0;qV(d,b);f[d>>2]=12516;b=f[d+4>>2]|0;if(b|0){a=(f[b+76>>2]|0)!=(f[a+76>>2]|0);_P(d);d=a;u=e;return d|0}_P(d);b=f[c>>2]|0;if(!b){d=0;u=e;return d|0}d=(f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==33204;u=e;return d|0}function uF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+68|0;b=f[e>>2]|0;if(b|0){e=b;return e|0}f[e>>2]=-1640531520;d=a+88|0;b=f[d>>2]|0;if(!b){c=f[a+76>>2]|0;a=f[a+80>>2]|0;if((c|0)==(a|0)){b=0;c=-1640531520}else{do{g=f[c+4>>2]|0;g=(vc[f[(f[g>>2]|0)+8>>2]&511](g)|0)+-1640531527|0;b=f[d>>2]|0;b=g+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));c=f[e>>2]|0}}else c=-1640531520;g=b+-1640531527+(c<<6)+(c>>>2)^c;f[e>>2]=g;return g|0}function vF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;e=g;d=a+4|0;Lc[f[(f[c>>2]|0)+140>>2]&1023](e,c);x=0;Ia(147,d|0,e|0,c|0);a=x;x=0;if(a&1){a=Ya()|0;if((b[e+11>>0]|0)>=0)jb(a|0);Hta(f[e>>2]|0);jb(a|0)}if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);a=c+61|0;if(!(b[a>>0]|0)){u=g;return}dQ(d);if(!(b[a>>0]|0)){u=g;return}wv(d);u=g;return}function wF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;WQ(a);f[a>>2]=26428;f[a+32>>2]=c;y9(e,a+4|0);x=0;c=sa(994,e|0,85120)|0;h=x;x=0;if(h&1){h=Ya()|0;uga(e);rca(a);jb(h|0)}else{uga(e);f[a+36>>2]=c;f[a+40>>2]=d;h=(vc[f[(f[c>>2]|0)+28>>2]&511](c)|0)&1;b[a+44>>0]=h;u=g;return}}function xF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;XQ(a);f[a>>2]=26492;f[a+32>>2]=c;y9(e,a+4|0);x=0;c=sa(994,e|0,85112)|0;h=x;x=0;if(h&1){h=Ya()|0;uga(e);Bca(a);jb(h|0)}else{uga(e);f[a+36>>2]=c;f[a+40>>2]=d;h=(vc[f[(f[c>>2]|0)+28>>2]&511](c)|0)&1;b[a+44>>0]=h;u=g;return}}function yF(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;j=0;k=u;u=u+16|0;c=k+8|0;d=k;e=a+36|0;g=a+40|0;h=c+8|0;i=c;b=a+32|0;a:while(1){a=f[e>>2]|0;a=Bc[f[(f[a>>2]|0)+20>>2]&63](a,f[g>>2]|0,c,h,d)|0;l=(f[d>>2]|0)-i|0;if((vO(c,1,l,f[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((VG(f[b>>2]|0)|0)!=0)<<31>>31;u=k;return a|0}function zF(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;j=0;k=u;u=u+16|0;c=k+8|0;d=k;e=a+36|0;g=a+40|0;h=c+8|0;i=c;b=a+32|0;a:while(1){a=f[e>>2]|0;a=Bc[f[(f[a>>2]|0)+20>>2]&63](a,f[g>>2]|0,c,h,d)|0;l=(f[d>>2]|0)-i|0;if((vO(c,1,l,f[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((VG(f[b>>2]|0)|0)!=0)<<31>>31;u=k;return a|0}function AF(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0;f[a>>2]=6680;i=a+4|0;e=a+16|0;g=i;h=g+12|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));x=0;Fa(465,e|0);h=x;x=0;if(!(h&1)){f[a+68>>2]=c;h=a+72|0;i=a+88|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;b[h+12>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;d[i+12>>1]=0;b[i+14>>0]=0;return}a=Ya()|0;if((b[i+11>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}function BF(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c;a=a+108|0;qV(e,f[a>>2]|0);f[e>>2]=7168;d=(f[e+4>>2]|0)==0;_P(e);if(d){e=0;u=c;return e|0}qV(b,f[a>>2]|0);f[b>>2]=7168;a=f[b+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+128>>2]|0,a|0)|0;e=x;x=0;if(e&1){e=Ya()|0;_P(b);jb(e|0)}_P(b);e=a;u=c;return e|0}function CF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;WQ(a);f[a>>2]=26556;f[a+32>>2]=c;f[a+40>>2]=d;d=Jta()|0;f[a+48>>2]=d;b[a+52>>0]=0;d=f[(f[a>>2]|0)+8>>2]|0;y9(e,a+4|0);x=0;Ga(d|0,a|0,e|0);d=x;x=0;if(d&1){g=Ya()|0;uga(e);rca(a);jb(g|0)}else{uga(e);u=g;return}}function DF(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;XQ(a);f[a>>2]=26620;f[a+32>>2]=c;f[a+40>>2]=d;d=Kta()|0;f[a+48>>2]=d;b[a+52>>0]=0;d=f[(f[a>>2]|0)+8>>2]|0;y9(e,a+4|0);x=0;Ga(d|0,a|0,e|0);d=x;x=0;if(d&1){g=Ya()|0;uga(e);Bca(a);jb(g|0)}else{uga(e);u=g;return}}function EF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;g=u;u=u+16|0;e=g;b=4;c=e;a:while(1){if(!b){b=8;break}b:while(1){d=UR(f[a>>2]|0,c,b)|0;switch(d|0){case 0:{b=4;break a}case -1:break;default:break b}d=bua()|0;if((f[d>>2]|0)!=4){b=6;break a}}b=b-d|0;c=c+d|0}if((b|0)==4)TI(61,59977);else if((b|0)==6){g=bua()|0;TI(f[g>>2]|0,59999)}else if((b|0)==8){u=g;return f[e>>2]|0}return 0}function FF(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c;a=a+108|0;qV(e,f[a>>2]|0);f[e>>2]=7168;d=(f[e+4>>2]|0)==0;_P(e);if(d){e=0;u=c;return e|0}qV(b,f[a>>2]|0);f[b>>2]=7168;a=f[b+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+124>>2]|0,a|0)|0;e=x;x=0;if(e&1){e=Ya()|0;_P(b);jb(e|0)}_P(b);e=a;u=c;return e|0}function GF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;d=f[a>>2]|0;h=a+4|0;g=b+4|0;e=(f[h>>2]|0)-d|0;c=(f[g>>2]|0)+(0-(e>>2)<<2)|0;f[g>>2]=c;if((e|0)>0){Lu(c|0,d|0,e|0)|0;d=g;c=f[g>>2]|0}else d=g;g=f[a>>2]|0;f[a>>2]=c;f[d>>2]=g;g=b+8|0;e=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=e;g=a+8|0;h=b+12|0;a=f[g>>2]|0;f[g>>2]=f[h>>2];f[h>>2]=a;f[b>>2]=f[d>>2];return}function HF(a,c){a=a|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=0;switch(Eo(a,c,d)|0){case 5:{e=Ta(8)|0;d=f[d>>2]|0;f[e>>2]=16684;f[e+4>>2]=d;fb(e|0,2528,223)}case 1:{e=Ta(4)|0;f[e>>2]=16704;fb(e|0,2544,223)}case 4:case 3:case 2:{e=Ta(8)|0;d=b[f[a>>2]>>0]|0;f[e>>2]=16724;b[e+4>>0]=d;fb(e|0,2560,223)}default:{u=e;return f[d>>2]|0}}return 0}function IF(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=a+72|0;b=f[d>>2]|0;if(b|0){d=b;u=e;return d|0}f[d>>2]=f[a+60>>2];qV(c,f[a+68>>2]|0);f[c>>2]=7696;a=f[c+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+8>>2]|0,a|0)|0;b=x;x=0;if(b&1){e=Ya()|0;_P(c);jb(e|0)}b=f[d>>2]|0;f[d>>2]=a+-1640531527+(b<<6)+(b>>>2)^b;_P(c);d=f[d>>2]|0;u=e;return d|0}function JF(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;switch(b[a>>0]|0){case 58:case 93:case 41:case 123:case 125:case 59:case 44:{f=a+1|0;return f|0}default:{}}c=Gma(a)|0;if(c|0){f=c;return f|0}d=b[49844]|0;if(!(d<<24>>24)){f=a;return f|0}else{c=a;e=49844}while(1){if((b[c>>0]|0)!=d<<24>>24)break;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=7;break}}if((f|0)==7)return c|0;f=dA(a)|0;return f|0}function KF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a+60>>2]=9848;_P(a+100|0);d=a+84|0;b=f[d>>2]|0;if(b|0){e=a+88|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b)}b=f[a+72>>2]|0;if(b|0)do{g=b;b=f[b>>2]|0;_P(g+16|0);_P(g+8|0);Hta(g)}while((b|0)!=0);g=a+64|0;b=f[g>>2]|0;f[g>>2]=0;if(!b)return;Hta(b);return}function LF(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d;b=f[a+76>>2]|0;if((f[a+80>>2]|0)==(b|0)){c=0;u=d;return c|0}qV(c,f[b+4>>2]|0);f[c>>2]=13852;a=f[c+4>>2]|0;if(a|0){x=0;a=qa(f[(f[a>>2]|0)+144>>2]|0,a|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}if(a){_P(c);c=1;u=d;return c|0}}_P(c);c=0;u=d;return c|0}function MF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;g=d;i=(b[c+60>>0]|0)!=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=i?4:5;e=g+11|0;b[e>>0]=h;Lu(g|0,(i?59838:59832)|0,h|0)|0;b[g+h>>0]=0;x=0;Ia(147,a+4|0,g|0,c|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[e>>0]|0)>=0)jb(a|0);Hta(f[g>>2]|0);jb(a|0)}else{if((b[e>>0]|0)>=0){u=d;return}Hta(f[g>>2]|0);u=d;return}}function NF(a){a=a|0;var c=0;c=a;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(!c)c=0;else{c=Ay(c)|0;if(!c)c=0;else{c=wy(c)|0;if(!c)c=0;else c=(b[c>>0]|0)==124?c+1|0:0}}c=c|0?c:a;if(!c){a=0;return a|0}while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(!c){a=0;return a|0}a=wy(c)|0;return a|0}function OF(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=9848;_P(a+40|0);d=a+24|0;b=f[d>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b)}b=f[a+12>>2]|0;if(b|0)do{g=b;b=f[b>>2]|0;_P(g+16|0);_P(g+8|0);Hta(g)}while((b|0)!=0);g=a+4|0;b=f[g>>2]|0;f[g>>2]=0;if(!b)return;Hta(b);return}function PF(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=16212;g=a+72|0;c=f[g>>2]|0;if(c|0){h=a+76|0;d=f[h>>2]|0;if((d|0)!=(c|0)){e=d;while(1){d=e+-52|0;f[h>>2]=d;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=f[h>>2]|0}if((d|0)==(c|0))break;else e=d}c=f[g>>2]|0}Hta(c)}c=a+20|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+8|0;if((b[c+11>>0]|0)>=0){dfa(a);return}Hta(f[c>>2]|0);dfa(a);return}function QF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;d=u;u=u+16|0;g=d+8|0;c=d;b=b+68|0;qV(g,f[b>>2]|0);f[g>>2]=7280;e=(f[g+4>>2]|0)==0;_P(g);if(e){u=d;return}qV(c,f[b>>2]|0);f[c>>2]=7280;g=f[c+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+44>>2]|0,g|0,a|0);g=x;x=0;if(g&1){g=Ya()|0;_P(c);jb(g|0)}_P(c);u=d;return}function RF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;d=f[b>>2]|0;h=f[a>>2]|0;e=f[c>>2]|0;g=e>>>0>>0;do if(d>>>0>>0){if(g){f[a>>2]=e;f[c>>2]=h;d=1;break}f[a>>2]=d;f[b>>2]=h;d=f[c>>2]|0;if(d>>>0>>0){f[b>>2]=d;f[c>>2]=h;d=2}else d=1}else if(g){f[b>>2]=e;f[c>>2]=d;e=f[b>>2]|0;d=f[a>>2]|0;if(e>>>0>>0){f[a>>2]=e;f[b>>2]=d;d=2}else d=1}else d=0;while(0);return d|0}function SF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+44|0;d=f[e>>2]|0;g=f[a+24>>2]|0;if(d>>>0>>0){f[e>>2]=g;d=g}h=a+12|0;e=f[h>>2]|0;if((f[a+8>>2]|0)>>>0>=e>>>0){c=-1;return c|0}if((c|0)==-1){f[h>>2]=e+-1;f[a+16>>2]=d;c=0;return c|0}if(!(f[a+48>>2]&16)){g=c&255;e=e+-1|0;if((b[e>>0]|0)!=g<<24>>24){c=-1;return c|0}}else{g=c&255;e=e+-1|0}f[h>>2]=e;f[a+16>>2]=d;b[e>>0]=g;return c|0}function TF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=u;u=u+48|0;h=i+32|0;g=i+16|0;d=i;if(!(HB(56927,b[c>>0]|0,4)|0)){a=bua()|0;f[a>>2]=22;a=0}else{e=dO(c)|0;f[d>>2]=a;f[d+4>>2]=e|32768;f[d+8>>2]=438;d=caa(tb(5,d|0)|0)|0;if((d|0)<0)a=0;else{if(e&524288|0){f[g>>2]=d;f[g+4>>2]=2;f[g+8>>2]=1;rb(221,g|0)|0}a=Au(d,c)|0;if(!a){f[h>>2]=d;vb(6,h|0)|0;a=0}}}u=i;return a|0}function UF(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;switch(b[a>>0]|0){case 58:case 93:case 41:case 123:case 125:case 59:{f=a+1|0;return f|0}default:{}}c=Gma(a)|0;if(c|0){f=c;return f|0}d=b[49844]|0;if(!(d<<24>>24)){f=a;return f|0}else{c=a;e=49844}while(1){if((b[c>>0]|0)!=d<<24>>24)break;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=7;break}}if((f|0)==7)return c|0;f=dA(a)|0;return f|0}function VF(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=c+64|0;h=c+68|0;g=wP((f[h>>2]|0)-(f[d>>2]|0)>>3,f[c+80>>2]|0,(b[c+85>>0]|0)!=0)|0;d=f[d>>2]|0;h=(f[h>>2]|0)-d>>3;if(!h)return g|0;e=c+64|0;d=f[d+4>>2]|0;Aca(g,0,xc[f[(f[d>>2]|0)+68>>2]&2047](d,a)|0);if((h|0)==1)return g|0;else c=1;do{d=f[(f[e>>2]|0)+(c<<3)+4>>2]|0;Aca(g,c,xc[f[(f[d>>2]|0)+68>>2]&2047](d,a)|0);c=c+1|0}while((c|0)!=(h|0));return g|0}function WF(a){a=a|0;var c=0,d=0,e=0;c=Ufa(a)|0;if(c|0){a=c;return a|0}c=hma(a)|0;if(c|0){a=c;return a|0}d=a+1|0;do if((b[a>>0]|0)==92){if(!(R5(d)|0)){c=$ma(d)|0;if(!c)break}else{c=a+2|0;if(R5(c)|0){c=a+3|0;e=(R5(c)|0)==0;c=e?c:a+4|0}}c=(b[c>>0]|0)==32?c+1|0:c;if(c|0){e=c;return e|0}}while(0);e=(b[a>>0]|0)==95?d:0;return e|0}function XF(a){a=a|0;var c=0,d=0,e=0;c=S5(a)|0;if(c|0){a=c;return a|0}c=hma(a)|0;if(c|0){a=c;return a|0}d=a+1|0;do if((b[a>>0]|0)==92){if(!(R5(d)|0)){c=$ma(d)|0;if(!c)break}else{c=a+2|0;if(R5(c)|0){c=a+3|0;e=(R5(c)|0)==0;c=e?c:a+4|0}}c=(b[c>>0]|0)==32?c+1|0:c;if(c|0){e=c;return e|0}}while(0);e=(b[a>>0]|0)==95?d:0;return e|0}function YF(a){a=a|0;var c=0,d=0,e=0;d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?a+1|0:a;if(!c){a=0;return a|0}c=Nu(c)|0;if(!c){a=0;return a|0}a=(b[c>>0]|0)==37?c+1|0:0;return a|0}function ZF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;d=u;u=u+16|0;g=d+8|0;c=d;b=b+68|0;qV(g,f[b>>2]|0);f[g>>2]=7280;e=(f[g+4>>2]|0)==0;_P(g);if(e){u=d;return}qV(c,f[b>>2]|0);f[c>>2]=7280;g=f[c+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+44>>2]|0,g|0,a|0);g=x;x=0;if(g&1){g=Ya()|0;_P(c);jb(g|0)}_P(c);u=d;return}function _F(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;g=gH((b[c+11>>0]|0)<0?f[c>>2]|0:c,0,d)|0;f[a>>2]=g;if((g|0)<0){g=bua()|0;g=f[g>>2]|0;sB(d,59947,c);x=0;Ga(745,g|0,((b[d+11>>0]|0)<0?f[d>>2]|0:d)|0);x=0;g=Ya()|0;Aaa(d);jb(g|0)}else{u=e;return}}function $F(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;if(c)while(1){d=f[c+12>>2]|0;if(!d)break;else{a=c;c=d}}while(1){if((ww(a,b)|0)!=(a+4|0)){a=1;c=5;break}a=f[a+12>>2]|0;if(!a){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function aG(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=18640;b=f[a+40>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;d=f[c+40>>2]|0;if(d|0)QZ(d);_P(c+28|0);_P(c+8|0);Hta(c)}while((b|0)!=0);d=a+32|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Hta(b);b=f[a+20>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;_P(d+16|0);_P(d+8|0);Hta(d)}while((b|0)!=0);a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Hta(b);return}function bG(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j;h=a+11|0;e=b[h>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>>0)HD(a,c-e|0,d)|0;else if(i){i=(f[a>>2]|0)+c|0;b[g>>0]=0;vga(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;vga(a+c|0,g);b[h>>0]=c;break}while(0);u=j;return}function cG(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=19840;g=a+16|0;c=f[g>>2]|0;if(c|0){h=a+20|0;d=f[h>>2]|0;if((d|0)!=(c|0)){e=d;while(1){d=e+-52|0;f[h>>2]=d;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=f[h>>2]|0}if((d|0)==(c|0))break;else e=d}c=f[g>>2]|0}Hta(c)}c=f[a+4>>2]|0;if(!c){Hta(a);return}d=a+8|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c);Hta(a);return}function dG(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=16236;e=a+12|0;Vz(e);c=a+16|0;b=f[c>>2]|0;g=a+20|0;d=f[g>>2]|0;if((b|0)!=(d|0)){do{Hta(f[b>>2]|0);b=b+4|0}while((b|0)!=(d|0));b=f[c>>2]|0;c=f[g>>2]|0;if((c|0)!=(b|0))f[g>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=f[e>>2]|0;if(!b){Rsa(a);Hta(a);return}Hta(b);Rsa(a);Hta(a);return}function eG(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;h=u;u=u+16|0;i=h+4|0;j=h;a=a+8|0;a=vc[f[(f[a>>2]|0)+4>>2]&511](a)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];a=(wi(c,i,a,a+288|0,g,e,0)|0)-a|0;if((a|0)<288)f[b>>2]=((a|0)/12|0|0)%12|0;u=h;return}function fG(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;h=u;u=u+16|0;i=h+4|0;j=h;a=a+8|0;a=vc[f[(f[a>>2]|0)+4>>2]&511](a)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];a=(vi(c,i,a,a+288|0,g,e,0)|0)-a|0;if((a|0)<288)f[b>>2]=((a|0)/12|0|0)%12|0;u=h;return}function gG(a){a=a|0;var c=0,d=0,e=0;c=H2(a)|0;if(!c){d=b[a>>0]|0;c=a+1|0;e=d<<24>>24|0;c=(e|0)!=10&(d|4)<<24>>24!=13?((e|0)==12?c:0):c;if(!c){e=a;a=d;a=a<<24>>24==41;e=e+1|0;e=a?e:0;return e|0}}while(1){d=H2(c)|0;if(d|0){c=d;continue}d=b[c>>0]|0;a=c+1|0;e=d<<24>>24|0;a=(e|0)!=10&(d|4)<<24>>24!=13?((e|0)==12?a:0):a;if(!a)break;else c=a}a=d<<24>>24==41;e=c+1|0;e=a?e:0;return e|0}function hG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;Pea(b);e=a+8|0;d=f[e>>2]|0;do if((f[a+12>>2]|0)-d>>2>>>0>c>>>0)g=e;else{x=0;Ga(742,e|0,c+1|0);g=x;x=0;if(!(g&1)){g=e;d=f[e>>2]|0;break}d=Ya()|0;if(b|0)eda(b);jb(d|0)}while(0);a=f[d+(c<<2)>>2]|0;if(a){jU(a)|0;d=f[g>>2]|0}f[d+(c<<2)>>2]=b;return}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;i=u;u=u+16|0;e=i+8|0;g=i+4|0;h=i;l=(b[a+11>>0]|0)<0;k=f[a>>2]|0;j=l?k+c|0:a+c|0;c=(l?k:a)+d|0;f[h>>2]=j;d=c;if(j>>>0>=c>>>0){l=0;u=i;return l|0}a=0;do{f[g>>2]=d;f[e>>2]=f[g>>2];zD(h,e)|0;a=a+1|0}while((f[h>>2]|0)>>>0>>0);u=i;return a|0}function jG(a,c){a=a|0;c=c|0;if(!c)return;jG(a,f[c>>2]|0);jG(a,f[c+4>>2]|0);a=c+16|0;if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);Hta(c);return}function kG(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;h=u;u=u+16|0;i=h+4|0;j=h;a=a+8|0;a=vc[f[f[a>>2]>>2]&511](a)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];a=(wi(c,i,a,a+168|0,g,e,0)|0)-a|0;if((a|0)<168)f[b>>2]=((a|0)/12|0|0)%7|0;u=h;return}function lG(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;h=u;u=u+16|0;i=h+4|0;j=h;a=a+8|0;a=vc[f[f[a>>2]>>2]&511](a)|0;f[j>>2]=f[d>>2];f[i>>2]=f[j>>2];a=(vi(c,i,a,a+168|0,g,e,0)|0)-a|0;if((a|0)<168)f[b>>2]=((a|0)/12|0|0)%7|0;u=h;return}function mG(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-72|0;f[e>>2]=15300;c=e+72|0;f[c>>2]=15476;WI(e+92|0,f[e+96>>2]|0);f[c>>2]=15516;c=e+76|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+80|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function nG(a){a=a|0;var c=0,d=0;d=VN(112)|0;x=0;Ga(498,d|0,a|0);c=x;x=0;if(c&1){c=Ya()|0;Hta(d);jb(c|0)}f[d>>2]=15112;c=d+104|0;x=0;Ga(462,c|0,f[a+108>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7168;f[d+96>>2]=3;return d|0}a=Ya()|0;f[d>>2]=13680;if((b[d+95>>0]|0)<0)Hta(f[d+84>>2]|0);if((b[d+83>>0]|0)<0)Hta(f[d+72>>2]|0);c=a;Hta(d);jb(c|0);return 0}function oG(a){a=a|0;var c=0,d=0;d=VN(112)|0;x=0;Ga(498,d|0,a|0);c=x;x=0;if(c&1){c=Ya()|0;Hta(d);jb(c|0)}f[d>>2]=14928;c=d+104|0;x=0;Ga(462,c|0,f[a+108>>2]|0);a=x;x=0;if(!(a&1)){f[c>>2]=7904;f[d+96>>2]=2;return d|0}a=Ya()|0;f[d>>2]=13680;if((b[d+95>>0]|0)<0)Hta(f[d+84>>2]|0);if((b[d+83>>0]|0)<0)Hta(f[d+72>>2]|0);c=a;Hta(d);jb(c|0);return 0}function pG(a){a=a|0;var c=0,d=0,e=0,g=0;c=VN(68)|0;x=0;Fa(427,c|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(c);jb(g|0)}else{d=c+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[c+52>>0]=b[a+52>>0]|0;b[c+53>>0]=b[a+53>>0]|0;b[c+54>>0]=b[a+54>>0]|0;f[c>>2]=11240;b[c+60>>0]=b[a+60>>0]|0;f[c+64>>2]=f[a+64>>2];f[c+56>>2]=1;return c|0}return 0}function qG(a){a=a|0;var b=0,c=0,d=0,e=0;c=u;u=u+16|0;e=c+8|0;b=c;a=a+88|0;qV(e,f[a>>2]|0);f[e>>2]=15556;d=(f[e+4>>2]|0)==0;_P(e);if(d){e=1;u=c;return e|0}qV(b,f[a>>2]|0);f[b>>2]=15556;x=0;a=qa(320,f[b+4>>2]|0)|0;e=x;x=0;if(e&1){e=Ya()|0;_P(b);jb(e|0)}_P(b);e=a+1|0;u=c;return e|0}function rG(a){a=a|0;var c=0,d=0,e=0,g=0,i=0;if((f[f[a+68>>2]>>2]|0)==3)return;d=a+4|0;i=d+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g)c=f[a+8>>2]|0;else c=e&255;if(!c)return;if(g)c=f[a+8>>2]|0;else c=e&255;g=XO(d,c+-1|0)|0;if(wpa(h[g>>0]|0)|0)if(!(b[a+84>>0]|0))return;c=b[i>>0]|0;if(c<<24>>24<0){d=f[d>>2]|0;c=f[a+8>>2]|0}else c=c&255;if((b[d+c+-1>>0]|0)==40)return;f[a+76>>2]=1;return}function sG(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;e=a+84|0;b=f[e>>2]|0;if(b|0)$h(b);d=a+88|0;b=f[d>>2]|0;if(b|0)$h(b);b=f[a+104>>2]|0;if(b|0)$h(b);b=f[a+100>>2]|0;if(b|0)$h(b);c=a+96|0;b=f[c>>2]|0;if(b|0)$h(b);b=f[a+108>>2]|0;if(b|0)$h(b);b=a+124|0;vT(f[b>>2]|0);f[e>>2]=0;f[d>>2]=0;f[b>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;RB(a);return}function tG(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)==45){c=S5(a+1|0)|0;if(!c)c=0;else{while(1){d=S5(c)|0;if(!d)break;else c=d}c=(b[c>>0]|0)==45?c+1|0:0}}else c=0;c=c|0?c:a;if(!c){a=0;return a|0}d=b[49981]|0;a:do if(!(d<<24>>24))d=0;else{a=49981;while(1){if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;a=a+1|0;d=b[a>>0]|0;if(!(d<<24>>24)){d=0;break}}}while(0);a=d<<24>>24==0?c:0;return a|0}function uG(a){a=a|0;var b=0,c=0,d=0;d=a+68|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=(f[a+72>>2]|0)+1403242537^-1640531520;f[d>>2]=c;b=f[a+80>>2]|0;if(b){b=(vc[f[(f[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;c=f[d>>2]|0;c=b+(c<<6)+(c>>>2)^c;f[d>>2]=c}b=f[a+88>>2]|0;if(!b){d=c;return d|0}c=(vc[f[(f[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;a=f[d>>2]|0;a=c+(a<<6)+(a>>>2)^a;f[d>>2]=a;d=a;return d|0}function vG(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;i=0;a:do if(d>>>0>>0){h=c+4|0;while(1){g=b[d>>0]|0;switch(g<<24>>24){case 0:break a;case 10:{f[c>>2]=(f[c>>2]|0)+1;g=0;i=7;break}default:if((g&255)<192){g=(f[h>>2]|0)+1|0;i=7}}if((i|0)==7){i=0;f[h>>2]=g}d=d+1|0;if(d>>>0>=e>>>0)break a}}while(0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];return}function wG(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;e=g;d=b[c+68+11>>0]|0;if(d<<24>>24<0)d=f[c+72>>2]|0;else d=d&255;if(d|0){e=0;u=g;return e|0}qV(e,f[c+64>>2]|0);f[e>>2]=7696;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+72>>2]|0,d|0,a|0)|0;c=x;x=0;if(c&1){g=Ya()|0;_P(e);jb(g|0)}_P(e);e=d;u=g;return e|0}function xG(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=16236;e=a+12|0;Vz(e);c=a+16|0;b=f[c>>2]|0;g=a+20|0;d=f[g>>2]|0;if((b|0)!=(d|0)){do{Hta(f[b>>2]|0);b=b+4|0}while((b|0)!=(d|0));b=f[c>>2]|0;c=f[g>>2]|0;if((c|0)!=(b|0))f[g>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=f[e>>2]|0;if(!b){Rsa(a);return}Hta(b);Rsa(a);return}function yG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+48|0;c=g;e=g+8|0;qV(c,b);f[c>>2]=13852;x=0;Ga(120,a+72|0,c|0);d=x;x=0;if(d&1){g=Ya()|0;_P(c);jb(g|0)}else{_P(c);d=e;c=b+12|0;b=d+40|0;do{f[d>>2]=f[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(b|0));mR(a+32|0,e+20|0);u=g;return}}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0,j=0;h=0;i=u;u=u+16|0;e=i;if((a|0)==(b|0)){f[c>>2]=4;d=0.0}else{g=bua()|0;g=f[g>>2]|0;j=bua()|0;f[j>>2]=0;d=+zoa(a,e,$O()|0);a=bua()|0;a=f[a>>2]|0;if(!a){j=bua()|0;f[j>>2]=g}if((f[e>>2]|0)==(b|0)){if((a|0)==34)h=6}else{d=0.0;h=6}if((h|0)==6)f[c>>2]=4}u=i;return +d}function AG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0,j=0;h=0;i=u;u=u+16|0;e=i;if((a|0)==(b|0)){f[c>>2]=4;d=0.0}else{g=bua()|0;g=f[g>>2]|0;j=bua()|0;f[j>>2]=0;d=+Qoa(a,e,$O()|0);a=bua()|0;a=f[a>>2]|0;if(!a){j=bua()|0;f[j>>2]=g}if((f[e>>2]|0)==(b|0)){if((a|0)==34)h=6}else{d=0.0;h=6}if((h|0)==6)f[c>>2]=4}u=i;return +d}function BG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0,j=0;h=0;i=u;u=u+16|0;e=i;if((a|0)==(b|0)){f[c>>2]=4;d=0.0}else{g=bua()|0;g=f[g>>2]|0;j=bua()|0;f[j>>2]=0;d=+Roa(a,e,$O()|0);a=bua()|0;a=f[a>>2]|0;if(!a){j=bua()|0;f[j>>2]=g}if((f[e>>2]|0)==(b|0)){if((a|0)==34)h=6}else{d=0.0;h=6}if((h|0)==6)f[c>>2]=4}u=i;return +d}function CG(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=0;f[a>>2]=0;i=a+4|0;f[i>>2]=0;if(!d)d=0+(hL(c)|0)|0;if(d>>>0>c>>>0){e=0;g=0}else return;a:while(1){h=b[c>>0]|0;switch(h<<24>>24){case 0:{j=10;break a}case 10:{e=e+1|0;f[a>>2]=e;g=0;j=8;break}default:if((h&255)<192){g=g+1|0;j=8}}if((j|0)==8){j=0;f[i>>2]=g}c=c+1|0;if(c>>>0>=d>>>0){j=10;break}}if((j|0)==10)return}function DG(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=19840;g=a+16|0;c=f[g>>2]|0;if(c|0){h=a+20|0;d=f[h>>2]|0;if((d|0)!=(c|0)){e=d;while(1){d=e+-52|0;f[h>>2]=d;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=f[h>>2]|0}if((d|0)==(c|0))break;else e=d}c=f[g>>2]|0}Hta(c)}e=f[a+4>>2]|0;if(!e)return;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(e|0))f[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);Hta(e);return}function EG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+64|0;e=b+68|0;g=wP((f[e>>2]|0)-(f[c>>2]|0)>>3,0,0)|0;c=f[c>>2]|0;e=(f[e>>2]|0)-c>>3;if(!e)return g|0;d=b+64|0;c=f[c+4>>2]|0;Aca(g,0,xc[f[(f[c>>2]|0)+68>>2]&2047](c,a)|0);if((e|0)==1)return g|0;else b=1;do{c=f[(f[d>>2]|0)+(b<<3)+4>>2]|0;Aca(g,b,xc[f[(f[c>>2]|0)+68>>2]&2047](c,a)|0);b=b+1|0}while((b|0)!=(e|0));return g|0}function FG(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=yqa(59832)|0;if(e>>>0>4294967279)CO(a);if(e>>>0<11){b[a+11>>0]=e;c=a}else{h=e+16&-16;c=VN(h)|0;f[a>>2]=c;f[a+8>>2]=h|-2147483648;f[a+4>>2]=e}Naa(c,59832,e)|0;b[d>>0]=0;vga(c+e|0,d);u=g;return}function GG(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=yqa(59838)|0;if(e>>>0>4294967279)CO(a);if(e>>>0<11){b[a+11>>0]=e;c=a}else{h=e+16&-16;c=VN(h)|0;f[a>>2]=c;f[a+8>>2]=h|-2147483648;f[a+4>>2]=e}Naa(c,59838,e)|0;b[d>>0]=0;vga(c+e|0,d);u=g;return}function HG(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=15300;d=a+72|0;f[d>>2]=15476;WI(a+92|0,f[a+96>>2]|0);f[d>>2]=15516;d=a+76|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+80|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function IG(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[c+76>>2]|0;g=(f[c+80>>2]|0)-d>>3;if(g|0){e=c+76|0;d=f[d+4>>2]|0;Lc[f[(f[d>>2]|0)+44>>2]&1023](d,a);if((g|0)!=1){d=1;do{h=f[(f[e>>2]|0)+(d<<3)+4>>2]|0;Lc[f[(f[h>>2]|0)+44>>2]&1023](h,a);d=d+1|0}while((d|0)!=(g|0))}}if(!(b[c+61>>0]|0))return;d=a+4|0;if((wna(d)|0)==2)return;dQ(d);return}function JG(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;g=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;d=a+16|0;e=f[d>>2]|0;if(!e)if(!(HN(a)|0)){e=f[d>>2]|0;g=4}else d=-1;else g=4;do if((g|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0){d=c&255;if((d|0)!=(b[a+75>>0]|0)){f[i>>2]=g+1;b[g>>0]=k;break}}if((yc[f[a+36>>2]&255](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function KG(a){a=a|0;var c=0,d=0;if(!(Pla(b[a>>0]|0)|0)){a=0;return a|0}c=a+1|0;if(!(Pla(b[c>>0]|0)|0)){a=c;return a|0}c=a+2|0;if(!(Pla(b[c>>0]|0)|0)){a=c;return a|0}c=a+3|0;if(!(Pla(b[c>>0]|0)|0)){a=c;return a|0}c=a+4|0;if(!(Pla(b[c>>0]|0)|0)){a=c;return a|0}c=a+5|0;if(!(Pla(b[c>>0]|0)|0)){a=c;return a|0}else{c=a+6|0;d=(Pla(b[c>>0]|0)|0)==0;return (d?c:a+7|0)|0}return 0}function LG(a,c){a=a|0;c=c|0;var d=0;switch(f[c>>2]|0){case 1:{c=b[c+4>>0]|0;if(c<<24>>24>63)c=61;else c=b[53647+(c<<24>>24)>>0]|0;b[a>>0]=c;b[a+1>>0]=61;c=a+2|0;d=3;break}case 2:{c=b[c+4>>0]|0;if(c<<24>>24>63)c=61;else c=b[53647+(c<<24>>24)>>0]|0;b[a>>0]=c;c=a+1|0;d=2;break}default:{c=a;d=c+1|0;b[c>>0]=10;a=d-a|0;return a|0}}b[c>>0]=61;c=a+d|0;d=c+1|0;b[c>>0]=10;a=d-a|0;return a|0}function MG(a){a=a|0;a=Dz(a)|0;if(!a){a=0;return a|0}a=Xu(a)|0;if(!a){a=0;return a|0}if((b[a>>0]|0)!=61){a=0;return a|0}a=Xu(a+1|0)|0;if(!a){a=0;return a|0}a=Rt(a)|0;return a|0}function NG(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;b=(f[a+24>>2]|0)==0|b;f[a+16>>2]=b;if(!(b&f[a+20>>2])){u=c;return}a=Ta(16)|0;zla()|0;f[d>>2]=1;f[d+4>>2]=26416;x=0;Ia(160,a|0,57490,d|0);d=x;x=0;if(d&1){d=Ya()|0;bb(a|0);a=d}else{x=0;Ia(77,a|0,4776,331);x=0;a=Ya()|0}jb(a|0)}function OG(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;if(!(b[c+101>>0]|0)){u=e;return}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d=g+11|0;b[d>>0]=1;b[g>>0]=38;b[g+1>>0]=0;x=0;Ga(682,a+4|0,g|0);a=x;x=0;if(a&1){c=Ya()|0;if((b[d>>0]|0)>=0)jb(c|0);Hta(f[g>>2]|0);jb(c|0)}else{if((b[d>>0]|0)<0)Hta(f[g>>2]|0);u=e;return}}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=0;if((c|0)==1)b=b-(f[a+8>>2]|0)+(f[a+4>>2]|0)|0;d=a+20|0;e=a+28|0;if((f[d>>2]|0)>>>0>(f[e>>2]|0)>>>0){yc[f[a+36>>2]&255](a,0,0)|0;if(!(f[d>>2]|0))b=-1;else g=5}else g=5;if((g|0)==5){f[a+16>>2]=0;f[e>>2]=0;f[d>>2]=0;if((yc[f[a+40>>2]&255](a,b,c)|0)<0)b=-1;else{f[a+8>>2]=0;f[a+4>>2]=0;f[a>>2]=f[a>>2]&-17;b=0}}return b|0}function QG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+8|0;RF(a,a+4|0,h,c)|0;g=a+12|0;c=h;while(1){if((g|0)==(b|0))break;h=f[g>>2]|0;e=f[c>>2]|0;if(h>>>0>>0){d=g;while(1){f[d>>2]=e;if((c|0)==(a|0)){c=a;break}d=c+-4|0;e=f[d>>2]|0;if(h>>>0>=e>>>0)break;else{i=c;c=d;d=i}}f[c>>2]=h}c=g;g=g+4|0}return}function RG(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-72|0;f[b>>2]=15300;d=b+72|0;f[d>>2]=15476;WI(b+92|0,f[b+96>>2]|0);f[d>>2]=15516;d=b+76|0;a=f[d>>2]|0;if(!a)return;c=b+80|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function SG(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(!c)return;h=a+4|0;d=f[h>>2]|0;if((d|0)!=(c|0)){do{g=d+-52|0;f[h>>2]=g;e=d+-16|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);e=d+-28|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);d=d+-40|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);d=f[h>>2]|0}while((d|0)!=(c|0));c=f[a>>2]|0}Hta(c);return}function TG(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;e=RF(a,b,c,e)|0;g=f[d>>2]|0;h=f[c>>2]|0;if(g>>>0>>0){f[c>>2]=g;f[d>>2]=h;d=e+1|0;g=f[c>>2]|0;h=f[b>>2]|0;if(g>>>0>>0){f[b>>2]=g;f[c>>2]=h;g=f[b>>2]|0;h=f[a>>2]|0;if(g>>>0>>0){f[a>>2]=g;f[b>>2]=h;e=e+3|0}else e=e+2|0}else e=d}return e|0}function UG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+32|0;c=d+8|0;e=d;f[e>>2]=b;hs(c,a,b,87748,e,d+16|0);u=d;return (f[c>>2]|0)+28|0}function VG(a){a=a|0;var b=0,c=0;do if(!a){if(!(f[5510]|0))b=0;else b=VG(f[5510]|0)|0;a=Mta()|0;a=f[a>>2]|0;if(a)do{if((f[a+76>>2]|0)>-1)c=Vta(a)|0;else c=0;if((f[a+20>>2]|0)>>>0>(f[a+28>>2]|0)>>>0)b=YH(a)|0|b;if(c|0)Uta(a);a=f[a+56>>2]|0}while((a|0)!=0);Tta()}else{if((f[a+76>>2]|0)<=-1){b=YH(a)|0;break}c=(Vta(a)|0)==0;b=YH(a)|0;if(!c)Uta(a)}while(0);return b|0}function WG(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+4|0;while(1){h=Nw(c,d)|0;g=(h|0)!=(c+4|0);f[a>>2]=h;b[e>>0]=g&1;if(g){c=4;break}c=f[c+12>>2]|0;if(!c){c=4;break}}if((c|0)==4)return}function XG(a,b){a=a|0;b=b|0;if(!b)return;else{XG(a,f[b>>2]|0);XG(a,f[b+4>>2]|0);_P(b+20|0);Hta(b);return}}function YG(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;c=f[h>>2]|0;if((c|0)!=(g|0))do{e=c+-52|0;f[h>>2]=e;d=c+-16|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=c+-28|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);c=c+-40|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);c=f[h>>2]|0}while((c|0)!=(g|0));c=f[a>>2]|0;if(!c)return;Hta(c);return}function ZG(a){a=a|0;var b=0,c=0,d=0,e=0;EA(a+12|0,f[a+16>>2]|0);b=f[a>>2]|0;if(!b)return;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{e=c+-16|0;f[d>>2]=e;_P(c+-8|0);_P(e);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Hta(b);return}function _G(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=e+11|0;b[g>>0]=4;f[e>>2]=1819047278;b[e+4>>0]=0;x=0;Ia(147,a+4|0,e|0,c|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[g>>0]|0)>=0)jb(a|0);Hta(f[e>>2]|0);jb(a|0)}else{if((b[g>>0]|0)>=0){u=d;return}Hta(f[e>>2]|0);u=d;return}}function $G(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;FI(a+4|0,b+60|0,b);qV(c,f[b+76>>2]|0);f[c>>2]=9376;b=f[c+4>>2]|0;x=0;Ga(f[(f[b>>2]|0)+44>>2]|0,b|0,a|0);b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return}}function aH(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if((f[a+76>>2]|0)>-1)e=Vta(a)|0;else e=0;tQ(a);g=(f[a>>2]&1|0)!=0;if(!g){d=Mta()|0;c=f[a+52>>2]|0;b=a+56|0;if(c|0)f[c+56>>2]=f[b>>2];b=f[b>>2]|0;if(b|0)f[b+52>>2]=c;if((f[d>>2]|0)==(a|0))f[d>>2]=b;Tta()}b=VG(a)|0;b=vc[f[a+12>>2]&511](a)|0|b;c=f[a+92>>2]|0;if(c|0)$h(c);if(g){if(e|0)Uta(a)}else $h(a);return b|0}function bH(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0.0;d=u;u=u+16|0;e=d;h=+p[c+88>>3];Ys(e,c+60|0);c=e+11|0;x=0;a=pa(1,+h,((b[c>>0]|0)<0?f[e>>2]|0:e)|0)|0;g=x;x=0;if(g&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[e>>2]|0);jb(a|0)}else{if((b[c>>0]|0)>=0){u=d;return a|0}Hta(f[e>>2]|0);u=d;return a|0}return 0}function cH(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d;b=f[a+68>>2]|0;if((f[a+64>>2]|0)==(b|0)){u=d;return}qV(c,f[b+-4>>2]|0);f[c>>2]=7696;x=0;a=qa(319,f[c+4>>2]|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}_P(c);if(!a){u=d;return}Kc[f[(f[a>>2]|0)+116>>2]&511](a);u=d;return}function dH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+4|0;c=i;f[c>>2]=b;h=a+388|0;d=a+392|0;e=f[d>>2]|0;if((e|0)==(f[a+396>>2]|0)){UA(h,c);a=f[d>>2]|0}else{f[e>>2]=b;a=(f[d>>2]|0)+4|0;f[d>>2]=a}h=f[h>>2]|0;f[g>>2]=998;eh(h,a,g);u=i;return}function eH(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=15300;d=a+72|0;f[d>>2]=15476;WI(a+92|0,f[a+96>>2]|0);f[d>>2]=15516;d=a+76|0;b=f[d>>2]|0;if(!b)return;c=a+80|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function fH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+4|0;c=i;f[c>>2]=b;h=a+376|0;d=a+380|0;e=f[d>>2]|0;if((e|0)==(f[a+384>>2]|0)){UA(h,c);a=f[d>>2]|0}else{f[e>>2]=b;a=(f[d>>2]|0)+4|0;f[d>>2]=a}h=f[h>>2]|0;f[g>>2]=998;eh(h,a,g);u=i;return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+48|0;g=h+16|0;e=h;d=h+32|0;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=tb(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;rb(221,g|0)|0}i=caa(d)|0;u=h;return i|0}function hH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!((a|0)!=0&(b|0)!=0&(c|0)!=0))return;if((f[a+16>>2]|0)!=5)Ra(43946,43692,620,43973);if(f[c>>2]|0)Ra(43992,43692,621,43973);d=Rd((hL(b)|0)+1|0)|0;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}Upa(d,b)|0;f[c+12>>2]=d;f[c>>2]=a;a=a+24|0;d=a+4|0;f[c+4>>2]=f[d>>2];f[c+8>>2]=0;b=f[d>>2]|0;f[((b|0)==0?a:b+8|0)>>2]=c;f[d>>2]=c;return}function iH(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d;b=f[a+68>>2]|0;if((b|0)==(f[a+64>>2]|0)){c=0;u=d;return c|0}qV(c,f[b+-4>>2]|0);f[c>>2]=7696;a=f[c+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+112>>2]|0,a|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}_P(c);c=a;u=d;return c|0}function jH(a){a=a|0;var c=0,d=0,e=0;d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?a+1|0:a;if(!c){a=0;return a|0}a=Nu(c)|0;return a|0}function kH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e;c=f[a+108>>2]|0;if(c|0)if(xc[f[(f[c>>2]|0)+40>>2]&2047](c,b)|0){d=1;u=e;return d|0}qV(d,a);f[d>>2]=6664;x=0;a=qa(b|0,d|0)|0;c=x;x=0;if(c&1){e=Ya()|0;_P(d);jb(e|0)}_P(d);d=a;u=e;return d|0}function lH(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d;b=f[a+64>>2]|0;if((f[a+68>>2]|0)==(b|0)){c=0;u=d;return c|0}qV(c,f[b+4>>2]|0);f[c>>2]=7696;a=f[c+4>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+108>>2]|0,a|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}_P(c);c=a;u=d;return c|0}function mH(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[51449]|0;a:do if(c<<24>>24){d=51449;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);while(1){if(Baa(a)|0){c=7;break}c=$ma(a)|0;d=(c|0)==0;if((c|0)==(a|0)|d){a=0;c=7;break}else a=d?a:c}if((c|0)==7)return a|0;return 0}function nH(a){a=a|0;var c=0,d=0;c=v1(a)|0;if(!c)c=0;else c=kB(c)|0;c=c|0?c:a;if(!c){d=0;return d|0}a=b[36369]|0;a:do if(a<<24>>24){d=36369;while(1){if((b[c>>0]|0)!=a<<24>>24){c=0;break}c=c+1|0;d=d+1|0;a=b[d>>0]|0;if(!(a<<24>>24))break a}return c|0}while(0);d=sR(c)|0;return d|0}function oH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=xh(a,j,i,d,e,g,28388,28420)|0;u=h;return g|0}function pH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=sh(a,j,i,d,e,g,58483,58491)|0;u=h;return g|0}function qH(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;ND(a,c);g=a+11|0;d=b[g>>0]|0;if(d<<24>>24<0)h=f[a+4>>2]|0;else h=d&255;if(!h)return;c=0;while(1){d=d<<24>>24<0;if(d)e=f[a>>2]|0;else e=a;if((b[e+c>>0]|0)==95){if(d)d=f[a>>2]|0;else d=a;b[d+c>>0]=45}c=c+1|0;if((c|0)==(h|0))break;d=b[g>>0]|0}return}function rH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=Uh(a,j,i,d,e,g)|0;u=h;return g|0}function sH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=Vh(a,j,i,d,e,g)|0;u=h;return g|0}function tH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=Wh(a,j,i,d,e,g)|0;u=h;return g|0}function uH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=Xh(a,j,i,d,e,g)|0;u=h;return g|0}function vH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=Yh(a,j,i,d,e,g)|0;u=h;return g|0}function wH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=Zh(a,j,i,d,e,g)|0;u=h;return g|0}function xH(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=8784;_P(a+84|0);e=a+72|0;c=f[e>>2]|0;if(!c){f[a>>2]=7184;g=a+64|0;_P(g);Hta(a);return}g=a+76|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c);f[a>>2]=7184;g=a+64|0;_P(g);Hta(a);return}function yH(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=0;g=a+11|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=((d|0)<0?0-d|0:d)<<1|d>>>31;while(1){h=c&31;c=c>>5;d=(c|0)>0;x=0;Ga(534,a|0,b[53647+(d?h|32:h)>>0]|0);h=x;x=0;if(h&1)break;if(!d){e=7;break}}if((e|0)==7)return;c=Ya()|0;if((b[g>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function zH(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;h=b[a+11>>0]|0;i=h<<24>>24<0;if(i)h=f[a+4>>2]|0;else h=h&255;if((g|0)==-1|h>>>0>>0)BO(a);h=h-c|0;d=h>>>0>>0?h:d;if(i)a=f[a>>2]|0;h=d>>>0>g>>>0;a=daa(a+c|0,e,h?g:d)|0;if(!a)return (d>>>0>>0?-1:h&1)|0;else return a|0;return 0}function AH(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;e=a+72|0;b[(f[e>>2]|0)+8>>0]=1;qV(d,f[c+56>>2]|0);f[d>>2]=7904;c=f[d+4>>2]|0;x=0;Ga(f[(f[c>>2]|0)+44>>2]|0,c|0,a|0);c=x;x=0;if(c&1){g=Ya()|0;_P(d);jb(g|0)}else{_P(d);b[(f[e>>2]|0)+8>>0]=0;u=g;return}}function BH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=ki(a,j,i,d,e,g)|0;u=h;return g|0}function CH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=oi(a,j,i,d,e,g)|0;u=h;return g|0}function DH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=bi(a,j,i,d,e,g)|0;u=h;return g|0}function EH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=ii(a,j,i,d,e,g)|0;u=h;return g|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 h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=ji(a,j,i,d,e,g)|0;u=h;return g|0}function GH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=ci(a,j,i,d,e,g)|0;u=h;return g|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 h=0,i=0,j=0,k=0,l=0;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=mi(a,j,i,d,e,g)|0;u=h;return g|0}function IH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=ni(a,j,i,d,e,g)|0;u=h;return g|0}function JH(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,4)|0;if(!(f[e>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;f[b>>2]=a+-1900}u=h;return}function KH(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,4)|0;if(!(f[e>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;f[b>>2]=a+-1900}u=h;return}function LH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=di(a,j,i,d,e,g)|0;u=h;return g|0}function MH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=pi(a,j,i,d,e,g)|0;u=h;return g|0}function NH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=ei(a,j,i,d,e,g)|0;u=h;return g|0}function OH(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;h=u;u=u+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;f[l>>2]=f[b>>2];f[k>>2]=f[c>>2];f[j>>2]=f[l>>2];f[i>>2]=f[k>>2];g=qi(a,j,i,d,e,g)|0;u=h;return g|0}function PH(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;h=0;do if((a|0)==-1)a=-1;else{if((f[c+76>>2]|0)>-1)e=Vta(c)|0;else e=0;g=c+4|0;d=f[g>>2]|0;if(!d){cJ(c)|0;d=f[g>>2]|0;if(d|0)h=6}else h=6;if((h|0)==6)if(d>>>0>((f[c+44>>2]|0)+-8|0)>>>0){h=d+-1|0;f[g>>2]=h;b[h>>0]=a;f[c>>2]=f[c>>2]&-17;if(!e)break;Uta(c);break}if(!e)a=-1;else{Uta(c);a=-1}}while(0);return a|0}function QH(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=0;a:do switch((f[d+4>>2]&176)<<24>>24){case 16:{d=b[a>>0]|0;switch(d<<24>>24){case 43:case 45:{a=a+1|0;break a}default:{}}if((c-a|0)>1&d<<24>>24==48){switch(b[a+1>>0]|0){case 88:case 120:break;default:{e=7;break a}}a=a+2|0}else e=7;break}case 32:{a=c;break}default:e=7}while(0);return a|0}function RH(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=6680;g=a+4|0;c=a+52|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);e=f[a+28>>2]|0;if(e|0){c=a+32|0;d=f[c>>2]|0;if((d|0)!=(e|0))f[c>>2]=d+(~(((d+-24-e|0)>>>0)/24|0)*24|0);Hta(e)}e=f[a+16>>2]|0;if(e|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(e|0))f[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);Hta(e)}if((b[g+11>>0]|0)>=0)return;Hta(f[g>>2]|0);return}function SH(a){a=a|0;a=Ug(a)|0;if(!a){a=0;return a|0}a=(b[a>>0]|0)==37?0:a;return a|0}function TH(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)!=33){d=0;return d|0}a=Xu(a+1|0)|0;if(!a){d=0;return d|0}c=b[36346]|0;a:do if(c<<24>>24){d=36346;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function UH(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=(b|0)>2046;c=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((c|0)<1023?c:1023):b+-1023|0}else if((b|0)<-1022){a=a*2.2250738585072014e-308;c=(b|0)<-2044;d=b+2044|0;a=c?a*2.2250738585072014e-308:a;b=c?((d|0)>-1022?d:-1022):b+1022|0}c=IW(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function VH(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;g=a+12|0;Vz(g);d=a+16|0;b=f[d>>2]|0;e=a+20|0;c=f[e>>2]|0;if((b|0)!=(c|0)){a=b;do{Hta(f[a>>2]|0);a=a+4|0}while((a|0)!=(c|0));a=f[d>>2]|0;b=f[e>>2]|0;if((b|0)!=(a|0))f[e>>2]=b+(~((b+-4-a|0)>>>2)<<2)}a=f[g>>2]|0;if(!a)return;Hta(a);return}function WH(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)!=33){d=0;return d|0}a=Xu(a+1|0)|0;if(!a){d=0;return d|0}c=b[36324]|0;a:do if(c<<24>>24){d=36324;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function XH(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)!=33){d=0;return d|0}a=Xu(a+1|0)|0;if(!a){d=0;return d|0}c=b[36304]|0;a:do if(c<<24>>24){d=36304;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function YH(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;c=0;g=a+20|0;h=a+28|0;if((f[g>>2]|0)>>>0>(f[h>>2]|0)>>>0){yc[f[a+36>>2]&255](a,0,0)|0;if(!(f[g>>2]|0))b=-1;else c=3}else c=3;if((c|0)==3){b=a+4|0;c=f[b>>2]|0;d=a+8|0;e=f[d>>2]|0;if(c>>>0>>0)yc[f[a+40>>2]&255](a,c-e|0,1)|0;f[a+16>>2]=0;f[h>>2]=0;f[g>>2]=0;f[d>>2]=0;f[b>>2]=0;b=0}return b|0}function ZH(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)!=33){d=0;return d|0}a=Xu(a+1|0)|0;if(!a){d=0;return d|0}c=b[36312]|0;a:do if(c<<24>>24){d=36312;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function _H(a){a=a|0;var b=0,c=0,d=0,e=0;c=a+68|0;b=f[c>>2]|0;d=(f[a+72>>2]|0)-b>>3;a:do if(d|0){b=f[b+4>>2]|0;if(vc[f[(f[b>>2]|0)+84>>2]&511](b)|0){d=1;return d|0}else b=1;while(1){if(b>>>0>=d>>>0)break a;e=f[(f[c>>2]|0)+(b<<3)+4>>2]|0;if(vc[f[(f[e>>2]|0)+84>>2]&511](e)|0){b=1;break}else b=b+1|0}return b|0}while(0);e=(f[a+52>>2]|0)==7;return e|0}function $H(a){a=a|0;var c=0,d=0,e=0,g=0;c=VN(60)|0;x=0;Fa(427,c|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(c);jb(g|0)}else{d=c+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[c+52>>0]=b[a+52>>0]|0;b[c+53>>0]=b[a+53>>0]|0;b[c+54>>0]=b[a+54>>0]|0;f[c>>2]=13152;f[c+56>>2]=8;return c|0}return 0}function aI(a){a=a|0;var c=0,d=0,e=0,g=0;c=VN(68)|0;x=0;Fa(427,c|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(c);jb(g|0)}else{d=c+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[c+56>>2]=f[a+56>>2];b[c+60>>0]=b[a+60>>0]|0;f[c>>2]=9392;f[c+64>>2]=f[a+64>>2];f[c+52>>2]=7;return c|0}return 0}function bI(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}while(1){if((ww(a,b)|0)!=(a+4|0)){a=1;b=4;break}a=f[a+12>>2]|0;if(!a){a=0;b=4;break}}if((b|0)==4)return a|0;return 0}function cI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a+-1|0)>>>0<12&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function dI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a+-1|0)>>>0<12&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function eI(a){a=a|0;var c=0,d=0;c=f[a+4>>2]|0;if(!c){c=0;return c|0}if((f[37]|0)!=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){c=0;return c|0}a=c+84|0;d=b[a+11>>0]|0;if(((d<<24>>24<0?f[c+88>>2]|0:d&255)|0)!=4){d=0;return d|0}x=0;a=wa(21,a|0,0,-1,51731,4)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}d=(a|0)==0;return d|0}function fI(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=8784;_P(a+84|0);e=a+72|0;c=f[e>>2]|0;if(!c){f[a>>2]=7184;a=a+64|0;_P(a);return}g=a+76|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c);f[a>>2]=7184;a=a+64|0;_P(a);return}function gI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a+-1|0)>>>0<31&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function hI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,3)|0;c=f[e>>2]|0;if((a|0)<366&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function iI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a+-1|0)>>>0<31&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function jI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,3)|0;c=f[e>>2]|0;if((a|0)<366&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function kI(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;if(!(f[a+64>>2]|0)){g=-1;return g|0}g=a+12|0;e=f[g>>2]|0;if((f[a+8>>2]|0)>>>0>=e>>>0){g=-1;return g|0}if((c|0)==-1){f[g>>2]=e+-1;g=0;return g|0}if(!(f[a+88>>2]&16)){d=c&255;a=e+-1|0;if((b[a>>0]|0)!=d<<24>>24){g=-1;return g|0}}else{d=c&255;a=e+-1|0}f[g>>2]=a;b[a>>0]=d;g=c;return g|0}function lI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<13&(c&4|0)==0)f[b>>2]=a+-1;else f[e>>2]=c|4;u=h;return}function mI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<13&(c&4|0)==0)f[b>>2]=a+-1;else f[e>>2]=c|4;u=h;return}function nI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,1)|0;c=f[e>>2]|0;if((a|0)<7&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function oI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<61&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function pI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<60&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function qI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,1)|0;c=f[e>>2]|0;if((a|0)<7&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function rI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<61&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function sI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<60&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function tI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<24&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function uI(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,2)|0;c=f[e>>2]|0;if((a|0)<24&(c&4|0)==0)f[b>>2]=a;else f[e>>2]=c|4;u=h;return}function vI(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=kX(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+vI(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function wI(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;l=u;u=u+16|0;i=l;b[i>>0]=37;j=i+1|0;b[j>>0]=g;k=i+2|0;b[k>>0]=h;b[i+3>>0]=0;if(h<<24>>24){b[j>>0]=h;b[k>>0]=g}k=_ma(c,f[d>>2]|0)|0;k=c+(cc(c|0,k|0,i|0,e|0,f[a>>2]|0)|0)|0;f[d>>2]=k;u=l;return}function xI(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+76>>2]|0;d=(f[a+80>>2]|0)-b>>3;if(!d){d=0;return d|0}c=a+76|0;a=f[b+4>>2]|0;a=vc[f[(f[a>>2]|0)+116>>2]&511](a)|0;if((d|0)==1){d=a;return d|0}else b=1;do{e=f[(f[c>>2]|0)+(b<<3)+4>>2]|0;e=vc[f[(f[e>>2]|0)+116>>2]&511](e)|0;a=a>>>0>>0?e:a;b=b+1|0}while((b|0)!=(d|0));return a|0}function yI(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Lc[f[(f[c>>2]|0)+140>>2]&1023](e,c);x=0;Ia(147,a+4|0,e|0,c|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[e+11>>0]|0)>=0)jb(a|0);Hta(f[e>>2]|0);jb(a|0)}else{if((b[e+11>>0]|0)>=0){u=d;return}Hta(f[e>>2]|0);u=d;return}}function zI(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;a:do if(b[c+82>>0]|0){e=f[c+64>>2]|0;g=f[c+68>>2]|0;if((e|0)!=(g|0)){d=a+4|0;c=e;while(1){qV(a,f[c+4>>2]|0);f[a>>2]=10408;if(b[(f[d>>2]|0)+81>>0]|0)break;_P(a);c=c+8|0;if((c|0)==(g|0))break a}return}}while(0);qV(a,0);f[a>>2]=10408;return}function AI(a,b){a=a|0;b=b|0;var c=0,d=0;d=a+4|0;c=f[d>>2]|0;b=b+4|0;if(c|0){a=f[b>>2]|0;if(a|0)return xc[f[(f[c>>2]|0)+92>>2]&2047](c,a)|0}a=Ta(32)|0;x=0;Ja(56,a|0,f[d>>2]|0,f[b>>2]|0,2);d=x;x=0;if(d&1){d=Ya()|0;bb(a|0);jb(d|0)}else fb(a|0,4384,6);return 0}function BI(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;wl(a,b);qV(c,f[b+68>>2]|0);f[c>>2]=7280;b=f[c+4>>2]|0;x=0;Ga(f[(f[b>>2]|0)+44>>2]|0,b|0,a|0);b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return}}function CI(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-60|0;f[e>>2]=11932;c=e+60|0;f[c>>2]=12056;_P(e+80|0);f[c>>2]=12112;c=e+64|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+68|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function DI(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;a:do if(b[c+81>>0]|0){e=f[c+64>>2]|0;g=f[c+68>>2]|0;if((e|0)!=(g|0)){d=a+4|0;c=e;while(1){qV(a,f[c+4>>2]|0);f[a>>2]=10408;if(b[(f[d>>2]|0)+80>>0]|0)break;_P(a);c=c+8|0;if((c|0)==(g|0))break a}return}}while(0);qV(a,0);f[a>>2]=10408;return}function EI(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;e=a+101|0;b[e>>0]=1;qV(d,f[c+68>>2]|0);f[d>>2]=7904;c=f[d+4>>2]|0;x=0;Ga(f[(f[c>>2]|0)+44>>2]|0,c|0,a|0);c=x;x=0;if(c&1){g=Ya()|0;_P(d);jb(g|0)}else{_P(d);b[e>>0]=0;u=g;return}}function FI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;qq(a);d=a+16|0;XC(d,c);e=a+88|0;g=f[e>>2]|0;if(g|0){XC(d,g);f[e>>2]=0}Fv(a,b);Ry(d,c);return}function GI(a,c){a=a|0;c=c|0;var d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+128>>0]=0;do if(c|0){x=0;Ga(740,a|0,c|0);d=x;x=0;if(!(d&1)){x=0;Ga(741,a|0,c|0);d=x;x=0;if(!(d&1))break}d=Ya()|0;nN(a);jb(d|0)}while(0);return}function HI(a){a=a|0;var c=0,d=0,e=0;c=H2(a)|0;if(!c){e=b[a>>0]|0;c=a+1|0;d=e<<24>>24|0;c=(d|0)!=10&(e|4)<<24>>24!=13?((d|0)==12?c:0):c;if(!c){e=a;return e|0}}while(1){a=H2(c)|0;if(a|0){c=a;continue}d=b[c>>0]|0;a=c+1|0;e=d<<24>>24|0;a=(e|0)!=10&(d|4)<<24>>24!=13?((e|0)==12?a:0):a;if(!a)break;else c=a}return c|0}function II(a){a=a|0;var c=0;a=Yn(a)|0;if(!a){a=0;return a|0}c=b[a>>0]|0;c=c<<24>>24|0;a=(c|0)==37?0:(c|0)==40?a:0;return a|0}function JI(a,b){a=a|0;b=b|0;if(!b)return;else{JI(a,f[b>>2]|0);JI(a,f[b+4>>2]|0);Hta(b);return}}function KI(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+76>>2]|0;d=(f[a+80>>2]|0)-b>>3;if(!d){d=0;return d|0}c=a+76|0;a=f[b+4>>2]|0;a=vc[f[(f[a>>2]|0)+116>>2]&511](a)|0;if((d|0)==1){d=a;return d|0}else b=1;do{e=f[(f[c>>2]|0)+(b<<3)+4>>2]|0;a=(vc[f[(f[e>>2]|0)+116>>2]&511](e)|0)+a|0;b=b+1|0}while((b|0)!=(d|0));return a|0}function LI(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function MI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;PR(h,0);d=+Yk(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function NI(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function OI(a){a=a|0;var b=0;b=u;u=u+16|0;x=0;Ea(a|0);a=x;x=0;if(!(a&1)){x=0;Ga(747,60903,b|0);x=0}a=Za(0)|0;Ua(a|0)|0;x=0;Ga(747,60943,b+8|0);x=0;a=Za(0)|0;x=0;Ea(4);b=x;x=0;if(b&1){b=Za(0)|0;soa(b)}else soa(a)}function PI(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function QI(a,b){a=a|0;b=b|0;var c=0;c=f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((c|0)==31229){c=xc[f[(f[a>>2]|0)+164>>2]&2047](a,b)|0;return c|0}if((c|0)==33824){c=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return c|0}if((c|0)==33850){c=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return c|0}else{c=(a|0)==(b|0);return c|0}return 0}function RI(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=8016;_P(a+88|0);SG(a+76|0);d=a+64|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+68|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function SI(a,b){a=a|0;b=b|0;if(!b)return;else{SI(a,f[b>>2]|0);SI(a,f[b+4>>2]|0);a=b+16|0;Kc[f[f[a>>2]>>2]&511](a);Hta(b);return}}function TI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e+8|0;c=Ta(16)|0;dma()|0;f[e>>2]=a;f[e+4>>2]=29588;x=0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];Ia(165,c|0,d|0,b|0);b=x;x=0;if(b&1){e=Ya()|0;bb(c|0);jb(e|0)}else fb(c|0,6064,402)}function UI(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=b;f[a+16>>2]=c;c=g;e=f[c+4>>2]|0;g=a+20|0;f[g>>2]=f[c>>2];f[g+4>>2]=e;g=a+28|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];return}function VI(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=11932;d=a+60|0;f[d>>2]=12056;_P(a+80|0);f[d>>2]=12112;d=a+64|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+68|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function WI(a,b){a=a|0;b=b|0;if(!b)return;else{WI(a,f[b>>2]|0);WI(a,f[b+4>>2]|0);a=b+16|0;Kc[f[f[a>>2]>>2]&511](a);Hta(b);return}}function XI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+64|0;d=(f[b+72>>2]|0)-(f[b+68>>2]|0)>>3;if(!d){e=0;return e|0}c=0;while(1){b=(xc[f[(f[e>>2]|0)+16>>2]&2047](e,c)|0)+4|0;b=f[b>>2]|0;b=xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0;c=c+1|0;if(b|0){c=5;break}if(c>>>0>=d>>>0){b=0;c=5;break}}if((c|0)==5)return b|0;return 0}function YI(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function ZI(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function _I(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function $I(a){a=a|0;var c=0,d=0,e=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16476;c=a+64|0;f[c>>2]=16516;f[a+8>>2]=16496;d=a+12|0;f[d>>2]=16336;e=a+44|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);KU(a,16528);uma(c);Hta(a);return}function aJ(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}c=f[a+4>>2]|0;a=f[a+8>>2]|0;if((c|0)==(a|0)){d=0;return d|0}do{e=f[c+4>>2]|0;e=(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=f[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;f[d>>2]=b;c=c+8|0}while((c|0)!=(a|0));return b|0}function bJ(a,c){a=a|0;c=c|0;if(!c)return;bJ(a,f[c>>2]|0);bJ(a,f[c+4>>2]|0);a=c+16|0;if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);Hta(c);return}function cJ(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=a+20|0;d=a+28|0;if((f[c>>2]|0)>>>0>(f[d>>2]|0)>>>0)yc[f[a+36>>2]&255](a,0,0)|0;f[a+16>>2]=0;f[d>>2]=0;f[c>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function dJ(a){a=a|0;var b=0,c=0,d=0;d=a+68|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}b=(tq(a)|0)+-1640531527|0;c=f[d>>2]|0;c=b+(c<<6)+(c>>>2)^c;f[d>>2]=c;b=f[a+108>>2]|0;if(!b){d=c;return d|0}a=(vc[f[(f[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;c=f[d>>2]|0;c=a+(c<<6)+(c>>>2)^c;f[d>>2]=c;d=c;return d|0}function eJ(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=Rd(b)|0;return b|0}if(b>>>0>4294967231){b=bua()|0;f[b>>2]=12;b=0;return b|0}c=Qm(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=Rd(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;Lu(c|0,a|0,(d>>>0>>0?d:b)|0)|0;$h(a);b=c;return b|0}function fJ(a){a=a|0;var b=0,c=0,d=0;d=a+68|0;b=f[d>>2]|0;if(b|0){d=b;return d|0}b=(tq(a)|0)+-1640531527|0;c=f[d>>2]|0;c=b+(c<<6)+(c>>>2)^c;f[d>>2]=c;b=f[a+108>>2]|0;if(!b){d=c;return d|0}a=(vc[f[(f[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;c=f[d>>2]|0;c=a+(c<<6)+(c>>>2)^c;f[d>>2]=c;d=c;return d|0}function gJ(a){a=a|0;var c=0,d=0;d=0;c=ZW(a)|0;if(!c){if(a|0){c=a;d=4}}else while(1){d=ZW(c)|0;if(!d){d=4;break}else c=d}if((d|0)==4)if((b[c>>0]|0)==46){c=ZW(c+1|0)|0;if(c|0){while(1){d=ZW(c)|0;if(!d)break;else c=d}return c|0}}a=ZW(a)|0;return a|0}function hJ(a){a=a|0;var b=0,c=0,d=0;d=0;if((f[a+76>>2]|0)<0)d=3;else if(!(Vta(a)|0))d=3;else{b=a+4|0;c=f[b>>2]|0;if(c>>>0<(f[a+8>>2]|0)>>>0){f[b>>2]=c+1;b=h[c>>0]|0}else b=hS(a)|0}do if((d|0)==3){b=a+4|0;c=f[b>>2]|0;if(c>>>0<(f[a+8>>2]|0)>>>0){f[b>>2]=c+1;b=h[c>>0]|0;break}else{b=hS(a)|0;break}}while(0);return b|0}function iJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d;e=f[(f[a>>2]|0)+12>>2]|0;qV(c,f[b+68>>2]|0);f[c>>2]=7280;x=0;Ga(e|0,a|0,f[c+4>>2]|0);b=x;x=0;if(b&1){e=Ya()|0;_P(c);jb(e|0)}else{_P(c);u=d;return}}function jJ(a){a=a|0;var c=0,d=0,e=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16476;c=a+64|0;f[c>>2]=16516;f[a+8>>2]=16496;d=a+12|0;f[d>>2]=16336;e=a+44|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);KU(a,16528);uma(c);return}function kJ(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-60|0;f[b>>2]=11932;d=b+60|0;f[d>>2]=12056;_P(b+80|0);f[d>>2]=12112;d=b+64|0;a=f[d>>2]|0;if(!a)return;c=b+68|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function lJ(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=u;u=u+48|0;b=e+32|0;c=e+24|0;d=e;g=e+16|0;f[g>>2]=468;f[g+4>>2]=0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];VS(d,b,a);if((f[a>>2]|0)!=-1){f[b>>2]=d;f[c>>2]=b;Zv(a,c,469)}u=e;return (f[a+4>>2]|0)+-1|0}function mJ(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=Mj(c,a,e,g,4)|0;if(!(f[e>>2]&4))f[b>>2]=a+-1900;u=h;return}function nJ(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=u;u=u+16|0;a=h+4|0;i=h;f[i>>2]=f[d>>2];f[a>>2]=f[i>>2];a=sj(c,a,e,g,4)|0;if(!(f[e>>2]&4))f[b>>2]=a+-1900;u=h;return}function oJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a:do if(!(b[a+44>>0]|0)){e=0;while(1){if((e|0)>=(d|0))break a;h=f[(f[a>>2]|0)+52>>2]|0;g=mra(f[c>>2]|0)|0;g=xc[h&2047](a,g)|0;if((g|0)==(Jta()|0))break a;e=e+1|0;c=c+4|0}}else e=vO(c,4,d,f[a+32>>2]|0)|0;while(0);return e|0}function pJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d;e=f[(f[a>>2]|0)+12>>2]|0;qV(c,f[b+68>>2]|0);f[c>>2]=7280;x=0;Ga(e|0,a|0,f[c+4>>2]|0);b=x;x=0;if(b&1){e=Ya()|0;_P(c);jb(e|0)}else{_P(c);u=d;return}}function qJ(a){a=+a;var b=0,c=0,d=0,e=0;e=~~a;c=f[19897]|0;if(!c){e=0;return e|0}else{b=79588;d=c}a:while(1){c=d;while(1){if((f[c+16>>2]|0)>=(e|0))break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){b=c;break}else b=c}if((b|0)==79588){e=0;return e|0}if((f[b+16>>2]|0)>(e|0)){e=0;return e|0}e=f[b+20>>2]|0;return e|0}function rJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a:do if(!(b[a+44>>0]|0)){e=0;while(1){if((e|0)>=(d|0))break a;h=f[(f[a>>2]|0)+52>>2]|0;g=mqa(b[c>>0]|0)|0;g=xc[h&2047](a,g)|0;if((g|0)==(Kta()|0))break a;e=e+1|0;c=c+1|0}}else e=vO(c,1,d,f[a+32>>2]|0)|0;while(0);return e|0}function sJ(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;qV(c,f[b+64>>2]|0);f[c>>2]=7696;b=f[c+4>>2]|0;x=0;a=sa(f[(f[b>>2]|0)+68>>2]|0,b|0,a|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return a|0}return 0}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;qV(c,f[b+68>>2]|0);f[c>>2]=7696;b=f[c+4>>2]|0;x=0;a=sa(f[(f[b>>2]|0)+56>>2]|0,b|0,a|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return a|0}return 0}function uJ(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=29020;d=a+8|0;e=a+12|0;c=0;while(1){b=f[d>>2]|0;if(c>>>0>=(f[e>>2]|0)-b>>2>>>0)break;b=f[b+(c<<2)>>2]|0;if(b|0)jU(b)|0;c=c+1|0}Aaa(a+144|0);nN(d);$sa(a);return}function vJ(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;qV(c,f[b+64>>2]|0);f[c>>2]=7696;b=f[c+4>>2]|0;x=0;Ga(f[(f[b>>2]|0)+44>>2]|0,b|0,a|0);b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return}}function wJ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){b[a>>0]=43;a=a+1|0}if(!(e&512))f=a;else{b[a>>0]=35;f=a+1|0}while(1){a=b[c>>0]|0;if(!(a<<24>>24))break;b[f>>0]=a;c=c+1|0;f=f+1|0}switch(e&74){case 64:{a=111;break}case 8:{a=e&16384|0?88:120;break}default:a=d?100:117}b[f>>0]=a;return}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;j=u;u=u+128|0;h=j;f[h>>2]=0;i=h+4|0;f[i>>2]=a;f[h+44>>2]=a;g=h+8|0;f[g>>2]=(a|0)<0?-1:a+2147483647|0;f[h+76>>2]=-1;PR(h,0);c=uh(h,c,1,d,e)|0;if(b|0)f[b>>2]=a+((f[i>>2]|0)+(f[h+108>>2]|0)-(f[g>>2]|0));u=j;return c|0}function yJ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;a=c+16|0;g=f[a>>2]|0;do if(!g){f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}else{if((g|0)!=(d|0)){e=c+36|0;f[e>>2]=(f[e>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}a=c+24|0;if((f[a>>2]|0)==2)f[a>>2]=e}while(0);return}function zJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){while(1){e=lS(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Mea(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}c=a}else c=a;if(c)while(1){d=d+-1|0;b[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function AJ(a){a=a|0;var c=0,d=0,e=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16420;c=a+56|0;f[c>>2]=16440;d=a+4|0;f[d>>2]=16336;e=a+36|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);Zna(a,16452);uma(c);Hta(a);return}function BJ(a){a=a|0;var c=0,d=0,e=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16300;c=a+60|0;f[c>>2]=16320;d=a+8|0;f[d>>2]=16336;e=a+40|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);$na(a,16396);uma(c);Hta(a);return}function CJ(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=0;a=c;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}c=b[a>>0]|0;g=b[e>>0]|0;if(c<<24>>24>24){a=-1;break}if(g<<24>>24>24){a=1;break}e=e+1|0;a=a+1|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function DJ(a,b){a=a|0;b=b|0;if(!b)return;else{DJ(a,f[b>>2]|0);DJ(a,f[b+4>>2]|0);Hta(b);return}}function EJ(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;qV(c,f[b+68>>2]|0);f[c>>2]=7280;b=f[c+4>>2]|0;x=0;Ga(f[(f[b>>2]|0)+44>>2]|0,b|0,a|0);b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return}}function FJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function GJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function HJ(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=b[a+11>>0]|0;if(e<<24>>24<0){e=f[a+4>>2]|0;a=f[a>>2]|0}else e=e&255;a:do if(!e)e=-1;else{e=a+(e>>>0>d>>>0?d+1|0:e)|0;do{if((e|0)==(a|0)){e=-1;break a}e=e+-1|0}while(!(Pia(b[e>>0]|0,c)|0));e=e-a|0}while(0);return e|0}function IJ(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=8016;_P(a+88|0);SG(a+76|0);d=a+64|0;b=f[d>>2]|0;if(!b)return;c=a+68|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function JJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function KJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function LJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function MJ(){var a=0,c=0;if(!(b[78568]|0))if(lda(78568)|0){c=84252;do{f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}c=c+12|0}while((c|0)!=84540)}YT(84252,27344)|0;YT(84264,27356)|0;return}function NJ(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;qV(c,f[b+68>>2]|0);f[c>>2]=7280;b=f[c+4>>2]|0;x=0;Ga(f[(f[b>>2]|0)+44>>2]|0,b|0,a|0);b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return}}function OJ(){var a=0,c=0;if(!(b[78488]|0))if(lda(78488)|0){c=83440;do{f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}c=c+12|0}while((c|0)!=83728)}ZT(83440,58222)|0;ZT(83452,58225)|0;return}function PJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function QJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function RJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function SJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function TJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function UJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function VJ(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=11932;d=a+60|0;f[d>>2]=12056;_P(a+80|0);f[d>>2]=12112;d=a+64|0;b=f[d>>2]|0;if(!b)return;c=a+68|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function WJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function XJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function YJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function ZJ(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function _J(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function $J(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function aK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function bK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function cK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function dK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function eK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function fK(a){a=a|0;var b=0,c=0,d=0;b=a+44|0;d=f[b>>2]|0;c=f[a+24>>2]|0;if(d>>>0>>0){f[b>>2]=c;d=c}if(!(f[a+48>>2]&8)){a=-1;return a|0}b=a+16|0;c=f[b>>2]|0;if(c>>>0>>0){f[b>>2]=d;c=d}b=f[a+12>>2]|0;if(b>>>0>=c>>>0){a=-1;return a|0}a=h[b>>0]|0;return a|0}function gK(a){a=a|0;var c=0;c=LA(a)|0;if(c)return c|0;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;if(!a){c=0;return c|0}a=Ay(a)|0;if(!a){c=0;return c|0}c=wy(a)|0;return c|0}function hK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function iK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function jK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function kK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function lK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function mK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function nK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function oK(a,b){a=a|0;b=b|0;var c=0,d=0;io(a,b)|0;if(b|0)if((f[215]|0)==(f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0))if(!(f[b+96>>2]|0)){c=a+32|0;d=f[c>>2]|0;f[c>>2]=b;zf(a,b)|0;f[c>>2]=d;return b|0}zf(a,b)|0;return b|0}function pK(a){a=a|0;var c=0,d=0,e=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16420;c=a+56|0;f[c>>2]=16440;d=a+4|0;f[d>>2]=16336;e=a+36|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);Zna(a,16452);uma(c);return}function qK(a){a=a|0;var c=0,d=0,e=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16300;c=a+60|0;f[c>>2]=16320;d=a+8|0;f[d>>2]=16336;e=a+40|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);$na(a,16396);uma(c);return}function rK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function sK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function tK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function uK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function vK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function wK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function xK(a){a=a|0;var c=0,d=0,e=0;a=a+-8|0;f[a>>2]=16476;c=a+64|0;f[c>>2]=16516;f[a+8>>2]=16496;d=a+12|0;f[d>>2]=16336;e=a+44|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);KU(a,16528);uma(c);Hta(a);return}function yK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function zK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function AK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function BK(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;f[a+12>>2]=0;f[a+16>>2]=e;do if(!c)e=0;else{g=e+112|0;if(c>>>0<29&(b[g>>0]|0)==0){b[g>>0]=1;break}else{e=VN(c<<2)|0;break}}while(0);f[a>>2]=e;d=e+(d<<2)|0;f[a+8>>2]=d;f[a+4>>2]=d;f[a+12>>2]=e+(c<<2);return}function CK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function DK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function EK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function FK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function GK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function HK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function IK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function JK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function KK(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+16|0;g=h;e=b[a+11>>0]|0;if(e<<24>>24<0){e=f[a+4>>2]|0;a=f[a>>2]|0}else e=e&255;b[g>>0]=c;if(e>>>0>d>>>0){g=_V(a+d|0,e-d|0,g)|0;a=(g|0)==0?-1:g-a|0}else a=-1;u=h;return a|0}function LK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function MK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function NK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function OK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function PK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function QK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function RK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function SK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function TK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function UK(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=28972;b=a+8|0;c=f[b>>2]|0;x=0;d=la(3)|0;e=x;x=0;do if(!(e&1)){if((c|0)!=(d|0)){x=0;Fa(470,f[b>>2]|0);e=x;x=0;if(e&1)break}$sa(a);return}while(0);e=Za(0)|0;$sa(a);soa(e)}function VK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function WK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function XK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function YK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function ZK(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function _K(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=0;a=b;while(1){if((d|0)==(e|0)){h=7;break}if((a|0)==(c|0)){a=-1;break}b=f[a>>2]|0;g=f[d>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}d=d+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(c|0)&1;return a|0}function $K(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function aL(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function bL(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function cL(a,c){a=a|0;c=c|0;var d=0,e=0;e=0;while(1){if((h[54909+e>>0]|0)==(a|0)){a=2;break}d=e+1|0;if((d|0)==87){d=54997;e=87;a=5;break}else e=d}if((a|0)==2)if(!e)d=54997;else{d=54997;a=5}if((a|0)==5)while(1){do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);e=e+-1|0;if(!e)break;else a=5}return Ypa(d,f[c+20>>2]|0)|0}function dL(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function eL(a,b){a=a|0;b=b|0;var c=0;c=Vba(b)|0;io(a,c)|0;if(!c)b=0;else b=(f[81]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0);if(!(b|(Wba(c)|0)!=0)){a=c;return a|0}a=zf(a,c)|0;return a|0}function fL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;e=f[a>>2]|0;d=c-e>>2;a:do if(d>>>0>>0)My(a,b-d|0);else if(d>>>0>b>>>0){a=e+(b<<2)|0;while(1){if((c|0)==(a|0))break a;e=c+-4|0;f[g>>2]=e;c=e}}while(0);return}function gL(a){a=a|0;var b=0;b=JQ(a)|0;if(!b){b=xu(a)|0;if(!b){a=0;return a|0}}while(1){a=JQ(b)|0;if(a|0){b=a;continue}a=xu(b)|0;if(!a)break;else b=a}return b|0}function hL(a){a=a|0;var c=0,d=0,e=0;d=0;e=a;a:do if(!(e&3))d=4;else{c=e;while(1){if(!(b[a>>0]|0)){a=c;break a}a=a+1|0;c=a;if(!(c&3)){d=4;break}}}while(0);if((d|0)==4){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 iL(a){a=a|0;var c=0,d=0,e=0;a=a+-8|0;f[a>>2]=16476;c=a+64|0;f[c>>2]=16516;f[a+8>>2]=16496;d=a+12|0;f[d>>2]=16336;e=a+44|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);KU(a,16528);uma(c);return}function jL(a){a=a|0;var c=0,d=0,e=0;if(!a){e=0;return e|0}c=b[49204]|0;a:do if(c<<24>>24){e=49204;while(1){d=b[a>>0]|0;if(d<<24>>24!=c<<24>>24)if(((d<<24>>24)+32|0)!=(c<<24>>24|0)){a=0;break}a=a+1|0;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);e=sR(a)|0;return e|0}function kL(a){a=a|0;var c=0,d=0,e=0;if(!a){e=0;return e|0}c=b[49860]|0;a:do if(c<<24>>24){e=49860;while(1){d=b[a>>0]|0;if(d<<24>>24!=c<<24>>24)if(((d<<24>>24)+32|0)!=(c<<24>>24|0)){a=0;break}a=a+1|0;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);e=sR(a)|0;return e|0}function lL(a){a=a|0;var c=0,d=0,e=0;if(!a){e=0;return e|0}c=b[53340]|0;a:do if(c<<24>>24){e=53340;while(1){d=b[a>>0]|0;if(d<<24>>24!=c<<24>>24)if(((d<<24>>24)+32|0)!=(c<<24>>24|0)){a=0;break}a=a+1|0;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);e=sR(a)|0;return e|0}function mL(a){a=a|0;var c=0,d=0,e=0;if(!a){e=0;return e|0}c=b[45892]|0;a:do if(c<<24>>24){e=45892;while(1){d=b[a>>0]|0;if(d<<24>>24!=c<<24>>24)if(((d<<24>>24)+32|0)!=(c<<24>>24|0)){a=0;break}a=a+1|0;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);e=sR(a)|0;return e|0}function nL(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;b=u;u=u+16|0;j=b+4|0;a=b;f[j>>2]=c;f[a>>2]=g;h=uo(c,d,j,g,h,a,1114111,0)|0;f[e>>2]=f[j>>2];f[i>>2]=f[a>>2];u=b;return h|0}function oL(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;b=u;u=u+16|0;j=b+4|0;a=b;f[j>>2]=c;f[a>>2]=g;h=Ln(c,d,j,g,h,a,1114111,0)|0;f[e>>2]=f[j>>2];f[i>>2]=f[a>>2];u=b;return h|0}function pL(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;b=u;u=u+16|0;j=b+4|0;a=b;f[j>>2]=c;f[a>>2]=g;h=zr(c,d,j,g,h,a,1114111,0)|0;f[e>>2]=f[j>>2];f[i>>2]=f[a>>2];u=b;return h|0}function qL(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;b=u;u=u+16|0;j=b+4|0;a=b;f[j>>2]=c;f[a>>2]=g;h=No(c,d,j,g,h,a,1114111,0)|0;f[e>>2]=f[j>>2];f[i>>2]=f[a>>2];u=b;return h|0}function rL(a){a=a|0;var b=0;b=JQ(a)|0;if(!b){b=xu(a)|0;if(!b)return a|0}while(1){a=JQ(b)|0;if(a|0){b=a;continue}a=xu(b)|0;if(!a)break;else b=a}return b|0}function sL(a,c){a=a|0;c=c|0;var d=0,e=0;e=b_(c,85120)|0;d=a+36|0;f[d>>2]=e;e=vc[f[(f[e>>2]|0)+24>>2]&511](e)|0;c=a+44|0;f[c>>2]=e;d=f[d>>2]|0;d=(vc[f[(f[d>>2]|0)+28>>2]&511](d)|0)&1;b[a+53>>0]=d;if((f[c>>2]|0)>8)ZP(57556);else return}function tL(a,c){a=a|0;c=c|0;var d=0,e=0;e=b_(c,85112)|0;d=a+36|0;f[d>>2]=e;e=vc[f[(f[e>>2]|0)+24>>2]&511](e)|0;c=a+44|0;f[c>>2]=e;d=f[d>>2]|0;d=(vc[f[(f[d>>2]|0)+28>>2]&511](d)|0)&1;b[a+53>>0]=d;if((f[c>>2]|0)>8)ZP(57556);else return}function uL(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16476;c=a+64|0;f[c>>2]=16516;f[a+8>>2]=16496;d=a+12|0;f[d>>2]=16336;e=a+44|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);KU(a,16528);uma(c);Hta(a);return}function vL(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(gea(a,f[b+8>>2]|0,g)|0)LE(0,b,c,d,e);else{a=f[a+8>>2]|0;Qc[f[(f[a>>2]|0)+20>>2]&31](a,b,c,d,e,g)}return}function wL(a,c){a=a|0;c=c|0;var d=0;if((Cha(a)|0)>>>0>>0)EO(a);d=a+128|0;if(c>>>0<29&(b[d>>0]|0)==0){b[d>>0]=1;d=a+16|0}else d=VN(c<<2)|0;f[a+4>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c<<2);return}function xL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-60|0;f[e+60>>2]=9660;c=e+64|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+68|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function yL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-52|0;f[e+52>>2]=13504;c=e+56|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+60|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function zL(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a>>2]|0;if(!c)return;g=a+4|0;d=f[g>>2]|0;if((d|0)!=(c|0)){e=d;while(1){d=e+-52|0;f[g>>2]=d;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=f[g>>2]|0}if((d|0)==(c|0))break;else e=d}c=f[a>>2]|0}Hta(c);return}function AL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-60|0;f[e+60>>2]=10424;c=e+64|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+68|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function BL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=0;g=u;u=u+4112|0;d=g;c=g+8|0;if(!a){b=4096;a=c;e=4}else if(!b){a=bua()|0;f[a>>2]=22;a=0}else e=4;if((e|0)==4){f[d>>2]=a;f[d+4>>2]=b;if((caa(ob(183,d|0)|0)|0)<0)a=0;else if((a|0)==(c|0))a=_4(c)|0}u=g;return a|0}function CL(a){a=a|0;var c=0,d=0,e=0;e=a+-4|0;f[e>>2]=18928;f[e+4>>2]=19224;a=f[e+120>>2]|0;if(a|0){c=e+124|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Hta(a)}a=e+108|0;if((b[a+11>>0]|0)>=0){Spa(e);Hta(e);return}Hta(f[a>>2]|0);Spa(e);Hta(e);return}function DL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;f[c>>2]=b;d=a+404|0;e=f[d>>2]|0;if((e|0)==(f[a+408>>2]|0)){VA(a+400|0,c);u=g;return}else{f[e>>2]=b;f[d>>2]=(f[d>>2]|0)+4;u=g;return}}function EL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-64|0;f[e+64>>2]=6936;c=e+68|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+72|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function FL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+-60|0;f[e+60>>2]=9660;c=e+64|0;a=f[c>>2]|0;if(!a){Hta(e);return}d=e+68|0;b=f[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-8|0;f[d>>2]=g;Kc[f[f[g>>2]>>2]&511](g);b=f[d>>2]|0}while((b|0)!=(a|0));a=f[c>>2]|0}Hta(a);Hta(e);return}function GL(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;g=u;u=u+16|0;h=g;f[h>>2]=e;e=LV(c)|0;c=kD(a,b,d,h)|0;if(e|0){x=0;qa(407,e|0)|0;h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}}u=g;return c|0}function HL(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16476;c=a+64|0;f[c>>2]=16516;f[a+8>>2]=16496;d=a+12|0;f[d>>2]=16336;e=a+44|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);KU(a,16528);uma(c);return}function IL(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 JL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];f[a+12>>2]=b;f[a+16>>2]=c;c=e;d=f[c+4>>2]|0;e=a+20|0;f[e>>2]=f[c>>2];f[e+4>>2]=d;f[a+28>>2]=0;f[a+32>>2]=0;f[a+36>>2]=0;return}function KL(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;d=h+12|0;i=h;e=f[(f[c>>2]|0)+28>>2]|0;f[i>>2]=5;f[i+4>>2]=5;b[i+8>>0]=0;g=d;j=g+12|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));Nc[e&255](a,c,d);u=h;return}function LL(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;d=h+12|0;i=h;e=f[(f[c>>2]|0)+28>>2]|0;f[i>>2]=4;f[i+4>>2]=5;b[i+8>>0]=0;g=d;j=g+12|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));Nc[e&255](a,c,d);u=h;return}function ML(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=18320;b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Hta(b)}b=f[a+12>>2]|0;if(!b){Hta(a);return}c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Hta(b);Hta(a);return}function NL(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;d=h+12|0;i=h;e=f[(f[c>>2]|0)+28>>2]|0;f[i>>2]=0;f[i+4>>2]=5;b[i+8>>0]=0;g=d;j=g+12|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));Nc[e&255](a,c,d);u=h;return}function OL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;f[c>>2]=b;d=a+124|0;e=f[d>>2]|0;if(e>>>0<(f[a+128>>2]|0)>>>0){f[e>>2]=b;f[d>>2]=(f[d>>2]|0)+4;u=g;return}else{XA(a+120|0,c);u=g;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;d=u;u=u+16|0;e=d+8|0;g=d;i=c;h=f[i+4>>2]|0;c=g;f[c>>2]=f[i>>2];f[c+4>>2]=h;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];Iv(a,e,b);f[a>>2]=26404;u=d;return}function QL(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;d=h+12|0;i=h;e=f[(f[c>>2]|0)+28>>2]|0;f[i>>2]=5;f[i+4>>2]=5;b[i+8>>0]=0;g=d;j=g+12|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));Nc[e&255](a,c,d);u=h;return}function RL(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;d=h+12|0;i=h;e=f[(f[c>>2]|0)+28>>2]|0;f[i>>2]=4;f[i+4>>2]=5;b[i+8>>0]=0;g=d;j=g+12|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));Nc[e&255](a,c,d);u=h;return}function SL(a,b){a=a|0;b=b|0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)!=32785){b=0;return b|0}if(!(+p[a+64>>3]==+p[b+64>>3])){b=0;return b|0}if(!(+p[a+72>>3]==+p[b+72>>3])){b=0;return b|0}if(!(+p[a+80>>3]==+p[b+80>>3])){b=0;return b|0}b=+p[a+88>>3]==+p[b+88>>3];return b|0}function TL(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a+4>>2]|0;d=a+8|0;e=f[d>>2]|0;while(1){if((e|0)==(c|0))break;g=e+-4|0;f[d>>2]=g;e=g}d=f[a>>2]|0;do if(d|0){c=f[a+16>>2]|0;if((d|0)==(c|0)){b[c+112>>0]=0;break}else{Hta(d);break}}while(0);return}function UL(a,b){a=a|0;b=b|0;var c=0,d=0;d=u;u=u+16|0;c=d;qV(c,a);f[c>>2]=6664;x=0;a=qa(b|0,c|0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{_P(c);u=d;return a|0}return 0}function VL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a+60>>2]=9660;d=a+64|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+68|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function WL(a,b){a=a|0;b=b|0;var c=0,d=0;if(!((a|0)!=0&(b|0)!=0))return;if((f[a+16>>2]|0)!=4)Ra(43667,43692,602,43705);if(f[b>>2]|0)Ra(43725,43692,603,43705);f[b>>2]=a;d=a+24|0;a=d+4|0;f[b+4>>2]=f[a>>2];f[b+8>>2]=0;c=f[a>>2]|0;f[((c|0)==0?d:c+8|0)>>2]=b;f[a>>2]=b;return}function XL(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16420;c=a+56|0;f[c>>2]=16440;d=a+4|0;f[d>>2]=16336;e=a+36|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);Zna(a,16452);uma(c);Hta(a);return}function YL(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16300;c=a+60|0;f[c>>2]=16320;d=a+8|0;f[d>>2]=16336;e=a+40|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);$na(a,16396);uma(c);Hta(a);return}function ZL(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a+52>>2]=13504;d=a+56|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+60|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function _L(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a+60>>2]=10424;d=a+64|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+68|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function $L(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=18928;f[a+4>>2]=19224;c=f[a+120>>2]|0;if(c|0){d=a+124|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}c=a+108|0;if((b[c+11>>0]|0)>=0){Spa(a);Hta(a);return}Hta(f[c>>2]|0);Spa(a);Hta(a);return}function aM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;d=g;if(!b)b=0;else{e=d+4|0;while(1){qV(d,f[b+88>>2]|0);f[d>>2]=15556;c=f[e>>2]|0;_P(d);if(!c)break;else b=c}}qV(a,b);f[a>>2]=15556;u=g;return}function bM(a){a=a|0;var b=0;a=WF(a)|0;if(!a){b=0;return b|0}else b=a;while(1){a=WF(b)|0;if(!a)break;else b=a}a=XF(b)|0;if(!a)return b|0;while(1){b=XF(a)|0;if(!b)break;else a=b}return a|0}function cM(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a+64>>2]=6936;d=a+68|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+72|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function dM(a){a=a|0;var c=0,d=0,e=0;e=a+-4|0;f[e>>2]=18928;f[e+4>>2]=19224;a=f[e+120>>2]|0;if(a|0){c=e+124|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Hta(a)}a=e+108|0;if((b[a+11>>0]|0)>=0){Spa(e);return}Hta(f[a>>2]|0);Spa(e);return}function eM(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a+60>>2]=9660;d=a+64|0;b=f[d>>2]|0;if(!b){Hta(a);return}e=a+68|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b);Hta(a);return}function fM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=LV(b)|0;b=UN(a,c,g)|0;if(d|0){x=0;qa(407,d|0)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}}u=e;return b|0}function gM(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(!c)return;e=a+4|0;d=f[e>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(c|0));c=f[a>>2]|0}Hta(c);return}function hM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;AD(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{yfa(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}yfa(a,f,e)}u=g;return}function iM(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16420;c=a+56|0;f[c>>2]=16440;d=a+4|0;f[d>>2]=16336;e=a+36|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);Zna(a,16452);uma(c);return}function jM(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=16300;c=a+60|0;f[c>>2]=16320;d=a+8|0;f[d>>2]=16336;e=a+40|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(d);$na(a,16396);uma(c);return}function kM(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-60|0;f[b+60>>2]=9660;d=b+64|0;a=f[d>>2]|0;if(!a)return;c=b+68|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function lM(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-52|0;f[b+52>>2]=13504;d=b+56|0;a=f[d>>2]|0;if(!a)return;c=b+60|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function mM(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-60|0;f[b+60>>2]=10424;d=b+64|0;a=f[d>>2]|0;if(!a)return;c=b+68|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function nM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(gea(a,f[b+8>>2]|0,0)|0)yJ(0,b,c,d);else{a=f[a+8>>2]|0;Oc[f[(f[a>>2]|0)+28>>2]&63](a,b,c,d)}return}function oM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;Uc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function pM(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-64|0;f[b+64>>2]=6936;d=b+68|0;a=f[d>>2]|0;if(!a)return;c=b+72|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function qM(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-60|0;f[b+60>>2]=9660;d=b+64|0;a=f[d>>2]|0;if(!a)return;c=b+68|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{e=b+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[d>>2]|0}Hta(a);return}function rM(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=18320;b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Hta(b)}d=f[a+12>>2]|0;if(!d)return;b=a+16|0;c=f[b>>2]|0;if((c|0)!=(d|0))f[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Hta(d);return}function sM(a){a=a|0;var c=0,d=0;c=a+84|0;d=b[c+11>>0]|0;if(((d<<24>>24<0?f[a+88>>2]|0:d&255)|0)!=1)return f[4162]|0;x=0;a=wa(21,c|0,0,-1,41390,1)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}else return ((a|0)==0?0:f[4162]|0)|0;return 0}function tM(){var a=0,b=0;x=0;a=la(11)|0;b=x;x=0;if(b&1){b=Za(0)|0;soa(b)}if(a|0){a=f[a>>2]|0;if(a|0){b=a+48|0;if((f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0)OI(f[a+12>>2]|0)}}OI(jna()|0)}function uM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49981]|0;a:do if(c<<24>>24){d=49981;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function vM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36338]|0;a:do if(c<<24>>24){d=36338;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function wM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52210]|0;a:do if(c<<24>>24){d=52210;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function xM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52219]|0;a:do if(c<<24>>24){d=52219;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function yM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52139]|0;a:do if(c<<24>>24){d=52139;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function zM(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=18928;f[a+4>>2]=19224;c=f[a+120>>2]|0;if(c|0){d=a+124|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}c=a+108|0;if((b[c+11>>0]|0)>=0){Spa(a);return}Hta(f[c>>2]|0);Spa(a);return}function AM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52194]|0;a:do if(c<<24>>24){d=52194;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function BM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;f[c>>2]=b;d=a+20|0;e=f[d>>2]|0;if((e|0)==(f[a+24>>2]|0)){hB(a+16|0,c);u=g;return}else{f[e>>2]=b;f[d>>2]=e+4;u=g;return}}function CM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=b+64|0;c=(f[b+72>>2]|0)-(f[b+68>>2]|0)>>3;if(!c)return;b=0;do{e=(xc[f[(f[d>>2]|0)+16>>2]&2047](d,b)|0)+4|0;e=f[e>>2]|0;Lc[f[(f[e>>2]|0)+44>>2]&1023](e,a);b=b+1|0}while((b|0)!=(c|0));return}function DM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49914]|0;a:do if(c<<24>>24){d=49914;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function EM(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a>>2]|0;if(!b)return;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{e=c+-8|0;f[d>>2]=e;Kc[f[f[e>>2]>>2]&511](e);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Hta(b);return}function FM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36333]|0;a:do if(c<<24>>24){d=36333;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function GM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[45818]|0;a:do if(c<<24>>24){d=45818;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function HM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49921]|0;a:do if(c<<24>>24){d=49921;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function IM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36283]|0;a:do if(c<<24>>24){d=36283;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function JM(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=f[a+4>>2]|0;h=i>>8;if(i&1)h=f[(f[d>>2]|0)+h>>2]|0;a=f[a>>2]|0;Qc[f[(f[a>>2]|0)+20>>2]&31](a,b,c,d+h|0,i&2|0?e:2,g);return}function KM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49949]|0;a:do if(c<<24>>24){d=49949;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function LM(a){a=a|0;var c=0;c=a+1|0;switch(b[a>>0]|0){case 45:{a=Xu(c)|0;if(!a){c=0;return c|0}c=(b[a>>0]|0)==45?a+1|0:0;return c|0}case 43:return c|0;default:{c=0;return c|0}}return 0}function MM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((caa(lb(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function NM(a){a=a|0;var c=0,d=0;d=a+84|0;a=(b[d+11>>0]|0)<0;if(a)c=f[d>>2]|0;else c=d;if((b[c>>0]|0)==58){if(a)a=f[d>>2]|0;else a=d;if((b[a+1>>0]|0)==58){d=1;return d|0}}d=Ru(d)|0;return d|0}function OM(a){a=a|0;var c=0,d=0;f[a>>2]=8112;d=a+64|0;c=a+100|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+88|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+76|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);if((b[d+11>>0]|0)>=0){Hta(a);return}Hta(f[d>>2]|0);Hta(a);return}function PM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49904]|0;a:do if(c<<24>>24){d=49904;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function QM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36296]|0;a:do if(c<<24>>24){d=36296;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function RM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36271]|0;a:do if(c<<24>>24){d=36271;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function SM(a){a=a|0;var b=0,c=0,d=0,e=0;f[a+60>>2]=9660;d=a+64|0;b=f[d>>2]|0;if(!b)return;c=a+68|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function TM(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;a:do if(a|0)switch(c|0){case -2:{b[a>>0]=e;break a}case -1:{d[a>>1]=e;break a}case 0:{f[a>>2]=e;break a}case 1:{f[a>>2]=e;break a}case 3:{c=a;f[c>>2]=e;f[c+4>>2]=g;break a}default:break a}while(0);return}function UM(a){a=a|0;var c=0;f[a>>2]=16760;c=a+108|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+96|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+84|0;if((b[c+11>>0]|0)>=0){PF(a);Hta(a);return}Hta(f[c>>2]|0);PF(a);Hta(a);return}function VM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36356]|0;a:do if(c<<24>>24){d=36356;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function WM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52181]|0;a:do if(c<<24>>24){d=52181;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function XM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52202]|0;a:do if(c<<24>>24){d=52202;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function YM(a){a=a|0;var b=0,c=0,d=0,e=0;f[a+52>>2]=13504;d=a+56|0;b=f[d>>2]|0;if(!b)return;c=a+60|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function ZM(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49897]|0;a:do if(c<<24>>24){d=49897;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function _M(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[49974]|0;a:do if(c<<24>>24){d=49974;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function $M(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[59832]|0;a:do if(c<<24>>24){d=59832;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function aN(a){a=a|0;b[a+84>>0]=1;switch(f[f[a+68>>2]>>2]|0){case 2:if(!(f[a+72>>2]|0)){f[a+80>>2]=1;f[a+76>>2]=0;return}else{f[a+76>>2]=1;return}case 3:return;default:{if(b[a+100>>0]|0)if(b[a+102>>0]|0)return;f[a+80>>2]=1;f[a+76>>2]=0;return}}}function bN(a,b){a=a|0;b=b|0;return (ww(a,b)|0)!=(a+4|0)|0}function cN(a){a=a|0;var b=0,c=0,d=0,e=0;f[a+60>>2]=10424;d=a+64|0;b=f[d>>2]|0;if(!b)return;c=a+68|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function dN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52119]|0;a:do if(c<<24>>24){d=52119;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function eN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[59838]|0;a:do if(c<<24>>24){d=59838;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function fN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36319]|0;a:do if(c<<24>>24){d=36319;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function gN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36288]|0;a:do if(c<<24>>24){d=36288;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function hN(a,b){a=a|0;b=b|0;var c=0;c=HJ(b,47,-1)|0;if((c|0)==-1){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}else{FC(a,b,0,c+1|0,b);return}}function iN(a){a=a|0;var c=0;f[a>>2]=16880;c=a+108|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+96|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+84|0;if((b[c+11>>0]|0)>=0){PF(a);Hta(a);return}Hta(f[c>>2]|0);PF(a);Hta(a);return}function jN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52132]|0;a:do if(c<<24>>24){d=52132;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function kN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52125]|0;a:do if(c<<24>>24){d=52125;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function lN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36293]|0;a:do if(c<<24>>24){d=36293;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function mN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[44029]|0;a:do if(c<<24>>24){d=44029;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);d=sR(a)|0;return d|0}function nN(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a>>2]|0;do if(c|0){d=a+4|0;e=f[d>>2]|0;while(1){if((e|0)==(c|0))break;g=e+-4|0;f[d>>2]=g;e=g}if((c|0)==(a+16|0)){b[a+128>>0]=0;break}else{Hta(c);break}}while(0);return}function oN(a){a=a|0;var b=0,c=0,d=0,e=0;f[a+64>>2]=6936;d=a+68|0;b=f[d>>2]|0;if(!b)return;c=a+72|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function pN(a){a=a|0;var b=0,c=0,d=0,e=0;f[a+60>>2]=9660;d=a+64|0;b=f[d>>2]|0;if(!b)return;c=a+68|0;a=f[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-8|0;f[c>>2]=e;Kc[f[f[e>>2]>>2]&511](e);a=f[c>>2]|0}while((a|0)!=(b|0));b=f[d>>2]|0}Hta(b);return}function qN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36394]|0;a:do if(!(c<<24>>24))c=0;else{d=36394;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function rN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36391]|0;a:do if(!(c<<24>>24))c=0;else{d=36391;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function sN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36388]|0;a:do if(!(c<<24>>24))c=0;else{d=36388;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function tN(a){a=a|0;var c=0;f[a>>2]=14744;_P(a+116|0);c=a+104|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function uN(a,b){a=a|0;b=b|0;var c=0;c=qca(b)|0;if(c|0)return xc[f[(f[c>>2]|0)+92>>2]&2047](c,a)|0;b=Xba(b)|0;if(!b){a=0;return a|0}a=xc[f[(f[a>>2]|0)+136>>2]&2047](a,b)|0;return a|0}function vN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36382]|0;a:do if(!(c<<24>>24))c=0;else{d=36382;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function wN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[36385]|0;a:do if(!(c<<24>>24))c=0;else{d=36385;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function xN(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=f[a+4>>2]|0;g=h>>8;if(h&1)g=f[(f[c>>2]|0)+g>>2]|0;a=f[a>>2]|0;Pc[f[(f[a>>2]|0)+24>>2]&15](a,b,c+g|0,h&2|0?d:2,e);return}function yN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=YP(1,28)|0;if(!e){e=0;return e|0}if(!a)a=0;else a=wR(a)|0;f[e>>2]=a;if(!b)a=0;else a=wR(b)|0;f[e+4>>2]=a;f[e+8>>2]=c;f[e+12>>2]=d;f[e+20>>2]=-1;f[e+24>>2]=-1;return e|0}function zN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52302]|0;a:do if(!(c<<24>>24))c=0;else{d=52302;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function AN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52309]|0;a:do if(!(c<<24>>24))c=0;else{d=52309;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function BN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52312]|0;a:do if(!(c<<24>>24))c=0;else{d=52312;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function CN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52305]|0;a:do if(!(c<<24>>24))c=0;else{d=52305;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function DN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52307]|0;a:do if(!(c<<24>>24))c=0;else{d=52307;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function EN(a){a=a|0;var c=0,d=0;if(!a){d=0;return d|0}c=b[52299]|0;a:do if(!(c<<24>>24))c=0;else{d=52299;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);d=c<<24>>24==0?a:0;return d|0}function FN(a,b){a=a|0;b=b|0;f[a>>2]=18640;f[a+4>>2]=b;b=a+8|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;n[a+28>>2]=1.0;b=a+32|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+48>>2]=1.0;return}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=YP(1,28)|0;if(!d){d=0;return d|0}if(!a)a=0;else{e=wR(a)|0;f[d>>2]=e;a=wR(a)|0}f[d+4>>2]=a;f[d+8>>2]=b;f[d+12>>2]=c;f[d+20>>2]=-1;f[d+24>>2]=-1;e=d;return e|0}function HN(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;d=f[a+44>>2]|0;f[a+28>>2]=d;f[a+20>>2]=d;f[a+16>>2]=d+(f[a+48>>2]|0);a=0}else{f[a>>2]=c|32;a=-1}return a|0}function IN(a){a=a|0;var c=0;f[a>>2]=16760;c=a+108|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+96|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+84|0;if((b[c+11>>0]|0)>=0){PF(a);return}Hta(f[c>>2]|0);PF(a);return}function JN(a){a=a|0;var c=0,d=0,e=0;c=b[a+11>>0]|0;e=c<<24>>24<0;d=e?f[a>>2]|0:a;a=e?f[a+4>>2]|0:c&255;c=d+a|0;if(!a)return;else a=d;do{if((b[a>>0]|0)==10)b[a>>0]=32;a=a+1|0}while((a|0)!=(c|0));return}function KN(a){a=a|0;var b=0;b=f[a+68>>2]|0;if(b|0)if(vc[f[(f[b>>2]|0)+84>>2]&511](b)|0){b=1;return b|0}if((f[a+52>>2]|0)==7){b=1;return b|0}a=f[a+84>>2]|0;if(!a){b=0;return b|0}b=vc[f[(f[a>>2]|0)+84>>2]&511](a)|0;return b|0}function LN(a){a=a|0;var b=0;b=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;if((b|0)==(Jta()|0))a=Jta()|0;else{b=a+12|0;a=f[b>>2]|0;f[b>>2]=a+4;a=mra(f[a>>2]|0)|0}return a|0}function MN(a){a=a|0;var c=0;f[a>>2]=16880;c=a+108|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+96|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+84|0;if((b[c+11>>0]|0)>=0){PF(a);return}Hta(f[c>>2]|0);PF(a);return}function NN(a){a=a|0;var c=0,d=0;f[a>>2]=8112;d=a+64|0;c=a+100|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+88|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+76|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);if((b[d+11>>0]|0)>=0)return;Hta(f[d>>2]|0);return}function ON(a){a=a|0;var b=0;f[a>>2]=25984;x=0;Ga(708,a|0,0);b=x;x=0;if(b&1){b=Za(0)|0;soa(b)}else{uga(a+28|0);$h(f[a+32>>2]|0);$h(f[a+36>>2]|0);$h(f[a+48>>2]|0);$h(f[a+60>>2]|0);return}}function PN(a){a=a|0;var c=0;c=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;if((c|0)==(Kta()|0))a=Kta()|0;else{c=a+12|0;a=f[c>>2]|0;f[c>>2]=a+1;a=mqa(b[a>>0]|0)|0}return a|0}function QN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=f[a+4>>2]|0;e=g>>8;if(g&1)e=f[(f[c>>2]|0)+e>>2]|0;a=f[a>>2]|0;Oc[f[(f[a>>2]|0)+28>>2]&63](a,b,c+e|0,g&2|0?d:2);return}function RN(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;e=g;f[a+36>>2]=14;if(!(f[a>>2]&64)){f[e>>2]=f[a+60>>2];f[e+4>>2]=21523;f[e+8>>2]=g+16;if(ub(54,e|0)|0)b[a+75>>0]=-1}e=Ev(a,c,d)|0;u=g;return e|0}function SN(a,c){a=a|0;c=c|0;var d=0;d=a+4|0;FI(d,c+84|0,c);a=c+61|0;if(!(b[a>>0]|0))return;dQ(d);if(!(b[a>>0]|0))return;wv(d);return}function TN(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){da()|0;kb(12);return -1}f[r>>2]=a;if((a|0)>(ca()|0))if(!(ba()|0)){f[r>>2]=b;kb(12);return -1}return b|0}function UN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+128|0;d=g;e=d;h=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(h|0));f[d+32>>2]=165;f[d+44>>2]=a;f[d+76>>2]=-1;f[d+84>>2]=a;h=ef(d,b,c)|0;u=g;return h|0}function VN(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){c=Rd(b)|0;if(c|0){a=6;break}a=sma()|0;if(!a){a=5;break}Jc[a&63]()}if((a|0)==5){c=Ta(4)|0;Dra(c);fb(c|0,6144,409)}else if((a|0)==6)return c|0;return 0}function WN(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;x=0;c=la(3)|0;d=x;x=0;do if(!(d&1)){if((b|0)!=(c|0)){x=0;Fa(470,f[a>>2]|0);d=x;x=0;if(d&1)break}return}while(0);d=Za(0)|0;soa(d)}function XN(a){a=a|0;var c=0,d=0;if((b[a+11>>0]|0)<0)a=f[a>>2]|0;c=(hL(a)|0)+1|0;d=Rd(c)|0;if(!d){zV(82616,50780)|0;Pb(1)}else{Lu(d|0,a|0,c|0)|0;return d|0}return 0}function YN(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=6;b[a>>0]=b[40040]|0;b[a+1>>0]=b[40041]|0;b[a+2>>0]=b[40042]|0;b[a+3>>0]=b[40043]|0;b[a+4>>0]=b[40044]|0;b[a+5>>0]=b[40045]|0;b[a+6>>0]=0;return}function ZN(){var a=0,b=0;f[19723]=0;f[19722]=29216;x=0;a=la(3)|0;b=x;x=0;if(b&1){b=Ya()|0;$sa(78888);jb(b|0)}else{f[19724]=a;f[19722]=28452;return}}function _N(){var a=0,b=0;f[19719]=0;f[19718]=29216;x=0;a=la(3)|0;b=x;x=0;if(b&1){b=Ya()|0;$sa(78872);jb(b|0)}else{f[19720]=a;f[19718]=28428;return}}function $N(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=6;b[a>>0]=b[40040]|0;b[a+1>>0]=b[40041]|0;b[a+2>>0]=b[40042]|0;b[a+3>>0]=b[40043]|0;b[a+4>>0]=b[40044]|0;b[a+5>>0]=b[40045]|0;b[a+6>>0]=0;return}function aO(a){a=a|0;var b=0;a=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[a>>2]=16932;b=a+108|0;f[b>>2]=16952;dC(a+8|0);$na(a,16964);uma(b);Hta(a);return}function bO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;Nc[f[(f[a>>2]|0)+12>>2]&255](d,a,b);if((f[d+4>>2]|0)==(f[c+4>>2]|0))a=(f[d>>2]|0)==(f[c>>2]|0);else a=0;u=e;return a|0}function cO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+84|0;g=f[d>>2]|0;h=c+256|0;e=HB(g,0,h)|0;e=(e|0)==0?h:e-g|0;c=e>>>0>>0?e:c;Lu(b|0,g|0,c|0)|0;f[a+4>>2]=g+c;b=g+e|0;f[a+8>>2]=b;f[d>>2]=b;return c|0}function dO(a){a=a|0;var c=0,d=0,e=0;d=(aca(a,43)|0)==0;c=b[a>>0]|0;c=c<<24>>24|0;d=d?(c|0)!=114&1:2;e=(aca(a,120)|0)==0;d=e?d:d|128;a=(aca(a,101)|0)==0;a=a?d:d|524288;a=(c|0)==114?a:a|64;a=(c|0)==119?a|512:a;return ((c|0)==97?a|1024:a)|0}function eO(a){a=a|0;var c=0;f[a>>2]=14744;_P(a+116|0);c=a+104|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0)return;Hta(f[c>>2]|0);return}function fO(a,b){a=a|0;b=b|0;var c=0;f[a+24>>2]=b;f[a+16>>2]=(b|0)==0&1;f[a+20>>2]=0;f[a+4>>2]=4098;f[a+12>>2]=0;f[a+8>>2]=6;c=a+28|0;b=a+32|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));bQ(c);return}function gO(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=6;b[a>>0]=b[39056]|0;b[a+1>>0]=b[39057]|0;b[a+2>>0]=b[39058]|0;b[a+3>>0]=b[39059]|0;b[a+4>>0]=b[39060]|0;b[a+5>>0]=b[39061]|0;b[a+6>>0]=0;return}function hO(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a;do{$h(f[b>>2]|0);$h(f[b+4>>2]|0);$h(f[b+8>>2]|0);$h(f[b+12>>2]|0);$h(f[b+16>>2]|0);$h(b);c=c+4|0;b=f[c>>2]|0}while((b|0)!=0)}$h(a);return}function iO(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 jO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[c>>2]|0;d=a;c=b-a>>2;while(1){if(!c)break;b=(c|0)/2|0;g=d+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;d=a?g+4|0:d;c=a?c+-1-b|0:b}return d|0}function kO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(a-b>>2>>>0>>0){do{c=c+-1|0;f[a+(c<<2)>>2]=f[b+(c<<2)>>2]}while((c|0)!=0)}else if(c|0){d=a;while(1){c=c+-1|0;f[d>>2]=f[b>>2];if(!c)break;else{b=b+4|0;d=d+4|0}}}return a|0}function lO(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 mO(a){a=a|0;var b=0;b=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;f[b>>2]=16932;a=b+108|0;f[a>>2]=16952;dC(b+8|0);$na(b,16964);uma(a);return}function nO(){}function oO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function pO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;f[d>>2]=f[c>>2];d=kD(0,0,b,d)|0;if((d|0)<0)d=-1;else{d=d+1|0;e=Rd(d)|0;f[a>>2]=e;if(!e)d=-1;else d=kD(e,d,b,c)|0}u=g;return d|0}function qO(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+8+3>>0]=1;PP(a,1,45)|0;f[d>>2]=0;$ga(a+4|0,d);u=c;return}function rO(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+8+3>>0]=1;PP(a,1,45)|0;f[d>>2]=0;$ga(a+4|0,d);u=c;return}function sO(a){a=a|0;var c=0,d=0,e=0;d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);return (c<<24>>24?a+1|0:0)|0}function tO(a,b,c,d,e,f,g,h,i,j,k,l,m){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;j=j|0;k=k|0;l=l|0;m=m|0;return Ic[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function uO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;if(!a){g=0;return g|0}g=a+16|0;e=f[g>>2]|0;if(e|0)$h(e);if(!b)b=0;else b=wR(b)|0;f[g>>2]=b;f[a+20>>2]=c|0?c:-1;f[a+24>>2]=d|0?d:-1;g=a;return g|0}function vO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(Vta(d)|0)==0;a=IC(a,e,d)|0;if(!g)Uta(d)}else a=IC(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function wO(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=1;vX(a,1,45)|0;b[d>>0]=0;vga(a+1|0,d);u=c;return}function xO(a,c){a=a|0;c=c|0;var d=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=1;vX(a,1,45)|0;b[d>>0]=0;vga(a+1|0,d);u=c;return}function yO(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(gea(a,f[b+8>>2]|0,g)|0)LE(0,b,c,d,e);return}function zO(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)==48)if((b[a+1>>0]|0)==120){c=R5(a+2|0)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;else c=0;a=c-a|0;return ((a|0)!=5&(a|0)!=8?0:c)|0}function AO(a){a=a|0;var b=0;b=f[a+80>>2]|0;if(b|0)if(vc[f[(f[b>>2]|0)+156>>2]&511](b)|0){b=1;return b|0}a=f[a+88>>2]|0;if(a|0)if(vc[f[(f[a>>2]|0)+152>>2]&511](a)|0){b=1;return b|0}b=0;return b|0}function BO(a){a=a|0;var b=0;a=Ta(8)|0;x=0;Ga(461,a|0,60037);b=x;x=0;if(b&1){b=Ya()|0;bb(a|0);jb(b|0)}else{f[a>>2]=29804;fb(a|0,6208,412)}}function CO(a){a=a|0;var b=0;a=Ta(8)|0;x=0;Ga(461,a|0,60037);b=x;x=0;if(b&1){b=Ya()|0;bb(a|0);jb(b|0)}else{f[a>>2]=29784;fb(a|0,6192,412)}}function DO(a){a=a|0;var b=0;a=Ta(8)|0;x=0;Ga(461,a|0,59885);b=x;x=0;if(b&1){b=Ya()|0;bb(a|0);jb(b|0)}else{f[a>>2]=29804;fb(a|0,6208,412)}}function EO(a){a=a|0;var b=0;a=Ta(8)|0;x=0;Ga(461,a|0,59885);b=x;x=0;if(b&1){b=Ya()|0;bb(a|0);jb(b|0)}else{f[a>>2]=29784;fb(a|0,6192,412)}}function FO(a,b){a=a|0;b=b|0;var c=0;c=yqa(b)|0;x=0;a=wa(21,a|0,0,-1,b|0,c|0)|0;b=x;x=0;if(b&1){c=Za(0)|0;soa(c)}else return a|0;return 0}function GO(a,b){a=a|0;b=b|0;a=f[b+4>>2]|0;if(!a){b=0;return b|0}if((f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)==33204){b=1;return b|0}b=(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)==33177;return b|0}function HO(a){a=a|0;return es(a)|0}function IO(a){a=a|0;var b=0;if(!(f[a>>2]&128))b=1;else b=(f[a+20>>2]|0)>>>0>(f[a+28>>2]|0)>>>0?2:1;b=yc[f[a+40>>2]&255](a,0,b)|0;if((b|0)>=0)b=b-(f[a+8>>2]|0)+(f[a+4>>2]|0)+(f[a+20>>2]|0)-(f[a+28>>2]|0)|0;return b|0}function JO(a){a=a|0;XE(a,f[a+4>>2]|0);return}function KO(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d+8|0;b=gH(a,589824,d)|0;do if((b|0)<0)a=0;else{a=YP(1,2072)|0;if(!a){f[c>>2]=b;vb(6,c|0)|0;a=0;break}else{f[a>>2]=b;break}}while(0);u=d;return a|0}function LO(a){a=a|0;if((b[a>>0]|0)!=46){a=0;return a|0}do a=a+1|0;while((b[a>>0]|0)==45);a=Ay(a)|0;if(!a){a=0;return a|0}a=wy(a)|0;return a|0}function MO(a){a=a|0;if((b[a>>0]|0)!=64){a=0;return a|0}do a=a+1|0;while((b[a>>0]|0)==45);a=Ay(a)|0;if(!a){a=0;return a|0}a=wy(a)|0;return a|0}function NO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;d=a+32|0;e=a+36|0;c=f[a+40>>2]|0;while(1){if(!c)break;g=c+-1|0;Nc[f[(f[d>>2]|0)+(g<<2)>>2]&255](b,a,f[(f[e>>2]|0)+(g<<2)>>2]|0);c=g}return}function OO(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;while(1){if((b|0)==(c|0))break;if((f[b>>2]|0)>>>0<128){a=gT()|0;a=j[a+(f[b>>2]<<1)>>1]|0}else a=0;d[e>>1]=a;e=e+2|0;b=b+4|0}return c|0}function PO(a){a=a|0;if((b[a>>0]|0)!=36){a=0;return a|0}do a=a+1|0;while((b[a>>0]|0)==45);a=Ay(a)|0;if(!a){a=0;return a|0}a=wy(a)|0;return a|0}function QO(a){a=a|0;var c=0,d=0;c=VN(104)|0;x=0;Ga(498,c|0,a|0);d=x;x=0;if(d&1){d=Ya()|0;Hta(c);jb(d|0)}else{f[c>>2]=13868;b[c+101>>0]=b[a+101>>0]|0;return c|0}return 0}function RO(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;qq(a);uD(a+4|0,b);Saa(d,b);Sca(a+16|0,d);u=c;return}function SO(a,c){a=a|0;c=c|0;f[a>>2]=29764;x=0;Ga(746,a+4|0,((b[c+11>>0]|0)<0?f[c>>2]|0:c)|0);c=x;x=0;if(c&1){c=Ya()|0;jb(c|0)}else return}function TO(a,b){a=a|0;b=b|0;var c=0;f[a+64>>2]=b;c=f[a+88>>2]|0;if(c|0)Lc[f[(f[c>>2]|0)+120>>2]&1023](c,b);a=f[a+80>>2]|0;if(!a)return;Lc[f[(f[a>>2]|0)+120>>2]&1023](a,b);return}function UO(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;while(1){if((c|0)==(e|0)){c=e;break}if((f[c>>2]|0)>>>0>=128)break;a=gT()|0;if(!((d[a+(f[c>>2]<<1)>>1]&b)<<16>>16))break;c=c+4|0}return c|0}function VO(a){a=a|0;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;if(!a){a=0;return a|0}a=Ay(a)|0;if(!a){a=0;return a|0}a=wy(a)|0;return a|0}function WO(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;XD(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function XO(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)d=f[a+4>>2]|0;else d=d&255;if(d>>>0<=c>>>0)BO(a);if(e)a=f[a>>2]|0;return a+c|0}function YO(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)d=f[a+4>>2]|0;else d=d&255;if(d>>>0<=c>>>0)BO(a);if(e)a=f[a>>2]|0;return a+c|0}function ZO(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;h=(d-c|0)>>>2;a=g;g=c;while(1){if((g|0)==(d|0))break;i=f[g>>2]|0;b[a>>0]=i>>>0<128?i&255:e;a=a+1|0;g=g+4|0}return c+(h<<2)|0}function _O(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function $O(){var a=0,c=0;do if(!(b[78440]|0))if(lda(78440)|0){x=0;a=ta(167,2147483647,57740,0)|0;c=x;x=0;if(c&1){c=Ya()|0;jb(c|0)}else{f[20832]=a;break}}while(0);return f[20832]|0} +function Hq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+112|0;i=h;AF(i,c);x=0;Ga(456,a|0,i|0);g=x;x=0;if(g&1){g=Ya()|0;f[i>>2]=6680;a=i+4|0;c=i+52|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=f[i+28>>2]|0;if(c|0){d=i+32|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);Hta(c)}e=f[i+16>>2]|0;if(e|0){c=i+20|0;d=f[c>>2]|0;if((d|0)!=(e|0))f[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);Hta(e)}if((b[a+11>>0]|0)>=0)jb(g|0);Hta(f[a>>2]|0);jb(g|0)}else{f[i>>2]=6680;g=i+4|0;c=i+52|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=f[i+28>>2]|0;if(c|0){d=i+32|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);Hta(c)}e=f[i+16>>2]|0;if(e|0){c=i+20|0;d=f[c>>2]|0;if((d|0)!=(e|0))f[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);Hta(e)}if((b[g+11>>0]|0)>=0){f[a>>2]=18928;i=a+4|0;f[i>>2]=19224;i=a+108|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=i+11|0;b[g>>0]=0;b[i>>0]=0;i=a+120|0;f[i>>2]=0;i=a+124|0;f[i>>2]=0;i=a+128|0;f[i>>2]=0;u=h;return}Hta(f[g>>2]|0);f[a>>2]=18928;i=a+4|0;f[i>>2]=19224;i=a+108|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=i+11|0;b[g>>0]=0;b[i>>0]=0;i=a+120|0;f[i>>2]=0;i=a+124|0;f[i>>2]=0;i=a+128|0;f[i>>2]=0;u=h;return}}function Iq(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=u;u=u+16|0;k=l+4|0;h=l;a:do if(!(f[d+4>>2]&1)){j=f[(f[a>>2]|0)+24>>2]|0;f[h>>2]=f[c>>2];f[k>>2]=f[h>>2];a=Bc[j&63](a,k,d,e,g&1)|0}else{kha(k,d);x=0;a=sa(994,k|0,83336)|0;j=x;x=0;do if(j&1){a=Ya()|0;uga(k)}else{uga(k);d=f[a>>2]|0;if(g)Lc[f[d+24>>2]&1023](k,a);else Lc[f[d+28>>2]&1023](k,a);i=k+11|0;a=b[i>>0]|0;d=f[k>>2]|0;j=k+4|0;g=a<<24>>24<0?d:k;while(1){h=a<<24>>24<0;if((g|0)==((h?d:k)+(h?f[j>>2]|0:a&255)|0)){d=9;break}a=b[g>>0]|0;d=f[c>>2]|0;if(d|0){e=d+24|0;h=f[e>>2]|0;if((h|0)==(f[d+28>>2]|0)){h=f[(f[d>>2]|0)+52>>2]|0;a=mqa(a)|0;x=0;a=sa(h|0,d|0,a|0)|0;h=x;x=0;if(h&1){d=18;break}}else{f[e>>2]=h+1;b[h>>0]=a;a=mqa(a)|0}if(wja(a,Kta()|0)|0)f[c>>2]=0}g=g+1|0;a=b[i>>0]|0;d=f[k>>2]|0}if((d|0)==9){a=f[c>>2]|0;Aaa(k);break a}else if((d|0)==18){a=Ya()|0;Aaa(k);break}}while(0);jb(a|0)}while(0);u=l;return a|0}function Jq(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;h=0;k=u;u=u+32|0;i=k+24|0;g=k+16|0;l=k+8|0;j=k;b=a+80|0;qV(i,f[b>>2]|0);f[i>>2]=15572;a:do if(!(f[i+4>>2]|0))_P(i);else{x=0;Ga(462,g|0,f[b>>2]|0);e=x;x=0;b:do if(e&1)b=Ya()|0;else{f[g>>2]=15572;b=f[g+4>>2]|0;c=f[b+76>>2]|0;e=(f[b+80>>2]|0)-c>>3;c:do if(e|0){d=b+76|0;b=0;while(1){c=f[c+(b<<3)+4>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+144>>2]|0,c|0)|0;m=x;x=0;if(m&1){h=12;break}b=b+1|0;if(c)break;if(b>>>0>=e>>>0)break c;c=f[d>>2]|0}if((h|0)==12){b=Ya()|0;_P(g);break b}_P(g);_P(i);m=1;u=k;return m|0}while(0);_P(g);_P(i);break a}while(0);_P(i);m=b;jb(m|0)}while(0);b=a+88|0;qV(l,f[b>>2]|0);f[l>>2]=15556;if(!(f[l+4>>2]|0)){_P(l);m=0;u=k;return m|0}x=0;Ga(462,j|0,f[b>>2]|0);m=x;x=0;do if(m&1)b=Ya()|0;else{f[j>>2]=15556;x=0;b=qa(401,f[j+4>>2]|0)|0;m=x;x=0;if(m&1){b=Ya()|0;_P(j);break}else{_P(j);_P(l);u=k;return b|0}}while(0);_P(l);m=b;jb(m|0);return 0}function Kq(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;d=a+1|0;do if((b[a>>0]|0)==45){c=Ufa(d)|0;if(!c){e=b[d>>0]|0;c=a+2|0;e=e<<24>>24|0;c=(e|0)!=43?((e|0)==45?c:0):c;if(!c){c=0;break}}while(1){d=Ufa(c)|0;if(d|0){c=d;continue}e=b[c>>0]|0;d=c+1|0;e=e<<24>>24|0;d=(e|0)!=43?((e|0)==45?d:0):d;if(!d)break;else c=d}}else c=0;while(0);c=c|0?c:a;if(!c){f=0;return f|0}a=b[48519]|0;a:do if(!(a<<24>>24)){d=c;f=10}else{d=c;e=48519;while(1){if((b[d>>0]|0)!=a<<24>>24)break a;d=d+1|0;e=e+1|0;a=b[e>>0]|0;if(!(a<<24>>24)){f=10;break}}}while(0);if((f|0)==10){d=sR(d)|0;if(d|0){f=d;return f|0}}d=b[36362]|0;b:do if(d<<24>>24){a=36362;while(1){if((b[c>>0]|0)!=d<<24>>24){c=0;break}c=c+1|0;a=a+1|0;d=b[a>>0]|0;if(!(d<<24>>24))break b}return c|0}while(0);d=c+1|0;if((b[c>>0]|0)!=58){f=0;return f|0}f=b[d>>0]|0;c=c+2|0;c=(f+-97&255)>25?(f<<24>>24==46?c:0):c;if(!c){f=d;return f|0}while(1){f=b[c>>0]|0;d=c+1|0;d=(f+-97&255)>25?(f<<24>>24==46?d:0):d;if(!d)break;else c=d}return c|0}function Lq(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;j=a+4|0;c=f[a>>2]|0;e=((f[j>>2]|0)-c|0)/12|0;d=e+1|0;if(d>>>0>357913941)EO(a);k=a+8|0;l=((f[k>>2]|0)-c|0)/12|0;m=l<<1;d=l>>>0<178956970?(m>>>0>>0?d:m):357913941;do if(!d){l=0;m=0}else{if(d>>>0<=357913941){m=VN(d*12|0)|0;l=m;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=l+(e*12|0)|0;c=g;i=l+(d*12|0)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);h=x;x=0;a:do if(h&1)d=c;else{f[g>>2]=15572;f[l+(e*12|0)+8>>2]=f[b+8>>2];d=g+12|0;h=f[a>>2]|0;b=f[j>>2]|0;if((b|0)==(h|0)){b=c;e=h;c=h}else{do{e=g+-12|0;x=0;Ga(462,e|0,f[b+-8>>2]|0);n=x;x=0;if(n&1)break a;f[e>>2]=15572;f[g+-4>>2]=f[b+-4>>2];b=b+-12|0;g=c+-12|0;c=g}while((b|0)!=(h|0));b=c;e=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=b;f[j>>2]=d;f[k>>2]=i;d=e;if((c|0)!=(d|0))do{c=c+-12|0;_P(c)}while((c|0)!=(d|0));if(!e)return;Hta(e);return}while(0);b=Ya()|0;if((d|0)!=(c|0))do{d=d+-12|0;_P(d)}while((d|0)!=(c|0));if(!l)jb(b|0);Hta(m);jb(b|0)}function Mq(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;d=0;if(!a){g=1;return g|0}c=f[a+92>>2]|0;if(c|0){g=c;return g|0}c=f[a+28>>2]|0;do if(!c){c=Ta(8)|0;x=0;Ga(496,c|0,51375);h=x;x=0;if(h&1){h=Za(0)|0;bb(c|0);c=h;break}else{x=0;Ia(77,c|0,6176,414);x=0;d=7;break}}else{if(!(b[c>>0]|0)){c=Ta(8)|0;x=0;Ga(496,c|0,51406);h=x;x=0;if(h&1){h=Za(0)|0;bb(c|0);c=h;break}else{x=0;Ia(77,c|0,6176,414);x=0;d=7;break}}c=VN(484)|0;x=0;Ga(698,c|0,a|0);h=x;x=0;if(h&1){h=Ya()|0;Hta(c);jb(h|0)}else{f[c>>2]=16572;h=Gy(a,c)|0;return h|0}}while(0);if((d|0)==7)c=Za(0)|0;Ua(c|0)|0;x=0;c=qa(402,a|0)|0;h=x;x=0;do if(h&1){c=Za(0)|0;Ua(c|0)|0;x=0;c=qa(402,a|0)|0;h=x;x=0;if(h&1){c=Ya()|0;x=0;Ea(4);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else g=c}else{x=0;Ea(4);h=x;x=0;if(!(h&1)){e=c;break}g=Ya()|0}x=0;Ea(4);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else{h=g;jb(h|0)}}else e=c;while(0);Wa();h=e|1;return h|0}function Nq(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;i=a+4|0;k=f[i>>2]|0;h=k-e|0;e=c+(((h|0)/52|0)*52|0)|0;if(e>>>0>>0){a=e;g=k;do{f[g>>2]=f[a>>2];f[g+4>>2]=f[a+4>>2];f[g+8>>2]=f[a+8>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;l=g+12|0;j=a+12|0;f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];f[l+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;j=g+24|0;l=a+24|0;f[j>>2]=f[l>>2];f[j+4>>2]=f[l+4>>2];f[j+8>>2]=f[l+8>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=g+36|0;j=a+36|0;f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];f[l+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;b[g+48>>0]=b[a+48>>0]|0;a=a+52|0;g=(f[i>>2]|0)+52|0;f[i>>2]=g}while(a>>>0>>0)}if(!h)return;else{j=e;e=k}while(1){a=j;j=j+-52|0;g=e;e=e+-52|0;su(e,j)|0;h=g+-16|0;i=a+-16|0;d=h+11|0;if((b[d>>0]|0)<0){b[f[h>>2]>>0]=0;f[g+-12>>2]=0}else{b[h>>0]=0;b[d>>0]=0}x=0;Ga(501,h|0,0);l=x;x=0;if(l&1){a=7;break}f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;b[g+-4>>0]=b[a+-4>>0]|0;if((j|0)==(c|0)){a=9;break}}if((a|0)==7){l=Za(0)|0;soa(l)}else if((a|0)==9)return}function Oq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;g=u;u=u+240|0;i=g;h=g+136|0;e=g+24|0;f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[i+8>>2]=f[d+8>>2];f[i+12>>2]=50909;f[i+16>>2]=51444;b[i+20>>0]=0;AF(h,i);x=0;Ga(456,e|0,h|0);d=x;x=0;if(d&1)e=Ya()|0;else{b[e+104>>0]=1;x=0;Ga(f[(f[c>>2]|0)+44>>2]|0,c|0,e|0);i=x;x=0;if(!(i&1)){x=0;Ga(457,a|0,e+4|0);i=x;x=0;if(!(i&1)){Spa(e);f[h>>2]=6680;e=h+4|0;a=h+52|0;if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);a=f[h+28>>2]|0;if(a|0){c=h+32|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~(((d+-24-a|0)>>>0)/24|0)*24|0);Hta(a)}d=f[h+16>>2]|0;if(d|0){a=h+20|0;c=f[a>>2]|0;if((c|0)!=(d|0))f[a>>2]=c+(~((c+-4-d|0)>>>2)<<2);Hta(d)}if((b[e+11>>0]|0)>=0){u=g;return}Hta(f[e>>2]|0);u=g;return}}i=Ya()|0;Spa(e);e=i}f[h>>2]=6680;g=h+4|0;a=h+52|0;if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);a=f[h+28>>2]|0;if(a|0){c=h+32|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~(((d+-24-a|0)>>>0)/24|0)*24|0);Hta(a)}d=f[h+16>>2]|0;if(d|0){a=h+20|0;c=f[a>>2]|0;if((c|0)!=(d|0))f[a>>2]=c+(~((c+-4-d|0)>>>2)<<2);Hta(d)}if((b[g+11>>0]|0)>=0)jb(e|0);Hta(f[g>>2]|0);jb(e|0)}function Pq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;Cy(b,1,0)|0;qV(a,0);f[a>>2]=12372;x=0;Ga(636,e|0,b|0);d=x;x=0;do if(d&1)c=Ya()|0;else{d=a+4|0;c=f[d>>2]|0;if((e|0)!=(a|0)){if(c|0){x=0;Fa(429,a|0);c=x;x=0;if(c&1){c=Ya()|0;_P(e);break}}h=e+4|0;c=f[h>>2]|0;f[d>>2]=c;f[h>>2]=0}_P(e);if(c|0){u=g;return}x=0;Ga(637,e|0,b|0);h=x;x=0;do if(h&1)c=Ya()|0;else{c=f[d>>2]|0;if((e|0)!=(a|0)){if(c|0){x=0;Fa(429,a|0);h=x;x=0;if(h&1){c=Ya()|0;_P(e);break}}h=e+4|0;c=f[h>>2]|0;f[d>>2]=c;f[h>>2]=0}_P(e);if(c|0){u=g;return}x=0;Ga(638,e|0,b|0);h=x;x=0;do if(h&1)c=Ya()|0;else{if((e|0)!=(a|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);h=x;x=0;if(h&1){c=Ya()|0;_P(e);break}}h=e+4|0;f[d>>2]=f[h>>2];f[h>>2]=0}_P(e);u=g;return}while(0);h=c;_P(a);jb(h|0)}while(0);h=c;_P(a);jb(h|0)}while(0);h=c;_P(a);jb(h|0)}function Qq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;if(c|0){g=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[199]|0)==(g|0)|(f[195]|0)==(g|0)|(f[191]|0)==(g|0)|(f[203]|0)==(g|0)|(f[125]|0)==(g|0)|(f[187]|0)==(g|0)|(f[153]|0)==(g|0)|(f[225]|0)==(g|0)){u=i;return}}Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,80)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[h>>2]=a;f[h+8>>2]=-2147483568;f[h+4>>2]=66;d=a;e=50102;g=d+66|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+66>>0]=0;x=0;Ia(149,c|0,j|0,h|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[h+11>>0]|0)>=0){c=a;break}Hta(f[h>>2]|0);c=a;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);a=f[j>>2]|0;if(!a){u=i;return}g=j+4|0;d=f[g>>2]|0;if((d|0)!=(a|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(a|0));a=f[j>>2]|0}Hta(a);u=i;return}while(0);a=f[j>>2]|0;if(!a)jb(c|0);g=j+4|0;d=f[g>>2]|0;if((d|0)!=(a|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(a|0));a=f[j>>2]|0}Hta(a);jb(c|0)}function Rq(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;j=a+4|0;d=f[a>>2]|0;g=((f[j>>2]|0)-d|0)/12|0;e=g+1|0;if(e>>>0>357913941)EO(a);k=a+8|0;i=((f[k>>2]|0)-d|0)/12|0;l=i<<1;e=i>>>0<178956970?(l>>>0>>0?e:l):357913941;do if(!e)l=0;else{if(e>>>0<=357913941){l=VN(e*12|0)|0;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(d|0);jb(l|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);g=l+(g*12|0)|0;h=g|0;d=h;i=l+(e*12|0)|0;b[h>>0]=b[c>>0]|0;e=g+4|0;x=0;Ga(462,e|0,f[c+8>>2]|0);c=x;x=0;a:do if(c&1)e=d;else{f[e>>2]=7280;e=h+12|0;c=f[a>>2]|0;g=f[j>>2]|0;if((g|0)==(c|0)){g=d;h=c;d=c}else{do{m=g;g=g+-12|0;b[h+-12>>0]=b[g>>0]|0;h=h+-8|0;x=0;Ga(462,h|0,f[m+-4>>2]|0);m=x;x=0;if(m&1)break a;f[h>>2]=7280;h=d+-12|0;d=h}while((g|0)!=(c|0));g=d;h=f[a>>2]|0;d=f[j>>2]|0}f[a>>2]=g;f[j>>2]=e;f[k>>2]=i;e=h;if((d|0)!=(e|0))do{_P(d+-8|0);d=d+-12|0}while((d|0)!=(e|0));if(!h)return;Hta(e);return}while(0);g=Ya()|0;if((e|0)!=(d|0))do{_P(e+-8|0);e=e+-12|0}while((e|0)!=(d|0));if(!l)jb(g|0);Hta(l);jb(g|0)}function Sq(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;if((b|0)==(c|0)){c=d;k=c;k=f[k>>2]|0;c=c+4|0;c=f[c>>2]|0;d=a;a=d;f[a>>2]=k;d=d+4|0;f[d>>2]=c;return}j=d+4|0;k=c;do{g=f[j>>2]|0;h=((f[f[d>>2]>>2]|0)+4088-g|0)/28|0;i=(k-b|0)/28|0;l=(i|0)>(h|0);i=l?h:i;e=b;b=l?b+(h*28|0)|0:c;if((e|0)!=(b|0)){h=g;while(1){f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];if((h|0)!=(e|0)){g=h+16|0;if(f[g>>2]|0)vQ(h+12|0);l=e+16|0;f[g>>2]=f[l>>2];f[l>>2]=0}n=e+20|0;l=f[n>>2]|0;g=e+24|0;m=f[g>>2]|0;f[n>>2]=0;f[g>>2]=0;f[h+20>>2]=l;l=h+24|0;g=f[l>>2]|0;f[l>>2]=m;if(g|0)QZ(g);e=e+28|0;if((e|0)==(b|0))break;else h=h+28|0}}if(i|0){g=f[d>>2]|0;e=(((f[j>>2]|0)-(f[g>>2]|0)|0)/28|0)+i|0;if((e|0)>0){n=g+(((e>>>0)/146|0)<<2)|0;f[d>>2]=n;e=(f[n>>2]|0)+(((e>>>0)%146|0)*28|0)|0}else{e=145-e|0;n=g+(((e|0)/-146|0)<<2)|0;f[d>>2]=n;e=(f[n>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}f[j>>2]=e}}while((b|0)!=(c|0));m=d;d=m;d=f[d>>2]|0;m=m+4|0;m=f[m>>2]|0;n=a;l=n;f[l>>2]=d;n=n+4|0;f[n>>2]=m;return}function Tq(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;e=u;u=u+112|0;g=e+64|0;h=e+24|0;k=e+12|0;i=e;l=c+164|0;m=f[l>>2]|0;j=m+1|0;f[l>>2]=j;if(j>>>0<=512){x=0;Ia(115,a|0,c|0,d|0);k=x;x=0;if(!(k&1)){f[l>>2]=m;u=e;return}k=Ya()|0;f[l>>2]=m;jb(k|0)}j=Ta(84)|0;a=h;d=c+108|0;e=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));x=0;Ga(511,k|0,c+148|0);c=x;x=0;do if(c&1)a=Ya()|0;else{x=0;Ga(459,i|0,80148);c=x;x=0;if(c&1){a=Ya()|0;i=I;e=1}else{x=0;a=g;d=h;e=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Ja(28,j|0,g|0,k|0,i|0);h=x;x=0;if(h&1)e=1;else{x=0;Ia(77,j|0,3328,181);x=0;e=0}a=Ya()|0;d=I;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=d}else i=d}d=f[k>>2]|0;if(!d){if(e)break;f[l>>2]=m;jb(a|0)}h=k+4|0;g=f[h>>2]|0;if((g|0)!=(d|0)){do{c=g+-52|0;f[h>>2]=c;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}else g=c}while((g|0)!=(d|0));d=f[k>>2]|0}Hta(d);if(!e){k=a;f[l>>2]=m;jb(k|0)}}while(0);bb(j|0);k=a;f[l>>2]=m;jb(k|0)}function Uq(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;i=u;u=u+96|0;e=i;k=i+88|0;g=i+48|0;j=i+40|0;if(!(nx(c,1,0)|0)){qV(a,0);f[a>>2]=12372;u=i;return}Mi(k,c);x=0;l=qa(318,68)|0;h=x;x=0;if(h&1){l=Ya()|0;_P(k);jb(l|0)}h=g;c=c+108|0;d=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(d|0));x=0;Ga(462,j|0,f[k+4>>2]|0);h=x;x=0;do if(h&1)c=Ya()|0;else{f[j>>2]=12372;h=e;c=g;d=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(d|0));x=0;Fa(427,l|0);h=x;x=0;if(h&1)d=1;else{h=l+12|0;c=e;d=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(d|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;f[l>>2]=12532;c=l+60|0;x=0;Ga(462,c|0,f[j+4>>2]|0);h=x;x=0;if(h&1){c=Ya()|0;_P(j);break}f[c>>2]=12372;x=0;Ga(462,a|0,l|0);h=x;x=0;if(h&1)d=0;else{f[a>>2]=12372;_P(j);_P(k);u=i;return}}c=Ya()|0;_P(j);if(!d){l=c;_P(k);jb(l|0)}}while(0);Hta(l);l=c;_P(k);jb(l|0)}function Vq(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;n=u;u=u+48|0;k=n;l=n+40|0;m=i&1;qV(l,f[h+4>>2]|0);f[l>>2]=7280;j=k;i=c;h=j+40|0;do{f[j>>2]=f[i>>2];j=j+4|0;i=i+4|0}while((j|0)<(h|0));x=0;Fa(427,a|0);j=x;x=0;do if(j&1)i=Ya()|0;else{j=a+12|0;i=k;h=j+40|0;do{f[j>>2]=f[i>>2];j=j+4|0;i=i+4|0}while((j|0)<(h|0));j=a+52|0;f[j>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;i=a+64|0;x=0;Ga(462,i|0,f[l+4>>2]|0);k=x;x=0;if(k&1){i=Ya()|0;break}f[i>>2]=7280;_P(l);f[a>>2]=8688;c=a+72|0;x=0;Ga(459,c|0,d|0);l=x;x=0;if(l&1)i=Ya()|0;else{h=a+84|0;x=0;Ga(462,h|0,f[e+4>>2]|0);e=x;x=0;do if(e&1)i=Ya()|0;else{f[h>>2]=7696;i=a+92|0;x=0;Ga(462,i|0,f[g+4>>2]|0);g=x;x=0;if(g&1){i=Ya()|0;_P(h);break}else{f[i>>2]=7696;b[a+100>>0]=m;f[j>>2]=21;u=n;return}}while(0);if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}f[a>>2]=7184;_P(a+64|0);a=i;jb(a|0)}while(0);_P(l);a=i;jb(a|0)}function Wq(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;q=u;u=u+16|0;k=q+8|0;l=q;n=a+76|0;m=a+80|0;g=f[m>>2]|0;e=f[n>>2]|0;j=g-e>>3;p=b+76|0;o=b+80|0;d=f[o>>2]|0;c=f[p>>2]|0;i=d-c>>3;j=i>>>0>>0?i:j;do if(j){i=a+76|0;a=b+76|0;b=k+4|0;h=l+4|0;d=0;c=0;while(1){qV(k,f[e+(d<<3)+4>>2]|0);f[k>>2]=13852;x=0;Ga(462,l|0,f[(f[a>>2]|0)+(d<<3)+4>>2]|0);g=x;x=0;if(g&1){a=7;break}f[l>>2]=13852;e=f[b>>2]|0;g=f[h>>2]|0;if(!g){e=0;c=0}else if(!e){e=0;c=1}else{x=0;e=sa(f[(f[e>>2]|0)+160>>2]|0,e|0,g|0)|0;g=x;x=0;if(g&1){a=8;break}if(e)e=1;else{x=0;c=sa(987,f[b>>2]|0,f[h>>2]|0)|0;g=x;x=0;if(g&1){a=8;break}else e=0}}_P(l);_P(k);d=d+1|0;if(!e){a=17;break}if(d>>>0>=j>>>0){a=15;break}e=f[i>>2]|0}if((a|0)==7){q=Ya()|0;_P(k);jb(q|0)}else if((a|0)==8){q=Ya()|0;_P(l);_P(k);jb(q|0)}else if((a|0)==15){g=f[m>>2]|0;e=f[n>>2]|0;d=f[o>>2]|0;c=f[p>>2]|0;break}else if((a|0)==17){u=q;return c|0}}while(0);p=(g-e|0)>>>0<(d-c|0)>>>0;u=q;return p|0}function Xq(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=0;g=c+4|0;i=f[g>>2]|0;do if(!i){i=g;h=g}else{k=d+4|0;h=c+4|0;d=i;while(1){j=f[k>>2]|0;g=d+20|0;if(!j)l=9;else{i=f[g>>2]|0;if(!i){l=14;break}if(xc[f[(f[j>>2]|0)+160>>2]&2047](j,i)|0){g=f[d>>2]|0;if(!g){l=8;break}else{h=d;d=g}}else l=9}if((l|0)==9){l=0;g=f[g>>2]|0;if(!g){l=14;break}i=f[k>>2]|0;if(!i){l=14;break}if(!(xc[f[(f[g>>2]|0)+160>>2]&2047](g,i)|0)){l=14;break}h=d+4|0;g=f[h>>2]|0;if(!g){l=13;break}else d=g}}if((l|0)==8){i=d;h=d;break}else if((l|0)==13){i=d;break}else if((l|0)==14){i=d;break}}while(0);d=f[h>>2]|0;if(d|0){c=d;e=0;f[a>>2]=c;c=a+4|0;b[c>>0]=e;return}g=VN(24)|0;d=g+16|0;x=0;Ga(462,d|0,f[e+4>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;Hta(g);jb(c|0)}f[d>>2]=15572;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=i;f[h>>2]=g;d=f[f[c>>2]>>2]|0;if(!d)d=g;else{f[c>>2]=d;d=f[h>>2]|0}Ip(f[c+4>>2]|0,d);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=g;e=1;f[a>>2]=c;c=a+4|0;b[c>>0]=e;return}function Yq(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=0;g=c+4|0;i=f[g>>2]|0;do if(!i){i=g;h=g}else{k=d+4|0;h=c+4|0;d=i;while(1){j=f[k>>2]|0;g=d+20|0;if(!j)l=9;else{i=f[g>>2]|0;if(!i){l=14;break}if(xc[f[(f[j>>2]|0)+160>>2]&2047](j,i)|0){g=f[d>>2]|0;if(!g){l=8;break}else{h=d;d=g}}else l=9}if((l|0)==9){l=0;g=f[g>>2]|0;if(!g){l=14;break}i=f[k>>2]|0;if(!i){l=14;break}if(!(xc[f[(f[g>>2]|0)+160>>2]&2047](g,i)|0)){l=14;break}h=d+4|0;g=f[h>>2]|0;if(!g){l=13;break}else d=g}}if((l|0)==8){i=d;h=d;break}else if((l|0)==13){i=d;break}else if((l|0)==14){i=d;break}}while(0);d=f[h>>2]|0;if(d|0){c=d;e=0;f[a>>2]=c;c=a+4|0;b[c>>0]=e;return}g=VN(24)|0;d=g+16|0;x=0;Ga(462,d|0,f[e+4>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;Hta(g);jb(c|0)}f[d>>2]=15572;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=i;f[h>>2]=g;d=f[f[c>>2]>>2]|0;if(!d)d=g;else{f[c>>2]=d;d=f[h>>2]|0}Ip(f[c+4>>2]|0,d);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=g;e=1;f[a>>2]=c;c=a+4|0;b[c>>0]=e;return}function Zq(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=0;g=c+4|0;i=f[g>>2]|0;do if(!i){i=g;h=g}else{k=d+4|0;h=c+4|0;d=i;while(1){j=f[k>>2]|0;g=d+20|0;if(!j)l=9;else{i=f[g>>2]|0;if(!i){l=14;break}if(xc[f[(f[j>>2]|0)+156>>2]&2047](j,i)|0){g=f[d>>2]|0;if(!g){l=8;break}else{h=d;d=g}}else l=9}if((l|0)==9){l=0;g=f[g>>2]|0;if(!g){l=14;break}i=f[k>>2]|0;if(!i){l=14;break}if(!(xc[f[(f[g>>2]|0)+156>>2]&2047](g,i)|0)){l=14;break}h=d+4|0;g=f[h>>2]|0;if(!g){l=13;break}else d=g}}if((l|0)==8){i=d;h=d;break}else if((l|0)==13){i=d;break}else if((l|0)==14){i=d;break}}while(0);d=f[h>>2]|0;if(d|0){c=d;e=0;f[a>>2]=c;c=a+4|0;b[c>>0]=e;return}g=VN(24)|0;d=g+16|0;x=0;Ga(462,d|0,f[e+4>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;Hta(g);jb(c|0)}f[d>>2]=15556;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=i;f[h>>2]=g;d=f[f[c>>2]>>2]|0;if(!d)d=g;else{f[c>>2]=d;d=f[h>>2]|0}Ip(f[c+4>>2]|0,d);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=g;e=1;f[a>>2]=c;c=a+4|0;b[c>>0]=e;return}function _q(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a){j=0;return j|0}i=b[36397]|0;j=i<<24>>24==0;a:do if(!j){c=36397;d=i;while(1){if((b[a>>0]|0)!=d<<24>>24){a=0;break}a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24))break a}return a|0}while(0);c=b[a>>0]|0;if(!(c<<24>>24)){j=0;return j|0}else{g=a;a=0;d=0;h=0;f=c}b:while(1){c:do switch(f<<24>>24){case 92:{e=a;a=g+1|0;c=h;break}case 34:{e=a^1;a=g;c=h;break}case 39:{e=a;d=d^1;a=g;c=h;break}default:if(a){e=1;a=g;c=h}else if(d){e=0;d=1;a=g;c=h}else{d:do if(j)a=g;else{if(f<<24>>24==i<<24>>24){a=g;c=36397;do{a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24))break d}while((b[a>>0]|0)==d<<24>>24)}a=b[51458]|0;e:do if(!(a<<24>>24))a=g;else{if(f<<24>>24==a<<24>>24){a=g;c=51458}else{e=0;d=0;a=g;c=h;break c}while(1){a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24))break e;if((b[a>>0]|0)!=d<<24>>24){e=0;d=0;a=g;c=h;break c}}}while(0);if(!h){c=23;break b}else{e=0;d=0;a=a+-1|0;c=h+-1|0;break c}}while(0);e=0;d=0;a=a+-1|0;c=h+1|0}}while(0);g=a+1|0;f=b[g>>0]|0;if(!(f<<24>>24)){a=0;c=23;break}else{a=e;h=c}}if((c|0)==23)return a|0;return 0}function $q(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;n=u;u=u+48|0;k=n;l=n+40|0;m=i&1;qV(l,0);f[l>>2]=7280;j=k;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));x=0;Fa(427,a|0);j=x;x=0;do if(j&1)i=Ya()|0;else{j=a+12|0;c=k;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));f[a+52>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;i=a+64|0;x=0;Ga(462,i|0,f[l+4>>2]|0);k=x;x=0;if(k&1){i=Ya()|0;break}f[i>>2]=7280;_P(l);f[a>>2]=9168;c=a+72|0;x=0;Ga(459,c|0,e|0);l=x;x=0;if(l&1)i=Ya()|0;else{i=a+84|0;x=0;Ga(462,i|0,f[g+4>>2]|0);g=x;x=0;if(!(g&1)){f[i>>2]=9264;f[a+92>>2]=0;f[a+96>>2]=1;f[a+100>>2]=h;f[a+104>>2]=0;f[a+108>>2]=0;b[a+112>>0]=m;f[a+116>>2]=d;u=n;return}i=Ya()|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}f[a>>2]=7184;_P(a+64|0);a=i;jb(a|0)}while(0);_P(l);a=i;jb(a|0)}function ar(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;if(c|0){e=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[101]|0)==(e|0)|(f[225]|0)==(e|0)){u=i;return}if((f[215]|0)==(e|0))if(!(f[c+96>>2]|0)){u=i;return}}Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,64)|0;g=x;x=0;do if(g&1)d=Ya()|0;else{f[h>>2]=a;f[h+8>>2]=-2147483584;f[h+4>>2]=48;c=a;e=50474;g=c+48|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[a+48>>0]=0;x=0;Ia(149,d|0,j|0,h|0);d=x;x=0;if(d&1){a=Ya()|0;if((b[h+11>>0]|0)>=0){d=a;break}Hta(f[h>>2]|0);d=a;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);a=f[j>>2]|0;if(!a){u=i;return}g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);u=i;return}while(0);a=f[j>>2]|0;if(!a)jb(d|0);g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);jb(d|0)}function br(a,c){a=a|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;g=b[a+11>>0]|0;k=g<<24>>24<0;g=g&255;l=k?f[a+4>>2]|0:g;j=b[c+11>>0]|0;e=j<<24>>24<0;a:do if((l|0)==((e?f[c+4>>2]|0:j&255)|0)){i=f[a>>2]|0;j=k?i:a;e=e?f[c>>2]|0:c;h=(l|0)==0;if(k){if(h){d=1.0;return +d}if(!(lO(j,e,l)|0))d=1.0;else break;return +d}if(h){d=1.0;return +d}if((b[e>>0]|0)==(i&255)<<24>>24){h=a;while(1){g=g+-1|0;h=h+1|0;if(!g){d=1.0;break}e=e+1|0;if((b[h>>0]|0)!=(b[e>>0]|0))break a}return +d}}while(0);g=gi(a)|0;h=gi(c)|0;switch((g>>>8&255)<<24>>24){case 0:{i=0;break}case 1:{i=256;break}case 2:{i=512;break}case 3:{i=768;break}case 4:{i=1024;break}default:i=1280}switch((h>>>8&255)<<24>>24){case 0:{e=0;break}case 1:{e=256;break}case 2:{e=512;break}case 3:{e=768;break}case 4:{e=1024;break}default:e=1280}if((i|0)!=(e|0)){d=0.0;return +d}g=g-i|0;e=h-i|0;switch(i>>>8&7){case 0:{d=+p[2904+(g*48|0)+(e<<3)>>3];return +d}case 1:{d=+p[78112+(g<<5)+(e<<3)>>3];return +d}case 2:{d=+p[3192+(g<<4)+(e<<3)>>3];return +d}case 3:{d=+p[3224+(g<<4)+(e<<3)>>3];return +d}case 4:{d=+p[3256+(g*24|0)+(e<<3)>>3];return +d}default:{d=0.0;return +d}}return 0.0}function cr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=12096;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=12096;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function dr(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(sA(a)|0){g=a;return g|0}g=b[36403]|0;if(!(g<<24>>24)){while(1){c=e9(a)|0;if(!c){c=Vla(a)|0;if(!c)c=nC(a)|0}h=(c|0)==0;d=h?a:c;if((c|0)==(a|0)|h){a=0;c=17;break}if(!(sA(d)|0))a=d;else{a=d;c=17;break}}if((c|0)==17)return a|0}else f=a;while(1){d=b[f>>0]|0;a=36403;c=g;while(1){if(d<<24>>24==c<<24>>24){c=11;break}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){c=13;break}}if((c|0)==11){c=0;if(!(d<<24>>24))c=13;else e=f+1|0}if((c|0)==13){a=e9(f)|0;if(!a){a=Vla(f)|0;if(!a)a=nC(f)|0}c=(a|0)==0;if((a|0)==(f|0)|c){a=0;c=17;break}else e=c?f:a}if(!(sA(e)|0))f=e;else{a=e;c=17;break}}if((c|0)==17)return a|0;return 0}function er(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;k=u;u=u+48|0;i=k;j=k+40|0;qV(j,f[g+4>>2]|0);f[j>>2]=7280;h=i;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));x=0;Fa(427,a|0);h=x;x=0;do if(h&1)g=Ya()|0;else{h=a+12|0;c=i;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;g=a+64|0;x=0;Ga(462,g|0,f[j+4>>2]|0);i=x;x=0;if(i&1){g=Ya()|0;break}f[g>>2]=7280;_P(j);f[a>>2]=8784;j=a+72|0;x=0;Ga(458,j|0,d|0);d=x;x=0;if(d&1)g=Ya()|0;else{g=a+84|0;x=0;Ga(462,g|0,f[e+4>>2]|0);e=x;x=0;if(!(e&1)){f[g>>2]=7696;f[c>>2]=20;u=k;return}g=Ya()|0;i=I;c=f[j>>2]|0;if(c){d=a+76|0;h=f[d>>2]|0;if((h|0)!=(c|0)){do{h=h+-12|0;f[d>>2]=h;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[d>>2]|0}}while((h|0)!=(c|0));c=f[j>>2]|0}Hta(c)}}f[a>>2]=7184;_P(a+64|0);a=g;jb(a|0)}while(0);_P(j);a=g;jb(a|0)}function fr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=15556;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=15556;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function gr(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;l=u;u=u+48|0;j=l;k=l+40|0;qV(k,f[g+4>>2]|0);f[k>>2]=7280;i=j;g=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(g|0));x=0;Fa(427,a|0);i=x;x=0;do if(i&1)g=Ya()|0;else{i=a+12|0;c=j;g=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(g|0));j=a+52|0;f[j>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;g=a+64|0;x=0;Ga(462,g|0,f[k+4>>2]|0);i=x;x=0;if(i&1){g=Ya()|0;break}f[g>>2]=7280;_P(k);f[a>>2]=7600;i=a+72|0;x=0;Ga(459,i|0,d|0);k=x;x=0;if(k&1)g=Ya()|0;else{c=a+84|0;x=0;Ga(462,c|0,f[e+4>>2]|0);e=x;x=0;do if(e&1)g=Ya()|0;else{f[c>>2]=7168;g=a+92|0;x=0;Ga(462,g|0,f[h+4>>2]|0);h=x;x=0;if(h&1){g=Ya()|0;_P(c);break}else{f[g>>2]=7696;f[j>>2]=3;u=l;return}}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0)}f[a>>2]=7184;_P(a+64|0);a=g;jb(a|0)}while(0);_P(k);a=g;jb(a|0)}function hr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=13852;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=13852;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function ir(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=15556;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=15556;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function jr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=13852;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=13852;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function kr(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=u;u=u+32|0;k=j+16|0;h=j+8|0;l=j;g=a+60|0;i=a+96|0;b=f[i>>2]|0;if(b|0){l=b;u=j;return l|0}b=f[a+84>>2]|0;c=f[a+88>>2]|0;if((b|0)==(c|0)){l=0;u=j;return l|0}d=k+4|0;e=h+4|0;a=b;while(1){qV(k,f[a+4>>2]|0);f[k>>2]=7696;b=f[d>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;m=x;x=0;if(m&1){a=9;break}m=f[i>>2]|0;f[i>>2]=b+-1640531527+(m<<6)+(m>>>2)^m;x=0;Ga(462,l|0,f[d>>2]|0);m=x;x=0;if(m&1){a=10;break}f[l>>2]=7696;x=0;Ia(78,h|0,g|0,l|0);m=x;x=0;if(m&1){a=11;break}b=f[e>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;m=x;x=0;if(m&1){a=12;break}m=f[i>>2]|0;f[i>>2]=b+-1640531527+(m<<6)+(m>>>2)^m;_P(h);_P(l);_P(k);a=a+8|0;if((a|0)==(c|0)){a=15;break}}if((a|0)==9){m=Ya()|0;_P(k);jb(m|0)}else if((a|0)==10){m=Ya()|0;_P(k);jb(m|0)}else if((a|0)==11)b=Ya()|0;else if((a|0)==12){b=Ya()|0;_P(h)}else if((a|0)==15){m=f[i>>2]|0;u=j;return m|0}_P(l);m=b;_P(k);jb(m|0);return 0}function lr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=7168;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=7168;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function mr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=7168;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=7168;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function nr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=13488;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=13488;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function or(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=7696;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=7696;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function pr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=10408;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=10408;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function qr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=6920;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=6920;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function rr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=7696;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=7696;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function sr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=6664;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=6664;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function tr(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;i=a+4|0;c=f[a>>2]|0;e=(f[i>>2]|0)-c>>3;d=e+1|0;if(d>>>0>536870911)EO(a);j=a+8|0;k=(f[j>>2]|0)-c|0;l=k>>2;d=k>>3>>>0<268435455?(l>>>0>>0?d:l):536870911;do if(!d){k=0;l=0}else{if(d>>>0<=536870911){l=VN(d<<3)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=k+(e<<3)|0;c=g;h=k+(d<<3)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);b=x;x=0;a:do if(b&1)d=c;else{f[g>>2]=7280;d=g+8|0;b=f[a>>2]|0;e=f[i>>2]|0;if((e|0)==(b|0)){e=c;g=b;c=b}else{do{g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);e=e+-8|0;m=x;x=0;if(m&1)break a;f[g>>2]=7280;g=c+-8|0;c=g}while((e|0)!=(b|0));e=c;g=f[a>>2]|0;c=f[i>>2]|0}f[a>>2]=e;f[i>>2]=d;f[j>>2]=h;d=g;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);e=Ya()|0;if((d|0)!=(c|0))do{d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d)}while((d|0)!=(c|0));if(!k)jb(e|0);Hta(l);jb(e|0)}function ur(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;l=u;u=u+32|0;m=l+16|0;k=l+8|0;n=l;j=b+60|0;h=b+84|0;e=b+88|0;i=ES((f[e>>2]|0)-(f[h>>2]|0)>>3)|0;b=f[h>>2]|0;e=f[e>>2]|0;if((b|0)==(e|0)){u=l;return i|0}g=m+4|0;h=k+4|0;d=0;while(1){qV(m,f[b+4>>2]|0);f[m>>2]=7696;c=f[g>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+68>>2]|0,c|0,a|0)|0;o=x;x=0;if(o&1){c=11;break}x=0;Ia(156,i|0,d|0,c|0);o=x;x=0;if(o&1){c=11;break}x=0;Ga(462,n|0,f[g>>2]|0);o=x;x=0;if(o&1){c=11;break}f[n>>2]=7696;x=0;Ia(78,k|0,j|0,n|0);o=x;x=0;if(o&1){c=12;break}c=f[h>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+68>>2]|0,c|0,a|0)|0;o=x;x=0;if(o&1){c=13;break}x=0;Ia(157,i|0,d|0,c|0);o=x;x=0;if(o&1){c=13;break}_P(k);_P(n);_P(m);b=b+8|0;if((b|0)==(e|0)){c=3;break}else d=d+1|0}if((c|0)==3){u=l;return i|0}else if((c|0)==11){o=Ya()|0;_P(m);jb(o|0)}else if((c|0)==12)b=Ya()|0;else if((c|0)==13){b=Ya()|0;_P(k)}_P(n);o=b;_P(m);jb(o|0);return 0}function vr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;a:do if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==32860){e=a+64|0;g=c+64|0;d=b[e+11>>0]|0;j=d<<24>>24<0;d=d&255;h=j?f[a+68>>2]|0:d;k=b[g+11>>0]|0;c=k<<24>>24<0;if((h|0)==((c?f[g+4>>2]|0:k&255)|0)){a=f[e>>2]|0;i=j?a:e;c=c?f[g>>2]|0:g;g=(h|0)==0;if(j){if(g){c=1;d=1;break}c=(lO(i,c,h)|0)==0;d=1;break}if(g){c=1;d=1}else if((b[c>>0]|0)==(a&255)<<24>>24)while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;d=1;break a}c=c+1|0;if((b[e>>0]|0)!=(b[c>>0]|0)){c=0;d=1;break}}else{c=0;d=1}}else{c=0;d=1}}else{c=d7(c)|0;if(!c){c=0;d=0}else{e=a+64|0;h=c+64|0;d=b[e+11>>0]|0;k=d<<24>>24<0;d=d&255;j=k?f[a+68>>2]|0:d;i=b[h+11>>0]|0;g=i<<24>>24<0;if((j|0)==((g?f[c+68>>2]|0:i&255)|0)){a=f[e>>2]|0;i=k?a:e;c=g?f[h>>2]|0:h;g=(j|0)==0;if(k){if(g){c=1;d=1;break}c=(lO(i,c,j)|0)==0;d=1;break}if(g){c=1;d=1}else if((b[c>>0]|0)==(a&255)<<24>>24)while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;d=1;break a}c=c+1|0;if((b[e>>0]|0)!=(b[c>>0]|0)){c=0;d=1;break}}else{c=0;d=1}}else{c=0;d=1}}}while(0);return c&d|0}function wr(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;m=u;u=u+16|0;n=m;k=a+80|0;f[k>>2]=0;l=a+68|0;do if((f[f[l>>2]>>2]|0)!=3){e=a+4|0;j=e+11|0;d=b[j>>0]|0;g=d<<24>>24<0;if(g)i=f[a+8>>2]|0;else i=d&255;if(i|0){if(g)d=f[a+8>>2]|0;else d=d&255;i=XO(e,d+-1|0)|0;if(wpa(h[i>>0]|0)|0)if(!(b[a+84>>0]|0))break;d=b[j>>0]|0;if(d<<24>>24<0){e=f[e>>2]|0;d=f[a+8>>2]|0}else d=d&255;if((b[e+d+-1>>0]|0)!=40)f[a+76>>2]=1}}while(0);qq(a);if(c|0)XC(a+16|0,c);f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;e=n+11|0;b[e>>0]=1;b[n>>0]=123;b[n+1>>0]=0;x=0;Ga(682,a|0,n|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[e>>0]|0)>=0)jb(d|0);Hta(f[n>>2]|0);jb(d|0)}if((b[e>>0]|0)<0)Hta(f[n>>2]|0);if(b[a+100>>0]|0)if(b[a+102>>0]|0){n=a+72|0;l=f[n>>2]|0;l=l+1|0;f[n>>2]=l;u=m;return}switch(f[f[l>>2]>>2]|0){case 2:{f[a+76>>2]=1;n=a+72|0;l=f[n>>2]|0;l=l+1|0;f[n>>2]=l;u=m;return}case 3:{n=a+72|0;l=f[n>>2]|0;l=l+1|0;f[n>>2]=l;u=m;return}default:{f[k>>2]=1;f[a+76>>2]=0;n=a+72|0;l=f[n>>2]|0;l=l+1|0;f[n>>2]=l;u=m;return}}}function xr(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;m=0;o=u;u=u+16|0;d=o;n=a+76|0;c=f[n>>2]|0;if(c|0){n=c;u=o;return n|0}l=(f[a+80>>2]|0)==1;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;k=l?1:2;i=d+11|0;b[i>>0]=k;Lu(d|0,(l?53148:49800)|0,k|0)|0;b[d+k>>0]=0;i=b[i>>0]|0;k=i<<24>>24<0;l=f[d>>2]|0;j=k?l:d;i=k?f[d+4>>2]|0:i&255;if(i>>>0>3){g=i+-4|0;e=j;c=i;d=i;while(1){i=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;c=(X(i>>>24^i,1540483477)|0)^(X(c,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else e=e+4|0}e=g&-4;d=g-e|0;e=j+(e+4)|0}else{d=i;e=j;c=i}switch(d|0){case 3:{c=(h[e+2>>0]|0)<<16^c;m=8;break}case 2:{m=8;break}case 1:{m=9;break}default:{}}if((m|0)==8){c=(h[e+1>>0]|0)<<8^c;m=9}if((m|0)==9)c=X(c^(h[e>>0]|0),1540483477)|0;c=X(c>>>13^c,1540483477)|0;c=c>>>15^c;f[n>>2]=c;if(k){Hta(l);c=f[n>>2]|0}d=(h[a+85>>0]|0)+-1640531527+(c<<6)+(c>>>2)^c;f[n>>2]=d;g=a+64|0;c=f[g>>2]|0;e=(f[a+68>>2]|0)-c>>3;if(!e){n=d;u=o;return n|0}d=0;while(1){a=f[c+(d<<3)+4>>2]|0;a=(vc[f[(f[a>>2]|0)+8>>2]&511](a)|0)+-1640531527|0;c=f[n>>2]|0;c=a+(c<<6)+(c>>>2)^c;f[n>>2]=c;d=d+1|0;if((d|0)==(e|0))break;c=f[g>>2]|0}u=o;return c|0}function yr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;a:do if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==32860){e=a+64|0;g=c+64|0;d=b[e+11>>0]|0;j=d<<24>>24<0;d=d&255;h=j?f[a+68>>2]|0:d;k=b[g+11>>0]|0;c=k<<24>>24<0;if((h|0)==((c?f[g+4>>2]|0:k&255)|0)){a=f[e>>2]|0;i=j?a:e;c=c?f[g>>2]|0:g;g=(h|0)==0;if(j){if(g){c=1;d=1;break}c=(lO(i,c,h)|0)==0;d=1;break}if(g){c=1;d=1}else if((b[c>>0]|0)==(a&255)<<24>>24)while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;d=1;break a}c=c+1|0;if((b[e>>0]|0)!=(b[c>>0]|0)){c=0;d=1;break}}else{c=0;d=1}}else{c=0;d=1}}else{c=d7(c)|0;if(!c){c=0;d=0}else{e=a+64|0;h=c+64|0;d=b[e+11>>0]|0;k=d<<24>>24<0;d=d&255;j=k?f[a+68>>2]|0:d;i=b[h+11>>0]|0;g=i<<24>>24<0;if((j|0)==((g?f[c+68>>2]|0:i&255)|0)){a=f[e>>2]|0;i=k?a:e;c=g?f[h>>2]|0:h;g=(j|0)==0;if(k){if(g){c=1;d=1;break}c=(lO(i,c,j)|0)==0;d=1;break}if(g){c=1;d=1}else if((b[c>>0]|0)==(a&255)<<24>>24)while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;d=1;break a}c=c+1|0;if((b[e>>0]|0)!=(b[c>>0]|0)){c=0;d=1;break}}else{c=0;d=1}}else{c=0;d=1}}}while(0);return c&d|0}function zr(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;var k=0,l=0;k=0;f[d>>2]=a;f[h>>2]=e;l=g;if(!(j&2))k=4;else if((l-e|0)<3)a=1;else{f[h>>2]=e+1;b[e>>0]=-17;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=-69;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=-65;k=4}a:do if((k|0)==4){a=f[d>>2]|0;while(1){if(a>>>0>=c>>>0){a=0;break a}e=f[a>>2]|0;if(e>>>0>i>>>0|(e&-2048|0)==55296){a=2;break a}do if(e>>>0<128){a=f[h>>2]|0;if((l-a|0)<1){a=1;break a}f[h>>2]=a+1;b[a>>0]=e}else{if(e>>>0<2048){a=f[h>>2]|0;if((l-a|0)<2){a=1;break a}f[h>>2]=a+1;b[a>>0]=e>>>6|192;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=e&63|128;break}a=f[h>>2]|0;g=l-a|0;if(e>>>0<65536){if((g|0)<3){a=1;break a}f[h>>2]=a+1;b[a>>0]=e>>>12|224;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=e>>>6&63|128;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=e&63|128;break}else{if((g|0)<4){a=1;break a}f[h>>2]=a+1;b[a>>0]=e>>>18|240;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=e>>>12&63|128;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=e>>>6&63|128;k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=e&63|128;break}}while(0);a=(f[d>>2]|0)+4|0;f[d>>2]=a}}while(0);return a|0}function Ar(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;if((b|0)==(c|0)){c=d;l=c;l=f[l>>2]|0;c=c+4|0;c=f[c>>2]|0;d=a;a=d;f[a>>2]=l;d=d+4|0;f[d>>2]=c;return}k=d+4|0;l=c;do{g=f[k>>2]|0;i=((f[f[d>>2]>>2]|0)+4088-g|0)/28|0;j=(l-b|0)/28|0;h=(j|0)>(i|0);j=h?i:j;e=b;b=h?b+(i*28|0)|0:c;if((e|0)!=(b|0))while(1){f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];h=g+12|0;i=g+16|0;if(f[i>>2]|0)vQ(h);f[i>>2]=f[e+16>>2];EX(h);h=f[e+20>>2]|0;i=f[e+24>>2]|0;if(i|0)ega(i);f[g+20>>2]=h;m=g+24|0;h=f[m>>2]|0;f[m>>2]=i;if(h|0)QZ(h);e=e+28|0;if((e|0)==(b|0))break;else g=g+28|0}if(j|0){g=f[d>>2]|0;e=(((f[k>>2]|0)-(f[g>>2]|0)|0)/28|0)+j|0;if((e|0)>0){m=g+(((e>>>0)/146|0)<<2)|0;f[d>>2]=m;e=(f[m>>2]|0)+(((e>>>0)%146|0)*28|0)|0}else{e=145-e|0;m=g+(((e|0)/-146|0)<<2)|0;f[d>>2]=m;e=(f[m>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}f[k>>2]=e}}while((b|0)!=(c|0));l=d;l=f[l>>2]|0;d=d+4|0;d=f[d>>2]|0;m=a;c=m;f[c>>2]=l;m=m+4|0;f[m>>2]=d;return}function Br(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;o=u;u=u+48|0;i=o+32|0;j=o+24|0;k=o+16|0;m=o+8|0;n=o;d=a+4|0;wv(d);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=i+11|0;b[l>>0]=9;e=i;g=49964;h=e+9|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[i+9>>0]=0;x=0;Ia(147,d|0,i|0,c|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[l>>0]|0)<0)Hta(f[i>>2]|0);o=d;jb(o|0)}if((b[l>>0]|0)<0)Hta(f[i>>2]|0);boa(d);d=c+76|0;qV(j,f[d>>2]|0);f[j>>2]=13136;l=(f[j+4>>2]|0)==0;_P(j);do if(!l){qV(k,f[d>>2]|0);f[k>>2]=13136;l=f[k+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(!(l&1)){_P(k);break}o=Ya()|0;_P(k);jb(o|0)}while(0);d=c+68|0;qV(m,f[d>>2]|0);f[m>>2]=7280;l=(f[m+4>>2]|0)==0;_P(m);if(l){u=o;return}qV(n,f[d>>2]|0);f[n>>2]=7280;m=f[n+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){o=Ya()|0;_P(n);jb(o|0)}else{_P(n);u=o;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;k=u;u=u+16|0;l=k;j=a+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=40;b[l+1>>0]=0;x=0;Ga(682,j|0,l|0);i=x;x=0;if(i&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);l=e;jb(l|0)}if((b[g>>0]|0)<0)Hta(f[l>>2]|0);i=c+64|0;e=f[i>>2]|0;g=c+68|0;a:do if((e|0)!=(f[g>>2]|0)){h=f[e+4>>2]|0;Lc[f[(f[h>>2]|0)+44>>2]&1023](h,a);g=(f[g>>2]|0)-(f[c+64>>2]|0)>>3;if(g>>>0>1){h=l+11|0;c=l+2|0;e=1;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;b[h>>0]=2;d[l>>1]=8236;b[c>>0]=0;x=0;Ga(682,j|0,l|0);m=x;x=0;if(m&1)break;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);m=f[(f[i>>2]|0)+(e<<3)+4>>2]|0;Lc[f[(f[m>>2]|0)+44>>2]&1023](m,a);e=e+1|0;if(e>>>0>=g>>>0)break a}e=Ya()|0;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=41;b[l+1>>0]=0;x=0;Ga(682,j|0,l|0);m=x;x=0;if(m&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}else{if((b[g>>0]|0)>=0){u=k;return}Hta(f[l>>2]|0);u=k;return}}function Dr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;if(c|0){g=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[101]|0)!=(g|0)&(f[81]|0)==(g|0))if(b[c+84>>0]|0){u=i;return}}Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,64)|0;g=x;x=0;do if(g&1)d=Ya()|0;else{f[h>>2]=a;f[h+8>>2]=-2147483584;f[h+4>>2]=52;c=a;e=50523;g=c+52|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[a+52>>0]=0;x=0;Ia(149,d|0,j|0,h|0);d=x;x=0;if(d&1){a=Ya()|0;if((b[h+11>>0]|0)>=0){d=a;break}Hta(f[h>>2]|0);d=a;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);a=f[j>>2]|0;if(!a){u=i;return}g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);u=i;return}while(0);a=f[j>>2]|0;if(!a)jb(d|0);g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);jb(d|0)}function Er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Fr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;f[fc+32>>2]=d;if((ec|0)==1)ec=3}Vc(hc+62044|0)}function Gr(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;k=u;u=u+16|0;j=k;d=a+16|0;Bj(a,a+8|0,d,c)|0;c=a+24|0;if((c|0)==(b|0)){u=k;return}i=j+4|0;h=c;c=d;a:while(1){g=h+4|0;d=f[g>>2]|0;if(d|0){e=f[c+4>>2]|0;if(e|0)if(xc[f[(f[d>>2]|0)+156>>2]&2047](d,e)|0){qV(j,f[g>>2]|0);f[j>>2]=15556;d=h;while(1){e=d+4|0;if(f[e>>2]|0){x=0;Fa(429,d|0);g=x;x=0;if(g&1){c=20;break a}}g=c+4|0;f[e>>2]=f[g>>2];f[g>>2]=0;if((c|0)==(a|0)){c=a;break}d=f[i>>2]|0;if(!d)break;e=f[c+-4>>2]|0;if(!e)break;x=0;d=sa(f[(f[d>>2]|0)+156>>2]|0,d|0,e|0)|0;g=x;x=0;if(g&1){c=20;break a}if(d){d=c;c=c+-8|0}else break}if((c|0)!=(j|0)){d=c+4|0;if(f[d>>2]|0){x=0;Fa(429,c|0);g=x;x=0;if(g&1){c=20;break}}f[d>>2]=f[i>>2];f[i>>2]=0}_P(j)}}c=h+8|0;if((c|0)==(b|0)){c=3;break}else{g=h;h=c;c=g}}if((c|0)==3){u=k;return}else if((c|0)==20){k=Ya()|0;_P(j);jb(k|0)}}function Hr(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;j=0;k=u;u=u+32|0;l=k+12|0;m=k;d=f[c+4>>2]|0;i=f[c+8>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=i-d|0;if(g>>>0>4294967279)CO(l);if(g>>>0<11){b[l+11>>0]=g;c=l}else{e=g+16&-16;c=VN(e)|0;f[l>>2]=c;f[l+8>>2]=e|-2147483648;f[l+4>>2]=g}if((d|0)!=(i|0)){e=c;while(1){b[e>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(i|0))break;else e=e+1|0}c=c+g|0}b[c>>0]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=6;b[m>>0]=b[45754]|0;b[m+1>>0]=b[45755]|0;b[m+2>>0]=b[45756]|0;b[m+3>>0]=b[45757]|0;b[m+4>>0]=b[45758]|0;b[m+5>>0]=b[45759]|0;b[m+6>>0]=0;g=l+11|0;c=b[g>>0]|0;i=c<<24>>24<0;d=i?f[l>>2]|0:l;c=d+(i?f[l+4>>2]|0:c&255)|0;while(1){if((c|0)==(d|0)){c=0;break}c=c+-1|0;if(!(HB(m,h[c>>0]|0,6)|0)){j=12;break}}if((j|0)==12)c=1-d+c|0;x=0;c=ta(40,l|0,c|0,-1)|0;j=x;x=0;if(!(j&1)){x=0;Ga(459,a|0,c|0);a=x;x=0;if(!(a&1)){if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[g>>0]|0)>=0){u=k;return}Hta(f[l>>2]|0);u=k;return}}c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[g>>0]|0)>=0)jb(c|0);Hta(f[l>>2]|0);jb(c|0)}function Ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+32|0;c=h+16|0;g=h;f[a+36>>2]=0;e=b+4|0;qV(c,f[e>>2]|0);f[c>>2]=7696;x=0;d=sa(1005,a+4|0,c|0)|0;i=x;x=0;if(i&1){i=Ya()|0;_P(c);jb(i|0)}_P(c);do if(!d){c=a+28|0;d=f[c>>2]|0;if((d|0)==(f[a+32>>2]|0)){or(a+24|0,b);break}else{qV(d,f[e>>2]|0);f[d>>2]=7696;f[c>>2]=(f[c>>2]|0)+8;break}}else{c=a+44|0;if(!(f[c>>2]|0)){f[c>>2]=f[e>>2];EX(a+40|0)}}while(0);c=hk(a+4|0,b)|0;d=c+4|0;if(f[d>>2]|0)vQ(c);i=b+12|0;f[d>>2]=f[i>>2];EX(c);d=f[f[a>>2]>>2]|0;qV(g,f[e>>2]|0);f[g>>2]=7696;c=g+8|0;x=0;Ga(462,c|0,f[i>>2]|0);i=x;x=0;if(i&1){i=Ya()|0;_P(g);jb(i|0)}f[c>>2]=7696;x=0;Ga(d|0,a|0,g|0);i=x;x=0;if(!(i&1)){_P(g+8|0);_P(g);u=h;return a|0}i=Ya()|0;_P(g+8|0);_P(g);jb(i|0);return 0}function Jr(a){a=a|0;var c=0;a=Xu(a)|0;if(!a){c=0;return c|0}if((b[a>>0]|0)!=44){c=0;return c|0}a=Xu(a+1|0)|0;if(!a){c=0;return c|0}a=Dz(a)|0;if(!a){c=0;return c|0}a=Xu(a)|0;if(!a){c=0;return c|0}if((b[a>>0]|0)!=61){c=0;return c|0}c=Xu(a+1|0)|0;if(!c){c=0;return c|0}if((b[c>>0]|0)==36){a=c;do a=a+1|0;while((b[a>>0]|0)==45);a=Ay(a)|0;if(a|0){a=wy(a)|0;if(a|0){c=a;return c|0}}}c=Vp(c)|0;return c|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,m=0;m=0;k=u;u=u+96|0;h=k;d=k+88|0;i=k+48|0;l=k+40|0;qV(d,f[c+64>>2]|0);f[d>>2]=12372;g=f[d+4>>2]|0;x=0;g=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a|0)|0;j=x;x=0;if(j&1){m=Ya()|0;_P(d);jb(m|0)}_P(d);j=VN(68)|0;e=i;a=c+12|0;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));x=0;a=qa(391,g|0)|0;g=x;x=0;if(g&1)m=9;else{x=0;Ga(462,l|0,a|0);g=x;x=0;if(g&1)m=9;else{f[l>>2]=12372;e=h;a=i;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));x=0;Fa(427,j|0);i=x;x=0;do if(i&1)a=Ya()|0;else{e=j+12|0;a=h;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;f[j+56>>2]=0;f[j>>2]=12532;a=j+60|0;x=0;Ga(462,a|0,f[l+4>>2]|0);i=x;x=0;if(i&1){a=Ya()|0;break}else{f[a>>2]=12372;_P(l);u=k;return j|0}}while(0);_P(l)}}if((m|0)==9)a=Ya()|0;Hta(j);m=a;jb(m|0);return 0}function Lr(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;o=0;p=u;u=u+16|0;m=p+8|0;n=p;if(!(Xp(a,c)|0)){o=0;u=p;return o|0}g=a+84|0;h=c+84|0;e=b[g+11>>0]|0;l=e<<24>>24<0;e=e&255;i=l?f[a+88>>2]|0:e;k=b[h+11>>0]|0;d=k<<24>>24<0;if((i|0)!=((d?f[c+88>>2]|0:k&255)|0)){o=0;u=p;return o|0}j=f[g>>2]|0;k=l?j:g;d=d?f[h>>2]|0:h;h=(i|0)==0;a:do if(l){if(!h)if(lO(k,d,i)|0){o=0;u=p;return o|0}}else if(!h){if((b[d>>0]|0)!=(j&255)<<24>>24){o=0;u=p;return o|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=p;return d|0}while(0);qV(m,f[a+108>>2]|0);f[m>>2]=7904;x=0;Ga(462,n|0,f[c+108>>2]|0);c=x;x=0;if(c&1){p=Ya()|0;_P(m);jb(p|0)}f[n>>2]=7904;e=f[n+4>>2]|0;d=m+4|0;if(!e){d=f[d>>2]|0;o=17}else{d=f[d>>2]|0;if(!d)o=17;else{x=0;d=sa(f[(f[d>>2]|0)+92>>2]|0,d|0,e|0)|0;c=x;x=0;if(c&1){p=Ya()|0;_P(n);_P(m);jb(p|0)}}}if((o|0)==17)d=(d|0)==(e|0);_P(n);_P(m);o=d;u=p;return o|0}function Mr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+8|0;h=i;d=f[c+60>>2]|0;do if(!d){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=j+11|0;b[e>>0]=1;b[j>>0]=43;b[j+1>>0]=0;x=0;Ga(682,a+4|0,j|0);g=x;x=0;if(!(g&1)){if((b[e>>0]|0)<0)Hta(f[j>>2]|0);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[j>>2]|0);j=d;jb(j|0)}else{g=a+4|0;if((d|0)==3){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=j+11|0;b[e>>0]=1;b[j>>0]=47;b[j+1>>0]=0;x=0;Ga(682,g|0,j|0);g=x;x=0;if(!(g&1)){if((b[e>>0]|0)<0)Hta(f[j>>2]|0);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[j>>2]|0);j=d;jb(j|0)}else{f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=j+11|0;b[e>>0]=1;b[j>>0]=45;b[j+1>>0]=0;x=0;Ga(682,g|0,j|0);g=x;x=0;if(!(g&1)){if((b[e>>0]|0)<0)Hta(f[j>>2]|0);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[j>>2]|0);j=d;jb(j|0)}}while(0);qV(h,f[c+68>>2]|0);f[h>>2]=7696;j=f[h+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(h);u=i;return}j=Ya()|0;_P(h);jb(j|0)}function Nr(a){a=a|0;var b=0,c=0.0,d=0,e=0,g=0;e=a+108|0;b=f[e>>2]|0;if(b|0){e=b;return e|0}c=+p[a+88>>3];if(c==0.0)d=0;else{p[s>>3]=c;b=X(f[s>>2]|0,1540483477)|0;d=X(f[s+4>>2]|0,1540483477)|0;d=(X((X(b>>>24^b,1540483477)|0)^-561034072,1540483477)|0)^(X(d>>>24^d,1540483477)|0);d=X(d>>>13^d,1540483477)|0;d=d>>>15^d}f[e>>2]=d;c=+p[a+64>>3];if(c==0.0)b=-1640531527;else{p[s>>3]=c;g=X(f[s>>2]|0,1540483477)|0;b=X(f[s+4>>2]|0,1540483477)|0;b=(X((X(g>>>24^g,1540483477)|0)^-561034072,1540483477)|0)^(X(b>>>24^b,1540483477)|0);b=X(b>>>13^b,1540483477)|0;b=(b>>>15^b)+-1640531527|0}d=(d<<6)+b+(d>>>2)^d;f[e>>2]=d;c=+p[a+72>>3];if(c==0.0)b=-1640531527;else{p[s>>3]=c;g=X(f[s>>2]|0,1540483477)|0;b=X(f[s+4>>2]|0,1540483477)|0;b=(X((X(g>>>24^g,1540483477)|0)^-561034072,1540483477)|0)^(X(b>>>24^b,1540483477)|0);b=X(b>>>13^b,1540483477)|0;b=(b>>>15^b)+-1640531527|0}d=(d<<6)+b+(d>>>2)^d;f[e>>2]=d;c=+p[a+80>>3];if(c==0.0)b=-1640531527;else{p[s>>3]=c;g=X(f[s>>2]|0,1540483477)|0;b=X(f[s+4>>2]|0,1540483477)|0;b=(X((X(g>>>24^g,1540483477)|0)^-561034072,1540483477)|0)^(X(b>>>24^b,1540483477)|0);b=X(b>>>13^b,1540483477)|0;b=(b>>>15^b)+-1640531527|0}g=(d<<6)+b+(d>>>2)^d;f[e>>2]=g;return g|0}function Or(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;if(c|0)if((f[215]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0))if((f[c+96>>2]|0)==1){u=i;return}Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,48)|0;g=x;x=0;do if(g&1)d=Ya()|0;else{f[h>>2]=a;f[h+8>>2]=-2147483600;f[h+4>>2]=43;c=a;e=50058;g=c+43|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[a+43>>0]=0;x=0;Ia(149,d|0,j|0,h|0);d=x;x=0;if(d&1){a=Ya()|0;if((b[h+11>>0]|0)>=0){d=a;break}Hta(f[h>>2]|0);d=a;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);a=f[j>>2]|0;if(!a){u=i;return}g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);u=i;return}while(0);a=f[j>>2]|0;if(!a)jb(d|0);g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);jb(d|0)}function Pr(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;p=0;q=u;u=u+48|0;o=q;if(!(vc[f[(f[a>>2]|0)+124>>2]&511](a)|0)){p=a;u=q;return p|0}e=VN(112)|0;x=0;g=o;h=a+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(84,e|0,o|0,0);n=x;x=0;if(n&1){q=Ya()|0;Hta(e);jb(q|0)}l=f[(f[b+4>>2]|0)+-4>>2]|0;l=(f[l+80>>2]|0)-(f[l+76>>2]|0)>>3;if(!l){p=e;u=q;return p|0}m=a+72|0;n=a+76|0;i=a+80|0;a=e+72|0;j=o+4|0;h=0;a:while(1){k=(f[i>>2]|0)-(f[n>>2]|0)>>3;if(k|0){g=0;do{r=(xc[f[(f[m>>2]|0)+16>>2]&2047](m,g)|0)+4|0;qV(o,cd(f[r>>2]|0,b,c,d)|0);f[o>>2]=7168;r=f[j>>2]|0;x=0;Ga(f[(f[a>>2]|0)+24>>2]|0,a|0,((r|0)==0?0:r+72|0)|0);r=x;x=0;if(r&1)break a;_P(o);g=g+1|0}while(g>>>0>>0)}h=h+1|0;if(h>>>0>=l>>>0){p=12;break}}if((p|0)==12){u=q;return e|0}r=Ya()|0;_P(o);jb(r|0);return 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,m=0;l=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=zja(g)|0;if(!c){c=vN(g)|0;if(!c){c=wN(g)|0;if(!c){c=sN(g)|0;if(!c){c=rN(g)|0;if(!c)h=qN(g)|0;else h=c}else h=c}else h=c}else h=c}else h=c;if(h>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Rr(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;l=u;u=u+48|0;j=l;k=l+40|0;qV(k,f[g+4>>2]|0);f[k>>2]=7280;i=j;g=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(g|0));x=0;Fa(427,a|0);i=x;x=0;do if(i&1)g=Ya()|0;else{i=a+12|0;c=j;g=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(g|0));f[a+52>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;g=a+64|0;x=0;Ga(462,g|0,f[k+4>>2]|0);j=x;x=0;if(j&1){g=Ya()|0;break}f[g>>2]=7280;_P(k);f[a>>2]=9168;c=a+72|0;x=0;Ga(459,c|0,d|0);k=x;x=0;if(k&1)g=Ya()|0;else{g=a+84|0;x=0;Ga(462,g|0,f[e+4>>2]|0);e=x;x=0;if(!(e&1)){f[g>>2]=9264;f[a+92>>2]=0;f[a+96>>2]=h;h=a+100|0;f[a+116>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;b[h+12>>0]=0;u=l;return}g=Ya()|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}f[a>>2]=7184;_P(a+64|0);a=g;jb(a|0)}while(0);_P(k);a=g;jb(a|0)}function Sr(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+32|0;h=c;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[52897]|0;b[h+1>>0]=b[52898]|0;b[h+2>>0]=b[52899]|0;b[h+3>>0]=b[52900]|0;b[h+4>>0]=b[52901]|0;b[h+5>>0]=0;g=h+12|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;j=g+11|0;b[j>>0]=5;b[g>>0]=b[52903]|0;b[g+1>>0]=b[52904]|0;b[g+2>>0]=b[52905]|0;b[g+3>>0]=b[52906]|0;b[g+4>>0]=b[52907]|0;b[g+5>>0]=0;f[20302]=0;f[20303]=0;f[20304]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20303]=a;f[20302]=a;f[20304]=a+24;x=0;Ga(459,a|0,h|0);e=x;x=0;if(!(e&1)){e=(f[20303]|0)+12|0;f[20303]=e;x=0;Ga(459,e|0,g|0);e=x;x=0;if(!(e&1)){f[20303]=(f[20303]|0)+12;if((b[j>>0]|0)<0)Hta(f[g>>2]|0);if((b[i>>0]|0)>=0){u=c;return}Hta(f[h>>2]|0);u=c;return}}a=Ya()|0;e=I;c=f[20302]|0;if(c){d=f[20303]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20303]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20303]|0}}while((d|0)!=(c|0));c=f[20302]|0}Hta(c)}}if((b[j>>0]|0)<0)Hta(f[g>>2]|0);if((b[i>>0]|0)>=0)jb(a|0);Hta(f[h>>2]|0);jb(a|0)}function Tr(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+32|0;h=c;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[52897]|0;b[h+1>>0]=b[52898]|0;b[h+2>>0]=b[52899]|0;b[h+3>>0]=b[52900]|0;b[h+4>>0]=b[52901]|0;b[h+5>>0]=0;g=h+12|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;j=g+11|0;b[j>>0]=5;b[g>>0]=b[52903]|0;b[g+1>>0]=b[52904]|0;b[g+2>>0]=b[52905]|0;b[g+3>>0]=b[52906]|0;b[g+4>>0]=b[52907]|0;b[g+5>>0]=0;f[20169]=0;f[20170]=0;f[20171]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[20170]=a;f[20169]=a;f[20171]=a+24;x=0;Ga(459,a|0,h|0);e=x;x=0;if(!(e&1)){e=(f[20170]|0)+12|0;f[20170]=e;x=0;Ga(459,e|0,g|0);e=x;x=0;if(!(e&1)){f[20170]=(f[20170]|0)+12;if((b[j>>0]|0)<0)Hta(f[g>>2]|0);if((b[i>>0]|0)>=0){u=c;return}Hta(f[h>>2]|0);u=c;return}}a=Ya()|0;e=I;c=f[20169]|0;if(c){d=f[20170]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[20170]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[20170]|0}}while((d|0)!=(c|0));c=f[20169]|0}Hta(c)}}if((b[j>>0]|0)<0)Hta(f[g>>2]|0);if((b[i>>0]|0)>=0)jb(a|0);Hta(f[h>>2]|0);jb(a|0)}function Ur(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;k=u;u=u+16|0;j=k;d=a+16|0;Lj(a,a+8|0,d,c)|0;c=a+24|0;if((c|0)==(b|0)){u=k;return}i=j+4|0;h=c;c=d;a:while(1){g=h+4|0;d=f[g>>2]|0;if(d|0){e=f[c+4>>2]|0;if(e|0)if(Tt(d,e)|0){qV(j,f[g>>2]|0);f[j>>2]=13852;d=h;while(1){e=d+4|0;if(f[e>>2]|0){x=0;Fa(429,d|0);g=x;x=0;if(g&1){c=20;break a}}g=c+4|0;f[e>>2]=f[g>>2];f[g>>2]=0;if((c|0)==(a|0)){c=a;break}d=f[i>>2]|0;if(!d)break;e=f[c+-4>>2]|0;if(!e)break;x=0;d=sa(987,d|0,e|0)|0;g=x;x=0;if(g&1){c=20;break a}if(d){d=c;c=c+-8|0}else break}if((c|0)!=(j|0)){d=c+4|0;if(f[d>>2]|0){x=0;Fa(429,c|0);g=x;x=0;if(g&1){c=20;break}}f[d>>2]=f[i>>2];f[i>>2]=0}_P(j)}}c=h+8|0;if((c|0)==(b|0)){c=3;break}else{g=h;h=c;c=g}}if((c|0)==3){u=k;return}else if((c|0)==20){k=Ya()|0;_P(j);jb(k|0)}}function Vr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+16|0;d=h+8|0;e=h;g=a+4|0;Lc[f[(f[c>>2]|0)+140>>2]&1023](i,c);x=0;Ia(147,g|0,i|0,c|0);j=x;x=0;if(j&1){c=Ya()|0;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);j=c;jb(j|0)}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);c=c+108|0;qV(d,f[c>>2]|0);f[d>>2]=7904;j=(f[d+4>>2]|0)==0;_P(d);if(j){u=h;return}f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;d=i+11|0;b[d>>0]=1;b[i>>0]=40;b[i+1>>0]=0;x=0;Ga(682,g|0,i|0);j=x;x=0;if(j&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[i>>2]|0);j=c;jb(j|0)}if((b[d>>0]|0)<0)Hta(f[i>>2]|0);qV(e,f[c>>2]|0);f[e>>2]=7904;j=f[e+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(j&1){j=Ya()|0;_P(e);jb(j|0)}_P(e);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;d=i+11|0;b[d>>0]=1;b[i>>0]=41;b[i+1>>0]=0;x=0;Ga(682,g|0,i|0);j=x;x=0;if(j&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[i>>2]|0);j=c;jb(j|0)}else{if((b[d>>0]|0)<0)Hta(f[i>>2]|0);u=h;return}}function Wr(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;a:do if(a|0){d=b[49897]|0;b:do if(!(d<<24>>24)){c=a;f=5}else{c=a;e=49897;while(1){if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=5;break}}}while(0);if((f|0)==5){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[52210]|0;c:do if(!(d<<24>>24)){c=a;f=9}else{c=a;e=52210;while(1){if((b[c>>0]|0)!=d<<24>>24)break c;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=9;break}}}while(0);if((f|0)==9){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[49904]|0;if(!(d<<24>>24))c=a;else{c=a;e=49904;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){a=c;return a|0}}while(0);a=zo(a)|0;return a|0}function Xr(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;i=c+44|0;j=f[i>>2]|0;m=c+24|0;n=f[m>>2]|0;k=n;if(j>>>0>>0){f[i>>2]=n;l=k}else l=j;i=h&24;a:do if(!i){j=-1;i=-1}else if((g|0)==1&(i|0)==24){j=-1;i=-1}else{b:do switch(g|0){case 0:{i=0;j=0;break}case 1:if(!(h&8)){j=k-(f[c+20>>2]|0)|0;i=j;j=((j|0)<0)<<31>>31;break b}else{j=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;i=j;j=((j|0)<0)<<31>>31;break b}case 2:{i=c+32|0;if((b[i+11>>0]|0)<0)i=f[i>>2]|0;j=l-i|0;i=j;j=((j|0)<0)<<31>>31;break}default:{j=-1;i=-1;break a}}while(0);j=w7(i|0,j|0,d|0,e|0)|0;i=I;if((i|0)<0){j=-1;i=-1}else{k=c+32|0;if((b[k+11>>0]|0)<0)k=f[k>>2]|0;e=l-k|0;d=((e|0)<0)<<31>>31;if((i|0)>(d|0)|(i|0)==(d|0)&j>>>0>e>>>0){j=-1;i=-1}else{k=h&8;if(!((j|0)==0&(i|0)==0)){if(k|0)if(!(f[c+12>>2]|0)){j=-1;i=-1;break}if((h&16|0)!=0&(n|0)==0){j=-1;i=-1;break}}if(k|0){f[c+12>>2]=(f[c+8>>2]|0)+j;f[c+16>>2]=l}if(h&16)f[m>>2]=(f[c+20>>2]|0)+j}}}while(0);n=a;f[n>>2]=0;f[n+4>>2]=0;a=a+8|0;f[a>>2]=j;f[a+4>>2]=i;return}function Yr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=0;k=u;u=u+16|0;i=k;x=0;Ga(535,i|0,a|0);h=x;x=0;a:do if(h&1){c=Za(0)|0;d=a;e=a;j=12}else{b:do if(b[i>>0]|0){d=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;e=d;do if(!d)j=8;else{g=e+24|0;h=f[g>>2]|0;if((h|0)==(f[e+28>>2]|0)){h=f[(f[d>>2]|0)+52>>2]|0;c=mqa(c)|0;x=0;c=sa(h|0,e|0,c|0)|0;h=x;x=0;if(h&1)break}else{f[g>>2]=h+1;b[h>>0]=c;c=mqa(c)|0}if(wja(c,Kta()|0)|0)j=8;else break b}while(0);if((j|0)==8){h=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,h|0,f[h+16>>2]|1|0);h=x;x=0;if(!(h&1))break}c=Za(0)|0;XB(i);d=a;e=a;j=12;break a}while(0);XB(i)}while(0);do if((j|0)==12){Ua(c|0)|0;x=0;Fa(439,d+(f[(f[e>>2]|0)+-12>>2]|0)|0);j=x;x=0;if(!(j&1)){Wa();break}c=Ya()|0;x=0;Ea(4);j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}else jb(c|0)}while(0);u=k;return a|0}function Zr(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;n=u;u=u+48|0;j=n;l=n+40|0;m=g&1;k=h&1;qV(l,f[i+4>>2]|0);f[l>>2]=7280;i=j;g=c;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));x=0;Fa(427,a|0);c=x;x=0;do if(c&1)g=Ya()|0;else{i=a+12|0;g=j;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));i=a+52|0;f[i>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;g=a+64|0;x=0;Ga(462,g|0,f[l+4>>2]|0);j=x;x=0;if(j&1){g=Ya()|0;break}f[g>>2]=7280;_P(l);f[a>>2]=7808;h=a+72|0;x=0;Ga(462,h|0,f[d+4>>2]|0);l=x;x=0;do if(l&1)g=Ya()|0;else{f[h>>2]=7904;g=a+80|0;x=0;Ga(462,g|0,f[e+4>>2]|0);e=x;x=0;if(e&1){g=Ya()|0;_P(h);break}else{f[g>>2]=7696;b[a+88>>0]=m;b[a+89>>0]=k;b[a+90>>0]=0;f[i>>2]=9;u=n;return}}while(0);f[a>>2]=7184;_P(a+64|0);a=g;jb(a|0)}while(0);_P(l);a=g;jb(a|0)}function _r(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;k=0;l=u;u=u+48|0;m=l+32|0;g=l+24|0;h=l+16|0;i=l+8|0;e=l;j=a+88|0;qV(m,f[j>>2]|0);f[m>>2]=15556;d=(f[m+4>>2]|0)==0;_P(m);if(d){qV(h,f[b+4>>2]|0);f[h>>2]=15556;d=a+68|0;f[d>>2]=0;b=a+84|0;if(!(f[j>>2]|0))k=4;else{x=0;Fa(429,b|0);m=x;x=0;if(!(m&1))k=4}if((k|0)==4){f[j>>2]=f[h+4>>2];x=0;Fa(430,b|0);m=x;x=0;if(!(m&1)){x=0;Ga(462,g|0,f[j>>2]|0);m=x;x=0;if(!(m&1)){f[g>>2]=15556;_P(g);_P(h);f[d>>2]=0;f[a+72>>2]=c;u=l;return}}}m=Ya()|0;_P(h);jb(m|0)}else{qV(i,f[j>>2]|0);f[i>>2]=15556;d=f[i+4>>2]|0;x=0;Ga(462,e|0,f[b+4>>2]|0);m=x;x=0;do if(m&1)d=Ya()|0;else{f[e>>2]=15556;x=0;Ia(86,d|0,e|0,c|0);m=x;x=0;if(m&1){d=Ya()|0;_P(e);break}_P(e);_P(i);u=l;return}while(0);_P(i);m=d;jb(m|0)}}function $r(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}g=g<<24>>24==42?h+1|0:h;if(!g)i=0;else{c=VO(g)|0;if(!c)i=0;else{g=RC(c)|0;if(!g)g=c;else while(1){c=RC(g)|0;if(!c)break;else g=c}if(g>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else i=g}}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function as(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0;g=a+4|0;c=f[g>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[g>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[g>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[g>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9)if(f[i>>2]|0)f[g>>2]=(f[g>>2]|0)+-1;break}default:d=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[g>>2]=(f[g>>2]|0)+-1;d=-2147483648;c=0}else{e=0;do{e=c+-48+(e*10|0)|0;c=f[g>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[g>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0}while((c+-48|0)>>>0<10&(e|0)<214748364);b=((e|0)<0)<<31>>31;if((c+-48|0)>>>0<10)do{b=eT(e|0,b|0,10,0)|0;e=I;c=w7(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;e=w7(c|0,I|0,b|0,e|0)|0;b=I;c=f[g>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[g>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&e>>>0<2061584302));if((c+-48|0)>>>0<10)do{c=f[g>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[g>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0}while((c+-48|0)>>>0<10);if(f[i>>2]|0)f[g>>2]=(f[g>>2]|0)+-1;i=(d|0)!=0;c=AY(0,0,e|0,b|0)|0;d=i?I:b;c=i?c:e}I=d;return c|0}function bs(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;j=0;l=u;u=u+16|0;k=l+8|0;h=l;i=a+72|0;d=a+80|0;if((f[a+76>>2]|0)==(f[d>>2]|0)){k=c;u=l;return k|0}qV(k,vc[f[(f[c>>2]|0)+12>>2]&511](c)|0);f[k>>2]=15572;e=(f[d>>2]|0)-(f[a+76>>2]|0)>>3;d=k+4|0;a:do if(!e)j=13;else{g=h+4|0;c=0;while(1){if(!(f[d>>2]|0)){a=0;break a}x=0;a=sa(f[(f[i>>2]|0)+16>>2]|0,i|0,c|0)|0;m=x;x=0;if(m&1){j=11;break}a=f[a+4>>2]|0;x=0;a=sa(f[(f[a>>2]|0)+148>>2]|0,a|0,f[d>>2]|0)|0;m=x;x=0;if(m&1){j=11;break}x=0;Ga(462,h|0,a|0);m=x;x=0;if(m&1){j=11;break}f[h>>2]=15572;if(f[d>>2]|0){x=0;Fa(429,k|0);m=x;x=0;if(m&1){j=12;break}}f[d>>2]=f[g>>2];f[g>>2]=0;_P(h);c=c+1|0;if(c>>>0>=e>>>0){j=13;break a}}if((j|0)==11){m=Ya()|0;_P(k);jb(m|0)}else if((j|0)==12){m=Ya()|0;_P(h);_P(k);jb(m|0)}}while(0);if((j|0)==13){a=f[d>>2]|0;if(!a)a=0;else b[a+8>>0]=1}_P(k);m=a;u=l;return m|0}function cs(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=MW(g)|0;c=c|0?c:g;if(!c)h=0;else{c=VO(c)|0;if(!c)h=0;else{h=RC(c)|0;c=h|0?h:c;if(!c)h=0;else{c=(b[c>>0]|0)==40?c+1|0:0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}}}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function ds(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;k=a+4|0;d=f[a>>2]|0;g=((f[k>>2]|0)-d|0)/12|0;e=g+1|0;if(e>>>0>357913941)EO(a);l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;d=j<<1;d=j>>>0<178956970?(d>>>0>>0?e:d):357913941;do if(!d){h=0;i=0}else{if(d>>>0<=357913941){i=VN(d*12|0)|0;h=i;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(d|0);jb(l|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);e=h+(g*12|0)|0;g=e;j=h+(d*12|0)|0;x=0;Ga(459,e|0,c|0);c=x;x=0;if(c&1){d=Ya()|0;if(!h)jb(d|0);Hta(i);jb(d|0)}i=e+12|0;h=f[a>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){e=g;g=h;d=h}else{do{c=e+-12|0;d=d+-12|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;e=g+-12|0;g=e}while((d|0)!=(h|0));e=g;g=f[a>>2]|0;d=f[k>>2]|0}f[a>>2]=e;f[k>>2]=i;f[l>>2]=j;e=g;if((d|0)!=(e|0))do{d=d+-12|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0)}while((d|0)!=(e|0));if(!g)return;Hta(g);return}function es(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;if($A(a)|0){g=a;return g|0}g=b[36403]|0;if(!(g<<24>>24)){while(1){c=e9(a)|0;if(!c){c=Vla(a)|0;if(!c)c=nC(a)|0}h=(c|0)==0;d=h?a:c;if((c|0)==(a|0)|h){a=0;c=17;break}if(!($A(d)|0))a=d;else{a=d;c=17;break}}if((c|0)==17)return a|0}else f=a;while(1){d=b[f>>0]|0;a=36403;c=g;while(1){if(d<<24>>24==c<<24>>24){c=11;break}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){c=13;break}}if((c|0)==11){c=0;if(!(d<<24>>24))c=13;else e=f+1|0}if((c|0)==13){a=e9(f)|0;if(!a){a=Vla(f)|0;if(!a)a=nC(f)|0}c=(a|0)==0;if((a|0)==(f|0)|c){a=0;c=17;break}else e=c?f:a}if(!($A(e)|0))f=e;else{a=e;c=17;break}}if((c|0)==17)return a|0;return 0}function fs(a){a=a|0;var c=0,d=0,e=0;c=b[a>>0]|0;e=a+1|0;do if(c<<24>>24==39){if((b[e>>0]|0)==92){c=BR(a+2|0)|0;if(!c)d=4;else d=5}else d=4;if((d|0)==4){c=vm(e)|0;if(!c)c=e;else d=5}if((d|0)==5)while(1){if((b[c>>0]|0)==92){d=BR(c+1|0)|0;if(d|0){c=d;d=5;continue}}d=vm(c)|0;if(!d)break;else{c=d;d=5}}if((b[c>>0]|0)==39){e=c+1|0;return e|0}else{c=b[a>>0]|0;break}}while(0);if(c<<24>>24!=34){e=0;return e|0}if((b[e>>0]|0)==92){c=BR(a+2|0)|0;if(!c)d=13;else d=14}else d=13;if((d|0)==13){c=wm(e)|0;if(!c)c=e;else d=14}if((d|0)==14)while(1){if((b[c>>0]|0)==92){d=BR(c+1|0)|0;if(d|0){c=d;d=14;continue}}d=wm(c)|0;if(!d)break;else{c=d;d=14}}e=(b[c>>0]|0)==34?c+1|0:0;return e|0}function gs(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;k=u;u=u+16|0;i=k;d=St(c,i,d)|0;e=f[d>>2]|0;if(e|0){c=e;g=0;f[a>>2]=c;c=a+4|0;b[c>>0]=g;u=k;return}j=VN(36)|0;h=j+16|0;x=0;Ga(459,h|0,f[g>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;Hta(j);jb(c|0)}e=j+28|0;x=0;Ga(462,e|0,0);g=x;x=0;if(g&1){e=Ya()|0;if((b[j+27>>0]|0)>=0){c=e;Hta(j);jb(c|0)}Hta(f[h>>2]|0);c=e;Hta(j);jb(c|0)}else{f[e>>2]=13488;e=f[i>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=e;f[d>>2]=j;e=f[f[c>>2]>>2]|0;if(!e)e=j;else{f[c>>2]=e;e=f[d>>2]|0}Ip(f[c+4>>2]|0,e);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=j;g=1;f[a>>2]=c;c=a+4|0;b[c>>0]=g;u=k;return}}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;k=u;u=u+16|0;i=k;d=Ut(c,i,d)|0;e=f[d>>2]|0;if(e|0){c=e;g=0;f[a>>2]=c;c=a+4|0;b[c>>0]=g;u=k;return}j=VN(36)|0;h=j+16|0;x=0;Ga(459,h|0,f[g>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;Hta(j);jb(c|0)}e=j+28|0;x=0;Ga(462,e|0,0);g=x;x=0;if(g&1){e=Ya()|0;if((b[j+27>>0]|0)>=0){c=e;Hta(j);jb(c|0)}Hta(f[h>>2]|0);c=e;Hta(j);jb(c|0)}else{f[e>>2]=6664;e=f[i>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=e;f[d>>2]=j;e=f[f[c>>2]>>2]|0;if(!e)e=j;else{f[c>>2]=e;e=f[d>>2]|0}Ip(f[c+4>>2]|0,e);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=j;g=1;f[a>>2]=c;c=a+4|0;b[c>>0]=g;u=k;return}}function is(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;if(f[a+32>>2]|0){u=i;return}Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;c=qa(318,48)|0;g=x;x=0;do if(g&1)d=Ya()|0;else{f[h>>2]=c;f[h+8>>2]=-2147483600;f[h+4>>2]=41;a=c;e=50576;g=a+41|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[c+41>>0]=0;x=0;Ia(149,d|0,j|0,h|0);d=x;x=0;if(d&1){c=Ya()|0;if((b[h+11>>0]|0)>=0){d=c;break}Hta(f[h>>2]|0);d=c;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);c=f[j>>2]|0;if(!c){u=i;return}g=j+4|0;a=f[g>>2]|0;if((a|0)!=(c|0)){do{e=a+-52|0;f[g>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[g>>2]|0}else a=e}while((a|0)!=(c|0));c=f[j>>2]|0}Hta(c);u=i;return}while(0);c=f[j>>2]|0;if(!c)jb(d|0);g=j+4|0;a=f[g>>2]|0;if((a|0)!=(c|0)){do{e=a+-52|0;f[g>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[g>>2]|0}else a=e}while((a|0)!=(c|0));c=f[j>>2]|0}Hta(c);jb(d|0)}function js(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;g=u;u=u+64|0;h=g+48|0;j=g+36|0;l=g+24|0;k=g+12|0;i=g;jB(l,e,52297);x=0;Ia(79,k|0,d|0,52297);e=x;x=0;if(e&1)a=Ya()|0;else{x=0;Ia(110,j|0,l|0,k|0);e=x;x=0;if(e&1)a=Ya()|0;else{x=0;Ga(459,i|0,c|0);e=x;x=0;if(e&1)a=Ya()|0;else{x=0;Ia(110,h|0,j|0,i|0);e=x;x=0;do if(e&1)a=Ya()|0;else{x=0;Ga(540,a|0,h|0);e=x;x=0;if(e&1){a=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l+11>>0]|0)>=0){u=g;return}Hta(f[l>>2]|0);u=g;return}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0)}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0)}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0)}if((b[l+11>>0]|0)>=0)jb(a|0);Hta(f[l>>2]|0);jb(a|0)}function ks(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;o=u;u=u+16|0;m=o;n=f[a>>2]|0;if(!n){n=0;u=o;return n|0}i=c;j=e-i|0;l=g+12|0;k=f[l>>2]|0;j=(k|0)>(j|0)?k-j|0:0;k=d;g=k-i|0;if((g|0)>0)if((yc[f[(f[n>>2]|0)+48>>2]&255](n,c,g)|0)!=(g|0)){f[a>>2]=0;n=0;u=o;return n|0}do if((j|0)>0){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;if(j>>>0<11){c=m+11|0;b[c>>0]=j;g=m;i=m}else{c=j+16&-16;g=VN(c)|0;f[m>>2]=g;f[m+8>>2]=c|-2147483648;f[m+4>>2]=j;c=m+11|0;i=m}AD(g|0,h|0,j|0)|0;b[g+j>>0]=0;x=0;g=ta(f[(f[n>>2]|0)+48>>2]|0,n|0,((b[c>>0]|0)<0?f[i>>2]|0:m)|0,j|0)|0;m=x;x=0;if(m&1){e=Ya()|0;if((b[c>>0]|0)>=0)jb(e|0);Hta(f[i>>2]|0);jb(e|0)}if((g|0)==(j|0)){if((b[c>>0]|0)<0)Hta(f[i>>2]|0);break}f[a>>2]=0;if((b[c>>0]|0)<0)Hta(f[i>>2]|0);n=0;u=o;return n|0}while(0);e=e-k|0;if((e|0)>0)if((yc[f[(f[n>>2]|0)+48>>2]&255](n,d,e)|0)!=(e|0)){f[a>>2]=0;n=0;u=o;return n|0}f[l>>2]=0;u=o;return n|0}function ls(a,c,d,e,g,h,i,j,k,l){a=a|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,n=0,o=0,p=0;n=0;o=f[e>>2]|0;p=(o|0)==(d|0);do if(p){m=(b[l+24>>0]|0)==a<<24>>24;if(!m)if((b[l+25>>0]|0)!=a<<24>>24){n=5;break}f[e>>2]=d+1;b[d>>0]=m?43:45;f[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=b[i+11>>0]|0;if(a<<24>>24==h<<24>>24?((n<<24>>24<0?f[i+4>>2]|0:n&255)|0)!=0:0){m=f[k>>2]|0;if((m-j|0)>=160){m=0;break}e=f[g>>2]|0;f[k>>2]=m+4;f[m>>2]=e;f[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((b[m>>0]|0)==a<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(c|0){case 10:case 8:{if((m|0)>=(c|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-d|0)>=3){m=-1;break a}if((b[o+-1>>0]|0)!=48){m=-1;break a}f[g>>2]=0;m=b[57704+m>>0]|0;f[e>>2]=o+1;b[o>>0]=m;m=0;break a}break}default:{}}m=b[57704+m>>0]|0;f[e>>2]=o+1;b[o>>0]=m;f[g>>2]=(f[g>>2]|0)+1;m=0}}while(0);return m|0}function ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=9848;h=a+4|0;d=a+20|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[d>>2]=1.0;x=0;Ga(480,h|0,b|0);g=x;x=0;if(g&1){c=Ya()|0;b=f[a+12>>2]|0;if(b|0)do{a=b;b=f[b>>2]|0;_P(a+16|0);_P(a+8|0);Hta(a)}while((b|0)!=0);b=f[h>>2]|0;f[h>>2]=0;if(!b)jb(c|0);Hta(b);jb(c|0)}e=a+24|0;g=a+28|0;c=a+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;x=0;Ga(462,c|0,0);i=x;x=0;if(i&1)d=Ya()|0;else{f[c>>2]=7696;i=~~+W(+(+(b>>>0)/+n[d>>2]))>>>0;x=0;Ga(480,h|0,i|0);i=x;x=0;if(!(i&1)){x=0;Ga(516,e|0,b|0);i=x;x=0;if(!(i&1))return}d=Ya()|0;_P(c)}b=f[e>>2]|0;if(b|0){c=f[g>>2]|0;if((c|0)!=(b|0)){do{i=c+-8|0;f[g>>2]=i;Kc[f[f[i>>2]>>2]&511](i);c=f[g>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Hta(b)}b=f[a+12>>2]|0;if(b|0)do{i=b;b=f[b>>2]|0;_P(i+16|0);_P(i+8|0);Hta(i)}while((b|0)!=0);b=f[h>>2]|0;f[h>>2]=0;if(!b)jb(d|0);Hta(b);jb(d|0)}function ns(a,c,d,e,g,h,i,j,k,l){a=a|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,n=0,o=0,p=0;n=0;o=f[e>>2]|0;p=(o|0)==(d|0);do if(p){m=(f[l+96>>2]|0)==(a|0);if(!m)if((f[l+100>>2]|0)!=(a|0)){n=5;break}f[e>>2]=d+1;b[d>>0]=m?43:45;f[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=b[i+11>>0]|0;if((a|0)==(h|0)?((n<<24>>24<0?f[i+4>>2]|0:n&255)|0)!=0:0){m=f[k>>2]|0;if((m-j|0)>=160){m=0;break}e=f[g>>2]|0;f[k>>2]=m+4;f[m>>2]=e;f[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((f[m>>2]|0)==(a|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(c|0){case 10:case 8:{if((h|0)>=(c|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-d|0)>=3){m=-1;break a}if((b[o+-1>>0]|0)!=48){m=-1;break a}f[g>>2]=0;m=b[57704+h>>0]|0;f[e>>2]=o+1;b[o>>0]=m;m=0;break a}break}default:{}}m=b[57704+h>>0]|0;f[e>>2]=o+1;b[o>>0]=m;f[g>>2]=(f[g>>2]|0)+1;m=0}}while(0);return m|0}function os(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=u;u=u+16|0;h=l+12|0;i=l+8|0;j=l+4|0;k=l;f[i>>2]=a;if((a|0)==(c|0)){k=d;k=f[k>>2]|0;u=l;return k|0}a:while(1){b:do switch(Eo(i,c,h)|0){case 1:{a=10;break a}case 0:{if((a|0)!=(f[i>>2]|0)){g=f[d>>2]|0;do{uD(g,b[a>>0]|0);a=a+1|0}while((a|0)!=(f[i>>2]|0))}break}case 2:{f[j>>2]=f[d>>2];f[h>>2]=f[j>>2];a=Hv(e,h)|0;f[d>>2]=a;a=(f[i>>2]|0)+1|0;f[i>>2]=a;break}case 5:case 4:case 3:{f[k>>2]=f[d>>2];f[h>>2]=f[k>>2];a=Hv(e,h)|0;f[d>>2]=a;a=f[i>>2]|0;do{a=a+1|0;f[i>>2]=a;if((a|0)==(c|0))break b}while((b[a>>0]&-64)<<24>>24==-128);break}default:a=f[i>>2]|0}while(0);if((a|0)==(c|0)){a=15;break}}if((a|0)==10){l=Ta(4)|0;f[l>>2]=16704;fb(l|0,2544,223)}else if((a|0)==15){k=f[d>>2]|0;u=l;return k|0}return 0}function ps(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=0;j=a+11|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=b[c+11>>0]|0;h=g<<24>>24<0;d=h?f[c>>2]|0:c;g=h?f[c+4>>2]|0:g&255;h=d+g|0;if(!g)return;else c=0;a:while(1){e=b[d>>0]|0;g=e<<24>>24!=92;do if(c|g){if(c&e<<24>>24==34){x=0;Ga(534,a|0,92);g=x;x=0;if(g&1)break a;x=0;Ga(534,a|0,34);g=x;x=0;if(g&1)break a;else{c=0;break}}if(c&e<<24>>24==39){x=0;Ga(534,a|0,92);g=x;x=0;if(g&1)break a;x=0;Ga(534,a|0,39);g=x;x=0;if(g&1)break a;else{c=0;break}}if(g|c^1){x=0;Ga(534,a|0,e|0);g=x;x=0;if(g&1)break a;else{c=0;break}}x=0;Ga(534,a|0,92);g=x;x=0;if(g&1)break a;x=0;Ga(534,a|0,92);g=x;x=0;if(g&1)break a;else c=0}else{x=0;Ga(534,a|0,92);g=x;x=0;if(g&1)break a;x=0;Ga(534,a|0,92);g=x;x=0;if(g&1)break a;else c=1}while(0);d=d+1|0;if((d|0)==(h|0)){i=2;break}}if((i|0)==2)return;c=Ya()|0;if((b[j>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function qs(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;k=a+4|0;d=f[a>>2]|0;g=((f[k>>2]|0)-d|0)/12|0;e=g+1|0;if(e>>>0>357913941)EO(a);l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;d=j<<1;d=j>>>0<178956970?(d>>>0>>0?e:d):357913941;do if(!d)e=0;else{if(d>>>0<=357913941){e=VN(d*12|0)|0;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(d|0);jb(l|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);h=e+(g*12|0)|0;g=h;j=e+(d*12|0)|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;i=h+12|0;c=f[a>>2]|0;d=f[k>>2]|0;if((d|0)==(c|0)){e=g;g=c;d=c}else{e=h;do{h=e+-12|0;d=d+-12|0;f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;e=g+-12|0;g=e}while((d|0)!=(c|0));e=g;g=f[a>>2]|0;d=f[k>>2]|0}f[a>>2]=e;f[k>>2]=i;f[l>>2]=j;e=g;if((d|0)!=(e|0))do{d=d+-12|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0)}while((d|0)!=(e|0));if(!g)return;Hta(g);return}function rs(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;l=g&1;k=h&1;efa(a);i=a+12|0;g=c;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));f[a>>2]=10464;b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a+56>>2]=0;h=a+60|0;f[h>>2]=12112;j=a+64|0;m=a+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(644,j|0,e|0);e=x;x=0;if(e&1){i=Ya()|0;c=I;g=f[j>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0)){do{a=h+-8|0;f[m>>2]=a;Kc[f[f[a>>2]>>2]&511](a);h=f[m>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}m=i;jb(m|0)}f[a>>2]=11932;f[h>>2]=12056;g=a+80|0;x=0;Ga(462,g|0,f[d+4>>2]|0);d=x;x=0;if(!(d&1)){f[g>>2]=7904;b[a+88>>0]=l;b[a+89>>0]=k;return}j=Ya()|0;i=I;f[h>>2]=12112;c=a+64|0;g=f[c>>2]|0;if(!g){m=j;jb(m|0)}h=f[m>>2]|0;if((h|0)!=(g|0)){do{a=h+-8|0;f[m>>2]=a;Kc[f[f[a>>2]>>2]&511](a);h=f[m>>2]|0}while((h|0)!=(g|0));g=f[c>>2]|0}Hta(g);m=j;jb(m|0)}function ss(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=19552;e=a+4|0;f[e>>2]=6680;j=a+8|0;ND(j,c+4|0);i=a+20|0;x=0;Ga(689,i|0,c+16|0);h=x;x=0;if(h&1)c=Ya()|0;else{g=a+32|0;x=0;Ga(690,g|0,c+28|0);h=x;x=0;if(h&1)c=Ya()|0;else{h=a+44|0;k=c+40|0;f[h>>2]=f[k>>2];f[h+4>>2]=f[k+4>>2];f[h+8>>2]=f[k+8>>2];x=0;Ga(459,a+56|0,c+52|0);h=x;x=0;if(!(h&1)){k=a+72|0;j=c+68|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[k+8>>2]=f[j+8>>2];f[k+12>>2]=f[j+12>>2];f[k+16>>2]=f[j+16>>2];f[k+20>>2]=f[j+20>>2];f[k+24>>2]=f[j+24>>2];f[k+28>>2]=f[j+28>>2];d[k+32>>1]=d[j+32>>1]|0;b[k+34>>0]=b[j+34>>0]|0;f[a>>2]=19240;f[e>>2]=19536;return}c=Ya()|0;e=f[g>>2]|0;if(e){g=a+36|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~(((h+-24-e|0)>>>0)/24|0)*24|0);Hta(e)}}h=f[i>>2]|0;if(h){e=a+24|0;g=f[e>>2]|0;if((g|0)!=(h|0))f[e>>2]=g+(~((g+-4-h|0)>>>2)<<2);Hta(h)}}if((b[j+11>>0]|0)>=0)jb(c|0);Hta(f[j>>2]|0);jb(c|0)}function ts(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;a:do if(vc[f[(f[a>>2]|0)+152>>2]&511](a)|0){r=c+72|0;n=(f[c+80>>2]|0)-(f[c+76>>2]|0)>>3;if(n|0){o=a+84|0;p=o+11|0;q=a+88|0;m=0;b:while(1){h=(xc[f[(f[r>>2]|0)+16>>2]&2047](r,m)|0)+4|0;h=f[h>>2]|0;c:do if(h|0){d=f[h>>2]|0;if((f[(f[d+-4>>2]|0)+4>>2]|0)==30740)if(vc[f[d+152>>2]&511](h)|0){g=h+84|0;e=b[g+11>>0]|0;l=e<<24>>24<0;e=e&255;i=l?f[h+88>>2]|0:e;k=b[p>>0]|0;d=k<<24>>24<0;if((i|0)!=((d?f[q>>2]|0:k&255)|0)){d=0;e=17;break b}j=f[g>>2]|0;k=l?j:g;d=d?f[o>>2]|0:o;h=(i|0)==0;if(l){if(h)break;if(!(lO(k,d,i)|0))break;else{d=0;e=17;break b}}if(!h){if((b[d>>0]|0)!=(j&255)<<24>>24){d=0;e=17;break b}while(1){e=e+-1|0;g=g+1|0;if(!e)break c;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;e=17;break b}}}}}while(0);m=m+1|0;if(m>>>0>=n>>>0)break a}if((e|0)==17)return d|0}}while(0);kk(a,c)|0;return c|0}function us(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;i=u;u=u+16|0;j=i;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[j+(c<<2)>>2]=0;c=c+1|0}k=b[h+11>>0]|0;l=k<<24>>24<0;c=l?f[h>>2]|0:h;h=c+(l?f[h+4>>2]|0:k&255)|0;while(1){if(c>>>0>=h>>>0){h=8;break}x=0;Ga(534,j|0,b[c>>0]|0);l=x;x=0;if(l&1){h=9;break}c=c+1|0}do if((h|0)==8){c=(b[j+11>>0]|0)<0?f[j>>2]|0:j;x=0;d=ua(30,((d|0)==-1?-1:d<<1)|0,e|0,g|0,c|0)|0;l=x;x=0;if(l&1){c=Ya()|0;break}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;h=0;while(1){if((h|0)==3)break;f[a+(h<<2)>>2]=0;h=h+1|0}h=c+(hL(d)|0)|0;while(1){if(c>>>0>=h>>>0){h=19;break}x=0;Ga(534,a|0,b[c>>0]|0);l=x;x=0;if(l&1){h=18;break}c=c+1|0}if((h|0)==18){c=Ya()|0;Aaa(a);break}else if((h|0)==19){Aaa(j);u=i;return}}else if((h|0)==9)c=Ya()|0;while(0);Aaa(j);jb(c|0)}function vs(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;o=u;u=u+16|0;m=o+8|0;n=o;if(!(Xp(a,c)|0)){n=0;u=o;return n|0}g=a+84|0;h=c+84|0;e=b[g+11>>0]|0;l=e<<24>>24<0;e=e&255;i=l?f[a+88>>2]|0:e;k=b[h+11>>0]|0;d=k<<24>>24<0;if((i|0)!=((d?f[c+88>>2]|0:k&255)|0)){n=0;u=o;return n|0}j=f[g>>2]|0;k=l?j:g;d=d?f[h>>2]|0:h;h=(i|0)==0;a:do if(l){if(!h)if(lO(k,d,i)|0){n=0;u=o;return n|0}}else if(!h){if((b[d>>0]|0)!=(j&255)<<24>>24){n=0;u=o;return n|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=o;return d|0}while(0);qV(m,f[a+108>>2]|0);f[m>>2]=7168;d=f[m+4>>2]|0;e=f[(f[d>>2]|0)+164>>2]|0;x=0;Ga(462,n|0,f[c+108>>2]|0);c=x;x=0;if(c&1){o=Ya()|0;_P(m);jb(o|0)}f[n>>2]=7168;x=0;d=sa(e|0,d|0,f[n+4>>2]|0)|0;c=x;x=0;if(c&1){o=Ya()|0;_P(n);_P(m);jb(o|0)}else{_P(n);_P(m);n=d;u=o;return n|0}return 0}function ws(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=u;u=u+16|0;j=l+8|0;k=l;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)!=32815){j=0;k=0;k=j&k;u=l;return k|0}h=(f[a+68>>2]|0)-(f[a+64>>2]|0)>>3;i=b+64|0;c=f[i>>2]|0;if((h|0)!=((f[b+68>>2]|0)-c>>3|0)){j=1;k=0;k=j&k;u=l;return k|0}if(!h){j=1;k=1;k=j&k;u=l;return k|0}d=a+64|0;e=k+4|0;g=j+4|0;a=0;b=c;while(1){qV(j,f[b+(a<<3)+4>>2]|0);f[j>>2]=7696;x=0;Ga(462,k|0,f[(f[d>>2]|0)+(a<<3)+4>>2]|0);c=x;x=0;if(c&1){c=9;break}f[k>>2]=7696;b=f[e>>2]|0;c=f[g>>2]|0;if((b|0)==0|(c|0)==0)b=1;else{x=0;b=sa(f[(f[b>>2]|0)+92>>2]|0,b|0,c|0)|0;c=x;x=0;if(c&1){c=10;break}b=(b^1)&1}_P(k);_P(j);a=a+1|0;if(b|0){a=1;b=0;c=15;break}if(a>>>0>=h>>>0){a=1;b=1;c=15;break}b=f[i>>2]|0}if((c|0)==9){l=Ya()|0;_P(j);jb(l|0)}else if((c|0)==10){l=Ya()|0;_P(k);_P(j);jb(l|0)}else if((c|0)==15){k=a&b;u=l;return k|0}return 0}function xs(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;efa(a);g=a+12|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a>>2]=15620;b[a+60>>0]=0;b[a+61>>0]=0;b[a+62>>0]=0;f[a+64>>2]=0;f[a+68>>2]=0;f[a+56>>2]=7;e=a+72|0;f[e>>2]=16156;h=a+76|0;i=a+80|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(509,h|0,d|0);d=x;x=0;if(d&1){d=Ya()|0;g=I;c=f[h>>2]|0;if(c|0){e=f[i>>2]|0;if((e|0)!=(c|0)){do{a=e+-8|0;f[i>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[i>>2]|0}while((e|0)!=(c|0));c=f[h>>2]|0}Hta(c)}i=d;jb(i|0)}f[a>>2]=15940;f[e>>2]=16116;c=a+92|0;x=0;Ga(462,c|0,0);h=x;x=0;if(!(h&1)){f[c>>2]=16196;f[a+100>>2]=0;f[a+104>>2]=0;f[a+108>>2]=0;return}h=Ya()|0;d=I;f[e>>2]=16156;g=a+76|0;c=f[g>>2]|0;if(!c){i=h;jb(i|0)}e=f[i>>2]|0;if((e|0)!=(c|0)){do{a=e+-8|0;f[i>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[i>>2]|0}while((e|0)!=(c|0));c=f[g>>2]|0}Hta(c);i=h;jb(i|0)}function ys(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>4;if(!d)return;do if(d>>>0>268435455){x=0;Fa(426,a|0);x=0;b=11}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(h&1)b=11;else{f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<4);b=f[b>>2]|0;e=f[e>>2]|0;if((b|0)==(e|0))return;while(1){x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1){b=10;break}f[c>>2]=15556;d=c+8|0;x=0;Ga(462,d|0,f[b+12>>2]|0);h=x;x=0;if(h&1){b=8;break}f[d>>2]=15572;b=b+16|0;c=(f[g>>2]|0)+16|0;f[g>>2]=c;if((b|0)==(e|0)){b=18;break}}if((b|0)==8){d=Ya()|0;_P(c);break}else if((b|0)==10){d=Ya()|0;break}else if((b|0)==18)return}}while(0);if((b|0)==11)d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-16|0;f[g>>2]=h;_P(b+-8|0);_P(h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function zs(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;k=u;u=u+96|0;h=k;d=k+88|0;i=k+48|0;l=k+40|0;qV(d,f[c+64>>2]|0);f[d>>2]=7696;g=f[d+4>>2]|0;x=0;g=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a|0)|0;j=x;x=0;if(j&1){l=Ya()|0;_P(d);jb(l|0)}_P(d);j=VN(68)|0;e=i;a=c+12|0;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));x=0;Ga(462,l|0,g|0);g=x;x=0;if(g&1)a=Ya()|0;else{f[l>>2]=7696;e=h;a=i;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));x=0;Fa(427,j|0);i=x;x=0;do if(i&1)a=Ya()|0;else{e=j+12|0;a=h;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;f[j+56>>2]=0;f[j>>2]=12788;a=j+60|0;x=0;Ga(462,a|0,f[l+4>>2]|0);i=x;x=0;if(i&1){a=Ya()|0;break}else{f[a>>2]=7696;_P(l);u=k;return j|0}}while(0);_P(l)}Hta(j);l=a;jb(l|0);return 0}function As(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=0;k=u;u=u+16|0;h=k;i=eua()|0;if(!(iO(a,44233)|0)){j=0;u=k;return j|0}if(!(iO(i,44233)|0)){j=0;u=k;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=hL(i)|0;if(e>>>0>4294967279)CO(h);if(e>>>0<11){d=h+11|0;b[d>>0]=e;if(!e)c=h;else{c=h;j=8}}else{d=e+16&-16;c=VN(d)|0;f[h>>2]=c;f[h+8>>2]=d|-2147483648;f[h+4>>2]=e;d=h+11|0;j=8}if((j|0)==8)Lu(c|0,i|0,e|0)|0;b[c+e>>0]=0;g=KK(h,46,0)|0;if((b[d>>0]|0)<0)Hta(f[h>>2]|0);if((g|0)==-1)j=21;else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=hL(i)|0;if(e>>>0>4294967279)CO(h);if(e>>>0<11){d=h+11|0;b[d>>0]=e;if(!e)c=h;else{c=h;j=17}}else{d=e+16&-16;c=VN(d)|0;f[h>>2]=c;f[h+8>>2]=d|-2147483648;f[h+4>>2]=e;d=h+11|0;j=17}if((j|0)==17)Lu(c|0,i|0,e|0)|0;b[c+e>>0]=0;c=KK(h,46,g+1|0)|0;if((b[d>>0]|0)<0)Hta(f[h>>2]|0);if((c|0)==-1)j=21;else c=IL(a,i,c)|0}if((j|0)==21)c=iO(a,i)|0;j=(c|0)==0;u=k;return j|0}function Bs(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}h=pC(g)|0;if(!h)h=0;else{c=h+1|0;if((b[h>>0]|0)==45){m=(H2(c)|0)!=0;c=m?c:0}else c=0;c=c|0?c:h;if(c>>>0>(f[a+80>>2]|0)>>>0){m=0;u=l;return m|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){m=0;u=l;return m|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;d=a+96|0;vG(i,d,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,d,g,h);m=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,d,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,m,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Cs(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=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;if(!(b[g>>0]|0)){l=0;u=m;return l|0}if(c){i=VX(g)|0;g=i|0?i:g}if(!g)h=0;else{c=b[36397]|0;a:do if(!(c<<24>>24)){h=g;c=0}else{h=g;i=36397;while(1){if((b[h>>0]|0)!=c<<24>>24)break a;h=h+1|0;i=i+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);c=c<<24>>24==0?h:0;if(c>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;i=a+96|0;vG(j,i,c,g);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,i,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,i,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;l=h;u=m;return l|0}function Ds(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;j=u;u=u+64|0;i=j+16|0;k=j;Gv(k,g);x=0;h=i;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));a=wa(24,a|0,c|0,d|0,i|0,k|0)|0;d=x;x=0;if(d&1){a=Ya()|0;g=f[k>>2]|0;if(!g)jb(a|0);i=k+4|0;e=f[i>>2]|0;if((e|0)!=(g|0)){do{h=e+-52|0;f[i>>2]=h;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}else e=h}while((e|0)!=(g|0));g=f[k>>2]|0}Hta(g);jb(a|0)}else{g=f[k>>2]|0;if(!g){k=f[a>>2]|0;k=k+12|0;k=f[k>>2]|0;k=vc[k&511](a)|0;Z7(k);u=j;return k|0}i=k+4|0;e=f[i>>2]|0;if((e|0)!=(g|0)){do{h=e+-52|0;f[i>>2]=h;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}else e=h}while((e|0)!=(g|0));g=f[k>>2]|0}Hta(g);k=f[a>>2]|0;k=k+12|0;k=f[k>>2]|0;k=vc[k&511](a)|0;Z7(k);u=j;return k|0}return 0}function Es(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;m=0;n=u;u=u+16|0;o=n;k=a+68|0;c=f[k>>2]|0;if((f[c>>2]|0)!=2){u=n;return}f[a+80>>2]=1;f[a+76>>2]=0;l=a+72|0;if(!(f[l>>2]|0)){u=n;return}p=o+11|0;h=o+8|0;i=o+4|0;c=f[c+12>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;d=hL(c)|0;if(d>>>0>4294967279)CO(o);else{g=0;j=d;e=c}while(1){if(j>>>0<11){b[p>>0]=j;if(!j)c=o;else{c=o;m=8}}else{m=j+16&-16;c=VN(m)|0;f[o>>2]=c;f[h>>2]=m|-2147483648;f[i>>2]=j;m=8}if((m|0)==8){m=0;Lu(c|0,e|0,j|0)|0}b[c+j>>0]=0;x=0;Ga(682,a|0,o|0);j=x;x=0;if(j&1){m=14;break}if((b[p>>0]|0)<0)Hta(f[o>>2]|0);g=g+1|0;if(g>>>0>=(f[l>>2]|0)>>>0){m=17;break}e=f[(f[k>>2]|0)+12>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;j=hL(e)|0;if(j>>>0>4294967279){m=4;break}}if((m|0)==4)CO(o);else if((m|0)==14){c=Ya()|0;if((b[p>>0]|0)>=0)jb(c|0);Hta(f[o>>2]|0);jb(c|0)}else if((m|0)==17){u=n;return}}function Fs(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=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;if(!(b[g>>0]|0)){l=0;u=m;return l|0}if(c){i=VX(g)|0;g=i|0?i:g}if(!g)h=0;else{c=b[49844]|0;a:do if(!(c<<24>>24)){h=g;c=0}else{h=g;i=49844;while(1){if((b[h>>0]|0)!=c<<24>>24)break a;h=h+1|0;i=i+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);c=c<<24>>24==0?h:0;if(c>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;i=a+96|0;vG(j,i,c,g);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,i,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,i,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;l=h;u=m;return l|0}function Gs(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=0;k=u;u=u+1040|0;h=k;g=k+1032|0;j=k+8|0;e=bua()|0;e=f[e>>2]|0;d=IP(c,j,1024)|0;switch(d|0){case 0:{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=yqa(j)|0;if(d>>>0>4294967279)CO(a);if(d>>>0<11)b[a+11>>0]=d;else{e=d+16&-16;h=VN(e)|0;f[a>>2]=h;f[a+8>>2]=e|-2147483648;f[a+4>>2]=d;a=h}Naa(a,j,d)|0;b[g>>0]=0;vga(a+d|0,g);break}case -1:{d=bua()|0;d=f[d>>2]|0;i=3;break}default:i=3}a:do if((i|0)==3){i=bua()|0;f[i>>2]=e;switch(d|0){case 22:{f[h>>2]=c;uU(j,1024,60153,h)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=yqa(j)|0;if(d>>>0>4294967279)CO(a);if(d>>>0<11)b[a+11>>0]=d;else{g=d+16&-16;i=VN(g)|0;f[a>>2]=i;f[a+8>>2]=g|-2147483648;f[a+4>>2]=d;a=i}Naa(a,j,d)|0;b[h>>0]=0;vga(a+d|0,h);break a}case 34:{Cb();break}default:Ra(60170,60190,99,60270)}}while(0);u=k;return}function Hs(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;j=u;u=u+16|0;k=j;efa(a);h=a+12|0;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a+56>>2]=4;f[a>>2]=11668;b[a+60>>0]=0;b[a+61>>0]=0;g=f[d+4>>2]|0;d=f[d+8>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;i=d-g|0;do if(i>>>0>4294967279){x=0;Fa(428,k|0);x=0}else{if(i>>>0<11){b[k+11>>0]=i;c=k}else{h=i+16&-16;x=0;c=qa(318,h|0)|0;l=x;x=0;if(l&1)break;f[k>>2]=c;f[k+8>>2]=h|-2147483648;f[k+4>>2]=i}if((g|0)!=(d|0)){h=c;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(d|0))break;else h=h+1|0}c=c+i|0}b[c>>0]=0;x=0;Ia(101,a+64|0,k|0,e|0);l=x;x=0;if(l&1){c=Ya()|0;if((b[k+11>>0]|0)>=0){l=c;jb(l|0)}Hta(f[k>>2]|0);l=c;jb(l|0)}else{if((b[k+11>>0]|0)>=0){l=a+76|0;f[l>>2]=0;u=j;return}Hta(f[k>>2]|0);l=a+76|0;f[l>>2]=0;u=j;return}}while(0);l=Ya()|0;jb(l|0)}function Is(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=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;if(!(b[g>>0]|0)){l=0;u=m;return l|0}if(c){i=VX(g)|0;g=i|0?i:g}if(!g)h=0;else{c=b[51458]|0;a:do if(!(c<<24>>24)){h=g;c=0}else{h=g;i=51458;while(1){if((b[h>>0]|0)!=c<<24>>24)break a;h=h+1|0;i=i+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);c=c<<24>>24==0?h:0;if(c>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;i=a+96|0;vG(j,i,c,g);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,i,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,i,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;l=h;u=m;return l|0}function Js(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;j=u;u=u+16|0;i=j;a:do if(!a){d=f[c>>2]|0;e=f[d>>2]|0;if(!e)d=0;else{a=d;d=0;do{if(e>>>0>127){e=xC(i,e,0)|0;if((e|0)==-1){d=-1;break a}}else e=1;d=e+d|0;a=a+4|0;e=f[a>>2]|0}while((e|0)!=0)}}else{b:do if(d>>>0>3){e=d;g=f[c>>2]|0;while(1){h=f[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=xC(a,h,0)|0;if((h|0)==-1){d=-1;break a}a=a+h|0;e=e-h|0}else{b[a>>0]=h;a=a+1|0;e=e+-1|0;g=f[c>>2]|0}g=g+4|0;f[c>>2]=g;if(e>>>0<=3)break b}b[a>>0]=0;f[c>>2]=0;d=d-e|0;break a}else e=d;while(0);if(e){g=f[c>>2]|0;while(1){h=f[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=xC(i,h,0)|0;if((h|0)==-1){d=-1;break a}if(e>>>0>>0){g=22;break}xC(a,f[g>>2]|0,0)|0;a=a+h|0;e=e-h|0}else{b[a>>0]=h;a=a+1|0;e=e+-1|0;g=f[c>>2]|0}g=g+4|0;f[c>>2]=g;if(!e)break a}if((g|0)==19){b[a>>0]=0;f[c>>2]=0;d=d-e|0;break}else if((g|0)==22){d=d-e|0;break}}}while(0);u=j;return d|0}function Ks(a){a=a|0;var c=0;c=a+1|0;if((b[a>>0]|0)==38)if((b[c>>0]|0)==45){do c=c+1|0;while((b[c>>0]|0)==45);c=sR(c)|0;if(c|0){c=bW(c)|0;if(c|0){a=c;return a|0}}}a=Ng(a)|0;return a|0}function Ls(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if(!d)d=f[c+76>>2]|0;g=VX(d)|0;g=Tv(g|0?g:d)|0;c=c+80|0;e=g>>>0<=(f[c>>2]|0)>>>0?g:0;if((e|0)==0|(d|0)==(e|0))return;a:do if(d>>>0>>0){while(1){h=d;d=d+1|0;if((b[h>>0]|0)==35)if((b[d>>0]|0)==123)break;if(d>>>0>=e>>>0)break a}b[a+13>>0]=1}while(0);f[a+8>>2]=e;h=VX(g)|0;h=h|0?h:g;h=(b[h>>0]|0)==123?h+1|0:0;if(!((h|0)==0?1:h>>>0>(f[c>>2]|0)>>>0)){f[a>>2]=e;return}h=VX(g)|0;h=h|0?h:g;h=(b[h>>0]|0)==59?h+1|0:0;if(!((h|0)==0?1:h>>>0>(f[c>>2]|0)>>>0)){f[a>>2]=e;return}h=VX(g)|0;h=h|0?h:g;h=(b[h>>0]|0)==125?h+1|0:0;if((h|0)==0?1:h>>>0>(f[c>>2]|0)>>>0)return;f[a>>2]=e;return}function Ms(a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r){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;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;f[fc+32>>2]=d;f[fc+40>>2]=e;f[fc+48>>2]=g;f[fc+56>>2]=h;f[fc+64>>2]=i;f[fc+72>>2]=j;f[fc+80>>2]=k;f[fc+88>>2]=l;f[fc+96>>2]=m;f[fc+104>>2]=n;f[fc+112>>2]=o;f[fc+120>>2]=p;f[fc+128>>2]=q;f[fc+136>>2]=r;if((ec|0)==1)ec=3}Vc(hc+63296|0)}function Ns(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a>>2]=15620;b[a+60>>0]=b[c+60>>0]|0;b[a+61>>0]=b[c+61>>0]|0;b[a+62>>0]=b[c+62>>0]|0;f[a+64>>2]=f[c+64>>2];f[a+68>>2]=f[c+68>>2];f[a+56>>2]=7;e=a+72|0;f[e>>2]=16156;x=0;Ga(504,a+76|0,c+76|0);i=x;x=0;if(i&1){a=Ya()|0;jb(a|0)}f[a+88>>2]=f[c+88>>2];f[a>>2]=15940;f[e>>2]=16116;d=a+92|0;x=0;Ga(462,d|0,f[c+96>>2]|0);i=x;x=0;do if(i&1){i=Ya()|0;h=I}else{f[d>>2]=16196;x=0;Ga(458,a+100|0,c+100|0);i=x;x=0;if(i&1){i=Ya()|0;h=I;_P(d);break}else return}while(0);f[e>>2]=16156;c=a+76|0;d=f[c>>2]|0;if(!d){a=i;jb(a|0)}g=a+80|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{a=e+-8|0;f[g>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[g>>2]|0}while((e|0)!=(d|0));d=f[c>>2]|0}Hta(d);a=i;jb(a|0)}function Os(a){a=a|0;var c=0,d=0,e=0,f=0;a:do if(a|0){c=b[52189]|0;if(c<<24>>24){d=a;e=52189;while(1){if((b[d>>0]|0)!=c<<24>>24)break;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24))break a;else d=d+1|0}c=Jv(a)|0;if(c|0){f=c;return f|0}}}while(0);c=a+1|0;switch(b[a>>0]|0){case 35:{if((b[c>>0]|0)!=123){f=c;return f|0}break}case 47:{if((b[c>>0]|0)!=42){f=c;return f|0}break}default:{}}c=xl(a)|0;if(c|0){f=c;return f|0}c=Kx(a)|0;if(c|0){f=c;return f|0}d=b[51446]|0;b:do if(!(d<<24>>24))c=a;else{c=a;e=51446;while(1){if((b[c>>0]|0)!=d<<24>>24){c=0;break}c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24))break b}return c|0}while(0);d=b[c>>0]|0;if(!(d<<24>>24)){f=0;return f|0}f=b[52228]|0;if(!(f<<24>>24)){f=c;return f|0}else{a=c;c=d}c:while(1){if(c<<24>>24==f<<24>>24){c=a;d=52228;do{c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){d=20;break c}}while((b[c>>0]|0)==e<<24>>24)}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){c=0;d=20;break}}if((d|0)==20)return c|0;return 0}function Ps(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;n=u;u=u+16|0;o=n;e=f[c+64>>2]|0;k=(f[c+68>>2]|0)-e>>3;if(!k){u=n;return}g=c+64|0;h=a+4|0;l=o+11|0;i=o+1|0;m=o+11|0;j=o+2|0;c=0;while(1){if(b[(f[e+(c<<3)+4>>2]|0)+54>>0]|0){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b[m>>0]=2;d[o>>1]=31523;b[j>>0]=0;x=0;Ga(682,h|0,o|0);e=x;x=0;if(e&1){c=9;break}if((b[m>>0]|0)<0)Hta(f[o>>2]|0);e=f[g>>2]|0}e=f[e+(c<<3)+4>>2]|0;Lc[f[(f[e>>2]|0)+44>>2]&1023](e,a);if(b[(f[(f[g>>2]|0)+(c<<3)+4>>2]|0)+54>>0]|0){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b[l>>0]=1;b[o>>0]=125;b[i>>0]=0;x=0;Ga(682,h|0,o|0);e=x;x=0;if(e&1){c=17;break}if((b[l>>0]|0)<0)Hta(f[o>>2]|0)}c=c+1|0;if(c>>>0>=k>>>0){c=3;break}e=f[g>>2]|0}if((c|0)==3){u=n;return}else if((c|0)==9){c=Ya()|0;if((b[m>>0]|0)<0)Hta(f[o>>2]|0);o=c;jb(o|0)}else if((c|0)==17){c=Ya()|0;if((b[l>>0]|0)<0)Hta(f[o>>2]|0);o=c;jb(o|0)}}function Qs(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=_x(g)|0;if(!c)h=0;else{c=bM(c)|0;if(!c)h=0;else{while(1){h=bM(c)|0;if(!h)break;else c=h}if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Rs(a){a=a|0;var c=0,d=0,e=0,f=0;a:do if(a|0){c=b[52189]|0;if(c<<24>>24){d=a;e=52189;while(1){if((b[d>>0]|0)!=c<<24>>24)break;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24))break a;else d=d+1|0}c=jy(a)|0;if(c|0){f=c;return f|0}}}while(0);c=a+1|0;switch(b[a>>0]|0){case 35:{if((b[c>>0]|0)!=123){f=c;return f|0}break}case 47:{if((b[c>>0]|0)!=42){f=c;return f|0}break}default:{}}c=xl(a)|0;if(c|0){f=c;return f|0}c=Kx(a)|0;if(c|0){f=c;return f|0}d=b[51446]|0;b:do if(!(d<<24>>24))c=a;else{c=a;e=51446;while(1){if((b[c>>0]|0)!=d<<24>>24){c=0;break}c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24))break b}return c|0}while(0);d=b[c>>0]|0;if(!(d<<24>>24)){f=0;return f|0}f=b[52228]|0;if(!(f<<24>>24)){f=c;return f|0}else{a=c;c=d}c:while(1){if(c<<24>>24==f<<24>>24){c=a;d=52228;do{c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){d=20;break c}}while((b[c>>0]|0)==e<<24>>24)}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){c=0;d=20;break}}if((d|0)==20)return c|0;return 0}function Ss(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=0;j=u;u=u+32|0;g=j+16|0;h=j;k=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,k|0,f[k+16>>2]&-3|0);k=x;x=0;a:do if(k&1){c=Za(0)|0;i=12}else{x=0;Ia(152,g|0,a|0,1);k=x;x=0;do if(k&1)i=8;else{if(b[g>>0]|0){k=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;La(f[(f[k>>2]|0)+16>>2]|0,h|0,k|0,c|0,d|0,e|0,8);k=x;x=0;if(k&1){c=Za(0)|0;break}k=h+8|0;if((f[k>>2]|0)==-1?(f[k+4>>2]|0)==-1:0){k=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,k|0,f[k+16>>2]|4|0);k=x;x=0;if(k&1){i=8;break}}}break a}while(0);if((i|0)==8)c=Za(0)|0;i=12}while(0);do if((i|0)==12){Ua(c|0)|0;x=0;Fa(439,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);k=x;x=0;if(!(k&1)){Wa();break}c=Ya()|0;x=0;Ea(4);k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}else jb(c|0)}while(0);u=j;return a|0}function Ts(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;d=b[36400]|0;g=d<<24>>24==0;a:do if(g)c=0;else{c=b[a>>0]|0;e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break a;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);f=a+1|0;c=c<<24>>24?f:a;if(c|0){e=ZW(c)|0;c=e|0?e:c;if(c|0)if((b[c>>0]|0)==110){c=Et(c+1|0)|0;if(c|0){a=c;return a|0}}}b:do if(g)c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break b;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?f:a;if(c|0){c=Nu(c)|0;if(c|0){c=Nm(c)|0;if(c|0){a=c;return a|0}}}a=S5(a)|0;return a|0}function Us(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;i=0;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;if(!(b[g>>0]|0)){l=0;u=m;return l|0}if(c){h=VX(g)|0;g=h|0?h:g}c=OP(g)|0;if(!c){c=zO(g)|0;if(!c)h=0;else i=6}else i=6;if((i|0)==6){c=(b[c>>0]|0)==45?0:c;if(c>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;i=a+96|0;vG(j,i,c,g);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,i,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,i,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;l=h;u=m;return l|0}function Vs(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=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;if(!(b[g>>0]|0)){l=0;u=m;return l|0}if(c){i=VX(g)|0;g=i|0?i:g}h=b[36407]|0;a:do if(!(h<<24>>24))c=0;else{c=b[g>>0]|0;i=36407;while(1){if(c<<24>>24==h<<24>>24)break a;i=i+1|0;h=b[i>>0]|0;if(!(h<<24>>24)){c=0;break}}}while(0);h=c<<24>>24?g+1|0:0;if(h>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((h|0)==0|(h|0)==(g|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;i=a+96|0;vG(j,i,c,g);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,i,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,i,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;l=h;u=m;return l|0}function Ws(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;k=u;u=u+48|0;i=k;j=k+40|0;qV(j,f[e+4>>2]|0);f[j>>2]=7280;h=i;e=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(e|0));x=0;Fa(427,a|0);h=x;x=0;do if(h&1)e=Ya()|0;else{h=a+12|0;c=i;e=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(e|0));h=a+52|0;f[h>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;e=a+64|0;x=0;Ga(462,e|0,f[j+4>>2]|0);i=x;x=0;if(i&1){e=Ya()|0;break}f[e>>2]=7280;_P(j);f[a>>2]=8592;c=a+72|0;x=0;Ga(462,c|0,f[d+4>>2]|0);j=x;x=0;do if(j&1)e=Ya()|0;else{f[c>>2]=7696;e=a+80|0;x=0;Ga(462,e|0,f[g+4>>2]|0);g=x;x=0;if(g&1){e=Ya()|0;_P(c);break}else{f[e>>2]=7280;f[h>>2]=22;u=k;return}}while(0);f[a>>2]=7184;_P(a+64|0);a=e;jb(a|0)}while(0);_P(j);a=e;jb(a|0)}function Xs(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;k=u;u=u+32|0;l=k+24|0;m=k+16|0;j=k;g=f[c+4>>2]|0;c=f[g+76>>2]|0;g=f[g+80>>2]|0;if((c|0)==(g|0)){m=0;u=k;return m|0}h=l+4|0;i=j+11|0;while(1){qV(l,f[c+4>>2]|0);f[l>>2]=15556;e=f[(f[a>>2]|0)+148>>2]|0;x=0;Ga(462,m|0,f[h>>2]|0);n=x;x=0;if(n&1){e=10;break}f[m>>2]=15556;x=0;Ga(459,j|0,d|0);n=x;x=0;if(n&1){e=11;break}x=0;e=ta(e|0,a|0,m|0,j|0)|0;n=x;x=0;if(n&1){e=12;break}if((b[i>>0]|0)<0)Hta(f[j>>2]|0);_P(m);_P(l);c=c+8|0;if(e){c=1;e=16;break}if((c|0)==(g|0)){c=0;e=16;break}}if((e|0)==10){n=Ya()|0;_P(l);jb(n|0)}else if((e|0)==11)c=Ya()|0;else if((e|0)==12){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[j>>2]|0)}else if((e|0)==16){u=k;return c|0}_P(m);n=c;_P(l);jb(n|0);return 0}function Ys(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;h=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=(f[c+4>>2]|0)-(f[c>>2]|0)|0;g=(d|0)/12|0;j=c+12|0;e=(f[c+16>>2]|0)-(f[j>>2]|0)|0;i=(e|0)/12|0;a:do if(!d)h=3;else{d=0;while(1){if(d|0){x=0;Ga(534,a|0,42);k=x;x=0;if(k&1)break a}l=f[c>>2]|0;l=l+(d*12|0)|0;n=l|0;k=b[n+11>>0]|0;m=k<<24>>24<0;x=0;ta(41,a|0,(m?f[n>>2]|0:n)|0,(m?f[l+4>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1)break a;d=d+1|0;if(d>>>0>=g>>>0){h=3;break}}}while(0);b:do if((h|0)==3){if(!e)return;x=0;Ga(534,a|0,47);n=x;x=0;if(!(n&1)){d=0;do{if(d|0){x=0;Ga(534,a|0,42);n=x;x=0;if(n&1)break b}m=f[j>>2]|0;m=m+(d*12|0)|0;k=m|0;n=b[k+11>>0]|0;l=n<<24>>24<0;x=0;ta(41,a|0,(l?f[k>>2]|0:k)|0,(l?f[m+4>>2]|0:n&255)|0)|0;n=x;x=0;if(n&1)break b;d=d+1|0}while(d>>>0>>0);return}}while(0);d=Ya()|0;if((b[a+11>>0]|0)>=0)jb(d|0);Hta(f[a>>2]|0);jb(d|0)}function Zs(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=12096;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function _s(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=jH(g)|0;if(!c)h=0;else{h=sO(c)|0;if(!h)h=0;else{h=(jH(h)|0)!=0;c=h?c:0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function $s(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;h=VN(44)|0;f[a>>2]=h;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;g=h+8|0;x=0;Ga(462,g|0,f[e+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;f[a>>2]=0;g=h;e=h}else{f[g>>2]=15556;c=h+16|0;j=e+8|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];c=h+28|0;x=0;Ga(462,c|0,f[e+24>>2]|0);j=x;x=0;if(!(j&1)){f[c>>2]=15556;g=e+28|0;f[h+36>>2]=f[g>>2];j=e+32|0;f[h+40>>2]=f[j>>2];f[g>>2]=0;f[j>>2]=0;b[i>>0]=1;j=f[a>>2]|0;f[j+4>>2]=d;f[j>>2]=0;return}d=Ya()|0;_P(g);c=f[a>>2]|0;f[a>>2]=0;if(!c){j=d;jb(j|0)}else{g=c;e=c}}if(b[i>>0]|0){c=f[g+40>>2]|0;if(c|0)QZ(c);_P(g+28|0);_P(g+8|0)}Hta(e);j=d;jb(j|0)}function at(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=15556;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function bt(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function ct(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;h=b[g>>0]|0;if(!(h<<24>>24)){l=0;u=m;return l|0}if(c){c=VX(g)|0;c=c|0?c:g;i=c;c=b[c>>0]|0}else{i=g;c=h}g=i+1|0;if(c<<24>>24==37){c=YF(g)|0;c=c|0?c:g;if(c>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else h=c}else h=0;if(!d)if((h|0)==0|(h|0)==(i|0)){l=0;u=m;return l|0}g=f[l>>2]|0;f[a+168>>2]=g;f[a+172>>2]=i;f[a+176>>2]=h;n=a+96|0;vG(j,n,g,i);g=a+84|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];vG(j,n,i,h);d=f[a+12>>2]|0;c=f[a+72>>2]|0;PQ(k,n,g);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,c,a+168|0,g,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;n=h;u=m;return n|0}function dt(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;k=u;u=u+48|0;i=k;j=k+40|0;qV(j,f[g+4>>2]|0);f[j>>2]=7280;h=i;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));x=0;Fa(427,a|0);h=x;x=0;do if(h&1)g=Ya()|0;else{h=a+12|0;c=i;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));f[a+52>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;g=a+64|0;x=0;Ga(462,g|0,f[j+4>>2]|0);i=x;x=0;if(i&1){g=Ya()|0;break}f[g>>2]=7280;_P(j);f[a>>2]=9280;c=a+72|0;x=0;Ga(459,c|0,d|0);j=x;x=0;if(j&1)g=Ya()|0;else{g=a+84|0;x=0;Ga(462,g|0,f[e+4>>2]|0);e=x;x=0;if(!(e&1)){f[g>>2]=9376;u=k;return}g=Ya()|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}f[a>>2]=7184;_P(a+64|0);a=g;jb(a|0)}while(0);_P(j);a=g;jb(a|0)}function et(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=13852;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function ft(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function gt(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;j=0;l=u;u=u+16|0;h=l+8|0;i=l;x=0;k=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;g=x;x=0;if(!(g&1)){x=0;Ga(462,i|0,0);g=x;x=0;if(!(g&1)){f[i>>2]=15556;d=k+68|0;f[d>>2]=0;e=k+84|0;g=k+88|0;if(!(f[g>>2]|0))j=5;else{x=0;Fa(429,e|0);m=x;x=0;if(!(m&1))j=5}if((j|0)==5){f[g>>2]=f[i+4>>2];x=0;Fa(430,e|0);m=x;x=0;if(!(m&1)){x=0;Ga(462,h|0,f[g>>2]|0);m=x;x=0;if(!(m&1)){f[h>>2]=15556;_P(h);_P(i);f[d>>2]=0;f[k+72>>2]=0;b[a>>0]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=a+12|0;x=0;Ga(462,d|0,k|0);m=x;x=0;if(!(m&1)){f[d>>2]=15556;f[a+20>>2]=0;f[a+24>>2]=0;b[a>>0]=b[c+60>>0]|0;u=l;return}m=Ya()|0;jb(m|0)}}}m=Ya()|0;_P(i);jb(m|0)}}m=Ya()|0;jb(m|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,m=0;e=0;m=u;u=u+48|0;i=m+24|0;j=m+12|0;c=m;if(!a){l=0;u=m;return l|0}f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;k=i+11|0;b[k>>0]=5;b[i>>0]=b[39232]|0;b[i+1>>0]=b[39233]|0;b[i+2>>0]=b[39234]|0;b[i+3>>0]=b[39235]|0;b[i+4>>0]=b[39236]|0;b[i+5>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=j+11|0;b[l>>0]=4;f[j>>2]=678584694;b[j+4>>0]=0;x=0;Ga(459,c|0,a+64|0);h=x;x=0;if(h&1){m=Ya()|0;jb(m|0)}g=(b[c+11>>0]|0)<0;h=f[c>>2]|0;a=g?h:c;a:do if((b[a>>0]|0)==(f[i>>2]&255)<<24>>24){c=0;d=a;while(1){c=c+1|0;if((c|0)==5){a=1;break a}d=d+1|0;if((b[i+c>>0]|0)!=(b[d>>0]|0)){e=6;break}}}else e=6;while(0);b:do if((e|0)==6){c=j+4|0;if((b[a>>0]|0)==118){d=j;while(1){d=d+1|0;if((d|0)==(c|0)){a=1;break b}a=a+1|0;if((b[d>>0]|0)!=(b[a>>0]|0)){a=0;break}}}else a=0}while(0);if(g){Hta(h);if((b[l>>0]|0)<0)Hta(f[j>>2]|0)}if((b[k>>0]|0)<0)Hta(f[i>>2]|0);l=a;u=m;return l|0}function it(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;g=u;u=u+112|0;c=g+64|0;d=g+24|0;k=g+16|0;l=g+8|0;j=g;m=VN(100)|0;e=d;h=b+12|0;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));x=0;Ga(462,k|0,b|0);i=x;x=0;do if(i&1)c=Ya()|0;else{f[k>>2]=15572;x=0;Ga(462,l|0,0);i=x;x=0;if(i&1){c=Ya()|0;_P(k);break}f[l>>2]=15556;x=0;Ga(462,j|0,0);i=x;x=0;if(i&1){c=Ya()|0;a=1}else{f[j>>2]=7904;x=0;e=c;h=d;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));La(10,m|0,c|0,0,k|0,l|0,j|0);i=x;x=0;if(i&1)a=1;else{x=0;Ga(462,a|0,m|0);i=x;x=0;if(i&1)a=0;else{f[a>>2]=15556;_P(j);_P(l);_P(k);u=g;return}}c=Ya()|0;_P(j)}_P(l);_P(k);if(!a){m=c;jb(m|0)}}while(0);Hta(m);m=c;jb(m|0)}function jt(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}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,n=0,o=0;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function lt(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=7696;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function mt(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function nt(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=13488;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function ot(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=6920;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function pt(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;g=0;k=a+8|0;d=f[a>>2]|0;c=d;if((f[k>>2]|0)-d>>3>>>0>=b>>>0)return;m=a+4|0;if(b>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}e=f[m>>2]|0;l=VN(b<<3)|0;h=l+(e-d>>3<<3)|0;j=h;i=l+(b<<3)|0;d=e;do if((d|0)==(c|0)){d=j;b=e}else{e=d;d=j;b=h;while(1){b=b+-8|0;x=0;Ga(462,b|0,f[e+-4>>2]|0);e=e+-8|0;n=x;x=0;if(n&1)break;f[b>>2]=10408;b=d+-8|0;d=b;if((e|0)==(c|0)){g=9;break}}if((g|0)==9){b=f[a>>2]|0;c=f[m>>2]|0;break}b=Ya()|0;if((h|0)==(d|0)){Hta(l);jb(b|0)}else c=h;do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));Hta(l);jb(b|0)}while(0);f[a>>2]=d;f[m>>2]=j;f[k>>2]=i;d=b;if((c|0)!=(d|0))do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(d|0));if(!b)return;Hta(b);return}function qt(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;k=0;n=u;u=u+16|0;l=n;m=a+84|0;c=f[m>>2]|0;if(c|0){m=c;u=n;return m|0}i=a+68|0;j=b[i+11>>0]|0;g=j<<24>>24<0;i=g?f[i>>2]|0:i;j=g?f[a+72>>2]|0:j&255;if(j>>>0>3){g=j+-4|0;e=i;c=j;d=j;while(1){j=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else e=e+4|0}e=g&-4;d=g-e|0;e=i+(e+4)|0}else{d=j;e=i;c=j}switch(d|0){case 3:{c=(h[e+2>>0]|0)<<16^c;k=8;break}case 2:{k=8;break}case 1:{k=9;break}default:{}}if((k|0)==8){c=(h[e+1>>0]|0)<<8^c;k=9}if((k|0)==9)c=X(c^(h[e>>0]|0),1540483477)|0;c=X(c>>>13^c,1540483477)|0;f[m>>2]=c>>>15^c;qV(l,f[a+64>>2]|0);f[l>>2]=7696;c=f[l+4>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+8>>2]|0,c|0)|0;k=x;x=0;if(k&1){n=Ya()|0;_P(l);jb(n|0)}k=f[m>>2]|0;f[m>>2]=c+-1640531527+(k<<6)+(k>>>2)^k;_P(l);m=f[m>>2]|0;u=n;return m|0}function rt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+32|0;e=i+8|0;g=i;h=i+16|0;c=f[a+12>>2]|0;if(c){d=c;while(1){c=f[d+12>>2]|0;if(!c)break;else{a=d;d=c}}}c=a;while(1){if((ww(c,b)|0)!=(c+4|0)){d=5;break}c=f[c+12>>2]|0;if(!c){d=7;break}}if((d|0)==5){f[g>>2]=b;hs(e,c,b,87748,g,h);h=f[e>>2]|0;h=h+28|0;u=i;return h|0}else if((d|0)==7){f[g>>2]=b;hs(e,a,b,87748,g,h);h=f[e>>2]|0;h=h+28|0;u=i;return h|0}return 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,m=0;m=u;u=u+32|0;j=m+8|0;k=m;l=m+16|0;g=0;i=a;while(1){if(!i){if(!g){e=12;break}}else{e=f[i+12>>2]|0;if(!e)e=0;else e=(f[e+12>>2]|0)!=0;if(!(g|e)){e=12;break}}h=Nw(i,c)|0;if((h|0)!=(i+4|0)){e=8;break}g=(b[i+16>>0]|0)!=0;i=f[i+12>>2]|0}if((e|0)==8){g=h+28|0;e=h+32|0;if(f[e>>2]|0)vQ(g);f[e>>2]=f[d+4>>2];EX(g);u=m;return}else if((e|0)==12){f[k>>2]=c;hs(j,a,c,87748,k,l);g=f[j>>2]|0;e=g+28|0;g=g+32|0;if(f[g>>2]|0)vQ(e);f[g>>2]=f[d+4>>2];EX(e);u=m;return}}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;l=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=u_(g)|0;if(!c)h=0;else{c=bW(c)|0;if(!c)h=0;else{c=(b[c>>0]|0)==59?c+1|0:0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function ut(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;d=0;g=a+24|0;b=f[g>>2]|0;i=a+28|0;c=f[i>>2]|0;a:do if((b|0)==(c|0))d=2;else while(1){x=0;Fa(446,f[b>>2]|0);h=x;x=0;if(h&1)break a;b=b+4|0;if((b|0)==(c|0)){d=2;break}}while(0);b:do if((d|0)==2){d=a+12|0;b=f[d>>2]|0;h=a+16|0;c=f[h>>2]|0;if((b|0)!=(c|0))do{x=0;Fa(447,f[b>>2]|0);e=x;x=0;if(e&1)break b;b=b+4|0}while((b|0)!=(c|0));b=f[a>>2]|0;e=a+4|0;c=f[e>>2]|0;if((b|0)!=(c|0))do{x=0;Fa(447,f[b>>2]|0);j=x;x=0;if(j&1)break b;b=b+4|0}while((b|0)!=(c|0));b=f[g>>2]|0;if(b|0){c=f[i>>2]|0;if((c|0)!=(b|0))f[i>>2]=c+(~((c+-4-b|0)>>>2)<<2);Hta(b)}b=f[d>>2]|0;if(b|0){c=f[h>>2]|0;if((c|0)!=(b|0))f[h>>2]=c+(~((c+-4-b|0)>>>2)<<2);Hta(b)}b=f[a>>2]|0;if(!b)return;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);Hta(b);return}while(0);j=Za(0)|0;GR(g);FR(a+12|0);FR(a);soa(j)}function vt(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}switch(g<<24>>24){case 73:case 105:{i=b[h+1>>0]|0;g=h+2|0;i=i<<24>>24|0;g=(i|0)!=93?((i|0)==47?g:0):g;if(g>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else i=g;break}default:i=0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function wt(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}g=g<<24>>24==42?h+1|0:h;if(!g)i=0;else{g=SH(g)|0;if(g>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else i=g}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function xt(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;j=u;u=u+48|0;i=j+24|0;l=j;k=j+12|0;if(AU(c+60|0)|0){e=f[(f[c>>2]|0)+28>>2]|0;g=a+4|0;h=i;a=f[a+72>>2]|0;d=h+12|0;do{b[h>>0]=b[a>>0]|0;h=h+1|0;a=a+1|0}while((h|0)<(d|0));Nc[e&255](k,c,i);x=0;Ia(147,g|0,k|0,c|0);l=x;x=0;if(l&1){a=Ya()|0;if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);l=a;jb(l|0)}else{if((b[k+11>>0]|0)>=0){u=j;return}Hta(f[k>>2]|0);u=j;return}}k=Ta(88)|0;f[l>>2]=0;j=l+4|0;f[j>>2]=0;f[l+8>>2]=0;x=0;Ia(133,k|0,l|0,c|0);c=x;x=0;if(c&1)h=1;else{x=0;Ia(77,k|0,3856,181);x=0;h=0}i=Ya()|0;g=I;a=f[l>>2]|0;if(a|0){d=f[j>>2]|0;if((d|0)!=(a|0)){do{e=d+-52|0;f[j>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=e}while((d|0)!=(a|0));a=f[l>>2]|0}Hta(a)}if(!h){l=i;jb(l|0)}bb(k|0);l=i;jb(l|0)}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;g=f[a>>2]|0;n=(((f[a+4>>2]|0)-g|0)/12|0)-d|0;o=YP(n+1|0,4)|0;if(!o){f[c>>2]=0;o=0;return o|0}a:do if((n|0)>0){e=0;while(1){m=e+d|0;h=b[g+(m*12|0)+11>>0]|0;if(h<<24>>24<0)h=f[g+(m*12|0)+4>>2]|0;else h=h&255;i=Rd(h+1|0)|0;l=o+(e<<2)|0;f[l>>2]=i;if(!i)break;h=g+(m*12|0)|0;if((b[h+11>>0]|0)<0)h=f[h>>2]|0;j=g+(m*12|0)|0;k=b[j+11>>0]|0;if(k<<24>>24<0){j=f[j>>2]|0;k=f[g+(m*12|0)+4>>2]|0}else k=k&255;j=j+k|0;if((h|0)!=(j|0)){g=h;while(1){b[i>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(j|0))break;else i=i+1|0}g=f[a>>2]|0;i=f[l>>2]|0}h=b[g+(m*12|0)+11>>0]|0;if(h<<24>>24<0)g=f[g+(m*12|0)+4>>2]|0;else g=h&255;b[i+g>>0]=0;e=e+1|0;if((e|0)>=(n|0))break a;g=f[a>>2]|0}e=f[o>>2]|0;if(e|0){g=o;do{$h(e);g=g+4|0;e=f[g>>2]|0}while((e|0)!=0)}$h(o);f[c>>2]=0;o=0;return o|0}while(0);f[o+(n<<2)>>2]=0;f[c>>2]=o;return o|0}function zt(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;g=f[l>>2]|0;h=b[g>>0]|0;if(!(h<<24>>24)){l=0;u=m;return l|0}if(c){c=VX(g)|0;c=c|0?c:g;i=c;c=b[c>>0]|0}else{i=g;c=h}g=i+1|0;if(c<<24>>24==47){c=(b[g>>0]|0)==42?0:g;if(c>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else h=c}else h=0;if(!d)if((h|0)==0|(h|0)==(i|0)){l=0;u=m;return l|0}g=f[l>>2]|0;f[a+168>>2]=g;f[a+172>>2]=i;f[a+176>>2]=h;n=a+96|0;vG(j,n,g,i);g=a+84|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];vG(j,n,i,h);d=f[a+12>>2]|0;c=f[a+72>>2]|0;PQ(k,n,g);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,c,a+168|0,g,j);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[l>>2]=h;n=h;u=m;return n|0}function At(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function Bt(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function Ct(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;o=a+4|0;m=f[o>>2]|0;n=f[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=f[n>>2]|0;l=a+12|0;k=f[l>>2]|0;c=k;if(d>>>0>>0){e=d;h=((c-e>>2)+1|0)/2|0;c=d+(h<<2)|0;e=e-m|0;l=e>>2;g=c+(0-l<<2)|0;if(l){DP(g|0,m|0,e|0)|0;c=g;d=f[n>>2]|0}f[o>>2]=c;f[n>>2]=d+(h<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}i=VN(e<<2)|0;j=i;c=i+((e+3|0)>>>2<<2)|0;k=c;i=i+(e<<2)|0;if((m|0)==(d|0)){e=k;d=m}else{h=c;e=k;g=m;do{f[h>>2]=f[g>>2];h=e+4|0;e=h;g=g+4|0}while((g|0)!=(d|0));d=f[a>>2]|0}f[a>>2]=j;f[o>>2]=k;f[n>>2]=e;f[l>>2]=i;if(d){Hta(d);c=f[o>>2]|0}}else c=m;while(0);f[c+-4>>2]=f[b>>2];f[o>>2]=(f[o>>2]|0)+-4;return}function Dt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));h=a+52|0;f[h>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){a=Ya()|0;jb(a|0)}f[d>>2]=7280;f[a>>2]=8688;g=a+72|0;x=0;Ga(459,g|0,c+72|0);e=x;x=0;if(e&1){c=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}d=a+84|0;x=0;Ga(462,d|0,f[c+88>>2]|0);e=x;x=0;do if(e&1)d=Ya()|0;else{f[d>>2]=7696;e=a+92|0;x=0;Ga(462,e|0,f[c+96>>2]|0);i=x;x=0;if(i&1){i=Ya()|0;_P(d);d=i;break}else{f[e>>2]=7696;b[a+100>>0]=b[c+100>>0]|0;f[h>>2]=21;return}}while(0);if((b[g+11>>0]|0)>=0){i=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(i|0)}Hta(f[g>>2]|0);i=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(i|0)}function Et(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=0;f=Xu(a)|0;if(!f)return a|0;d=b[36400]|0;if(!(d<<24>>24))return a|0;g=b[f>>0]|0;e=36400;while(1){if(g<<24>>24==d<<24>>24)break;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=a;h=17;break}}if((h|0)==17)return c|0;if(!(g<<24>>24))return a|0;c=Xu(f+1|0)|0;if(!c)return a|0;c=ZW(c)|0;if(!c)return a|0;a:while(1){f=Xu(c)|0;if(!f){h=17;break}d=b[36400]|0;if(!(d<<24>>24)){h=17;break}g=b[f>>0]|0;e=36400;while(1){if(g<<24>>24==d<<24>>24)break;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){h=17;break a}}if(!(g<<24>>24)){h=17;break}d=Xu(f+1|0)|0;if(!d){h=17;break}d=ZW(d)|0;if(!d){h=17;break}else c=d}if((h|0)==17)return c|0;return 0}function Ft(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=PO(g)|0;if(!c){c=jH(g)|0;if(!c)h=UD(g)|0;else h=c}else h=c;if(h>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Gt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+32|0;e=j+16|0;g=j+8|0;h=j;d=a+4|0;wv(d);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=e+11|0;b[i>>0]=6;b[e>>0]=b[49974]|0;b[e+1>>0]=b[49975]|0;b[e+2>>0]=b[49976]|0;b[e+3>>0]=b[49977]|0;b[e+4>>0]=b[49978]|0;b[e+5>>0]=b[49979]|0;b[e+6>>0]=0;x=0;Ia(147,d|0,e|0,c|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[e>>2]|0);k=d;jb(k|0)}if((b[i>>0]|0)<0)Hta(f[e>>2]|0);boa(d);d=a+103|0;b[d>>0]=1;qV(g,f[c+76>>2]|0);f[g>>2]=7584;k=f[g+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(k&1){k=Ya()|0;_P(g);jb(k|0)}_P(g);b[d>>0]=0;qV(h,f[c+68>>2]|0);f[h>>2]=7280;k=f[h+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(!(k&1)){_P(h);u=j;return}k=Ya()|0;_P(h);jb(k|0)}function Ht(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=a+8|0;j=f[n>>2]|0;k=a+12|0;m=f[k>>2]|0;e=m;do if((j|0)==(m|0)){m=a+4|0;l=f[m>>2]|0;d=f[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=j-d|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[m>>2]|0}l=g+(d<<2)|0;f[n>>2]=l;f[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=c;f[k>>2]=g;if(d){Hta(d);c=f[n>>2]|0}}else c=j;while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function It(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=a+8|0;j=f[n>>2]|0;k=a+12|0;m=f[k>>2]|0;e=m;do if((j|0)==(m|0)){m=a+4|0;l=f[m>>2]|0;d=f[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=j-d|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[m>>2]|0}l=g+(d<<2)|0;f[n>>2]=l;f[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=c;f[k>>2]=g;if(d){Hta(d);c=f[n>>2]|0}}else c=j;while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function Jt(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=a+8|0;j=f[n>>2]|0;k=a+12|0;m=f[k>>2]|0;e=m;do if((j|0)==(m|0)){m=a+4|0;l=f[m>>2]|0;d=f[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=j-d|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[m>>2]|0}l=g+(d<<2)|0;f[n>>2]=l;f[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=c;f[k>>2]=g;if(d){Hta(d);c=f[n>>2]|0}}else c=j;while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}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,n=0;n=a+8|0;j=f[n>>2]|0;k=a+12|0;m=f[k>>2]|0;e=m;do if((j|0)==(m|0)){m=a+4|0;l=f[m>>2]|0;d=f[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=j-d|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[m>>2]|0}l=g+(d<<2)|0;f[n>>2]=l;f[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=c;f[k>>2]=g;if(d){Hta(d);c=f[n>>2]|0}}else c=j;while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}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,j=0,k=0,l=0,m=0;j=c;h=b;i=j-h|0;g=i>>2;k=a+8|0;d=f[k>>2]|0;m=f[a>>2]|0;l=m;if(g>>>0<=d-m>>2>>>0){i=a+4|0;e=(f[i>>2]|0)-m>>2;a=g>>>0>e>>>0;g=a?b+(e<<2)|0:c;e=g;d=e-h|0;c=d>>2;if(c|0)DP(m|0,b|0,d|0)|0;c=l+(c<<2)|0;if(a){d=j-e|0;if((d|0)<=0)return;Lu(f[i>>2]|0,g|0,d|0)|0;f[i>>2]=(f[i>>2]|0)+(d>>>2<<2);return}else{d=f[i>>2]|0;if((d|0)==(c|0))return;f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=m;if(m){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(l|0))f[d>>2]=c+(~((c+-4-m|0)>>>2)<<2);Hta(e);f[k>>2]=0;f[d>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)EO(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)EO(a);c=VN(d<<2)|0;e=a+4|0;f[e>>2]=c;f[a>>2]=c;f[k>>2]=c+(d<<2);if((i|0)<=0)return;Lu(c|0,b|0,i|0)|0;f[e>>2]=c+(i>>>2<<2);return}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;i=0;j=u;u=u+16|0;k=j;efa(a);h=a+12|0;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a+56>>2]=4;f[a>>2]=11668;b[a+60>>0]=0;b[a+61>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=hL(d)|0;do if(h>>>0>4294967279){x=0;Fa(428,k|0);x=0}else{if(h>>>0<11){b[k+11>>0]=h;if(!h)c=k;else{c=k;i=7}}else{g=h+16&-16;x=0;c=qa(318,g|0)|0;i=x;x=0;if(i&1)break;f[k>>2]=c;f[k+8>>2]=g|-2147483648;f[k+4>>2]=h;i=7}if((i|0)==7)Lu(c|0,d|0,h|0)|0;b[c+h>>0]=0;x=0;Ia(101,a+64|0,k|0,e|0);e=x;x=0;if(e&1){c=Ya()|0;if((b[k+11>>0]|0)>=0){k=c;jb(k|0)}Hta(f[k>>2]|0);k=c;jb(k|0)}else{if((b[k+11>>0]|0)>=0){k=a+76|0;f[k>>2]=0;u=j;return}Hta(f[k>>2]|0);k=a+76|0;f[k>>2]=0;u=j;return}}while(0);k=Ya()|0;jb(k|0)}function Nt(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=0;e=u;u=u+32|0;h=e+24|0;i=e+16|0;g=e+8|0;d=e;c=a+4|0;qV(h,f[c>>2]|0);f[h>>2]=7696;b=b+4|0;x=0;Ga(462,i|0,f[b>>2]|0);a=x;x=0;if(a&1){j=Ya()|0;_P(h);jb(j|0)}f[i>>2]=7696;x=0;a=ta(163,h|0,i|0,4)|0;k=x;x=0;if(k&1)j=10;else{if(a){k=0;_P(i);_P(h);u=e;return k|0}x=0;Ga(462,g|0,f[c>>2]|0);k=x;x=0;if(k&1)j=10;else{f[g>>2]=7696;x=0;Ga(462,d|0,f[b>>2]|0);k=x;x=0;do if(k&1)a=Ya()|0;else{f[d>>2]=7696;x=0;a=sa(1036,g|0,d|0)|0;k=x;x=0;if(k&1){a=Ya()|0;_P(d);break}_P(d);_P(g);k=a;_P(i);_P(h);u=e;return k|0}while(0);_P(g)}}if((j|0)==10)a=Ya()|0;_P(i);k=a;_P(h);jb(k|0);return 0}function Ot(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;h=g+8|0;i=g;e=a+4|0;a=f[e>>2]|0;if(!a)a=0;else a=(f[49]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)?a:0;qV(h,a);f[h>>2]=16744;d=b+4|0;a=f[d>>2]|0;if(!a)a=0;else a=(f[49]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)?a:0;x=0;Ga(462,i|0,a|0);b=x;x=0;if(b&1){i=Ya()|0;_P(h);jb(i|0)}f[i>>2]=16744;a=f[h+4>>2]|0;if(!a)b=8;else{b=f[i+4>>2]|0;if(!b)b=8;else{x=0;a=sa(f[(f[a>>2]|0)+116>>2]|0,a|0,b|0)|0;c=x;x=0;if(c&1)b=11;else{_P(i);_P(h);u=g;return a|0}}}do if((b|0)==8){a=Ta(32)|0;x=0;Ja(56,a|0,f[e>>2]|0,f[d>>2]|0,c|0);c=x;x=0;if(c&1){c=Ya()|0;bb(a|0);a=c;break}else{x=0;Ia(77,a|0,4384,6);x=0;b=11;break}}while(0);if((b|0)==11)a=Ya()|0;_P(i);i=a;_P(h);jb(i|0);return 0}function Pt(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;q=c+72|0;r=(f[c+80>>2]|0)-(f[c+76>>2]|0)>>3;a:do if(r|0){n=a+84|0;o=n+11|0;p=a+88|0;m=0;b:while(1){d=(xc[f[(f[q>>2]|0)+16>>2]&2047](q,m)|0)+4|0;d=f[d>>2]|0;c:do if(d|0)if((f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)==34151){g=d+84|0;e=b[g+11>>0]|0;l=e<<24>>24<0;e=e&255;i=l?f[d+88>>2]|0:e;k=b[o>>0]|0;d=k<<24>>24<0;if((i|0)!=((d?f[p>>2]|0:k&255)|0)){d=0;e=15;break b}j=f[g>>2]|0;k=l?j:g;d=d?f[n>>2]|0:n;h=(i|0)==0;if(l){if(h)break;if(!(lO(k,d,i)|0))break;else{d=0;e=15;break b}}if(!h){if((b[d>>0]|0)!=(j&255)<<24>>24){d=0;e=15;break b}while(1){e=e+-1|0;g=g+1|0;if(!e)break c;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;e=15;break b}}}}while(0);m=m+1|0;if(m>>>0>=r>>>0)break a}if((e|0)==15)return d|0}while(0);b[c+61>>0]=b[a+61>>0]|0;kk(a,c)|0;return c|0}function Qt(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=u;u=u+16|0;j=n;FC(j,c,0,3,c);k=j+11|0;g=b[k>>0]|0;do if(((g<<24>>24<0?f[j+4>>2]|0:g&255)|0)==3){x=0;g=wa(21,j|0,0,-1,43501,3)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}else{h=(g|0)==0;i=b[k>>0]|0;break}}else{h=0;i=g}while(0);if(i<<24>>24<0)Hta(f[j>>2]|0);if(h){ND(a,e);u=n;return}h=b[d+11>>0]|0;j=h<<24>>24<0;h=h&255;k=j?f[d+4>>2]|0:h;m=b[e+11>>0]|0;g=m<<24>>24<0;a:do if((k|0)==((g?f[e+4>>2]|0:m&255)|0)){l=f[d>>2]|0;m=j?l:d;g=g?f[e>>2]|0:e;i=(k|0)==0;b:do if(j){if(!i)if(lO(m,g,k)|0)break a}else if(!i){if((b[g>>0]|0)==(l&255)<<24>>24)i=d;else break a;while(1){h=h+-1|0;i=i+1|0;if(!h)break b;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0))break a}}while(0);c=d}while(0);ND(a,c);u=n;return}function Rt(a){a=a|0;var c=0;if((b[a>>0]|0)==36){c=a;do c=c+1|0;while((b[c>>0]|0)==45);c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}c=Ug(a)|0;if(!c)c=a;else if((b[c>>0]|0)==37)c=a;else{a=c;return a|0}while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(c|0){c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}c=fs(a)|0;if(c|0){a=c;return a|0}a=Dy(a)|0;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,m=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;c=e;return c|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;i=a<<24>>24<0;a=i?f[g+20>>2]|0:a&255;j=a>>>0>>0;e=j?a:m;if(!e)k=6;else{e=lO(l,i?f[h>>2]|0:h,e)|0;if(!e)k=6;else if((e|0)<0)k=8;else k=10}if((k|0)==6)if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if(!e)k=12;else{e=lO(i?f[h>>2]|0:h,l,e)|0;if(!e)k=12;else if((e|0)>=0){k=16;break}}if((k|0)==12)if(!j){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;c=g;return c|0}else if((k|0)==15){f[c>>2]=g;c=d;return c|0}else if((k|0)==16){f[c>>2]=g;c=d;return c|0}return 0}function Tt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=0;if(a|0){d=f[a>>2]|0;e=f[(f[d+-4>>2]|0)+4>>2]|0;if((e|0)==30740){k=xc[f[d+168>>2]&2047](a,c)|0;return k|0}if((e|0)==30844){k=xc[f[d+172>>2]&2047](a,c)|0;return k|0}if((e|0)==30898){k=xc[f[d+172>>2]&2047](a,c)|0;return k|0}if((e|0)==30870){k=xc[f[d+168>>2]&2047](a,c)|0;return k|0}}if(Xp(a,c)|0){g=a+84|0;h=c+84|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+88>>2]|0:j&255;c=b[g+11>>0]|0;e=c<<24>>24<0;c=e?f[a+88>>2]|0:c&255;a=j>>>0>>0;d=a?j:c;if(!d)k=13;else{d=lO(e?f[g>>2]|0:g,i?f[h>>2]|0:h,d)|0;if(!d)k=13}if((k|0)==13)d=c>>>0>>0?-1:a&1;k=(d|0)<0;return k|0}else{g=a+72|0;h=c+72|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+76>>2]|0:j&255;c=b[g+11>>0]|0;e=c<<24>>24<0;c=e?f[a+76>>2]|0:c&255;a=j>>>0>>0;d=a?j:c;if(!d)k=17;else{d=lO(e?f[g>>2]|0:g,i?f[h>>2]|0:h,d)|0;if(!d)k=17}if((k|0)==17)d=c>>>0>>0?-1:a&1;k=(d|0)<0;return k|0}return 0}function Ut(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;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;c=e;return c|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;i=a<<24>>24<0;a=i?f[g+20>>2]|0:a&255;j=a>>>0>>0;e=j?a:m;if(!e)k=6;else{e=lO(l,i?f[h>>2]|0:h,e)|0;if(!e)k=6;else if((e|0)<0)k=8;else k=10}if((k|0)==6)if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if(!e)k=12;else{e=lO(i?f[h>>2]|0:h,l,e)|0;if(!e)k=12;else if((e|0)>=0){k=16;break}}if((k|0)==12)if(!j){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;c=g;return c|0}else if((k|0)==15){f[c>>2]=g;c=d;return c|0}else if((k|0)==16){f[c>>2]=g;c=d;return c|0}return 0}function Vt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);i=x;x=0;if(i&1){a=Ya()|0;jb(a|0)}f[d>>2]=7280;f[a>>2]=8784;i=a+72|0;x=0;Ga(458,i|0,c+72|0);h=x;x=0;if(h&1){i=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(i|0)}d=a+84|0;x=0;Ga(462,d|0,f[c+88>>2]|0);h=x;x=0;if(!(h&1)){f[d>>2]=7696;f[e>>2]=20;return}h=Ya()|0;g=I;d=f[i>>2]|0;if(!d){i=h;f[a>>2]=7184;a=a+64|0;_P(a);jb(i|0)}c=a+76|0;e=f[c>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[c>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[c>>2]|0}}while((e|0)!=(d|0));d=f[i>>2]|0}Hta(d);i=h;f[a>>2]=7184;a=a+64|0;_P(a);jb(i|0)}function Wt(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;j=c;h=b;i=j-h|0;g=i>>2;k=a+8|0;d=f[k>>2]|0;m=f[a>>2]|0;l=m;if(g>>>0<=d-m>>2>>>0){i=a+4|0;e=(f[i>>2]|0)-m>>2;a=g>>>0>e>>>0;g=a?b+(e<<2)|0:c;e=g;d=e-h|0;c=d>>2;if(c|0)DP(m|0,b|0,d|0)|0;c=l+(c<<2)|0;if(a){d=j-e|0;if((d|0)<=0)return;Lu(f[i>>2]|0,g|0,d|0)|0;f[i>>2]=(f[i>>2]|0)+(d>>>2<<2);return}else{d=f[i>>2]|0;if((d|0)==(c|0))return;f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=m;if(m){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(l|0))f[d>>2]=c+(~((c+-4-m|0)>>>2)<<2);Hta(e);f[k>>2]=0;f[d>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)EO(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)EO(a);c=VN(d<<2)|0;e=a+4|0;f[e>>2]=c;f[a>>2]=c;f[k>>2]=c+(d<<2);if((i|0)<=0)return;Lu(c|0,b|0,i|0)|0;f[e>>2]=c+(i>>>2<<2);return}function Xt(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=a+8|0;j=f[n>>2]|0;k=a+12|0;m=f[k>>2]|0;e=m;do if((j|0)==(m|0)){m=a+4|0;l=f[m>>2]|0;d=f[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=j-d|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[m>>2]|0}l=g+(d<<2)|0;f[n>>2]=l;f[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=c;f[k>>2]=g;if(d){Hta(d);c=f[n>>2]|0}}else c=j;while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function Yt(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=a+8|0;j=f[n>>2]|0;k=a+12|0;m=f[k>>2]|0;e=m;do if((j|0)==(m|0)){m=a+4|0;l=f[m>>2]|0;d=f[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=j-d|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[m>>2]|0}l=g+(d<<2)|0;f[n>>2]=l;f[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);n=x;x=0;if(n&1){n=Ya()|0;bb(c|0);jb(n|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=c;f[k>>2]=g;if(d){Hta(d);c=f[n>>2]|0}}else c=j;while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function Zt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));h=a+52|0;f[h>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){a=Ya()|0;jb(a|0)}f[d>>2]=7280;f[a>>2]=7600;g=a+72|0;x=0;Ga(459,g|0,c+72|0);e=x;x=0;if(e&1){c=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}d=a+84|0;x=0;Ga(462,d|0,f[c+88>>2]|0);e=x;x=0;do if(e&1)d=Ya()|0;else{f[d>>2]=7168;e=a+92|0;x=0;Ga(462,e|0,f[c+96>>2]|0);c=x;x=0;if(c&1){c=Ya()|0;_P(d);d=c;break}else{f[e>>2]=7696;f[h>>2]=3;return}}while(0);if((b[g+11>>0]|0)>=0){c=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}Hta(f[g>>2]|0);c=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}function _t(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){a=Ya()|0;jb(a|0)}f[d>>2]=7280;f[a>>2]=9168;e=a+72|0;x=0;Ga(459,e|0,c+72|0);g=x;x=0;if(g&1){c=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}d=a+84|0;x=0;Ga(462,d|0,f[c+88>>2]|0);g=x;x=0;if(!(g&1)){f[d>>2]=9264;f[a+92>>2]=f[c+92>>2];f[a+96>>2]=f[c+96>>2];f[a+100>>2]=f[c+100>>2];f[a+104>>2]=f[c+104>>2];f[a+108>>2]=f[c+108>>2];b[a+112>>0]=b[c+112>>0]|0;f[a+116>>2]=f[c+116>>2];return}d=Ya()|0;if((b[e+11>>0]|0)>=0){c=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}Hta(f[e>>2]|0);c=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}function $t(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=MW(g)|0;c=c|0?c:g;if(!c)h=0;else{c=VO(c)|0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function au(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}if(g<<24>>24==36){g=VO(h+1|0)|0;if(g>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else i=g}else i=0;if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function bu(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}if(g<<24>>24==35){g=VO(h+1|0)|0;if(g>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else i=g}else i=0;if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function cu(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;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;c=e;return c|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;i=a<<24>>24<0;a=i?f[g+20>>2]|0:a&255;j=a>>>0>>0;e=j?a:m;if(!e)k=6;else{e=lO(l,i?f[h>>2]|0:h,e)|0;if(!e)k=6;else if((e|0)<0)k=8;else k=10}if((k|0)==6)if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if(!e)k=12;else{e=lO(i?f[h>>2]|0:h,l,e)|0;if(!e)k=12;else if((e|0)>=0){k=16;break}}if((k|0)==12)if(!j){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;c=g;return c|0}else if((k|0)==15){f[c>>2]=g;c=d;return c|0}else if((k|0)==16){f[c>>2]=g;c=d;return c|0}return 0}function du(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=h+1|0;i=(g|8)<<24>>24!=45?(g<<24>>24==43?i:0):i;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function eu(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(c>>>0>4294967279)CO(a);j=a+11|0;g=b[j>>0]|0;h=g<<24>>24<0;if(h){k=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{k=g&255;e=10}i=k>>>0>c>>>0?k:c;c=i>>>0<11;i=c?10:(i+16&-16)+-1|0;a:do if((i|0)!=(e|0)){do if(c){c=f[a>>2]|0;if(h){d=c;g=0;e=a;h=17}else{Naa(a,c,(g&255)+1|0)|0;Hta(c);h=20}}else{d=i+1|0;if(i>>>0>e>>>0)c=VN(d)|0;else{x=0;c=qa(318,d|0)|0;e=x;x=0;if(e&1){k=Za(0)|0;Ua(k|0)|0;Wa();break a}}if(h){d=f[a>>2]|0;g=1;e=c;h=17;break}else{Naa(c,a,(g&255)+1|0)|0;e=c;c=a+4|0;h=19;break}}while(0);if((h|0)==17){c=a+4|0;Naa(e,d,(f[c>>2]|0)+1|0)|0;Hta(d);if(g){d=i+1|0;h=19}else h=20}if((h|0)==19){f[a+8>>2]=d|-2147483648;f[c>>2]=k;f[a>>2]=e;break}else if((h|0)==20){b[j>>0]=k;break}}while(0);return}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;l=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=YF(g)|0;if(!c)h=0;else{h=(jH(c)|0)!=0;c=h?c:0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function gu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;g=h;qV(a,b);f[a>>2]=15556;x=0;Ga(462,g|0,0);e=x;x=0;if(e&1){h=Ya()|0;_P(a);jb(h|0)}f[g>>2]=15572;d=a+4|0;e=g+4|0;while(1){b=f[d>>2]|0;if(!b){b=16;break}if(f[e>>2]|0){x=0;Fa(429,g|0);c=x;x=0;if(c&1){b=12;break}}f[e>>2]=f[b+80>>2];x=0;Fa(430,g|0);c=x;x=0;if(c&1){b=12;break}b=f[e>>2]|0;if(!b){b=16;break}c=f[b+76>>2]|0;if(((f[b+80>>2]|0)-c|0)!=8){b=16;break}b=f[c+4>>2]|0;if(!b){b=16;break}if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)!=33918){b=16;break}b=f[d>>2]|0;if(b|0){x=0;Fa(429,a|0);c=x;x=0;if(c&1){b=12;break}}f[d>>2]=f[b+88>>2];x=0;Fa(430,a|0);c=x;x=0;if(c&1){b=12;break}}if((b|0)==12){h=Ya()|0;_P(g);_P(a);jb(h|0)}else if((b|0)==16){_P(g);u=h;return}}function hu(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}if(g<<24>>24==58){g=h;do g=g+1|0;while((b[g>>0]|0)==58);if(g>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}else i=g}else i=0;if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function iu(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;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;c=e;return c|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;i=a<<24>>24<0;a=i?f[g+20>>2]|0:a&255;j=a>>>0>>0;e=j?a:m;if(!e)k=6;else{e=lO(l,i?f[h>>2]|0:h,e)|0;if(!e)k=6;else if((e|0)<0)k=8;else k=10}if((k|0)==6)if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if(!e)k=12;else{e=lO(i?f[h>>2]|0:h,l,e)|0;if(!e)k=12;else if((e|0)>=0){k=16;break}}if((k|0)==12)if(!j){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;c=g;return c|0}else if((k|0)==15){f[c>>2]=g;c=d;return c|0}else if((k|0)==16){f[c>>2]=g;c=d;return c|0}return 0}function ju(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=u;u=u+32|0;i=h+16|0;d=h+8|0;e=h;g=a+4|0;wv(g);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=6;b[i>>0]=b[49914]|0;b[i+1>>0]=b[49915]|0;b[i+2>>0]=b[49916]|0;b[i+3>>0]=b[49917]|0;b[i+4>>0]=b[49918]|0;b[i+5>>0]=b[49919]|0;b[i+6>>0]=0;x=0;Ia(147,g|0,i|0,c|0);k=x;x=0;if(k&1){a=Ya()|0;if((b[j>>0]|0)<0)Hta(f[i>>2]|0);k=a;jb(k|0)}if((b[j>>0]|0)<0)Hta(f[i>>2]|0);boa(g);qV(d,f[c+76>>2]|0);f[d>>2]=7696;k=f[d+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(k&1){k=Ya()|0;_P(d);jb(k|0)}_P(d);qV(e,f[c+68>>2]|0);f[e>>2]=7280;k=f[e+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(!(k&1)){_P(e);u=h;return}k=Ya()|0;_P(e);jb(k|0)}function ku(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=u_(g)|0;if(!c)h=0;else{c=(b[c>>0]|0)==45?c:0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function lu(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}if((g|0)==0|(wga(g)|0)!=0)h=0;else{c=(b[g>>0]|0)==45?g+1|0:0;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function mu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+32|0;h=g+16|0;i=g;d=Rg(c,d,a)|0;f[d+92>>2]=e;qV(h,d);f[h>>2]=6664;x=0;Ia(79,i|0,d+72|0,48507);d=x;x=0;if(d&1){i=Ya()|0;_P(h);jb(i|0)}x=0;a=sa(992,e|0,i|0)|0;e=x;x=0;do if(!(e&1)){if((a|0)!=(h|0)){c=a+4|0;if(f[c>>2]|0){x=0;Fa(429,a|0);e=x;x=0;if(e&1)break}e=h+4|0;f[c>>2]=f[e>>2];f[e>>2]=0}if((b[i+11>>0]|0)>=0){_P(h);u=g;return}Hta(f[i>>2]|0);_P(h);u=g;return}while(0);a=Ya()|0;if((b[i+11>>0]|0)>=0){i=a;_P(h);jb(i|0)}Hta(f[i>>2]|0);i=a;_P(h);jb(i|0)}function nu(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;e=u;u=u+64|0;a=e+24|0;i=e+12|0;j=e;k=VN(80)|0;l=i+11|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=0;d=a;g=c+12|0;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));Na(1,k|0,a|0,i|0,0,0,0,1,1);h=x;x=0;if(h&1){a=Ya()|0;if((b[l>>0]|0)<0)Hta(f[i>>2]|0);Hta(k);l=a;jb(l|0)}if((b[l>>0]|0)<0)Hta(f[i>>2]|0);ND(j,c+64|0);f[k+76>>2]=0;x=0;sa(986,k+64|0,j|0)|0;l=x;x=0;if(l&1){a=Ya()|0;if((b[j+11>>0]|0)>=0){l=a;jb(l|0)}Hta(f[j>>2]|0);l=a;jb(l|0)}else{if((b[j+11>>0]|0)>=0){l=c+60|0;l=b[l>>0]|0;j=k+60|0;b[j>>0]=l;j=c+54|0;j=b[j>>0]|0;l=k+54|0;b[l>>0]=j;u=e;return k|0}Hta(f[j>>2]|0);l=c+60|0;l=b[l>>0]|0;j=k+60|0;b[j>>0]=l;j=c+54|0;j=b[j>>0]|0;l=k+54|0;b[l>>0]=j;u=e;return k|0}return 0}function ou(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;l=0;m=a+68|0;c=f[m>>2]|0;if(c|0){m=c;return m|0}i=(tq(a)|0)+-1640531527|0;k=f[m>>2]|0;k=i+(k<<6)+(k>>>2)^k;f[m>>2]=k;i=a+104|0;j=b[i+11>>0]|0;g=j<<24>>24<0;i=g?f[i>>2]|0:i;j=g?f[a+108>>2]|0:j&255;if(j>>>0>3){g=j+-4|0;e=i;c=j;d=j;while(1){j=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else e=e+4|0}e=g&-4;d=g-e|0;e=i+(e+4)|0}else{d=j;e=i;c=j}switch(d|0){case 3:{c=(h[e+2>>0]|0)<<16^c;l=8;break}case 2:{l=8;break}case 1:{l=9;break}default:{}}if((l|0)==8){c=(h[e+1>>0]|0)<<8^c;l=9}if((l|0)==9)c=X(c^(h[e>>0]|0),1540483477)|0;d=X(c>>>13^c,1540483477)|0;d=(k<<6)+-1640531527+(k>>>2)+(d>>>15^d)^k;f[m>>2]=d;c=f[a+120>>2]|0;if(!c){m=d;return m|0}l=(vc[f[(f[c>>2]|0)+8>>2]&511](c)|0)+-1640531527|0;a=f[m>>2]|0;a=l+(a<<6)+(a>>>2)^a;f[m>>2]=a;m=a;return m|0}function pu(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=0;b=a+8|0;x=0;c=qa(407,f[b>>2]|0)|0;d=x;x=0;do if(d&1)e=21;else{x=0;d=ta(174,0,0,4)|0;a=x;x=0;if(a&1){a=Za(0)|0;if(!c)break;x=0;qa(407,c|0)|0;g=x;x=0;if(!(g&1))break;g=Za(0)|0;soa(g)}if(c|0){x=0;qa(407,c|0)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}}if(!d){a=f[b>>2]|0;if(!a)a=1;else{x=0;b=qa(407,a|0)|0;g=x;x=0;if(g&1){e=21;break}x=0;c=la(4)|0;g=x;x=0;if(g&1){a=Za(0)|0;if(!b)break;x=0;qa(407,b|0)|0;g=x;x=0;if(!(g&1))break;g=Za(0)|0;soa(g)}if(b|0){x=0;qa(407,b|0)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}}return (c|0)==1|0}}else a=-1;return a|0}while(0);if((e|0)==21)a=Za(0)|0;soa(a);return 0}function qu(a){a=a|0;var c=0,d=0,e=0;c=b[a>>0]|0;a:do if(c<<24>>24==45){c=bW(a+1|0)|0;if(!c)c=a;else while(1){d=b[c>>0]|0;if(d<<24>>24!=45){a=c;c=d;break a}a=bW(c+1|0)|0;if(!a)break;else c=a}a=c;c=b[c>>0]|0}while(0);b:do if(c<<24>>24==33){c=Xu(a+1|0)|0;if(c|0){d=b[36324]|0;if(d<<24>>24){e=36324;do{if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){e=c;return e|0}}}while(0);e=uk(a)|0;return e|0}function ru(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;i=u;u=u+32|0;l=i+16|0;d=i+8|0;e=i;g=a+4|0;wv(g);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;m=l+11|0;b[m>>0]=9;h=l;j=49981;k=h+9|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[l+9>>0]=0;x=0;Ia(147,g|0,l|0,c|0);k=x;x=0;if(k&1){a=Ya()|0;if((b[m>>0]|0)<0)Hta(f[l>>2]|0);m=a;jb(m|0)}if((b[m>>0]|0)<0)Hta(f[l>>2]|0);boa(g);qV(d,f[c+76>>2]|0);f[d>>2]=12372;m=f[d+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(d);jb(m|0)}_P(d);qV(e,f[c+68>>2]|0);f[e>>2]=7280;m=f[e+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(!(m&1)){_P(e);u=i;return}m=Ya()|0;_P(e);jb(m|0)}function su(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=a+11|0;if((b[d>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[d>>0]=0}x=0;Ga(501,a|0,0);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;d=a+12|0;e=c+12|0;g=d+11|0;if((b[g>>0]|0)<0){b[f[d>>2]>>0]=0;f[a+16>>2]=0}else{b[d>>0]=0;b[g>>0]=0}x=0;Ga(501,d|0,0);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=a+24|0;d=c+24|0;e=g+11|0;if((b[e>>0]|0)<0){b[f[g>>2]>>0]=0;f[a+28>>2]=0}else{b[g>>0]=0;b[e>>0]=0}x=0;Ga(501,g|0,0);c=x;x=0;if(c&1){a=Za(0)|0;soa(a)}else{f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;return a|0}return 0}function tu(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[c+48>>2]|0;if(d&16|0){d=c+44|0;e=f[d>>2]|0;g=f[c+24>>2]|0;if(e>>>0>>0){f[d>>2]=g;e=g}d=f[c+20>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=e-d|0;if(c>>>0>4294967279)CO(a);if(c>>>0<11)b[a+11>>0]=c;else{h=c+16&-16;g=VN(h)|0;f[a>>2]=g;f[a+8>>2]=h|-2147483648;f[a+4>>2]=c;a=g}if((d|0)!=(e|0)){g=a;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}a=a+c|0}b[a>>0]=0;return}if(!(d&8)){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}d=f[c+8>>2]|0;g=f[c+16>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=g-d|0;if(c>>>0>4294967279)CO(a);if(c>>>0<11)b[a+11>>0]=c;else{e=c+16&-16;h=VN(e)|0;f[a>>2]=h;f[a+8>>2]=e|-2147483648;f[a+4>>2]=c;a=h}if((d|0)!=(g|0)){e=a;while(1){b[e>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(g|0))break;else e=e+1|0}a=a+c|0}b[a>>0]=0;return}function uu(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=OP(g)|0;if(!c)h=0;else{c=(b[c>>0]|0)==45?0:c;if(c>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}else h=c}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function vu(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;m=u;u=u+32|0;k=m+16|0;l=m;e=f[a+76>>2]|0;i=(f[a+80>>2]|0)-e>>3;if(!i){l=0;u=m;return l|0}h=a+76|0;g=c+4|0;j=l+11|0;a=0;c=e;while(1){c=f[c+(a<<3)+4>>2]|0;e=f[(f[c>>2]|0)+140>>2]|0;qV(k,f[g>>2]|0);f[k>>2]=15572;x=0;Ga(459,l|0,d|0);n=x;x=0;if(n&1){c=10;break}x=0;c=ta(e|0,c|0,k|0,l|0)|0;n=x;x=0;if(n&1){c=11;break}if((b[j>>0]|0)<0)Hta(f[l>>2]|0);_P(k);a=a+1|0;if(c){a=1;c=14;break}if(a>>>0>=i>>>0){a=0;c=14;break}c=f[h>>2]|0}if((c|0)==10){n=Ya()|0;_P(k);jb(n|0)}else if((c|0)==11){a=Ya()|0;if((b[j>>0]|0)>=0){n=a;_P(k);jb(n|0)}Hta(f[l>>2]|0);n=a;_P(k);jb(n|0)}else if((c|0)==14){u=m;return a|0}return 0}function wu(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;l=u;u=u+64|0;j=l+16|0;k=l;ND(k,d);x=0;i=j;d=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(d|0));Ia(88,a|0,j|0,k|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[k+11>>0]|0)>=0){a=d;jb(a|0)}Hta(f[k>>2]|0);a=d;jb(a|0)}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);f[a>>2]=14744;c=a+104|0;x=0;Ga(459,c|0,e|0);k=x;x=0;if(k&1)c=Ya()|0;else{d=a+116|0;x=0;Ga(462,d|0,f[g+4>>2]|0);g=x;x=0;if(!(g&1)){f[d>>2]=7904;b[a+124>>0]=h;f[a+96>>2]=1;u=l;return}d=Ya()|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=d}else c=d}f[a>>2]=13680;d=a+84|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=a+72|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);a=c;jb(a|0)}function xu(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;if(!a){f=0;return f|0}c=b[51449]|0;a:do if(!(c<<24>>24)){e=a;f=5}else{e=a;d=51449;while(1){if((b[e>>0]|0)!=c<<24>>24)break a;e=e+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){f=5;break}}}while(0);b:do if((f|0)==5){while(1){if(Baa(e)|0)break;c=$ma(e)|0;d=(c|0)==0;if((c|0)==(e|0)|d)break b;else{e=d?e:c;f=5}}if(e|0){f=e;return f|0}}while(0);c=b[51446]|0;c:do if(c<<24>>24){d=51446;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break c}return a|0}while(0);c=b[a>>0]|0;if(!(c<<24>>24)){f=0;return f|0}f=b[52228]|0;if(!(f<<24>>24)){f=a;return f|0}else{e=a;a=c}d:while(1){if(a<<24>>24==f<<24>>24){a=e;c=52228;do{a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24)){f=17;break d}}while((b[a>>0]|0)==d<<24>>24)}e=e+1|0;a=b[e>>0]|0;if(!(a<<24>>24)){a=0;f=17;break}}if((f|0)==17)return a|0;return 0}function yu(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=SH(g)|0;if(!c)h=VO(g)|0;else h=c;if(h>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function zu(a,c){a=a|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=u;u=u+96|0;g=k+56|0;i=k+16|0;l=k;m=VN(104)|0;j=i;e=j+40|0;do{f[j>>2]=f[a>>2];j=j+4|0;a=a+4|0}while((j|0)<(e|0));x=0;d=+ga(3,((b[c+11>>0]|0)<0?f[c>>2]|0:c)|0);j=x;x=0;if(j&1){l=Ya()|0;Hta(m);jb(l|0)}h=l+11|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;c=qa(376,c|0)|0;j=x;x=0;if(!(j&1)){x=0;j=g;a=i;e=j+40|0;do{f[j>>2]=f[a>>2];j=j+4|0;a=a+4|0}while((j|0)<(e|0));Ha(1,m|0,g|0,+d,l|0,c|0);j=x;x=0;if(!(j&1)){if((b[h>>0]|0)>=0){l=m+54|0;b[l>>0]=0;l=m+52|0;b[l>>0]=1;u=k;return m|0}Hta(f[l>>2]|0);l=m+54|0;b[l>>0]=0;l=m+52|0;b[l>>0]=1;u=k;return m|0}}a=Ya()|0;if((b[h>>0]|0)>=0){l=a;Hta(m);jb(l|0)}Hta(f[l>>2]|0);l=a;Hta(m);jb(l|0);return 0}function Au(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;n=u;u=u+64|0;m=n+40|0;k=n+24|0;j=n+16|0;g=n;l=n+56|0;e=b[c>>0]|0;if(!(HB(56927,e<<24>>24,4)|0)){d=bua()|0;f[d>>2]=22;d=0}else{d=Rd(1156)|0;if(!d)d=0;else{h=d;i=h+124|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!(aca(c,43)|0))f[d>>2]=e<<24>>24==114?8:4;if(aca(c,101)|0){f[g>>2]=a;f[g+4>>2]=2;f[g+8>>2]=1;rb(221,g|0)|0;e=b[c>>0]|0}if(e<<24>>24==97){f[j>>2]=a;f[j+4>>2]=3;e=rb(221,j|0)|0;if(!(e&1024)){f[k>>2]=a;f[k+4>>2]=4;f[k+8>>2]=e|1024;rb(221,k|0)|0}c=f[d>>2]|128;f[d>>2]=c}else c=f[d>>2]|0;f[d+60>>2]=a;f[d+44>>2]=d+132;f[d+48>>2]=1024;e=d+75|0;b[e>>0]=-1;if(!(c&8)){f[m>>2]=a;f[m+4>>2]=21523;f[m+8>>2]=l;if(!(ub(54,m|0)|0))b[e>>0]=10}f[d+32>>2]=16;f[d+36>>2]=14;f[d+40>>2]=15;f[d+12>>2]=253;if(!(f[20538]|0))f[d+76>>2]=-1;vV(d)|0}}u=n;return d|0}function Bu(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+32|0;e=j+8|0;h=j+16|0;i=j;g=a+68|0;qV(e,f[g>>2]|0);f[e>>2]=7280;c=f[e+4>>2]|0;c=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;_P(e);if(!c){i=1;u=j;return i|0}d=i+4|0;e=h+4|0;b=0;while(1){qV(i,f[g>>2]|0);f[i>>2]=7280;a=(f[d>>2]|0)+64|0;x=0;a=sa(f[(f[a>>2]|0)+16>>2]|0,a|0,b|0)|0;k=x;x=0;if(k&1){b=8;break}x=0;Ga(462,h|0,f[a+4>>2]|0);k=x;x=0;if(k&1){b=8;break}f[h>>2]=6920;_P(i);a=f[e>>2]|0;x=0;a=qa(f[(f[a>>2]|0)+76>>2]|0,a|0)|0;k=x;x=0;if(k&1){b=9;break}_P(h);b=b+1|0;if(!a){a=0;b=11;break}if(b>>>0>=c>>>0){a=1;b=11;break}}if((b|0)==8){k=Ya()|0;_P(i);jb(k|0)}else if((b|0)==9){k=Ya()|0;_P(h);jb(k|0)}else if((b|0)==11){u=j;return a|0}return 0}function Cu(a){a=a|0;var c=0,d=0,e=0;d=b[a>>0]|0;c=a+1|0;if(d<<24>>24==92){d=$ma(c)|0;if(!d){d=b[a>>0]|0;e=4}else{a=d;e=9}}else e=4;a:do if((e|0)==4){switch(d<<24>>24){case 35:{d=b[c>>0]|0;if(d<<24>>24==123)d=47560;else break a;break}case 39:{d=47558;break}case 92:{d=47559;break}case 0:{e=a;return e|0}default:d=47561}if(!(b[d>>0]|0)){a=c;e=9}else{e=a;return e|0}}while(0);b:while(1){if((e|0)==9){c=a;d=b[a>>0]|0}a=c+1|0;if(d<<24>>24==92){d=$ma(a)|0;if(d|0){a=d;e=9;continue}d=b[c>>0]|0}switch(d<<24>>24){case 0:{e=18;break b}case 35:{if((b[a>>0]|0)==123)d=47560;else{e=9;continue b}break}case 39:{d=47558;break}case 92:{d=47559;break}default:d=47561}if(b[d>>0]|0){e=18;break}else e=9}if((e|0)==18)return c|0;return 0}function Du(a){a=a|0;var c=0,d=0,e=0;d=b[a>>0]|0;c=a+1|0;if(d<<24>>24==92){d=$ma(c)|0;if(!d){d=b[a>>0]|0;e=4}else{a=d;e=9}}else e=4;a:do if((e|0)==4){switch(d<<24>>24){case 35:{d=b[c>>0]|0;if(d<<24>>24==123)d=47556;else break a;break}case 34:{d=47554;break}case 92:{d=47555;break}case 0:{e=a;return e|0}default:d=47557}if(!(b[d>>0]|0)){a=c;e=9}else{e=a;return e|0}}while(0);b:while(1){if((e|0)==9){c=a;d=b[a>>0]|0}a=c+1|0;if(d<<24>>24==92){d=$ma(a)|0;if(d|0){a=d;e=9;continue}d=b[c>>0]|0}switch(d<<24>>24){case 0:{e=18;break b}case 35:{if((b[a>>0]|0)==123)d=47556;else{e=9;continue b}break}case 34:{d=47554;break}case 92:{d=47555;break}default:d=47557}if(b[d>>0]|0){e=18;break}else e=9}if((e|0)==18)return c|0;return 0}function Eu(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;e=j;h=Ut(a,e,c)|0;d=f[h>>2]|0;if(d|0){i=d;i=i+28|0;u=j;return i|0}i=VN(36)|0;g=i+16|0;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[g+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;d=i+28|0;x=0;Ga(462,d|0,0);c=x;x=0;if(c&1){d=Ya()|0;if((b[i+27>>0]|0)>=0){Hta(i);jb(d|0)}Hta(f[g>>2]|0);Hta(i);jb(d|0)}else{f[d>>2]=6664;d=f[e>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=d;f[h>>2]=i;d=f[f[a>>2]>>2]|0;if(!d)d=i;else{f[a>>2]=d;d=f[h>>2]|0}Ip(f[a+4>>2]|0,d);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;i=i+28|0;u=j;return i|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=u;u=u+32|0;k=m+16|0;l=m;i=c+4|0;e=f[i>>2]|0;h=(f[e+80>>2]|0)-(f[e+76>>2]|0)>>3;if(!h){l=1;u=m;return l|0}j=l+11|0;c=0;while(1){g=f[(f[a>>2]|0)+144>>2]|0;qV(k,f[(f[e+76>>2]|0)+(c<<3)+4>>2]|0);f[k>>2]=15556;x=0;Ga(459,l|0,d|0);e=x;x=0;if(e&1){e=10;break}x=0;e=ta(g|0,a|0,k|0,l|0)|0;g=x;x=0;if(g&1){e=11;break}if((b[j>>0]|0)<0)Hta(f[l>>2]|0);_P(k);c=c+1|0;if(!e){c=0;e=14;break}if(c>>>0>=h>>>0){c=1;e=14;break}e=f[i>>2]|0}if((e|0)==10){m=Ya()|0;_P(k);jb(m|0)}else if((e|0)==11){c=Ya()|0;if((b[j>>0]|0)>=0){m=c;_P(k);jb(m|0)}Hta(f[l>>2]|0);m=c;_P(k);jb(m|0)}else if((e|0)==14){u=m;return c|0}return 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,l=0,m=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;c=e;return c|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;i=a<<24>>24<0;a=i?f[g+20>>2]|0:a&255;j=a>>>0>>0;e=j?a:m;if(!e)k=6;else{e=lO(l,i?f[h>>2]|0:h,e)|0;if(!e)k=6;else if((e|0)<0)k=8;else k=10}if((k|0)==6)if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if(!e)k=12;else{e=lO(i?f[h>>2]|0:h,l,e)|0;if(!e)k=12;else if((e|0)>=0){k=16;break}}if((k|0)==12)if(!j){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;c=g;return c|0}else if((k|0)==15){f[c>>2]=g;c=d;return c|0}else if((k|0)==16){f[c>>2]=g;c=d;return c|0}return 0}function Hu(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=u;u=u+16|0;j=i;h=a+4|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=j+11|0;b[e>>0]=1;b[j>>0]=40;b[j+1>>0]=0;x=0;Ga(682,h|0,j|0);g=x;x=0;if(g&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[j>>2]|0);j=d;jb(j|0)}if((b[e>>0]|0)<0)Hta(f[j>>2]|0);g=c+56|0;d=f[g>>2]|0;e=c+60|0;if((d|0)!=(f[e>>2]|0)){d=f[d+4>>2]|0;Lc[f[(f[d>>2]|0)+44>>2]&1023](d,a);e=(f[e>>2]|0)-(f[c+56>>2]|0)>>3;if(e>>>0>1){d=1;do{wz(h);c=f[(f[g>>2]|0)+(d<<3)+4>>2]|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](c,a);d=d+1|0}while((d|0)!=(e|0))}}f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=j+11|0;b[e>>0]=1;b[j>>0]=41;b[j+1>>0]=0;x=0;Ga(682,h|0,j|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[j>>2]|0);j=d;jb(j|0)}else{if((b[e>>0]|0)>=0){u=i;return}Hta(f[j>>2]|0);u=i;return}}function Iu(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=by(g)|0;if(!c)h=pF(g)|0;else h=c;if(h>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Ju(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=JQ(g)|0;if(!c)h=RC(g)|0;else h=c;if(h>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Ku(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=h+1|0;c=g<<24>>24|0;i=(c|0)!=93?((c|0)==47?i:0):i;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function Lu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Lb(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 Mu(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=u;u=u+32|0;k=m+16|0;l=m;i=c+4|0;e=f[i>>2]|0;h=(f[e+80>>2]|0)-(f[e+76>>2]|0)>>3;if(!h){l=1;u=m;return l|0}j=l+11|0;c=0;while(1){g=f[(f[a>>2]|0)+148>>2]|0;qV(k,f[(f[e+76>>2]|0)+(c<<3)+4>>2]|0);f[k>>2]=15556;x=0;Ga(459,l|0,d|0);e=x;x=0;if(e&1){e=10;break}x=0;e=ta(g|0,a|0,k|0,l|0)|0;g=x;x=0;if(g&1){e=11;break}if((b[j>>0]|0)<0)Hta(f[l>>2]|0);_P(k);c=c+1|0;if(!e){c=0;e=14;break}if(c>>>0>=h>>>0){c=1;e=14;break}e=f[i>>2]|0}if((e|0)==10){m=Ya()|0;_P(k);jb(m|0)}else if((e|0)==11){c=Ya()|0;if((b[j>>0]|0)>=0){m=c;_P(k);jb(m|0)}Hta(f[l>>2]|0);m=c;_P(k);jb(m|0)}else if((e|0)==14){u=m;return c|0}return 0}function Nu(a){a=a|0;var c=0,d=0,e=0,f=0;c=ZW(a)|0;if(!c)if(!a)e=7;else{c=a;e=4}else while(1){d=ZW(c)|0;if(!d){e=4;break}else c=d}if((e|0)==4)if((b[c>>0]|0)==46){c=ZW(c+1|0)|0;if(!c)e=7;else while(1){d=ZW(c)|0;if(!d)break;else c=d}}else e=7;if((e|0)==7){c=ZW(a)|0;if(!c){f=0;return f|0}}f=c+1|0;a:do if((b[c>>0]|0)==101){a=b[36400]|0;b:do if(!(a<<24>>24))d=0;else{d=b[f>>0]|0;e=36400;while(1){if(d<<24>>24==a<<24>>24)break b;e=e+1|0;a=b[e>>0]|0;if(!(a<<24>>24)){d=0;break}}}while(0);e=d<<24>>24?c+2|0:f;d=ZW(e)|0;if(!d)d=e;else while(1){a=ZW(d)|0;if(!a)break;else d=a}if((b[d>>0]|0)==46){d=ZW(d+1|0)|0;if(d|0)while(1){a=ZW(d)|0;if(!a)break a;else d=a}}d=ZW(e)|0}else d=0;while(0);f=d|0?d:c;return f|0}function Ou(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[a+20>>2]|0;a=f[a+24>>2]|0;if(a|0){ega(a);QZ(a)}i=f[b+20>>2]|0;a=f[b+24>>2]|0;if(a|0){ega(a);QZ(a)}e=c+16|0;g=c+20|0;a=f[g>>2]|0;if(!a)return;h=c+4|0;d=c+8|0;while(1){b=a+-1+(f[e>>2]|0)|0;a=f[(f[h>>2]|0)+(((b>>>0)/146|0)<<2)>>2]|0;b=(b>>>0)%146|0;if((f[a+(b*28|0)+4>>2]|0)!=1){a=13;break}Mz(i,a+(b*28|0)|0);b=(f[g>>2]|0)+-1+(f[e>>2]|0)|0;a=f[(f[h>>2]|0)+(((b>>>0)/146|0)<<2)>>2]|0;b=(b>>>0)%146|0;c=f[a+(b*28|0)+24>>2]|0;if(c|0)QZ(c);_P(a+(b*28|0)+12|0);j=f[g>>2]|0;a=j+-1|0;f[g>>2]=a;b=f[d>>2]|0;c=b-(f[h>>2]|0)>>2;if((1-j-(f[e>>2]|0)+((c|0)==0?0:(c*146|0)+-1|0)|0)>>>0>291){Hta(f[b+-4>>2]|0);f[d>>2]=(f[d>>2]|0)+-4;a=f[g>>2]|0}if(!a){a=13;break}}if((a|0)==13)return}function Pu(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=u;u=u+32|0;h=l+16|0;i=l+8|0;e=l+4|0;g=l;j=vja(c,Jta()|0)|0;k=a+52|0;d=(b[k>>0]|0)!=0;do if(j)if(d)d=c;else{d=f[a+48>>2]|0;c=((vja(d,Jta()|0)|0)^1)&1;b[k>>0]=c}else{if(d){j=a+48|0;d=bra(f[j>>2]|0)|0;f[e>>2]=d;d=f[a+36>>2]|0;switch(Fc[f[(f[d>>2]|0)+12>>2]&15](d,f[a+40>>2]|0,e,e+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{b[h>>0]=f[j>>2];f[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){d=a+32|0;while(1){e=f[i>>2]|0;if(e>>>0<=h>>>0){e=1;d=0;break a}a=e+-1|0;f[i>>2]=a;if((PH(b[a>>0]|0,f[d>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){e=0;d=Jta()|0}if(e)d=j;else break}else d=a+48|0;f[d>>2]=c;b[k>>0]=1;d=c}while(0);u=l;return d|0}function Qu(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=u;u=u+32|0;h=l+16|0;i=l+4|0;e=l+8|0;g=l;j=wja(c,Kta()|0)|0;k=a+52|0;d=(b[k>>0]|0)!=0;do if(j)if(d)d=c;else{d=f[a+48>>2]|0;c=((wja(d,Kta()|0)|0)^1)&1;b[k>>0]=c}else{if(d){j=a+48|0;d=cqa(f[j>>2]|0)|0;b[e>>0]=d;d=f[a+36>>2]|0;switch(Fc[f[(f[d>>2]|0)+12>>2]&15](d,f[a+40>>2]|0,e,e+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{b[h>>0]=f[j>>2];f[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){d=a+32|0;while(1){e=f[i>>2]|0;if(e>>>0<=h>>>0){e=1;d=0;break a}a=e+-1|0;f[i>>2]=a;if((PH(b[a>>0]|0,f[d>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){e=0;d=Kta()|0}if(e)d=j;else break}else d=a+48|0;f[d>>2]=c;b[k>>0]=1;d=c}while(0);u=l;return d|0}function Ru(a){a=a|0;var c=0,d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;g=a+4|0;c=f[g>>2]|0;do if(((d<<24>>24<0?c:d&255)|0)==7){x=0;c=wa(21,a|0,0,-1,34172,7)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=1;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==6){x=0;c=wa(21,a|0,0,-1,34180,6)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=1;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==11){x=0;c=wa(21,a|0,0,-1,34187,11)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=1;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);if(((d<<24>>24<0?c:d&255)|0)!=13){a=0;return a|0}x=0;c=wa(21,a|0,0,-1,34199,13)|0;a=x;x=0;if(a&1){a=Za(0)|0;soa(a)}a=(c|0)==0;return a|0}function Su(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=u;u=u+64|0;i=l+48|0;e=l;j=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){h=VX(g)|0;g=h|0?h:g}c=OP(g)|0;if(!c)h=zO(g)|0;else h=c;if(h>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((h|0)==0|(h|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;m=a+96|0;vG(i,m,c,g);c=a+84|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];vG(i,m,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(j,m,c);f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];UI(e,d,g,a+168|0,c,i);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[k>>2]=h;m=h;u=l;return m|0}function Tu(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;switch(b-a>>2|0){case 1:case 0:{c=1;break}case 2:{c=b+-4|0;d=f[c>>2]|0;e=f[a>>2]|0;if(d>>>0>>0){f[a>>2]=d;f[c>>2]=e;c=1}else c=1;break}case 3:{RF(a,a+4|0,b+-4|0,c)|0;c=1;break}case 4:{TG(a,a+4|0,a+8|0,b+-4|0,c)|0;c=1;break}case 5:{mE(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;c=1;break}default:{d=a+8|0;RF(a,a+4|0,d,c)|0;i=a+12|0;c=0;while(1){if((i|0)==(b|0)){d=1;c=0;break}h=f[i>>2]|0;g=f[d>>2]|0;if(h>>>0>>0){e=i;while(1){f[e>>2]=g;if((d|0)==(a|0)){d=a;break}e=d+-4|0;g=f[e>>2]|0;if(h>>>0>=g>>>0)break;else{j=d;d=e;e=j}}f[d>>2]=h;c=c+1|0;if((c|0)==8){d=0;c=(i+4|0)==(b|0);break}}d=i;i=i+4|0}c=c|d}}return c|0}function Uu(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;d=0;o=u;u=u+32|0;l=o+16|0;e=o+8|0;m=o+4|0;n=o;do if(vja(c,Jta()|0)|0)d=15;else{k=bra(c)|0;f[e>>2]=k;if(b[a+44>>0]|0){if((vO(e,4,1,f[a+32>>2]|0)|0)==1){d=15;break}a=Jta()|0;break}f[m>>2]=l;d=e+4|0;g=a+36|0;h=a+40|0;i=l+8|0;j=l;k=a+32|0;while(1){a=f[g>>2]|0;a=Fc[f[(f[a>>2]|0)+12>>2]&15](a,f[h>>2]|0,e,d,n,l,i,m)|0;if((f[n>>2]|0)==(e|0)){d=14;break}if((a|0)==3){d=8;break}if(a>>>0>=2){d=14;break}e=(f[m>>2]|0)-j|0;if((vO(l,1,e,f[k>>2]|0)|0)!=(e|0)){d=14;break}if((a|0)==1)e=f[n>>2]|0;else{d=13;break}}if((d|0)==8)if((vO(e,1,1,f[k>>2]|0)|0)==1)d=13;else d=14;if((d|0)==13){d=15;break}else if((d|0)==14){a=Jta()|0;break}}while(0);if((d|0)==15)a=lX(c)|0;u=o;return a|0}function Vu(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=a+c|0;k=e+4|0;c=b[k>>0]|0;switch(f[e>>2]|0){case 0:{h=c;c=d;g=2;break}case 1:{h=c;c=d;i=a;g=6;break}case 2:{h=c;c=d;i=a;g=10;break}default:{e=0;return e|0}}while(1)if((g|0)==2){if((a|0)==(j|0)){g=0;break}h=b[a>>0]|0;g=h>>>2&63;if((g&255)<<24>>24>63)g=61;else g=b[53647+g>>0]|0;b[c>>0]=g;h=h<<4&48;c=c+1|0;i=a+1|0;g=6;continue}else if((g|0)==6){if((i|0)==(j|0)){g=1;break}a=b[i>>0]|0;g=a>>>4&15|h&255;if((g&255)<<24>>24>63)g=61;else g=b[53647+(g<<24>>24)>>0]|0;b[c>>0]=g;h=a<<2&60;c=c+1|0;i=i+1|0;g=10;continue}else if((g|0)==10){if((i|0)==(j|0)){g=2;break}a=b[i>>0]|0;g=a>>>6&3|h&255;if((g&255)<<24>>24>63)g=61;else g=b[53647+(g<<24>>24)>>0]|0;b[c>>0]=g;g=a&63;h=g&255;if(h<<24>>24>63)g=61;else g=b[53647+g>>0]|0;b[c+1>>0]=g;a=e+8|0;f[a>>2]=(f[a>>2]|0)+1;c=c+2|0;a=i+1|0;g=2;continue}b[k>>0]=h;f[e>>2]=g;e=c-d|0;return e|0}function Wu(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;d=0;o=u;u=u+32|0;l=o+16|0;e=o+8|0;m=o+4|0;n=o;do if(wja(c,Kta()|0)|0)d=15;else{k=cqa(c)|0;b[e>>0]=k;if(b[a+44>>0]|0){if((vO(e,1,1,f[a+32>>2]|0)|0)==1){d=15;break}a=Kta()|0;break}f[m>>2]=l;d=e+1|0;g=a+36|0;h=a+40|0;i=l+8|0;j=l;k=a+32|0;while(1){a=f[g>>2]|0;a=Fc[f[(f[a>>2]|0)+12>>2]&15](a,f[h>>2]|0,e,d,n,l,i,m)|0;if((f[n>>2]|0)==(e|0)){d=14;break}if((a|0)==3){d=8;break}if(a>>>0>=2){d=14;break}e=(f[m>>2]|0)-j|0;if((vO(l,1,e,f[k>>2]|0)|0)!=(e|0)){d=14;break}if((a|0)==1)e=f[n>>2]|0;else{d=13;break}}if((d|0)==8)if((vO(e,1,1,f[k>>2]|0)|0)==1)d=13;else d=14;if((d|0)==13){d=15;break}else if((d|0)==14){a=Kta()|0;break}}while(0);if((d|0)==15)a=mX(c)|0;u=o;return a|0}function Xu(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=0;c=JQ(a)|0;if(!c){if(!a){g=0;return g|0}d=b[51449]|0;a:do if(!(d<<24>>24))c=a;else{c=a;e=51449;while(1){if((b[c>>0]|0)!=d<<24>>24){f=a;break}c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24))break a}return f|0}while(0);while(1){if(Baa(c)|0)break;d=$ma(c)|0;e=(d|0)==0;if((d|0)==(c|0)|e){f=a;g=16;break}else c=e?c:d}if((g|0)==16)return f|0;if(!c){g=a;return g|0}else f=c}else f=c;b:while(1){c=JQ(f)|0;if(c|0){f=c;continue}d=b[51449]|0;if(!(d<<24>>24))c=f;else{c=f;e=51449;do{if((b[c>>0]|0)!=d<<24>>24){g=16;break b}c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}while(1){if(Baa(c)|0)break;d=$ma(c)|0;e=(d|0)==0;if((d|0)==(c|0)|e){g=16;break b}else c=e?c:d}if(!c){g=16;break}else f=c}if((g|0)==16)return f|0;return 0}function Yu(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;j=0;k=u;u=u+16|0;l=k;if(!d){ND(a,c);u=k;return}i=l+11|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=b[c+11>>0]|0;g=h<<24>>24<0;e=g?f[c>>2]|0:c;h=g?f[c+4>>2]|0:h&255;g=e+h|0;a:do if(h|0){h=l+4|0;d=0;while(1){c=b[e>>0]|0;if(c<<24>>24==92){d=(d^1)&1;j=14}else if(d&c<<24>>24==13)d=1;else if(d&c<<24>>24==10){c=b[i>>0]|0;x=0;Ia(93,l|0,(c<<24>>24<0?f[h>>2]|0:c&255)+-1|0,0);c=x;x=0;if(c&1)break;else d=0}else{d=0;j=14}if((j|0)==14){j=0;x=0;Ga(534,l|0,c|0);c=x;x=0;if(c&1)break;d=d<<24>>24!=0}e=e+1|0;if((e|0)==(g|0))break a}d=Ya()|0;if((b[i>>0]|0)>=0)jb(d|0);Hta(f[l>>2]|0);jb(d|0)}while(0);f[a>>2]=f[l>>2];f[a+4>>2]=f[l+4>>2];f[a+8>>2]=f[l+8>>2];u=k;return}function Zu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=0;j=u;u=u+16|0;g=j;h=a+4|0;f[h>>2]=0;x=0;Ia(152,g|0,a|0,1);e=x;x=0;do if(e&1)i=6;else{e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;if(!(b[g>>0]|0)){x=0;Ga(537,e|0,f[e+16>>2]|4|0);h=x;x=0;if(h&1){i=6;break}}else{g=f[e+24>>2]|0;x=0;c=ta(f[(f[g>>2]|0)+32>>2]|0,g|0,c|0,d|0)|0;g=x;x=0;if(g&1){i=6;break}f[h>>2]=c;if((c|0)!=(d|0)){h=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,h|0,f[h+16>>2]|6|0);h=x;x=0;if(h&1){i=6;break}}}}while(0);do if((i|0)==6){i=Za(0)|0;Ua(i|0)|0;x=0;Fa(439,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);i=x;x=0;if(!(i&1)){Wa();break}c=Ya()|0;x=0;Ea(4);i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}else jb(c|0)}while(0);u=j;return a|0}function _u(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=0;j=a+4|0;b=f[j>>2]|0;h=a+16|0;c=f[h>>2]|0;d=b+(c>>>9<<2)|0;k=a+8|0;if((f[k>>2]|0)==(b|0)){e=0;g=a+20|0;b=0}else{g=a+20|0;e=(f[g>>2]|0)+c|0;e=(f[b+(e>>>9<<2)>>2]|0)+((e&511)<<3)|0;b=(f[d>>2]|0)+((c&511)<<3)|0}a:while(1){do{c=b;if((e|0)==(c|0))break a;Kc[f[f[b>>2]>>2]&511](c);b=c+8|0}while((b-(f[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=f[b>>2]|0}f[g>>2]=0;c=f[k>>2]|0;d=f[j>>2]|0;e=c-d>>2;b=d;if(e>>>0>2){b=d;do{Hta(f[b>>2]|0);b=(f[j>>2]|0)+4|0;f[j>>2]=b;c=f[k>>2]|0;d=c-b>>2}while(d>>>0>2)}else d=e;switch(d|0){case 1:{d=256;i=14;break}case 2:{d=512;i=14;break}default:{}}if((i|0)==14)f[h>>2]=d;if((b|0)!=(c|0)){do{Hta(f[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));c=f[k>>2]|0;b=f[j>>2]|0}if((c|0)!=(b|0))f[k>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[a>>2]|0;if(!b)return;Hta(b);return}function $u(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;c=JQ(a)|0;if(!c){if(!a){f=0;return f|0}d=b[51449]|0;a:do if(!(d<<24>>24))c=a;else{c=a;a=51449;while(1){if((b[c>>0]|0)!=d<<24>>24){e=0;break}c=c+1|0;a=a+1|0;d=b[a>>0]|0;if(!(d<<24>>24))break a}return e|0}while(0);while(1){if(Baa(c)|0)break;a=$ma(c)|0;d=(a|0)==0;if((a|0)==(c|0)|d){e=0;f=16;break}else c=d?c:a}if((f|0)==16)return e|0;if(!c){f=0;return f|0}else e=c}else e=c;b:while(1){c=JQ(e)|0;if(c|0){e=c;continue}a=b[51449]|0;if(!(a<<24>>24))c=e;else{c=e;d=51449;do{if((b[c>>0]|0)!=a<<24>>24){f=16;break b}c=c+1|0;d=d+1|0;a=b[d>>0]|0}while(a<<24>>24!=0)}while(1){if(Baa(c)|0)break;a=$ma(c)|0;d=(a|0)==0;if((a|0)==(c|0)|d){f=16;break b}else c=d?c:a}if(!c){f=16;break}else e=c}if((f|0)==16)return e|0;return 0}function av(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;j=0;k=u;u=u+16|0;g=k;i=(e|0)==0?82240:e;e=f[i>>2]|0;a:do if(!c)if(!e)e=0;else j=17;else{h=(a|0)==0?g:a;if(!d)e=-2;else{if(!e){e=b[c>>0]|0;if(e<<24>>24>-1){f[h>>2]=e&255;e=e<<24>>24!=0&1;break}g=(qta()|0)+188|0;e=b[c>>0]|0;if(!(f[f[g>>2]>>2]|0)){f[h>>2]=e<<24>>24&57343;e=1;break}e=(e&255)+-194|0;if(e>>>0>50){j=17;break}e=f[21452+(e<<2)>>2]|0;g=d+-1|0;if(g){c=c+1|0;j=11}}else{g=d;j=11}b:do if((j|0)==11){a=b[c>>0]|0;l=(a&255)>>>3;if((l+-16|l+(e>>26))>>>0>7){j=17;break a}while(1){c=c+1|0;e=(a&255)+-128|e<<6;g=g+-1|0;if((e|0)>=0)break;if(!g)break b;a=b[c>>0]|0;if((a&-64)<<24>>24!=-128){j=17;break a}}f[i>>2]=0;f[h>>2]=e;e=d-g|0;break a}while(0);f[i>>2]=e;e=-2}}while(0);if((j|0)==17){f[i>>2]=0;e=bua()|0;f[e>>2]=84;e=-1}u=k;return e|0}function bv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;g=0;h=u;u=u+16|0;e=h;x=0;Ga(535,e|0,a|0);i=x;x=0;a:do if(i&1){c=Za(0)|0;d=a;e=a;g=9}else{do if((d|0)!=0&(b[e>>0]|0)!=0){i=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;c=ta(f[(f[i>>2]|0)+48>>2]|0,i|0,c|0,d|0)|0;i=x;x=0;if(!(i&1)){if((c|0)==(d|0))break;i=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,i|0,f[i+16>>2]|1|0);i=x;x=0;if(!(i&1))break}c=Za(0)|0;XB(e);d=a;e=a;g=9;break a}while(0);XB(e)}while(0);do if((g|0)==9){Ua(c|0)|0;x=0;Fa(439,d+(f[(f[e>>2]|0)+-12>>2]|0)|0);i=x;x=0;if(!(i&1)){Wa();break}c=Ya()|0;x=0;Ea(4);i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}else jb(c|0)}while(0);u=h;return a|0}function cv(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=u;u=u+16|0;k=l;g=b+72|0;h=b+76|0;i=b+80|0;if((f[i>>2]|0)==(f[h>>2]|0)){u=l;return b|0}j=k+4|0;e=0;while(1){c=(xc[f[(f[g>>2]|0)+16>>2]&2047](g,e)|0)+4|0;c=f[c>>2]|0;if(c|0){d=f[c>>2]|0;if((f[463]|0)!=(f[(f[d+-4>>2]|0)+4>>2]|0)){qV(k,fba(xc[f[d+56>>2]&2047](c,a)|0)|0);f[k>>2]=13852;x=0;c=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,e|0)|0;d=x;x=0;if(d&1){c=13;break}if((c|0)!=(k|0)){d=c+4|0;if(f[d>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){c=13;break}}f[d>>2]=f[j>>2];f[j>>2]=0}_P(k)}}e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[h>>2]|0)>>3>>>0){c=3;break}}if((c|0)==3){u=l;return b|0}else if((c|0)==13){l=Ya()|0;_P(k);jb(l|0)}return 0}function dv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==126?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function ev(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==125?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function fv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==123?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function gv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==93?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function hv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==91?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function iv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==62?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function jv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==61?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function kv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==59?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==58?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function mv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==47?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function nv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==45?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function ov(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==44?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function pv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==43?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function qv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==41?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0} +function rv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==40?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function sv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==38?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function tv(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;m=u;u=u+64|0;j=m+48|0;e=m;k=m+40|0;l=a+76|0;h=f[l>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){l=0;u=m;return l|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}i=g<<24>>24==36?h+1|0:0;if(i>>>0>(f[a+80>>2]|0)>>>0){l=0;u=m;return l|0}if(!d)if((i|0)==0|(i|0)==(h|0)){l=0;u=m;return l|0}c=f[l>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;n=a+96|0;vG(j,n,c,h);c=a+84|0;f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];vG(j,n,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(k,n,c);f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];UI(e,d,g,a+168|0,c,j);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[l>>2]=i;n=i;u=m;return n|0}function uv(){var a=0,c=0;if(!(b[78600]|0))if(lda(78600)|0){c=84836;do{f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}c=c+12|0}while((c|0)!=85004)}YT(84836,27888)|0;YT(84848,27916)|0;YT(84860,27944)|0;YT(84872,27976)|0;YT(84884,28016)|0;YT(84896,28052)|0;YT(84908,28080)|0;YT(84920,28116)|0;YT(84932,28132)|0;YT(84944,28148)|0;YT(84956,28164)|0;YT(84968,28180)|0;YT(84980,28196)|0;YT(84992,28212)|0;return}function vv(){var a=0,c=0;if(!(b[78520]|0))if(lda(78520)|0){c=84024;do{f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}c=c+12|0}while((c|0)!=84192)}ZT(84024,58358)|0;ZT(84036,58365)|0;ZT(84048,58372)|0;ZT(84060,58380)|0;ZT(84072,58390)|0;ZT(84084,58399)|0;ZT(84096,58406)|0;ZT(84108,58415)|0;ZT(84120,58419)|0;ZT(84132,58423)|0;ZT(84144,58427)|0;ZT(84156,58431)|0;ZT(84168,58435)|0;ZT(84180,58439)|0;return}function wv(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=u;u=u+16|0;m=l;k=a+68|0;h=f[k>>2]|0;if((f[h>>2]&-2|0)==2){u=l;return}if(b[a+100>>0]|0)if(b[a+102>>0]|0){u=l;return}c=a+80|0;j=a+72|0;e=f[j>>2]|0;do if(!(f[c>>2]|0)){d=m+11|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;if(!e)i=10;else{g=m;i=9}}else if(!e){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=m+11|0;i=10;break}else{f[c>>2]=1;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=m+11|0;g=m;i=9;break}while(0);a:do if((i|0)==9){c=0;e=h;while(1){x=0;sa(991,m|0,f[e+12>>2]|0)|0;h=x;x=0;if(h&1)break a;c=c+1|0;if(c>>>0>=(f[j>>2]|0)>>>0){i=10;break a}e=f[k>>2]|0}}while(0);if((i|0)==10){x=0;Ga(682,a|0,m|0);a=x;x=0;if(!(a&1)){if((b[d>>0]|0)<0)Hta(f[m>>2]|0);u=l;return}}c=Ya()|0;if((b[d>>0]|0)>=0)jb(c|0);Hta(f[m>>2]|0);jb(c|0)}function xv(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+32|0;d=g+16|0;c=g;e=g+8|0;qV(c,f[a+56>>2]|0);f[c>>2]=7904;a=f[c+4>>2]|0;if(!a)a=0;else a=(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)==32815?a:0;x=0;Ga(462,d|0,a|0);a=x;x=0;if(a&1){g=Ya()|0;_P(c);jb(g|0)}f[d>>2]=13648;_P(c);c=d+4|0;a=f[c>>2]|0;if(!a){_P(d);e=0;u=g;return e|0}a=a+60|0;x=0;a=sa(f[(f[a>>2]|0)+16>>2]|0,a|0,0)|0;h=x;x=0;if(!(h&1)){a=f[a+4>>2]|0;if(!a)a=0;else a=(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)==33918?a:0;x=0;Ga(462,e|0,a|0);h=x;x=0;if(!(h&1)){f[e>>2]=13664;h=f[c>>2]|0;if((f[h+68>>2]|0)==(f[h+64>>2]|0))a=0;else{a=f[e+4>>2]|0;if(!a)a=0;else a=(b[a+101>>0]|0)!=0}_P(e);_P(d);h=a;u=g;return h|0}}h=Ya()|0;_P(d);jb(h|0);return 0}function yv(a,c){a=a|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+96|0;g=j+56|0;h=j+16|0;k=j;l=VN(104)|0;i=h;e=i+40|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0));x=0;d=+ga(3,((b[c+11>>0]|0)<0?f[c>>2]|0:c)|0);i=x;x=0;if(i&1){k=Ya()|0;Hta(l);jb(k|0)}f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=k+11|0;b[c>>0]=1;b[k>>0]=37;b[k+1>>0]=0;x=0;i=g;a=h;e=i+40|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0));Ha(1,l|0,g|0,+d,k|0,1);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0){k=a;Hta(l);jb(k|0)}Hta(f[k>>2]|0);k=a;Hta(l);jb(k|0)}else{if((b[c>>0]|0)>=0){k=l+54|0;b[k>>0]=0;k=l+52|0;b[k>>0]=1;u=j;return l|0}Hta(f[k>>2]|0);k=l+54|0;b[k>>0]=0;k=l+52|0;b[k>>0]=1;u=j;return l|0}return 0}function zv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=u;u=u+32|0;k=h+8|0;d=h;i=h+16|0;g=a+4|0;FI(g,c+52|0,c);e=c+68|0;qV(k,f[e>>2]|0);f[k>>2]=7696;j=(f[k+4>>2]|0)==0;_P(k);if(!j){yy(g);qV(d,f[e>>2]|0);f[d>>2]=7696;k=f[d+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(k&1){k=Ya()|0;_P(d);jb(k|0)}else{_P(d);u=h;return}}if(!(b[c+72>>0]|0)){u=h;return}c=i+4|0;f[c>>2]=0;f[c+4>>2]=0;c=i+11|0;b[c>>0]=3;b[i>>0]=b[49844]|0;b[i+1>>0]=b[49845]|0;b[i+2>>0]=b[49846]|0;b[i+3>>0]=0;x=0;Ga(682,g|0,i|0);k=x;x=0;if(k&1){a=Ya()|0;if((b[c>>0]|0)<0)Hta(f[i>>2]|0);k=a;jb(k|0)}else{if((b[c>>0]|0)<0)Hta(f[i>>2]|0);u=h;return}}function Av(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=VN(24)|0;f[a>>2]=h;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;g=h+8|0;x=0;Ga(462,g|0,f[d+4>>2]|0);e=x;x=0;if(e&1){d=Ya()|0;f[a>>2]=0;a=d;Hta(h);jb(a|0)}f[g>>2]=7696;e=h+16|0;x=0;Ga(462,e|0,f[d+12>>2]|0);d=x;x=0;if(d&1){d=Ya()|0;_P(g);f[a>>2]=0;a=d;Hta(h);jb(a|0)}f[e>>2]=7696;b[c>>0]=1;c=f[h+12>>2]|0;if(!c){d=0;a=h+4|0;f[a>>2]=d;f[h>>2]=0;return}x=0;c=qa(f[(f[c>>2]|0)+8>>2]|0,c|0)|0;d=x;x=0;if(!(d&1)){d=c;a=h+4|0;f[a>>2]=d;f[h>>2]=0;return}d=Ya()|0;f[a>>2]=0;_P(h+16|0);_P(h+8|0);a=d;Hta(h);jb(a|0)}function Bv(a){a=a|0;var c=0,d=0;c=ZW(a)|0;do if(!c){d=a+1|0;c=(b[a>>0]|0)==36?d:a;if(c|0){while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0)break}}c=fs(a)|0;if(!c)if((b[a>>0]|0)==45)c=d;else return a|0}while(0);while(1){d=ZW(c)|0;if(d|0){c=d;continue}a=c+1|0;d=(b[c>>0]|0)==36?a:c;while(1)if((b[d>>0]|0)==45)d=d+1|0;else break;d=Ay(d)|0;if(d|0){d=wy(d)|0;if(d|0){c=d;continue}}d=fs(c)|0;if(d|0){c=d;continue}if((b[c>>0]|0)==45)c=a;else break}return c|0}function Cv(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;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((1073741806-c|0)>>>0>>0)CO(a);l=a+8|0;if((b[l+3>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<536870887){d=d+c|0;k=c<<1;d=d>>>0>>0?k:d;d=d>>>0<2?2:d+4&-4;if(d>>>0>1073741823){d=Ta(8)|0;x=0;Ga(461,d|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(d|0);jb(o|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}}else d=1073741807;k=VN(d<<2)|0;if(g|0)RP(k,m,g)|0;if(i|0)RP(k+(g<<2)|0,j,i)|0;e=e-h|0;j=e-g|0;if(j|0)RP(k+(g<<2)+(i<<2)|0,m+(g<<2)+(h<<2)|0,j)|0;if((c|0)!=1)Hta(m);f[a>>2]=k;f[l>>2]=d|-2147483648;i=e+i|0;f[a+4>>2]=i;f[n>>2]=0;$ga(k+(i<<2)|0,n);u=o;return}function Dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+32|0;d=h+8|0;e=h;g=h+16|0;a:do if(a|0){c=a;while(1){if((ww(c,b)|0)!=(c+4|0))break;c=f[c+12>>2]|0;if(!c)break a}f[e>>2]=b;hs(d,c,b,87748,e,g);g=f[d>>2]|0;g=g+28|0;u=h;return g|0}while(0);f[e>>2]=b;hs(d,a,b,87748,e,g);g=f[d>>2]|0;g=g+28|0;u=h;return g|0}function Ev(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;l=0;m=u;u=u+48|0;k=m+16|0;g=m;e=m+32|0;i=a+28|0;d=f[i>>2]|0;f[e>>2]=d;j=a+20|0;d=(f[j>>2]|0)-d|0;f[e+4>>2]=d;f[e+8>>2]=b;f[e+12>>2]=c;d=d+c|0;h=a+60|0;f[g>>2]=f[h>>2];f[g+4>>2]=e;f[g+8>>2]=2;g=caa(nb(146,g|0)|0)|0;a:do if((d|0)==(g|0))l=3;else{b=2;while(1){if((g|0)<0)break;d=d-g|0;o=f[e+4>>2]|0;n=g>>>0>o>>>0;e=n?e+8|0:e;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;f[e>>2]=(f[e>>2]|0)+o;n=e+4|0;f[n>>2]=(f[n>>2]|0)-o;f[k>>2]=f[h>>2];f[k+4>>2]=e;f[k+8>>2]=b;g=caa(nb(146,k|0)|0)|0;if((d|0)==(g|0)){l=3;break a}}f[a+16>>2]=0;f[i>>2]=0;f[j>>2]=0;f[a>>2]=f[a>>2]|32;if((b|0)==2)c=0;else c=c-(f[e+4>>2]|0)|0}while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[i>>2]=o;f[j>>2]=o}u=m;return c|0}function Fv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+32|0;h=g+8|0;e=g;qq(a);if(b[a+97>>0]|0)if((f[f[a+68>>2]>>2]|0)==2){gq(h,c);d=h+11|0;c=b[d>>0]|0;i=c<<24>>24<0;x=0;ta(41,a+4|0,(i?f[h>>2]|0:h)|0,(i?f[h+4>>2]|0:c&255)|0)|0;c=x;x=0;if(c&1)c=Ya()|0;else{x=0;Ga(624,e|0,h|0);i=x;x=0;if(!(i&1)){x=0;Ga(692,a+16|0,e|0);i=x;x=0;if(!(i&1)){if((b[d>>0]|0)<0)Hta(f[h>>2]|0);u=g;return}}c=Ya()|0}if((b[d>>0]|0)>=0)jb(c|0);Hta(f[h>>2]|0);jb(c|0)}i=b[c+11>>0]|0;e=i<<24>>24<0;VD(a+4|0,e?f[c>>2]|0:c,e?f[c+4>>2]|0:i&255)|0;mD(h,c);Sca(a+16|0,h);u=g;return}function Gv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;f[a>>2]=0;j=a+4|0;f[j>>2]=0;f[a+8>>2]=0;g=c+4|0;d=(f[g>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/52|0;if(!d)return;a:do if(e>>>0>82595524){x=0;Fa(426,a|0);x=0}else{x=0;h=qa(318,d|0)|0;i=x;x=0;if(!(i&1)){f[j>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(e*52|0);d=f[c>>2]|0;i=f[g>>2]|0;if((d|0)==(i|0))return;else c=h;do{e=c;g=d;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(459,c+40|0,d+40|0);h=x;x=0;if(h&1)break a;d=d+52|0;c=(f[j>>2]|0)+52|0;f[j>>2]=c}while((d|0)!=(i|0));return}}while(0);g=Ya()|0;d=f[a>>2]|0;if(!d)jb(g|0);c=f[j>>2]|0;if((c|0)!=(d|0)){do{e=c+-52|0;f[j>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[j>>2]|0}else c=e}while((c|0)!=(d|0));d=f[a>>2]|0}Hta(d);jb(g|0)}function Hv(a,b){a=a|0;b=b|0;if(!(a>>>0<1114112&(a&-2048|0)!=55296)){b=Ta(8)|0;f[b>>2]=16684;f[b+4>>2]=a;fb(b|0,2528,223)}if(a>>>0<128){b=f[b>>2]|0;uD(b,a&255);return b|0}if(a>>>0<2048){b=f[b>>2]|0;uD(b,(a>>>6|192)&255);uD(b,(a&63|128)&255);return b|0}if(a>>>0<65536){b=f[b>>2]|0;uD(b,(a>>>12|224)&255);uD(b,(a>>>6&63|128)&255);uD(b,(a&63|128)&255);return b|0}else{b=f[b>>2]|0;uD(b,(a>>>18|240)&255);uD(b,(a>>>12&63|128)&255);uD(b,(a>>>6&63|128)&255);uD(b,(a&63|128)&255);return b|0}return 0}function Iv(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;j=u;u=u+32|0;g=j+24|0;h=j+12|0;k=j;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;i=yqa(d)|0;if(i>>>0>4294967279)CO(k);if(i>>>0<11){b[k+11>>0]=i;e=k}else{l=i+16&-16;e=VN(l)|0;f[k>>2]=e;f[k+8>>2]=l|-2147483648;f[k+4>>2]=i}Naa(e,d,i)|0;b[g>>0]=0;vga(e+i|0,g);x=0;Ia(164,h|0,c|0,k|0);l=x;x=0;do if(l&1)e=Ya()|0;else{x=0;Ga(538,a|0,h|0);l=x;x=0;if(l&1){e=Ya()|0;Aaa(h);break}else{Aaa(h);Aaa(k);f[a>>2]=29600;i=c;k=f[i+4>>2]|0;l=a+8|0;f[l>>2]=f[i>>2];f[l+4>>2]=k;u=j;return}}while(0);Aaa(k);jb(e|0)}function Jv(a){a=a|0;var c=0,d=0;d=0;do switch(b[a>>0]|0){case 0:{a=0;break}case 40:{c=47573;d=12;break}case 41:{c=47574;d=12;break}case 91:{c=47575;d=12;break}case 93:{c=47576;d=12;break}case 123:{c=47577;d=12;break}case 125:{c=47578;d=12;break}case 34:{c=47579;d=12;break}case 39:{c=47580;d=12;break}case 35:{c=47581;d=12;break}case 47:{c=47582;d=12;break}case 59:{c=47583;d=12;break}default:{c=47584;d=12}}while(0);a:do if((d|0)==12)if(!(b[c>>0]|0))while(1){a=a+1|0;do switch(b[a>>0]|0){case 0:break a;case 40:{c=47573;break}case 41:{c=47574;break}case 91:{c=47575;break}case 93:{c=47576;break}case 123:{c=47577;break}case 125:{c=47578;break}case 34:{c=47579;break}case 39:{c=47580;break}case 35:{c=47581;break}case 47:{c=47582;break}case 59:{c=47583;break}default:c=47584}while(0);if(b[c>>0]|0)break a}else a=0;while(0);return a|0}function Kv(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;h=k;XQ(a);f[a>>2]=16984;f[a+32>>2]=0;f[a+36>>2]=0;f[a+40>>2]=0;c=a+52|0;i=a+68|0;j=a+98|0;e=c;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));d[c+44>>1]=0;b[c+46>>0]=0;c=a+4|0;y9(h,c);x=0;e=sa(1017,h|0,85112)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}uga(h);do if(e){y9(h,c);x=0;c=sa(994,h|0,85112)|0;g=x;x=0;if(!(g&1)){f[i>>2]=c;uga(h);i=f[i>>2]|0;i=(vc[f[(f[i>>2]|0)+28>>2]&511](i)|0)&1;b[j>>0]=i;break}k=Ya()|0;uga(h);Bca(a);jb(k|0)}while(0);x=0;ta(f[(f[a>>2]|0)+12>>2]|0,a|0,0,4096)|0;j=x;x=0;if(!(j&1)){u=k;return}k=Ya()|0;Bca(a);jb(k|0)}function Lv(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;j=u;u=u+48|0;h=j;i=j+40|0;qV(i,f[e+4>>2]|0);f[i>>2]=7280;g=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));x=0;Fa(427,a|0);g=x;x=0;do if(g&1)e=Ya()|0;else{g=a+12|0;c=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;e=a+64|0;x=0;Ga(462,e|0,f[i+4>>2]|0);h=x;x=0;if(h&1){e=Ya()|0;break}f[e>>2]=7280;_P(i);f[a>>2]=7072;e=a+72|0;x=0;Ga(462,e|0,f[d+4>>2]|0);i=x;x=0;if(!(i&1)){f[e>>2]=7168;b[a+80>>0]=0;f[c>>2]=1;u=j;return}j=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(j|0)}while(0);_P(i);j=e;jb(j|0)}function Mv(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;l=u;u=u+128|0;a=l;m=l+112|0;n=l+100|0;i=l+16|0;j=l+12|0;k=l+8|0;h=l+4|0;b[m>>0]=b[57958]|0;b[m+1>>0]=b[57959]|0;b[m+2>>0]=b[57960]|0;b[m+3>>0]=b[57961]|0;b[m+4>>0]=b[57962]|0;b[m+5>>0]=b[57963]|0;wJ(m+1|0,57964,0,f[d+4>>2]|0);o=$O()|0;f[a>>2]=g;g=n+(GL(n,12,o,m,a)|0)|0;m=QH(n,g,d)|0;kha(a,d);x=0;Ma(13,n|0,m|0,g|0,i|0,j|0,k|0,a|0);g=x;x=0;if(g&1){o=Ya()|0;uga(a);jb(o|0)}else{uga(a);f[h>>2]=f[c>>2];n=f[j>>2]|0;o=f[k>>2]|0;f[a>>2]=f[h>>2];o=zp(a,i,n,o,d,e)|0;u=l;return o|0}return 0}function Nv(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;l=u;u=u+128|0;a=l;m=l+122|0;n=l+108|0;i=l+16|0;j=l+12|0;k=l+8|0;h=l+4|0;b[m>>0]=b[57958]|0;b[m+1>>0]=b[57959]|0;b[m+2>>0]=b[57960]|0;b[m+3>>0]=b[57961]|0;b[m+4>>0]=b[57962]|0;b[m+5>>0]=b[57963]|0;wJ(m+1|0,57964,1,f[d+4>>2]|0);o=$O()|0;f[a>>2]=g;g=n+(GL(n,13,o,m,a)|0)|0;m=QH(n,g,d)|0;kha(a,d);x=0;Ma(13,n|0,m|0,g|0,i|0,j|0,k|0,a|0);g=x;x=0;if(g&1){o=Ya()|0;uga(a);jb(o|0)}else{uga(a);f[h>>2]=f[c>>2];n=f[j>>2]|0;o=f[k>>2]|0;f[a>>2]=f[h>>2];o=zp(a,i,n,o,d,e)|0;u=l;return o|0}return 0}function Ov(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Os(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Pv(a){a=a|0;var c=0,d=0,e=0,g=0;e=u;u=u+16|0;c=e;a:do if(f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0){x=0;Ga(535,c|0,a|0);d=x;x=0;b:do if(d&1)c=Za(0)|0;else{do if(b[c>>0]|0){d=f[a+(f[(f[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+24>>2]|0,d|0)|0;g=x;x=0;if(!(g&1)){if((d|0)!=-1)break;g=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,g|0,f[g+16>>2]|1|0);g=x;x=0;if(!(g&1))break}g=Za(0)|0;XB(c);c=g;break b}while(0);XB(c);break a}while(0);Ua(c|0)|0;x=0;Fa(439,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);g=x;x=0;if(!(g&1)){Wa();break}c=Ya()|0;x=0;Ea(4);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}else jb(c|0)}while(0);u=e;return a|0}function Qv(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;l=u;u=u+64|0;a=l;m=l+52|0;n=l+40|0;i=l+16|0;j=l+12|0;k=l+8|0;h=l+4|0;b[m>>0]=b[57958]|0;b[m+1>>0]=b[57959]|0;b[m+2>>0]=b[57960]|0;b[m+3>>0]=b[57961]|0;b[m+4>>0]=b[57962]|0;b[m+5>>0]=b[57963]|0;wJ(m+1|0,57964,0,f[d+4>>2]|0);o=$O()|0;f[a>>2]=g;g=n+(GL(n,12,o,m,a)|0)|0;m=QH(n,g,d)|0;kha(a,d);x=0;Ma(11,n|0,m|0,g|0,i|0,j|0,k|0,a|0);g=x;x=0;if(g&1){o=Ya()|0;uga(a);jb(o|0)}else{uga(a);f[h>>2]=f[c>>2];n=f[j>>2]|0;o=f[k>>2]|0;f[a>>2]=f[h>>2];o=ks(a,i,n,o,d,e)|0;u=l;return o|0}return 0}function Rv(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;l=u;u=u+64|0;a=l;m=l+52|0;n=l+39|0;i=l+16|0;j=l+12|0;k=l+8|0;h=l+4|0;b[m>>0]=b[57958]|0;b[m+1>>0]=b[57959]|0;b[m+2>>0]=b[57960]|0;b[m+3>>0]=b[57961]|0;b[m+4>>0]=b[57962]|0;b[m+5>>0]=b[57963]|0;wJ(m+1|0,57964,1,f[d+4>>2]|0);o=$O()|0;f[a>>2]=g;g=n+(GL(n,13,o,m,a)|0)|0;m=QH(n,g,d)|0;kha(a,d);x=0;Ma(11,n|0,m|0,g|0,i|0,j|0,k|0,a|0);g=x;x=0;if(g&1){o=Ya()|0;uga(a);jb(o|0)}else{uga(a);f[h>>2]=f[c>>2];n=f[j>>2]|0;o=f[k>>2]|0;f[a>>2]=f[h>>2];o=ks(a,i,n,o,d,e)|0;u=l;return o|0}return 0}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;f[c>>2]=f[f[c>>2]>>2];if(oS(a,b,0)|0)b=1;else if(!b)b=0;else{d=uy(b,6104,6288,0)|0;if(!d)b=0;else if(!(f[d+8>>2]&~f[a+8>>2])){b=a+12|0;a=d+12|0;if(gea(f[b>>2]|0,f[a>>2]|0,0)|0)b=1;else if(gea(f[b>>2]|0,6320,0)|0)b=1;else{b=f[b>>2]|0;if(!b)b=0;else{e=uy(b,6104,6088,0)|0;if(!e)b=0;else{b=f[a>>2]|0;if(!b)b=0;else{b=uy(b,6104,6088,0)|0;if(!b)b=0;else{a=g+4|0;d=a+52|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(d|0));f[g>>2]=b;f[g+8>>2]=e;f[g+12>>2]=-1;f[g+48>>2]=1;Oc[f[(f[b>>2]|0)+28>>2]&63](b,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}}}}}}else b=0}u=h;return b|0}function Tv(a){a=a|0;var c=0,d=0;a:while(1){c=b[a>>0]|0;d=a+1|0;if((c<<24>>24!=123&c<<24>>24!=125?(c<<24>>24==59?d:0):d)|0){c=12;break}c=RC(a)|0;do if(!c){c=_q(a)|0;if(c|0){d=u_(c)|0;c=d|0?d:c;break}c=VO(a)|0;if(!c){c=PO(a)|0;if(!c){c=KC(a)|0;if(!c){a=0;c=12;break a}c=_q(c)|0;if(!c){a=0;c=12;break a}d=u_(c)|0;c=d|0?d:c}}}while(0);d=(c|0)==0;if((c|0)==(a|0)|d){a=0;c=12;break}else a=d?a:c}if((c|0)==12)return a|0;return 0}function Uv(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=NF(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Vv(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;j=u;u=u+48|0;h=j;i=j+40|0;qV(i,f[e+4>>2]|0);f[i>>2]=7280;g=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));x=0;Fa(427,a|0);g=x;x=0;do if(g&1)e=Ya()|0;else{g=a+12|0;c=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;e=a+64|0;x=0;Ga(462,e|0,f[i+4>>2]|0);h=x;x=0;if(h&1){e=Ya()|0;break}f[e>>2]=7280;_P(i);f[a>>2]=12276;e=a+72|0;x=0;Ga(462,e|0,f[d+4>>2]|0);i=x;x=0;if(!(i&1)){f[e>>2]=12372;f[c>>2]=4;u=j;return}j=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(j|0)}while(0);_P(i);j=e;jb(j|0)}function Wv(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=cE(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Xv(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=dE(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Yv(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=uM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;wta(85160)|0;while(1){if((f[a>>2]|0)!=1)break;Yb(85188,85160)|0}do if(!(f[a>>2]|0)){f[a>>2]=1;x=0;qa(408,85160)|0;d=x;x=0;if(!(d&1)){x=0;Fa(c|0,b|0);d=x;x=0;if(!(d&1)){x=0;qa(409,85160)|0;d=x;x=0;if(!(d&1)){f[a>>2]=-1;x=0;qa(408,85160)|0;d=x;x=0;if(!(d&1)){x=0;qa(410,85188)|0;d=x;x=0;if(!(d&1))break}}}}d=Za(0)|0;Ua(d|0)|0;x=0;qa(409,85160)|0;d=x;x=0;if(!(d&1)){f[a>>2]=0;x=0;qa(408,85160)|0;d=x;x=0;if(!(d&1)){x=0;qa(410,85188)|0;d=x;x=0;if(!(d&1)){x=0;Ea(3);x=0}}}a=Ya()|0;x=0;Ea(4);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}else jb(a|0)}else lta(85160)|0;while(0);return}function _v(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=kL(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function $v(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=iD(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function aw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=jD(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function bw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=tG(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function cw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=wM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function dw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=xM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ew(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=yM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|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;l=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Rx(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function gw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Wr(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function hw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=AM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function iw(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;j=u;u=u+48|0;h=j;i=j+40|0;qV(i,f[d+4>>2]|0);f[i>>2]=7280;g=h;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));x=0;Fa(427,a|0);g=x;x=0;do if(g&1)d=Ya()|0;else{g=a+12|0;c=h;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[i+4>>2]|0);h=x;x=0;if(h&1){d=Ya()|0;break}f[d>>2]=7280;_P(i);f[a>>2]=13040;d=a+72|0;x=0;Ga(462,d|0,f[e+4>>2]|0);i=x;x=0;if(!(i&1)){f[d>>2]=13136;f[c>>2]=5;u=j;return}j=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(j|0)}while(0);_P(i);j=d;jb(j|0)}function jw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=jA(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|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,l=0,m=0;l=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=DM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function lw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Px(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function mw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=GM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function nw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=HM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ow(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Rs(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function pw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=IM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function qw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=SH(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function rw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=II(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function sw(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[a>>2]=10464;b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];e=a+60|0;f[e>>2]=12112;x=0;Ga(488,a+64|0,c+64|0);i=x;x=0;if(i&1){a=Ya()|0;jb(a|0)}f[a+76>>2]=f[c+76>>2];f[a>>2]=11932;f[e>>2]=12056;d=a+80|0;x=0;Ga(462,d|0,f[c+84>>2]|0);i=x;x=0;if(!(i&1)){f[d>>2]=7904;b[a+88>>0]=b[c+88>>0]|0;b[a+89>>0]=b[c+89>>0]|0;return}i=Ya()|0;h=I;f[e>>2]=12112;c=a+64|0;d=f[c>>2]|0;if(!d){a=i;jb(a|0)}g=a+68|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{a=e+-8|0;f[g>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[g>>2]|0}while((e|0)!=(d|0));d=f[c>>2]|0}Hta(d);a=i;jb(a|0)}function tw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=tS(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function uw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=KM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function vw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=hA(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ww(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;i=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;h=b[e+11>>0]|0;g=h<<24>>24<0;h=g?f[c+20>>2]|0:h&255;d=k>>>0>>0?k:h;if(!d)i=6;else{d=lO(g?f[e>>2]|0:e,j,d)|0;if(!d)i=6;else if((d|0)>=0)break}if((i|0)==6){i=0;if(h>>>0>=k>>>0)break}c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;g=b[d+11>>0]|0;e=g<<24>>24<0;g=e?f[a+20>>2]|0:g&255;c=g>>>0>>0?g:k;if(c|0){c=lO(j,e?f[d>>2]|0:d,c)|0;if(c|0){if((c|0)<0)break;return a|0}}if(k>>>0>=g>>>0){l=a;return l|0}}}while(0);return l|0}function xw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Xz(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function yw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=gG(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function zw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=HO(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Aw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=gK(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Bw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=u_(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Cw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=MW(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Dw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=LM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Ew(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=TH(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|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;l=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=RC(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|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;j=u;u=u+48|0;h=j;i=j+40|0;qV(i,f[e+4>>2]|0);f[i>>2]=7280;g=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));x=0;Fa(427,a|0);g=x;x=0;do if(g&1)e=Ya()|0;else{g=a+12|0;c=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;e=a+64|0;x=0;Ga(462,e|0,f[i+4>>2]|0);h=x;x=0;if(h&1){e=Ya()|0;break}f[e>>2]=7280;_P(i);f[a>>2]=8880;e=a+72|0;x=0;Ga(462,e|0,f[d+4>>2]|0);i=x;x=0;if(!(i&1)){f[e>>2]=7696;f[c>>2]=19;u=j;return}j=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(j|0)}while(0);_P(i);j=e;jb(j|0)}function Hw(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;j=u;u=u+48|0;h=j;i=j+40|0;qV(i,f[e+4>>2]|0);f[i>>2]=7280;g=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));x=0;Fa(427,a|0);g=x;x=0;do if(g&1)e=Ya()|0;else{g=a+12|0;c=h;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;e=a+64|0;x=0;Ga(462,e|0,f[i+4>>2]|0);h=x;x=0;if(h&1){e=Ya()|0;break}f[e>>2]=7280;_P(i);f[a>>2]=7488;e=a+72|0;x=0;Ga(462,e|0,f[d+4>>2]|0);i=x;x=0;if(!(i&1)){f[e>>2]=7584;f[c>>2]=2;u=j;return}j=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(j|0)}while(0);_P(i);j=e;jb(j|0)}function Iw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+20>>2]|0;a=f[a+24>>2]|0;if(a|0){ega(a);QZ(a)}h=f[b+20>>2]|0;a=f[b+24>>2]|0;if(a|0){ega(a);QZ(a)}e=c+4|0;g=c+20|0;if(!(f[g>>2]|0))return;d=c+16|0;a=f[d>>2]|0;while(1){b=f[(f[e>>2]|0)+(((a>>>0)/146|0)<<2)>>2]|0;a=(a>>>0)%146|0;if((f[b+(a*28|0)+4>>2]|0)!=1){a=13;break}Mz(h,b+(a*28|0)|0);b=f[d>>2]|0;a=f[(f[e>>2]|0)+(((b>>>0)/146|0)<<2)>>2]|0;b=(b>>>0)%146|0;c=f[a+(b*28|0)+24>>2]|0;if(c|0)QZ(c);_P(a+(b*28|0)+12|0);b=(f[g>>2]|0)+-1|0;f[g>>2]=b;a=(f[d>>2]|0)+1|0;f[d>>2]=a;if(a>>>0>291){Hta(f[f[e>>2]>>2]|0);f[e>>2]=(f[e>>2]|0)+4;a=(f[d>>2]|0)+-146|0;f[d>>2]=a;b=f[g>>2]|0}if(!b){a=13;break}}if((a|0)==13)return}function Jw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=by(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|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,l=0,m=0;l=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=WH(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Lw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=PM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Mw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=XH(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Nw(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;i=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;h=b[e+11>>0]|0;g=h<<24>>24<0;h=g?f[c+20>>2]|0:h&255;d=k>>>0>>0?k:h;if(!d)i=6;else{d=lO(g?f[e>>2]|0:e,j,d)|0;if(!d)i=6;else if((d|0)>=0)break}if((i|0)==6){i=0;if(h>>>0>=k>>>0)break}c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;g=b[d+11>>0]|0;e=g<<24>>24<0;g=e?f[a+20>>2]|0:g&255;c=g>>>0>>0?g:k;if(c|0){c=lO(j,e?f[d>>2]|0:d,c)|0;if(c|0){if((c|0)<0)break;return a|0}}if(k>>>0>=g>>>0){l=a;return l|0}}}while(0);return l|0}function Ow(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=TV(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Pw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=QM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Qw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=RM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Rw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=_q(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Sw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Tx(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Tw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=ZH(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Uw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=CD(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Vw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=VM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|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;l=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=YF(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Xw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=WM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Yw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=XM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Zw(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=VO(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function _w(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=LO(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function $w(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=MO(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ax(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=ZM(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function bx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=_M(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function cx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=$M(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function dx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=pC(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ex(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=Mka(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function fx(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;j=u;u=u+48|0;i=j;k=j+40|0;qV(k,f[e+4>>2]|0);f[k>>2]=7280;h=i;e=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(e|0));x=0;Fa(427,a|0);h=x;x=0;do if(h&1)e=Ya()|0;else{h=a+12|0;c=i;e=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(e|0));f[a+52>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;e=a+64|0;x=0;Ga(462,e|0,f[k+4>>2]|0);i=x;x=0;if(i&1){e=Ya()|0;break}f[e>>2]=7280;_P(k);f[a>>2]=7392;b[a+72>>0]=g;x=0;Ga(459,a+76|0,d|0);k=x;x=0;if(!(k&1)){u=j;return}k=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(k|0)}while(0);_P(k);k=e;jb(k|0)}function gx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=PO(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function hx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=dN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ix(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=eN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function jx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=jL(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function kx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=fN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function lx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=gN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function mx(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(a|0){d=f[a>>2]|0;e=f[(f[d+-4>>2]|0)+4>>2]|0;if((e|0)==30740){c=xc[f[d+160>>2]&2047](a,c)|0;return c|0}if((e|0)==30844){c=xc[f[d+160>>2]&2047](a,c)|0;return c|0}if((e|0)==30898){c=xc[f[d+160>>2]&2047](a,c)|0;return c|0}if((e|0)==30870){c=xc[f[d+160>>2]&2047](a,c)|0;return c|0}}g=a+84|0;d=c+84|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+88>>2]|0:e;l=b[d+11>>0]|0;h=l<<24>>24<0;if((j|0)!=((h?f[c+88>>2]|0:l&255)|0)){c=0;return c|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;a:do if(i){if(!h)if(lO(l,d,j)|0){c=0;return c|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){c=0;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}return d|0}while(0);c=Xp(a,c)|0;return c|0}function nx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=kL(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ox(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=zN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function px(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=AN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function qx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=BN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function rx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=jN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function sx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=kN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function tx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=lL(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function ux(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=oW(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function vx(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=0;h=u;u=u+32|0;d=h+16|0;e=h;i=a;f[i>>2]=0;f[i+4>>2]=0;i=a+8|0;f[i>>2]=-1;f[i+4>>2]=-1;x=0;Ia(152,d|0,c|0,1);i=x;x=0;a:do if(i&1){d=Za(0)|0;e=c;a=c;g=8}else do if(b[d>>0]|0){i=f[c+(f[(f[c>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;La(f[(f[i>>2]|0)+16>>2]|0,e|0,i|0,0,0,1,8);i=x;x=0;if(i&1){d=Za(0)|0;e=c;a=c;g=8;break a}else{f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];break}}while(0);while(0);do if((g|0)==8){Ua(d|0)|0;x=0;Fa(439,e+(f[(f[a>>2]|0)+-12>>2]|0)|0);i=x;x=0;if(!(i&1)){Wa();break}a=Ya()|0;x=0;Ea(4);i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}else jb(a|0)}while(0);u=h;return}function wx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=jH(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function xx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=lN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function yx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=mL(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function zx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=CN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Ax(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=mN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Bx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=DN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Cx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=EN(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Dx(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;i=0;j=u;u=u+48|0;a=j+8|0;g=j;h=VN(112)|0;x=0;c=a;d=b+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Ia(84,h|0,a|0,0);e=x;x=0;if(e&1){j=Ya()|0;Hta(h);jb(j|0)}e=b+72|0;c=(f[b+80>>2]|0)-(f[b+76>>2]|0)>>3;if(!c){u=j;return h|0}d=h+72|0;a=0;while(1){b=(xc[f[(f[e>>2]|0)+16>>2]&2047](e,a)|0)+4|0;if(!(Jq(f[b>>2]|0)|0)){b=f[(f[d>>2]|0)+20>>2]|0;k=(xc[f[(f[e>>2]|0)+16>>2]&2047](e,a)|0)+4|0;qV(g,f[k>>2]|0);f[g>>2]=15556;x=0;Ga(b|0,d|0,g|0);b=x;x=0;if(b&1)break;_P(g)}a=a+1|0;if(a>>>0>=c>>>0){i=4;break}}if((i|0)==4){u=j;return h|0}k=Ya()|0;_P(g);jb(k|0);return 0}function Ex(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=0;h=u;u=u+16|0;d=h;a:do if(!(b[78536]|0))if(lda(78536)|0){f[21054]=0;f[21055]=0;f[21056]=0;e=xqa(27176)|0;b:do if(e>>>0>1073741807){x=0;Fa(428,84216);x=0;g=15}else{do if(e>>>0<2){b[84227]=e;a=84216}else{c=e+4&-4;if(c>>>0<=1073741823){x=0;a=qa(318,c<<2|0)|0;g=x;x=0;if(g&1){g=15;break b}f[21054]=a;f[21056]=c|-2147483648;f[21055]=e;break}a=Ta(8)|0;x=0;Ga(461,a|0,60050);h=x;x=0;if(h&1){h=Ya()|0;bb(a|0);a=h;break b}else{f[a>>2]=29784;x=0;Ia(77,a|0,6192,412);x=0;g=15;break b}}while(0);RP(a,27176,e)|0;f[d>>2]=0;$ga(a+(e<<2)|0,d);break a}while(0);if((g|0)==15)a=Ya()|0;jb(a|0)}while(0);u=h;return 84216}function Fx(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=0;h=u;u=u+16|0;d=h;a:do if(!(b[78544]|0))if(lda(78544)|0){f[21057]=0;f[21058]=0;f[21059]=0;e=xqa(27212)|0;b:do if(e>>>0>1073741807){x=0;Fa(428,84228);x=0;g=15}else{do if(e>>>0<2){b[84239]=e;a=84228}else{c=e+4&-4;if(c>>>0<=1073741823){x=0;a=qa(318,c<<2|0)|0;g=x;x=0;if(g&1){g=15;break b}f[21057]=a;f[21059]=c|-2147483648;f[21058]=e;break}a=Ta(8)|0;x=0;Ga(461,a|0,60050);h=x;x=0;if(h&1){h=Ya()|0;bb(a|0);a=h;break b}else{f[a>>2]=29784;x=0;Ia(77,a|0,6192,412);x=0;g=15;break b}}while(0);RP(a,27212,e)|0;f[d>>2]=0;$ga(a+(e<<2)|0,d);break a}while(0);if((g|0)==15)a=Ya()|0;jb(a|0)}while(0);u=h;return 84228}function Gx(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=0;h=u;u=u+16|0;d=h;a:do if(!(b[78552]|0))if(lda(78552)|0){f[21060]=0;f[21061]=0;f[21062]=0;e=xqa(27260)|0;b:do if(e>>>0>1073741807){x=0;Fa(428,84240);x=0;g=15}else{do if(e>>>0<2){b[84251]=e;a=84240}else{c=e+4&-4;if(c>>>0<=1073741823){x=0;a=qa(318,c<<2|0)|0;g=x;x=0;if(g&1){g=15;break b}f[21060]=a;f[21062]=c|-2147483648;f[21061]=e;break}a=Ta(8)|0;x=0;Ga(461,a|0,60050);h=x;x=0;if(h&1){h=Ya()|0;bb(a|0);a=h;break b}else{f[a>>2]=29784;x=0;Ia(77,a|0,6192,412);x=0;g=15;break b}}while(0);RP(a,27260,e)|0;f[d>>2]=0;$ga(a+(e<<2)|0,d);break a}while(0);if((g|0)==15)a=Ya()|0;jb(a|0)}while(0);u=h;return 84240}function Hx(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=0;h=u;u=u+16|0;d=h;a:do if(!(b[78528]|0))if(lda(78528)|0){f[21051]=0;f[21052]=0;f[21053]=0;e=xqa(27140)|0;b:do if(e>>>0>1073741807){x=0;Fa(428,84204);x=0;g=15}else{do if(e>>>0<2){b[84215]=e;a=84204}else{c=e+4&-4;if(c>>>0<=1073741823){x=0;a=qa(318,c<<2|0)|0;g=x;x=0;if(g&1){g=15;break b}f[21051]=a;f[21053]=c|-2147483648;f[21052]=e;break}a=Ta(8)|0;x=0;Ga(461,a|0,60050);h=x;x=0;if(h&1){h=Ya()|0;bb(a|0);a=h;break b}else{f[a>>2]=29784;x=0;Ia(77,a|0,6192,412);x=0;g=15;break b}}while(0);RP(a,27140,e)|0;f[d>>2]=0;$ga(a+(e<<2)|0,d);break a}while(0);if((g|0)==15)a=Ya()|0;jb(a|0)}while(0);u=h;return 84204}function Ix(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=u;u=u+16|0;i=j;d=a+8|0;g=a+4|0;e=xc[f[c>>2]&2047](g,a)|0;h=xc[f[c>>2]&2047](d,g)|0;do if(e){e=f[a>>2]|0;if(h){f[a>>2]=f[d>>2];f[d>>2]=e;break}f[a>>2]=f[g>>2];f[g>>2]=e;if(xc[f[c>>2]&2047](d,g)|0){h=f[g>>2]|0;f[g>>2]=f[d>>2];f[d>>2]=h}}else if(h){h=f[g>>2]|0;f[g>>2]=f[d>>2];f[d>>2]=h;if(xc[f[c>>2]&2047](g,a)|0){h=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=h}}while(0);e=a+12|0;if((e|0)==(b|0)){u=j;return}while(1){if(xc[f[c>>2]&2047](e,d)|0){f[i>>2]=f[e>>2];g=e;while(1){f[g>>2]=f[d>>2];if((d|0)==(a|0))break;g=d+-4|0;if(xc[f[c>>2]&2047](i,g)|0){h=d;d=g;g=h}else break}f[d>>2]=f[i>>2]}d=e+4|0;if((d|0)==(b|0))break;else{h=e;e=d;d=h}}u=j;return}function Jx(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=u;u=u+64|0;h=l+48|0;e=l;i=l+40|0;k=a+76|0;g=f[k>>2]|0;if(!(b[g>>0]|0)){k=0;u=l;return k|0}if(c){j=VX(g)|0;g=j|0?j:g}j=NP(g)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){k=0;u=l;return k|0}if(!d)if((j|0)==0|(j|0)==(g|0)){k=0;u=l;return k|0}c=f[k>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=j;m=a+96|0;vG(h,m,c,g);c=a+84|0;f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];vG(h,m,g,j);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(i,m,c);f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];UI(e,d,g,a+168|0,c,h);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[k>>2]=j;m=j;u=l;return m|0}function Kx(a){a=a|0;var c=0,d=0,e=0,f=0;e=0;if(!a){e=0;return e|0}c=b[48530]|0;a:do if(!(c<<24>>24))d=a;else{d=48530;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){d=a;break a}}return a|0}while(0);a=d+1|0;if((b[d>>0]|0)!=40){e=0;return e|0}c=H2(a)|0;if(!c){f=b[a>>0]|0;c=d+2|0;d=f<<24>>24|0;c=(d|0)!=10&(f|4)<<24>>24!=13?((d|0)==12?c:0):c;if(c)e=8}else e=8;if((e|0)==8)while(1){a=H2(c)|0;if(a|0){c=a;e=8;continue}e=b[c>>0]|0;a=c+1|0;f=e<<24>>24|0;a=(f|0)!=10&(e|4)<<24>>24!=13?((f|0)==12?a:0):a;if(!a){a=c;break}else{c=a;e=8}}a=es(a)|0;if(!a){f=0;return f|0}f=(b[a>>0]|0)==41?a+1|0:0;return f|0}function Lx(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;n=u;u=u+192|0;j=n;a=n+176|0;k=n+156|0;l=n+4|0;m=n+152|0;b[a>>0]=b[57947]|0;b[a+1>>0]=b[57948]|0;b[a+2>>0]=b[57949]|0;b[a+3>>0]=b[57950]|0;b[a+4>>0]=b[57951]|0;b[a+5>>0]=b[57952]|0;h=$O()|0;f[j>>2]=g;a=GL(k,20,h,a,j)|0;g=k+a|0;h=QH(k,g,d)|0;kha(j,d);x=0;i=sa(994,j|0,83352)|0;o=x;x=0;if(o&1){o=Ya()|0;uga(j);jb(o|0)}else{uga(j);zc[f[(f[i>>2]|0)+48>>2]&31](i,k,g,l)|0;o=l+(a<<2)|0;f[m>>2]=f[c>>2];f[j>>2]=f[m>>2];o=zp(j,l,(h|0)==(g|0)?o:l+(h-k<<2)|0,o,d,e)|0;u=n;return o|0}return 0}function Mx(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g+8|0;e=g;qV(d,f[a+84>>2]|0);f[d>>2]=7696;a=d+4|0;c=f[a>>2]|0;if(!c)c=0;else c=(f[343]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,e|0,c|0);c=x;x=0;if(c&1){g=Ya()|0;_P(d);jb(g|0)}f[e>>2]=17048;c=(f[e+4>>2]|0)==0;_P(e);if(!c){e=1;_P(d);u=g;return e|0}x=0;c=qa(334,f[a>>2]|0)|0;a=x;x=0;if(!(a&1)){x=0;Ga(462,e|0,c|0);a=x;x=0;if(!(a&1)){f[e>>2]=16800;c=f[e+4>>2]|0;if(!c){_P(e);e=1;_P(d);u=g;return e|0}a=b[c+64+11>>0]|0;if(a<<24>>24<0)c=f[c+68>>2]|0;else c=a&255;_P(e);e=(c|0)!=0;_P(d);u=g;return e|0}}g=Ya()|0;_P(d);jb(g|0);return 0}function Nx(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;n=u;u=u+1040|0;k=n+8|0;l=n;j=f[b>>2]|0;f[l>>2]=j;m=(a|0)!=0;h=m?d:256;a=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){d=0;j=c;while(1){i=j>>>2;c=i>>>0>=h>>>0;if(!(j>>>0>131|c)){c=j;break a}g=c?h:i;c=j-g|0;g=Bk(a,l,g,e)|0;if((g|0)==-1)break;j=(a|0)==(k|0);h=h-(j?0:g)|0;a=j?a:a+(g<<2)|0;d=g+d|0;g=f[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=c;else break a}d=-1;h=0;g=f[l>>2]|0}else d=0;while(0);b:do if(g)if((h|0)!=0&(c|0)!=0){i=a;while(1){a=av(i,g,c,e)|0;if((a+2|0)>>>0<3)break;g=(f[l>>2]|0)+a|0;f[l>>2]=g;c=c-a|0;h=h+-1|0;d=d+1|0;if(!((h|0)!=0&(c|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{d=-1;break b}case 0:{f[l>>2]=0;break b}default:{f[e>>2]=0;break b}}}while(0);if(m)f[b>>2]=f[l>>2];u=n;return d|0}function Ox(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+32|0;k=j+24|0;e=j+16|0;h=j+8|0;i=j;g=c+76|0;qV(k,f[g>>2]|0);f[k>>2]=7168;d=(f[k+4>>2]|0)==0;_P(k);do if(!d){d=a+72|0;b[(f[d>>2]|0)+8>>0]=1;qV(e,f[g>>2]|0);f[e>>2]=7168;k=f[e+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(!(k&1)){_P(e);b[(f[d>>2]|0)+8>>0]=0;break}k=Ya()|0;_P(e);jb(k|0)}while(0);c=c+68|0;qV(h,f[c>>2]|0);f[h>>2]=7280;k=(f[h+4>>2]|0)==0;_P(h);if(k){u=j;return}qV(i,f[c>>2]|0);f[i>>2]=7280;k=f[i+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(k&1){k=Ya()|0;_P(i);jb(k|0)}else{_P(i);u=j;return}}function Px(a){a=a|0;var c=0,d=0,e=0,f=0;e=0;if((b[a>>0]|0)!=117){e=0;return e|0}if((b[a+1>>0]|0)!=114){e=0;return e|0}if((b[a+2>>0]|0)!=108){e=0;return e|0}if((b[a+3>>0]|0)!=40){e=0;return e|0}d=a+4|0;c=H2(d)|0;if(!c){f=b[d>>0]|0;a=a+5|0;c=f<<24>>24|0;a=(c|0)!=10&(f|4)<<24>>24!=13?((c|0)==12?a:0):a;if(!a)c=d;else{c=a;e=7}}else e=7;if((e|0)==7)while(1){a=H2(c)|0;if(a|0){c=a;e=7;continue}e=b[c>>0]|0;a=c+1|0;f=e<<24>>24|0;a=(f|0)!=10&(e|4)<<24>>24!=13?((f|0)==12?a:0):a;if(!a)break;else{c=a;e=7}}a=fs(c)|0;if(a|0){f=a;return f|0}f=dr(c)|0;return f|0}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;e=g;qV(a,0);f[a>>2]=7696;x=0;Ga(633,e|0,b|0);d=x;x=0;do if(d&1)c=Ya()|0;else{d=a+4|0;c=f[d>>2]|0;if((e|0)!=(a|0)){if(c|0){x=0;Fa(429,a|0);c=x;x=0;if(c&1){c=Ya()|0;_P(e);break}}h=e+4|0;c=f[h>>2]|0;f[d>>2]=c;f[h>>2]=0}_P(e);if(c|0){u=g;return}x=0;Ga(634,e|0,b|0);h=x;x=0;do if(h&1)c=Ya()|0;else{if((e|0)!=(a|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);h=x;x=0;if(h&1){c=Ya()|0;_P(e);break}}h=e+4|0;f[d>>2]=f[h>>2];f[h>>2]=0}_P(e);u=g;return}while(0);h=c;_P(a);jb(h|0)}while(0);h=c;_P(a);jb(h|0)}function Rx(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;d=b[36400]|0;g=d<<24>>24==0;a:do if(g)c=0;else{c=b[a>>0]|0;e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break a;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?a+1|0:a;if(!c){g=0;return g|0}c=Nu(c)|0;if(!c){g=0;return g|0}c=bW(c)|0;if(!c){g=0;return g|0}if((b[c>>0]|0)!=47){g=0;return g|0}f=bW(c+1|0)|0;if(!f){g=0;return g|0}b:do if(g)c=0;else{c=b[f>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break b;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);g=Nu(c<<24>>24?f+1|0:f)|0;return g|0}function Sx(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;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];e=_j(a,e,g,h+4|0,c)|0;b=f[e>>2]|0;if(b|0){i=b;u=h;return i|0}c=VN(24)|0;b=c+16|0;x=0;Ga(462,b|0,f[d+4>>2]|0);i=x;x=0;if(i&1){i=Ya()|0;Hta(c);jb(i|0)}f[b>>2]=15572;b=f[g>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=b;f[e>>2]=c;b=f[f[a>>2]>>2]|0;if(!b)b=c;else{f[a>>2]=b;b=f[e>>2]|0}Ip(f[a+4>>2]|0,b);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=c;u=h;return i|0}function Tx(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;a:do if(a|0){d=b[48519]|0;if(!(d<<24>>24))c=a;else{c=a;e=48519;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){d=c+1|0;if((b[c>>0]|0)==40){c=b[d>>0]|0;if(c<<24>>24){e=0;f=0;g=0;b:while(1){c:do switch(c<<24>>24){case 92:{d=d+1|0;break}case 34:{e=e^1;break}case 39:{f=f^1;break}default:if(e)e=1;else if(f){e=0;f=1}else switch(c<<24>>24){case 40:{e=0;f=0;g=g+1|0;break c}case 41:if(!g)break b;else{e=0;f=0;g=g+-1|0;break c}default:{e=0;f=0;break c}}}while(0);d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}a=d+1|0;return a|0}}}}while(0);a=Ck(a)|0;return a|0}function Ux(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;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];e=$j(a,e,g,h+4|0,c)|0;b=f[e>>2]|0;if(b|0){i=b;u=h;return i|0}c=VN(24)|0;b=c+16|0;x=0;Ga(462,b|0,f[d+4>>2]|0);i=x;x=0;if(i&1){i=Ya()|0;Hta(c);jb(i|0)}f[b>>2]=15556;b=f[g>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=b;f[e>>2]=c;b=f[f[a>>2]>>2]|0;if(!b)b=c;else{f[a>>2]=b;b=f[e>>2]|0}Ip(f[a+4>>2]|0,b);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=c;u=h;return i|0}function Vx(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;n=u;u=u+80|0;j=n;a=n+68|0;k=n+48|0;l=n+8|0;m=n+4|0;b[a>>0]=b[57947]|0;b[a+1>>0]=b[57948]|0;b[a+2>>0]=b[57949]|0;b[a+3>>0]=b[57950]|0;b[a+4>>0]=b[57951]|0;b[a+5>>0]=b[57952]|0;h=$O()|0;f[j>>2]=g;a=GL(k,20,h,a,j)|0;g=k+a|0;h=QH(k,g,d)|0;kha(j,d);x=0;i=sa(994,j|0,83320)|0;o=x;x=0;if(o&1){o=Ya()|0;uga(j);jb(o|0)}else{uga(j);zc[f[(f[i>>2]|0)+32>>2]&31](i,k,g,l)|0;o=l+a|0;f[m>>2]=f[c>>2];f[j>>2]=f[m>>2];o=ks(j,l,(h|0)==(g|0)?o:l+(h-k)|0,o,d,e)|0;u=n;return o|0}return 0}function Wx(a){a=a|0;var c=0,d=0,e=0;d=0;c=bW(a)|0;if(!c)d=4;else{e=b[c>>0]|0;c=c+1|0;e=e<<24>>24|0;c=(e|0)!=47&(e|0)!=44?((e|0)==32?c:0):c;if(!c)d=4;else{c=bW(c)|0;if(!c)d=4}}if((d|0)==4){c=JQ(a)|0;if(!c){e=a;return e|0}}c=_x(c)|0;if(!c){e=a;return e|0}while(1){a=bW(c)|0;if(!a)d=9;else{e=b[a>>0]|0;a=a+1|0;e=e<<24>>24|0;a=(e|0)!=47&(e|0)!=44?((e|0)==32?a:0):a;if(!a)d=9;else{a=bW(a)|0;if(!a)d=9}}if((d|0)==9){d=0;a=JQ(c)|0;if(!a){d=11;break}}a=_x(a)|0;if(!a){d=11;break}else c=a}if((d|0)==11)return c|0;return 0}function Xx(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=0;if((b[a>>0]|0)==35){c=R5(a+1|0)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;f=c-a|0;c=(f|0)!=5&(f|0)!=9?0:c;if(c|0){g=c;return g|0}c=a+1|0;if((b[a>>0]|0)!=40){g=0;return g|0}d=b[c>>0]|0;if(!(d<<24>>24)){g=0;return g|0}else{a=0;e=0;f=0}a:while(1){b:do switch(d<<24>>24){case 92:{c=c+1|0;break}case 34:{a=a^1;break}case 39:{e=e^1;break}default:if(a)a=1;else if(e){a=0;e=1}else switch(d<<24>>24){case 40:{a=0;e=0;f=f+1|0;break b}case 41:if(!f)break a;else{a=0;e=0;f=f+-1|0;break b}default:{a=0;e=0;break b}}}while(0);c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24)){c=0;g=18;break}}if((g|0)==18)return c|0;g=c+1|0;return g|0}function Yx(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;b[a+60>>0]=b[c+60>>0]|0;b[a+61>>0]=b[c+61>>0]|0;b[a+62>>0]=b[c+62>>0]|0;f[a+64>>2]=f[c+64>>2];f[a+68>>2]=f[c+68>>2];f[a+56>>2]=7;f[a>>2]=15768;f[a+72>>2]=f[c+72>>2];g=a+76|0;x=0;Ga(462,g|0,f[c+80>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;jb(c|0)}f[g>>2]=15572;e=a+84|0;x=0;Ga(462,e|0,f[c+88>>2]|0);d=x;x=0;do if(d&1)d=Ya()|0;else{f[e>>2]=15556;d=a+92|0;x=0;Ga(462,d|0,f[c+96>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;_P(e);break}else{f[d>>2]=7904;return}}while(0);_P(g);c=d;jb(c|0)}function Zx(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+48|0;g=i;h=i+40|0;qV(h,f[d+4>>2]|0);f[h>>2]=7280;e=g;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));x=0;Fa(427,a|0);e=x;x=0;do if(e&1)d=Ya()|0;else{e=a+12|0;c=g;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));c=a+52|0;f[c>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[h+4>>2]|0);g=x;x=0;if(g&1){d=Ya()|0;break}f[d>>2]=7280;_P(h);f[a>>2]=7712;d=a+72|0;x=0;Ga(462,d|0,0);h=x;x=0;if(!(h&1)){f[d>>2]=7168;f[c>>2]=8;u=i;return}i=Ya()|0;f[a>>2]=7184;_P(a+64|0);jb(i|0)}while(0);_P(h);i=d;jb(i|0)}function _x(a){a=a|0;var c=0,d=0,e=0;c=a;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(c|0){c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}c=xl(a)|0;if(c|0){a=c;return a|0}d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?a+1|0:a;if(c|0){c=Nu(c)|0;if(c|0)if((b[c>>0]|0)==37){a=c+1|0;return a|0}}a=Wz(a)|0;return a|0}function $x(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;d=a+56|0;f[d>>2]=f[c+56>>2];f[a>>2]=6516;i=a+60|0;e=(c|0)==0?0:c+60|0;x=0;Ga(458,i|0,e|0);h=x;x=0;if(h&1){i=Ya()|0;jb(i|0)}x=0;Ga(458,a+72|0,e+12|0);h=x;x=0;if(!(h&1)){f[a>>2]=6384;p[a+88>>3]=+p[c+88>>3];b[a+96>>0]=b[c+96>>0]|0;f[a+100>>2]=f[c+100>>2];f[d>>2]=2;return}h=Ya()|0;c=I;d=f[i>>2]|0;if(!d){i=h;jb(i|0)}g=a+64|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[i>>2]|0}Hta(d);i=h;jb(i|0)}function ay(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;g=xc[f[e>>2]&2047](b,a)|0;h=xc[f[e>>2]&2047](c,b)|0;do if(g){g=f[a>>2]|0;if(h){f[a>>2]=f[c>>2];f[c>>2]=g;g=1;break}f[a>>2]=f[b>>2];f[b>>2]=g;if(xc[f[e>>2]&2047](c,b)|0){g=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=g;g=2}else g=1}else if(h){h=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=h;if(xc[f[e>>2]&2047](b,a)|0){g=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=g;g=2}else g=1}else g=0;while(0);if(!(xc[f[e>>2]&2047](d,c)|0)){e=g;return e|0}h=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=h;if(!(xc[f[e>>2]&2047](c,b)|0)){e=g+1|0;return e|0}d=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=d;if(!(xc[f[e>>2]&2047](b,a)|0)){e=g+2|0;return e|0}e=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=e;e=g+3|0;return e|0}function by(a){a=a|0;var c=0,d=0;c=_x(a)|0;if(!c){c=0;return c|0}else a=c;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;a=Ay(a)|0;a:do if(!a)a=c;else{a=wy(a)|0;if(!a)a=c;else while(1){c=a;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(!c)break a;c=wy(c)|0;if(!c)break;else a=c}}while(0);if(!a){c=0;return c|0}c=Wx(a)|0;if(!c){c=0;return c|0}a=JQ(c)|0;if(!a)a=c;else while(1){c=JQ(a)|0;if(!c)break;else a=c}d=b[a>>0]|0;c=a+1|0;a=d<<24>>24|0;c=(a|0)!=59?((a|0)==125?c:0):c;return c|0}function cy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=a+52|0;f[g>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=7808;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}f[d>>2]=7904;e=a+80|0;x=0;Ga(462,e|0,f[c+84>>2]|0);h=x;x=0;if(!(h&1)){f[e>>2]=7696;b[a+88>>0]=b[c+88>>0]|0;b[a+89>>0]=b[c+89>>0]|0;b[a+90>>0]=b[c+90>>0]|0;f[g>>2]=9;return}h=Ya()|0;_P(d);f[a>>2]=7184;c=a+64|0;_P(c);jb(h|0)}function dy(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=17712;_P(a+116|0);b=f[a+104>>2]|0;if(b|0){c=a+108|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Hta(b)}d=a+92|0;b=f[d>>2]|0;if(b|0){e=a+96|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b)}d=a+80|0;b=f[d>>2]|0;if(b|0){e=a+84|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-8|0;f[e>>2]=g;Kc[f[f[g>>2]>>2]&511](g);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Hta(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Hta(b)}b=f[a+56>>2]|0;if(!b){g=a+12|0;Gba(g);return}c=a+60|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Hta(b);g=a+12|0;Gba(g);return}function ey(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;g=u;u=u+32|0;i=g+24|0;c=g+16|0;d=g+8|0;e=g;b=a+80|0;qV(i,f[b>>2]|0);f[i>>2]=15572;h=(f[i+4>>2]|0)==0;_P(i);do if(h)c=0;else{qV(c,f[b>>2]|0);f[c>>2]=15572;b=f[c+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+116>>2]|0,b|0)|0;i=x;x=0;if(!(i&1)){_P(c);c=b;break}i=Ya()|0;_P(c);jb(i|0)}while(0);b=a+88|0;qV(d,f[b>>2]|0);f[d>>2]=15556;i=(f[d+4>>2]|0)==0;_P(d);if(i){i=c;u=g;return i|0}qV(e,f[b>>2]|0);f[e>>2]=15556;b=f[e+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+116>>2]|0,b|0)|0;i=x;x=0;if(i&1){i=Ya()|0;_P(e);jb(i|0)}else{_P(e);i=b+c|0;u=g;return i|0}return 0}function fy(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;j=0;do if(gea(a,f[c+8>>2]|0,g)|0)IR(0,c,d,e);else{if(!(gea(a,f[c>>2]|0,g)|0)){j=f[a+8>>2]|0;Pc[f[(f[j>>2]|0)+24>>2]&15](j,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)){h=c+20|0;if((f[h>>2]|0)!=(d|0)){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;e=c+52|0;b[e>>0]=0;k=c+53|0;b[k>>0]=0;a=f[a+8>>2]|0;Qc[f[(f[a>>2]|0)+20>>2]&31](a,c,d,d,1,g);if(!(b[k>>0]|0)){e=4;j=11}else if(!(b[e>>0]|0)){e=3;j=11}else e=3;if((j|0)==11){f[h>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1)if((f[c+24>>2]|0)==2)b[c+54>>0]=1}f[i>>2]=e;break}}if((e|0)==1)f[c+32>>2]=1}while(0);return}function gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;g=e+8|0;h=e;qV(g,f[a+4>>2]|0);f[g>>2]=7696;x=0;Ga(462,h|0,f[b+4>>2]|0);d=x;x=0;if(d&1){h=Ya()|0;_P(g);jb(h|0)}f[h>>2]=7696;d=g+4|0;a=f[d>>2]|0;c=h+4|0;if(!a)b=4;else{b=f[c>>2]|0;if(!b)b=4;else{x=0;a=sa(f[(f[a>>2]|0)+92>>2]|0,a|0,b|0)|0;d=x;x=0;if(d&1)b=10;else{_P(h);_P(g);u=e;return a^1|0}}}do if((b|0)==4){a=Ta(32)|0;x=0;Ja(56,a|0,f[d>>2]|0,f[c>>2]|0,2);e=x;x=0;if(e&1){e=Ya()|0;bb(a|0);a=e;break}else{x=0;Ia(77,a|0,4384,6);x=0;b=10;break}}while(0);if((b|0)==10)a=Ya()|0;_P(h);h=a;_P(g);jb(h|0);return 0}function hy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;d=a+56|0;f[d>>2]=f[c+56>>2];f[a>>2]=10728;h=a+60|0;x=0;Ga(459,h|0,c+60|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}e=a+72|0;x=0;Ga(462,e|0,f[c+76>>2]|0);g=x;x=0;do if(g&1)d=Ya()|0;else{f[e>>2]=9376;g=a+80|0;x=0;Ga(462,g|0,f[c+84>>2]|0);i=x;x=0;if(i&1){d=Ya()|0;_P(e);break}else{f[g>>2]=10852;b[a+88>>0]=b[c+88>>0]|0;f[a+92>>2]=f[c+92>>2];f[a+96>>2]=f[c+96>>2];f[d>>2]=12;return}}while(0);if((b[h+11>>0]|0)>=0){i=d;jb(i|0)}Hta(f[h>>2]|0);i=d;jb(i|0)}function iy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+32|0;e=g+12|0;h=g;ND(e,c);x=0;Ga(540,a|0,e|0);c=x;x=0;if(c&1){c=Ya()|0;if((b[e+11>>0]|0)>=0){a=c;jb(a|0)}Hta(f[e>>2]|0);a=c;jb(a|0)}if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);e=a+12|0;x=0;Ga(459,h|0,d|0);c=x;x=0;do if(c&1)c=Ya()|0;else{x=0;Ga(540,e|0,h|0);c=x;x=0;if(c&1){c=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);x=0;Ga(541,a+24|0,d|0);h=x;x=0;if(!(h&1)){u=g;return}c=Ya()|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0)}while(0);if((b[a+11>>0]|0)>=0){a=c;jb(a|0)}Hta(f[a>>2]|0);a=c;jb(a|0)}function jy(a){a=a|0;var c=0,d=0;d=0;do switch(b[a>>0]|0){case 0:{a=0;break}case 40:{c=47562;d=11;break}case 41:{c=47563;d=11;break}case 91:{c=47564;d=11;break}case 93:{c=47565;d=11;break}case 123:{c=47566;d=11;break}case 125:{c=47567;d=11;break}case 34:{c=47568;d=11;break}case 39:{c=47569;d=11;break}case 35:{c=47570;d=11;break}case 47:{c=47571;d=11;break}default:{c=47572;d=11}}while(0);a:do if((d|0)==11)if(!(b[c>>0]|0))while(1){a=a+1|0;do switch(b[a>>0]|0){case 0:break a;case 40:{c=47562;break}case 41:{c=47563;break}case 91:{c=47564;break}case 93:{c=47565;break}case 123:{c=47566;break}case 125:{c=47567;break}case 34:{c=47568;break}case 39:{c=47569;break}case 35:{c=47570;break}case 47:{c=47571;break}default:c=47572}while(0);if(b[c>>0]|0)break a}else a=0;while(0);return a|0}function ky(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;l=u;u=u+224|0;a=l+8|0;n=l;m=l+200|0;j=l+28|0;k=l+24|0;h=l+16|0;i=l+20|0;o=n;f[o>>2]=37;f[o+4>>2]=0;wJ(n+1|0,57955,0,f[c+4>>2]|0);o=$O()|0;p=a;f[p>>2]=e;f[p+4>>2]=g;g=m+(GL(m,23,o,n,a)|0)|0;e=QH(m,g,c)|0;kha(a,c);x=0;Ma(13,m|0,e|0,g|0,j|0,k|0,h|0,a|0);g=x;x=0;if(g&1){p=Ya()|0;uga(a);jb(p|0)}else{uga(a);f[i>>2]=f[b>>2];o=f[k>>2]|0;p=f[h>>2]|0;f[a>>2]=f[i>>2];p=zp(a,j,o,p,c,d)|0;u=l;return p|0}return 0}function ly(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;l=u;u=u+224|0;a=l+8|0;n=l;m=l+200|0;j=l+28|0;k=l+24|0;h=l+16|0;i=l+20|0;o=n;f[o>>2]=37;f[o+4>>2]=0;wJ(n+1|0,57955,1,f[c+4>>2]|0);o=$O()|0;p=a;f[p>>2]=e;f[p+4>>2]=g;g=m+(GL(m,23,o,n,a)|0)|0;e=QH(m,g,c)|0;kha(a,c);x=0;Ma(13,m|0,e|0,g|0,j|0,k|0,h|0,a|0);g=x;x=0;if(g&1){p=Ya()|0;uga(a);jb(p|0)}else{uga(a);f[i>>2]=f[b>>2];o=f[k>>2]|0;p=f[h>>2]|0;f[a>>2]=f[i>>2];p=zp(a,j,o,p,c,d)|0;u=l;return p|0}return 0}function my(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;l=u;u=u+96|0;a=l+8|0;n=l;m=l+71|0;j=l+28|0;k=l+24|0;h=l+16|0;i=l+20|0;o=n;f[o>>2]=37;f[o+4>>2]=0;wJ(n+1|0,57955,0,f[c+4>>2]|0);o=$O()|0;p=a;f[p>>2]=e;f[p+4>>2]=g;g=m+(GL(m,23,o,n,a)|0)|0;e=QH(m,g,c)|0;kha(a,c);x=0;Ma(11,m|0,e|0,g|0,j|0,k|0,h|0,a|0);g=x;x=0;if(g&1){p=Ya()|0;uga(a);jb(p|0)}else{uga(a);f[i>>2]=f[b>>2];o=f[k>>2]|0;p=f[h>>2]|0;f[a>>2]=f[i>>2];p=ks(a,j,o,p,c,d)|0;u=l;return p|0}return 0}function ny(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;l=u;u=u+96|0;a=l+8|0;n=l;m=l+71|0;j=l+28|0;k=l+24|0;h=l+16|0;i=l+20|0;o=n;f[o>>2]=37;f[o+4>>2]=0;wJ(n+1|0,57955,1,f[c+4>>2]|0);o=$O()|0;p=a;f[p>>2]=e;f[p+4>>2]=g;g=m+(GL(m,23,o,n,a)|0)|0;e=QH(m,g,c)|0;kha(a,c);x=0;Ma(11,m|0,e|0,g|0,j|0,k|0,h|0,a|0);g=x;x=0;if(g&1){p=Ya()|0;uga(a);jb(p|0)}else{uga(a);f[i>>2]=f[b>>2];o=f[k>>2]|0;p=f[h>>2]|0;f[a>>2]=f[i>>2];p=ks(a,j,o,p,c,d)|0;u=l;return p|0}return 0}function oy(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;i=u;u=u+96|0;d=i+56|0;e=i+16|0;l=i;m=VN(80)|0;h=e;j=c+12|0;k=h+40|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));g=f[(f[c>>2]|0)+28>>2]|0;x=0;h=d;j=f[(f[a+4>>2]|0)+16>>2]|0;k=h+12|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));Ia(g|0,l|0,c|0,d|0);k=x;x=0;if(k&1){l=Ya()|0;Hta(m);jb(l|0)}x=0;h=d;j=e;k=h+40|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));Na(1,m|0,d|0,l|0,0,0,0,1,1);k=x;x=0;if(k&1){d=Ya()|0;if((b[l+11>>0]|0)>=0){l=d;Hta(m);jb(l|0)}Hta(f[l>>2]|0);l=d;Hta(m);jb(l|0)}else{if((b[l+11>>0]|0)>=0){u=i;return m|0}Hta(f[l>>2]|0);u=i;return m|0}return 0}function py(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;i=u;u=u+96|0;d=i+56|0;e=i+16|0;l=i;m=VN(80)|0;h=e;j=c+12|0;k=h+40|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));g=f[(f[c>>2]|0)+28>>2]|0;x=0;h=d;j=f[(f[a+4>>2]|0)+16>>2]|0;k=h+12|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));Ia(g|0,l|0,c|0,d|0);k=x;x=0;if(k&1){l=Ya()|0;Hta(m);jb(l|0)}x=0;h=d;j=e;k=h+40|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));Na(1,m|0,d|0,l|0,0,0,0,1,1);k=x;x=0;if(k&1){d=Ya()|0;if((b[l+11>>0]|0)>=0){l=d;Hta(m);jb(l|0)}Hta(f[l>>2]|0);l=d;Hta(m);jb(l|0)}else{if((b[l+11>>0]|0)>=0){u=i;return m|0}Hta(f[l>>2]|0);u=i;return m|0}return 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;l=u;u=u+32|0;j=l+16|0;k=l;e=f[a+76>>2]|0;h=(f[a+80>>2]|0)-e>>3;if(!h){k=0;u=l;return k|0}g=a+76|0;c=c+4|0;i=k+11|0;d=0;a=e;while(1){a=f[a+(d<<3)+4>>2]|0;e=f[(f[a>>2]|0)+144>>2]|0;qV(j,f[c>>2]|0);f[j>>2]=15556;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;a=ta(e|0,a|0,j|0,k|0)|0;e=x;x=0;if(e&1){a=9;break}if((b[i>>0]|0)<0)Hta(f[k>>2]|0);_P(j);d=d+1|0;if(a){d=1;a=12;break}if(d>>>0>=h>>>0){d=0;a=12;break}a=f[g>>2]|0}if((a|0)==9){d=Ya()|0;if((b[i>>0]|0)>=0){_P(j);jb(d|0)}Hta(f[k>>2]|0);_P(j);jb(d|0)}else if((a|0)==12){u=l;return d|0}return 0}function ry(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;k=u;u=u+64|0;e=k+48|0;c=k;g=k+40|0;i=a+76|0;h=f[i>>2]|0;if(!(b[h>>0]|0)){j=0;u=k;return j|0}j=VX(h)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){j=0;u=k;return j|0}if(!d)if((j|0)==0|(j|0)==(h|0)){j=0;u=k;return j|0}d=f[i>>2]|0;f[a+168>>2]=d;f[a+172>>2]=h;f[a+176>>2]=j;m=a+96|0;vG(e,m,d,h);d=a+84|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];vG(e,m,h,j);l=f[a+12>>2]|0;h=f[a+72>>2]|0;PQ(g,m,d);f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];UI(c,l,h,a+168|0,d,e);g=a+108|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));f[i>>2]=j;m=j;u=k;return m|0}function sy(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=0;i=u;u=u+32|0;c=i+16|0;d=i+8|0;e=i;g=a+108|0;qV(e,f[g>>2]|0);f[e>>2]=7168;b=f[e+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+16>>2]|0,b|0)|0;j=x;x=0;if(!(j&1)){x=0;Ga(462,d|0,b|0);j=x;x=0;if(!(j&1)){f[d>>2]=7168;a=a+104|0;if(!(f[g>>2]|0))h=5;else{x=0;Fa(429,a|0);j=x;x=0;if(!(j&1))h=5}if((h|0)==5){f[g>>2]=f[d+4>>2];x=0;Fa(430,a|0);j=x;x=0;if(!(j&1)){x=0;Ga(462,c|0,f[g>>2]|0);j=x;x=0;if(!(j&1)){f[c>>2]=7168;_P(c);_P(d);_P(e);u=i;return}}}j=Ya()|0;_P(d);_P(e);jb(j|0)}}j=Ya()|0;_P(e);jb(j|0)}function ty(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;i=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;h=b[e+11>>0]|0;g=h<<24>>24<0;h=g?f[c+20>>2]|0:h&255;d=k>>>0>>0?k:h;if(!d)i=6;else{d=lO(g?f[e>>2]|0:e,j,d)|0;if(!d)i=6;else if((d|0)>=0)break}if((i|0)==6){i=0;if(h>>>0>=k>>>0)break}c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;g=b[d+11>>0]|0;e=g<<24>>24<0;g=e?f[a+20>>2]|0:g&255;c=g>>>0>>0?g:k;if(c|0){c=lO(j,e?f[d>>2]|0:d,c)|0;if(c|0){if((c|0)<0)break;return a|0}}if(k>>>0>=g>>>0){l=a;return l|0}}}while(0);return l|0}function uy(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=u;u=u+64|0;n=p;m=f[a>>2]|0;o=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[n>>2]=e;f[n+4>>2]=a;f[n+8>>2]=c;f[n+12>>2]=g;a=n+16|0;c=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=a;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[a+36>>1]=0;b[a+38>>0]=0;a:do if(gea(m,e,0)|0){f[n+48>>2]=1;Qc[f[(f[m>>2]|0)+20>>2]&31](m,n,o,o,1,0);a=(f[g>>2]|0)==1?o:0}else{Pc[f[(f[m>>2]|0)+24>>2]&15](m,n,o,1,0);switch(f[n+36>>2]|0){case 0:{a=(f[j>>2]|0)==1&(f[h>>2]|0)==1&(f[i>>2]|0)==1?f[c>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((f[g>>2]|0)!=1)if(!((f[j>>2]|0)==0&(f[h>>2]|0)==1&(f[i>>2]|0)==1)){a=0;break}a=f[a>>2]|0}while(0);u=p;return a|0}function vy(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;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];e=Gm(a,e,g,h+4|0,c)|0;b=f[e>>2]|0;if(b|0){i=b;u=h;return i|0}c=VN(28)|0;x=0;Ga(459,c+16|0,d|0);i=x;x=0;if(i&1){i=Ya()|0;Hta(c);jb(i|0)}b=f[g>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=b;f[e>>2]=c;b=f[f[a>>2]>>2]|0;if(!b)b=c;else{f[a>>2]=b;b=f[e>>2]|0}Ip(f[a+4>>2]|0,b);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=c;u=h;return i|0}function wy(a){a=a|0;var c=0,d=0,e=0;d=0;e=b[a>>0]|0;c=a+1|0;e=e<<24>>24|0;c=(e|0)!=85?((e|0)==117?c:0):c;if(!c)d=4;else if((b[c>>0]|0)==43){c=LB(c+1|0)|0;if(!c)d=4}else d=4;if((d|0)==4){c=S5(a)|0;if(!c){c=vC(a)|0;if(!c){e=a;return e|0}}}while(1){e=b[c>>0]|0;d=c+1|0;e=e<<24>>24|0;d=(e|0)!=85?((e|0)==117?d:0):d;if(d|0)if((b[d>>0]|0)==43){d=LB(d+1|0)|0;if(d|0){c=d;continue}}d=S5(c)|0;if(d|0){c=d;continue}d=vC(c)|0;if(!d)break;else c=d}return c|0}function xy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+32|0;d=g+16|0;h=g;e=a+4|0;FI(e,c+64|0,c);yy(e);qV(d,f[c+80>>2]|0);f[d>>2]=7696;i=f[d+4>>2]|0;x=0;Ga(f[(f[i>>2]|0)+44>>2]|0,i|0,a|0);a=x;x=0;if(a&1){i=Ya()|0;_P(d);jb(i|0)}_P(d);if(!(b[c+84>>0]|0)){aN(e);u=g;return}rG(e);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=h+11|0;b[c>>0]=8;i=h;f[i>>2]=1717920801;f[i+4>>2]=1953264993;b[h+8>>0]=0;x=0;Ga(682,e|0,h|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)<0)Hta(f[h>>2]|0);i=a;jb(i|0)}else{if((b[c>>0]|0)<0)Hta(f[h>>2]|0);aN(e);u=g;return}}function yy(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;k=u;u=u+16|0;d=k;j=a+76|0;f[j>>2]=0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;e=d+11|0;b[e>>0]=1;b[d>>0]=58;b[d+1>>0]=0;x=0;Ga(682,a|0,d|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[e>>0]|0)>=0)jb(c|0);Hta(f[d>>2]|0);jb(c|0)}if((b[e>>0]|0)<0)Hta(f[d>>2]|0);if(b[a+96>>0]|0){u=k;return}if((f[f[a+68>>2]>>2]|0)==3){u=k;return}d=a+4|0;i=d+11|0;c=b[i>>0]|0;e=c<<24>>24<0;if(e)g=f[a+8>>2]|0;else g=c&255;if(!g){u=k;return}if(e)c=f[a+8>>2]|0;else c=c&255;g=XO(d,c+-1|0)|0;if(wpa(h[g>>0]|0)|0)if(!(b[a+84>>0]|0)){u=k;return}c=b[i>>0]|0;if(c<<24>>24<0){d=f[d>>2]|0;c=f[a+8>>2]|0}else c=c&255;if((b[d+c+-1>>0]|0)==40){u=k;return}f[j>>2]=1;u=k;return}function zy(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;k=u;u=u+64|0;e=k+48|0;c=k;g=k+40|0;i=a+76|0;h=f[i>>2]|0;if(!(b[h>>0]|0)){j=0;u=k;return j|0}j=bW(h)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){j=0;u=k;return j|0}if(!d)if((j|0)==0|(j|0)==(h|0)){j=0;u=k;return j|0}d=f[i>>2]|0;f[a+168>>2]=d;f[a+172>>2]=h;f[a+176>>2]=j;m=a+96|0;vG(e,m,d,h);d=a+84|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];vG(e,m,h,j);l=f[a+12>>2]|0;h=f[a+72>>2]|0;PQ(g,m,d);f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];UI(c,l,h,a+168|0,d,e);g=a+108|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));f[i>>2]=j;m=j;u=k;return m|0}function Ay(a){a=a|0;var c=0,d=0,e=0;d=0;e=b[a>>0]|0;c=a+1|0;e=e<<24>>24|0;c=(e|0)!=85?((e|0)==117?c:0):c;if(!c)d=4;else if((b[c>>0]|0)==43){c=LB(c+1|0)|0;if(!c)d=4}else d=4;if((d|0)==4){c=Ufa(a)|0;if(!c){c=vC(a)|0;if(!c){e=0;return e|0}}}while(1){e=b[c>>0]|0;a=c+1|0;e=e<<24>>24|0;a=(e|0)!=85?((e|0)==117?a:0):a;if(a|0)if((b[a>>0]|0)==43){a=LB(a+1|0)|0;if(a|0){c=a;continue}}a=Ufa(c)|0;if(a|0){c=a;continue}a=vC(c)|0;if(!a)break;else c=a}return c|0}function By(a){a=a|0;var c=0,d=0,e=0;d=0;e=b[a>>0]|0;c=a+1|0;e=e<<24>>24|0;c=(e|0)!=85?((e|0)==117?c:0):c;if(!c)d=4;else if((b[c>>0]|0)==43){c=LB(c+1|0)|0;if(!c)d=4}else d=4;if((d|0)==4){c=S5(a)|0;if(!c){c=vC(a)|0;if(!c){e=0;return e|0}}}while(1){e=b[c>>0]|0;a=c+1|0;e=e<<24>>24|0;a=(e|0)!=85?((e|0)==117?a:0):a;if(a|0)if((b[a>>0]|0)==43){a=LB(a+1|0)|0;if(a|0){c=a;continue}}a=S5(c)|0;if(a|0){c=a;continue}a=vC(c)|0;if(!a)break;else c=a}return c|0}function Cy(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;k=u;u=u+64|0;e=k+48|0;c=k;g=k+40|0;i=a+76|0;h=f[i>>2]|0;if(!(b[h>>0]|0)){j=0;u=k;return j|0}j=GY(h)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){j=0;u=k;return j|0}if(!d)if((j|0)==0|(j|0)==(h|0)){j=0;u=k;return j|0}d=f[i>>2]|0;f[a+168>>2]=d;f[a+172>>2]=h;f[a+176>>2]=j;m=a+96|0;vG(e,m,d,h);d=a+84|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];vG(e,m,h,j);l=f[a+12>>2]|0;h=f[a+72>>2]|0;PQ(g,m,d);f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];UI(c,l,h,a+168|0,d,e);g=a+108|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));f[i>>2]=j;m=j;u=k;return m|0}function Dy(a){a=a|0;var c=0,d=0,e=0;d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);d=a+1|0;c=c<<24>>24?d:a;if(c|0){c=Nu(c)|0;if(c|0){a=c;return a|0}}if((b[a>>0]|0)==35){c=R5(d)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;e=c-a|0;c=(e|0)!=4&(e|0)!=7?0:c;if(c|0){a=c;return a|0}a=Xx(a)|0;return a|0}function Ey(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;e=0;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;if(!a){g=0;return g|0}a=Ay(a)|0;if(!a){g=0;return g|0}g=wy(a)|0;if(!g){g=0;return g|0}c=b[51446]|0;a:do if(!(c<<24>>24)){a=g;e=9}else{a=g;d=51446;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break a}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){e=9;break}}}while(0);b:do if((e|0)==9){c=b[a>>0]|0;if(!(c<<24>>24))a=0;else{f=b[52228]|0;if(f<<24>>24)while(1){if(c<<24>>24==f<<24>>24){c=a;d=52228;do{c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){a=c;break b}}while((b[c>>0]|0)==e<<24>>24)}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;break}}}}while(0);a=a|0?a:g;if(!a){g=0;return g|0}g=(b[a>>0]|0)==40?a+1|0:0;return g|0}function Fy(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;k=u;u=u+64|0;e=k+48|0;c=k;g=k+40|0;i=a+76|0;h=f[i>>2]|0;if(!(b[h>>0]|0)){j=0;u=k;return j|0}j=gL(h)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){j=0;u=k;return j|0}if(!d)if((j|0)==0|(j|0)==(h|0)){j=0;u=k;return j|0}d=f[i>>2]|0;f[a+168>>2]=d;f[a+172>>2]=h;f[a+176>>2]=j;m=a+96|0;vG(e,m,d,h);d=a+84|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];vG(e,m,h,j);l=f[a+12>>2]|0;h=f[a+72>>2]|0;PQ(g,m,d);f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];UI(c,l,h,a+168|0,d,e);g=a+108|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));f[i>>2]=j;m=j;u=k;return m|0}function Gy(a,b){a=a|0;b=b|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;if((ec|0)==1)ec=3}Vc(hc+63692|0);return f[fc>>2]|0}function Hy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=0;h=u;u=u+16|0;g=h+4|0;i=h;d=Rd(17)|0;j=g+8|0;f[j>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}f[g>>2]=d;f[g+4>>2]=d+16;if(!c){x=0;Ga(572,g|0,a|0);d=x;x=0;if(!(d&1))e=9}else{x=0;Ja(26,g|0,a|0,c|0,0);d=x;x=0;if(!(d&1))e=9}if((e|0)==9){b[f[g>>2]>>0]=0;c=f[j>>2]|0;a=f[g>>2]|0;if(c>>>0>a>>>0)Ra(43749,43692,125,43824);if((hL(c)|0)==(a-c|0)){u=h;return c|0}else Ra(43749,43692,125,43824)}a=Za(6080)|0;h=I;if((h|0)!=(Sb(6080)|0)){j=a;jb(j|0)}cb(a|0)|0;f[i>>2]=29724;Ua(a|0)|0;$h(f[j>>2]|0);x=0;Ea(3);x=0;a=Ya()|0;x=0;Ea(4);j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}j=a;jb(j|0);return 0}function Iy(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;h=a+4|0;i=f[a>>2]|0;j=(f[h>>2]|0)-i|0;d=(j|0)/24|0;c=d+1|0;if(c>>>0>178956970)EO(a);k=a+8|0;g=((f[k>>2]|0)-i|0)/24|0;e=g<<1;e=g>>>0<89478485?(e>>>0>>0?c:e):178956970;do if(!e)g=0;else{if(e>>>0<=178956970){g=VN(e*24|0)|0;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);k=x;x=0;if(k&1){k=Ya()|0;bb(c|0);jb(k|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);d=g+(d*24|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];f[d+12>>2]=f[b+12>>2];f[d+16>>2]=f[b+16>>2];f[d+20>>2]=f[b+20>>2];c=d+(((j|0)/-24|0)*24|0)|0;if((j|0)>0)Lu(c|0,i|0,j|0)|0;f[a>>2]=c;f[h>>2]=d+24;f[k>>2]=g+(e*24|0);if(!i)return;Hta(i);return}function Jy(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;e=0;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;if(!a){g=0;return g|0}a=Ay(a)|0;if(!a){g=0;return g|0}g=wy(a)|0;if(!g){g=0;return g|0}c=b[51446]|0;a:do if(!(c<<24>>24)){a=g;e=9}else{a=g;d=51446;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break a}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){e=9;break}}}while(0);b:do if((e|0)==9){c=b[a>>0]|0;if(!(c<<24>>24))a=0;else{f=b[52228]|0;if(f<<24>>24)while(1){if(c<<24>>24==f<<24>>24){c=a;d=52228;do{c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){a=c;break b}}while((b[c>>0]|0)==e<<24>>24)}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;break}}}}while(0);a=a|0?a:g;if(!a){g=0;return g|0}g=(b[a>>0]|0)==40?a+1|0:0;return g|0}function Ky(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=u;u=u+224|0;m=r+120|0;n=r+80|0;p=r;q=r+136|0;e=n;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((_f(0,c,m,p,n)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)o=Vta(a)|0;else o=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;e=a+48|0;if(!(f[e>>2]|0)){g=a+44|0;h=f[g>>2]|0;f[g>>2]=q;i=a+28|0;f[i>>2]=q;j=a+20|0;f[j>>2]=q;f[e>>2]=80;k=a+16|0;f[k>>2]=q+80;d=_f(a,c,m,p,n)|0;if(h){yc[f[a+36>>2]&255](a,0,0)|0;d=(f[j>>2]|0)==0?-1:d;f[g>>2]=h;f[e>>2]=0;f[k>>2]=0;f[i>>2]=0;f[j>>2]=0}}else d=_f(a,c,m,p,n)|0;e=f[a>>2]|0;f[a>>2]=e|l;if(o|0)Uta(a);d=(e&32|0)==0?d:-1}u=r;return d|0}function Ly(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;h=a+4|0;i=f[a>>2]|0;j=(f[h>>2]|0)-i|0;d=(j|0)/24|0;c=d+1|0;if(c>>>0>178956970)EO(a);k=a+8|0;g=((f[k>>2]|0)-i|0)/24|0;e=g<<1;e=g>>>0<89478485?(e>>>0>>0?c:e):178956970;do if(!e)g=0;else{if(e>>>0<=178956970){g=VN(e*24|0)|0;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);k=x;x=0;if(k&1){k=Ya()|0;bb(c|0);jb(k|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);d=g+(d*24|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];f[d+12>>2]=f[b+12>>2];f[d+16>>2]=f[b+16>>2];f[d+20>>2]=f[b+20>>2];c=d+(((j|0)/-24|0)*24|0)|0;if((j|0)>0)Lu(c|0,i|0,j|0)|0;f[a>>2]=c;f[h>>2]=d+24;f[k>>2]=g+(e*24|0);if(!i)return;Hta(i);return}function My(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;i=u;u=u+32|0;e=i;g=a+8|0;h=a+4|0;c=f[h>>2]|0;do if((f[g>>2]|0)-c>>2>>>0>>0){c=(c-(f[a>>2]|0)>>2)+b|0;d=Cha(a)|0;if(d>>>0>>0)EO(a);j=f[a>>2]|0;k=(f[g>>2]|0)-j|0;g=k>>1;BK(e,k>>2>>>0>>1>>>0?(g>>>0>>0?c:g):d,(f[h>>2]|0)-j>>2,a+16|0);x=0;Ga(743,e|0,b|0);h=x;x=0;if(!(h&1)){x=0;Ga(744,a|0,e|0);k=x;x=0;if(!(k&1)){TL(e);break}}k=Ya()|0;TL(e);jb(k|0)}else rQ(a,b);while(0);u=i;return}function Ny(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;k=u;u=u+64|0;e=k+48|0;c=k;g=k+40|0;i=a+76|0;h=f[i>>2]|0;if(!(b[h>>0]|0)){j=0;u=k;return j|0}j=JQ(h)|0;if(j>>>0>(f[a+80>>2]|0)>>>0){j=0;u=k;return j|0}if(!d)if((j|0)==0|(j|0)==(h|0)){j=0;u=k;return j|0}d=f[i>>2]|0;f[a+168>>2]=d;f[a+172>>2]=h;f[a+176>>2]=j;m=a+96|0;vG(e,m,d,h);d=a+84|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];vG(e,m,h,j);l=f[a+12>>2]|0;h=f[a+72>>2]|0;PQ(g,m,d);f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];UI(c,l,h,a+168|0,d,e);g=a+108|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));f[i>>2]=j;m=j;u=k;return m|0}function Oy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=u;u=u+16|0;g=e;a=a+4|0;wv(a);f[g+8>>2]=0;d=g+11|0;b[d>>0]=7;b[g>>0]=b[52181]|0;b[g+1>>0]=b[52182]|0;b[g+2>>0]=b[52183]|0;b[g+3>>0]=b[52184]|0;b[g+4>>0]=b[52185]|0;b[g+5>>0]=b[52186]|0;b[g+6>>0]=b[52187]|0;b[g+7>>0]=0;x=0;Ia(147,a|0,g|0,c|0);h=x;x=0;if(h&1){a=Ya()|0;if((b[d>>0]|0)<0)Hta(f[g>>2]|0);h=a;jb(h|0)}if((b[d>>0]|0)<0)Hta(f[g>>2]|0);boa(a);ND(g,c+64|0);x=0;Ga(682,a|0,g|0);h=x;x=0;if(h&1){a=Ya()|0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);h=a;jb(h|0)}else{if((b[g+11>>0]|0)>=0){aN(a);u=e;return}Hta(f[g>>2]|0);aN(a);u=e;return}}function Py(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);g=x;x=0;if(g&1){a=Ya()|0;jb(a|0)}f[d>>2]=7280;f[a>>2]=9280;e=a+72|0;x=0;Ga(459,e|0,c+72|0);g=x;x=0;if(g&1){c=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}d=a+84|0;x=0;Ga(462,d|0,f[c+88>>2]|0);c=x;x=0;if(!(c&1)){f[d>>2]=9376;return}d=Ya()|0;if((b[e+11>>0]|0)>=0){c=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}Hta(f[e>>2]|0);c=d;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}function Qy(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;efa(a);j=a+12|0;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;b[a+60>>0]=0;b[a+61>>0]=0;b[a+62>>0]=0;f[a+64>>2]=0;f[a+68>>2]=0;f[a+56>>2]=7;f[a>>2]=15768;f[a+72>>2]=d;d=a+76|0;x=0;Ga(462,d|0,f[e+4>>2]|0);e=x;x=0;if(e&1){h=Ya()|0;jb(h|0)}f[d>>2]=15572;i=a+84|0;x=0;Ga(462,i|0,f[g+4>>2]|0);g=x;x=0;do if(g&1)c=Ya()|0;else{f[i>>2]=15556;c=a+92|0;x=0;Ga(462,c|0,f[h+4>>2]|0);h=x;x=0;if(h&1){c=Ya()|0;_P(i);break}else{f[c>>2]=7904;return}}while(0);_P(d);h=c;jb(h|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;k=u;u=u+128|0;j=k+96|0;g=k+80|0;h=k;i=k+40|0;b=b+12|0;c=h;d=b;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));c=i;d=b;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));hP(g,h,i+20|0);c=a+24|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];b=j+12|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=a+16|0;c=f[b>>2]|0;if(c>>>0<(f[a+20>>2]|0)>>>0){f[c>>2]=f[j>>2];f[c+4>>2]=f[j+4>>2];f[c+8>>2]=f[j+8>>2];f[c+12>>2]=f[j+12>>2];f[c+16>>2]=f[j+16>>2];f[c+20>>2]=f[j+20>>2];f[b>>2]=(f[b>>2]|0)+24;u=k;return}else{Iy(a+12|0,j);u=k;return}}function Sy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;vc[f[(f[a>>2]|0)+24>>2]&511](a)|0;c=b_(c,85112)|0;f[a+68>>2]=c;e=a+98|0;g=b[e>>0]|0;c=vc[f[(f[c>>2]|0)+28>>2]&511](c)|0;b[e>>0]=c&1;if((g&255|0)==(c&1|0))return;d=a+8|0;g=a+96|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;d=(b[g>>0]|0)!=0;if(c){e=a+32|0;if(d){c=f[e>>2]|0;if(c|0)zta(c)}d=a+97|0;b[g>>0]=b[d>>0]|0;g=a+60|0;f[a+52>>2]=f[g>>2];a=a+56|0;f[e>>2]=f[a>>2];f[g>>2]=0;f[a>>2]=0;b[d>>0]=0;return}if(!d){c=a+32|0;d=f[c>>2]|0;if((d|0)!=(a+44|0)){e=f[a+52>>2]|0;f[a+60>>2]=e;f[a+56>>2]=d;b[a+97>>0]=0;a=yta(e)|0;f[c>>2]=a;b[g>>0]=1;return}}g=f[a+52>>2]|0;f[a+60>>2]=g;g=yta(g)|0;f[a+56>>2]=g;b[a+97>>0]=1;return}function Ty(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;j=g+24|0;h=g+16|0;i=g;e=c+4|0;qV(j,f[(f[e>>2]|0)+80>>2]|0);f[j>>2]=15572;c=(f[j+4>>2]|0)==0;_P(j);if(c){j=0;u=g;return j|0}c=f[(f[a>>2]|0)+144>>2]|0;qV(h,f[(f[e>>2]|0)+80>>2]|0);f[h>>2]=15572;x=0;Ga(459,i|0,d|0);j=x;x=0;if(j&1){j=Ya()|0;_P(h);jb(j|0)}x=0;c=ta(c|0,a|0,h|0,i|0)|0;j=x;x=0;if(j&1){c=Ya()|0;if((b[i+11>>0]|0)>=0){j=c;_P(h);jb(j|0)}Hta(f[i>>2]|0);j=c;_P(h);jb(j|0)}else{if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);_P(h);j=c;u=g;return j|0}return 0}function Uy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==30870){k=xc[f[(f[a>>2]|0)+172>>2]&2047](a,c)|0;return k|0}if(Xp(a,c)|0){g=a+84|0;h=c+84|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+88>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+88>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=6;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=6}if((k|0)==6)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}else{g=a+72|0;h=c+72|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+76>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+76>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=10;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=10}if((k|0)==10)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}return 0}function Vy(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;j=0;d=u;u=u+32|0;h=d+12|0;g=d;i=h+11|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a:do if(!(b[c+100>>0]|0))j=11;else{x=0;Ia(79,g|0,c+72|0,34095);e=x;x=0;do if(e&1)a=Ya()|0;else{e=g+11|0;k=b[e>>0]|0;l=k<<24>>24<0;x=0;ta(41,h|0,(l?f[g>>2]|0:g)|0,(l?f[g+4>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){a=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[g>>2]|0);break}if((b[e>>0]|0)<0)Hta(f[g>>2]|0);j=11;break a}while(0)}while(0);do if((j|0)==11){x=0;Ia(80,a|0,h|0,c+84|0);l=x;x=0;if(l&1){a=Ya()|0;break}if((b[i>>0]|0)>=0){u=d;return}Hta(f[h>>2]|0);u=d;return}while(0);if((b[i>>0]|0)>=0)jb(a|0);Hta(f[h>>2]|0);jb(a|0)}function Wy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;j=h+24|0;c=h+16|0;e=h+8|0;g=h;d=b+76|0;qV(j,f[d>>2]|0);f[j>>2]=7168;i=(f[j+4>>2]|0)==0;_P(j);do if(!i){qV(c,f[d>>2]|0);f[c>>2]=7168;j=f[c+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(c);break}j=Ya()|0;_P(c);jb(j|0)}while(0);b=b+68|0;qV(e,f[b>>2]|0);f[e>>2]=7280;j=(f[e+4>>2]|0)==0;_P(e);if(j){u=h;return}qV(g,f[b>>2]|0);f[g>>2]=7280;j=f[g+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(j&1){j=Ya()|0;_P(g);jb(j|0)}else{_P(g);u=h;return}}function Xy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==30844){k=xc[f[(f[a>>2]|0)+176>>2]&2047](a,c)|0;return k|0}if(Xp(a,c)|0){g=a+84|0;h=c+84|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+88>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+88>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=6;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=6}if((k|0)==6)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}else{g=a+72|0;h=c+72|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+76>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+76>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=10;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=10}if((k|0)==10)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}return 0}function Yy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==30898){k=xc[f[(f[a>>2]|0)+176>>2]&2047](a,c)|0;return k|0}if(Xp(a,c)|0){g=a+84|0;h=c+84|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+88>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+88>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=6;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=6}if((k|0)==6)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}else{g=a+72|0;h=c+72|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+76>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+76>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=10;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=10}if((k|0)==10)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}return 0}function Zy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==30740){k=xc[f[(f[a>>2]|0)+172>>2]&2047](a,c)|0;return k|0}if(Xp(a,c)|0){g=a+84|0;h=c+84|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+88>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+88>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=6;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=6}if((k|0)==6)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}else{g=a+72|0;h=c+72|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+76>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+76>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(!c)k=10;else{c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(!c)k=10}if((k|0)==10)c=a>>>0>>0?-1:e&1;k=(c|0)<0;return k|0}return 0}function _y(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=Cea(f[a+8>>2]|0,o)|0;e=Cea(f[a+12>>2]|0,o)|0;g=Cea(f[a+16>>2]|0,o)|0;a:do if(h>>>0>>2>>>0){n=c-(h<<2)|0;if(e>>>0>>0&g>>>0>>0)if(!((g|e)&3)){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=Cea(f[a+(g<<2)>>2]|0,o)|0;g=Cea(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=iO(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:k;h=e?j:h-j|0}}e=i+m|0;g=Cea(f[a+(e<<2)>>2]|0,o)|0;e=Cea(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;else e=0}else e=0;while(0);return e|0}function $y(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+16|0;h=e;d=Wg(d,a)|0;f[d+92>>2]=c;qV(g,d);f[g>>2]=6664;x=0;Ia(79,h|0,d+72|0,48507);d=x;x=0;if(d&1){h=Ya()|0;_P(g);jb(h|0)}x=0;a=sa(992,c|0,h|0)|0;d=x;x=0;do if(!(d&1)){if((a|0)!=(g|0)){c=a+4|0;if(f[c>>2]|0){x=0;Fa(429,a|0);d=x;x=0;if(d&1)break}d=g+4|0;f[c>>2]=f[d>>2];f[d>>2]=0}if((b[h+11>>0]|0)>=0){_P(g);u=e;return}Hta(f[h>>2]|0);_P(g);u=e;return}while(0);a=Ya()|0;if((b[h+11>>0]|0)>=0){h=a;_P(g);jb(h|0)}Hta(f[h>>2]|0);h=a;_P(g);jb(h|0)}function az(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;if(gea(a,f[c+8>>2]|0,h)|0)LE(0,c,d,e,g);else{p=c+52|0;i=b[p>>0]|0;j=c+53|0;k=b[j>>0]|0;o=f[a+12>>2]|0;l=a+16+(o<<3)|0;b[p>>0]=0;b[j>>0]=0;JM(a+16|0,c,d,e,g,h);a:do if((o|0)>1){m=c+24|0;n=a+8|0;o=c+54|0;a=a+24|0;do{if(b[o>>0]|0)break a;if(!(b[p>>0]|0)){if(b[j>>0]|0)if(!(f[n>>2]&1))break a}else{if((f[m>>2]|0)==1)break a;if(!(f[n>>2]&2))break a}b[p>>0]=0;b[j>>0]=0;JM(a,c,d,e,g,h);a=a+8|0}while(a>>>0>>0)}while(0);b[p>>0]=i;b[j>>0]=k}return}function bz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=12096;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=15556;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function dz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;j=u;u=u+16|0;e=j;a:do if(!c)a=0;else{do if(d|0){i=(a|0)==0?e:a;a=b[c>>0]|0;if(a<<24>>24>-1){f[i>>2]=a&255;a=a<<24>>24!=0&1;break a}g=(ota()|0)+188|0;a=b[c>>0]|0;if(!(f[f[g>>2]>>2]|0)){f[i>>2]=a<<24>>24&57343;a=1;break a}a=(a&255)+-194|0;if(a>>>0<=50){e=c+1|0;g=f[21452+(a<<2)>>2]|0;if(d>>>0<4)if(g&-2147483648>>>((d*6|0)+-6|0)|0)break;a=h[e>>0]|0;d=a>>>3;if((d+-16|d+(g>>26))>>>0<=7){a=a+-128|g<<6;if((a|0)>=0){f[i>>2]=a;a=2;break a}e=(h[c+2>>0]|0)+-128|0;if(e>>>0<=63){e=e|a<<6;if((e|0)>=0){f[i>>2]=e;a=3;break a}a=(h[c+3>>0]|0)+-128|0;if(a>>>0<=63){f[i>>2]=a|e<<6;a=4;break a}}}}}while(0);a=bua()|0;f[a>>2]=84;a=-1}while(0);u=j;return a|0}function ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=13852;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function fz(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;efa(a);h=a+12|0;g=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(g|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;h=a+56|0;f[h>>2]=0;f[a>>2]=10728;i=a+60|0;x=0;Ga(459,i|0,d|0);d=x;x=0;if(d&1){a=Ya()|0;jb(a|0)}g=a+72|0;x=0;Ga(462,g|0,f[e+4>>2]|0);e=x;x=0;do if(e&1)c=Ya()|0;else{f[g>>2]=9376;c=a+80|0;x=0;Ga(462,c|0,0);e=x;x=0;if(e&1){c=Ya()|0;_P(g);break}else{f[c>>2]=10852;b[a+88>>0]=0;f[a+92>>2]=0;f[a+96>>2]=0;f[h>>2]=12;return}}while(0);if((b[i+11>>0]|0)>=0){a=c;jb(a|0)}Hta(f[i>>2]|0);a=c;jb(a|0)}function gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=7168;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function hz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;g=c+4|0;d=(f[g>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;if(!d)return;a:do if(e>>>0>357913941){x=0;Fa(426,a|0);x=0}else{x=0;d=qa(318,d|0)|0;i=x;x=0;if(!(i&1)){f[h>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(e*12|0);c=f[c>>2]|0;e=f[g>>2]|0;if((c|0)==(e|0))return;do{x=0;Ga(459,d|0,c|0);i=x;x=0;if(i&1)break a;c=c+12|0;d=(f[h>>2]|0)+12|0;f[h>>2]=d}while((c|0)!=(e|0));return}}while(0);e=Ya()|0;d=f[a>>2]|0;if(!d)jb(e|0);c=f[h>>2]|0;if((c|0)!=(d|0)){do{c=c+-12|0;f[h>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[h>>2]|0}}while((c|0)!=(d|0));d=f[a>>2]|0}Hta(d);jb(e|0)}function iz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=7696;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function jz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=13488;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=6920;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function lz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;g=a+4|0;f[g>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>3;if(!d)return;a:do if(d>>>0>536870911){x=0;Fa(426,a|0);x=0}else{x=0;c=qa(318,c|0)|0;h=x;x=0;if(!(h&1)){f[g>>2]=c;f[a>>2]=c;f[a+8>>2]=c+(d<<3);b=f[b>>2]|0;d=f[e>>2]|0;if((b|0)==(d|0))return;do{x=0;Ga(462,c|0,f[b+4>>2]|0);h=x;x=0;if(h&1)break a;f[c>>2]=10408;b=b+8|0;c=(f[g>>2]|0)+8|0;f[g>>2]=c}while((b|0)!=(d|0));return}}while(0);d=Ya()|0;c=f[a>>2]|0;if(!c)jb(d|0);b=f[g>>2]|0;if((b|0)!=(c|0)){do{h=b+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);b=f[g>>2]|0}while((b|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(d|0)}function mz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;f[a>>2]=9848;i=a+4|0;oh(i,b+4|0);h=a+24|0;x=0;Ga(471,h|0,b+24|0);g=x;x=0;if(g&1)c=Ya()|0;else{f[a+36>>2]=f[b+36>>2];c=a+40|0;x=0;Ga(462,c|0,f[b+44>>2]|0);g=x;x=0;if(!(g&1)){f[c>>2]=7696;return}c=Ya()|0;e=I;b=f[h>>2]|0;if(b){g=a+28|0;d=f[g>>2]|0;if((d|0)!=(b|0)){do{j=d+-8|0;f[g>>2]=j;Kc[f[f[j>>2]>>2]&511](j);d=f[g>>2]|0}while((d|0)!=(b|0));b=f[h>>2]|0}Hta(b)}}b=f[a+12>>2]|0;if(b|0)do{j=b;b=f[b>>2]|0;_P(j+16|0);_P(j+8|0);Hta(j)}while((b|0)!=0);b=f[i>>2]|0;f[i>>2]=0;if(!b)jb(c|0);Hta(b);jb(c|0)}function nz(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;m=0;n=u;u=u+16|0;h=n;j=a+60|0;l=a+64|0;k=a+68|0;d=f[k>>2]|0;c=f[l>>2]|0;i=d-c>>3;if(!(b[a+84>>0]|0)){m=i;u=n;return m|0}do if(i){g=h+4|0;e=0;c=0;while(1){d=(xc[f[(f[j>>2]|0)+12>>2]&2047](j,e)|0)+4|0;qV(h,f[d>>2]|0);f[h>>2]=7696;d=f[g>>2]|0;if(!d)m=11;else if((f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)==31995){d=d+68|0;a=b[d+11>>0]|0;if(a<<24>>24<0)d=f[d+4>>2]|0;else d=a&255;if(!d)m=11;else{d=0;c=e}}else m=11;if((m|0)==11){m=0;d=1}_P(h);e=e+1|0;if(!d){m=15;break}if(e>>>0>=i>>>0){m=13;break}}if((m|0)==13){d=f[k>>2]|0;c=f[l>>2]|0;break}else if((m|0)==15){u=n;return c|0}}while(0);m=d-c>>3;u=n;return m|0}function oz(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;j=u;u=u+16|0;g=j;h=Gu(c,g,d)|0;d=f[h>>2]|0;if(d|0){c=d;i=0;f[a>>2]=c;c=a+4|0;b[c>>0]=i;u=j;return}i=VN(28)|0;x=0;Ga(459,i+16|0,e|0);e=x;x=0;if(e&1){j=Ya()|0;Hta(i);jb(j|0)}d=f[g>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=d;f[h>>2]=i;d=f[f[c>>2]>>2]|0;if(!d)d=i;else{f[c>>2]=d;d=f[h>>2]|0}Ip(f[c+4>>2]|0,d);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=i;i=1;f[a>>2]=c;c=a+4|0;b[c>>0]=i;u=j;return}function pz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+8|0;d=g;e=a+4|0;wv(e);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=6;b[h>>0]=b[52132]|0;b[h+1>>0]=b[52133]|0;b[h+2>>0]=b[52134]|0;b[h+3>>0]=b[52135]|0;b[h+4>>0]=b[52136]|0;b[h+5>>0]=b[52137]|0;b[h+6>>0]=0;x=0;Ia(147,e|0,h|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);j=a;jb(j|0)}if((b[i>>0]|0)<0)Hta(f[h>>2]|0);boa(e);qV(d,f[c+68>>2]|0);f[d>>2]=7696;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);aN(e);u=g;return}j=Ya()|0;_P(d);jb(j|0)}function qz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+8|0;d=g;e=a+4|0;wv(e);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=6;b[h>>0]=b[52125]|0;b[h+1>>0]=b[52126]|0;b[h+2>>0]=b[52127]|0;b[h+3>>0]=b[52128]|0;b[h+4>>0]=b[52129]|0;b[h+5>>0]=b[52130]|0;b[h+6>>0]=0;x=0;Ia(147,e|0,h|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);j=a;jb(j|0)}if((b[i>>0]|0)<0)Hta(f[h>>2]|0);boa(e);qV(d,f[c+68>>2]|0);f[d>>2]=7696;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);aN(e);u=g;return}j=Ya()|0;_P(d);jb(j|0)}function rz(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(108)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;f[g>>2]=15620;b[g+60>>0]=b[a+60>>0]|0;b[g+61>>0]=b[a+61>>0]|0;b[g+62>>0]=b[a+62>>0]|0;f[g+64>>2]=f[a+64>>2];f[g+68>>2]=f[a+68>>2];f[g+56>>2]=7;c=g+72|0;f[c>>2]=15516;x=0;Ga(500,g+76|0,a+76|0);e=x;x=0;if(!(e&1)){f[g+88>>2]=f[a+88>>2];f[g>>2]=15300;f[c>>2]=15476;e=g+96|0;f[e>>2]=0;f[g+100>>2]=0;f[g+92>>2]=e;b[g+104>>0]=b[a+104>>0]|0;b[g+105>>0]=b[a+105>>0]|0;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function sz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+8|0;d=g;e=a+4|0;wv(e);f[h+8>>2]=0;i=h+11|0;b[i>>0]=7;b[h>>0]=b[52202]|0;b[h+1>>0]=b[52203]|0;b[h+2>>0]=b[52204]|0;b[h+3>>0]=b[52205]|0;b[h+4>>0]=b[52206]|0;b[h+5>>0]=b[52207]|0;b[h+6>>0]=b[52208]|0;b[h+7>>0]=0;x=0;Ia(147,e|0,h|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);j=a;jb(j|0)}if((b[i>>0]|0)<0)Hta(f[h>>2]|0);boa(e);qV(d,f[c+68>>2]|0);f[d>>2]=7168;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);aN(e);u=g;return}j=Ya()|0;_P(d);jb(j|0)}function tz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+8|0;d=g;e=a+4|0;wv(e);f[h+8>>2]=0;i=h+11|0;b[i>>0]=7;b[h>>0]=b[52194]|0;b[h+1>>0]=b[52195]|0;b[h+2>>0]=b[52196]|0;b[h+3>>0]=b[52197]|0;b[h+4>>0]=b[52198]|0;b[h+5>>0]=b[52199]|0;b[h+6>>0]=b[52200]|0;b[h+7>>0]=0;x=0;Ia(147,e|0,h|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);j=a;jb(j|0)}if((b[i>>0]|0)<0)Hta(f[h>>2]|0);boa(e);qV(d,f[c+68>>2]|0);f[d>>2]=7696;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);aN(e);u=g;return}j=Ya()|0;_P(d);jb(j|0)}function uz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=VN(44)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;e=g+16|0;x=0;Ga(459,e|0,d|0);c=x;x=0;if(c&1)e=Ya()|0;else{j=d+12|0;i=f[j+4>>2]|0;c=g+28|0;f[c>>2]=f[j>>2];f[c+4>>2]=i;c=g+36|0;x=0;Ga(462,c|0,f[d+24>>2]|0);d=x;x=0;if(!(d&1)){f[c>>2]=7280;b[h>>0]=1;return}c=Ya()|0;if((b[g+27>>0]|0)<0){Hta(f[e>>2]|0);e=c}else e=c}d=f[a>>2]|0;f[a>>2]=0;if(!d)jb(e|0);if(b[h>>0]|0){c=d+16|0;_P(d+36|0);if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}Hta(d);jb(e|0)}function vz(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;j=u;u=u+64|0;h=j+16|0;i=j;ND(i,d);x=0;g=h;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));Ia(88,a|0,h|0,i|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[i+11>>0]|0)>=0){a=d;jb(a|0)}Hta(f[i>>2]|0);a=d;jb(a|0)}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);f[a>>2]=15112;d=a+104|0;x=0;Ga(462,d|0,f[e+4>>2]|0);i=x;x=0;if(!(i&1)){f[d>>2]=7168;f[a+96>>2]=3;u=j;return}c=Ya()|0;f[a>>2]=13680;d=a+84|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=a+72|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);a=c;jb(a|0)}function wz(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+16|0;d=j;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;e=d+11|0;b[e>>0]=1;b[d>>0]=44;b[d+1>>0]=0;x=0;Ga(682,a|0,d|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[e>>0]|0)>=0)jb(c|0);Hta(f[d>>2]|0);jb(c|0)}if((b[e>>0]|0)<0)Hta(f[d>>2]|0);if((f[f[a+68>>2]>>2]|0)==3){u=j;return}d=a+4|0;i=d+11|0;c=b[i>>0]|0;e=c<<24>>24<0;if(e)g=f[a+8>>2]|0;else g=c&255;if(!g){u=j;return}if(e)c=f[a+8>>2]|0;else c=c&255;g=XO(d,c+-1|0)|0;if(wpa(h[g>>0]|0)|0)if(!(b[a+84>>0]|0)){u=j;return}c=b[i>>0]|0;if(c<<24>>24<0){d=f[d>>2]|0;c=f[a+8>>2]|0}else c=c&255;if((b[d+c+-1>>0]|0)==40){u=j;return}f[a+76>>2]=1;u=j;return}function xz(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;j=u;u=u+64|0;h=j+16|0;i=j;ND(i,d);x=0;g=h;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));Ia(88,a|0,h|0,i|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[i+11>>0]|0)>=0){a=d;jb(a|0)}Hta(f[i>>2]|0);a=d;jb(a|0)}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);f[a>>2]=14928;d=a+104|0;x=0;Ga(462,d|0,f[e+4>>2]|0);i=x;x=0;if(!(i&1)){f[d>>2]=7904;f[a+96>>2]=2;u=j;return}c=Ya()|0;f[a>>2]=13680;d=a+84|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=a+72|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);a=c;jb(a|0)}function yz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=f[a+4>>2]|0;if(!a){k=0;return k|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;g=d<<24>>24<0;d=g?f[a+20>>2]|0:d&255;h=d>>>0>>0;c=h?d:k;if(!c)i=5;else{c=lO(j,g?f[e>>2]|0:e,c)|0;if(!c)i=5;else if((c|0)<0)i=7;else i=8}if((i|0)==5)if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if(!c)i=10;else{c=lO(g?f[e>>2]|0:e,j,c)|0;if(!c)i=10;else if((c|0)>=0){a=1;i=14;break}}if((i|0)==10)if(!h){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function zz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=a+32|0;WO(e,c)|0;i=a+44|0;f[i>>2]=0;j=a+48|0;h=f[j>>2]|0;if(h&8|0){c=b[e+11>>0]|0;if(c<<24>>24<0){c=f[e>>2]|0;d=c;g=c;c=c+(f[a+36>>2]|0)|0}else{d=e;g=e;c=e+(c&255)|0}f[i>>2]=c;f[a+8>>2]=d;f[a+12>>2]=g;f[a+16>>2]=c}if(!(h&16))return;d=e+11|0;c=b[d>>0]|0;if(c<<24>>24<0){g=f[a+36>>2]|0;f[i>>2]=(f[e>>2]|0)+g;c=(f[a+40>>2]&2147483647)+-1|0}else{g=c&255;f[i>>2]=e+g;c=10}bG(e,c,0);c=b[d>>0]|0;if(c<<24>>24<0){e=f[e>>2]|0;c=f[a+36>>2]|0}else c=c&255;d=a+24|0;f[d>>2]=e;f[a+20>>2]=e;f[a+28>>2]=e+c;if(!(f[j>>2]&3))return;f[d>>2]=e+g;return}function Az(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=u;u=u+272|0;i=l+8|0;j=l;h=f[b>>2]|0;f[j>>2]=h;k=(a|0)!=0;g=k?d:256;a=k?a:i;d=h;a:do if((g|0)!=0&(h|0)!=0){e=0;h=d;while(1){d=c>>>0>=g>>>0;if(!(d|c>>>0>32)){d=h;break a}d=d?g:c;c=c-d|0;d=Js(a,j,d,0)|0;if((d|0)==-1)break;h=(a|0)==(i|0);g=g-(h?0:d)|0;a=h?a:a+d|0;e=d+e|0;d=f[j>>2]|0;if((g|0)!=0&(d|0)!=0)h=d;else break a}e=-1;g=0;d=f[j>>2]|0}else e=0;while(0);b:do if(d)if((g|0)!=0&(c|0)!=0){h=a;while(1){a=xC(h,f[d>>2]|0,0)|0;if((a+1|0)>>>0<2)break;d=(f[j>>2]|0)+4|0;f[j>>2]=d;c=c+-1|0;g=g-a|0;e=a+e|0;if(!((g|0)!=0&(c|0)!=0))break b;else h=h+a|0}if(!a)f[j>>2]=0;else e=-1}while(0);if(k)f[b>>2]=f[j>>2];u=l;return e|0}function Bz(a){a=a|0;var c=0,d=0,e=0,f=0;d=0;c=H2(a)|0;if(!c){f=b[a>>0]|0;c=a+1|0;e=f<<24>>24|0;c=(e|0)!=10&(f|4)<<24>>24!=13?((e|0)==12?c:0):c;if(!c)c=a;else d=3}else d=3;if((d|0)==3)while(1){d=H2(c)|0;if(d|0){c=d;d=3;continue}e=b[c>>0]|0;d=c+1|0;f=e<<24>>24|0;d=(f|0)!=10&(e|4)<<24>>24!=13?((f|0)==12?d:0):d;if(!d)break;else{c=d;d=3}}c=c|0?c:a;if(c|0)if((b[c>>0]|0)==41){f=c+1|0;return f|0}if(!a){f=0;return f|0}c=b[36397]|0;a:do if(!(c<<24>>24))c=0;else{d=a;e=36397;while(1){if((b[d>>0]|0)!=c<<24>>24)break a;e=e+1|0;c=b[e>>0]|0;if(!(c<<24>>24)){c=0;break}else d=d+1|0}}while(0);f=c<<24>>24==0?a:0;return f|0}function Cz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;e=0;g=u;u=u+32|0;i=g+12|0;h=g;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=1;b[i>>0]=48;b[i+1>>0]=0;x=0;Ga(459,h|0,c|0);d=x;x=0;if(d&1)c=Ya()|0;else{d=h+11|0;if((b[((b[d>>0]|0)<0?f[h>>2]|0:h)>>0]|0)==46){x=0;c=ua(12,h|0,0,i|0,1)|0;k=x;x=0;if(!(k&1))e=4}else{c=h;e=4}if((e|0)==4){x=0;Ga(459,a|0,c|0);k=x;x=0;if(!(k&1)){if((b[d>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)>=0){u=g;return}Hta(f[i>>2]|0);u=g;return}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[h>>2]|0)}if((b[j>>0]|0)>=0)jb(c|0);Hta(f[i>>2]|0);jb(c|0)}function Dz(a){a=a|0;var c=0;if((b[a>>0]|0)==36){c=a;do c=c+1|0;while((b[c>>0]|0)==45);c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0)return c|0}}c=Ug(a)|0;if(c)if((b[c>>0]|0)!=37)return c|0;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;if(!a){c=0;return c|0}a=Ay(a)|0;if(!a){c=0;return c|0}c=wy(a)|0;return c|0}function Ez(a){a=a|0;var c=0,d=0,e=0;e=0;d=a;while(1)if((b[d>>0]|0)==45)d=d+1|0;else break;do if(!d)c=0;else{c=Ay(d)|0;if(!c)e=6;else{c=wy(c)|0;if(!c)e=6}if((e|0)==6){c=np(d)|0;if(!c){c=0;break}}c=(b[c>>0]|0)==124?c+1|0:0}while(0);c=c|0?c:a;if(!c){e=0;return e|0}else d=c;while(1)if((b[d>>0]|0)==45)d=d+1|0;else break;c=Ay(d)|0;if(!c)e=12;else{c=wy(c)|0;if(!c)e=12}if((e|0)==12){c=np(d)|0;if(!c){e=0;return e|0}}e=(b[c>>0]|0)==47?c+1|0:0;return e|0}function Fz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=a+52|0;f[g>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7184;d=a+64|0;x=0;Ga(462,d|0,f[c+68>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;jb(c|0)}f[d>>2]=7280;f[a>>2]=8592;d=a+72|0;x=0;Ga(462,d|0,f[c+76>>2]|0);e=x;x=0;if(e&1){c=Ya()|0;f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}f[d>>2]=7696;e=a+80|0;x=0;Ga(462,e|0,f[c+84>>2]|0);c=x;x=0;if(!(c&1)){f[e>>2]=7280;f[g>>2]=22;return}c=Ya()|0;_P(d);f[a>>2]=7184;a=a+64|0;_P(a);jb(c|0)}function Gz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g+8|0;d=g;e=a+4|0;wv(e);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[52119]|0;b[h+1>>0]=b[52120]|0;b[h+2>>0]=b[52121]|0;b[h+3>>0]=b[52122]|0;b[h+4>>0]=b[52123]|0;b[h+5>>0]=0;x=0;Ia(147,e|0,h|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);j=a;jb(j|0)}if((b[i>>0]|0)<0)Hta(f[h>>2]|0);boa(e);qV(d,f[c+68>>2]|0);f[d>>2]=7696;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);aN(e);u=g;return}j=Ya()|0;_P(d);jb(j|0)}function Hz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=f[a+4>>2]|0;if(!a){k=0;return k|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;g=d<<24>>24<0;d=g?f[a+20>>2]|0:d&255;h=d>>>0>>0;c=h?d:k;if(!c)i=5;else{c=lO(j,g?f[e>>2]|0:e,c)|0;if(!c)i=5;else if((c|0)<0)i=7;else i=8}if((i|0)==5)if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if(!c)i=10;else{c=lO(g?f[e>>2]|0:e,j,c)|0;if(!c)i=10;else if((c|0)>=0){a=1;i=14;break}}if((i|0)==10)if(!h){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;if(!b)return;a:do if(b>>>0>357913941){x=0;Fa(426,a|0);x=0}else{x=0;d=qa(318,b*12|0)|0;g=x;x=0;if(!(g&1)){f[h>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);do{x=0;Ga(678,d|0,c|0);g=x;x=0;if(g&1)break a;d=(f[h>>2]|0)+12|0;f[h>>2]=d;b=b+-1|0}while((b|0)!=0);return}}while(0);g=Ya()|0;b=f[a>>2]|0;if(!b)jb(g|0);d=f[h>>2]|0;if((d|0)!=(b|0)){do{c=d+-12|0;f[h>>2]=c;e=f[c>>2]|0;if(!e)d=c;else{d=d+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Hta(e);d=f[h>>2]|0}}while((d|0)!=(b|0));b=f[a>>2]|0}Hta(b);jb(g|0)}function Jz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=0;h=a+11|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=b[c+11>>0]|0;i=e<<24>>24<0;d=i?f[c>>2]|0:c;c=i?f[c+4>>2]|0:e&255;e=d+c|0;if(!c)return;else c=d;a:while(1){d=b[c>>0]|0;switch(d<<24>>24){case 10:{x=0;sa(991,a|0,43617)|0;i=x;x=0;if(i&1)break a;break}case 13:{x=0;sa(991,a|0,43620)|0;i=x;x=0;if(i&1)break a;break}case 9:{x=0;sa(991,a|0,43623)|0;i=x;x=0;if(i&1)break a;break}default:{x=0;Ga(534,a|0,d|0);i=x;x=0;if(i&1)break a}}c=c+1|0;if((c|0)==(e|0)){g=2;break}}if((g|0)==2)return;c=Ya()|0;if((b[h>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function Kz(a){a=a|0;var b=0,c=0,d=0;d=u;u=u+16|0;c=d+8|0;b=d;qV(b,f[a+56>>2]|0);f[b>>2]=7904;a=f[b+4>>2]|0;if(!a)a=0;else a=(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)==32815?a:0;x=0;Ga(462,c|0,a|0);a=x;x=0;if(a&1){d=Ya()|0;_P(b);jb(d|0)}f[c>>2]=13648;_P(b);a=f[c+4>>2]|0;if(!a){_P(c);c=0;u=d;return c|0}b=a+60|0;do if((f[a+68>>2]|0)==(f[a+64>>2]|0))a=0;else{x=0;a=sa(f[(f[b>>2]|0)+16>>2]|0,b|0,0)|0;b=x;x=0;if(b&1){d=Ya()|0;_P(c);jb(d|0)}else{a=f[a+4>>2]|0;if(!a){a=0;break}a=(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)==33918;break}}while(0);_P(c);c=a;u=d;return c|0}function Lz(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;h=u;u=u+16|0;g=h;kha(g,b);x=0;b=sa(994,g|0,83352)|0;i=x;x=0;if(!(i&1)){x=0;ua(f[(f[b>>2]|0)+48>>2]|0,b|0,57704,57736,c|0)|0;i=x;x=0;if(!(i&1)){x=0;c=sa(994,g|0,83360)|0;i=x;x=0;if(!(i&1)){x=0;b=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;i=x;x=0;if(!(i&1)){f[d>>2]=b;x=0;b=qa(f[(f[c>>2]|0)+16>>2]|0,c|0)|0;i=x;x=0;if(!(i&1)){f[e>>2]=b;x=0;Ga(f[(f[c>>2]|0)+20>>2]|0,a|0,c|0);i=x;x=0;if(!(i&1)){uga(g);u=h;return}}}}}}i=Ya()|0;uga(g);jb(i|0)}function Mz(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;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;l=d-c>>2;e=a+16|0;g=f[e>>2]|0;k=a+20|0;h=f[k>>2]|0;if((((l|0)==0?0:(l*146|0)+-1|0)|0)==(h+g|0)){Gi(a);g=f[e>>2]|0;a=f[k>>2]|0;d=f[i>>2]|0;c=f[j>>2]|0}else a=h;a=g+a|0;if((d|0)==(c|0))c=0;else c=(f[c+(((a>>>0)/146|0)<<2)>>2]|0)+(((a>>>0)%146|0)*28|0)|0;f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];a=c+12|0;qV(a,f[b+16>>2]|0);f[a>>2]=15556;f[c+20>>2]=f[b+20>>2];a=f[b+24>>2]|0;f[c+24>>2]=a;if(!a){l=f[k>>2]|0;l=l+1|0;f[k>>2]=l;return}ega(a);l=f[k>>2]|0;l=l+1|0;f[k>>2]=l;return}function Nz(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;j=0;k=u;u=u+16|0;e=k+8|0;i=k;c=f[a+76>>2]|0;g=f[a+80>>2]|0;a:do if((c|0)!=(g|0)){h=e+4|0;while(1){qV(e,f[c+4>>2]|0);f[e>>2]=13852;d=f[h>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+40>>2]|0,d|0,b|0)|0;l=x;x=0;if(l&1)break;_P(e);c=c+8|0;if(d){c=1;j=10;break}if((c|0)==(g|0))break a}if((j|0)==10){u=k;return c|0}l=Ya()|0;_P(e);jb(l|0)}while(0);qV(i,a);f[i>>2]=6664;x=0;c=qa(b|0,i|0)|0;l=x;x=0;if(l&1){l=Ya()|0;_P(i);jb(l|0)}else{_P(i);l=c;u=k;return l|0}return 0}function Oz(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;i=u;u=u+16|0;h=i;kha(h,c);x=0;c=sa(994,h|0,83320)|0;j=x;x=0;if(!(j&1)){x=0;ua(f[(f[c>>2]|0)+32>>2]|0,c|0,57704,57736,d|0)|0;j=x;x=0;if(!(j&1)){x=0;d=sa(994,h|0,83336)|0;j=x;x=0;if(!(j&1)){x=0;c=qa(f[(f[d>>2]|0)+12>>2]|0,d|0)|0;j=x;x=0;if(!(j&1)){b[e>>0]=c;x=0;c=qa(f[(f[d>>2]|0)+16>>2]|0,d|0)|0;j=x;x=0;if(!(j&1)){b[g>>0]=c;x=0;Ga(f[(f[d>>2]|0)+20>>2]|0,a|0,d|0);j=x;x=0;if(!(j&1)){uga(h);u=i;return}}}}}}j=Ya()|0;uga(h);jb(j|0)}function Pz(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;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;if(d-c>>2>>>0>=b>>>0){AD(c|0,0,b<<2|0)|0;f[l>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)EO(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;AD(c|0,0,b<<2|0)|0;if((i|0)>0)Lu(g|0,j|0,i|0)|0;f[a>>2]=e;f[l>>2]=c+(b<<2);f[k>>2]=e+(d<<2);if(!j)return;Hta(j);return}function Qz(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;j=0;k=u;u=u+16|0;e=k+8|0;i=k;c=f[a+76>>2]|0;g=f[a+80>>2]|0;a:do if((c|0)!=(g|0)){h=e+4|0;while(1){qV(e,f[c+4>>2]|0);f[e>>2]=15556;d=f[h>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+40>>2]|0,d|0,b|0)|0;l=x;x=0;if(l&1)break;_P(e);c=c+8|0;if(d){c=1;j=10;break}if((c|0)==(g|0))break a}if((j|0)==10){u=k;return c|0}l=Ya()|0;_P(e);jb(l|0)}while(0);qV(i,a);f[i>>2]=6664;x=0;c=qa(b|0,i|0)|0;l=x;x=0;if(l&1){l=Ya()|0;_P(i);jb(l|0)}else{_P(i);l=c;u=k;return l|0}return 0}function Rz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+16|0;h=g;d=b[c+60>>0]|0;e=a+4|0;if(d<<24>>24){Uk(h,c+64|0,d);x=0;Ia(147,e|0,h|0,c|0);e=x;x=0;if(e&1){a=Ya()|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=a;jb(h|0)}else{if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);u=g;return}}if(b[a+101>>0]|0){FI(e,c+64|0,c);u=g;return}GB(h,c+64|0);x=0;Ia(147,e|0,h|0,c|0);e=x;x=0;if(e&1){a=Ya()|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=a;jb(h|0)}else{if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);u=g;return}}function Sz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+12>>2]|0;if(!d)e=a;else while(1){e=f[d+12>>2]|0;if(!e){e=a;break}else{a=d;d=e}}c=Nw(e,c)|0;if((c|0)==(e+4|0))return;a=f[c+4>>2]|0;if(!a){d=c+8|0;a=f[d>>2]|0;if((f[a>>2]|0)!=(c|0))do{g=f[d>>2]|0;d=g+8|0;a=f[d>>2]|0}while((f[a>>2]|0)!=(g|0))}else while(1){d=f[a>>2]|0;if(!d)break;else a=d}if((f[e>>2]|0)==(c|0))f[e>>2]=a;a=e+8|0;f[a>>2]=(f[a>>2]|0)+-1;qj(f[e+4>>2]|0,c);a=c+16|0;_P(c+28|0);if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);Hta(c);return}function Tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+8|0;h=i;c=f[b>>2]|0;e=b+4|0;if((c|0)==(e|0)){u=i;return}d=a+92|0;while(1){a=f[c+20>>2]|0;qV(h,vc[f[(f[a>>2]|0)+16>>2]&511](a)|0);f[h>>2]=15556;x=0;Ja(13,g|0,d|0,h|0,h|0);a=x;x=0;if(a&1){b=11;break}_P(h);b=f[c+4>>2]|0;if(!b){a=c+8|0;b=f[a>>2]|0;if((f[b>>2]|0)!=(c|0))do{c=f[a>>2]|0;a=c+8|0;b=f[a>>2]|0}while((f[b>>2]|0)!=(c|0))}else while(1){a=f[b>>2]|0;if(!a)break;else b=a}if((b|0)==(e|0)){b=3;break}else c=b}if((b|0)==3){u=i;return}else if((b|0)==11){i=Ya()|0;_P(h);jb(i|0)}}function Uz(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=u;u=u+16|0;c=g+8|0;d=g;e=a+84|0;b=f[e>>2]|0;if(b|0){e=b;u=g;return e|0}f[e>>2]=f[a+60>>2];qV(c,f[a+72>>2]|0);f[c>>2]=7696;b=f[c+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;h=x;x=0;if(h&1){h=Ya()|0;_P(c);jb(h|0)}h=f[e>>2]|0;f[e>>2]=b+-1640531527+(h<<6)+(h>>>2)^h;_P(c);qV(d,f[a+80>>2]|0);f[d>>2]=7696;b=f[d+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;h=x;x=0;if(h&1){h=Ya()|0;_P(d);jb(h|0)}else{h=f[e>>2]|0;f[e>>2]=b+-1640531527+(h<<6)+(h>>>2)^h;_P(d);h=f[e>>2]|0;u=g;return h|0}return 0}function Vz(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=a+4|0;b=f[h>>2]|0;j=a+16|0;c=f[j>>2]|0;d=b+(((c>>>0)/146|0)<<2)|0;i=a+8|0;if((f[i>>2]|0)==(b|0)){g=0;e=a+20|0;b=0}else{e=a+20|0;g=c+(f[e>>2]|0)|0;g=(f[b+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;b=(f[d>>2]|0)+(((c>>>0)%146|0)*28|0)|0}a:while(1){do{if((g|0)==(b|0))break a;a=f[b+24>>2]|0;if(a|0)QZ(a);_P(b+12|0);b=b+28|0}while((b-(f[d>>2]|0)|0)!=4088);b=d+4|0;d=b;b=f[b>>2]|0}f[e>>2]=0;a=f[h>>2]|0;b=(f[i>>2]|0)-a>>2;if(b>>>0>2)do{Hta(f[a>>2]|0);a=(f[h>>2]|0)+4|0;f[h>>2]=a;b=(f[i>>2]|0)-a>>2}while(b>>>0>2);switch(b|0){case 1:{b=73;break}case 2:{b=146;break}default:return}f[j>>2]=b;return}function Wz(a){a=a|0;var c=0,d=0,e=0;if((b[a>>0]|0)==35){c=R5(a+1|0)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;e=a;d=c-e|0;c=(d|0)!=4&(d|0)!=7?0:c;if(c|0){a=c;return a|0}if((b[a>>0]|0)==35){c=R5(a+1|0)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;e=c-e|0;c=(e|0)!=5&(e|0)!=9?0:c;if(c|0){a=c;return a|0}a=Bq(a)|0;return a|0}function Xz(a){a=a|0;var c=0,d=0;c=0;d=Bp(a)|0;if(!d){d=0;return d|0}a=JQ(d)|0;if(!a){a=xu(d)|0;if(!a)a=d;else c=4}else c=4;if((c|0)==4)while(1){c=JQ(a)|0;if(c|0){a=c;c=4;continue}c=xu(a)|0;if(!c)break;else{a=c;c=4}}switch(b[a>>0]|0){case 59:case 125:{a=a+1|0;break}default:a=Gma(a)|0}d=a|0?d:0;return d|0}function Yz(a){a=a|0;var c=0,d=0;c=a+1|0;d=b[a>>0]|0;a:do if(d<<24>>24>-1)c=1;else if((d&255)<194)c=0;else{if((d&255)<224){c=(b[c>>0]&-64)<<24>>24==-128?2:0;break}if((d&255)<240){switch(d<<24>>24){case -32:{c=b[c>>0]|0;if((c&255)<160){c=0;break a}break}case -19:{c=b[c>>0]|0;if((c&255)>159){c=0;break a}break}default:c=b[c>>0]|0}if((c&-64)<<24>>24!=-128){c=0;break}c=(b[a+2>>0]&-64)<<24>>24==-128?3:0;break}if((d&255)<245){switch(d<<24>>24){case -16:{c=b[c>>0]|0;if((c&255)<144){c=0;break a}break}case -12:{c=b[c>>0]|0;if((c&255)>143){c=0;break a}break}default:c=b[c>>0]|0}if((c&-64)<<24>>24==-128)if((b[a+2>>0]&-64)<<24>>24==-128)c=(b[a+3>>0]&-64)<<24>>24==-128?4:0;else c=0;else c=0}else c=0}while(0);return c|0}function Zz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=a+8|0;j=a+96|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;if(b[j>>0]|0){e=f[a+32>>2]|0;if(e|0)zta(e)}i=a+97|0;if(b[i>>0]|0){e=f[a+56>>2]|0;if(e|0)zta(e)}e=a+52|0;f[e>>2]=d;if(d>>>0>8){e=b[a+98>>0]|0;if((c|0)!=0&e<<24>>24!=0){g=0;h=c}else{g=1;h=yta(d)|0}f[a+32>>2]=h}else{f[a+32>>2]=a+44;f[e>>2]=8;g=0;e=b[a+98>>0]|0}b[j>>0]=g;if(e<<24>>24){f[a+60>>2]=0;c=0;d=0;j=a+56|0;f[j>>2]=d;b[i>>0]=c;return a|0}e=(d|0)>8?d:8;f[a+60>>2]=e;if((c|0)!=0&e>>>0>7){j=0;d=c;c=a+56|0;f[c>>2]=d;b[i>>0]=j;return a|0}c=1;d=yta(e)|0;j=a+56|0;f[j>>2]=d;b[i>>0]=c;return a|0}function _z(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;ND(h,a);g=h+11|0;a=b[g>>0]|0;i=a<<24>>24<0;c=f[h>>2]|0;d=i?c:h;i=i?f[h+4>>2]|0:a&255;e=d+i|0;if(!i)i=c;else{c=d;a=d;while(1){i=(Ema(b[c>>0]|0)|0)&255;b[a>>0]=i;c=c+1|0;if((c|0)==(e|0))break;else a=a+1|0}a=b[g>>0]|0;i=f[h>>2]|0}g=a<<24>>24<0;e=g?i:h;c=f[19900]|0;if(!c)a=0;else{a=79600;a:while(1){d=c;while(1){if((iO(f[d+16>>2]|0,e)|0)>=0)break;c=f[d+4>>2]|0;if(!c)break a;else d=c}c=f[d>>2]|0;if(!c){a=d;break}else a=d}if((a|0)==79600)a=0;else if((iO(e,f[a+16>>2]|0)|0)<0)a=0;else a=f[a+20>>2]|0}if(!g){u=j;return a|0}Hta(i);u=j;return a|0}function $z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h;g=h+8|0;zf(a,b)|0;qV(d,f[b+84>>2]|0);f[d>>2]=7280;e=f[d+4>>2]|0;if(e|0)if((f[81]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(d);c=f[e+68>>2]|0;d=f[e+72>>2]|0;if((c|0)==(d|0)){u=h;return b|0}e=g+4|0;while(1){qV(g,f[c+4>>2]|0);f[g>>2]=6920;i=f[e>>2]|0;x=0;sa(f[(f[i>>2]|0)+52>>2]|0,i|0,a|0)|0;i=x;x=0;if(i&1){c=9;break}_P(g);c=c+8|0;if((c|0)==(d|0)){c=8;break}}if((c|0)==8){u=h;return b|0}else if((c|0)==9){i=Ya()|0;_P(g);jb(i|0)}}_P(d);u=h;return b|0}function aA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>3;c=h+1|0;if(c>>>0>536870911)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>2;d=g>>3>>>0<268435455?(d>>>0>>0?c:d):536870911;do if(!d){e=0;g=0}else{if(d>>>0<=536870911){g=VN(d<<3)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<3)|0;m=b;h=f[m+4>>2]|0;b=c;f[b>>2]=f[m>>2];f[b+4>>2]=h;if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+8;f[l>>2]=e+(d<<3);if(!j)return;Hta(j);return}function bA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>3;c=h+1|0;if(c>>>0>536870911)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>2;d=g>>3>>>0<268435455?(d>>>0>>0?c:d):536870911;do if(!d){e=0;g=0}else{if(d>>>0<=536870911){g=VN(d<<3)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<3)|0;m=b;h=f[m+4>>2]|0;b=c;f[b>>2]=f[m>>2];f[b+4>>2]=h;if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+8;f[l>>2]=e+(d<<3);if(!j)return;Hta(j);return}function cA(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;h=u;u=u+128|0;k=h+16|0;l=h+12|0;i=h;j=h+8|0;f[l>>2]=k+100;wI(a,k,l,d,e,g);g=i;f[g>>2]=0;f[g+4>>2]=0;f[j>>2]=k;g=Sla(b,f[c>>2]|0)|0;d=LV(f[a>>2]|0)|0;x=0;a=ua(29,b|0,j|0,g|0,i|0)|0;g=x;x=0;if(g&1){a=Ya()|0;if(d|0){x=0;qa(407,d|0)|0;l=x;x=0;if(l&1){l=Za(0)|0;soa(l)}}jb(a|0)}if(d|0){x=0;qa(407,d|0)|0;l=x;x=0;if(l&1){l=Za(0)|0;soa(l)}}if((a|0)==-1)ZP(58806);else{f[c>>2]=b+(a<<2);u=h;return}}function dA(a){a=a|0;var c=0,d=0,e=0,f=0;if((b[a>>0]|0)!=33){f=0;return f|0}f=a+1|0;c=Xu(f)|0;a:do if(c|0){d=b[36304]|0;if(d<<24>>24){e=36304;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){f=c;return f|0}}while(0);if((b[a>>0]|0)!=33){f=0;return f|0}c=Xu(f)|0;if(!c){f=0;return f|0}d=b[36312]|0;b:do if(d<<24>>24){e=36312;while(1){if((b[c>>0]|0)!=d<<24>>24){c=0;break}c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24))break b}return c|0}while(0);f=sR(c)|0;return f|0}function eA(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;g=a+72|0;e=(f[a+80>>2]|0)-(f[a+76>>2]|0)>>3;if(!e){u=i;return}b=h+4|0;a=0;while(1){c=(xc[f[(f[g>>2]|0)+16>>2]&2047](g,a)|0)+4|0;c=f[c>>2]|0;qV(h,vc[f[(f[c>>2]|0)+16>>2]&511](c)|0);f[h>>2]=13852;x=0;c=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,a|0)|0;d=x;x=0;if(d&1){a=10;break}if((c|0)!=(h|0)){d=c+4|0;if(f[d>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){a=10;break}}f[d>>2]=f[b>>2];f[b>>2]=0}_P(h);a=a+1|0;if(a>>>0>=e>>>0){a=3;break}}if((a|0)==3){u=i;return}else if((a|0)==10){i=Ya()|0;_P(h);jb(i|0)}}function fA(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;g=a+72|0;e=(f[a+80>>2]|0)-(f[a+76>>2]|0)>>3;if(!e){u=i;return}b=h+4|0;a=0;while(1){c=(xc[f[(f[g>>2]|0)+16>>2]&2047](g,a)|0)+4|0;c=f[c>>2]|0;qV(h,vc[f[(f[c>>2]|0)+16>>2]&511](c)|0);f[h>>2]=15556;x=0;c=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,a|0)|0;d=x;x=0;if(d&1){a=10;break}if((c|0)!=(h|0)){d=c+4|0;if(f[d>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){a=10;break}}f[d>>2]=f[b>>2];f[b>>2]=0}_P(h);a=a+1|0;if(a>>>0>=e>>>0){a=3;break}}if((a|0)==3){u=i;return}else if((a|0)==10){i=Ya()|0;_P(h);jb(i|0)}}function gA(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;k=d;i=a+8|0;g=0;j=0;a:while(1){if((c|0)==(d|0)|g>>>0>=e>>>0){a=14;break}h=LV(f[i>>2]|0)|0;x=0;a=ta(175,c|0,k-c|0,b|0)|0;l=x;x=0;if(l&1){a=7;break}if(h|0){x=0;qa(407,h|0)|0;l=x;x=0;if(l&1){a=6;break}}switch(a|0){case -2:case -1:{a=14;break a}case 0:{a=1;break}default:{}}g=g+1|0;j=a+j|0;c=c+a|0}if((a|0)==6){l=Za(0)|0;soa(l)}else if((a|0)==7){a=Ya()|0;if(h|0){x=0;qa(407,h|0)|0;l=x;x=0;if(l&1){l=Za(0)|0;soa(l)}}jb(a|0)}else if((a|0)==14)return j|0;return 0}function hA(a){a=a|0;var c=0,d=0,e=0;e=0;if(!a){e=0;return e|0}c=b[45818]|0;a:do if(c<<24>>24){d=45818;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);c=JQ(a)|0;if(!c){c=xu(a)|0;if(c){a=c;e=7}}else{a=c;e=7}if((e|0)==7)while(1){c=JQ(a)|0;if(c|0){a=c;e=7;continue}c=xu(a)|0;if(!c)break;else{a=c;e=7}}c=b[36280]|0;b:do if(c<<24>>24){d=36280;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break b}return a|0}while(0);e=sR(a)|0;return e|0}function iA(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[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;j=b[c+11>>0]|0;g=j<<24>>24<0;j=g?f[c+4>>2]|0:j&255;i=b[d+11>>0]|0;h=i<<24>>24<0;i=h?f[d+4>>2]|0:i&255;g=g?f[c>>2]|0:c;c=i+j|0;do if(c>>>0>4294967279){x=0;Fa(428,a|0);x=0}else{if(c>>>0<11){b[a+11>>0]=j;c=a}else{e=c+16&-16;x=0;c=qa(318,e|0)|0;k=x;x=0;if(k&1)break;f[a>>2]=c;f[a+8>>2]=e|-2147483648;f[a+4>>2]=j}if(j|0)Lu(c|0,g|0,j|0)|0;b[c+j>>0]=0;x=0;ta(41,a|0,(h?f[d>>2]|0:d)|0,i|0)|0;k=x;x=0;if(!(k&1))return}while(0);c=Ya()|0;if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function jA(a){a=a|0;var c=0,d=0,e=0,f=0;c=0;d=mq(a)|0;if(!d){d=0;return d|0}a=H2(d)|0;if(!a){f=b[d>>0]|0;a=d+1|0;e=f<<24>>24|0;a=(e|0)!=10&(f|4)<<24>>24!=13?((e|0)==12?a:0):a;if(!a)a=d;else c=4}else c=4;if((c|0)==4)while(1){c=H2(a)|0;if(c|0){a=c;c=4;continue}e=b[a>>0]|0;c=a+1|0;f=e<<24>>24|0;c=(f|0)!=10&(e|4)<<24>>24!=13?((f|0)==12?c:0):c;if(!c)break;else{a=c;c=4}}a=a|0?a:d;if(!a)a=0;else a=(b[a>>0]|0)==41?a+1|0:0;f=a|0?a:d;return f|0}function kA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==30844){k=xc[f[(f[a>>2]|0)+168>>2]&2047](a,c)|0;return k|0}if(!(Xp(a,c)|0)){k=0;return k|0}e=a+84|0;g=c+84|0;d=b[e+11>>0]|0;k=d<<24>>24<0;d=d&255;j=k?f[a+88>>2]|0:d;i=b[g+11>>0]|0;a=i<<24>>24<0;if((j|0)!=((a?f[c+88>>2]|0:i&255)|0)){k=0;return k|0}h=f[e>>2]|0;i=k?h:e;a=a?f[g>>2]|0:g;c=(j|0)==0;if(k){if(c){k=1;return k|0}k=(lO(i,a,j)|0)==0;return k|0}if(c){k=1;return k|0}if((b[a>>0]|0)!=(h&255)<<24>>24){k=0;return k|0}while(1){d=d+-1|0;e=e+1|0;if(!d){a=1;d=12;break}a=a+1|0;if((b[e>>0]|0)!=(b[a>>0]|0)){a=0;d=12;break}}if((d|0)==12)return a|0;return 0}function lA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==30740){k=xc[f[(f[a>>2]|0)+164>>2]&2047](a,c)|0;return k|0}if(!(Xp(a,c)|0)){k=0;return k|0}e=a+84|0;g=c+84|0;d=b[e+11>>0]|0;k=d<<24>>24<0;d=d&255;j=k?f[a+88>>2]|0:d;i=b[g+11>>0]|0;a=i<<24>>24<0;if((j|0)!=((a?f[c+88>>2]|0:i&255)|0)){k=0;return k|0}h=f[e>>2]|0;i=k?h:e;a=a?f[g>>2]|0:g;c=(j|0)==0;if(k){if(c){k=1;return k|0}k=(lO(i,a,j)|0)==0;return k|0}if(c){k=1;return k|0}if((b[a>>0]|0)!=(h&255)<<24>>24){k=0;return k|0}while(1){d=d+-1|0;e=e+1|0;if(!d){a=1;d=12;break}a=a+1|0;if((b[e>>0]|0)!=(b[a>>0]|0)){a=0;d=12;break}}if((d|0)==12)return a|0;return 0}function mA(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;e=0;g=u;u=u+16|0;i=g;d=a+64|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+11|0;b[j>>0]=6;b[i>>0]=b[32853]|0;b[i+1>>0]=b[32854]|0;b[i+2>>0]=b[32855]|0;b[i+3>>0]=b[32856]|0;b[i+4>>0]=b[32857]|0;b[i+5>>0]=b[32858]|0;b[i+6>>0]=0;k=b[d+11>>0]|0;l=k<<24>>24<0;c=l?f[d>>2]|0:d;a=c+(l?f[a+68>>2]|0:k&255)|0;while(1){if((a|0)==(c|0)){a=0;break}a=a+-1|0;if(!(HB(i,h[a>>0]|0,6)|0)){e=4;break}}if((e|0)==4)a=1-c+a|0;x=0;ta(40,d|0,a|0,-1)|0;l=x;x=0;if(l&1){a=Ya()|0;if((b[j>>0]|0)>=0)jb(a|0);Hta(f[i>>2]|0);jb(a|0)}else{if((b[j>>0]|0)>=0){u=g;return}Hta(f[i>>2]|0);u=g;return}}function nA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=u;u=u+16|0;g=e;ND(g,81604);x=0;Ga(538,a|0,g|0);h=x;x=0;do if(h&1)c=Ya()|0;else{f[a>>2]=6640;h=a+8|0;x=0;Ga(459,h|0,g|0);i=x;x=0;if(i&1){c=Ya()|0;dfa(a);break}if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);f[a>>2]=21260;f[a+20>>2]=c;f[a+24>>2]=d;x=0;sa(1032,h|0,53388)|0;i=x;x=0;if(!(i&1)){u=e;return}c=Ya()|0;f[a>>2]=6640;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);dfa(a);i=c;jb(i|0)}while(0);if((b[g+11>>0]|0)>=0){i=c;jb(i|0)}Hta(f[g>>2]|0);i=c;jb(i|0)}function oA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;b[a+60>>0]=b[c+60>>0]|0;b[a+61>>0]=b[c+61>>0]|0;b[a+62>>0]=b[c+62>>0]|0;f[a+64>>2]=f[c+64>>2];f[a+68>>2]=f[c+68>>2];f[a+56>>2]=7;f[a>>2]=13680;e=a+72|0;x=0;Ga(459,e|0,c+72|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}x=0;Ga(459,a+84|0,c+84|0);g=x;x=0;if(!(g&1)){b[a+100>>0]=b[c+100>>0]|0;f[a+96>>2]=0;return}d=Ya()|0;if((b[e+11>>0]|0)>=0){c=d;jb(c|0)}Hta(f[e>>2]|0);c=d;jb(c|0)}function pA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=iu(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=VN(32)|0;x=0;Ga(459,g+16|0,b|0);b=x;x=0;if(b&1){h=Ya()|0;Hta(g);jb(h|0)}f[g+28>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}Ip(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function qA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(Xp(a,c)|0){h=a+84|0;i=c+84|0;g=b[i+11>>0]|0;j=g<<24>>24<0;g=j?f[c+88>>2]|0:g&255;e=b[h+11>>0]|0;d=e<<24>>24<0;a=d?f[a+88>>2]|0:e&255;e=g>>>0>>0;c=e?g:a;if(c|0){c=lO(d?f[h>>2]|0:h,j?f[i>>2]|0:i,c)|0;if(c|0){j=c;j=(j|0)<0;return j|0}}j=a>>>0>>0?-1:e&1;j=(j|0)<0;return j|0}else{g=a+72|0;h=c+72|0;j=b[h+11>>0]|0;i=j<<24>>24<0;j=i?f[c+76>>2]|0:j&255;e=b[g+11>>0]|0;d=e<<24>>24<0;a=d?f[a+76>>2]|0:e&255;e=j>>>0>>0;c=e?j:a;if(c|0){c=lO(d?f[g>>2]|0:g,i?f[h>>2]|0:h,c)|0;if(c|0){j=c;j=(j|0)<0;return j|0}}j=a>>>0>>0?-1:e&1;j=(j|0)<0;return j|0}return 0}function rA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=u;u=u+32|0;h=g;d=g+16|0;e=a+4|0;wv(e);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=8;j=h;f[j>>2]=1430403642;f[j+4>>2]=1162625602;b[h+8>>0]=0;x=0;Ia(147,e|0,h|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);j=a;jb(j|0)}if((b[i>>0]|0)<0)Hta(f[h>>2]|0);wr(e,0);qV(d,f[c+68>>2]|0);f[d>>2]=6920;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);zq(e,0);u=g;return}j=Ya()|0;_P(d);jb(j|0)}function sA(a){a=a|0;var c=0,d=0,e=0,f=0;e=0;c=H2(a)|0;if(!c){d=b[a>>0]|0;c=a+1|0;f=d<<24>>24|0;c=(f|0)!=10&(d|4)<<24>>24!=13?((f|0)==12?c:0):c;if(!c)c=a;else e=3}else e=3;if((e|0)==3)while(1){d=H2(c)|0;if(d|0){c=d;e=3;continue}e=b[c>>0]|0;d=c+1|0;f=e<<24>>24|0;d=(f|0)!=10&(e|4)<<24>>24!=13?((f|0)==12?d:0):d;if(!d){d=e;break}else{c=d;e=3}}if(d<<24>>24==41){f=c+1|0;return f|0}if(!a){f=0;return f|0}c=b[36397]|0;a:do if(!(c<<24>>24))c=0;else{d=36397;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);f=c<<24>>24==0?a:0;return f|0}function tA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;h=e+12|0;g=e;dh(h,d,c+448|0,c+4|0);x=0;Ia(92,g|0,35272,h|0);d=x;x=0;do if(d&1)c=Ya()|0;else{x=0;c=sa(991,g|0,51440)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[h+11>>0]|0)>=0){u=e;return}Hta(f[h>>2]|0);u=e;return}while(0);if((b[h+11>>0]|0)>=0)jb(c|0);Hta(f[h>>2]|0);jb(c|0)}function uA(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;if((1073741807-c|0)>>>0>>0)CO(a);l=a+8|0;if((b[l+3>>0]|0)<0)k=f[a>>2]|0;else k=a;if(c>>>0<536870887){d=d+c|0;j=c<<1;d=d>>>0>>0?j:d;d=d>>>0<2?2:d+4&-4;if(d>>>0>1073741823){d=Ta(8)|0;x=0;Ga(461,d|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(d|0);jb(l|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}}else d=1073741807;j=VN(d<<2)|0;if(g|0)RP(j,k,g)|0;e=e-h-g|0;if(e|0)RP(j+(g<<2)+(i<<2)|0,k+(g<<2)+(h<<2)|0,e)|0;if((c|0)!=1)Hta(k);f[a>>2]=j;f[l>>2]=d|-2147483648;return}function vA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function wA(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;k=0;m=u;u=u+32|0;n=m+12|0;l=m;Lc[f[(f[a>>2]|0)+32>>2]&1023](n,a);x=0;Ga(f[(f[c>>2]|0)+32>>2]|0,l|0,c|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[n+11>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}e=b[l+11>>0]|0;i=e<<24>>24<0;e=i?f[l+4>>2]|0:e&255;j=n+11|0;a=b[j>>0]|0;d=a<<24>>24<0;g=d?f[n+4>>2]|0:a&255;h=e>>>0>>0;c=h?e:g;if(!c)k=4;else{c=lO(d?f[n>>2]|0:n,i?f[l>>2]|0:l,c)|0;if(!c)k=4}if((k|0)==4)c=g>>>0>>0?-1:h&1;c=(c|0)<0;if(i){Hta(f[l>>2]|0);a=b[j>>0]|0}if(a<<24>>24>=0){u=m;return c|0}Hta(f[n>>2]|0);u=m;return c|0}function xA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function yA(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;g=f[b+68>>2]|0;if(!g){a=Ta(4)|0;Era(a);fb(a|0,6240,419)}g=vc[f[(f[g>>2]|0)+24>>2]&511](g)|0;h=b+64|0;if(!(f[h>>2]|0)){g=0;h=0;b=-1;c=-1}else if(((c|0)!=0|(d|0)!=0)&(g|0)<1){g=0;h=0;b=-1;c=-1}else if(e>>>0<3&(vc[f[(f[b>>2]|0)+24>>2]&511](b)|0)==0){i=f[h>>2]|0;d=eT(g|0,((g|0)<0)<<31>>31|0,c|0,d|0)|0;if(!(rS(i,(g|0)>0?d:0,e)|0)){c=kY(f[h>>2]|0)|0;h=b+72|0;g=f[h>>2]|0;h=f[h+4>>2]|0;b=c;c=((c|0)<0)<<31>>31}else{g=0;h=0;b=-1;c=-1}}else{g=0;h=0;b=-1;c=-1}i=a;f[i>>2]=g;f[i+4>>2]=h;i=a+8|0;f[i>>2]=b;f[i+4>>2]=c;return}function zA(a){a=a|0;var c=0,d=0,e=0;c=v1(a)|0;if(!c)c=0;else c=kB(c)|0;c=c|0?c:a;a:do if(c|0){d=b[36369]|0;if(d<<24>>24){e=36369;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){a=c;return a|0}}while(0);a=Kq(a)|0;return a|0}function AA(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;k=0;j=a+76|0;c=f[j>>2]|0;if(c|0){k=c;return k|0}i=a+64|0;g=b[i+11>>0]|0;e=g<<24>>24<0;i=e?f[i>>2]|0:i;g=e?f[a+68>>2]|0:g&255;if(g>>>0>3){e=g+-4|0;d=i;c=g;a=g;while(1){g=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(g>>>24^g,1540483477)|0)^(X(c,1540483477)|0);a=a+-4|0;if(a>>>0<=3)break;else d=d+4|0}d=e&-4;a=e-d|0;d=i+(d+4)|0}else{a=g;d=i;c=g}switch(a|0){case 3:{c=(h[d+2>>0]|0)<<16^c;k=8;break}case 2:{k=8;break}case 1:{k=9;break}default:{}}if((k|0)==8){c=(h[d+1>>0]|0)<<8^c;k=9}if((k|0)==9)c=X(c^(h[d>>0]|0),1540483477)|0;k=X(c>>>13^c,1540483477)|0;k=k>>>15^k;f[j>>2]=k;return k|0}function BA(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==1)b=2;else if(b+-1&b)b=Pe(b)|0;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rj(a,b);return}if(b>>>0>=d>>>0)return;c=~~+W(+(+((f[a+12>>2]|0)>>>0)/+n[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Pe(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rj(a,b);return}function CA(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((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=30870){c=0;return c|0}if(!(Xp(a,c)|0)){c=0;return c|0}g=a+84|0;d=c+84|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+88>>2]|0:e;l=b[d+11>>0]|0;h=l<<24>>24<0;if((j|0)!=((h?f[c+88>>2]|0:l&255)|0)){c=0;return c|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;a:do if(i){if(!h)if(lO(l,d,j)|0){c=0;return c|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){c=0;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}return d|0}while(0);c=xc[f[(f[a>>2]|0)+164>>2]&2047](a,c)|0;return c|0}function DA(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((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=30898){c=0;return c|0}if(!(Xp(a,c)|0)){c=0;return c|0}g=a+84|0;d=c+84|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+88>>2]|0:e;l=b[d+11>>0]|0;h=l<<24>>24<0;if((j|0)!=((h?f[c+88>>2]|0:l&255)|0)){c=0;return c|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;a:do if(i){if(!h)if(lO(l,d,j)|0){c=0;return c|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){c=0;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}return d|0}while(0);c=xc[f[(f[a>>2]|0)+168>>2]&2047](a,c)|0;return c|0}function EA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!b)return;EA(a,f[b>>2]|0);EA(a,f[b+4>>2]|0);d=b+24|0;a=f[d>>2]|0;if(a|0){e=b+28|0;c=f[e>>2]|0;if((c|0)!=(a|0)){do{g=c+-12|0;f[e>>2]=g;_P(g);c=f[e>>2]|0}while((c|0)!=(a|0));a=f[d>>2]|0}Hta(a)}_P(b+16|0);Hta(b);return}function FA(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=0;i=a+60|0;g=b[i+11>>0]|0;e=g<<24>>24<0;i=e?f[i>>2]|0:i;g=e?f[a+64>>2]|0:g&255;if(g>>>0>3){e=g+-4|0;d=i;a=g;c=g;while(1){g=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;a=(X(g>>>24^g,1540483477)|0)^(X(a,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}d=e&-4;c=e-d|0;d=i+(d+4)|0}else{c=g;d=i;a=g}switch(c|0){case 3:{a=(h[d+2>>0]|0)<<16^a;j=7;break}case 2:{j=7;break}case 1:break;default:{j=a;i=j>>>13;j=i^j;j=X(j,1540483477)|0;i=j>>>15;j=i^j;return j|0}}if((j|0)==7)a=(h[d+1>>0]|0)<<8^a;j=X(a^(h[d>>0]|0),1540483477)|0;i=j>>>13;j=i^j;j=X(j,1540483477)|0;i=j>>>15;j=i^j;return j|0}function GA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b+4|0;b=f[e>>2]|0;c=c+4|0;if(xc[f[(f[b>>2]|0)+160>>2]&2047](b,f[c>>2]|0)|0){a=d+4|0;if(f[a>>2]|0)vQ(d);f[a>>2]=f[e>>2];EX(d);d=1;return d|0}a=f[e>>2]|0;if(f[a+72>>2]|0){d=0;return d|0}b=f[c>>2]|0;if(f[b+72>>2]|0){d=0;return d|0}if(Cf(a,b)|0){a=d+4|0;if(f[a>>2]|0)vQ(d);f[a>>2]=f[c>>2];EX(d);d=1;return d|0}if(!(Cf(f[c>>2]|0,f[e>>2]|0)|0)){d=0;return d|0}a=d+4|0;if(f[a>>2]|0)vQ(d);f[a>>2]=f[e>>2];EX(d);d=1;return d|0}function HA(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;ND(a,c);h=a+12|0;x=0;Ga(459,h|0,c+12|0);g=x;x=0;do if(g&1)c=Ya()|0;else{g=a+24|0;x=0;Ga(459,g|0,c+24|0);c=x;x=0;if(c&1){c=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}x=0;Ga(459,a+36|0,d|0);d=x;x=0;if(!(d&1)){b[a+48>>0]=e&1;return}c=Ya()|0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}while(0);if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function IA(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=0;i=a+11|0;h=b[i>>0]|0;j=a+4|0;g=f[j>>2]|0;do if((h<<24>>24<0?g:h&255)|0){if((c|0)!=(d|0)){g=d;h=c;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;l=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=l;h=h+4|0}h=b[i>>0]|0;g=f[j>>2]|0}j=h<<24>>24<0;l=j?f[a>>2]|0:a;a=d+-4|0;j=l+(j?g:h&255)|0;g=l;while(1){h=b[g>>0]|0;i=h<<24>>24|0;i=(i|0)>0&(i|0)!=127;if(c>>>0>=a>>>0)break;if(i)if((f[c>>2]|0)!=(h<<24>>24|0)){k=10;break}c=c+4|0;g=(j-g|0)>1?g+1|0:g}if((k|0)==10){f[e>>2]=4;break}if(i)if(((f[a>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0)f[e>>2]=4}while(0);return}function JA(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;i=u;u=u+96|0;e=i+56|0;l=i+40|0;g=i;d=VN(48)|0;f[l>>2]=d;f[l+8>>2]=-2147483600;f[l+4>>2]=42;h=d;j=48773;k=h+42|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[d+42>>0]=0;h=g;j=c+12|0;k=h+40|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));a=f[a+8>>2]|0;x=0;h=e;j=g;k=h+40|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));Ia(100,l|0,e|0,a|0);k=x;x=0;if(k&1){a=Ya()|0;if((b[l+11>>0]|0)>=0)jb(a|0);Hta(f[l>>2]|0);jb(a|0)}else{if((b[l+11>>0]|0)>=0){u=i;return 0}Hta(f[l>>2]|0);u=i;return 0}return 0}function KA(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=u;u=u+16|0;k=m;l=a+11|0;g=b[l>>0]|0;h=g<<24>>24<0;if(h)j=f[a+4>>2]|0;else j=g&255;if(j>>>0>>0)BO(a);if(h)g=(f[a+8>>2]&2147483647)+-1|0;else g=10;if((g-j|0)>>>0>>0)lB(a,g,j+e-g|0,j,c,0,e,d);else if(e|0){if(h)i=f[a>>2]|0;else i=a;g=j-c|0;h=i+c|0;if(g){Kaa(h+e|0,h,g)|0;d=h>>>0<=d>>>0&(i+j|0)>>>0>d>>>0?d+e|0:d}Kaa(h,d,e)|0;d=j+e|0;if((b[l>>0]|0)<0)f[a+4>>2]=d;else b[l>>0]=d;b[k>>0]=0;vga(i+d|0,k)}u=m;return a|0}function LA(a){a=a|0;var c=0,d=0;d=0;switch(b[a>>0]|0){case 42:{c=a+1|0;break}case 45:{c=a;do c=c+1|0;while((b[c>>0]|0)==45);d=3;break}default:{c=a;d=3}}do if((d|0)==3){d=Ay(c)|0;if(d|0){d=wy(d)|0;if(d|0){c=d;break}}c=np(c)|0}while(0);c=c|0?c:a;if(!c)c=0;else{d=c+1|0;if((b[c>>0]|0)==124)c=(b[d>>0]|0)==61?0:d;else c=0}c=c|0?c:a;if(!c){a=0;return a|0}while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(!c){a=0;return a|0}a=wy(c)|0;return a|0}function MA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!b)return;MA(a,f[b>>2]|0);MA(a,f[b+4>>2]|0);d=b+20|0;a=f[d>>2]|0;if(a|0){e=b+24|0;c=f[e>>2]|0;if((c|0)!=(a|0)){do{g=c+-16|0;f[e>>2]=g;_P(c+-8|0);_P(g);c=f[e>>2]|0}while((c|0)!=(a|0));a=f[d>>2]|0}Hta(a)}Hta(b);return}function NA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;h=c+60|0;d=(xc[f[(f[h>>2]|0)+16>>2]&2047](h,d)|0)+4|0;qV(e,f[d>>2]|0);f[e>>2]=7696;do if(!(b[c+84>>0]|0)){x=0;Ga(462,a|0,f[e+4>>2]|0);h=x;x=0;if(!(h&1)){f[a>>2]=7696;_P(e);u=g;return}}else{c=f[e+4>>2]|0;if(c|0)if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==31995){x=0;Ga(462,a|0,f[c+64>>2]|0);h=x;x=0;if(h&1)break;f[a>>2]=7696;_P(e);u=g;return}x=0;Ga(462,a|0,c|0);h=x;x=0;if(!(h&1)){f[a>>2]=7696;_P(e);u=g;return}}while(0);h=Ya()|0;_P(e);jb(h|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,j=0;j=u;u=u+32|0;g=j+8|0;h=j;i=j+16|0;d=f[a+12>>2]|0;if(d)while(1){e=f[d+12>>2]|0;if(!e)break;else{a=d;d=e}}f[h>>2]=b;hs(g,a,b,87748,h,i);d=f[g>>2]|0;a=d+28|0;d=d+32|0;if(!(f[d>>2]|0)){c=c+4|0;c=f[c>>2]|0;f[d>>2]=c;EX(a);u=j;return}vQ(a);c=c+4|0;c=f[c>>2]|0;f[d>>2]=c;EX(a);u=j;return}function PA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+16|0;g=h;do if(f[c>>2]|0){e=b[d+11>>0]|0;if(e<<24>>24<0)e=f[d+4>>2]|0;else e=e&255;if(e|0)_T(d,60473)|0;BW(g,c);c=b[g+11>>0]|0;e=c<<24>>24<0;x=0;ta(41,d|0,(e?f[g>>2]|0:g)|0,(e?f[g+4>>2]|0:c&255)|0)|0;c=x;x=0;if(c&1){h=Ya()|0;Aaa(g);jb(h|0)}else{Aaa(g);break}}while(0);f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];e=0;while(1){if((e|0)==3)break;f[d+(e<<2)>>2]=0;e=e+1|0}u=h;return}function QA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function RA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function SA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function TA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function UA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function VA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function WA(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==1)b=2;else if(b+-1&b)b=Pe(b)|0;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Uj(a,b);return}if(b>>>0>=d>>>0)return;c=~~+W(+(+((f[a+12>>2]|0)>>>0)/+n[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Pe(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Uj(a,b);return}function XA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function YA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function ZA(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function _A(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function $A(a){a=a|0;var c=0,d=0,e=0,f=0;e=0;c=H2(a)|0;if(!c){d=b[a>>0]|0;c=a+1|0;f=d<<24>>24|0;c=(f|0)!=10&(d|4)<<24>>24!=13?((f|0)==12?c:0):c;if(!c)c=a;else e=3}else e=3;if((e|0)==3)while(1){d=H2(c)|0;if(d|0){c=d;e=3;continue}e=b[c>>0]|0;d=c+1|0;f=e<<24>>24|0;d=(f|0)!=10&(e|4)<<24>>24!=13?((f|0)==12?d:0):d;if(!d){d=e;break}else{c=d;e=3}}if(d<<24>>24==41){f=c+1|0;return f|0}if(!a){f=0;return f|0}c=b[36397]|0;a:do if(!(c<<24>>24))c=0;else{d=36397;while(1){if((b[a>>0]|0)!=c<<24>>24)break a;a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);f=c<<24>>24==0?a:0;return f|0}function aB(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function bB(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;i=u;u=u+16|0;h=i;f[g>>2]=d;d=LV(f[a+8>>2]|0)|0;x=0;a=ta(173,h|0,0,c|0)|0;c=x;x=0;if(c&1){a=Ya()|0;if(d|0){x=0;qa(407,d|0)|0;i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}}jb(a|0)}if(d|0){x=0;qa(407,d|0)|0;c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}}a:do if((a+1|0)>>>0<2)a=2;else{a=a+-1|0;if(a>>>0>(e-(f[g>>2]|0)|0)>>>0)a=1;else while(1){if(!a){a=0;break a}c=b[h>>0]|0;e=f[g>>2]|0;f[g>>2]=e+1;b[e>>0]=c;h=h+1|0;a=a+-1|0}}while(0);u=i;return a|0}function cB(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==1)b=2;else if(b+-1&b)b=Pe(b)|0;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Wj(a,b);return}if(b>>>0>=d>>>0)return;c=~~+W(+(+((f[a+12>>2]|0)>>>0)/+n[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Pe(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Wj(a,b);return}function dB(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;ND(a,c);g=a+12|0;x=0;Ga(459,g|0,c+12|0);e=x;x=0;do if(e&1)c=Ya()|0;else{e=a+24|0;x=0;Ga(459,e|0,c+24|0);c=x;x=0;if(c&1){c=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}x=0;Ga(459,a+36|0,d|0);d=x;x=0;if(!(d&1)){b[a+48>>0]=0;return}c=Ya()|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}while(0);if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function eB(a,b,c){a=a|0;b=b|0;c=c|0;b=b+4|0;if(!(Fo(b,c)|0)){qV(a,0);f[a>>2]=7696;return}b=Fo(b,c)|0;if(b|0){qV(a,f[b+20>>2]|0);f[a>>2]=7696;return}b=Ta(8)|0;x=0;Ga(461,b|0,32050);a=x;x=0;if(a&1){a=Ya()|0;bb(b|0);jb(a|0)}else{f[b>>2]=29804;fb(b|0,6208,412)}}function fB(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function gB(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function hB(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;i=a+4|0;j=f[a>>2]|0;k=(f[i>>2]|0)-j|0;h=k>>2;c=h+1|0;if(c>>>0>1073741823)EO(a);l=a+8|0;g=(f[l>>2]|0)-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(!d){e=0;g=0}else{if(d>>>0<=1073741823){g=VN(d<<2)|0;e=g;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);l=x;x=0;if(l&1){l=Ya()|0;bb(c|0);jb(l|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);c=e+(h<<2)|0;f[c>>2]=f[b>>2];if((k|0)>0)Lu(g|0,j|0,k|0)|0;f[a>>2]=e;f[i>>2]=c+4;f[l>>2]=e+(d<<2);if(!j)return;Hta(j);return}function iB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;g=d+12|0;e=d;Jw(c,1,0)|0;h=c+168|0;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[g+8>>2]=f[h+8>>2];h=c+132|0;f[h>>2]=(f[h>>2]|0)+-1;h=c+100|0;f[h>>2]=(f[h>>2]|0)+-1;h=g+8|0;f[h>>2]=(f[h>>2]|0)+-1;h=c+76|0;f[h>>2]=(f[h>>2]|0)+-1;Hr(e,g);x=0;c=sa(1028,c|0,e|0)|0;g=x;x=0;if(!(g&1)){x=0;Ga(462,a|0,c|0);h=x;x=0;if(!(h&1)){f[a>>2]=16848;if((b[e+11>>0]|0)>=0){u=d;return}Hta(f[e>>2]|0);u=d;return}}c=Ya()|0;if((b[e+11>>0]|0)>=0)jb(c|0);Hta(f[e>>2]|0);jb(c|0)}function jB(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=b[c+11>>0]|0;if(e<<24>>24<0){h=f[c+4>>2]|0;i=hL(d)|0;c=f[c>>2]|0}else{h=e&255;i=hL(d)|0}e=h+i|0;do if(e>>>0>4294967279){x=0;Fa(428,a|0);x=0}else{if(e>>>0<11){b[a+11>>0]=h;e=a}else{g=e+16&-16;x=0;e=qa(318,g|0)|0;j=x;x=0;if(j&1)break;f[a>>2]=e;f[a+8>>2]=g|-2147483648;f[a+4>>2]=h}if(h|0)Lu(e|0,c|0,h|0)|0;b[e+h>>0]=0;x=0;ta(41,a|0,d|0,i|0)|0;j=x;x=0;if(!(j&1))return}while(0);e=Ya()|0;if((b[a+11>>0]|0)>=0)jb(e|0);Hta(f[a>>2]|0);jb(e|0)}function kB(a){a=a|0;var b=0,c=0;a=WF(a)|0;if(!a){c=0;return c|0}while(1){b=WF(a)|0;if(!b)break;else a=b}b=XF(a)|0;if(b){a=b;while(1){b=XF(a)|0;if(!b)break;else a=b}}a=v1(a)|0;if(!a){c=0;return c|0}while(1){b=WF(a)|0;if(!b){b=11;break}while(1){c=WF(b)|0;if(!c)break;else b=c}c=XF(b)|0;if(c){b=c;while(1){c=XF(b)|0;if(!c)break;else b=c}}b=v1(b)|0;if(!b){b=11;break}else a=b}if((b|0)==11)return a|0;return 0}function lB(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;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)CO(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){k=d+c|0;l=c<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=VN(k)|0;if(g|0)Naa(l,m,g)|0;if(i|0)Naa(l+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)Naa(l+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Hta(m);f[a>>2]=l;f[a+8>>2]=k|-2147483648;i=d+i|0;f[a+4>>2]=i;b[n>>0]=0;vga(l+i|0,n);u=o;return}function mB(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(88)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;c=g+56|0;f[c>>2]=f[a+56>>2];f[g>>2]=6516;d=g+60|0;f[d>>2]=9660;x=0;Ga(471,g+64|0,a+64|0);e=x;x=0;if(!(e&1)){f[g+76>>2]=f[a+76>>2];f[g>>2]=9488;f[d>>2]=9620;f[g+80>>2]=f[a+80>>2];b[g+84>>0]=b[a+84>>0]|0;b[g+85>>0]=b[a+85>>0]|0;b[g+86>>0]=b[a+86>>0]|0;f[c>>2]=5;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function nB(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;i=u;u=u+16|0;h=i;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=e-d>>2;if(g>>>0>1073741807)CO(a);do if(g>>>0<2){b[a+8+3>>0]=g;c=a}else{c=g+4&-4;if(c>>>0<=1073741823){j=VN(c<<2)|0;f[a>>2]=j;f[a+8>>2]=c|-2147483648;f[a+4>>2]=g;c=j;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);j=x;x=0;if(j&1){j=Ya()|0;bb(c|0);jb(j|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);while(1){if((d|0)==(e|0))break;$ga(c,d);d=d+4|0;c=c+4|0}f[h>>2]=0;$ga(c,h);u=i;return}function oB(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;e=h+20|0;i=h+8|0;g=h;b[e>>0]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=i+4|0;f[i>>2]=j;x=0;Ga(462,g|0,f[c+4>>2]|0);c=x;x=0;do if(c&1)a=Ya()|0;else{f[g>>2]=7168;x=0;a=wa(31,a|0,g|0,d|0,e|0,i|0)|0;e=x;x=0;if(e&1){a=Ya()|0;_P(g);break}else{_P(g);SI(i,f[j>>2]|0);u=h;return a|0}}while(0);SI(i,f[j>>2]|0);jb(a|0);return 0}function pB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;g=c+84|0;i=a+4|0;if(!(b[g>>0]|0)){Q9(i,c);wr(i,0)}if(!(wna(i)|0)){h=a+76|0;f[h>>2]=(f[h>>2]|0)+(f[c+56>>2]|0)}d=f[c+68>>2]|0;e=(f[c+72>>2]|0)-d>>3;if(e|0){h=c+68|0;d=f[d+4>>2]|0;Lc[f[(f[d>>2]|0)+44>>2]&1023](d,a);if((e|0)!=1){d=1;do{j=f[(f[h>>2]|0)+(d<<3)+4>>2]|0;Lc[f[(f[j>>2]|0)+44>>2]&1023](j,a);d=d+1|0}while((d|0)!=(e|0))}}if(!(wna(i)|0)){j=a+76|0;f[j>>2]=(f[j>>2]|0)-(f[c+56>>2]|0)}if(b[g>>0]|0)return;zq(i,0);C9(i,c);return}function qB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=0;h=u;u=u+16|0;i=h;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=hL(c)|0;if(e>>>0>4294967279)CO(i);if(e>>>0<11){b[i+11>>0]=e;if(!e)d=i;else{d=i;g=6}}else{g=e+16&-16;d=VN(g)|0;f[i>>2]=d;f[i+8>>2]=g|-2147483648;f[i+4>>2]=e;g=6}if((g|0)==6)Lu(d|0,c|0,e|0)|0;b[d+e>>0]=0;g=KK(i,40,0)|0;x=0;Ka(4,a|0,i|0,0,g|0,i|0);g=x;x=0;if(g&1){d=Ya()|0;if((b[i+11>>0]|0)>=0)jb(d|0);Hta(f[i>>2]|0);jb(d|0)}else{if((b[i+11>>0]|0)>=0){u=h;return}Hta(f[i>>2]|0);u=h;return}}function rB(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=u;u=u+16|0;k=m+4|0;l=m;j=a+8|0;j=vc[f[(f[j>>2]|0)+8>>2]&511](j)|0;a=b[j+8+3>>0]|0;if(a<<24>>24<0)i=f[j+4>>2]|0;else i=a&255;a=b[j+20+3>>0]|0;if(a<<24>>24<0)a=f[j+16>>2]|0;else a=a&255;do if((i|0)==(0-a|0))f[g>>2]=f[g>>2]|4;else{f[l>>2]=f[e>>2];f[k>>2]=f[l>>2];a=(wi(d,k,j,j+24|0,h,g,0)|0)-j|0;i=f[c>>2]|0;if((i|0)==12&(a|0)==0){f[c>>2]=0;break}if((i|0)<12&(a|0)==12)f[c>>2]=i+12}while(0);u=m;return}function sB(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[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;i=hL(c)|0;h=b[d+11>>0]|0;j=h<<24>>24<0;h=j?f[d+4>>2]|0:h&255;e=h+i|0;do if(e>>>0>4294967279){x=0;Fa(428,a|0);x=0}else{if(e>>>0<11){b[a+11>>0]=i;e=a}else{g=e+16&-16;x=0;e=qa(318,g|0)|0;k=x;x=0;if(k&1)break;f[a>>2]=e;f[a+8>>2]=g|-2147483648;f[a+4>>2]=i}if(i|0)Lu(e|0,c|0,i|0)|0;b[e+i>>0]=0;x=0;ta(41,a|0,(j?f[d>>2]|0:d)|0,h|0)|0;k=x;x=0;if(!(k&1))return}while(0);e=Ya()|0;if((b[a+11>>0]|0)>=0)jb(e|0);Hta(f[a>>2]|0);jb(e|0)}function tB(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=u;u=u+16|0;k=m+4|0;l=m;j=a+8|0;j=vc[f[(f[j>>2]|0)+8>>2]&511](j)|0;a=b[j+11>>0]|0;if(a<<24>>24<0)i=f[j+4>>2]|0;else i=a&255;a=b[j+12+11>>0]|0;if(a<<24>>24<0)a=f[j+16>>2]|0;else a=a&255;do if((i|0)==(0-a|0))f[g>>2]=f[g>>2]|4;else{f[l>>2]=f[e>>2];f[k>>2]=f[l>>2];a=(vi(d,k,j,j+24|0,h,g,0)|0)-j|0;i=f[c>>2]|0;if((i|0)==12&(a|0)==0){f[c>>2]=0;break}if((i|0)<12&(a|0)==12)f[c>>2]=i+12}while(0);u=m;return}function uB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;ND(a,c);e=a+12|0;x=0;Ga(459,e|0,c+12|0);d=x;x=0;do if(d&1)c=Ya()|0;else{d=a+24|0;x=0;Ga(459,d|0,c+24|0);g=x;x=0;if(g&1){c=Ya()|0;if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}x=0;Ga(459,a+36|0,c+36|0);g=x;x=0;if(!(g&1)){b[a+48>>0]=b[c+48>>0]|0;return}c=Ya()|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}while(0);if((b[a+11>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function vB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];f[a>>2]=9868;e=c+60|0;g=f[e+4>>2]|0;d=a+60|0;f[d>>2]=f[e>>2];f[d+4>>2]=g;d=a+68|0;x=0;Ga(462,d|0,f[c+72>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;jb(c|0)}f[d>>2]=7696;e=a+76|0;x=0;Ga(462,e|0,f[c+80>>2]|0);g=x;x=0;if(!(g&1)){f[e>>2]=7696;f[a+84>>2]=f[c+84>>2];return}c=Ya()|0;_P(d);jb(c|0)}function wB(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;i=u;u=u+16|0;g=i;if((a|0)==(b|0)){f[c>>2]=4;a=0}else{h=bua()|0;h=f[h>>2]|0;e=bua()|0;f[e>>2]=0;a=sea(a,g,d,$O()|0)|0;d=I;e=bua()|0;e=f[e>>2]|0;if(!e){j=bua()|0;f[j>>2]=h}a:do if((f[g>>2]|0)==(b|0)){do if((e|0)==34){f[c>>2]=4;if((d|0)>0|(d|0)==0&a>>>0>0){a=2147483647;break a}}else{if((d|0)<-1|(d|0)==-1&a>>>0<2147483648){f[c>>2]=4;break}if((d|0)>0|(d|0)==0&a>>>0>2147483647){f[c>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{f[c>>2]=4;a=0}while(0)}u=i;return a|0}function xB(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;d=e+24|0;i=e+16|0;g=e;e=e+36|0;a=qT()|0;if(a|0){c=f[a>>2]|0;if(c|0){a=c+48|0;b=f[a>>2]|0;a=f[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){f[d>>2]=60612;_W(60562,d)}if((b|0)==1126902529&(a|0)==1129074247)a=f[c+44>>2]|0;else a=c+80|0;f[e>>2]=a;d=f[c>>2]|0;a=f[d+4>>2]|0;if(yc[f[(f[1520]|0)+16>>2]&255](6080,d,e)|0){i=f[e>>2]|0;i=vc[f[(f[i>>2]|0)+8>>2]&511](i)|0;f[g>>2]=60612;f[g+4>>2]=a;f[g+8>>2]=i;_W(60476,g)}else{f[i>>2]=60612;f[i+4>>2]=a;_W(60521,i)}}}_W(60600,h)}function yB(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=a+4|0;e=a+16|0;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;x=0;Ja(59,a+24|0,0,0,0);h=x;x=0;if(!(h&1)){h=a+36|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;b[h+11>>0]=5;b[h>>0]=b[52687]|0;b[h+1>>0]=b[52688]|0;b[h+2>>0]=b[52689]|0;b[h+3>>0]=b[52690]|0;b[h+4>>0]=b[52691]|0;b[h+5>>0]=0;return}h=Ya()|0;c=f[a+12>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~(((d+-24-c|0)>>>0)/24|0)*24|0);Hta(c)}a=f[a>>2]|0;if(!a)jb(h|0);c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);Hta(a);jb(h|0)}function zB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=a+52|0;f[e>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=7920;g=a+64|0;x=0;Ga(459,g|0,c+64|0);d=x;x=0;if(d&1){c=Ya()|0;jb(c|0)}d=a+76|0;x=0;Ga(462,d|0,f[c+80>>2]|0);h=x;x=0;if(!(h&1)){f[d>>2]=7696;b[a+84>>0]=b[c+84>>0]|0;b[a+85>>0]=b[c+85>>0]|0;f[e>>2]=10;return}d=Ya()|0;if((b[g+11>>0]|0)>=0){h=d;jb(h|0)}Hta(f[g>>2]|0);h=d;jb(h|0)}function AB(a,b){a=a|0;b=b|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;if((ec|0)==1)ec=3}Vc(hc+64176|0);return f[fc>>2]|0}function BB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=xqa(29164)|0;if(e>>>0>1073741807)CO(a);do if(e>>>0<2){b[a+8+3>>0]=e;c=a}else{c=e+4&-4;if(c>>>0<=1073741823){h=VN(c<<2)|0;f[a>>2]=h;f[a+8>>2]=c|-2147483648;f[a+4>>2]=e;c=h;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);h=x;x=0;if(h&1){h=Ya()|0;bb(c|0);jb(h|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);RP(c,29164,e)|0;f[d>>2]=0;$ga(c+(e<<2)|0,d);u=g;return}function CB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=u;u=u+16|0;d=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=xqa(29188)|0;if(e>>>0>1073741807)CO(a);do if(e>>>0<2){b[a+8+3>>0]=e;c=a}else{c=e+4&-4;if(c>>>0<=1073741823){h=VN(c<<2)|0;f[a>>2]=h;f[a+8>>2]=c|-2147483648;f[a+4>>2]=e;c=h;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);h=x;x=0;if(h&1){h=Ya()|0;bb(c|0);jb(h|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);RP(c,29188,e)|0;f[d>>2]=0;$ga(c+(e<<2)|0,d);u=g;return}function DB(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(84)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));f[g>>2]=10464;b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;f[g+56>>2]=f[a+56>>2];c=g+60|0;f[c>>2]=10424;x=0;Ga(484,g+64|0,a+64|0);e=x;x=0;if(!(e&1)){f[g+76>>2]=f[a+76>>2];f[g>>2]=10240;f[c>>2]=10368;b[g+80>>0]=b[a+80>>0]|0;b[g+81>>0]=b[a+81>>0]|0;b[g+82>>0]=b[a+82>>0]|0;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0}function EB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=u;u=u+16|0;e=g;kha(e,b);x=0;b=sa(994,e|0,83352)|0;h=x;x=0;if(!(h&1)){x=0;ua(f[(f[b>>2]|0)+48>>2]|0,b|0,57704,57730,c|0)|0;h=x;x=0;if(!(h&1)){x=0;b=sa(994,e|0,83360)|0;h=x;x=0;if(!(h&1)){x=0;c=qa(f[(f[b>>2]|0)+16>>2]|0,b|0)|0;h=x;x=0;if(!(h&1)){f[d>>2]=c;x=0;Ga(f[(f[b>>2]|0)+20>>2]|0,a|0,b|0);h=x;x=0;if(!(h&1)){uga(e);u=g;return}}}}}h=Ya()|0;uga(e);jb(h|0)}function FB(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;h=u;u=u+16|0;g=h;kha(g,c);x=0;c=sa(994,g|0,83320)|0;i=x;x=0;if(!(i&1)){x=0;ua(f[(f[c>>2]|0)+32>>2]|0,c|0,57704,57730,d|0)|0;i=x;x=0;if(!(i&1)){x=0;c=sa(994,g|0,83336)|0;i=x;x=0;if(!(i&1)){x=0;d=qa(f[(f[c>>2]|0)+16>>2]|0,c|0)|0;i=x;x=0;if(!(i&1)){b[e>>0]=d;x=0;Ga(f[(f[c>>2]|0)+20>>2]|0,a|0,c|0);i=x;x=0;if(!(i&1)){uga(g);u=h;return}}}}}i=Ya()|0;uga(g);jb(i|0)}function GB(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=0;j=a+11|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=b[c+11>>0]|0;h=g<<24>>24<0;d=h?f[c>>2]|0:c;g=h?f[c+4>>2]|0:g&255;h=d+g|0;if(!g)return;else c=0;a:while(1){e=b[d>>0]|0;g=e<<24>>24;do if(e<<24>>24==10){x=0;Ga(534,a|0,32);g=x;x=0;if(g&1)break a;else c=1}else{if(c)if(wpa(g)|0){c=1;break}x=0;Ga(534,a|0,e|0);g=x;x=0;if(g&1)break a;else c=0}while(0);d=d+1|0;if((d|0)==(h|0)){i=2;break}}if((i|0)==2)return;c=Ya()|0;if((b[j>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function HB(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function IB(a){a=a|0;var b=0,c=0,d=0,e=0;d=u;u=u+16|0;c=d;qV(c,f[a+76>>2]|0);f[c>>2]=7168;b=f[c+4>>2]|0;if(b|0)if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)==31229){_P(c);a=f[b+76>>2]|0;c=(f[b+80>>2]|0)-a>>3;if(!c){c=1;u=d;return c|0}b=b+76|0;a=f[a+4>>2]|0;if(vc[f[(f[a>>2]|0)+152>>2]&511](a)|0)a=1;else{c=0;u=d;return c|0}while(1){if(a>>>0>=c>>>0){a=1;b=8;break}e=f[(f[b>>2]|0)+(a<<3)+4>>2]|0;if(vc[f[(f[e>>2]|0)+152>>2]&511](e)|0)a=a+1|0;else{a=0;b=8;break}}if((b|0)==8){u=d;return a|0}}_P(c);e=1;u=d;return e|0}function JB(a){a=a|0;var c=0,d=0,e=0,g=0;g=VN(112)|0;x=0;Fa(427,g|0);e=x;x=0;if(e&1){a=Ya()|0;Hta(g);jb(a|0)}c=g+12|0;d=a+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[g+52>>0]=b[a+52>>0]|0;b[g+53>>0]=b[a+53>>0]|0;b[g+54>>0]=b[a+54>>0]|0;c=g+56|0;f[c>>2]=f[a+56>>2];f[g>>2]=11116;p[g+64>>3]=+p[a+64>>3];p[g+72>>3]=+p[a+72>>3];p[g+80>>3]=+p[a+80>>3];p[g+88>>3]=+p[a+88>>3];x=0;Ga(459,g+96|0,a+96|0);e=x;x=0;if(!(e&1)){f[g+108>>2]=f[a+108>>2];f[c>>2]=3;return g|0}a=Ya()|0;Hta(g);jb(a|0);return 0} +function xn(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;m=0;j=u;u=u+112|0;e=j;o=j+56|0;h=j+64|0;k=j+48|0;l=j+40|0;if(!(Rw(c,1,0)|0)){qV(a,0);f[a>>2]=12372;u=j;return}g=c+168|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];Md(o,c,e,0,1);g=f[o+4>>2]|0;a:do if(!g){x=0;Ga(462,a|0,0);n=x;x=0;if(n&1)m=6;else{f[a>>2]=12372;m=20}}else{x=0;n=qa(318,68)|0;i=x;x=0;if(i&1)m=6;else{i=h;c=c+108|0;d=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(d|0));x=0;Ga(462,l|0,g|0);i=x;x=0;do if(i&1)c=Ya()|0;else{f[l>>2]=7904;x=0;Ga(462,k|0,f[l+4>>2]|0);i=x;x=0;if(i&1){c=Ya()|0;_P(l);break}f[k>>2]=7696;i=e;c=h;d=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(d|0));x=0;Fa(427,n|0);i=x;x=0;do if(i&1){c=1;m=17}else{i=n+12|0;c=e;d=i+40|0;do{f[i>>2]=f[c>>2];i=i+4|0;c=c+4|0}while((i|0)<(d|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;f[n+56>>2]=0;f[n>>2]=12788;c=n+60|0;x=0;Ga(462,c|0,f[k+4>>2]|0);i=x;x=0;if(i&1){c=Ya()|0;d=1;break}f[c>>2]=7696;x=0;Ga(462,a|0,n|0);m=x;x=0;if(m&1){c=0;m=17}else{f[a>>2]=12372;_P(k);_P(l);m=20;break a}}while(0);if((m|0)==17){m=Ya()|0;d=c;c=m}_P(k);_P(l);if(!d){n=c;_P(o);jb(n|0)}}while(0);Hta(n);n=c;_P(o);jb(n|0)}}while(0);if((m|0)==6){n=Ya()|0;_P(o);jb(n|0)}else if((m|0)==20){_P(o);u=j;return}}function yn(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;l=u;u=u+112|0;j=l;g=l+64|0;n=l+52|0;m=l+40|0;k=g;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));ND(n,e);x=0;Ga(511,m|0,d|0);k=x;x=0;if(k&1)c=Ya()|0;else{k=j;c=g;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));x=0;Ga(538,a|0,n|0);k=x;x=0;if(k&1){c=Ya()|0;i=I}else{f[a>>2]=16212;e=a+8|0;x=0;Ga(459,e|0,n|0);k=x;x=0;do if(k&1){c=Ya()|0;d=I}else{g=a+20|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=5;b[g>>0]=b[53005]|0;b[g+1>>0]=b[53006]|0;b[g+2>>0]=b[53007]|0;b[g+3>>0]=b[53008]|0;b[g+4>>0]=b[53009]|0;b[g+5>>0]=0;k=a+32|0;c=j;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));x=0;Ga(511,a+72|0,m|0);k=x;x=0;if(k&1){c=Ya()|0;d=I;if((b[h>>0]|0)<0)Hta(f[g>>2]|0);if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}c=f[m>>2]|0;if(c|0){g=m+4|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n+11>>0]|0)>=0){f[a>>2]=21092;u=l;return}Hta(f[n>>2]|0);f[a>>2]=21092;u=l;return}while(0);dfa(a);i=d}d=f[m>>2]|0;if(d){h=m+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(d|0));d=f[m>>2]|0}Hta(d)}}if((b[n+11>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0)}function zn(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;l=u;u=u+112|0;j=l;g=l+64|0;n=l+52|0;m=l+40|0;k=g;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));ND(n,e);x=0;Ga(511,m|0,d|0);k=x;x=0;if(k&1)c=Ya()|0;else{k=j;c=g;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));x=0;Ga(538,a|0,n|0);k=x;x=0;if(k&1){c=Ya()|0;i=I}else{f[a>>2]=16212;e=a+8|0;x=0;Ga(459,e|0,n|0);k=x;x=0;do if(k&1){c=Ya()|0;d=I}else{g=a+20|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=5;b[g>>0]=b[53005]|0;b[g+1>>0]=b[53006]|0;b[g+2>>0]=b[53007]|0;b[g+3>>0]=b[53008]|0;b[g+4>>0]=b[53009]|0;b[g+5>>0]=0;k=a+32|0;c=j;i=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));x=0;Ga(511,a+72|0,m|0);k=x;x=0;if(k&1){c=Ya()|0;d=I;if((b[h>>0]|0)<0)Hta(f[g>>2]|0);if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}c=f[m>>2]|0;if(c|0){g=m+4|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n+11>>0]|0)>=0){f[a>>2]=21044;u=l;return}Hta(f[n>>2]|0);f[a>>2]=21044;u=l;return}while(0);dfa(a);i=d}d=f[m>>2]|0;if(d){h=m+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(d|0));d=f[m>>2]|0}Hta(d)}}if((b[n+11>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0)}function An(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,n=0,o=0,q=0,r=0,s=0,t=0;t=0;q=u;u=u+96|0;n=q;o=q+56|0;r=q+40|0;h=c+88|0;if(+p[h>>3]!=+p[d+88>>3]){e=Ta(32)|0;x=0;Ja(58,e|0,c|0,d|0,a|0);t=x;x=0;if(!(t&1))fb(e|0,4416,6);t=Ya()|0;bb(e|0);jb(t|0)}i=+p[d+64>>3];do if((a|0)==11){if(i!=0.0)if(+p[d+72>>3]!=0.0)if(+p[d+80>>3]!=0.0)break;e=Ta(28)|0;x=0;Ia(154,e|0,c|0,d|0);t=x;x=0;if(!(t&1))fb(e|0,4432,6);t=Ya()|0;bb(e|0);jb(t|0)}while(0);s=VN(112)|0;m=o;e=m+40|0;do{f[m>>2]=f[g>>2];m=m+4|0;g=g+4|0}while((m|0)<(e|0));e=20408+(a<<2)|0;x=0;k=+ea(f[e>>2]|0,+(+p[c+64>>3]),+i);m=x;x=0;do if(m&1)t=20;else{x=0;l=+ea(f[e>>2]|0,+(+p[c+72>>3]),+(+p[d+72>>3]));m=x;x=0;if(m&1)t=20;else{x=0;j=+ea(f[e>>2]|0,+(+p[c+80>>3]),+(+p[d+80>>3]));d=x;x=0;if(d&1)t=20;else{i=+p[h>>3];h=r+11|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;m=n;g=o;e=m+40|0;do{f[m>>2]=f[g>>2];m=m+4|0;g=g+4|0}while((m|0)<(e|0));x=0;Fa(427,s|0);d=x;x=0;if(d&1){e=Ya()|0;break}m=s+12|0;g=n;e=m+40|0;do{f[m>>2]=f[g>>2];m=m+4|0;g=g+4|0}while((m|0)<(e|0));b[s+52>>0]=0;b[s+53>>0]=0;b[s+54>>0]=0;e=s+56|0;f[e>>2]=0;f[s>>2]=11116;p[s+64>>3]=k;p[s+72>>3]=l;p[s+80>>3]=j;p[s+88>>3]=i;x=0;Ga(459,s+96|0,r|0);d=x;x=0;if(d&1){e=Ya()|0;if((b[h>>0]|0)>=0)break;Hta(f[r>>2]|0);break}f[s+108>>2]=0;f[e>>2]=3;if((b[h>>0]|0)>=0){u=q;return s|0}Hta(f[r>>2]|0);u=q;return s|0}}}while(0);if((t|0)==20)e=Ya()|0;Hta(s);t=e;jb(t|0);return 0}function Bn(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;k=a+4|0;j=f[b>>2]|0;b=j;if((j|0)!=(k|0)){i=f[e>>2]|0;g=f[j+16>>2]|0;if((i|0)>=(g|0)){if((g|0)>=(i|0)){f[c>>2]=b;f[d>>2]=b;c=d;return c|0}h=j+4|0;g=f[h>>2]|0;if(!g){d=j+8|0;g=f[d>>2]|0;if((f[g>>2]|0)!=(j|0))do{e=f[d>>2]|0;d=e+8|0;g=f[d>>2]|0}while((f[g>>2]|0)!=(e|0))}else while(1){d=f[g>>2]|0;if(!d)break;else g=d}if((g|0)!=(k|0))if((i|0)>=(f[g+16>>2]|0)){b=f[k>>2]|0;if(!b){f[c>>2]=k;c=k;return c|0}d=a+4|0;while(1){g=f[b+16>>2]|0;if((i|0)<(g|0)){g=f[b>>2]|0;if(!g){e=39;break}else{d=b;b=g}}else{if((g|0)>=(i|0)){e=43;break}d=b+4|0;g=f[d>>2]|0;if(!g){e=42;break}else b=g}}if((e|0)==39){f[c>>2]=b;c=b;return c|0}else if((e|0)==42){f[c>>2]=b;c=d;return c|0}else if((e|0)==43){f[c>>2]=b;c=d;return c|0}}if(!(f[j+4>>2]|0)){f[c>>2]=b;c=h;return c|0}else{f[c>>2]=g;c=g;return c|0}}}d=f[j>>2]|0;if((f[a>>2]|0)!=(j|0)){if(!d){g=j;while(1){b=f[g+8>>2]|0;if((f[b>>2]|0)==(g|0))g=b;else break}}else{b=d;while(1){g=f[b+4>>2]|0;if(!g)break;else b=g}}e=f[e>>2]|0;if((f[b+16>>2]|0)>=(e|0)){b=f[k>>2]|0;if(!b){f[c>>2]=k;c=k;return c|0}d=a+4|0;while(1){g=f[b+16>>2]|0;if((e|0)<(g|0)){g=f[b>>2]|0;if(!g){e=17;break}else{d=b;b=g}}else{if((g|0)>=(e|0)){e=21;break}d=b+4|0;g=f[d>>2]|0;if(!g){e=20;break}else b=g}}if((e|0)==17){f[c>>2]=b;c=b;return c|0}else if((e|0)==20){f[c>>2]=b;c=d;return c|0}else if((e|0)==21){f[c>>2]=b;c=d;return c|0}}}if(!d){f[c>>2]=j;c=j;return c|0}else{f[c>>2]=b;c=b+4|0;return c|0}return 0}function Cn(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=u;u=u+48|0;l=k+24|0;i=k+16|0;g=k+8|0;h=k;j=a+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=91;b[l+1>>0]=0;x=0;Ga(682,j|0,l|0);d=x;x=0;if(d&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);l=d;jb(l|0)}if((b[e>>0]|0)<0)Hta(f[l>>2]|0);Q9(j,c);Lc[f[(f[c>>2]|0)+140>>2]&1023](l,c);x=0;Ia(147,j|0,l|0,c|0);e=x;x=0;if(e&1){d=Ya()|0;if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);l=d;jb(l|0)}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);e=c+104|0;d=b[e+11>>0]|0;if(d<<24>>24<0)d=f[c+108>>2]|0;else d=d&255;a:do if(d|0){Fv(j,e);d=c+120|0;qV(i,f[d>>2]|0);f[i>>2]=7904;if(!(f[i+4>>2]|0)){_P(i);break}x=0;Ga(462,g|0,f[d>>2]|0);e=x;x=0;do if(e&1)d=Ya()|0;else{f[g>>2]=7904;e=f[g+4>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+76>>2]|0,e|0)|0;m=x;x=0;if(m&1){d=Ya()|0;_P(g);break}_P(g);_P(i);if(!e)break a;qV(h,f[d>>2]|0);f[h>>2]=7904;m=f[h+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(!(m&1)){_P(h);break a}m=Ya()|0;_P(h);jb(m|0)}while(0);_P(i);m=d;jb(m|0)}while(0);C9(j,c);d=c+124|0;if(b[d>>0]|0){boa(j);RO(j,b[d>>0]|0)}f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=93;b[l+1>>0]=0;x=0;Ga(682,j|0,l|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);m=d;jb(m|0)}else{if((b[e>>0]|0)>=0){u=k;return}Hta(f[l>>2]|0);u=k;return}}function Dn(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a){i=0;return i|0}else h=0;a:while(1){c=fs(a)|0;if(!c)c=a;else{h=0;a=c;continue}while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){h=0;a=c;continue}}d=b[36400]|0;g=d<<24>>24==0;b:do if(g)c=0;else{c=b[a>>0]|0;e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break b;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);i=a+1|0;c=Nu(c<<24>>24?i:a)|0;if(c|0)if((b[c>>0]|0)==37){h=0;a=c+1|0;continue}if((b[a>>0]|0)==35){c=R5(i)|0;if(!c)c=0;else while(1){e=R5(c)|0;if(!e)break;else c=e}}else c=0;switch(c-a|0){case 4:case 7:{if(c|0){h=0;a=c;continue a}break}default:{}}if(h){c=29;break}c=b[a>>0]|0;if(c<<24>>24==43){c=29;break}c:do if(g)c=0;else{e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break c;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);c=Nu(c<<24>>24?i:a)|0;if(c|0){c=Nm(c)|0;if(c|0){h=1;a=c;continue}}d:do if(g)c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break d;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=Nu(c<<24>>24?i:a)|0;if(!c){c=29;break}else{h=1;a=c}}if((c|0)==29)return a|0;return 0}function En(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=0;l=u;u=u+32|0;i=l+8|0;m=l+16|0;d=l;g=c+84|0;qV(i,f[g>>2]|0);f[i>>2]=7904;j=(f[i+4>>2]|0)==0;_P(i);do if(j){d=f[(f[c+64>>2]|0)+4>>2]|0;Lc[f[(f[d>>2]|0)+44>>2]&1023](d,a);d=1}else{do if(!(b[c+88>>0]|0)){if(b[c+89>>0]|0){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=5;b[m>>0]=b[49848]|0;b[m+1>>0]=b[49849]|0;b[m+2>>0]=b[49850]|0;b[m+3>>0]=b[49851]|0;b[m+4>>0]=b[49852]|0;b[m+5>>0]=0;x=0;Ga(682,a+4|0,m|0);j=x;x=0;if(!(j&1)){if((b[e>>0]|0)<0)Hta(f[m>>2]|0);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}}else{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=4;f[m>>2]=544501614;b[m+4>>0]=0;x=0;Ga(682,a+4|0,m|0);j=x;x=0;if(!(j&1)){if((b[e>>0]|0)<0)Hta(f[m>>2]|0);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}while(0);qV(d,f[g>>2]|0);f[d>>2]=7904;j=f[d+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(d);d=0;break}m=Ya()|0;_P(d);jb(m|0)}while(0);g=(f[c+68>>2]|0)-(f[c+64>>2]|0)>>3;if(d>>>0>=g>>>0){u=l;return}h=a+4|0;j=m+11|0;i=m+5|0;e=c+64|0;while(1){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[j>>0]=5;b[m>>0]=b[49854]|0;b[m+1>>0]=b[49855]|0;b[m+2>>0]=b[49856]|0;b[m+3>>0]=b[49857]|0;b[m+4>>0]=b[49858]|0;b[i>>0]=0;x=0;Ga(682,h|0,m|0);c=x;x=0;if(c&1)break;if((b[j>>0]|0)<0)Hta(f[m>>2]|0);c=f[(f[e>>2]|0)+(d<<3)+4>>2]|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](c,a);d=d+1|0;if(d>>>0>=g>>>0){k=24;break}}if((k|0)==24){u=l;return}d=Ya()|0;if((b[j>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}function Fn(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;m=0;k=u;u=u+64|0;n=k+56|0;c=k+48|0;d=k+40|0;g=k+32|0;h=k+24|0;i=k+16|0;j=k+8|0;l=k;e=a+80|0;qV(n,f[e>>2]|0);f[n>>2]=15572;b=(f[n+4>>2]|0)==0;_P(n);do if(!b){qV(g,f[e>>2]|0);f[g>>2]=15572;b=f[g+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+16>>2]|0,b|0)|0;n=x;x=0;if(n&1)m=9;else{x=0;Ga(462,d|0,b|0);n=x;x=0;if(n&1)m=9;else{f[d>>2]=15572;f[a+68>>2]=0;b=a+76|0;if(!(f[e>>2]|0))m=6;else{x=0;Fa(429,b|0);n=x;x=0;if(!(n&1))m=6}if((m|0)==6){f[e>>2]=f[d+4>>2];x=0;Fa(430,b|0);n=x;x=0;if(!(n&1)){x=0;Ga(462,c|0,f[e>>2]|0);n=x;x=0;if(!(n&1)){f[c>>2]=15572;_P(c);_P(d);_P(g);break}}}b=Ya()|0;_P(d)}}if((m|0)==9)b=Ya()|0;_P(g);n=b;jb(n|0)}while(0);c=a+88|0;qV(h,f[c>>2]|0);f[h>>2]=15556;n=(f[h+4>>2]|0)==0;_P(h);if(n){u=k;return}qV(l,f[c>>2]|0);f[l>>2]=15556;b=f[l+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+16>>2]|0,b|0)|0;n=x;x=0;if(n&1)m=20;else{x=0;Ga(462,j|0,b|0);n=x;x=0;if(n&1)m=20;else{f[j>>2]=15556;f[a+68>>2]=0;b=a+84|0;if(!(f[c>>2]|0))m=17;else{x=0;Fa(429,b|0);n=x;x=0;if(!(n&1))m=17}if((m|0)==17){f[c>>2]=f[j+4>>2];x=0;Fa(430,b|0);n=x;x=0;if(!(n&1)){x=0;Ga(462,i|0,f[c>>2]|0);n=x;x=0;if(!(n&1)){f[i>>2]=15556;_P(i);_P(j);_P(l);u=k;return}}}b=Ya()|0;_P(j)}}if((m|0)==20)b=Ya()|0;_P(l);n=b;jb(n|0)}function Gn(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;l=u;u=u+32|0;m=l+16|0;k=l+8|0;j=l;if((d|0)==0|(e|0)==0){u=l;return}qV(m,0);f[m>>2]=15556;i=(f[b+16>>2]|0)+d|0;x=0;Ga(462,k|0,f[(f[(f[b+4>>2]|0)+(i>>>9<<2)>>2]|0)+((i&511)<<3)+4>>2]|0);i=x;x=0;a:do if(!(i&1)){f[k>>2]=15556;i=(f[c+16>>2]|0)+e|0;x=0;Ga(462,j|0,f[(f[(f[c+4>>2]|0)+(i>>>9<<2)>>2]|0)+((i&511)<<3)+4>>2]|0);i=x;x=0;do if(i&1)i=Ya()|0;else{f[j>>2]=15556;x=0;i=ua(18,g|0,k|0,j|0,m|0)|0;n=x;x=0;if(n&1){i=Ya()|0;_P(j);break}_P(j);_P(k);do if(i){x=0;Ma(10,a|0,b|0,c|0,d+-1|0,e+-1|0,g|0,h|0);n=x;x=0;if(n&1)break a;c=h+8|0;k=f[c>>2]|0;d=h+4|0;j=f[d>>2]|0;n=k-j|0;b=h+16|0;a=f[b>>2]|0;e=h+20|0;i=f[e>>2]|0;if((((n|0)==0?0:(n<<7)+-1|0)|0)==(i+a|0)){x=0;Fa(454,h|0);n=x;x=0;if(n&1)break a;i=f[e>>2]|0;a=f[b>>2]|0;k=f[c>>2]|0;j=f[d>>2]|0}i=i+a|0;if((k|0)==(j|0))i=0;else i=(f[j+(i>>>9<<2)>>2]|0)+((i&511)<<3)|0;x=0;Ga(462,i|0,f[m+4>>2]|0);n=x;x=0;if(n&1)break a;f[i>>2]=15556;f[e>>2]=(f[e>>2]|0)+1}else{n=f[a>>2]|0;i=e+-1|0;j=d+-1|0;if((f[(f[n+(d*12|0)>>2]|0)+(i<<2)>>2]|0)>(f[(f[n+(j*12|0)>>2]|0)+(e<<2)>>2]|0)){x=0;Ma(10,a|0,b|0,c|0,d|0,i|0,g|0,h|0);n=x;x=0;if(n&1)break a;else break}else{x=0;Ma(10,a|0,b|0,c|0,j|0,e|0,g|0,h|0);n=x;x=0;if(n&1)break a;else break}}while(0);_P(m);u=l;return}while(0);_P(k);n=i;_P(m);jb(n|0)}while(0);n=Ya()|0;_P(m);jb(n|0)}function Hn(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=0;k=u;u=u+160|0;d=k;p=k+144|0;e=k+104|0;q=k+96|0;g=k+56|0;m=k+48|0;n=k+40|0;je(p,c);h=e;i=c+108|0;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Ga(599,q|0,c|0);l=x;x=0;if(l&1){q=Ya()|0;_P(p);jb(q|0)}x=0;l=qa(318,76)|0;j=x;x=0;a:do if(j&1)c=Ya()|0;else{h=g;i=e;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Ga(462,m|0,f[p+4>>2]|0);j=x;x=0;do if(j&1)c=Ya()|0;else{f[m>>2]=7904;x=0;Ga(462,n|0,f[q+4>>2]|0);j=x;x=0;if(j&1){c=Ya()|0;_P(m);break}f[n>>2]=9376;h=d;i=g;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Fa(427,l|0);j=x;x=0;b:do if(j&1){c=1;o=17}else{h=l+12|0;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;c=l+56|0;f[c>>2]=0;f[l>>2]=10868;d=l+60|0;x=0;Ga(462,d|0,f[m+4>>2]|0);j=x;x=0;do if(j&1)c=Ya()|0;else{f[d>>2]=7904;e=l+68|0;x=0;Ga(462,e|0,f[n+4>>2]|0);j=x;x=0;if(j&1){c=Ya()|0;_P(d);break}f[e>>2]=9376;f[c>>2]=4;x=0;Ga(462,a|0,l|0);o=x;x=0;if(o&1){c=0;o=17;break b}f[a>>2]=17080;_P(n);_P(m);_P(q);_P(p);u=k;return}while(0);d=1}while(0);if((o|0)==17){o=Ya()|0;d=c;c=o}_P(n);_P(m);if(!d)break a}while(0);Hta(l)}while(0);_P(q);q=c;_P(p);jb(q|0)}function In(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;n=0;l=u;u=u+32|0;o=l+24|0;m=l+16|0;k=l+8|0;j=l;if(!a){o=0;u=l;return o|0}qV(o,f[a+68>>2]|0);f[o>>2]=7280;i=o+4|0;a=f[i>>2]|0;e=(f[a+72>>2]|0)-(f[a+68>>2]|0)>>3;a:do if(!e)a=0;else{g=m+4|0;h=k+4|0;c=0;while(1){a=a+64|0;x=0;a=sa(f[(f[a>>2]|0)+16>>2]|0,a|0,c|0)|0;d=x;x=0;if(d&1){n=11;break}x=0;Ga(462,m|0,f[a+4>>2]|0);d=x;x=0;if(d&1){n=11;break}f[m>>2]=6920;a=f[g>>2]|0;if(!a)n=12;else if((f[153]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){d=1;a=0}else if((f[139]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){d=1;a=0}else n=12;if((n|0)==12){n=0;x=0;a=qa(346,a|0)|0;d=x;x=0;if(d&1){n=20;break}if(!a){d=0;a=0}else{x=0;Ga(462,k|0,f[a+68>>2]|0);d=x;x=0;if(d&1){n=21;break}f[k>>2]=7280;x=0;a=qa(f[(f[a>>2]|0)+76>>2]|0,a|0)|0;d=x;x=0;if(d&1){n=22;break}if(a)a=0;else{x=0;Ga(462,j|0,f[h>>2]|0);d=x;x=0;if(d&1){n=22;break}f[j>>2]=7280;x=0;a=sa(1020,j|0,b|0)|0;d=x;x=0;if(d&1){n=23;break}_P(j)}_P(k);d=0}}_P(m);c=c+1|0;if(a|d){a=1;break a}if(c>>>0>=e>>>0){a=0;break a}a=f[i>>2]|0}if((n|0)==11){n=Ya()|0;_P(o);jb(n|0)}else if((n|0)==20)a=Ya()|0;else if((n|0)==21){a=Ya()|0;n=26}else if((n|0)==22){a=Ya()|0;n=25}else if((n|0)==23){a=Ya()|0;_P(j);n=25}if((n|0)==25){_P(k);n=26}_P(m);n=a;_P(o);jb(n|0)}while(0);_P(o);o=a;u=l;return o|0}function Jn(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=0;if(!a){k=0;return k|0}j=b[36397]|0;e=j<<24>>24==0;a:do if(!e){c=36397;d=j;while(1){if((b[a>>0]|0)!=d<<24>>24){a=0;break}a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24))break a}return a|0}while(0);d=b[a>>0]|0;if(!(d<<24>>24)){k=0;return k|0}if(e){c=0;e=0;while(1){switch(d<<24>>24){case 92:{f=e;a=a+1|0;break}case 34:{c=c^1;f=e;break}case 39:{f=e^1;break}default:if(c){c=1;f=e}else{c=0;f=e;a=e?a:a+-1|0}}a=a+1|0;d=b[a>>0]|0;if(!(d<<24>>24)){a=0;break}else e=f}return a|0}else{c=0;e=0;i=0}b:while(1){c:do switch(d<<24>>24){case 92:{h=c;a=a+1|0;f=i;break}case 34:{h=c^1;f=i;break}case 39:{h=c;e=e^1;f=i;break}default:if(c){h=1;f=i}else if(e){h=0;e=1;f=i}else{d:do if(d<<24>>24==j<<24>>24){g=a;c=36397;while(1){e=g+1|0;c=c+1|0;f=b[c>>0]|0;if(!(f<<24>>24))break;if((b[e>>0]|0)!=f<<24>>24)break d;else g=e}h=0;e=0;a=g;f=i+1|0;break c}while(0);c=b[51458]|0;e:do if(!(c<<24>>24))c=a;else{if(d<<24>>24==c<<24>>24){c=a;d=51458}else{h=0;e=0;f=i;break c}while(1){c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break e;if((b[c>>0]|0)!=e<<24>>24){h=0;e=0;f=i;break c}}}while(0);if(!i)break b;else{h=0;e=0;a=c+-1|0;f=i+-1|0}}}while(0);a=a+1|0;d=b[a>>0]|0;if(!(d<<24>>24)){a=0;k=35;break}else{c=h;i=f}}if((k|0)==35)return a|0;a=ZW(c)|0;if(!a)a=c;else{k=a;return k|0}while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;a=Ay(a)|0;if(a|0){a=wy(a)|0;if(a|0){k=a;return k|0}}j=b[c>>0]|0;k=c+1|0;j=j<<24>>24|0;k=(j|0)!=43?((j|0)==45?k:0):k;return k|0}function Kn(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;l=a+4|0;d=f[a>>2]|0;g=((f[l>>2]|0)-d|0)/20|0;e=g+1|0;if(e>>>0>214748364)EO(a);m=a+8|0;o=((f[m>>2]|0)-d|0)/20|0;d=o<<1;d=o>>>0<107374182?(d>>>0>>0?e:d):214748364;do if(!d){n=0;o=0}else{if(d>>>0<=214748364){o=VN(d*20|0)|0;n=o;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(d|0);jb(o|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);j=n+(g*20|0)|0;h=j|0;e=h;k=n+(d*20|0)|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;d=j+12|0;x=0;Ga(462,d|0,f[c+16>>2]|0);j=x;x=0;a:do if(j&1){g=Ya()|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);d=e}else d=e}else{f[d>>2]=16816;j=h+20|0;i=f[a>>2]|0;d=f[l>>2]|0;do if((d|0)==(i|0)){g=i;d=i}else{g=h;while(1){h=g+-20|0;c=d;d=d+-20|0;x=0;Ga(459,h|0,d|0);p=x;x=0;if(p&1){c=27;break}g=g+-8|0;x=0;Ga(462,g|0,f[c+-4>>2]|0);p=x;x=0;if(p&1){c=16;break}f[g>>2]=16816;g=e+-20|0;e=g;if((d|0)==(i|0)){c=19;break}}if((c|0)==16){g=Ya()|0;if((b[h+11>>0]|0)>=0){d=j;break a}Hta(f[h>>2]|0);d=j;break a}else if((c|0)==19){g=f[a>>2]|0;d=f[l>>2]|0;break}else if((c|0)==27){g=Ya()|0;d=j;break a}}while(0);f[a>>2]=e;f[l>>2]=j;f[m>>2]=k;e=g;if((d|0)!=(e|0))do{_P(d+-8|0);d=d+-20|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0)}while((d|0)!=(e|0));if(!g)return;Hta(g);return}while(0);if((d|0)!=(e|0))do{_P(d+-8|0);d=d+-20|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0)}while((d|0)!=(e|0));if(!n)jb(g|0);Hta(o);jb(g|0)}function Ln(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;s=0;f[e>>2]=a;f[j>>2]=g;if(!(l&4))g=c;else{a=f[e>>2]|0;g=c;if((g-a|0)>2)if((b[a>>0]|0)==-17)if((b[a+1>>0]|0)==-69)if((b[a+2>>0]|0)==-65)f[e>>2]=a+3}r=i;a:while(1){a=f[e>>2]|0;l=a>>>0>>0;if(!l){s=41;break}q=f[j>>2]|0;if(q>>>0>=i>>>0){s=41;break}n=b[a>>0]|0;p=n&255;if(p>>>0>k>>>0){a=2;break}do if(n<<24>>24>-1){d[q>>1]=n&255;l=1}else{if((n&255)<194){a=2;break a}if((n&255)<224){if((g-a|0)<2){a=1;break a}l=h[a+1>>0]|0;if((l&192|0)!=128){a=2;break a}l=l&63|p<<6&1984;if(l>>>0>k>>>0){a=2;break a}d[q>>1]=l;l=2;break}if((n&255)<240){if((g-a|0)<3){a=1;break a}m=b[a+1>>0]|0;l=b[a+2>>0]|0;switch(n<<24>>24){case -32:{if((m&-32)<<24>>24!=-96){a=2;break a}break}case -19:{if((m&-32)<<24>>24!=-128){a=2;break a}break}default:if((m&-64)<<24>>24!=-128){a=2;break a}}l=l&255;if((l&192|0)!=128){a=2;break a}l=(m&63)<<6|p<<12|l&63;if((l&65535)>>>0>k>>>0){a=2;break a}d[q>>1]=l;l=3;break}if((n&255)>=245){a=2;break a}if((g-a|0)<4){a=1;break a}m=b[a+1>>0]|0;l=b[a+2>>0]|0;a=b[a+3>>0]|0;switch(n<<24>>24){case -16:{if((m+112&255)>=48){a=2;break a}break}case -12:{if((m&-16)<<24>>24!=-128){a=2;break a}break}default:if((m&-64)<<24>>24!=-128){a=2;break a}}o=l&255;if((o&192|0)!=128){a=2;break a}a=a&255;if((a&192|0)!=128){a=2;break a}if((r-q|0)<4){a=1;break a}n=p&7;l=m&255;m=o<<6;a=a&63;if((l<<12&258048|n<<18|m&4032|a)>>>0>k>>>0){a=2;break a}d[q>>1]=l<<2&60|o>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;l=q+2|0;f[j>>2]=l;d[l>>1]=a|m&960|56320;l=4;a=f[e>>2]|0}while(0);f[e>>2]=a+l;f[j>>2]=(f[j>>2]|0)+2}if((s|0)==41)a=l&1;return a|0}function Mn(a,b){a=+a;b=+b;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=0;p[s>>3]=a;h=f[s>>2]|0;j=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=kX(h|0,j|0,52)|0;d=d&2047;k=kX(l|0,m|0,52)|0;k=k&2047;n=j&-2147483648;g=IW(l|0,m|0,1)|0;i=I;a:do if((g|0)==0&(i|0)==0)o=3;else{e=b3(b)|0;c=I&2147483647;if((d|0)==2047|(c>>>0>2146435072|(c|0)==2146435072&e>>>0>0))o=3;else{c=IW(h|0,j|0,1)|0;e=I;if(!(e>>>0>i>>>0|(e|0)==(i|0)&c>>>0>g>>>0))return +((c|0)==(g|0)&(e|0)==(i|0)?a*0.0:a);if(!d){c=IW(h|0,j|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&c>>>0>4294967295){d=0;do{d=d+-1|0;c=IW(c|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&c>>>0>4294967295)}else d=0;h=IW(h|0,j|0,1-d|0)|0;g=I}else g=j&1048575|1048576;if(!k){e=IW(l|0,m|0,12)|0;i=I;if((i|0)>-1|(i|0)==-1&e>>>0>4294967295){c=0;do{c=c+-1|0;e=IW(e|0,i|0,1)|0;i=I}while((i|0)>-1|(i|0)==-1&e>>>0>4294967295)}else c=0;l=IW(l|0,m|0,1-c|0)|0;k=c;j=I}else j=m&1048575|1048576;e=AY(h|0,g|0,l|0,j|0)|0;c=I;i=(c|0)>-1|(c|0)==-1&e>>>0>4294967295;b:do if((d|0)>(k|0)){while(1){if(i){if((e|0)==0&(c|0)==0)break}else{e=h;c=g}h=IW(e|0,c|0,1)|0;g=I;d=d+-1|0;e=AY(h|0,g|0,l|0,j|0)|0;c=I;i=(c|0)>-1|(c|0)==-1&e>>>0>4294967295;if((d|0)<=(k|0))break b}b=a*0.0;break a}while(0);if(i){if((e|0)==0&(c|0)==0){b=a*0.0;break}}else{c=g;e=h}if(c>>>0<1048576|(c|0)==1048576&e>>>0<0)do{e=IW(e|0,c|0,1)|0;c=I;d=d+-1|0}while(c>>>0<1048576|(c|0)==1048576&e>>>0<0);if((d|0)>0){m=w7(e|0,c|0,0,-1048576)|0;c=I;d=IW(d|0,0,52)|0;c=c|I;d=m|d}else{d=kX(e|0,c|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}}while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Nn(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=0;j=u;u=u+64|0;k=j+24|0;n=j+12|0;m=j;c=(Dv(c,a)|0)+4|0;c=f[c>>2]|0;if(c|0)if((f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){o=c;u=j;return o|0}l=n+11|0;b[l>>0]=10;c=n;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[n+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,n|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)o=17;else{x=0;sa(991,n|0,39013)|0;a=x;x=0;if(a&1)o=17;else{x=0;sa(991,n|0,d|0)|0;d=x;x=0;if(d&1)o=17;else{x=0;sa(991,n|0,39020)|0;d=x;x=0;if(d&1)o=17;else{f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=k+11|0;b[h>>0]=6;b[k>>0]=b[39056]|0;b[k+1>>0]=b[39057]|0;b[k+2>>0]=b[39058]|0;b[k+3>>0]=b[39059]|0;b[k+4>>0]=b[39060]|0;b[k+5>>0]=b[39061]|0;b[k+6>>0]=0;x=0;ta(41,n|0,k|0,6)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[k>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[k>>2]|0);x=0;Ga(459,m|0,n|0);d=x;x=0;if(d&1)o=17;else{x=0;c=k;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,k|0,g|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[l>>0]|0)<0)Hta(f[n>>2]|0);o=0;u=j;return o|0}}}}}while(0);if((o|0)==17)c=Ya()|0;if((b[l>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0);return 0}function On(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;k=u;u=u+64|0;j=k+56|0;p=k+48|0;q=k+40|0;n=k+32|0;o=k+24|0;m=k+16|0;l=k;i=(a|0)==0;if(i)e=0;else{g=j+4|0;e=a;while(1){qV(j,f[e+88>>2]|0);f[j>>2]=15556;h=f[g>>2]|0;_P(j);if(!h)break;else e=h}}qV(q,e);f[q>>2]=15556;x=0;Ga(462,p|0,f[(f[q+4>>2]|0)+80>>2]|0);h=x;x=0;if(h&1){p=Ya()|0;_P(q);jb(p|0)}f[p>>2]=15572;if(!(f[p+4>>2]|0)){o=0;_P(p);_P(q);u=k;return o|0}a:do if(i){a=0;g=10}else{g=j+4|0;while(1){x=0;Ga(462,j|0,f[a+88>>2]|0);i=x;x=0;if(i&1){g=20;break a}f[j>>2]=15556;e=f[g>>2]|0;_P(j);if(!e){g=10;break}else a=e}}while(0);if((g|0)==10){x=0;Ga(462,o|0,a|0);j=x;x=0;if(j&1)g=20;else{f[o>>2]=15556;x=0;Ga(462,n|0,f[(f[o+4>>2]|0)+80>>2]|0);j=x;x=0;if(j&1)a=Ya()|0;else{f[n>>2]=15572;a=f[n+4>>2]|0;e=f[(f[a>>2]|0)+144>>2]|0;x=0;Ga(462,m|0,f[c+4>>2]|0);c=x;x=0;if(c&1)a=Ya()|0;else{f[m>>2]=15572;x=0;Ga(459,l|0,d|0);d=x;x=0;do if(d&1)a=Ya()|0;else{x=0;a=ta(e|0,a|0,m|0,l|0)|0;d=x;x=0;if(d&1){a=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);_P(m);_P(n);_P(o);o=a;_P(p);_P(q);u=k;return o|0}while(0);_P(m)}_P(n)}_P(o)}}if((g|0)==20)a=Ya()|0;_P(p);p=a;_P(q);jb(p|0);return 0}function Pn(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,t=0,v=0,w=0;v=u;u=u+64|0;n=v+48|0;m=v+40|0;l=v+32|0;q=v+16|0;r=v+8|0;s=v;t=v+24|0;if((f[a+4>>2]|0)!=2){v=Ta(4)|0;f[v>>2]=35064;fb(v|0,6344,0)}if((f[b+4>>2]|0)!=2){v=Ta(4)|0;f[v>>2]=35064;fb(v|0,6344,0)}d=a+20|0;c=f[d>>2]|0;a=a+24|0;o=f[a>>2]|0;p=(o|0)==0;if(p){a=c;e=0;k=1}else{ega(o);e=f[a>>2]|0;a=f[d>>2]|0;if(!e){e=0;k=1}else{ega(e);k=0}}i=a;a=(f[i+16>>2]|0)+(f[i+20>>2]|0)|0;j=f[i+4>>2]|0;d=j+(((a>>>0)/146|0)<<2)|0;if((f[i+8>>2]|0)==(j|0))a=0;else a=(f[d>>2]|0)+(((a>>>0)%146|0)*28|0)|0;f[q>>2]=d;f[q+4>>2]=a;g=b+20|0;d=f[g>>2]|0;h=b+24|0;i=f[h>>2]|0;j=(i|0)==0;if(!j)ega(i);w=f[d+4>>2]|0;a=f[d+16>>2]|0;b=w+(((a>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(w|0))a=0;else a=(f[b>>2]|0)+(((a>>>0)%146|0)*28|0)|0;f[r>>2]=b;f[r+4>>2]=a;d=f[g>>2]|0;g=f[h>>2]|0;h=(g|0)==0;if(!h)ega(g);a=(f[d+16>>2]|0)+(f[d+20>>2]|0)|0;w=f[d+4>>2]|0;b=w+(((a>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(w|0))a=0;else a=(f[b>>2]|0)+(((a>>>0)%146|0)*28|0)|0;f[s>>2]=b;f[s+4>>2]=a;x=0;f[l>>2]=f[q>>2];f[l+4>>2]=f[q+4>>2];f[m>>2]=f[r>>2];f[m+4>>2]=f[r+4>>2];f[n>>2]=f[s>>2];f[n+4>>2]=f[s+4>>2];La(11,t|0,c|0,l|0,m|0,n|0,0);w=x;x=0;if(w&1){a=Ya()|0;if(!h)QZ(g);if(!j)QZ(i);if(!k)QZ(e);if(p)jb(a|0);QZ(o);jb(a|0)}else{if(!h)QZ(g);if(!j)QZ(i);if(!k)QZ(e);if(p){u=v;return}QZ(o);u=v;return}}function Qn(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;j=u;u=u+48|0;k=j+24|0;d=j+16|0;g=j+8|0;h=j;i=a+4|0;wv(i);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;e=k+11|0;b[e>>0]=4;f[k>>2]=1919903296;b[k+4>>0]=0;x=0;Ia(147,i|0,k|0,c|0);l=x;x=0;if(l&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[k>>2]|0);l=d;jb(l|0)}if((b[e>>0]|0)<0)Hta(f[k>>2]|0);boa(i);Fv(i,c+72|0);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;e=k+11|0;b[e>>0]=6;b[k>>0]=b[49927]|0;b[k+1>>0]=b[49928]|0;b[k+2>>0]=b[49929]|0;b[k+3>>0]=b[49930]|0;b[k+4>>0]=b[49931]|0;b[k+5>>0]=b[49932]|0;b[k+6>>0]=0;x=0;Ga(682,i|0,k|0);l=x;x=0;if(l&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[k>>2]|0);l=d;jb(l|0)}if((b[e>>0]|0)<0)Hta(f[k>>2]|0);qV(d,f[c+88>>2]|0);f[d>>2]=7696;l=f[d+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(l&1){l=Ya()|0;_P(d);jb(l|0)}_P(d);d=(b[c+100>>0]|0)!=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;l=d?9:4;e=k+11|0;b[e>>0]=l;Lu(k|0,(d?49934:49944)|0,l|0)|0;b[k+l>>0]=0;x=0;Ga(682,i|0,k|0);l=x;x=0;if(l&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[k>>2]|0);l=d;jb(l|0)}if((b[e>>0]|0)<0)Hta(f[k>>2]|0);qV(g,f[c+96>>2]|0);f[g>>2]=7696;l=f[g+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(l&1){l=Ya()|0;_P(g);jb(l|0)}_P(g);qV(h,f[c+68>>2]|0);f[h>>2]=7280;l=f[h+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(!(l&1)){_P(h);u=j;return}l=Ya()|0;_P(h);jb(l|0)}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+8|0;d=k;if(!a){j=1;u=k;return j|0}switch(f[a>>2]|0){case 1:{g=a+4|0;b=f[g>>2]|0;if(!b){j=1;u=k;return j|0}e=f[a+8>>2]|0;if(!e){j=1;u=k;return j|0}c=f[a+16>>2]|0;if(!c){j=1;u=k;return j|0}b=f[b+92>>2]|0;if(b|0){j=b;u=k;return j|0}f[a>>2]=2;qV(j,c);f[j>>2]=7280;b=f[(f[e>>2]|0)+16>>2]|0;x=0;Ga(462,d|0,f[j+4>>2]|0);c=x;x=0;do if(c&1){b=Za(0)|0;a=13}else{f[d>>2]=7280;x=0;b=sa(b|0,e|0,d|0)|0;c=x;x=0;if(c&1){b=Za(0)|0;_P(d);a=13;break}f[(f[g>>2]|0)+84>>2]=b;_P(d);x=0;b=qa(f[(f[e>>2]|0)+20>>2]|0,e|0)|0;i=x;x=0;if(i&1)a=21;else{f[(f[g>>2]|0)+88>>2]=b;b=0;a=23}}while(0);if((a|0)==13){Ua(b|0)|0;b=f[g>>2]|0;x=0;a=qa(402,b|0)|0;g=x;x=0;do if(g&1){g=Za(0)|0;Ua(g|0)|0;x=0;b=qa(402,b|0)|0;g=x;x=0;if(g&1){b=Ya()|0;x=0;Ea(4);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}else i=b}else{x=0;Ea(4);i=x;x=0;if(!(i&1)){h=b;break}i=Ya()|0}x=0;Ea(4);g=x;x=0;if(g&1){i=Za(0)|0;soa(i)}else{k=i;_P(j);jb(k|0)}}else h=a;while(0);x=0;Ea(4);i=x;x=0;if(i&1)a=21;else{b=h|1;a=23}}if((a|0)==21){k=Ya()|0;_P(j);jb(k|0)}else if((a|0)==23){_P(j);j=b;u=k;return j|0}break}case 2:{j=0;u=k;return j|0}default:{j=-1;u=k;return j|0}}return 0}function Sn(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=0;k=u;u=u+64|0;l=k+24|0;o=k+12|0;m=k;j=(Dv(c,a)|0)+4|0;j=$7(f[j>>2]|0)|0;if(j|0){u=k;return j|0}n=o+11|0;b[n>>0]=10;c=o;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[o+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,o|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)p=16;else{x=0;sa(991,o|0,39013)|0;a=x;x=0;if(a&1)p=16;else{x=0;sa(991,o|0,d|0)|0;d=x;x=0;if(d&1)p=16;else{x=0;sa(991,o|0,39020)|0;d=x;x=0;if(d&1)p=16;else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=l+11|0;b[h>>0]=6;b[l>>0]=b[40040]|0;b[l+1>>0]=b[40041]|0;b[l+2>>0]=b[40042]|0;b[l+3>>0]=b[40043]|0;b[l+4>>0]=b[40044]|0;b[l+5>>0]=b[40045]|0;b[l+6>>0]=0;x=0;ta(41,o|0,l|0,6)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(459,m|0,o|0);d=x;x=0;if(d&1)p=16;else{x=0;c=l;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,l|0,g|0);l=x;x=0;if(l&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[n>>0]|0)<0)Hta(f[o>>2]|0);u=k;return j|0}}}}}while(0);if((p|0)==16)c=Ya()|0;if((b[n>>0]|0)>=0)jb(c|0);Hta(f[o>>2]|0);jb(c|0);return 0}function Tn(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=0;q=u;u=u+16|0;o=q;e=a+24|0;Sk(a,a+12|0,e,d)|0;d=a+36|0;if((d|0)==(c|0)){u=q;return}m=o+11|0;n=o+4|0;k=e;a:while(1){i=b[k+11>>0]|0;g=i<<24>>24<0;i=g?f[k+4>>2]|0:i&255;j=b[d+11>>0]|0;h=j<<24>>24<0;j=h?f[d+4>>2]|0:j&255;e=i>>>0>>0?i:j;if(!e)p=6;else{e=lO(h?f[d>>2]|0:d,g?f[k>>2]|0:k,e)|0;if(!e)p=6;else if((e|0)<0){e=d;p=9}}if((p|0)==6){p=0;if(j>>>0>>0){e=d;p=9}}if((p|0)==9){p=0;f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=d;while(1){b[e>>0]=0;b[e+11>>0]=0;x=0;Ga(501,e|0,0);l=x;x=0;if(l&1){p=11;break a}f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((k|0)==(a|0)){e=a;break}i=k+-12|0;j=b[i+11>>0]|0;g=j<<24>>24<0;j=g?f[k+-8>>2]|0:j&255;l=b[m>>0]|0;h=l<<24>>24<0;l=h?f[n>>2]|0:l&255;e=j>>>0>>0?j:l;if(e|0){e=lO(h?f[o>>2]|0:o,g?f[i>>2]|0:i,e)|0;if(e|0)if((e|0)<0){e=k;k=i;continue}else{e=k;break}}if(l>>>0>>0){e=k;k=i}else{e=k;break}}g=e+11|0;if((b[g>>0]|0)<0){b[f[e>>2]>>0]=0;f[e+4>>2]=0}else{b[k>>0]=0;b[g>>0]=0}x=0;Ga(501,e|0,0);l=x;x=0;if(l&1){p=21;break}f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2]}e=d+12|0;if((e|0)==(c|0)){p=3;break}else{k=d;d=e}}if((p|0)==3){u=q;return}else if((p|0)==11){q=Za(0)|0;soa(q)}else if((p|0)==21){q=Za(0)|0;soa(q)}}function Un(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=0;j=u;u=u+64|0;k=j+24|0;n=j+12|0;m=j;c=(Dv(c,a)|0)+4|0;c=f[c>>2]|0;if(c|0)if((f[319]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){o=c;u=j;return o|0}l=n+11|0;b[l>>0]=10;c=n;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[n+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,n|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)o=17;else{x=0;sa(991,n|0,39013)|0;a=x;x=0;if(a&1)o=17;else{x=0;sa(991,n|0,d|0)|0;d=x;x=0;if(d&1)o=17;else{x=0;sa(991,n|0,39020)|0;d=x;x=0;if(d&1)o=17;else{f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=k+11|0;b[h>>0]=5;b[k>>0]=b[39252]|0;b[k+1>>0]=b[39253]|0;b[k+2>>0]=b[39254]|0;b[k+3>>0]=b[39255]|0;b[k+4>>0]=b[39256]|0;b[k+5>>0]=0;x=0;ta(41,n|0,k|0,5)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[k>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[k>>2]|0);x=0;Ga(459,m|0,n|0);d=x;x=0;if(d&1)o=17;else{x=0;c=k;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,k|0,g|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[l>>0]|0)<0)Hta(f[n>>2]|0);o=0;u=j;return o|0}}}}}while(0);if((o|0)==17)c=Ya()|0;if((b[l>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0);return 0}function Vn(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;o=0;m=u;u=u+112|0;e=m;g=m+100|0;l=m+88|0;h=m+48|0;n=m+40|0;a:do switch(f[(f[c+60>>2]|0)+-4>>2]|0){case 6:case 4:case 1:case 2:case 0:break;default:{d=VN(80)|0;f[l>>2]=d;f[l+8>>2]=-2147483568;f[l+4>>2]=66;i=d;j=50102;k=i+66|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+66>>0]=0;x=0;Ga(459,g|0,l|0);k=x;x=0;do if(k&1)d=Ya()|0;else{k=c+108|0;x=0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];Ia(113,c|0,g|0,e|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[l+11>>0]|0)>=0)break a;Hta(f[l>>2]|0);break a}while(0);if((b[l+11>>0]|0)>=0){o=d;jb(o|0)}Hta(f[l>>2]|0);o=d;jb(o|0)}}while(0);g=VN(72)|0;i=h;j=c+108|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ia(114,n|0,c|0,1);l=x;x=0;if(l&1)d=Ya()|0;else{i=e;j=h;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,g|0);l=x;x=0;do if(l&1){d=1;o=20}else{i=g+12|0;j=e;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));d=g+52|0;f[d>>2]=0;f[g+56>>2]=0;b[g+60>>0]=0;f[g>>2]=8208;e=g+64|0;x=0;Ga(462,e|0,f[n+4>>2]|0);l=x;x=0;if(l&1){d=Ya()|0;e=1;break}f[e>>2]=7696;f[d>>2]=14;x=0;Ga(462,a|0,g|0);o=x;x=0;if(o&1){d=0;o=20}else{f[a>>2]=17320;_P(n);u=m;return}}while(0);if((o|0)==20){o=Ya()|0;e=d;d=o}_P(n);if(!e){o=d;jb(o|0)}}Hta(g);o=d;jb(o|0)}function Wn(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;o=0;m=u;u=u+112|0;e=m;g=m+100|0;l=m+88|0;h=m+48|0;n=m+40|0;a:do switch(f[(f[c+60>>2]|0)+-4>>2]|0){case 6:case 4:case 1:case 2:case 0:break;default:{d=VN(80)|0;f[l>>2]=d;f[l+8>>2]=-2147483568;f[l+4>>2]=66;i=d;j=50102;k=i+66|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+66>>0]=0;x=0;Ga(459,g|0,l|0);k=x;x=0;do if(k&1)d=Ya()|0;else{k=c+108|0;x=0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];Ia(113,c|0,g|0,e|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[l+11>>0]|0)>=0)break a;Hta(f[l>>2]|0);break a}while(0);if((b[l+11>>0]|0)>=0){o=d;jb(o|0)}Hta(f[l>>2]|0);o=d;jb(o|0)}}while(0);g=VN(72)|0;i=h;j=c+108|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ia(114,n|0,c|0,1);l=x;x=0;if(l&1)d=Ya()|0;else{i=e;j=h;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,g|0);l=x;x=0;do if(l&1){d=1;o=20}else{i=g+12|0;j=e;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));d=g+52|0;f[d>>2]=0;f[g+56>>2]=0;b[g+60>>0]=0;f[g>>2]=8304;e=g+64|0;x=0;Ga(462,e|0,f[n+4>>2]|0);l=x;x=0;if(l&1){d=Ya()|0;e=1;break}f[e>>2]=7696;f[d>>2]=17;x=0;Ga(462,a|0,g|0);o=x;x=0;if(o&1){d=0;o=20}else{f[a>>2]=17352;_P(n);u=m;return}}while(0);if((o|0)==20){o=Ya()|0;e=d;d=o}_P(n);if(!e){o=d;jb(o|0)}}Hta(g);o=d;jb(o|0)}function Xn(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;o=0;m=u;u=u+112|0;e=m;g=m+100|0;l=m+88|0;h=m+48|0;n=m+40|0;a:do switch(f[(f[c+60>>2]|0)+-4>>2]|0){case 6:case 4:case 1:case 2:case 0:break;default:{d=VN(80)|0;f[l>>2]=d;f[l+8>>2]=-2147483568;f[l+4>>2]=66;i=d;j=50102;k=i+66|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+66>>0]=0;x=0;Ga(459,g|0,l|0);k=x;x=0;do if(k&1)d=Ya()|0;else{k=c+108|0;x=0;f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];Ia(113,c|0,g|0,e|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[l+11>>0]|0)>=0)break a;Hta(f[l>>2]|0);break a}while(0);if((b[l+11>>0]|0)>=0){o=d;jb(o|0)}Hta(f[l>>2]|0);o=d;jb(o|0)}}while(0);g=VN(72)|0;i=h;j=c+108|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ia(114,n|0,c|0,1);l=x;x=0;if(l&1)d=Ya()|0;else{i=e;j=h;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,g|0);l=x;x=0;do if(l&1){d=1;o=20}else{i=g+12|0;j=e;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));d=g+52|0;f[d>>2]=0;f[g+56>>2]=0;b[g+60>>0]=0;f[g>>2]=8400;e=g+64|0;x=0;Ga(462,e|0,f[n+4>>2]|0);l=x;x=0;if(l&1){d=Ya()|0;e=1;break}f[e>>2]=7696;f[d>>2]=18;x=0;Ga(462,a|0,g|0);o=x;x=0;if(o&1){d=0;o=20}else{f[a>>2]=17336;_P(n);u=m;return}}while(0);if((o|0)==20){o=Ya()|0;e=d;d=o}_P(n);if(!e){o=d;jb(o|0)}}Hta(g);o=d;jb(o|0)}function Yn(a){a=a|0;var c=0,d=0;c=a;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(!c)d=6;else{c=Ay(c)|0;if(!c)d=6;else{c=wy(c)|0;if(!c)d=6;else d=7}}if((d|0)==6)if((b[a>>0]|0)==45){c=a+1|0;d=7}else c=a;if((d|0)==7)while(1){a=c;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;a=Ay(a)|0;if(a|0){a=wy(a)|0;if(a|0){c=a;d=7;continue}}if((b[c>>0]|0)==45){c=c+1|0;d=7}else break}c=Jn(c)|0;if(!c){d=0;return d|0}while(1){a=Jn(c)|0;if(!a)break;else c=a}a:while(1){a=c;while(1)if((b[a>>0]|0)==45)a=a+1|0;else break;a=Ay(a)|0;if(!a)d=18;else{a=wy(a)|0;if(!a)d=18;else d=19}if((d|0)==18){d=0;if((b[c>>0]|0)==45){a=c+1|0;d=19}else a=c}if((d|0)==19)while(1){d=a;while(1)if((b[d>>0]|0)==45)d=d+1|0;else break;d=Ay(d)|0;if(d|0){d=wy(d)|0;if(d|0){a=d;d=19;continue}}if((b[a>>0]|0)==45){a=a+1|0;d=19}else break}a=Jn(a)|0;if(!a)break;else c=a;while(1){a=Jn(c)|0;if(!a)continue a;else c=a}}return c|0}function Zn(a){a=a|0;var c=0,d=0,e=0;e=0;switch(b[a>>0]|0){case 42:{c=a+1|0;break}case 45:{c=a;do c=c+1|0;while((b[c>>0]|0)==45);e=3;break}default:{c=a;e=3}}do if((e|0)==3){d=Ay(c)|0;if(d|0){d=wy(d)|0;if(d|0){c=d;break}}c=np(c)|0}while(0);c=c|0?c:a;if(!c)c=0;else{d=c+1|0;if((b[c>>0]|0)==124)c=(b[d>>0]|0)==61?0:d;else c=0}d=c|0?c:a;if(!d){e=0;return e|0}c=d+1|0;switch(b[d>>0]|0){case 35:{if((b[c>>0]|0)==123){c=0;e=13}break}case 46:break;case 58:{c=(b[c>>0]|0)==58?d+2|0:c;e=13;break}default:{c=0;e=13}}if((e|0)==13){c=c|0?c:d;if(!c){e=0;return e|0}if(CD(c)|0){e=0;return e|0}}c=qu(c)|0;if(!c){e=0;return e|0}while(1){d=qu(c)|0;if(!d)break;else c=d}while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;return c|0}function _n(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;o=0;p=u;u=u+16|0;m=p+8|0;n=p;a:do if(Xp(a,c)|0){g=a+84|0;h=c+84|0;e=b[g+11>>0]|0;l=e<<24>>24<0;e=e&255;i=l?f[a+88>>2]|0:e;k=b[h+11>>0]|0;d=k<<24>>24<0;if((i|0)==((d?f[c+88>>2]|0:k&255)|0)){j=f[g>>2]|0;k=l?j:g;d=d?f[h>>2]|0:h;h=(i|0)==0;b:do if(l){if(!h)if(lO(k,d,i)|0)break a}else if(!h){if((b[d>>0]|0)!=(j&255)<<24>>24)break a;while(1){e=e+-1|0;g=g+1|0;if(!e)break b;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0))break a}}while(0);qV(m,f[a+108>>2]|0);f[m>>2]=7904;x=0;Ga(462,n|0,f[c+108>>2]|0);a=x;x=0;if(a&1){p=Ya()|0;_P(m);jb(p|0)}f[n>>2]=7904;e=f[n+4>>2]|0;d=m+4|0;if(!e){d=f[d>>2]|0;o=17}else{d=f[d>>2]|0;if(!d)o=17;else{x=0;d=sa(f[(f[d>>2]|0)+120>>2]|0,d|0,e|0)|0;a=x;x=0;if(a&1){p=Ya()|0;_P(n);_P(m);jb(p|0)}}}if((o|0)==17)d=d>>>0>>0;_P(n);_P(m);o=d;u=p;return o|0}}while(0);if(Xp(a,c)|0){i=a+84|0;j=c+84|0;l=b[j+11>>0]|0;k=l<<24>>24<0;l=k?f[c+88>>2]|0:l&255;g=b[i+11>>0]|0;e=g<<24>>24<0;g=e?f[a+88>>2]|0:g&255;h=l>>>0>>0;d=h?l:g;if(!d)o=23;else{d=lO(e?f[i>>2]|0:i,k?f[j>>2]|0:j,d)|0;if(!d)o=23}if((o|0)==23)d=g>>>0>>0?-1:h&1;o=(d|0)<0;u=p;return o|0}else{i=a+72|0;j=c+72|0;l=b[j+11>>0]|0;k=l<<24>>24<0;l=k?f[c+76>>2]|0:l&255;g=b[i+11>>0]|0;e=g<<24>>24<0;g=e?f[a+76>>2]|0:g&255;h=l>>>0>>0;d=h?l:g;if(!d)o=27;else{d=lO(e?f[i>>2]|0:i,k?f[j>>2]|0:j,d)|0;if(!d)o=27}if((o|0)==27)d=g>>>0>>0?-1:h&1;o=(d|0)<0;u=p;return o|0}return 0}function $n(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,q=0,r=0.0;m=u;u=u+128|0;c=m+80|0;l=m+72|0;q=m+56|0;d=m+16|0;n=m;f[q+8>>2]=0;o=q+11|0;b[o>>0]=7;b[q>>0]=b[40091]|0;b[q+1>>0]=b[40092]|0;b[q+2>>0]=b[40093]|0;b[q+3>>0]=b[40094]|0;b[q+4>>0]=b[40095]|0;b[q+5>>0]=b[40096]|0;b[q+6>>0]=b[40097]|0;b[q+7>>0]=0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,n|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;i=c;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,q|0,a|0,e|0,c|0,n|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,l|0,c|0);h=x;x=0;if(!(h&1)){f[l>>2]=16744;c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[q>>2]|0);c=f[l+4>>2]|0;i=c+88|0;r=+J(+(+p[i>>3]));f[c+100>>2]=0;p[i>>3]=r;i=c+12|0;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));if(!c){q=0;_P(l);u=m;return q|0}b[c+8>>0]=1;q=c;_P(l);u=m;return q|0}}c=Ya()|0;k=I;d=f[n>>2]|0;if(d){a=n+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d)}}if((b[o>>0]|0)>=0)jb(c|0);Hta(f[q>>2]|0);jb(c|0);return 0}function ao(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,q=0,r=0.0;m=u;u=u+128|0;c=m+80|0;l=m+72|0;q=m+56|0;d=m+16|0;n=m;f[q+8>>2]=0;o=q+11|0;b[o>>0]=7;b[q>>0]=b[40091]|0;b[q+1>>0]=b[40092]|0;b[q+2>>0]=b[40093]|0;b[q+3>>0]=b[40094]|0;b[q+4>>0]=b[40095]|0;b[q+5>>0]=b[40096]|0;b[q+6>>0]=b[40097]|0;b[q+7>>0]=0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,n|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;i=c;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,q|0,a|0,e|0,c|0,n|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,l|0,c|0);h=x;x=0;if(!(h&1)){f[l>>2]=16744;c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[q>>2]|0);c=f[l+4>>2]|0;i=c+88|0;r=+W(+(+p[i>>3]));f[c+100>>2]=0;p[i>>3]=r;i=c+12|0;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));if(!c){q=0;_P(l);u=m;return q|0}b[c+8>>0]=1;q=c;_P(l);u=m;return q|0}}c=Ya()|0;k=I;d=f[n>>2]|0;if(d){a=n+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d)}}if((b[o>>0]|0)>=0)jb(c|0);Hta(f[q>>2]|0);jb(c|0);return 0}function bo(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=u;u=u+32|0;l=k+24|0;m=k+16|0;c=k;j=k+8|0;qV(l,f[b+68>>2]|0);f[l>>2]=7280;x=0;Ga(462,c|0,f[b+76>>2]|0);i=x;x=0;if(i&1){m=Ya()|0;_P(l);jb(m|0)}f[c>>2]=7168;x=0;Ga(462,m|0,f[c+4>>2]|0);i=x;x=0;if(i&1){m=Ya()|0;_P(c);_P(l);jb(m|0)}f[m>>2]=15588;_P(c);b=f[m+4>>2]|0;if(!b)c=8;else{x=0;Ga(f[(f[b>>2]|0)+44>>2]|0,b|0,a|0);i=x;x=0;if(i&1)c=7;else c=8}a:do if((c|0)==8){d=l+4|0;e=a+4|0;if(!(f[d>>2]|0)){x=0;Fa(462,e|0);j=x;x=0;if(j&1){c=7;break}_P(m);_P(l);u=k;return}x=0;Ga(683,e|0,0);i=x;x=0;if(i&1)c=7;else{c=f[d>>2]|0;g=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;b:do if(g|0){h=j+4|0;i=g+-1|0;b=0;while(1){c=c+64|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,b|0)|0;n=x;x=0;if(n&1){c=19;break}x=0;Ga(462,j|0,f[c+4>>2]|0);n=x;x=0;if(n&1){c=19;break}f[j>>2]=6920;n=f[h>>2]|0;x=0;Ga(f[(f[n>>2]|0)+44>>2]|0,n|0,a|0);n=x;x=0;if(n&1){c=20;break}if(b>>>0>>0){x=0;Fa(459,e|0);n=x;x=0;if(n&1){c=20;break}}_P(j);b=b+1|0;if(b>>>0>=g>>>0)break b;c=f[d>>2]|0}if((c|0)==19)b=Ya()|0;else if((c|0)==20){b=Ya()|0;_P(j)}break a}while(0);x=0;Ga(684,e|0,0);n=x;x=0;if(n&1)c=7;else{_P(m);_P(l);u=k;return}}}while(0);if((c|0)==7)b=Ya()|0;_P(m);n=b;_P(l);jb(n|0)}function co(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,q=0,r=0.0;m=u;u=u+128|0;c=m+80|0;l=m+72|0;q=m+56|0;d=m+16|0;n=m;f[q+8>>2]=0;o=q+11|0;b[o>>0]=7;b[q>>0]=b[40091]|0;b[q+1>>0]=b[40092]|0;b[q+2>>0]=b[40093]|0;b[q+3>>0]=b[40094]|0;b[q+4>>0]=b[40095]|0;b[q+5>>0]=b[40096]|0;b[q+6>>0]=b[40097]|0;b[q+7>>0]=0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,n|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;i=c;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,q|0,a|0,e|0,c|0,n|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,l|0,c|0);h=x;x=0;if(!(h&1)){f[l>>2]=16744;c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[q>>2]|0);c=f[l+4>>2]|0;i=c+88|0;r=+K(+(+p[i>>3]));f[c+100>>2]=0;p[i>>3]=r;i=c+12|0;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));if(!c){q=0;_P(l);u=m;return q|0}b[c+8>>0]=1;q=c;_P(l);u=m;return q|0}}c=Ya()|0;k=I;d=f[n>>2]|0;if(d){a=n+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d)}}if((b[o>>0]|0)>=0)jb(c|0);Hta(f[q>>2]|0);jb(c|0);return 0}function eo(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=0;j=u;u=u+64|0;k=j+24|0;n=j+12|0;m=j;c=(Dv(c,a)|0)+4|0;c=f[c>>2]|0;if(c|0)if((f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){o=c;u=j;return o|0}l=n+11|0;b[l>>0]=10;c=n;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[n+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,n|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)o=17;else{x=0;sa(991,n|0,39013)|0;a=x;x=0;if(a&1)o=17;else{x=0;sa(991,n|0,d|0)|0;d=x;x=0;if(d&1)o=17;else{x=0;sa(991,n|0,39020)|0;d=x;x=0;if(d&1)o=17;else{h=k+4|0;f[h>>2]=0;f[h+4>>2]=0;h=k+11|0;b[h>>0]=3;b[k>>0]=b[39033]|0;b[k+1>>0]=b[39034]|0;b[k+2>>0]=b[39035]|0;b[k+3>>0]=0;x=0;ta(41,n|0,k|0,3)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[k>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[k>>2]|0);x=0;Ga(459,m|0,n|0);d=x;x=0;if(d&1)o=17;else{x=0;c=k;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,k|0,g|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[l>>0]|0)<0)Hta(f[n>>2]|0);o=0;u=j;return o|0}}}}}while(0);if((o|0)==17)c=Ya()|0;if((b[l>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0);return 0}function fo(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=0;k=f[a>>2]|0;e=k;i=b[e>>0]|0;j=i&255;a:do if(i<<24>>24>-1)l=4;else{b:do if((j&224|0)!=192){g=(j&240|0)==224?3:(j&248|0)==240?4:0;switch(g&7){case 1:{l=4;break a}case 2:break b;case 3:{g=f[c>>2]|0;if((g|0)==(e|0)){e=1;break a}c=e+1|0;f[a>>2]=c;if((c|0)==(g|0)){e=1;break a}h=b[c>>0]|0;if((h&-64)<<24>>24!=-128){e=3;break a}e=e+2|0;f[a>>2]=e;if((e|0)==(g|0)){e=1;break a}c=b[e>>0]|0;if((c&-64)<<24>>24==-128){c=(h&255)<<6&4032|j<<12&61440|c&63;g=3;l=20;break a}else{e=3;break a}}case 4:{h=f[c>>2]|0;if((h|0)==(e|0)){e=1;break a}c=e+1|0;f[a>>2]=c;if((c|0)==(h|0)){e=1;break a}i=b[c>>0]|0;if((i&-64)<<24>>24!=-128){e=3;break a}c=e+2|0;f[a>>2]=c;if((c|0)==(h|0)){e=1;break a}g=b[c>>0]|0;if((g&-64)<<24>>24!=-128){e=3;break a}e=e+3|0;f[a>>2]=e;if((e|0)==(h|0)){e=1;break a}c=b[e>>0]|0;if((c&-64)<<24>>24==-128){c=(i&255)<<12&258048|j<<18&1835008|(g&255)<<6&4032|c&63;g=4;l=20;break a}else{e=3;break a}}case 0:{l=2;return l|0}default:{c=0;l=20;break a}}}while(0);c=f[c>>2]|0;if((c|0)==(e|0))e=1;else{h=e+1|0;f[a>>2]=h;if((h|0)==(c|0))e=1;else{e=b[h>>0]|0;if((e&-64)<<24>>24==-128){c=j<<6&1984|e&63;g=2;e=h;l=20}else e=3}}}while(0);if((l|0)==4)if((f[c>>2]|0)==(e|0))e=1;else{c=j;g=1;l=20}c:do if((l|0)==20)if(c>>>0<1114112&(c&-2048|0)!=55296){do if(c>>>0<128){if((g|0)!=1){e=4;break c}}else if(c>>>0<2048)if((g|0)==2)break;else{e=4;break c}else if((g|0)!=3&c>>>0<65536){e=4;break c}else break;while(0);f[d>>2]=c;f[a>>2]=e+1;l=0;return l|0}else e=5;while(0);f[a>>2]=k;l=e;return l|0}function go(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=0;k=f[a>>2]|0;e=k;i=b[e>>0]|0;j=i&255;a:do if(i<<24>>24>-1)l=4;else{b:do if((j&224|0)!=192){g=(j&240|0)==224?3:(j&248|0)==240?4:0;switch(g&7){case 1:{l=4;break a}case 2:break b;case 3:{g=f[c>>2]|0;if((g|0)==(e|0)){e=1;break a}c=e+1|0;f[a>>2]=c;if((c|0)==(g|0)){e=1;break a}h=b[c>>0]|0;if((h&-64)<<24>>24!=-128){e=3;break a}e=e+2|0;f[a>>2]=e;if((e|0)==(g|0)){e=1;break a}c=b[e>>0]|0;if((c&-64)<<24>>24==-128){c=(h&255)<<6&4032|j<<12&61440|c&63;g=3;l=20;break a}else{e=3;break a}}case 4:{h=f[c>>2]|0;if((h|0)==(e|0)){e=1;break a}c=e+1|0;f[a>>2]=c;if((c|0)==(h|0)){e=1;break a}i=b[c>>0]|0;if((i&-64)<<24>>24!=-128){e=3;break a}c=e+2|0;f[a>>2]=c;if((c|0)==(h|0)){e=1;break a}g=b[c>>0]|0;if((g&-64)<<24>>24!=-128){e=3;break a}e=e+3|0;f[a>>2]=e;if((e|0)==(h|0)){e=1;break a}c=b[e>>0]|0;if((c&-64)<<24>>24==-128){c=(i&255)<<12&258048|j<<18&1835008|(g&255)<<6&4032|c&63;g=4;l=20;break a}else{e=3;break a}}case 0:{l=2;return l|0}default:{c=0;l=20;break a}}}while(0);c=f[c>>2]|0;if((c|0)==(e|0))e=1;else{h=e+1|0;f[a>>2]=h;if((h|0)==(c|0))e=1;else{e=b[h>>0]|0;if((e&-64)<<24>>24==-128){c=j<<6&1984|e&63;g=2;e=h;l=20}else e=3}}}while(0);if((l|0)==4)if((f[c>>2]|0)==(e|0))e=1;else{c=j;g=1;l=20}c:do if((l|0)==20)if(c>>>0<1114112&(c&-2048|0)!=55296){do if(c>>>0<128){if((g|0)!=1){e=4;break c}}else if(c>>>0<2048)if((g|0)==2)break;else{e=4;break c}else if((g|0)!=3&c>>>0<65536){e=4;break c}else break;while(0);f[d>>2]=c;f[a>>2]=e+1;l=0;return l|0}else e=5;while(0);f[a>>2]=k;l=e;return l|0}function ho(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=u;u=u+48|0;e=l+24|0;m=l+32|0;h=l+16|0;i=l+8|0;k=l;if(b[c+76>>0]|0){qV(e,f[c+64>>2]|0);f[e>>2]=7696;m=f[e+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(e);jb(m|0)}else{_P(e);u=l;return}}j=a+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=m+11|0;b[g>>0]=1;b[m>>0]=40;b[m+1>>0]=0;x=0;Ga(682,j|0,m|0);e=x;x=0;if(e&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[m>>2]|0);m=e;jb(m|0)}if((b[g>>0]|0)<0)Hta(f[m>>2]|0);qV(h,f[c+64>>2]|0);f[h>>2]=7696;g=f[h+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+44>>2]|0,g|0,a|0);g=x;x=0;if(g&1){m=Ya()|0;_P(h);jb(m|0)}_P(h);e=c+72|0;qV(i,f[e>>2]|0);f[i>>2]=7696;h=(f[i+4>>2]|0)==0;_P(i);do if(!h){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;c=m+11|0;b[c>>0]=2;d[m>>1]=8250;b[m+2>>0]=0;x=0;Ga(682,j|0,m|0);i=x;x=0;if(i&1){e=Ya()|0;if((b[c>>0]|0)<0)Hta(f[m>>2]|0);m=e;jb(m|0)}if((b[c>>0]|0)<0)Hta(f[m>>2]|0);qV(k,f[e>>2]|0);f[k>>2]=7696;i=f[k+4>>2]|0;x=0;Ga(f[(f[i>>2]|0)+44>>2]|0,i|0,a|0);a=x;x=0;if(!(a&1)){_P(k);break}m=Ya()|0;_P(k);jb(m|0)}while(0);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;c=m+11|0;b[c>>0]=1;b[m>>0]=41;b[m+1>>0]=0;x=0;Ga(682,j|0,m|0);k=x;x=0;if(k&1){e=Ya()|0;if((b[c>>0]|0)<0)Hta(f[m>>2]|0);m=e;jb(m|0)}else{if((b[c>>0]|0)<0)Hta(f[m>>2]|0);u=l;return}}function io(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j;h=a+28|0;d=f[h>>2]|0;if(!d){u=j;return 1}i=(c|0)==0;if(i)e=20;else{d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[235]|0)==(d|0)){is(a,0,c);d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0}if((f[139]|0)==(d|0)){d=c+72|0;e=b[d+11>>0]|0;if(((e<<24>>24<0?f[d+4>>2]|0:e&255)|0)==7){x=0;d=wa(21,d|0,0,-1,50050,7)|0;e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}if(!d)Dr(a,f[h>>2]|0,c)}}d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[211]|0)==(d|0)){ar(a,f[h>>2]|0,c);d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0}e=f[215]|0;if((e|0)==(d|0))if(!(f[c+96>>2]|0)){ap(a,0,c);d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0}if((e|0)==(d|0))if((f[c+96>>2]|0)==1)bp(a,0,c);d=f[h>>2]|0;if(!d)e=24;else e=20}if((e|0)==20){if((f[215]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))if((f[d+96>>2]|0)==1)rq(a,c);if(!i)e=24}do if((e|0)==24)if((f[153]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){qp(a,f[h>>2]|0,c);qV(g,f[c+84>>2]|0);f[g>>2]=7696;x=0;Ga(693,a|0,f[g+4>>2]|0);e=x;x=0;if(e&1){j=Ya()|0;_P(g);jb(j|0)}else{_P(g);break}}while(0);d=f[h>>2]|0;if(d|0)if((f[153]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))Qq(a,c);if(i){u=j;return 1}if((f[207]|0)!=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){u=j;return 1}Or(a,f[h>>2]|0,c);u=j;return 1}function jo(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;j=a+4|0;c=f[a>>2]|0;e=(f[j>>2]|0)-c>>4;d=e+1|0;if(d>>>0>268435455)EO(a);k=a+8|0;l=(f[k>>2]|0)-c|0;m=l>>3;d=l>>4>>>0<134217727?(m>>>0>>0?d:m):268435455;do if(!d){l=0;m=0}else{if(d>>>0<=268435455){m=VN(d<<4)|0;l=m;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=l+(e<<4)|0;c=g;i=l+(d<<4)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);h=x;x=0;a:do if(h&1){e=Ya()|0;d=c}else{f[g>>2]=15556;d=l+(e<<4)+8|0;x=0;Ga(462,d|0,f[b+12>>2]|0);h=x;x=0;if(h&1){e=Ya()|0;_P(g);d=c;break}f[d>>2]=15572;d=g+16|0;h=f[a>>2]|0;e=f[j>>2]|0;do if((e|0)==(h|0)){e=c;g=h;c=h}else{while(1){b=g+-16|0;x=0;Ga(462,b|0,f[e+-12>>2]|0);n=x;x=0;if(n&1){h=24;break}f[b>>2]=15556;g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);n=x;x=0;if(n&1){h=16;break}e=e+-16|0;f[g>>2]=15572;g=c+-16|0;c=g;if((e|0)==(h|0)){h=18;break}}if((h|0)==16){e=Ya()|0;_P(b);break a}else if((h|0)==18){e=c;g=f[a>>2]|0;c=f[j>>2]|0;break}else if((h|0)==24){e=Ya()|0;break a}}while(0);f[a>>2]=e;f[j>>2]=d;f[k>>2]=i;d=g;if((c|0)!=(d|0))do{_P(c+-8|0);c=c+-16|0;_P(c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);if((d|0)!=(c|0))do{_P(d+-8|0);d=d+-16|0;_P(d)}while((d|0)!=(c|0));if(!l)jb(e|0);Hta(m);jb(e|0)}function ko(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;o=u;u=u+272|0;m=o+8|0;n=o;do if(!(b[c>>0]|0)){c=Qb(56814)|0;if(c|0)if(b[c>>0]|0)break;c=Qb(56821+(a*12|0)|0)|0;if(c|0)if(b[c>>0]|0)break;c=Qb(56893)|0;if(c|0)if(b[c>>0]|0)break;c=56898}while(0);d=0;a:do{switch(b[c+d>>0]|0){case 47:case 0:break a;default:{}}d=d+1|0}while(d>>>0<15);e=b[c>>0]|0;if(e<<24>>24==46){c=56898;l=15}else if(!(b[c+d>>0]|0))if(e<<24>>24==67)l=15;else{k=c;l=16}else{c=56898;l=15}if((l|0)==15)if(!(b[c+1>>0]|0))l=18;else{k=c;l=16}b:do if((l|0)==16)if(!(iO(k,56898)|0)){c=k;l=18}else if(!(iO(k,56906)|0)){c=k;l=18}else{c=f[20561]|0;if(c|0)do{if(!(iO(k,c+8|0)|0))break b;c=f[c+24>>2]|0}while((c|0)!=0);hb(82248);c=f[20561]|0;c:do if(c|0){while(1){if(!(iO(k,c+8|0)|0))break;c=f[c+24>>2]|0;if(!c)break c}xb(82248);break b}while(0);d:do if(!(f[20539]|0)){c=Qb(56912)|0;if(!c)l=41;else if(!(b[c>>0]|0))l=41;else{i=254-d|0;j=d+1|0;while(1){h=PE(c,58)|0;e=b[h>>0]|0;g=h-c+((e<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){Lu(m|0,c|0,g|0)|0;e=m+g|0;b[e>>0]=47;Lu(e+1|0,k|0,d|0)|0;b[m+(j+g)>>0]=0;e=ib(m|0,n|0)|0;if(e|0)break;c=b[h>>0]|0}else c=e;c=h+(c<<24>>24!=0&1)|0;if(!(b[c>>0]|0)){l=41;break d}}c=Rd(28)|0;if(!c){ET(e,f[n>>2]|0)|0;l=41;break}else{f[c>>2]=e;f[c+4>>2]=f[n>>2];n=c+8|0;Lu(n|0,k|0,d|0)|0;b[n+d>>0]=0;f[c+24>>2]=f[20561];f[20561]=c;break}}}else l=41;while(0);if((l|0)==41){c=Rd(28)|0;if(c){f[c>>2]=f[5345];f[c+4>>2]=f[5346];n=c+8|0;Lu(n|0,k|0,d|0)|0;b[n+d>>0]=0;f[c+24>>2]=f[20561];f[20561]=c}}xb(82248);c=(a|0)==0&(c|0)==0?21380:c}while(0);do if((l|0)==18){if(!a)if((b[c+1>>0]|0)==46){c=21380;break}c=0}while(0);u=o;return c|0}function lo(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;j=a+4|0;c=f[a>>2]|0;e=(f[j>>2]|0)-c>>4;d=e+1|0;if(d>>>0>268435455)EO(a);k=a+8|0;l=(f[k>>2]|0)-c|0;m=l>>3;d=l>>4>>>0<134217727?(m>>>0>>0?d:m):268435455;do if(!d){l=0;m=0}else{if(d>>>0<=268435455){m=VN(d<<4)|0;l=m;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);g=l+(e<<4)|0;c=g;i=l+(d<<4)|0;x=0;Ga(462,g|0,f[b+4>>2]|0);h=x;x=0;a:do if(h&1){e=Ya()|0;d=c}else{f[g>>2]=15572;d=l+(e<<4)+8|0;x=0;Ga(462,d|0,f[b+12>>2]|0);h=x;x=0;if(h&1){e=Ya()|0;_P(g);d=c;break}f[d>>2]=15556;d=g+16|0;h=f[a>>2]|0;e=f[j>>2]|0;do if((e|0)==(h|0)){e=c;g=h;c=h}else{while(1){b=g+-16|0;x=0;Ga(462,b|0,f[e+-12>>2]|0);n=x;x=0;if(n&1){h=24;break}f[b>>2]=15572;g=g+-8|0;x=0;Ga(462,g|0,f[e+-4>>2]|0);n=x;x=0;if(n&1){h=16;break}e=e+-16|0;f[g>>2]=15556;g=c+-16|0;c=g;if((e|0)==(h|0)){h=18;break}}if((h|0)==16){e=Ya()|0;_P(b);break a}else if((h|0)==18){e=c;g=f[a>>2]|0;c=f[j>>2]|0;break}else if((h|0)==24){e=Ya()|0;break a}}while(0);f[a>>2]=e;f[j>>2]=d;f[k>>2]=i;d=g;if((c|0)!=(d|0))do{_P(c+-8|0);c=c+-16|0;_P(c)}while((c|0)!=(d|0));if(!g)return;Hta(g);return}while(0);if((d|0)!=(c|0))do{_P(d+-8|0);d=d+-16|0;_P(d)}while((d|0)!=(c|0));if(!l)jb(e|0);Hta(m);jb(e|0)}function mo(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;a=f[b>>2]|0;do if(!a)h=1;else{g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mra(f[g>>2]|0)|0;if(vja(a,Jta()|0)|0){f[b>>2]=0;h=1;break}else{h=(f[b>>2]|0)==0;break}}while(0);g=f[c>>2]|0;do if(!g)j=14;else{a=f[g+12>>2]|0;if((a|0)==(f[g+16>>2]|0))a=vc[f[(f[g>>2]|0)+36>>2]&511](g)|0;else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;j=14;break}else if(h){i=g;j=16;break}else{a=6;j=38;break}}while(0);if((j|0)==14)if(h){a=6;j=38}else{i=0;j=16}a:do if((j|0)==16){a=f[b>>2]|0;g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mra(f[g>>2]|0)|0;if((yc[f[(f[e>>2]|0)+52>>2]&255](e,a,0)|0)<<24>>24==37){a=f[b>>2]|0;g=a+12|0;h=f[g>>2]|0;if((h|0)==(f[a+16>>2]|0))vc[f[(f[a>>2]|0)+40>>2]&511](a)|0;else{f[g>>2]=h+4;mra(f[h>>2]|0)|0}a=f[b>>2]|0;do if(!a)g=1;else{g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mra(f[g>>2]|0)|0;if(vja(a,Jta()|0)|0){f[b>>2]=0;g=1;break}else{g=(f[b>>2]|0)==0;break}}while(0);do if(i|0){a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0))a=vc[f[(f[i>>2]|0)+36>>2]&511](i)|0;else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;break}else if(g)break a;else{a=2;j=38;break a}}while(0);if(g){a=2;j=38}}else{a=4;j=38}}while(0);if((j|0)==38)f[d>>2]=f[d>>2]|a;return}function no(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;a=f[c>>2]|0;do if(!a)i=1;else{h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mqa(b[h>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;i=1;break}else{i=(f[c>>2]|0)==0;break}}while(0);h=f[d>>2]|0;do if(!h)k=14;else{a=f[h+12>>2]|0;if((a|0)==(f[h+16>>2]|0))a=vc[f[(f[h>>2]|0)+36>>2]&511](h)|0;else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;k=14;break}else if(i){j=h;k=16;break}else{a=6;k=38;break}}while(0);if((k|0)==14)if(i){a=6;k=38}else{j=0;k=16}a:do if((k|0)==16){a=f[c>>2]|0;h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mqa(b[h>>0]|0)|0;if((yc[f[(f[g>>2]|0)+36>>2]&255](g,a&255,0)|0)<<24>>24==37){a=f[c>>2]|0;h=a+12|0;i=f[h>>2]|0;if((i|0)==(f[a+16>>2]|0))vc[f[(f[a>>2]|0)+40>>2]&511](a)|0;else{f[h>>2]=i+1;mqa(b[i>>0]|0)|0}a=f[c>>2]|0;do if(!a)h=1;else{h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mqa(b[h>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;h=1;break}else{h=(f[c>>2]|0)==0;break}}while(0);do if(j|0){a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0))a=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;break}else if(h)break a;else{a=2;k=38;break a}}while(0);if(h){a=2;k=38}}else{a=4;k=38}}while(0);if((k|0)==38)f[e>>2]=f[e>>2]|a;return}function oo(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;k=0;j=h+8|0;a:while(1){a=f[c>>2]|0;do if(!a)i=1;else{h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mqa(b[h>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;i=1;break}else{i=(f[c>>2]|0)==0;break}}while(0);h=f[e>>2]|0;do if(!h)k=15;else{a=f[h+12>>2]|0;if((a|0)==(f[h+16>>2]|0))a=vc[f[(f[h>>2]|0)+36>>2]&511](h)|0;else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[e>>2]=0;k=15;break}else if(i){i=h;break}else{i=h;break a}}while(0);if((k|0)==15){k=0;if(i){i=0;break}else i=0}a=f[c>>2]|0;h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mqa(b[h>>0]|0)|0;if((a&255)<<24>>24<=-1)break;if(!(d[(f[j>>2]|0)+(a<<24>>24<<1)>>1]&8192))break;a=f[c>>2]|0;h=a+12|0;i=f[h>>2]|0;if((i|0)==(f[a+16>>2]|0)){vc[f[(f[a>>2]|0)+40>>2]&511](a)|0;continue}else{f[h>>2]=i+1;mqa(b[i>>0]|0)|0;continue}}a=f[c>>2]|0;do if(!a)h=1;else{h=f[a+12>>2]|0;if((h|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mqa(b[h>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;h=1;break}else{h=(f[c>>2]|0)==0;break}}while(0);do if(!i)k=38;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0))a=vc[f[(f[i>>2]|0)+36>>2]&511](i)|0;else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[e>>2]=0;k=38;break}else if(h)break;else{k=40;break}}while(0);if((k|0)==38)if(h)k=40;if((k|0)==40)f[g>>2]=f[g>>2]|2;return}function po(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=0;j=u;u=u+64|0;k=j+24|0;n=j+12|0;m=j;c=(Dv(c,a)|0)+4|0;c=f[c>>2]|0;if(c|0)if((f[323]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){o=c;u=j;return o|0}l=n+11|0;b[l>>0]=10;c=n;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[n+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,n|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)o=17;else{x=0;sa(991,n|0,39013)|0;a=x;x=0;if(a&1)o=17;else{x=0;sa(991,n|0,d|0)|0;d=x;x=0;if(d&1)o=17;else{x=0;sa(991,n|0,39020)|0;d=x;x=0;if(d&1)o=17;else{f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=k+11|0;b[h>>0]=4;f[k>>2]=1819242338;b[k+4>>0]=0;x=0;ta(41,n|0,k|0,4)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[k>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[k>>2]|0);x=0;Ga(459,m|0,n|0);d=x;x=0;if(d&1)o=17;else{x=0;c=k;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,k|0,g|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[l>>0]|0)<0)Hta(f[n>>2]|0);o=0;u=j;return o|0}}}}}while(0);if((o|0)==17)c=Ya()|0;if((b[l>>0]|0)>=0)jb(c|0);Hta(f[n>>2]|0);jb(c|0);return 0}function qo(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+96|0;s=v;r=v+56|0;w=v+40|0;o=g/100.0;n=o*2.0+-1.0;j=d+88|0;k=e+88|0;h=+p[j>>3]-+p[k>>3];g=n*h;g=((g==-1.0?n:(n+h)/(g+1.0))+1.0)*.5;h=1.0-g;t=VN(112)|0;q=r;l=q+40|0;do{f[q>>2]=f[c>>2];q=q+4|0;c=c+4|0}while((q|0)<(l|0));c=a+16|0;x=0;m=+fa(1,+(+p[d+64>>3]*g+ +p[e+64>>3]*h),f[(f[c>>2]|0)+4>>2]|0);q=x;x=0;if(!(q&1)){x=0;n=+fa(1,+(g*+p[d+72>>3]+h*+p[e+72>>3]),f[(f[c>>2]|0)+4>>2]|0);q=x;x=0;if(!(q&1)){x=0;i=+fa(1,+(g*+p[d+80>>3]+h*+p[e+80>>3]),f[(f[c>>2]|0)+4>>2]|0);q=x;x=0;if(!(q&1)){h=+p[j>>3];g=+p[k>>3];a=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;q=s;c=r;l=q+40|0;do{f[q>>2]=f[c>>2];q=q+4|0;c=c+4|0}while((q|0)<(l|0));x=0;Fa(427,t|0);r=x;x=0;if(r&1){w=Ya()|0;Hta(t);jb(w|0)}g=o*h+(1.0-o)*g;q=t+12|0;c=s;l=q+40|0;do{f[q>>2]=f[c>>2];q=q+4|0;c=c+4|0}while((q|0)<(l|0));b[t+52>>0]=0;b[t+53>>0]=0;b[t+54>>0]=0;c=t+56|0;f[c>>2]=0;f[t>>2]=11116;p[t+64>>3]=m;p[t+72>>3]=n;p[t+80>>3]=i;p[t+88>>3]=g;x=0;Ga(459,t+96|0,w|0);s=x;x=0;if(s&1){c=Ya()|0;if((b[a>>0]|0)>=0){w=c;Hta(t);jb(w|0)}Hta(f[w>>2]|0);w=c;Hta(t);jb(w|0)}else{f[t+108>>2]=0;f[c>>2]=3;if((b[a>>0]|0)>=0){u=v;return t|0}Hta(f[w>>2]|0);u=v;return t|0}}}}w=Ya()|0;Hta(t);jb(w|0);return 0}function ro(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;m=0;n=u;u=u+16|0;h=n+12|0;j=n+8|0;l=n;x=0;Ga(535,l|0,a|0);k=x;x=0;a:do if(k&1){d=Za(0)|0;e=a;g=a;m=20}else{b:do if(b[l>>0]|0){kha(h,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);x=0;i=sa(994,h|0,83376)|0;k=x;x=0;c:do if(k&1){d=Za(0)|0;uga(h)}else{uga(h);e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;k=f[e+24>>2]|0;d=Kta()|0;g=e+76|0;do if(wja(d,f[g>>2]|0)|0){kha(h,e);x=0;d=sa(994,h|0,83320)|0;o=x;x=0;if(!(o&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,32)|0;o=x;x=0;if(!(o&1)){uga(h);d=d<<24>>24;f[g>>2]=d;m=10;break}}d=Za(0)|0;uga(h)}else{d=f[g>>2]|0;m=10}while(0);do if((m|0)==10){o=f[(f[i>>2]|0)+24>>2]|0;f[j>>2]=k;x=0;f[h>>2]=f[j>>2];d=wa(o|0,i|0,h|0,e|0,d&255|0,c|0)|0;o=x;x=0;if(o&1){d=Za(0)|0;break}if(d|0)break b;o=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,o|0,f[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break b;d=Za(0)|0;break c}while(0)}while(0);XB(l);e=a;g=a;m=20;break a}while(0);XB(l)}while(0);do if((m|0)==20){Ua(d|0)|0;x=0;Fa(439,g+(f[(f[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){Wa();break}d=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(d|0)}while(0);u=n;return a|0}function so(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;m=0;n=u;u=u+16|0;h=n+12|0;j=n+8|0;l=n;x=0;Ga(535,l|0,a|0);k=x;x=0;a:do if(k&1){d=Za(0)|0;e=a;g=a;m=20}else{b:do if(b[l>>0]|0){kha(h,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);x=0;i=sa(994,h|0,83376)|0;k=x;x=0;c:do if(k&1){d=Za(0)|0;uga(h)}else{uga(h);e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;k=f[e+24>>2]|0;d=Kta()|0;g=e+76|0;do if(wja(d,f[g>>2]|0)|0){kha(h,e);x=0;d=sa(994,h|0,83320)|0;o=x;x=0;if(!(o&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,32)|0;o=x;x=0;if(!(o&1)){uga(h);d=d<<24>>24;f[g>>2]=d;m=10;break}}d=Za(0)|0;uga(h)}else{d=f[g>>2]|0;m=10}while(0);do if((m|0)==10){o=f[(f[i>>2]|0)+24>>2]|0;f[j>>2]=k;x=0;f[h>>2]=f[j>>2];d=wa(o|0,i|0,h|0,e|0,d&255|0,c|0)|0;o=x;x=0;if(o&1){d=Za(0)|0;break}if(d|0)break b;o=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,o|0,f[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break b;d=Za(0)|0;break c}while(0)}while(0);XB(l);e=a;g=a;m=20;break a}while(0);XB(l)}while(0);do if((m|0)==20){Ua(d|0)|0;x=0;Fa(439,g+(f[(f[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){Wa();break}d=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(d|0)}while(0);u=n;return a|0}function to(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;m=0;n=u;u=u+16|0;h=n+12|0;j=n+8|0;l=n;x=0;Ga(535,l|0,a|0);k=x;x=0;a:do if(k&1){d=Za(0)|0;e=a;g=a;m=20}else{b:do if(b[l>>0]|0){kha(h,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);x=0;i=sa(994,h|0,83376)|0;k=x;x=0;c:do if(k&1){d=Za(0)|0;uga(h)}else{uga(h);e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;k=f[e+24>>2]|0;d=Kta()|0;g=e+76|0;do if(wja(d,f[g>>2]|0)|0){kha(h,e);x=0;d=sa(994,h|0,83320)|0;o=x;x=0;if(!(o&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,32)|0;o=x;x=0;if(!(o&1)){uga(h);d=d<<24>>24;f[g>>2]=d;m=10;break}}d=Za(0)|0;uga(h)}else{d=f[g>>2]|0;m=10}while(0);do if((m|0)==10){o=f[(f[i>>2]|0)+16>>2]|0;f[j>>2]=k;x=0;f[h>>2]=f[j>>2];d=wa(o|0,i|0,h|0,e|0,d&255|0,c|0)|0;o=x;x=0;if(o&1){d=Za(0)|0;break}if(d|0)break b;o=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,o|0,f[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break b;d=Za(0)|0;break c}while(0)}while(0);XB(l);e=a;g=a;m=20;break a}while(0);XB(l)}while(0);do if((m|0)==20){Ua(d|0)|0;x=0;Fa(439,g+(f[(f[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){Wa();break}d=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(d|0)}while(0);u=n;return a|0}function uo(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;m=0;f[e>>2]=a;f[i>>2]=g;if(!(l&2))m=4;else if((h-g|0)<3)a=1;else{f[i>>2]=g+1;b[g>>0]=-17;m=f[i>>2]|0;f[i>>2]=m+1;b[m>>0]=-69;m=f[i>>2]|0;f[i>>2]=m+1;b[m>>0]=-65;m=4}a:do if((m|0)==4){n=c;a=f[e>>2]|0;while(1){if(a>>>0>=c>>>0){a=0;break a}g=d[a>>1]|0;m=g&65535;if(m>>>0>k>>>0){a=2;break a}do if((g&65535)<128){a=f[i>>2]|0;if((h-a|0)<1){a=1;break a}f[i>>2]=a+1;b[a>>0]=g}else{if((g&65535)<2048){a=f[i>>2]|0;if((h-a|0)<2){a=1;break a}f[i>>2]=a+1;b[a>>0]=m>>>6|192;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m&63|128;break}if((g&65535)<55296){a=f[i>>2]|0;if((h-a|0)<3){a=1;break a}f[i>>2]=a+1;b[a>>0]=m>>>12|224;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m>>>6&63|128;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m&63|128;break}if((g&65535)>=56320){if((g&65535)<57344){a=2;break a}a=f[i>>2]|0;if((h-a|0)<3){a=1;break a}f[i>>2]=a+1;b[a>>0]=m>>>12|224;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m>>>6&63|128;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m&63|128;break}if((n-a|0)<4){a=1;break a}a=a+2|0;g=j[a>>1]|0;if((g&64512|0)!=56320){a=2;break a}if((h-(f[i>>2]|0)|0)<4){a=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|g&1023)>>>0>k>>>0){a=2;break a}f[e>>2]=a;a=(l>>>6)+1|0;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=a>>>2|240;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m>>>2&15|a<<4&48|128;l=f[i>>2]|0;f[i>>2]=l+1;b[l>>0]=m<<4&48|g>>>6&15|128;m=f[i>>2]|0;f[i>>2]=m+1;b[m>>0]=g&63|128}while(0);a=(f[e>>2]|0)+2|0;f[e>>2]=a}}while(0);return a|0}function vo(a,c){a=a|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0;n=u;u=u+16|0;h=n+12|0;j=n+8|0;l=n;x=0;Ga(535,l|0,a|0);k=x;x=0;a:do if(k&1){d=Za(0)|0;e=a;g=a;m=20}else{b:do if(b[l>>0]|0){kha(h,a+(f[(f[a>>2]|0)+-12>>2]|0)|0);x=0;i=sa(994,h|0,83376)|0;k=x;x=0;c:do if(k&1){d=Za(0)|0;uga(h)}else{uga(h);e=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;k=f[e+24>>2]|0;d=Kta()|0;g=e+76|0;do if(wja(d,f[g>>2]|0)|0){kha(h,e);x=0;d=sa(994,h|0,83320)|0;o=x;x=0;if(!(o&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,32)|0;o=x;x=0;if(!(o&1)){uga(h);d=d<<24>>24;f[g>>2]=d;m=10;break}}d=Za(0)|0;uga(h)}else{d=f[g>>2]|0;m=10}while(0);do if((m|0)==10){o=f[(f[i>>2]|0)+32>>2]|0;f[j>>2]=k;x=0;f[h>>2]=f[j>>2];d=va(o|0,i|0,h|0,e|0,d&255|0,+c)|0;o=x;x=0;if(o&1){d=Za(0)|0;break}if(d|0)break b;o=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,o|0,f[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break b;d=Za(0)|0;break c}while(0)}while(0);XB(l);e=a;g=a;m=20;break a}while(0);XB(l)}while(0);do if((m|0)==20){Ua(d|0)|0;x=0;Fa(439,g+(f[(f[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){Wa();break}d=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(d|0)}while(0);u=n;return a|0}function wo(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;o=0;p=u;u=u+16|0;m=p+8|0;n=p;a:do if(Xp(a,c)|0){g=a+84|0;h=c+84|0;e=b[g+11>>0]|0;l=e<<24>>24<0;e=e&255;i=l?f[a+88>>2]|0:e;k=b[h+11>>0]|0;d=k<<24>>24<0;if((i|0)==((d?f[c+88>>2]|0:k&255)|0)){j=f[g>>2]|0;k=l?j:g;d=d?f[h>>2]|0:h;h=(i|0)==0;b:do if(l){if(!h)if(lO(k,d,i)|0)break a}else if(!h){if((b[d>>0]|0)!=(j&255)<<24>>24)break a;while(1){e=e+-1|0;g=g+1|0;if(!e)break b;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0))break a}}while(0);qV(m,f[a+108>>2]|0);f[m>>2]=7168;d=f[m+4>>2]|0;e=f[(f[d>>2]|0)+160>>2]|0;x=0;Ga(462,n|0,f[c+108>>2]|0);o=x;x=0;if(o&1){p=Ya()|0;_P(m);jb(p|0)}f[n>>2]=7168;x=0;d=sa(e|0,d|0,f[n+4>>2]|0)|0;o=x;x=0;if(o&1){p=Ya()|0;_P(n);_P(m);jb(p|0)}else{_P(n);_P(m);o=d;u=p;return o|0}}}while(0);if(Xp(a,c)|0){i=a+84|0;j=c+84|0;l=b[j+11>>0]|0;k=l<<24>>24<0;l=k?f[c+88>>2]|0:l&255;g=b[i+11>>0]|0;e=g<<24>>24<0;g=e?f[a+88>>2]|0:g&255;h=l>>>0>>0;d=h?l:g;if(!d)o=19;else{d=lO(e?f[i>>2]|0:i,k?f[j>>2]|0:j,d)|0;if(!d)o=19}if((o|0)==19)d=g>>>0>>0?-1:h&1;o=(d|0)<0;u=p;return o|0}else{i=a+72|0;j=c+72|0;l=b[j+11>>0]|0;k=l<<24>>24<0;l=k?f[c+76>>2]|0:l&255;e=b[i+11>>0]|0;h=e<<24>>24<0;e=h?f[a+76>>2]|0:e&255;g=l>>>0>>0;d=g?l:e;if(!d)o=23;else{d=lO(h?f[i>>2]|0:i,k?f[j>>2]|0:j,d)|0;if(!d)o=23}if((o|0)==23)d=e>>>0>>0?-1:g&1;o=(d|0)<0;u=p;return o|0}return 0}function xo(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;i=0;a:while(1){a=f[b>>2]|0;do if(!a)h=1;else{g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mra(f[g>>2]|0)|0;if(vja(a,Jta()|0)|0){f[b>>2]=0;h=1;break}else{h=(f[b>>2]|0)==0;break}}while(0);g=f[c>>2]|0;do if(!g)i=15;else{a=f[g+12>>2]|0;if((a|0)==(f[g+16>>2]|0))a=vc[f[(f[g>>2]|0)+36>>2]&511](g)|0;else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;i=15;break}else if(h){h=g;break}else{h=g;break a}}while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=f[b>>2]|0;g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mra(f[g>>2]|0)|0;if(!(yc[f[(f[e>>2]|0)+12>>2]&255](e,8192,a)|0))break;a=f[b>>2]|0;g=a+12|0;h=f[g>>2]|0;if((h|0)==(f[a+16>>2]|0)){vc[f[(f[a>>2]|0)+40>>2]&511](a)|0;continue}else{f[g>>2]=h+4;mra(f[h>>2]|0)|0;continue}}a=f[b>>2]|0;do if(!a)g=1;else{g=f[a+12>>2]|0;if((g|0)==(f[a+16>>2]|0))a=vc[f[(f[a>>2]|0)+36>>2]&511](a)|0;else a=mra(f[g>>2]|0)|0;if(vja(a,Jta()|0)|0){f[b>>2]=0;g=1;break}else{g=(f[b>>2]|0)==0;break}}while(0);do if(!h)i=37;else{a=f[h+12>>2]|0;if((a|0)==(f[h+16>>2]|0))a=vc[f[(f[h>>2]|0)+36>>2]&511](h)|0;else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;i=37;break}else if(g)break;else{i=39;break}}while(0);if((i|0)==37)if(g)i=39;if((i|0)==39)f[d>>2]=f[d>>2]|2;return}function yo(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=0;h=u;u=u+16|0;d=h;e=YP(1,128)|0;if(!e){c=sp(82616,50912,40)|0;kha(d,c+(f[(f[c>>2]|0)+-12>>2]|0)|0);x=0;a=sa(994,d|0,83320)|0;g=x;x=0;if(g&1){h=Ya()|0;uga(d);jb(h|0)}x=0;a=sa(f[(f[a>>2]|0)+28>>2]|0,a|0,10)|0;g=x;x=0;if(g&1){h=Ya()|0;uga(d);jb(h|0)}uga(d);Yr(c,a)|0;Pv(c)|0;g=0;u=h;return g|0}f[e+80>>2]=1;f[e+4>>2]=5;f[e+12>>2]=50909;f[e+16>>2]=51444;do if(!a){a=Ta(8)|0;x=0;Ga(496,a|0,50953);d=x;x=0;if(d&1){d=Za(0)|0;bb(a|0);a=d;break}else{x=0;Ia(77,a|0,6176,414);x=0;c=10;break}}else if(!(b[a>>0]|0)){a=Ta(8)|0;x=0;Ga(496,a|0,50996);d=x;x=0;if(d&1){d=Za(0)|0;bb(a|0);a=d;break}else{x=0;Ia(77,a|0,6176,414);x=0;c=10;break}}else{x=0;a=qa(325,a|0)|0;d=x;x=0;if(d&1){c=10;break}f[e+28>>2]=a;g=e;u=h;return g|0}while(0);if((c|0)==10)a=Za(0)|0;Ua(a|0)|0;x=0;qa(402,e|0)|0;d=x;x=0;do if(d&1){d=Za(0)|0;Ua(d|0)|0;x=0;qa(402,e|0)|0;d=x;x=0;if(d&1){a=Ya()|0;x=0;Ea(4);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}else g=a}else{x=0;Ea(4);g=x;x=0;if(!(g&1))break;g=Ya()|0}x=0;Ea(4);d=x;x=0;if(d&1){g=Za(0)|0;soa(g)}else jb(g|0)}while(0);Wa();g=e;u=h;return g|0}function zo(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;a:do if(a|0){d=b[52194]|0;b:do if(!(d<<24>>24)){c=a;f=5}else{c=a;e=52194;while(1){if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=5;break}}}while(0);if((f|0)==5){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[52125]|0;c:do if(!(d<<24>>24)){c=a;f=9}else{c=a;e=52125;while(1){if((b[c>>0]|0)!=d<<24>>24)break c;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=9;break}}}while(0);if((f|0)==9){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[52119]|0;d:do if(!(d<<24>>24)){c=a;f=13}else{c=a;e=52119;while(1){if((b[c>>0]|0)!=d<<24>>24)break d;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=13;break}}}while(0);if((f|0)==13){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[36283]|0;if(!(d<<24>>24))c=a;else{c=a;e=36283;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){a=c;return a|0}}while(0);a=yp(a)|0;return a|0}function Ao(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=u;u=u+48|0;m=l+24|0;h=l+16|0;i=l+8|0;j=l;k=a+4|0;e=m+4|0;f[e>>2]=0;f[e+4>>2]=0;e=m+11|0;b[e>>0]=3;b[m>>0]=b[49860]|0;b[m+1>>0]=b[49861]|0;b[m+2>>0]=b[49862]|0;b[m+3>>0]=0;x=0;Ia(147,k|0,m|0,c|0);g=x;x=0;if(g&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}if((b[e>>0]|0)<0)Hta(f[m>>2]|0);boa(k);d=f[(f[c>>2]|0)+116>>2]|0;g=c+64|0;qV(h,f[g>>2]|0);f[h>>2]=12372;x=0;d=sa(d|0,c|0,h|0)|0;e=x;x=0;if(e&1){m=Ya()|0;_P(h);jb(m|0)}_P(h);do if(d){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=1;b[m>>0]=40;b[m+1>>0]=0;x=0;Ga(682,k|0,m|0);h=x;x=0;if(!(h&1)){if((b[e>>0]|0)<0)Hta(f[m>>2]|0);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}while(0);qV(i,f[g>>2]|0);f[i>>2]=12372;h=f[i+4>>2]|0;x=0;Ga(f[(f[h>>2]|0)+44>>2]|0,h|0,a|0);a=x;x=0;if(a&1){m=Ya()|0;_P(i);jb(m|0)}_P(i);d=f[(f[c>>2]|0)+116>>2]|0;qV(j,f[g>>2]|0);f[j>>2]=12372;x=0;d=sa(d|0,c|0,j|0)|0;i=x;x=0;if(i&1){m=Ya()|0;_P(j);jb(m|0)}_P(j);if(!d){u=l;return}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=1;b[m>>0]=41;b[m+1>>0]=0;x=0;Ga(682,k|0,m|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}else{if((b[e>>0]|0)<0)Hta(f[m>>2]|0);u=l;return}}function Bo(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=b+4|0;b=f[j>>2]|0;if(!b)h=0;else h=vc[f[(f[b>>2]|0)+8>>2]&511](b)|0;g=f[a+4>>2]|0;if(!g){k=0;return k|0}e=g+-1|0;c=(e&g|0)==0;if(c)i=e&h;else if(h>>>0>>0)i=h;else i=(h>>>0)%(g>>>0)|0;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){a:while(1){d=f[b+4>>2]|0;a=(d|0)==(h|0);if(!(a|(d&e|0)==(i|0))){b=0;a=35;break}do if(a){c=f[b+12>>2]|0;if(c|0){if(!(uy(c,2048,192,-2)|0)){a=f[j>>2]|0;d=a}else{a=f[j>>2]|0;if(!a){d=a;a=0}else if(!(uy(a,2048,192,-2)|0))d=a;else{c=vc[f[(f[c>>2]|0)+8>>2]&511](c)|0;d=f[j>>2]|0;if((c|0)==(vc[f[(f[d>>2]|0)+8>>2]&511](d)|0)){a=35;break a}else break}}if(d|0)if(xc[f[(f[c>>2]|0)+160>>2]&2047](c,a)|0){a=35;break a}}}while(0);b=f[b>>2]|0;if(!b){b=0;a=35;break}}if((a|0)==35)return b|0}else k=b;b:while(1){b=f[k+4>>2]|0;do if((b|0)==(h|0)){a=f[k+12>>2]|0;if(a|0){if(!(uy(a,2048,192,-2)|0)){b=f[j>>2]|0;c=b}else{b=f[j>>2]|0;if(!b){c=b;b=0}else if(!(uy(b,2048,192,-2)|0))c=b;else{d=vc[f[(f[a>>2]|0)+8>>2]&511](a)|0;e=f[j>>2]|0;if((d|0)==(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)){b=k;a=35;break b}else break}}if(c|0)if(xc[f[(f[a>>2]|0)+160>>2]&2047](a,b)|0){b=k;a=35;break b}}}else{if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0;if((b|0)!=(i|0)){b=0;a=35;break b}}while(0);k=f[k>>2]|0;if(!k){b=0;a=35;break}}if((a|0)==35)return b|0;return 0}function Co(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=0;k=u;u=u+64|0;l=k+24|0;o=k+12|0;m=k;j=(Dv(c,a)|0)+4|0;j=Dca(f[j>>2]|0)|0;if(j|0){u=k;return j|0}n=o+11|0;b[n>>0]=10;c=o;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[o+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,o|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)p=16;else{x=0;sa(991,o|0,39013)|0;a=x;x=0;if(a&1)p=16;else{x=0;sa(991,o|0,d|0)|0;d=x;x=0;if(d&1)p=16;else{x=0;sa(991,o|0,39020)|0;d=x;x=0;if(d&1)p=16;else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=l+11|0;b[h>>0]=4;f[l>>2]=1953720684;b[l+4>>0]=0;x=0;ta(41,o|0,l|0,4)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(459,m|0,o|0);d=x;x=0;if(d&1)p=16;else{x=0;c=l;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,l|0,g|0);l=x;x=0;if(l&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[n>>0]|0)<0)Hta(f[o>>2]|0);u=k;return j|0}}}}}while(0);if((p|0)==16)c=Ya()|0;if((b[n>>0]|0)>=0)jb(c|0);Hta(f[o>>2]|0);jb(c|0);return 0}function Do(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=b+4|0;b=f[j>>2]|0;if(!b)h=0;else h=vc[f[(f[b>>2]|0)+8>>2]&511](b)|0;g=f[a+4>>2]|0;if(!g){k=0;return k|0}e=g+-1|0;c=(e&g|0)==0;if(c)i=e&h;else if(h>>>0>>0)i=h;else i=(h>>>0)%(g>>>0)|0;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){a:while(1){d=f[b+4>>2]|0;a=(d|0)==(h|0);if(!(a|(d&e|0)==(i|0))){b=0;a=35;break}do if(a){c=f[b+12>>2]|0;if(c|0){if(!(uy(c,2064,192,-2)|0)){a=f[j>>2]|0;d=a}else{a=f[j>>2]|0;if(!a){d=a;a=0}else if(!(uy(a,2064,192,-2)|0))d=a;else{c=vc[f[(f[c>>2]|0)+8>>2]&511](c)|0;d=f[j>>2]|0;if((c|0)==(vc[f[(f[d>>2]|0)+8>>2]&511](d)|0)){a=35;break a}else break}}if(d|0)if(xc[f[(f[c>>2]|0)+164>>2]&2047](c,a)|0){a=35;break a}}}while(0);b=f[b>>2]|0;if(!b){b=0;a=35;break}}if((a|0)==35)return b|0}else k=b;b:while(1){b=f[k+4>>2]|0;do if((b|0)==(h|0)){a=f[k+12>>2]|0;if(a|0){if(!(uy(a,2064,192,-2)|0)){b=f[j>>2]|0;c=b}else{b=f[j>>2]|0;if(!b){c=b;b=0}else if(!(uy(b,2064,192,-2)|0))c=b;else{d=vc[f[(f[a>>2]|0)+8>>2]&511](a)|0;e=f[j>>2]|0;if((d|0)==(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)){b=k;a=35;break b}else break}}if(c|0)if(xc[f[(f[a>>2]|0)+164>>2]&2047](a,b)|0){b=k;a=35;break b}}}else{if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0;if((b|0)!=(i|0)){b=0;a=35;break b}}while(0);k=f[k>>2]|0;if(!k){b=0;a=35;break}}if((a|0)==35)return b|0;return 0}function Eo(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=0;k=f[a>>2]|0;e=k;j=b[e>>0]|0;i=j&255;a:do if(j<<24>>24>-1)l=4;else{b:do if((i&224|0)!=192){g=(i&240|0)==224?3:(i&248|0)==240?4:0;switch(g&7){case 1:{l=4;break a}case 2:break b;case 3:{if((e|0)==(c|0)){e=1;break a}g=e+1|0;f[a>>2]=g;if((g|0)==(c|0)){e=1;break a}h=b[g>>0]|0;if((h&-64)<<24>>24!=-128){e=3;break a}e=e+2|0;f[a>>2]=e;if((e|0)==(c|0)){e=1;break a}g=b[e>>0]|0;if((g&-64)<<24>>24==-128){i=(h&255)<<6&4032|i<<12&61440|g&63;g=3;l=20;break a}else{e=3;break a}}case 4:{if((e|0)==(c|0)){e=1;break a}g=e+1|0;f[a>>2]=g;if((g|0)==(c|0)){e=1;break a}j=b[g>>0]|0;if((j&-64)<<24>>24!=-128){e=3;break a}g=e+2|0;f[a>>2]=g;if((g|0)==(c|0)){e=1;break a}h=b[g>>0]|0;if((h&-64)<<24>>24!=-128){e=3;break a}e=e+3|0;f[a>>2]=e;if((e|0)==(c|0)){e=1;break a}g=b[e>>0]|0;if((g&-64)<<24>>24==-128){i=(j&255)<<12&258048|i<<18&1835008|(h&255)<<6&4032|g&63;g=4;l=20;break a}else{e=3;break a}}case 0:{l=2;return l|0}default:{i=0;l=20;break a}}}while(0);if((e|0)==(c|0))e=1;else{h=e+1|0;f[a>>2]=h;if((h|0)==(c|0))e=1;else{e=b[h>>0]|0;if((e&-64)<<24>>24==-128){i=i<<6&1984|e&63;g=2;e=h;l=20}else e=3}}}while(0);if((l|0)==4)if((e|0)==(c|0))e=1;else{g=1;l=20}c:do if((l|0)==20)if(i>>>0<1114112&(i&-2048|0)!=55296){do if(i>>>0<128){if((g|0)!=1){e=4;break c}}else if(i>>>0<2048)if((g|0)==2)break;else{e=4;break c}else if((g|0)!=3&i>>>0<65536){e=4;break c}else break;while(0);f[d>>2]=i;f[a>>2]=e+1;l=0;return l|0}else e=5;while(0);f[a>>2]=k;l=e;return l|0}function Fo(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=b+4|0;b=f[j>>2]|0;if(!b)h=0;else h=vc[f[(f[b>>2]|0)+8>>2]&511](b)|0;g=f[a+4>>2]|0;if(!g){k=0;return k|0}e=g+-1|0;c=(e&g|0)==0;if(c)i=e&h;else if(h>>>0>>0)i=h;else i=(h>>>0)%(g>>>0)|0;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){a:while(1){d=f[b+4>>2]|0;a=(h|0)==(d|0);if(!(a|(d&e|0)==(i|0))){b=0;a=35;break}do if(a){c=f[b+12>>2]|0;if(c|0){if(!(uy(c,112,192,0)|0)){a=f[j>>2]|0;d=a}else{a=f[j>>2]|0;if(!a){d=a;a=0}else if(!(uy(a,112,192,0)|0))d=a;else{c=vc[f[(f[c>>2]|0)+8>>2]&511](c)|0;d=f[j>>2]|0;if((c|0)==(vc[f[(f[d>>2]|0)+8>>2]&511](d)|0)){a=35;break a}else break}}if(d|0)if(xc[f[(f[c>>2]|0)+92>>2]&2047](c,a)|0){a=35;break a}}}while(0);b=f[b>>2]|0;if(!b){b=0;a=35;break}}if((a|0)==35)return b|0}else k=b;b:while(1){b=f[k+4>>2]|0;do if((h|0)==(b|0)){a=f[k+12>>2]|0;if(a|0){if(!(uy(a,112,192,0)|0)){b=f[j>>2]|0;c=b}else{b=f[j>>2]|0;if(!b){c=b;b=0}else if(!(uy(b,112,192,0)|0))c=b;else{d=vc[f[(f[a>>2]|0)+8>>2]&511](a)|0;e=f[j>>2]|0;if((d|0)==(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)){b=k;a=35;break b}else break}}if(c|0)if(xc[f[(f[a>>2]|0)+92>>2]&2047](a,b)|0){b=k;a=35;break b}}}else{if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0;if((b|0)!=(i|0)){b=0;a=35;break b}}while(0);k=f[k>>2]|0;if(!k){b=0;a=35;break}}if((a|0)==35)return b|0;return 0}function Go(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;o=0;p=u;u=u+32|0;l=p+4|0;m=p;n=p+16|0;k=b+4|0;j=f[k>>2]|0;if((f[j+76>>2]|0)==(f[j+80>>2]|0)){b=Ta(8)|0;x=0;Ga(496,b|0,52848);p=x;x=0;if(!(p&1))fb(b|0,6176,414);p=Ya()|0;bb(b|0);jb(p|0)}d=a+4|0;b=f[d>>2]|0;j=b-(f[a>>2]|0)>>4;do if((f[a+8>>2]|0)==(b|0))jo(a,c);else{qV(b,f[c+4>>2]|0);f[b>>2]=15556;e=b+8|0;x=0;Ga(462,e|0,f[c+12>>2]|0);i=x;x=0;if(i&1){p=Ya()|0;_P(b);jb(p|0)}else{f[e>>2]=15572;f[d>>2]=(f[d>>2]|0)+16;break}}while(0);d=f[k>>2]|0;i=(f[d+80>>2]|0)-(f[d+76>>2]|0)>>3;if(!i){u=p;return}a=a+12|0;g=l+8|0;h=l+4|0;b=0;while(1){d=(f[d+76>>2]|0)+(b<<3)|0;f[m>>2]=d;iq(l,a,d,87750,m,n);d=f[l>>2]|0;qV(l,f[k>>2]|0);f[l>>2]=15572;f[g>>2]=j;e=d+28|0;c=f[e>>2]|0;if(c>>>0<(f[d+32>>2]|0)>>>0){x=0;Ga(462,c|0,f[h>>2]|0);d=x;x=0;if(d&1)break;f[c>>2]=15572;f[c+8>>2]=f[g>>2];f[e>>2]=(f[e>>2]|0)+12}else{x=0;Ga(704,d+24|0,l|0);c=x;x=0;if(c&1)break}_P(l);b=b+1|0;if(b>>>0>=i>>>0){o=12;break}d=f[k>>2]|0}if((o|0)==12){u=p;return}p=Ya()|0;_P(l);jb(p|0)}function Ho(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=0;o=u;u=u+48|0;n=o+28|0;p=o+16|0;e=o+8|0;l=o;m=c+68|0;qV(e,f[m>>2]|0);f[e>>2]=7904;g=f[e+4>>2]|0;d=f[(f[g>>2]|0)+28>>2]|0;k=a+4|0;x=0;h=n;i=f[a+72>>2]|0;j=h+12|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));Ia(d|0,p|0,g|0,n|0);j=x;x=0;if(j&1){q=Ya()|0;_P(e);jb(q|0)}_P(e);d=b[c+72>>0]|0;x=0;e=qa(399,k|0)|0;j=x;x=0;a:do if(j&1)q=13;else{do if(d<<24>>24!=0|(e|0)!=3){d=b[a+8+11>>0]|0;if(d<<24>>24<0)d=f[a+12>>2]|0;else d=d&255;if(!d){f[n>>2]=c;d=a+124|0;e=f[d>>2]|0;if(e>>>0<(f[a+128>>2]|0)>>>0){f[e>>2]=c;f[d>>2]=(f[d>>2]|0)+4}else{x=0;Ga(685,a+120|0,n|0);a=x;x=0;if(a&1){d=Ya()|0;break a}}break}d=a+101|0;b[d>>0]=1;x=0;Fa(456,k|0);c=x;x=0;if(c&1){q=13;break a}x=0;Ga(462,l|0,f[m>>2]|0);c=x;x=0;if(c&1){q=13;break a}f[l>>2]=7904;c=f[l+4>>2]|0;x=0;Ga(f[(f[c>>2]|0)+44>>2]|0,c|0,a|0);c=x;x=0;if(c&1){d=Ya()|0;_P(l);break a}_P(l);b[d>>0]=0;if(!(f[a+76>>2]|0)){x=0;Fa(463,k|0);q=x;x=0;if(q&1){q=13;break a}else break}else{x=0;Fa(457,k|0);q=x;x=0;if(q&1){q=13;break a}else break}}while(0);if((b[p+11>>0]|0)>=0){u=o;return}Hta(f[p>>2]|0);u=o;return}while(0);if((q|0)==13)d=Ya()|0;if((b[p+11>>0]|0)>=0){q=d;jb(q|0)}Hta(f[p>>2]|0);q=d;jb(q|0)}function Io(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=u;u=u+64|0;k=n+48|0;e=n;l=n+40|0;m=a+76|0;g=f[m>>2]|0;if(!(b[g>>0]|0)){m=0;u=n;return m|0}if(c){j=VX(g)|0;g=j|0?j:g}c=VO(g)|0;a:do if(!c){j=b[g>>0]|0;if(j<<24>>24==42)h=g+1|0;else{c=b[52119]|0;if(!(c<<24>>24))h=g;else{if(j<<24>>24==c<<24>>24){h=g;c=52119;do{h=h+1|0;c=c+1|0;i=b[c>>0]|0;if(!(i<<24>>24))break a}while((b[h>>0]|0)==i<<24>>24)}c=b[52132]|0;if(!(c<<24>>24))h=g;else{if(j<<24>>24==c<<24>>24){h=g;c=52132;do{h=h+1|0;c=c+1|0;i=b[c>>0]|0;if(!(i<<24>>24))break a}while((b[h>>0]|0)==i<<24>>24)}h=b[52125]|0;b:do if(!(h<<24>>24)){c=g;h=0}else if(j<<24>>24==h<<24>>24){c=g;i=52125;do{c=c+1|0;i=i+1|0;h=b[i>>0]|0;if(!(h<<24>>24)){h=0;break b}}while((b[c>>0]|0)==h<<24>>24)}else c=g;while(0);h=h<<24>>24==0?c:0}}}}else h=c;while(0);if(h>>>0>(f[a+80>>2]|0)>>>0){m=0;u=n;return m|0}if(!d)if((h|0)==0|(h|0)==(g|0)){m=0;u=n;return m|0}c=f[m>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;j=a+96|0;vG(k,j,c,g);c=a+84|0;f[c>>2]=f[k>>2];f[c+4>>2]=f[k+4>>2];f[c+8>>2]=f[k+8>>2];vG(k,j,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(l,j,c);f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];UI(e,d,g,a+168|0,c,k);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[m>>2]=h;m=h;u=n;return m|0}function Jo(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;m=u;u=u+16|0;k=m;l=a+64|0;if(!(f[l>>2]|0)){l=0;u=m;return l|0}j=a+68|0;d=f[j>>2]|0;if(!d){m=Ta(4)|0;Era(m);fb(m|0,6240,419)}i=a+92|0;c=f[i>>2]|0;do if(!(c&16)){if(c&8|0){e=a+80|0;g=f[e+4>>2]|0;h=k;f[h>>2]=f[e>>2];f[h+4>>2]=g;do if(!(b[a+98>>0]|0)){e=vc[f[(f[d>>2]|0)+24>>2]&511](d)|0;h=a+36|0;g=f[h>>2]|0;c=(f[a+40>>2]|0)-g|0;if((e|0)>0){d=0;c=(X((f[a+16>>2]|0)-(f[a+12>>2]|0)|0,e)|0)+c|0;break}d=f[a+12>>2]|0;if((d|0)==(f[a+16>>2]|0))d=0;else{e=f[j>>2]|0;j=a+32|0;g=Bc[f[(f[e>>2]|0)+32>>2]&63](e,k,f[j>>2]|0,g,d-(f[a+8>>2]|0)|0)|0;d=1;c=c-g+(f[h>>2]|0)-(f[j>>2]|0)|0}}else{d=0;c=(f[a+16>>2]|0)-(f[a+12>>2]|0)|0}while(0);if(rS(f[l>>2]|0,0-c|0,1)|0){l=-1;u=m;return l|0}if(d){j=k;k=f[j+4>>2]|0;l=a+72|0;f[l>>2]=f[j>>2];f[l+4>>2]=k}l=f[a+32>>2]|0;f[a+40>>2]=l;f[a+36>>2]=l;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[i>>2]=0}}else{if((f[a+24>>2]|0)!=(f[a+20>>2]|0))if((xc[f[(f[a>>2]|0)+52>>2]&2047](a,-1)|0)==-1){l=-1;u=m;return l|0}e=a+72|0;g=a+32|0;c=a+52|0;a:while(1){i=f[j>>2]|0;d=f[g>>2]|0;d=Bc[f[(f[i>>2]|0)+20>>2]&63](i,e,d,d+(f[c>>2]|0)|0,k)|0;i=f[g>>2]|0;a=(f[k>>2]|0)-i|0;if((vO(i,1,a,f[l>>2]|0)|0)!=(a|0)){c=-1;d=24;break}switch(d|0){case 1:break;case 2:{c=-1;d=24;break a}default:{d=10;break a}}}if((d|0)==10){if(!(VG(f[l>>2]|0)|0))break;else c=-1;u=m;return c|0}else if((d|0)==24){u=m;return c|0}}while(0);l=0;u=m;return l|0}function Ko(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;k=u;u=u+112|0;i=k;d=k+104|0;e=k+96|0;j=k+56|0;n=k+48|0;m=k+40|0;qV(d,f[c+64>>2]|0);f[d>>2]=7696;h=f[d+4>>2]|0;x=0;h=sa(f[(f[h>>2]|0)+56>>2]|0,h|0,a|0)|0;l=x;x=0;if(l&1){n=Ya()|0;_P(d);jb(n|0)}_P(d);qV(e,f[c+72>>2]|0);f[e>>2]=7696;g=f[e+4>>2]|0;x=0;g=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a|0)|0;l=x;x=0;if(l&1){n=Ya()|0;_P(e);jb(n|0)}_P(e);l=VN(76)|0;e=j;a=c+12|0;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));x=0;Ga(462,n|0,h|0);h=x;x=0;if(h&1)a=Ya()|0;else{f[n>>2]=7696;x=0;Ga(462,m|0,g|0);h=x;x=0;if(h&1)a=Ya()|0;else{f[m>>2]=7696;e=i;a=j;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));x=0;Fa(427,l|0);j=x;x=0;if(j&1)a=Ya()|0;else{e=l+12|0;a=i;d=e+40|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;f[l>>2]=12660;a=l+60|0;x=0;Ga(462,a|0,f[n+4>>2]|0);j=x;x=0;do if(j&1)a=Ya()|0;else{f[a>>2]=7696;d=l+68|0;x=0;Ga(462,d|0,f[m+4>>2]|0);j=x;x=0;if(j&1){k=Ya()|0;_P(a);a=k;break}else{f[d>>2]=7696;_P(m);_P(n);u=k;return l|0}}while(0)}_P(m)}_P(n)}Hta(l);n=a;jb(n|0);return 0}function Lo(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;l=u;u=u+112|0;m=l+72|0;o=l+56|0;k=l+16|0;n=l;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;e=f[c+76>>2]|0;g=(f[c+80>>2]|0)-e>>3;a:do if(!g)e=3;else{h=c+76|0;j=m+11|0;i=m+4|0;d=0;while(1){e=f[e+(d<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;p=x;x=0;if(p&1){e=11;break}if(e|0){x=0;Ga(f[(f[e>>2]|0)+32>>2]|0,m|0,e|0);p=x;x=0;if(p&1){e=12;break}p=b[j>>0]|0;e=p<<24>>24<0;x=0;ta(41,o|0,(e?f[m>>2]|0:m)|0,(e?f[i>>2]|0:p&255)|0)|0;p=x;x=0;if(p&1){e=13;break}if((b[j>>0]|0)<0)Hta(f[m>>2]|0)}d=d+1|0;if(d>>>0>=g>>>0){e=3;break a}e=f[h>>2]|0}if((e|0)==11){d=Ya()|0;break}else if((e|0)==12)d=Ya()|0;else if((e|0)==13){d=Ya()|0;if((b[j>>0]|0)<0)Hta(f[m>>2]|0)}}while(0);do if((e|0)==3){x=0;g=qa(318,80)|0;p=x;x=0;if(p&1){d=Ya()|0;break}a=k;d=c+12|0;e=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));x=0;Ga(459,n|0,o|0);p=x;x=0;do if(p&1)d=Ya()|0;else{x=0;a=m;d=k;e=a+40|0;do{f[a>>2]=f[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Na(1,g|0,m|0,n|0,0,0,0,1,1);p=x;x=0;if(p&1){d=Ya()|0;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[o+11>>0]|0)>=0){u=l;return g|0}Hta(f[o>>2]|0);u=l;return g|0}while(0);Hta(g)}while(0);if((b[o+11>>0]|0)>=0)jb(d|0);Hta(f[o>>2]|0);jb(d|0);return 0}function Mo(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;i=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;if(!d){e=f[c+76>>2]|0;l=a+4|0;f[l>>2]=e;d=e;e=(e|0)==0}else{l=a+4|0;f[l>>2]=d;e=0}j=VX(d)|0;j=Ks(j|0?j:d)|0;k=c+80|0;if((j|0)==0?1:j>>>0>(f[k>>2]|0)>>>0){k=0;l=a+12|0;a=k^1;b[l>>0]=a;return}if(e)e=f[c+76>>2]|0;else e=d;h=VX(e)|0;e=h|0?h:e;if((b[e>>0]|0)==45)e=(b[e+1>>0]|0)==45?e+2|0:0;else e=0;a:do if(d>>>0>>0){h=a+14|0;b:do if((e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0){c=0;g=d;while(1){e=b[g>>0]|0;if(e<<24>>24==35)if((b[g+1>>0]|0)==123)break b;else i=14;else if(c|e<<24>>24!=58)i=14;else{d=g+1|0;if((d|0)==(j|0))e=1;else{e=VX(d)|0;e=H2(e|0?e:d)|0;e=e|0?e>>>0<=(f[k>>2]|0)>>>0:0}b[h>>0]=e&1;e=b[g>>0]|0}if((i|0)==14){i=0;d=g+1|0}if(d>>>0>>0){c=e<<24>>24==92;g=d}else{e=0;break a}}}else{c=0;while(1){e=b[d>>0]|0;if(e<<24>>24==35)if((b[d+1>>0]|0)==123)break b;else e=35;else if(!(c|e<<24>>24!=58)){b[h>>0]=1;e=b[d>>0]|0}d=d+1|0;if(d>>>0>>0)c=e<<24>>24==92;else{e=0;break a}}}while(0);b[a+13>>0]=1;d=j;e=1}else e=0;while(0);f[l>>2]=j;f[a+8>>2]=j;i=VX(j)|0;i=i|0?i:j;i=(b[i>>0]|0)==123?i+1|0:0;if((i|0)==0?1:i>>>0>(f[k>>2]|0)>>>0){i=VX(j)|0;i=i|0?i:j;i=(b[i>>0]|0)==40?i+1|0:0;if((i|0)==0?1:i>>>0>(f[k>>2]|0)>>>0)i=28;else i=27}else i=27;if((i|0)==27){f[a>>2]=j;if(!j)i=28}if((i|0)==28)if(b[d>>0]|0){k=e;l=a+12|0;a=k^1;b[l>>0]=a;return}f[l>>2]=0;k=e;l=a+12|0;a=k^1;b[l>>0]=a;return}function No(a,c,d,e,g,i,j,k){a=a|0;c=c|0;d=d|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;r=0;f[d>>2]=a;f[i>>2]=e;if(!(k&4))e=c;else{a=f[d>>2]|0;e=c;if((e-a|0)>2)if((b[a>>0]|0)==-17)if((b[a+1>>0]|0)==-69)if((b[a+2>>0]|0)==-65)f[d>>2]=a+3}a:while(1){p=f[d>>2]|0;a=p>>>0>>0;if(!a){r=36;break}q=f[i>>2]|0;if(q>>>0>=g>>>0){r=36;break}n=b[p>>0]|0;a=n&255;do if(n<<24>>24>-1)if(a>>>0>j>>>0){a=2;break a}else k=1;else{if((n&255)<194){a=2;break a}if((n&255)<224){if((e-p|0)<2){a=1;break a}k=h[p+1>>0]|0;if((k&192|0)!=128){a=2;break a}a=k&63|a<<6&1984;if(a>>>0>j>>>0){a=2;break a}else{k=2;break}}if((n&255)<240){if((e-p|0)<3){a=1;break a}l=b[p+1>>0]|0;k=b[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){a=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){a=2;break a}break}default:if((l&-64)<<24>>24!=-128){a=2;break a}}k=k&255;if((k&192|0)!=128){a=2;break a}a=(l&63)<<6|a<<12&61440|k&63;if(a>>>0>j>>>0){a=2;break a}else{k=3;break}}if((n&255)>=245){a=2;break a}if((e-p|0)<4){a=1;break a}o=b[p+1>>0]|0;k=b[p+2>>0]|0;m=b[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){a=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){a=2;break a}break}default:if((o&-64)<<24>>24!=-128){a=2;break a}}l=k&255;if((l&192|0)!=128){a=2;break a}k=m&255;if((k&192|0)!=128){a=2;break a}a=(o&63)<<12|a<<18&1835008|l<<6&4032|k&63;if(a>>>0>j>>>0){a=2;break a}else k=4}while(0);f[q>>2]=a;f[d>>2]=p+k;f[i>>2]=(f[i>>2]|0)+4}if((r|0)==36)a=a&1;return a|0}function Oo(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;j=0;r=a+8|0;p=f[r>>2]|0;o=a+12|0;q=f[o>>2]|0;e=q;do if((p|0)==(q|0)){q=a+4|0;i=f[q>>2]|0;c=f[a>>2]|0;d=c;if(i>>>0>c>>>0){g=((i-d>>3)+1|0)/-2|0;d=i+(g<<3)|0;if((i|0)==(p|0))c=p;else{c=i;do{if((d|0)!=(c|0)){e=d+4|0;if(f[e>>2]|0)vQ(d);o=c+4|0;f[e>>2]=f[o>>2];f[o>>2]=0}c=c+8|0;d=d+8|0}while((c|0)!=(p|0));c=f[q>>2]|0}f[r>>2]=d;f[q>>2]=c+(g<<3);break}d=e-d>>2;d=(d|0)==0?1:d;if(d>>>0>536870911){c=Ta(8)|0;x=0;Ga(461,c|0,60050);r=x;x=0;if(r&1){r=Ya()|0;bb(c|0);jb(r|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}k=VN(d<<3)|0;l=k;m=k+(d>>>2<<3)|0;n=m;h=k+(d<<3)|0;a:do if((i|0)==(p|0)){f[a>>2]=l;f[q>>2]=n;f[r>>2]=n;f[o>>2]=h}else{c=n;d=i;e=m;while(1){x=0;Ga(462,e|0,f[d+4>>2]|0);i=x;x=0;if(i&1)break;f[e>>2]=13852;e=c+8|0;g=e;d=d+8|0;if((d|0)==(p|0)){j=19;break}else c=g}if((j|0)==19){c=f[a>>2]|0;e=f[q>>2]|0;d=f[r>>2]|0;f[a>>2]=l;f[q>>2]=n;f[r>>2]=g;f[o>>2]=h;if((d|0)==(e|0))break;while(1){d=d+-8|0;Kc[f[f[d>>2]>>2]&511](d);if((d|0)==(e|0))break a}}d=Ya()|0;if((m|0)==(c|0)){Hta(k);jb(d|0)}do{c=c+-8|0;Kc[f[f[c>>2]>>2]&511](c)}while((c|0)!=(m|0));Hta(k);jb(d|0)}while(0);if(c|0)Hta(c)}while(0);q=f[r>>2]|0;qV(q,f[b+4>>2]|0);f[q>>2]=13852;f[r>>2]=(f[r>>2]|0)+8;return}function Po(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=0;k=u;u=u+64|0;l=k+24|0;o=k+12|0;m=k;j=(Dv(c,a)|0)+4|0;j=Hba(f[j>>2]|0)|0;if(j|0){u=k;return j|0}n=o+11|0;b[n>>0]=10;c=o;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[o+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,o|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)p=16;else{x=0;sa(991,o|0,39013)|0;a=x;x=0;if(a&1)p=16;else{x=0;sa(991,o|0,d|0)|0;d=x;x=0;if(d&1)p=16;else{x=0;sa(991,o|0,39020)|0;d=x;x=0;if(d&1)p=16;else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=l+11|0;x=0;ta(41,o|0,l|0,0)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(459,m|0,o|0);d=x;x=0;if(d&1)p=16;else{x=0;c=l;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,l|0,g|0);l=x;x=0;if(l&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[n>>0]|0)<0)Hta(f[o>>2]|0);u=k;return j|0}}}}}while(0);if((p|0)==16)c=Ya()|0;if((b[n>>0]|0)>=0)jb(c|0);Hta(f[o>>2]|0);jb(c|0);return 0}function Qo(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;r=u;u=u+16|0;i=r;b[a>>0]=0;g=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;h=f[g+16>>2]|0;if(!h){g=f[g+72>>2]|0;if(g|0)Pv(g)|0;do if(!e){g=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;if(f[g+4>>2]&4096|0){kha(i,g);x=0;h=sa(994,i|0,83320)|0;q=x;x=0;if(q&1){r=Ya()|0;uga(i);jb(r|0)}uga(i);g=f[c+(f[(f[c>>2]|0)+-12>>2]|0)+24>>2]|0;l=h+8|0;m=g;n=(g|0)==0;o=m+12|0;p=m+16|0;q=g;while(1){if(n){e=0;g=0;break}h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))h=vc[f[(f[q>>2]|0)+36>>2]&511](m)|0;else h=mqa(b[h>>0]|0)|0;k=wja(h,Kta()|0)|0;i=k?0:g;if(k){e=0;g=0;break}e=i;j=e+12|0;h=f[j>>2]|0;k=e+16|0;if((h|0)==(f[k>>2]|0))h=vc[f[(f[i>>2]|0)+36>>2]&511](e)|0;else h=mqa(b[h>>0]|0)|0;if((h&255)<<24>>24<=-1)break;if(!(d[(f[l>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0)){vc[f[(f[i>>2]|0)+40>>2]&511](e)|0;continue}else{f[j>>2]=h+1;mqa(b[h>>0]|0)|0;continue}}if(g|0){h=f[e+12>>2]|0;if((h|0)==(f[e+16>>2]|0))g=vc[f[(f[g>>2]|0)+36>>2]&511](e)|0;else g=mqa(b[h>>0]|0)|0;if(!(wja(g,Kta()|0)|0))break}q=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;NG(q,f[q+16>>2]|6)}}while(0);b[a>>0]=(f[c+(f[(f[c>>2]|0)+-12>>2]|0)+16>>2]|0)==0&1}else NG(g,h|4);u=r;return}function Ro(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=0;k=u;u=u+64|0;l=k+24|0;o=k+12|0;m=k;j=(Dv(c,a)|0)+4|0;j=sca(f[j>>2]|0)|0;if(j|0){u=k;return j|0}n=o+11|0;b[n>>0]=10;c=o;h=39002;i=c+10|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[o+10>>0]=0;i=b[a+11>>0]|0;h=i<<24>>24<0;x=0;ta(41,o|0,(h?f[a>>2]|0:a)|0,(h?f[a+4>>2]|0:i&255)|0)|0;a=x;x=0;do if(a&1)p=16;else{x=0;sa(991,o|0,39013)|0;a=x;x=0;if(a&1)p=16;else{x=0;sa(991,o|0,d|0)|0;d=x;x=0;if(d&1)p=16;else{x=0;sa(991,o|0,39020)|0;d=x;x=0;if(d&1)p=16;else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=l+11|0;x=0;ta(41,o|0,l|0,0)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(459,m|0,o|0);d=x;x=0;if(d&1)p=16;else{x=0;c=l;h=e;i=c+40|0;do{f[c>>2]=f[h>>2];c=c+4|0;h=h+4|0}while((c|0)<(i|0));Ia(100,m|0,l|0,g|0);l=x;x=0;if(l&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[n>>0]|0)<0)Hta(f[o>>2]|0);u=k;return j|0}}}}}while(0);if((p|0)==16)c=Ya()|0;if((b[n>>0]|0)>=0)jb(c|0);Hta(f[o>>2]|0);jb(c|0);return 0}function So(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=u;u=u+48|0;n=p+32|0;o=p+24|0;k=p+8|0;l=p+16|0;m=p;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)!=32038){o=0;n=0;o=n&o;u=p;return o|0}j=a+60|0;e=f[a+88>>2]|0;g=f[a+84>>2]|0;h=b+60|0;a=g;i=e;if((e-g|0)!=((f[b+88>>2]|0)-(f[b+84>>2]|0)|0)){o=0;n=1;o=n&o;u=p;return o|0}if((a|0)==(i|0)){o=1;n=1;o=n&o;u=p;return o|0}d=n+4|0;e=l+4|0;g=o+4|0;c=a;while(1){qV(n,f[c+4>>2]|0);f[n>>2]=7696;x=0;Ga(462,k|0,f[d>>2]|0);b=x;x=0;if(b&1){c=11;break}f[k>>2]=7696;x=0;Ia(78,o|0,j|0,k|0);b=x;x=0;if(b&1){c=12;break}_P(k);x=0;Ga(462,m|0,f[d>>2]|0);b=x;x=0;if(b&1){c=13;break}f[m>>2]=7696;x=0;Ia(78,l|0,h|0,m|0);b=x;x=0;if(b&1){c=14;break}_P(m);a=f[e>>2]|0;b=f[g>>2]|0;if((a|0)==0|(b|0)==0)a=1;else{x=0;a=sa(f[(f[b>>2]|0)+92>>2]|0,b|0,a|0)|0;b=x;x=0;if(b&1){c=15;break}a=(a^1)&1}_P(l);_P(o);_P(n);c=c+8|0;if(a|0){a=0;b=1;c=21;break}if((c|0)==(i|0)){a=1;b=1;c=21;break}}if((c|0)==11){p=Ya()|0;_P(n);jb(p|0)}else if((c|0)==12){p=Ya()|0;_P(k);_P(n);jb(p|0)}else if((c|0)==13)a=Ya()|0;else if((c|0)==14){a=Ya()|0;_P(m)}else if((c|0)==15){a=Ya()|0;_P(l)}else if((c|0)==21){o=b&a;u=p;return o|0}_P(o);p=a;_P(n);jb(p|0);return 0}function To(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=0;h=u;u=u+16|0;d=h;e=YP(1,136)|0;if(!e){c=sp(82616,51173,40)|0;kha(d,c+(f[(f[c>>2]|0)+-12>>2]|0)|0);x=0;a=sa(994,d|0,83320)|0;g=x;x=0;if(g&1){h=Ya()|0;uga(d);jb(h|0)}x=0;a=sa(f[(f[a>>2]|0)+28>>2]|0,a|0,10)|0;g=x;x=0;if(g&1){h=Ya()|0;uga(d);jb(h|0)}uga(d);Yr(c,a)|0;Pv(c)|0;g=0;u=h;return g|0}f[e+80>>2]=2;f[e+4>>2]=5;f[e+12>>2]=50909;f[e+16>>2]=51444;do if(!a){a=Ta(8)|0;x=0;Ga(496,a|0,51214);d=x;x=0;if(d&1){d=Za(0)|0;bb(a|0);a=d;break}else{x=0;Ia(77,a|0,6176,414);x=0;c=10;break}}else{if(b[a>>0]|0){f[e+128>>2]=a;g=e;u=h;return g|0}a=Ta(8)|0;x=0;Ga(496,a|0,51259);d=x;x=0;if(d&1){d=Za(0)|0;bb(a|0);a=d;break}else{x=0;Ia(77,a|0,6176,414);x=0;c=10;break}}while(0);if((c|0)==10)a=Za(0)|0;Ua(a|0)|0;x=0;qa(402,e|0)|0;d=x;x=0;do if(d&1){d=Za(0)|0;Ua(d|0)|0;x=0;qa(402,e|0)|0;d=x;x=0;if(d&1){a=Ya()|0;x=0;Ea(4);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}else g=a}else{x=0;Ea(4);g=x;x=0;if(!(g&1))break;g=Ya()|0}x=0;Ea(4);d=x;x=0;if(d&1){g=Za(0)|0;soa(g)}else jb(g|0)}while(0);Wa();g=e;u=h;return g|0}function Uo(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;n=u;u=u+128|0;l=n+80|0;m=n+72|0;q=n+56|0;c=n+16|0;o=n;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;p=q+11|0;b[p>>0]=9;i=q;j=41458;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[q+9>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,o|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;i=l;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,m|0,q|0,a|0,e|0,l|0,o|0,d|0);h=x;x=0;if(h&1){c=Ya()|0;a=I;i=f[o>>2]|0;if(!i)break;d=o+4|0;j=f[d>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[d>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[d>>2]|0}else j=k}while((j|0)!=(i|0));i=f[o>>2]|0}Hta(i);break}c=f[o>>2]|0;if(c|0){k=o+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[q>>2]|0);x=0;Fa(443,l|0);q=x;x=0;if(!(q&1)){c=f[m+4>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,l|0)|0;q=x;x=0;if(!(q&1)){_P(m);u=n;return c|0}}q=Ya()|0;_P(m);jb(q|0)}while(0);if((b[p>>0]|0)<0)Hta(f[q>>2]|0);q=c;jb(q|0);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;j=b+4|0;b=f[j>>2]|0;if(!b)h=0;else h=vc[f[(f[b>>2]|0)+8>>2]&511](b)|0;g=f[a+4>>2]|0;if(!g){k=0;return k|0}e=g+-1|0;c=(e&g|0)==0;if(c)i=e&h;else if(h>>>0>>0)i=h;else i=(h>>>0)%(g>>>0)|0;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){a:while(1){d=f[b+4>>2]|0;a=(d|0)==(h|0);if(!(a|(d&e|0)==(i|0))){b=0;a=35;break}do if(a){c=f[b+12>>2]|0;if(c|0){if(!(uy(c,80,192,-2)|0)){a=f[j>>2]|0;d=a}else{a=f[j>>2]|0;if(!a){d=a;a=0}else if(!(uy(a,80,192,-2)|0))d=a;else{c=vc[f[(f[c>>2]|0)+8>>2]&511](c)|0;d=f[j>>2]|0;if((c|0)==(vc[f[(f[d>>2]|0)+8>>2]&511](d)|0)){a=35;break a}else break}}if(d|0)if(xc[f[(f[c>>2]|0)+160>>2]&2047](c,a)|0){a=35;break a}}}while(0);b=f[b>>2]|0;if(!b){b=0;a=35;break}}if((a|0)==35)return b|0}else k=b;b:while(1){b=f[k+4>>2]|0;do if((b|0)==(h|0)){a=f[k+12>>2]|0;if(a|0){if(!(uy(a,80,192,-2)|0)){b=f[j>>2]|0;c=b}else{b=f[j>>2]|0;if(!b){c=b;b=0}else if(!(uy(b,80,192,-2)|0))c=b;else{d=vc[f[(f[a>>2]|0)+8>>2]&511](a)|0;e=f[j>>2]|0;if((d|0)==(vc[f[(f[e>>2]|0)+8>>2]&511](e)|0)){b=k;a=35;break b}else break}}if(c|0)if(xc[f[(f[a>>2]|0)+160>>2]&2047](a,b)|0){b=k;a=35;break b}}}else{if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0;if((b|0)!=(i|0)){b=0;a=35;break b}}while(0);k=f[k>>2]|0;if(!k){b=0;a=35;break}}if((a|0)==35)return b|0;return 0}function Wo(a,c,d,e,g,h){a=+a;c=+c;d=+d;e=+e;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,q=0;o=u;u=u+64|0;n=o;q=o+40|0;a=a/360.0;c=c/100.0;d=d/100.0;d=d<0.0?0.0:d;c=c<0.0?0.0:c;d=d>1.0?1.0:d;c=c>1.0?1.0:c;if(a<0.0)do a=a+1.0;while(a<0.0);if(a>1.0)do a=a+-1.0;while(a>1.0);c=c==0.0?1.0e-10:c;if(!(d<=.5))m=d+c-d*c;else m=d*(c+1.0);l=d*2.0-m;c=a+.3333333333333333;if(c<0.0)do c=c+1.0;while(c<0.0);if(c>1.0)do c=c+-1.0;while(c>1.0);if(c*6.0<1.0)d=l+(m-l)*c*6.0;else if(c*2.0<1.0)d=m;else if(c*3.0<2.0)d=l+(m-l)*(.6666666666666666-c)*6.0;else d=l;if(a<0.0){c=a;do c=c+1.0;while(c<0.0)}else c=a;if(c>1.0)do c=c+-1.0;while(c>1.0);if(c*6.0<1.0)c=l+(m-l)*c*6.0;else if(c*2.0<1.0)c=m;else if(c*3.0<2.0)c=l+(m-l)*(.6666666666666666-c)*6.0;else c=l;a=a+-.3333333333333333;if(a<0.0)do a=a+1.0;while(a<0.0);if(a>1.0)do a=a+-1.0;while(a>1.0);if(a*6.0<1.0)a=l+(m-l)*a*6.0;else if(a*2.0<1.0)a=m;else if(a*3.0<2.0)a=l+(m-l)*(.6666666666666666-a)*6.0;else a=l;j=VN(112)|0;k=q+11|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;i=n;g=h;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));x=0;Fa(427,j|0);i=x;x=0;if(i&1){q=Ya()|0;Hta(j);jb(q|0)}d=d*255.0;c=c*255.0;a=a*255.0;i=j+12|0;g=n;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;g=j+56|0;f[g>>2]=0;f[j>>2]=11116;p[j+64>>3]=d;p[j+72>>3]=c;p[j+80>>3]=a;p[j+88>>3]=e;x=0;Ga(459,j+96|0,q|0);n=x;x=0;if(n&1){g=Ya()|0;if((b[k>>0]|0)>=0){q=g;Hta(j);jb(q|0)}Hta(f[q>>2]|0);q=g;Hta(j);jb(q|0)}else{f[j+108>>2]=0;f[g>>2]=3;if((b[k>>0]|0)>=0){u=o;return j|0}Hta(f[q>>2]|0);u=o;return j|0}return 0}function Xo(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,n=0,o=0,q=0,r=0,s=0;s=0;o=u;u=u+96|0;m=o;n=o+56|0;r=o+40|0;i=+p[d+88>>3];if((a|0)==11&i==0.0){e=Ta(28)|0;x=0;Ia(154,e|0,c|0,d|0);s=x;x=0;if(!(s&1))fb(e|0,4432,6);s=Ya()|0;bb(e|0);jb(s|0)}q=VN(112)|0;d=n;e=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(e|0));e=20408+(a<<2)|0;x=0;k=+ea(f[e>>2]|0,+(+p[c+64>>3]),+i);a=x;x=0;do if(a&1)s=13;else{x=0;l=+ea(f[e>>2]|0,+(+p[c+72>>3]),+i);a=x;x=0;if(a&1)s=13;else{x=0;j=+ea(f[e>>2]|0,+(+p[c+80>>3]),+i);a=x;x=0;if(a&1)s=13;else{i=+p[c+88>>3];h=r+11|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;d=m;g=n;e=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(e|0));x=0;Fa(427,q|0);c=x;x=0;if(c&1){e=Ya()|0;break}d=q+12|0;g=m;e=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(e|0));b[q+52>>0]=0;b[q+53>>0]=0;b[q+54>>0]=0;e=q+56|0;f[e>>2]=0;f[q>>2]=11116;p[q+64>>3]=k;p[q+72>>3]=l;p[q+80>>3]=j;p[q+88>>3]=i;x=0;Ga(459,q+96|0,r|0);c=x;x=0;if(c&1){e=Ya()|0;if((b[h>>0]|0)>=0)break;Hta(f[r>>2]|0);break}f[q+108>>2]=0;f[e>>2]=3;if((b[h>>0]|0)>=0){u=o;return q|0}Hta(f[r>>2]|0);u=o;return q|0}}}while(0);if((s|0)==13)e=Ya()|0;Hta(q);s=e;jb(s|0);return 0}function Yo(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=u;u=u+16|0;n=o+12|0;l=o;e=a+8|0;m=e+3|0;i=b[m>>0]|0;g=i<<24>>24<0;if(g){h=(f[e>>2]&2147483647)+-1|0;j=f[a+4>>2]|0}else{h=1;j=i&255}k=d-c>>2;do if(k|0){if(g){g=f[a>>2]|0;e=f[a+4>>2]|0}else{g=a;e=i&255}if(!(rba(c,g,g+(e<<2)|0)|0)){if((h-j|0)>>>0>>0)uA(a,h,j+k-h|0,j,j,0,0);if((b[m>>0]|0)<0)e=f[a>>2]|0;else e=a;e=e+(j<<2)|0;while(1){if((c|0)==(d|0))break;$ga(e,c);e=e+4|0;c=c+4|0}f[n>>2]=0;$ga(e,n);c=j+k|0;if((b[m>>0]|0)<0){f[a+4>>2]=c;break}else{b[m>>0]=c;break}}f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;if(k>>>0>1073741807)CO(l);do if(k>>>0<2){b[l+8+3>>0]=k;e=l}else{e=k+4&-4;if(e>>>0<=1073741823){m=VN(e<<2)|0;f[l>>2]=m;f[l+8>>2]=e|-2147483648;f[l+4>>2]=k;e=m;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(c|0);jb(o|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);while(1){if((c|0)==(d|0))break;$ga(e,c);c=c+4|0;e=e+4|0}f[n>>2]=0;$ga(e,n);n=b[l+8+3>>0]|0;d=n<<24>>24<0;x=0;ta(172,a|0,(d?f[l>>2]|0:l)|0,(d?f[l+4>>2]|0:n&255)|0)|0;n=x;x=0;if(n&1){o=Ya()|0;jaa(l);jb(o|0)}else{jaa(l);break}}while(0);u=o;return a|0}function Zo(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,l=0,m=0,n=0,o=0,p=0;p=0;o=c;if(!(f&4)){g=0;f=a}else if((o-a|0)>2)if((b[a>>0]|0)==-17)if((b[a+1>>0]|0)==-69){g=0;f=(b[a+2>>0]|0)==-65?a+3|0:a}else{g=0;f=a}else{g=0;f=a}else{g=0;f=a}a:while(1){if(!(g>>>0>>0&f>>>0>>0)){p=33;break}m=b[f>>0]|0;n=m&255;if(n>>>0>e>>>0){p=33;break}do if(m<<24>>24>-1)f=f+1|0;else{if((m&255)<194){p=33;break a}if((m&255)<224){if((o-f|0)<2){p=33;break a}i=h[f+1>>0]|0;if((i&192|0)!=128){p=33;break a}if((i&63|n<<6&1984)>>>0>e>>>0){p=33;break a}else{f=f+2|0;break}}if((m&255)<240){i=f;if((o-i|0)<3){p=33;break a}k=b[f+1>>0]|0;j=b[f+2>>0]|0;switch(m<<24>>24){case -32:{if((k&-32)<<24>>24!=-96){f=i;break a}break}case -19:{if((k&-32)<<24>>24!=-128){f=i;break a}break}default:if((k&-64)<<24>>24!=-128){f=i;break a}}i=j&255;if((i&192|0)!=128){p=33;break a}if(((k&63)<<6|n<<12&61440|i&63)>>>0>e>>>0){p=33;break a}else{f=f+3|0;break}}if((m&255)>=245){p=33;break a}i=f;if((d-g|0)>>>0<2|(o-i|0)<4){p=33;break a}l=b[f+1>>0]|0;j=b[f+2>>0]|0;k=b[f+3>>0]|0;switch(m<<24>>24){case -16:{if((l+112&255)>=48){f=i;break a}break}case -12:{if((l&-16)<<24>>24!=-128){f=i;break a}break}default:if((l&-64)<<24>>24!=-128){f=i;break a}}j=j&255;if((j&192|0)!=128){p=33;break a}i=k&255;if((i&192|0)!=128){p=33;break a}if(((l&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>e>>>0){p=33;break a}else{g=g+1|0;f=f+4|0}}while(0);g=g+1|0}return f-a|0}function _o(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=0;g=u;u=u+32|0;e=g;h=g+12|0;ND(e,81604);x=0;Ga(538,a|0,e|0);i=x;x=0;do if(i&1)d=Ya()|0;else{f[a>>2]=6640;i=a+8|0;x=0;Ga(459,i|0,e|0);k=x;x=0;if(k&1){d=Ya()|0;dfa(a);break}if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);f[a>>2]=21212;x=0;sa(1032,i|0,53276)|0;k=x;x=0;a:do if(k&1)j=21;else{x=0;Ga(561,h|0,d|0);k=x;x=0;do if(k&1)d=Ya()|0;else{e=h+11|0;k=b[e>>0]|0;d=k<<24>>24<0;x=0;ta(41,i|0,(d?f[h>>2]|0:h)|0,(d?f[h+4>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[e>>0]|0)<0)Hta(f[h>>2]|0);x=0;sa(991,i|0,53298)|0;k=x;x=0;if(k&1){j=21;break a}x=0;Ga(561,h|0,c|0);k=x;x=0;do if(k&1)d=Ya()|0;else{e=h+11|0;k=b[e>>0]|0;c=k<<24>>24<0;x=0;ta(41,i|0,(c?f[h>>2]|0:h)|0,(c?f[h+4>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[e>>0]|0)<0)Hta(f[h>>2]|0);x=0;sa(991,i|0,53306)|0;k=x;x=0;if(k&1){j=21;break a}u=g;return}while(0);break a}while(0)}while(0);if((j|0)==21)d=Ya()|0;f[a>>2]=6640;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);dfa(a);k=d;jb(k|0)}while(0);if((b[e+11>>0]|0)>=0){k=d;jb(k|0)}Hta(f[e>>2]|0);k=d;jb(k|0)}function $o(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=u;u=u+48|0;l=k+32|0;d=k+24|0;e=k+16|0;h=k+8|0;i=k;j=a+4|0;wv(j);g=l+4|0;f[g>>2]=0;f[g+4>>2]=0;g=l+11|0;b[g>>0]=3;b[l>>0]=b[49949]|0;b[l+1>>0]=b[49950]|0;b[l+2>>0]=b[49951]|0;b[l+3>>0]=0;x=0;Ia(147,j|0,l|0,c|0);m=x;x=0;if(m&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=c;jb(m|0)}if((b[g>>0]|0)<0)Hta(f[l>>2]|0);boa(j);qV(d,f[c+76>>2]|0);f[d>>2]=7696;m=f[d+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(d);jb(m|0)}_P(d);qV(e,f[c+68>>2]|0);f[e>>2]=7280;m=f[e+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(e);jb(m|0)}_P(e);c=c+84|0;qV(h,f[c>>2]|0);f[h>>2]=7280;m=(f[h+4>>2]|0)==0;_P(h);if(m){u=k;return}dQ(j);wv(j);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=l+11|0;b[d>>0]=4;f[l>>2]=1702063205;b[l+4>>0]=0;x=0;Ga(682,j|0,l|0);m=x;x=0;if(m&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[l>>2]|0);m=c;jb(m|0)}if((b[d>>0]|0)<0)Hta(f[l>>2]|0);qV(i,f[c>>2]|0);f[i>>2]=7280;m=f[i+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(i);jb(m|0)}else{_P(i);u=k;return}}function ap(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;n=u;u=u+32|0;q=n+12|0;o=n;c=f[a+4>>2]|0;l=f[a+8>>2]|0;if((c|0)==(l|0)){u=n;return}i=a+16|0;j=o+8|0;k=o+4|0;m=o+11|0;p=q+4|0;a:while(1){a=f[c>>2]|0;do if(a|0){e=f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0;if(!((f[199]|0)==(e|0)|(f[195]|0)==(e|0)|(f[191]|0)==(e|0)|(f[203]|0)==(e|0)|(f[125]|0)==(e|0)|(f[225]|0)==(e|0))){if((f[215]|0)!=(e|0))break;if(f[a+96>>2]|0)break}Gv(q,i);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;a=qa(318,80)|0;h=x;x=0;if(h&1){c=19;break a}f[o>>2]=a;f[j>>2]=-2147483568;f[k>>2]=68;e=a;g=50405;h=e+68|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[a+68>>0]=0;x=0;Ia(149,d|0,q|0,o|0);h=x;x=0;if(h&1){c=20;break a}if((b[m>>0]|0)<0)Hta(f[o>>2]|0);a=f[q>>2]|0;if(a|0){e=f[p>>2]|0;if((e|0)!=(a|0)){do{g=e+-52|0;f[p>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[p>>2]|0}else e=g}while((e|0)!=(a|0));a=f[q>>2]|0}Hta(a)}}while(0);c=c+4|0;if((c|0)==(l|0)){c=3;break}}if((c|0)==3){u=n;return}else if((c|0)==19)g=Ya()|0;else if((c|0)==20){c=Ya()|0;if((b[m>>0]|0)<0){Hta(f[o>>2]|0);g=c}else g=c}c=f[q>>2]|0;if(!c)jb(g|0);a=f[p>>2]|0;if((a|0)!=(c|0)){do{e=a+-52|0;f[p>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[p>>2]|0}else a=e}while((a|0)!=(c|0));c=f[q>>2]|0}Hta(c);jb(g|0)}function bp(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;n=u;u=u+32|0;q=n+12|0;o=n;c=f[a+4>>2]|0;l=f[a+8>>2]|0;if((c|0)==(l|0)){u=n;return}i=a+16|0;j=o+8|0;k=o+4|0;m=o+11|0;p=q+4|0;a:while(1){a=f[c>>2]|0;do if(a|0){e=f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0;if(!((f[199]|0)==(e|0)|(f[195]|0)==(e|0)|(f[191]|0)==(e|0)|(f[203]|0)==(e|0)|(f[125]|0)==(e|0)|(f[225]|0)==(e|0))){if((f[215]|0)!=(e|0))break;if(f[a+96>>2]|0)break}Gv(q,i);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;a=qa(318,80)|0;h=x;x=0;if(h&1){c=19;break a}f[o>>2]=a;f[j>>2]=-2147483568;f[k>>2]=71;e=a;g=50333;h=e+71|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[a+71>>0]=0;x=0;Ia(149,d|0,q|0,o|0);h=x;x=0;if(h&1){c=20;break a}if((b[m>>0]|0)<0)Hta(f[o>>2]|0);a=f[q>>2]|0;if(a|0){e=f[p>>2]|0;if((e|0)!=(a|0)){do{g=e+-52|0;f[p>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[p>>2]|0}else e=g}while((e|0)!=(a|0));a=f[q>>2]|0}Hta(a)}}while(0);c=c+4|0;if((c|0)==(l|0)){c=3;break}}if((c|0)==3){u=n;return}else if((c|0)==19)g=Ya()|0;else if((c|0)==20){c=Ya()|0;if((b[m>>0]|0)<0){Hta(f[o>>2]|0);g=c}else g=c}c=f[q>>2]|0;if(!c)jb(g|0);a=f[p>>2]|0;if((a|0)!=(c|0)){do{e=a+-52|0;f[p>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[p>>2]|0}else a=e}while((a|0)!=(c|0));c=f[q>>2]|0}Hta(c);jb(g|0)}function cp(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;m=0;n=u;u=u+48|0;l=n;o=n+40|0;p=VN(88)|0;d=f[c+72>>2]|0;e=f[c+68>>2]|0;j=b[c+84>>0]|0;g=l;h=c+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,p|0);k=x;x=0;do if(k&1)d=Ya()|0;else{e=d-e>>3;g=p+12|0;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[p>>2]=6976;f[p+52>>2]=0;f[p+56>>2]=0;b[p+60>>0]=0;d=p+64|0;f[d>>2]=6936;i=p+68|0;k=p+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,e|0);h=x;x=0;if(h&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[k>>2]|0;if((g|0)!=(e|0)){do{o=g+-8|0;f[k>>2]=o;Kc[f[f[o>>2]>>2]&511](o);g=f[k>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[p>>2]=6780;f[d>>2]=6880;b[p+84>>0]=j;qV(o,p);f[o>>2]=7280;d=o+4|0;e=f[d>>2]|0;f[l>>2]=e;g=a+16|0;h=f[g>>2]|0;if(h>>>0<(f[a+20>>2]|0)>>>0){f[h>>2]=e;f[g>>2]=(f[g>>2]|0)+4;m=12}else{x=0;Ga(655,a+12|0,l|0);p=x;x=0;if(p&1)d=Ya()|0;else m=12}do if((m|0)==12){x=0;Ia(139,a|0,c|0,f[d>>2]|0);p=x;x=0;if(p&1){d=Ya()|0;break}f[g>>2]=(f[g>>2]|0)+-4;d=f[d>>2]|0;if(!d){p=0;_P(o);u=n;return p|0}b[d+8>>0]=1;p=d;_P(o);u=n;return p|0}while(0);_P(o);p=d;jb(p|0)}while(0);Hta(p);p=d;jb(p|0);return 0}function dp(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;p=u;u=u+32|0;m=p+16|0;n=p+8|0;o=p;l=b+64|0;j=(f[b+72>>2]|0)-(f[b+68>>2]|0)>>3;if(!j){u=p;return}k=m+4|0;i=c+64|0;h=0;a:while(1){c=(xc[f[(f[l>>2]|0)+16>>2]&2047](l,h)|0)+4|0;c=f[c>>2]|0;qV(m,xc[f[(f[c>>2]|0)+52>>2]&2047](c,a)|0);f[m>>2]=6920;c=f[k>>2]|0;do if(c|0){if((f[81]|0)!=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){b=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,o|0,c|0);g=x;x=0;if(g&1){b=8;break a}f[o>>2]=6920;x=0;Ga(b|0,i|0,o|0);g=x;x=0;if(g&1){b=18;break a}_P(o);break}g=c+64|0;c=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;if(c|0){b=0;do{d=f[(f[i>>2]|0)+20>>2]|0;x=0;e=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,b|0)|0;q=x;x=0;if(q&1){b=9;break a}x=0;Ga(462,n|0,f[e+4>>2]|0);q=x;x=0;if(q&1){b=9;break a}f[n>>2]=6920;x=0;Ga(d|0,i|0,n|0);q=x;x=0;if(q&1){b=14;break a}_P(n);b=b+1|0}while(b>>>0>>0)}}while(0);_P(m);h=h+1|0;if(h>>>0>=j>>>0){b=3;break}}if((b|0)==3){u=p;return}else if((b|0)==8){q=Ya()|0;_P(m);jb(q|0)}else if((b|0)==9){q=Ya()|0;_P(m);jb(q|0)}else if((b|0)==14){q=Ya()|0;_P(n);_P(m);jb(q|0)}else if((b|0)==18){q=Ya()|0;_P(o);_P(m);jb(q|0)}}function ep(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,l=0,m=0,n=0,o=0,p=0;p=0;o=c;if(!(f&4)){n=0;f=a}else if((o-a|0)>2)if((b[a>>0]|0)==-17)if((b[a+1>>0]|0)==-69){n=0;f=(b[a+2>>0]|0)==-65?a+3|0:a}else{n=0;f=a}else{n=0;f=a}else{n=0;f=a}a:while(1){if(!(n>>>0>>0&f>>>0>>0)){p=34;break}l=b[f>>0]|0;m=l&255;do if(l<<24>>24>-1){if(m>>>0>e>>>0){p=34;break a}f=f+1|0}else{if((l&255)<194){p=34;break a}if((l&255)<224){if((o-f|0)<2){p=34;break a}g=h[f+1>>0]|0;if((g&192|0)!=128){p=34;break a}if((g&63|m<<6&1984)>>>0>e>>>0){p=34;break a}f=f+2|0;break}if((l&255)<240){g=f;if((o-g|0)<3){p=34;break a}j=b[f+1>>0]|0;i=b[f+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96){f=g;break a}break}case -19:{if((j&-32)<<24>>24!=-128){f=g;break a}break}default:if((j&-64)<<24>>24!=-128){f=g;break a}}g=i&255;if((g&192|0)!=128){p=34;break a}if(((j&63)<<6|m<<12&61440|g&63)>>>0>e>>>0){p=34;break a}else{f=f+3|0;break}}if((l&255)>=245){p=34;break a}g=f;if((o-g|0)<4){p=34;break a}k=b[f+1>>0]|0;i=b[f+2>>0]|0;j=b[f+3>>0]|0;switch(l<<24>>24){case -16:{if((k+112&255)>=48){f=g;break a}break}case -12:{if((k&-16)<<24>>24!=-128){f=g;break a}break}default:if((k&-64)<<24>>24!=-128){f=g;break a}}i=i&255;if((i&192|0)!=128){p=34;break a}g=j&255;if((g&192|0)!=128){p=34;break a}if(((k&63)<<12|m<<18&1835008|i<<6&4032|g&63)>>>0>e>>>0){p=34;break a}else f=f+4|0}while(0);n=n+1|0}return f-a|0}function fp(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;j=(c-b|0)/12|0;k=a+8|0;d=f[k>>2]|0;g=f[a>>2]|0;e=g;if(j>>>0>((d-g|0)/12|0)>>>0){if(g){i=a+4|0;d=f[i>>2]|0;if((d|0)==(e|0))d=g;else{g=d;while(1){d=g+-12|0;f[i>>2]=d;h=f[d>>2]|0;if(h){d=g+-8|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-4-h|0)>>>2)<<2);Hta(h);d=f[i>>2]|0}if((d|0)==(e|0))break;else g=d}d=f[a>>2]|0}Hta(d);f[k>>2]=0;f[i>>2]=0;f[a>>2]=0;d=0}if(j>>>0>357913941)EO(a);i=(d|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?j:e):357913941;if(e>>>0>357913941)EO(a);d=VN(e*12|0)|0;g=a+4|0;f[g>>2]=d;f[a>>2]=d;f[k>>2]=d+(e*12|0);if((b|0)==(c|0))return;do{PC(d,b);b=b+12|0;d=(f[g>>2]|0)+12|0;f[g>>2]=d}while((b|0)!=(c|0));return}i=a+4|0;d=((f[i>>2]|0)-g|0)/12|0;h=j>>>0>d>>>0;d=b+(d*12|0)|0;g=h?d:c;if((g|0)!=(b|0))do{if((e|0)!=(b|0))Wt(e,f[b>>2]|0,f[b+4>>2]|0);b=b+12|0;e=e+12|0}while((b|0)!=(g|0));if(h){if((g|0)==(c|0))return;b=f[i>>2]|0;do{PC(b,d);d=d+12|0;b=(f[i>>2]|0)+12|0;f[i>>2]=b}while((d|0)!=(c|0));return}d=f[i>>2]|0;if((d|0)==(e|0))return;do{b=d+-12|0;f[i>>2]=b;g=f[b>>2]|0;if(!g)d=b;else{d=d+-8|0;b=f[d>>2]|0;if((b|0)!=(g|0))f[d>>2]=b+(~((b+-4-g|0)>>>2)<<2);Hta(g);d=f[i>>2]|0}}while((d|0)!=(e|0));return}function gp(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;i=0;k=u;u=u+48|0;j=k;l=k+40|0;h=a+4|0;UP(l,f[h>>2]|0);g=l+4|0;if(!(f[g>>2]|0)){x=0;e=qa(318,60)|0;i=x;x=0;if(i&1){k=Ya()|0;_P(l);jb(k|0)}a=j;c=c+12|0;d=a+40|0;do{f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));x=0;Fa(427,e|0);i=x;x=0;if(i&1){k=Ya()|0;Hta(e);_P(l);jb(k|0)}else{a=e+12|0;c=j;d=a+40|0;do{f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e>>2]=13152;f[e+56>>2]=8;j=e;_P(l);u=k;return j|0}}c=(f[h>>2]|0)+96|0;e=f[c>>2]|0;d=e+-8|0;do{m=e+-8|0;f[c>>2]=m;Kc[f[f[m>>2]>>2]&511](m);e=f[c>>2]|0}while((e|0)!=(d|0));x=0;c=sa(f[(f[a>>2]|0)+276>>2]|0,a|0,f[g>>2]|0)|0;m=x;x=0;do if(m&1)i=15;else{x=0;Ga(462,j|0,c|0);m=x;x=0;if(m&1)i=15;else{f[j>>2]=7168;c=f[h>>2]|0;d=c+96|0;e=f[d>>2]|0;if((e|0)==(f[c+100>>2]|0)){x=0;Ga(565,c+92|0,j|0);m=x;x=0;if(m&1)i=16;else c=j+4|0}else{c=j+4|0;x=0;Ga(462,e|0,f[c>>2]|0);m=x;x=0;if(m&1)i=16;else{f[e>>2]=7168;f[d>>2]=(f[d>>2]|0)+8}}if((i|0)==16){c=Ya()|0;_P(j);break}c=f[c>>2]|0;if(!c)c=0;else b[c+8>>0]=1;_P(j);m=c;_P(l);u=k;return m|0}}while(0);if((i|0)==15)c=Ya()|0;m=c;_P(l);jb(m|0);return 0}function hp(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;n=u;u=u+48|0;l=n+40|0;o=n+16|0;i=n+8|0;j=n+12|0;k=n+4|0;m=n;a:do if(!(f[e+4>>2]&1)){f[i>>2]=-1;m=f[(f[a>>2]|0)+16>>2]|0;f[j>>2]=f[c>>2];f[k>>2]=f[d>>2];f[o>>2]=f[j>>2];f[l>>2]=f[k>>2];o=Dc[m&63](a,o,l,e,g,i)|0;f[c>>2]=o;switch(f[i>>2]|0){case 0:{b[h>>0]=0;break}case 1:{b[h>>0]=1;break}default:{b[h>>0]=1;f[g>>2]=4}}a=f[c>>2]|0}else{kha(l,e);x=0;j=sa(994,l|0,83352)|0;k=x;x=0;do if(k&1){a=Ya()|0;uga(l)}else{uga(l);kha(l,e);x=0;a=sa(994,l|0,83360)|0;e=x;x=0;if(e&1){a=Ya()|0;uga(l);break}uga(l);x=0;Ga(f[(f[a>>2]|0)+24>>2]|0,o|0,a|0);e=x;x=0;b:do if(e&1)a=Ya()|0;else{x=0;Ga(f[(f[a>>2]|0)+28>>2]|0,o+12|0,a|0);e=x;x=0;if(e&1){a=Ya()|0;jaa(o);break}f[m>>2]=f[d>>2];i=o+24|0;x=0;f[l>>2]=f[m>>2];a=za(92,c|0,l|0,o|0,i|0,j|0,g|0,1)|0;m=x;x=0;if(m&1){a=Ya()|0;j=I;while(1){i=i+-12|0;jaa(i);if((i|0)==(o|0))break b}}b[h>>0]=(a|0)==(o|0)&1;a=f[c>>2]|0;do{i=i+-12|0;jaa(i)}while((i|0)!=(o|0));break a}while(0)}while(0);jb(a|0)}while(0);u=n;return a|0}function ip(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;n=u;u=u+48|0;l=n+40|0;o=n+16|0;i=n+8|0;j=n+12|0;k=n+4|0;m=n;a:do if(!(f[e+4>>2]&1)){f[i>>2]=-1;m=f[(f[a>>2]|0)+16>>2]|0;f[j>>2]=f[c>>2];f[k>>2]=f[d>>2];f[o>>2]=f[j>>2];f[l>>2]=f[k>>2];o=Dc[m&63](a,o,l,e,g,i)|0;f[c>>2]=o;switch(f[i>>2]|0){case 0:{b[h>>0]=0;break}case 1:{b[h>>0]=1;break}default:{b[h>>0]=1;f[g>>2]=4}}a=f[c>>2]|0}else{kha(l,e);x=0;j=sa(994,l|0,83320)|0;k=x;x=0;do if(k&1){a=Ya()|0;uga(l)}else{uga(l);kha(l,e);x=0;a=sa(994,l|0,83336)|0;e=x;x=0;if(e&1){a=Ya()|0;uga(l);break}uga(l);x=0;Ga(f[(f[a>>2]|0)+24>>2]|0,o|0,a|0);e=x;x=0;b:do if(e&1)a=Ya()|0;else{x=0;Ga(f[(f[a>>2]|0)+28>>2]|0,o+12|0,a|0);e=x;x=0;if(e&1){a=Ya()|0;Aaa(o);break}f[m>>2]=f[d>>2];i=o+24|0;x=0;f[l>>2]=f[m>>2];a=za(91,c|0,l|0,o|0,i|0,j|0,g|0,1)|0;m=x;x=0;if(m&1){a=Ya()|0;j=I;while(1){i=i+-12|0;Aaa(i);if((i|0)==(o|0))break b}}b[h>>0]=(a|0)==(o|0)&1;a=f[c>>2]|0;do{i=i+-12|0;Aaa(i)}while((i|0)!=(o|0));break a}while(0)}while(0);jb(a|0)}while(0);u=n;return a|0}function jp(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=0;a:do switch(b[a>>0]|0){case 9:case 32:{c=a+1|0;h=14;break}default:{c=mH(a)|0;if(!c){c=RC(a)|0;if(!c){d=b[51446]|0;b:do if(!(d<<24>>24)){c=a;h=7}else{c=a;e=51446;while(1){if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){h=7;break}}}while(0);do if((h|0)==7){d=b[c>>0]|0;if(d<<24>>24){g=b[52228]|0;if(!(g<<24>>24))if(!c)break;else{h=14;break a}do{if(d<<24>>24==g<<24>>24){d=c;e=52228;do{d=d+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=d;h=14;break a}}while((b[d>>0]|0)==f<<24>>24)}c=c+1|0;d=b[c>>0]|0}while(d<<24>>24!=0)}}while(0);if(!a){h=0;return h|0}else c=a}else h=14}else h=14}}while(0);c:do if((h|0)==14)d:while(1){switch(b[c>>0]|0){case 9:case 32:{c=c+1|0;h=14;continue d}default:{}}d=mH(c)|0;if(d|0){c=d;h=14;continue}d=RC(c)|0;if(d|0){c=d;h=14;continue}e=b[51446]|0;if(!(e<<24>>24))d=c;else{d=c;f=51446;do{if((b[d>>0]|0)!=e<<24>>24)break c;d=d+1|0;f=f+1|0;e=b[f>>0]|0}while(e<<24>>24!=0)}e=b[d>>0]|0;if(!(e<<24>>24))break c;a=b[52228]|0;if(!(a<<24>>24))if(!d)break c;else{c=d;h=14;continue}while(1){if(e<<24>>24==a<<24>>24){e=d;f=52228;while(1){e=e+1|0;f=f+1|0;g=b[f>>0]|0;if(!(g<<24>>24)){c=e;h=14;continue d}if((b[e>>0]|0)!=g<<24>>24)break}}d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break c}}while(0);h=(BR(c)|0)!=0;return h|0}function kp(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;c=a;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(c|0){c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}d=b[36400]|0;g=d<<24>>24==0;a:do if(g)c=0;else{c=b[a>>0]|0;e=36400;f=d;while(1){if(c<<24>>24==f<<24>>24)break a;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=0;break}}}while(0);f=a+1|0;c=c<<24>>24?f:a;if(c|0){c=Nu(c)|0;if(c|0)if((b[c>>0]|0)==37){a=c+1|0;return a|0}}b:do if(g)c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break b;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?f:a;if(c|0){c=Nu(c)|0;if(c|0){c=Nm(c)|0;if(c|0){a=c;return a|0}}}if((b[a>>0]|0)==36){c=a;do c=c+1|0;while((b[c>>0]|0)==45);c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}c=S5(a)|0;if(c|0){a=c;return a|0}if((b[a>>0]|0)!=92){a=0;return a|0}a=$ma(f)|0;return a|0}function lp(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=0;m=f[a+4>>2]|0;d=f[c>>2]|0;n=f[c+4>>2]|0;if((d|0)==(n|0)){p=0;return p|0}l=f[a>>2]|0;while(1){if((l|0)==(m|0)){p=13;break}g=b[d+11>>0]|0;i=g<<24>>24<0;g=i?f[d+4>>2]|0:g&255;h=b[l+11>>0]|0;j=h<<24>>24<0;h=j?f[l+4>>2]|0:h&255;k=g>>>0>>0;e=k?g:h;if(!e)p=6;else{e=lO(j?f[l>>2]|0:l,i?f[d>>2]|0:d,e)|0;if(!e)p=6;else if((e|0)<0){p=13;break}}if((p|0)==6){p=0;if(h>>>0>>0){p=13;break}}e=h>>>0>>0?h:g;if(!e)p=10;else{e=lO(i?f[d>>2]|0:d,j?f[l>>2]|0:l,e)|0;if(!e)p=10;else if((e|0)<0){o=0;p=25;break}}if((p|0)==10){p=0;if(k){o=0;p=25;break}}d=d+12|0;if((d|0)==(n|0)){o=0;p=25;break}else l=l+12|0}if((p|0)==13){n=f[a+16>>2]|0;d=f[c+12>>2]|0;m=f[c+16>>2]|0;if((d|0)==(m|0)){p=0;return p|0}l=f[a+12>>2]|0;while(1){if((l|0)==(n|0)){o=1;p=25;break}g=b[d+11>>0]|0;i=g<<24>>24<0;g=i?f[d+4>>2]|0:g&255;h=b[l+11>>0]|0;j=h<<24>>24<0;h=j?f[l+4>>2]|0:h&255;k=g>>>0>>0;e=k?g:h;if(!e)p=18;else{e=lO(j?f[l>>2]|0:l,i?f[d>>2]|0:d,e)|0;if(!e)p=18;else if((e|0)<0){o=1;p=25;break}}if((p|0)==18){p=0;if(h>>>0>>0){o=1;p=25;break}}e=h>>>0>>0?h:g;if(!e)p=22;else{e=lO(i?f[d>>2]|0:d,j?f[l>>2]|0:l,e)|0;if(!e)p=22;else if((e|0)<0){o=0;p=25;break}}if((p|0)==22){p=0;if(k){o=0;p=25;break}}d=d+12|0;if((d|0)==(m|0)){o=0;p=25;break}else l=l+12|0}if((p|0)==25)return o|0}else if((p|0)==25)return o|0;return 0}function mp(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=u;u=u+32|0;m=l+12|0;k=l;d=f[a+4>>2]|0;h=f[a+8>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=h-d|0;if(g>>>0>4294967279)CO(m);if(g>>>0<11){b[m+11>>0]=g;a=m}else{j=g+16&-16;a=VN(j)|0;f[m>>2]=a;f[m+8>>2]=j|-2147483648;f[m+4>>2]=g}if((d|0)!=(h|0)){e=a;while(1){b[e>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(h|0))break;else e=e+1|0}a=a+g|0}b[a>>0]=0;d=f[c+4>>2]|0;g=f[c+8>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=g-d|0;do if(h>>>0>4294967279){x=0;Fa(428,k|0);x=0}else{if(h>>>0<11){b[k+11>>0]=h;a=k}else{e=h+16&-16;x=0;a=qa(318,e|0)|0;j=x;x=0;if(j&1)break;f[k>>2]=a;f[k+8>>2]=e|-2147483648;f[k+4>>2]=h}if((d|0)!=(g|0)){e=a;while(1){b[e>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(g|0))break;else e=e+1|0}a=a+h|0}b[a>>0]=0;d=b[m+11>>0]|0;i=d<<24>>24<0;d=d&255;e=i?f[m+4>>2]|0:d;c=b[k+11>>0]|0;j=c<<24>>24<0;a:do if((e|0)==((j?f[k+4>>2]|0:c&255)|0)){g=f[m>>2]|0;h=i?g:m;a=j?f[k>>2]|0:k;c=(e|0)==0;if(i){if(c){a=1;break}a=(lO(h,a,e)|0)==0;break}if(c)a=1;else if((b[a>>0]|0)==(g&255)<<24>>24){e=m;while(1){d=d+-1|0;e=e+1|0;if(!d){a=1;break a}a=a+1|0;if((b[e>>0]|0)!=(b[a>>0]|0)){a=0;break}}}else a=0}else a=0;while(0);if(j)Hta(f[k>>2]|0);if(!i){u=l;return a|0}Hta(f[m>>2]|0);u=l;return a|0}while(0);a=Ya()|0;if((b[m+11>>0]|0)>=0)jb(a|0);Hta(f[m>>2]|0);jb(a|0);return 0}function np(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a){i=0;return i|0}i=b[36397]|0;e=i<<24>>24==0;a:do if(!e){c=36397;d=i;while(1){if((b[a>>0]|0)!=d<<24>>24){a=0;break}a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24))break a}return a|0}while(0);d=b[a>>0]|0;if(!(d<<24>>24)){i=0;return i|0}if(e){c=0;e=0;while(1){switch(d<<24>>24){case 92:{f=e;a=a+1|0;break}case 34:{c=c^1;f=e;break}case 39:{f=e^1;break}default:if(c){c=1;f=e}else{c=0;f=e;a=e?a:a+-1|0}}a=a+1|0;d=b[a>>0]|0;if(!(d<<24>>24)){a=0;break}else e=f}return a|0}else{g=a;a=0;c=0;h=0}b:while(1){c:do switch(d<<24>>24){case 92:{f=a;a=g+1|0;e=h;break}case 34:{f=a^1;a=g;e=h;break}case 39:{f=a;c=c^1;a=g;e=h;break}default:if(a){f=1;a=g;e=h}else if(c){f=0;c=1;a=g;e=h}else{d:do if(d<<24>>24==i<<24>>24){a=g;c=36397;while(1){e=a+1|0;c=c+1|0;f=b[c>>0]|0;if(!(f<<24>>24))break;if((b[e>>0]|0)!=f<<24>>24)break d;else a=e}f=0;c=0;e=h+1|0;break c}while(0);a=b[51458]|0;e:do if(!(a<<24>>24))a=g;else{if(d<<24>>24==a<<24>>24){a=g;c=51458}else{f=0;c=0;a=g;e=h;break c}while(1){a=a+1|0;c=c+1|0;d=b[c>>0]|0;if(!(d<<24>>24))break e;if((b[a>>0]|0)!=d<<24>>24){f=0;c=0;a=g;e=h;break c}}}while(0);if(!h){c=30;break b}else{f=0;c=0;a=a+-1|0;e=h+-1|0}}}while(0);g=a+1|0;d=b[g>>0]|0;if(!(d<<24>>24)){a=0;c=30;break}else{a=f;h=e}}if((c|0)==30)return a|0;return 0}function op(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;if((c|0)==(b|0)){b=d;m=b;m=f[m>>2]|0;b=b+4|0;b=f[b>>2]|0;d=a;a=d;f[a>>2]=m;d=d+4|0;f[d>>2]=b;return}l=b;m=d+4|0;do{g=d;k=f[g>>2]|0;e=k;k=(f[g+4>>2]|0)-(f[k>>2]|0)|0;g=(k|0)/28|0;h=g+-1|0;if((k|0)>28){g=e+(((h>>>0)/146|0)<<2)|0;e=(f[g>>2]|0)+(((h>>>0)%146|0)*28|0)|0}else{k=146-g|0;g=e+(((k|0)/-146|0)<<2)|0;e=(f[g>>2]|0)+((145-((k|0)%146|0)|0)*28|0)|0}h=e+28|0;j=(h-(f[g>>2]|0)|0)/28|0;k=(c-l|0)/28|0;i=(k|0)>(j|0);k=i?j:k;e=c;c=i?c+((0-j|0)*28|0)|0:b;if((e|0)!=(c|0))do{g=e;e=e+-28|0;i=h;h=h+-28|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];if((i|0)!=(g|0)){j=i+-12|0;if(f[j>>2]|0)vQ(i+-16|0);n=g+-12|0;f[j>>2]=f[n>>2];f[n>>2]=0}o=g+-8|0;n=f[o>>2]|0;g=g+-4|0;j=f[g>>2]|0;f[o>>2]=0;f[g>>2]=0;f[i+-8>>2]=n;n=i+-4|0;g=f[n>>2]|0;f[n>>2]=j;if(g|0)QZ(g)}while((e|0)!=(c|0));if(k|0){g=f[d>>2]|0;e=(((f[m>>2]|0)-(f[g>>2]|0)|0)/28|0)-k|0;if((e|0)>0){o=g+(((e>>>0)/146|0)<<2)|0;f[d>>2]=o;e=(f[o>>2]|0)+(((e>>>0)%146|0)*28|0)|0}else{e=145-e|0;o=g+(((e|0)/-146|0)<<2)|0;f[d>>2]=o;e=(f[o>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}f[m>>2]=e}}while((c|0)!=(b|0));n=d;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;o=a;d=o;f[d>>2]=b;o=o+4|0;f[o>>2]=n;return}function pp(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=0;if(c>>>0>1073741807)CO(a);m=a+8|0;j=m+3|0;g=b[j>>0]|0;h=g<<24>>24<0;if(h){l=f[a+4>>2]|0;e=(f[m>>2]&2147483647)+-1|0}else{l=g&255;e=1}i=l>>>0>c>>>0?l:c;c=i>>>0<2;i=c?1:(i+4&-4)+-1|0;a:do if((i|0)!=(e|0)){do if(c){c=f[a>>2]|0;if(h){d=c;g=0;e=a;k=26}else{RP(a,c,(g&255)+1|0)|0;Hta(c);k=29}}else{d=i+1|0;c=d>>>0>1073741823;b:do if(i>>>0>e>>>0){if(!c){c=VN(d<<2)|0;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Ya()|0;bb(c|0);jb(m|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}else{do if(c){c=Ta(8)|0;x=0;Ga(461,c|0,60050);m=x;x=0;if(m&1){m=Za(0)|0;bb(c|0);c=m;break}else{f[c>>2]=29784;x=0;Ia(77,c|0,6192,412);x=0;k=19;break}}else{x=0;c=qa(318,d<<2|0)|0;k=x;x=0;if(k&1)k=19;else break b}while(0);if((k|0)==19)c=Za(0)|0;Ua(c|0)|0;Wa();break a}while(0);if(h){d=f[a>>2]|0;g=1;e=c;k=26;break}else{RP(c,a,(g&255)+1|0)|0;e=c;c=a+4|0;k=28;break}}while(0);if((k|0)==26){c=a+4|0;RP(e,d,(f[c>>2]|0)+1|0)|0;Hta(d);if(g){d=i+1|0;k=28}else k=29}if((k|0)==28){f[m>>2]=d|-2147483648;f[c>>2]=l;f[a>>2]=e;break}else if((k|0)==29){b[j>>0]=l;break}}while(0);return}function qp(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;do if(c|0){e=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[215]|0)==(e|0)){if(!((f[c+96>>2]|0)==0|(f[139]|0)==(e|0)|(f[167]|0)==(e|0)|(f[129]|0)==(e|0)|(f[367]|0)==(e|0)|(f[101]|0)==(e|0)|(f[149]|0)==(e|0)|(f[153]|0)==(e|0)|(f[225]|0)==(e|0)))break;u=i;return}else{if(!((f[139]|0)==(e|0)|(f[167]|0)==(e|0)|(f[129]|0)==(e|0)|(f[367]|0)==(e|0)|(f[101]|0)==(e|0)|(f[149]|0)==(e|0)|(f[153]|0)==(e|0)|(f[225]|0)==(e|0)))break;u=i;return}}while(0);Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,96)|0;g=x;x=0;do if(g&1)d=Ya()|0;else{f[h>>2]=a;f[h+8>>2]=-2147483552;f[h+4>>2]=90;c=a;e=50169;g=c+90|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[a+90>>0]=0;x=0;Ia(149,d|0,j|0,h|0);d=x;x=0;if(d&1){a=Ya()|0;if((b[h+11>>0]|0)>=0){d=a;break}Hta(f[h>>2]|0);d=a;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);a=f[j>>2]|0;if(!a){u=i;return}g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);u=i;return}while(0);a=f[j>>2]|0;if(!a)jb(d|0);g=j+4|0;c=f[g>>2]|0;if((c|0)!=(a|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(a|0));a=f[j>>2]|0}Hta(a);jb(d|0)}function rp(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;o=0;l=u;u=u+32|0;n=l+12|0;m=l;ND(n,c+64|0);k=a+4|0;if(!(b[c+61>>0]|0))o=16;else{x=0;d=qa(399,k|0)|0;j=x;x=0;if(j&1)o=14;else if((d|0)==3){i=n+11|0;g=b[i>>0]|0;h=g<<24>>24<0;j=n+4|0;e=h?f[n>>2]|0:n;h=h?f[j>>2]|0:g&255;d=e+h|0;a:do if(!h)o=7;else do{if(wpa(b[e>>0]|0)|0){o=7;break a}e=e+1|0}while((e|0)!=(d|0));while(0);if((o|0)==7)if((e|0)!=(d|0)){h=e+1|0;if((h|0)==(d|0))d=e;else{do{g=b[h>>0]|0;if(!(wpa(g<<24>>24)|0)){b[e>>0]=g;e=e+1|0}h=h+1|0}while((h|0)!=(d|0));g=b[i>>0]|0;d=e}}i=d;e=g<<24>>24<0;h=f[n>>2]|0;x=0;ta(40,n|0,i-(e?h:n)|0,(e?h+(f[j>>2]|0)|0:n+(g&255)|0)-i|0)|0;j=x;x=0;if(j&1)d=Ya()|0;else o=16}else o=16}b:do if((o|0)==16){c:do if(!(b[a+101>>0]|0))if(!(b[a+100>>0]|0)){x=0;Ga(648,m|0,n|0);a=x;x=0;do if(a&1)d=Ya()|0;else{x=0;Ia(147,k|0,m|0,c|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);break c}while(0);break b}else o=27;else o=27;while(0);if((o|0)==27){x=0;Ia(147,k|0,n|0,c|0);o=x;x=0;if(o&1){o=14;break}}if((b[n+11>>0]|0)>=0){u=l;return}Hta(f[n>>2]|0);u=l;return}while(0);if((o|0)==14)d=Ya()|0;if((b[n+11>>0]|0)>=0)jb(d|0);Hta(f[n>>2]|0);jb(d|0)}function sp(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;m=0;n=u;u=u+16|0;h=n+12|0;l=n;k=n+8|0;x=0;Ga(535,l|0,a|0);j=x;x=0;a:do if(j&1){d=Za(0)|0;e=a;g=a}else{do if(b[l>>0]|0){i=(f[a>>2]|0)+-12|0;f[k>>2]=f[a+(f[i>>2]|0)+24>>2];i=a+(f[i>>2]|0)|0;j=f[i+4>>2]|0;g=c+d|0;e=i+76|0;d=f[e>>2]|0;do if((d|0)==-1){x=0;Ga(536,h|0,i|0);d=x;x=0;if(d&1)m=14;else{x=0;d=sa(994,h|0,83320)|0;o=x;x=0;if(!(o&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,32)|0;o=x;x=0;if(!(o&1)){uga(h);d=d<<24>>24;f[e>>2]=d;m=9;break}}d=Za(0)|0;uga(h)}}else m=9;while(0);if((m|0)==9){x=0;f[h>>2]=f[k>>2];d=ya(39,h|0,c|0,((j&176|0)==32?g:c)|0,g|0,i|0,d&255|0)|0;o=x;x=0;if(o&1)m=14;else{if(d|0)break;o=a+(f[(f[a>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,o|0,f[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break;d=Za(0)|0}}if((m|0)==14)d=Za(0)|0;XB(l);e=a;g=a;break a}while(0);XB(l);u=n;return a|0}while(0);Ua(d|0)|0;x=0;Fa(439,e+(f[(f[g>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){Wa();u=n;return a|0}d=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(d|0);return 0}function tp(a,c){a=a|0;c=+c;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;o=u;u=u+80|0;d=o;m=o+8|0;p[d>>3]=c;RV(m,43869,d)|0;d=(b[m>>0]|0)==45?m+1|0:m;e=b[d>>0]|0;if(e<<24>>24==48){e=d+1|0;d=e;e=b[e>>0]|0;g=5}else if((e+-48&255)<10){do{d=d+1|0;e=b[d>>0]|0}while((e+-48&255)<10);g=5}a:do if((g|0)==5){if(e<<24>>24==46){d=d+1|0;if(((b[d>>0]|0)+-48&255)>=10)break;do{d=d+1|0;e=b[d>>0]|0}while((e+-48&255)<10)}switch(e<<24>>24){case 101:case 69:{e=d+1|0;g=b[e>>0]|0;switch(g<<24>>24){case 45:case 43:{d=d+2|0;e=d;d=b[d>>0]|0;break}default:d=g}if((d+-48&255)>=10)break a;do{e=e+1|0;d=b[e>>0]|0}while((d+-48&255)<10);break}default:d=e}if(!(d<<24>>24)){k=hL(m)|0;l=a+4|0;g=f[l>>2]|0;e=f[a>>2]|0;d=e;do if((g-e|0)<(k|0)){j=a+8|0;h=f[j>>2]|0;i=e-h|0;d=i+k|0;e=g-h|0;do e=e<<1;while(e>>>0>>0);d=eJ(h,e|1)|0;f[j>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{n=d+i|0;f[a>>2]=n;f[l>>2]=d+e;break}}else n=d;while(0);Lu(n|0,m|0,k|0)|0;n=k;m=f[a>>2]|0;n=m+n|0;f[a>>2]=n;u=o;return}}while(0);k=a+4|0;g=f[k>>2]|0;e=f[a>>2]|0;d=e;do if((g-e|0)<4){j=a+8|0;h=f[j>>2]|0;i=e-h|0;d=i+4|0;e=g-h|0;do e=e<<1;while(e>>>0>>0);d=eJ(h,e|1)|0;f[j>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{l=d+i|0;f[a>>2]=l;f[k>>2]=d+e;break}}else l=d;while(0);b[l>>0]=110;b[l+1>>0]=117;b[l+2>>0]=108;b[l+3>>0]=108;n=4;m=f[a>>2]|0;n=m+n|0;f[a>>2]=n;u=o;return}function up(a,c,d,e,g,h,i,j,k,l,m,n){a=a|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;m=m|0;n=n|0;var o=0;a:do if(a<<24>>24==h<<24>>24)if(!(b[c>>0]|0))h=-1;else{b[c>>0]=0;d=f[g>>2]|0;f[g>>2]=d+1;b[d>>0]=46;g=b[j+11>>0]|0;if(!((g<<24>>24<0?f[j+4>>2]|0:g&255)|0))h=0;else{h=f[l>>2]|0;if((h-k|0)<160){k=f[m>>2]|0;f[l>>2]=h+4;f[h>>2]=k;h=0}else h=0}}else{if(a<<24>>24==i<<24>>24){o=b[j+11>>0]|0;if((o<<24>>24<0?f[j+4>>2]|0:o&255)|0){if(!(b[c>>0]|0)){h=-1;break}h=f[l>>2]|0;if((h-k|0)>=160){h=0;break}k=f[m>>2]|0;f[l>>2]=h+4;f[h>>2]=k;f[m>>2]=0;h=0;break}}o=n+32|0;i=0;while(1){h=n+i|0;if((i|0)==32){h=o;break}if((b[h>>0]|0)==a<<24>>24)break;else i=i+1|0}i=h-n|0;if((i|0)>31)h=-1;else{o=b[57704+i>>0]|0;switch(i|0){case 24:case 25:{h=f[g>>2]|0;if((h|0)!=(e|0))if((b[h+-1>>0]&95)!=(b[d>>0]&127)){h=-1;break a}f[g>>2]=h+1;b[h>>0]=o;h=0;break a}case 23:case 22:{b[d>>0]=80;h=f[g>>2]|0;f[g>>2]=h+1;b[h>>0]=o;h=0;break a}default:{h=o&95;if((h|0)==(b[d>>0]|0)){b[d>>0]=h|128;if(b[c>>0]|0){b[c>>0]=0;d=b[j+11>>0]|0;if((d<<24>>24<0?f[j+4>>2]|0:d&255)|0){h=f[l>>2]|0;if((h-k|0)<160){k=f[m>>2]|0;f[l>>2]=h+4;f[h>>2]=k}}}}l=f[g>>2]|0;f[g>>2]=l+1;b[l>>0]=o;if((i|0)>21){h=0;break a}f[m>>2]=(f[m>>2]|0)+1;h=0;break a}}}}while(0);return h|0}function vp(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,v=0,w=0;s=0;t=u;u=u+32|0;w=t+12|0;q=t;r=KO((b[c+11>>0]|0)<0?f[c>>2]|0:c)|0;if(!r){w=-1;u=t;return w|0}i=w+11|0;j=q+11|0;k=q+3|0;l=w+4|0;m=w+8|0;v=w+11|0;n=q+4|0;o=q+2|0;p=q+1|0;h=0;a:while(1){do{d=aF(r)|0;if(!d){s=24;break a}g=d+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=hL(g)|0;if(e>>>0>4294967279){s=6;break a}if(e>>>0<11){b[i>>0]=e;if(!e)d=w;else{d=w;s=10}}else{s=e+16&-16;d=VN(s)|0;f[w>>2]=d;f[m>>2]=s|-2147483648;f[l>>2]=e;s=10}if((s|0)==10){s=0;Lu(d|0,g|0,e|0)|0}b[d+e>>0]=0;d=n;f[d>>2]=0;f[d+4>>2]=0;b[j>>0]=3;b[q>>0]=b[44238]|0;b[q+1>>0]=b[44239]|0;b[q+2>>0]=b[44240]|0;b[k>>0]=0;d=b[i>>0]|0;e=d<<24>>24<0;d=e?f[l>>2]|0:d&255;if(d>>>0<3)d=0;else{d=(e?f[w>>2]|0:w)+d+-1|0;if((b[o>>0]|0)==(b[d>>0]|0)){d=d+-1|0;if((b[p>>0]|0)==(b[d>>0]|0))d=(b[q>>0]|0)==(b[d+-1>>0]|0)?1:0;else d=0}else d=0}if(e)Hta(f[w>>2]|0)}while(!d);jB(w,c,g);x=0;d=sa(1025,a|0,w|0)|0;g=x;x=0;if(g&1){s=21;break}if((b[v>>0]|0)<0)Hta(f[w>>2]|0);h=h+(d&1)|0}if((s|0)==6)CO(w);else if((s|0)==21){d=Ya()|0;if((b[v>>0]|0)>=0)jb(d|0);Hta(f[w>>2]|0);jb(d|0)}else if((s|0)==24){yla(r)|0;w=h;u=t;return w|0}return 0}function wp(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=u;u=u+64|0;g=l+32|0;h=l+24|0;i=l+16|0;k=l+8|0;j=l;m=l+40|0;e=c+68|0;d=b[e+11>>0]|0;if(d<<24>>24<0)d=f[c+72>>2]|0;else d=d&255;if(d|0){d=a+4|0;FI(d,e,c);yy(d)}d=c+64|0;qV(g,f[d>>2]|0);f[g>>2]=7696;e=(f[g+4>>2]|0)==0;_P(g);if(e){u=l;return}qV(h,f[d>>2]|0);f[h>>2]=7696;g=(f[(f[h+4>>2]|0)+56>>2]|0)==8;_P(h);if(g){u=l;return}qV(i,f[d>>2]|0);f[i>>2]=7696;h=(f[(f[i+4>>2]|0)+56>>2]|0)==4;_P(i);do if(h){qV(k,f[d>>2]|0);f[k>>2]=7696;x=0;d=qa(334,f[k+4>>2]|0)|0;j=x;x=0;if(j&1){m=Ya()|0;_P(k);jb(m|0)}else{_P(k);if(!d)break;Lc[f[(f[d>>2]|0)+44>>2]&1023](d,a);break}}else{qV(j,f[d>>2]|0);f[j>>2]=7696;k=f[j+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(!(k&1)){_P(j);break}m=Ya()|0;_P(j);jb(m|0)}while(0);if(!(b[c+80>>0]|0)){u=l;return}e=m+4|0;f[e>>2]=0;f[e+4>>2]=0;e=m+11|0;b[e>>0]=3;b[m>>0]=b[49844]|0;b[m+1>>0]=b[49845]|0;b[m+2>>0]=b[49846]|0;b[m+3>>0]=0;x=0;Ga(682,a+4|0,m|0);a=x;x=0;if(a&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}else{if((b[e>>0]|0)<0)Hta(f[m>>2]|0);u=l;return}}function xp(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=0;h=u;u=u+4112|0;i=h;e=BL(h+16|0,4096)|0;if(!e){h=Ta(20)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=0;c=qa(318,32)|0;a=x;x=0;do if(a&1)c=Ya()|0;else{f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=16;d=c;e=43474;g=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+16>>0]=0;x=0;Ga(538,h|0,i|0);a=x;x=0;do if(a&1){c=1;j=8}else{f[h>>2]=6640;x=0;Ga(459,h+8|0,i|0);a=x;x=0;if(a&1){c=Ya()|0;dfa(h);d=1;break}else{x=0;Ia(77,h|0,256,6);x=0;c=0;j=8;break}}while(0);if((j|0)==8){j=Ya()|0;d=c;c=j}if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);if(d)break;jb(c|0)}else{if(d)break;jb(c|0)}}while(0);bb(h|0);j=c;jb(j|0)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279)CO(a);if(g>>>0<11){d=a+11|0;b[d>>0]=g;if(!g){c=a;e=d}else{c=a;j=18}}else{d=g+16&-16;c=VN(d)|0;f[a>>2]=c;f[a+8>>2]=d|-2147483648;f[a+4>>2]=g;d=a+11|0;j=18}if((j|0)==18){Lu(c|0,e|0,g|0)|0;e=d}b[c+g>>0]=0;c=b[e>>0]|0;if(c<<24>>24<0){c=f[a+4>>2]|0;d=f[a>>2]|0}else{c=c&255;d=a}if((b[d+(c+-1)>>0]|0)==47){u=h;return}x=0;Ga(534,a|0,47);j=x;x=0;if(!(j&1)){u=h;return}c=Ya()|0;if((b[e>>0]|0)>=0){j=c;jb(j|0)}Hta(f[a>>2]|0);j=c;jb(j|0)}function yp(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;a:do if(a|0){d=b[49921]|0;b:do if(!(d<<24>>24)){c=a;f=5}else{c=a;e=49921;while(1){if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=5;break}}}while(0);if((f|0)==5){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[49914]|0;c:do if(!(d<<24>>24)){c=a;f=9}else{c=a;e=49914;while(1){if((b[c>>0]|0)!=d<<24>>24)break c;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=9;break}}}while(0);if((f|0)==9){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[49949]|0;d:do if(!(d<<24>>24)){c=a;f=13}else{c=a;e=49949;while(1){if((b[c>>0]|0)!=d<<24>>24)break d;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){f=13;break}}}while(0);if((f|0)==13){c=sR(c)|0;if(c|0){a=c;return a|0}}d=b[45818]|0;if(!(d<<24>>24))c=a;else{c=a;e=45818;do{if((b[c>>0]|0)!=d<<24>>24)break a;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}c=sR(c)|0;if(c|0){a=c;return a|0}}while(0);a=un(a)|0;return a|0}function zp(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;p=u;u=u+16|0;n=p+12|0;o=p;i=f[a>>2]|0;a:do if(!i)i=0;else{j=c;k=e-j>>2;m=g+12|0;l=f[m>>2]|0;k=(l|0)>(k|0)?l-k|0:0;l=d;j=l-j|0;g=j>>2;if((j|0)>0)if((yc[f[(f[i>>2]|0)+48>>2]&255](i,c,g)|0)!=(g|0)){f[a>>2]=0;i=0;break}do if((k|0)>0){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0>1073741807)CO(o);do if(k>>>0<2){c=o+8+3|0;b[c>>0]=k;g=o;j=o}else{g=k+4&-4;if(g>>>0<=1073741823){j=VN(g<<2)|0;f[o>>2]=j;c=o+8|0;f[c>>2]=g|-2147483648;f[o+4>>2]=k;g=j;c=c+3|0;j=o;break}i=Ta(8)|0;x=0;Ga(461,i|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(i|0);jb(p|0)}else{f[i>>2]=29784;fb(i|0,6192,412)}}while(0);PP(g,k,h)|0;f[n>>2]=0;$ga(g+(k<<2)|0,n);x=0;g=ta(f[(f[i>>2]|0)+48>>2]|0,i|0,((b[c>>0]|0)<0?f[o>>2]|0:j)|0,k|0)|0;n=x;x=0;if(n&1){p=Ya()|0;jaa(o);jb(p|0)}if((g|0)==(k|0)){jaa(o);break}else{f[a>>2]=0;jaa(o);i=0;break a}}while(0);o=e-l|0;e=o>>2;if((o|0)>0)if((yc[f[(f[i>>2]|0)+48>>2]&255](i,d,e)|0)!=(e|0)){f[a>>2]=0;i=0;break}f[m>>2]=0}while(0);u=p;return i|0}function Ap(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=u;u=u+16|0;j=k;efa(a);g=a+12|0;e=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;b[a+60>>0]=0;b[a+61>>0]=0;b[a+62>>0]=0;f[a+64>>2]=0;f[a+68>>2]=0;f[a+56>>2]=7;f[a>>2]=13680;g=a+72|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=0;b[g>>0]=0;i=a+84|0;x=0;Ga(459,i|0,d|0);e=x;x=0;if(e&1)c=Ya()|0;else{c=a+100|0;b[c>>0]=0;f[a+96>>2]=0;e=KK(d,124,0)|0;if((e|0)==-1){u=k;return}b[c>>0]=1;x=0;Ka(4,j|0,d|0,0,e|0,d|0);c=x;x=0;do if(c&1)c=Ya()|0;else{if((b[h>>0]|0)<0){b[f[g>>2]>>0]=0;f[a+76>>2]=0}else{b[g>>0]=0;b[h>>0]=0}x=0;Ga(501,g|0,0);c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];x=0;Ka(4,j|0,d|0,e+1|0,-1,d|0);d=x;x=0;if(d&1){c=Ya()|0;break}c=i+11|0;if((b[c>>0]|0)<0){b[f[i>>2]>>0]=0;f[a+88>>2]=0}else{b[i>>0]=0;b[c>>0]=0}x=0;Ga(501,i|0,0);a=x;x=0;if(a&1){a=Za(0)|0;soa(a)}f[i>>2]=f[j>>2];f[i+4>>2]=f[j+4>>2];f[i+8>>2]=f[j+8>>2];u=k;return}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0)}if((b[h>>0]|0)>=0)jb(c|0);Hta(f[g>>2]|0);jb(c|0)}function Bp(a){a=a|0;var c=0,d=0,e=0;e=0;c=JQ(a)|0;if(!c){c=xu(a)|0;if(!c)if(!a){e=0;return e|0}else c=a;else e=3}else e=3;if((e|0)==3)while(1){e=0;d=JQ(c)|0;if(d|0){c=d;e=3;continue}d=xu(c)|0;if(!d)break;else{c=d;e=3}}switch(b[c>>0]|0){case 40:case 41:case 44:{c=c+1|0;break}default:{c=yl(c)|0;if(!c){e=a;return e|0}}}a:while(1){d=JQ(c)|0;if(!d){d=xu(c)|0;if(!d)d=c;else e=10}else e=10;if((e|0)==10)while(1){e=0;a=JQ(d)|0;if(a|0){d=a;e=10;continue}a=xu(d)|0;if(!a)break;else{d=a;e=10}}switch(b[d>>0]|0){case 40:case 41:case 44:{c=d+1|0;continue a}default:{}}d=yl(d)|0;if(!d)break;else c=d}return c|0}function Cp(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;if((c|0)==(b|0)){b=d;n=b;n=f[n>>2]|0;b=b+4|0;b=f[b>>2]|0;d=a;a=d;f[a>>2]=n;d=d+4|0;f[d>>2]=b;return}m=b;n=d+4|0;do{g=d;l=f[g>>2]|0;e=l;l=(f[g+4>>2]|0)-(f[l>>2]|0)|0;g=(l|0)/28|0;h=g+-1|0;if((l|0)>28){g=e+(((h>>>0)/146|0)<<2)|0;e=(f[g>>2]|0)+(((h>>>0)%146|0)*28|0)|0}else{l=146-g|0;g=e+(((l|0)/-146|0)<<2)|0;e=(f[g>>2]|0)+((145-((l|0)%146|0)|0)*28|0)|0}h=e+28|0;k=(h-(f[g>>2]|0)|0)/28|0;l=(c-m|0)/28|0;j=(l|0)>(k|0);l=j?k:l;e=c;c=j?c+((0-k|0)*28|0)|0:b;if((e|0)!=(c|0))do{j=e;e=e+-28|0;k=h;h=h+-28|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];g=k+-16|0;i=k+-12|0;if(f[i>>2]|0)vQ(g);f[i>>2]=f[j+-12>>2];EX(g);g=f[j+-8>>2]|0;i=f[j+-4>>2]|0;if(i|0)ega(i);f[k+-8>>2]=g;k=k+-4|0;g=f[k>>2]|0;f[k>>2]=i;if(g|0)QZ(g)}while((e|0)!=(c|0));if(l|0){g=f[d>>2]|0;e=(((f[n>>2]|0)-(f[g>>2]|0)|0)/28|0)-l|0;if((e|0)>0){l=g+(((e>>>0)/146|0)<<2)|0;f[d>>2]=l;e=(f[l>>2]|0)+(((e>>>0)%146|0)*28|0)|0}else{e=145-e|0;l=g+(((e|0)/-146|0)<<2)|0;f[d>>2]=l;e=(f[l>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}f[n>>2]=e}}while((c|0)!=(b|0));b=d;n=b;n=f[n>>2]|0;b=b+4|0;b=f[b>>2]|0;d=a;a=d;f[a>>2]=n;d=d+4|0;f[d>>2]=b;return}function Dp(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;i=0;r=u;u=u+32|0;l=r+24|0;k=r+16|0;j=r+12|0;m=r+8|0;n=r+4|0;o=r;e=f[b+36>>2]|0;g=f[b+40>>2]|0;p=b+24|0;c=f[p>>2]|0;q=b+28|0;h=f[q>>2]|0;a:do if((c|0)!=(h|0)){while(1){d=f[c+12>>2]|0;if(d>>>0>e>>>0){i=14;break}if((d|0)==(e|0)?(f[c+16>>2]|0)>>>0>g>>>0:0){i=18;break}c=c+24|0;if((c|0)==(h|0))break a}if((i|0)==14){c=Ta(8)|0;x=0;Ga(496,c|0,52776);r=x;x=0;if(!(r&1))fb(c|0,6176,414);r=Ya()|0;bb(c|0);jb(r|0)}else if((i|0)==18){c=Ta(8)|0;x=0;Ga(496,c|0,52811);r=x;x=0;if(!(r&1))fb(c|0,6176,414);r=Ya()|0;bb(c|0);jb(r|0)}}while(0);mD(l,b);h=f[l>>2]|0;if(!h){if(f[l+4>>2]|0)i=5}else i=5;if((i|0)==5){c=f[a+12>>2]|0;g=f[a+16>>2]|0;if((c|0)!=(g|0)){b=f[l+4>>2]|0;do{d=c+12|0;e=f[d>>2]|0;if(!e){i=c+16|0;f[i>>2]=(f[i>>2]|0)+b}f[d>>2]=h+e;c=c+24|0}while((c|0)!=(g|0))}}c=a+24|0;d=f[c>>2]|0;if(!d){i=a+28|0;f[i>>2]=(f[i>>2]|0)+(f[l+4>>2]|0)}f[c>>2]=h+d;a=a+12|0;f[m>>2]=f[a>>2];f[n>>2]=f[p>>2];f[o>>2]=f[q>>2];f[j>>2]=f[m>>2];f[k>>2]=f[n>>2];f[l>>2]=f[o>>2];nl(a,j,k,l)|0;u=r;return}function Ep(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=u;u=u+32|0;m=l+16|0;i=l+8|0;j=l;k=a+4|0;wv(k);do if(!(f[c+96>>2]|0)){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=6;b[m>>0]=b[49897]|0;b[m+1>>0]=b[49898]|0;b[m+2>>0]=b[49899]|0;b[m+3>>0]=b[49900]|0;b[m+4>>0]=b[49901]|0;b[m+5>>0]=b[49902]|0;b[m+6>>0]=0;x=0;Ia(147,k|0,m|0,c|0);h=x;x=0;if(!(h&1)){if((b[e>>0]|0)<0)Hta(f[m>>2]|0);boa(k);break}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}else{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;h=m+11|0;b[h>>0]=9;d=m;e=49904;g=d+9|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[m+9>>0]=0;x=0;Ia(147,k|0,m|0,c|0);g=x;x=0;if(!(g&1)){if((b[h>>0]|0)<0)Hta(f[m>>2]|0);boa(k);break}d=Ya()|0;if((b[h>>0]|0)<0)Hta(f[m>>2]|0);m=d;jb(m|0)}while(0);Fv(k,c+72|0);qV(i,f[c+88>>2]|0);f[i>>2]=9264;m=f[i+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(i);jb(m|0)}_P(i);qV(j,f[c+68>>2]|0);f[j>>2]=7280;m=f[j+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(!(m&1)){_P(j);u=l;return}m=Ya()|0;_P(j);jb(m|0)}function Fp(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;k=u;u=u+16|0;j=k;h=a;g=d;i=h+40|0;do{f[h>>2]=f[g>>2];h=h+4|0;g=g+4|0}while((h|0)<(i|0));f[a+40>>2]=c;o=a+44|0;p=a+48|0;m=a+56|0;n=a+60|0;c=a+84|0;h=o;i=h+40|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];h=a+96|0;f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2];h=a+108|0;g=d;i=h+40|0;do{f[h>>2]=f[g>>2];h=h+4|0;g=g+4|0}while((h|0)<(i|0));l=a+148|0;x=0;Ga(511,l|0,e|0);e=x;x=0;if(e&1)d=Ya()|0;else{c=a+160|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[j>>2]=0;c=f[n>>2]|0;if(c>>>0<(f[a+64>>2]|0)>>>0){f[c>>2]=0;f[n>>2]=c+4;u=k;return}x=0;Ga(574,m|0,j|0);j=x;x=0;if(!(j&1)){u=k;return}d=Ya()|0;e=I;c=f[l>>2]|0;if(c){i=a+152|0;g=f[i>>2]|0;if((g|0)!=(c|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(c|0));c=f[l>>2]|0}Hta(c)}}c=f[m>>2]|0;if(c|0){g=f[n>>2]|0;if((g|0)!=(c|0))f[n>>2]=g+(~((g+-4-c|0)>>>2)<<2);Hta(c)}c=f[o>>2]|0;if(!c)jb(d|0);g=f[p>>2]|0;if((g|0)!=(c|0)){do{n=g+-8|0;f[p>>2]=n;Kc[f[f[n>>2]>>2]&511](n);g=f[p>>2]|0}while((g|0)!=(c|0));c=f[o>>2]|0}Hta(c);jb(d|0)}function Gp(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;q=u;u=u+16|0;p=q;g=a+20|0;c=f[g>>2]|0;h=a+24|0;d=f[h>>2]|0;e=(d|0)==0;if(!e)ega(d);o=f[c+4>>2]|0;a=f[c+16>>2]|0;j=o+(((a>>>0)/146|0)<<2)|0;if((f[c+8>>2]|0)==(o|0))i=0;else i=(f[j>>2]|0)+(((a>>>0)%146|0)*28|0)|0;if(!e)QZ(d);d=f[g>>2]|0;e=f[h>>2]|0;g=(e|0)==0;if(!g)ega(e);a=(f[d+16>>2]|0)+(f[d+20>>2]|0)|0;c=f[d+4>>2]|0;if((f[d+8>>2]|0)==(c|0))o=0;else o=(f[c+(((a>>>0)/146|0)<<2)>>2]|0)+(((a>>>0)%146|0)*28|0)|0;if(!g)QZ(e);h=b+8|0;k=b+4|0;l=b+16|0;m=b+20|0;n=p+4|0;a=i;a:while(1){do{if((o|0)==(a|0)){a=16;break a}qV(p,fe(a)|0);f[p>>2]=15556;g=f[h>>2]|0;e=f[k>>2]|0;i=g-e|0;d=f[l>>2]|0;c=f[m>>2]|0;if((((i|0)==0?0:(i<<7)+-1|0)|0)==(c+d|0)){x=0;Fa(454,b|0);i=x;x=0;if(i&1){a=25;break a}c=f[m>>2]|0;d=f[l>>2]|0;g=f[h>>2]|0;e=f[k>>2]|0}c=c+d|0;if((g|0)==(e|0))c=0;else c=(f[e+(c>>>9<<2)>>2]|0)+((c&511)<<3)|0;x=0;Ga(462,c|0,f[n>>2]|0);i=x;x=0;if(i&1){a=25;break a}f[c>>2]=15556;f[m>>2]=(f[m>>2]|0)+1;_P(p);a=a+28|0}while((a-(f[j>>2]|0)|0)!=4088);a=j+4|0;j=a;a=f[a>>2]|0}if((a|0)==16){u=q;return}else if((a|0)==25){q=Ya()|0;_P(p);jb(q|0)}}function Hp(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;i=0;o=u;u=u+64|0;l=o+48|0;e=o;m=o+40|0;n=a+76|0;g=f[n>>2]|0;h=b[g>>0]|0;if(!(h<<24>>24)){n=0;u=o;return n|0}if(c){h=VX(g)|0;g=h|0?h:g;h=b[g>>0]|0;if(!(h<<24>>24))c=0;else i=4}else i=4;a:do if((i|0)==4){c=g;i=0;j=0;k=0;b:while(1){c:do switch(h<<24>>24){case 92:{h=c+1|0;break}case 34:{i=i^1;h=c;break}case 39:{j=j^1;h=c;break}default:if(i){i=1;h=c}else if(j){i=0;j=1;h=c}else switch(h<<24>>24){case 40:{i=0;j=0;h=c;k=k+1|0;break c}case 41:if(!k)break b;else{i=0;j=0;h=c;k=k+-1|0;break c}default:{i=0;j=0;h=c;break c}}}while(0);c=h+1|0;h=b[c>>0]|0;if(!(h<<24>>24)){c=0;break a}}h=c+1|0;if(h>>>0>(f[a+80>>2]|0)>>>0){n=0;u=o;return n|0}else c=h}while(0);if(!d)if((c|0)==0|(c|0)==(g|0)){n=0;u=o;return n|0}h=f[n>>2]|0;f[a+168>>2]=h;f[a+172>>2]=g;f[a+176>>2]=c;k=a+96|0;vG(l,k,h,g);h=a+84|0;f[h>>2]=f[l>>2];f[h+4>>2]=f[l+4>>2];f[h+8>>2]=f[l+8>>2];vG(l,k,g,c);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(m,k,h);f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];UI(e,d,g,a+168|0,h,l);h=a+108|0;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));f[n>>2]=c;n=c;u=o;return n|0}function Ip(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=(c|0)==(a|0);b[c+12>>0]=j&1;if(j)return;while(1){i=c+8|0;d=f[i>>2]|0;h=d+12|0;if(b[h>>0]|0){g=23;break}j=d+8|0;e=f[j>>2]|0;g=f[e>>2]|0;if((g|0)==(d|0)){g=f[e+4>>2]|0;if(!g){g=7;break}g=g+12|0;if(!(b[g>>0]|0))c=g;else{g=7;break}}else{if(!g){g=16;break}g=g+12|0;if(!(b[g>>0]|0))c=g;else{g=16;break}}b[h>>0]=1;j=(e|0)==(a|0);b[e+12>>0]=j&1;b[c>>0]=1;if(j){g=23;break}else c=e}if((g|0)==7){if((f[d>>2]|0)==(c|0)){c=d;g=e}else{i=d+4|0;g=f[i>>2]|0;c=f[g>>2]|0;f[i>>2]=c;if(!c)c=e;else{f[c+8>>2]=d;c=f[j>>2]|0}f[g+8>>2]=c;c=f[j>>2]|0;f[((f[c>>2]|0)==(d|0)?c:c+4|0)>>2]=g;f[g>>2]=d;f[j>>2]=g;c=g;g=f[g+8>>2]|0}b[c+12>>0]=1;b[g+12>>0]=0;c=f[g>>2]|0;d=c+4|0;e=f[d>>2]|0;f[g>>2]=e;if(e|0)f[e+8>>2]=g;j=g+8|0;f[c+8>>2]=f[j>>2];i=f[j>>2]|0;f[((f[i>>2]|0)==(g|0)?i:i+4|0)>>2]=c;f[d>>2]=g;f[j>>2]=c;return}else if((g|0)==16){if((f[d>>2]|0)==(c|0)){h=c+4|0;g=f[h>>2]|0;f[d>>2]=g;if(g){f[g+8>>2]=d;e=f[j>>2]|0}f[i>>2]=e;e=f[j>>2]|0;f[((f[e>>2]|0)==(d|0)?e:e+4|0)>>2]=c;f[h>>2]=d;f[j>>2]=c;d=c;e=f[c+8>>2]|0}b[d+12>>0]=1;b[e+12>>0]=0;j=e+4|0;c=f[j>>2]|0;d=f[c>>2]|0;f[j>>2]=d;if(d|0)f[d+8>>2]=e;j=e+8|0;f[c+8>>2]=f[j>>2];i=f[j>>2]|0;f[((f[i>>2]|0)==(e|0)?i:i+4|0)>>2]=c;f[c>>2]=e;f[j>>2]=c;return}else if((g|0)==23)return}function Jp(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;k=u;u=u+32|0;l=k+8|0;j=k;e=c+84|0;i=b[e+11>>0]|0;if(((i<<24>>24<0?f[c+88>>2]|0:i&255)|0)==1){x=0;d=wa(21,e|0,0,-1,53148,1)|0;i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}g=a+4|0;if(!d){e=l+11|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;Ga(682,g|0,l|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);l=d;jb(l|0)}else{if((b[e>>0]|0)<0)Hta(f[l>>2]|0);u=k;return}}}else g=a+4|0;h=a+102|0;i=b[h>>0]|0;b[h>>0]=1;FI(g,e,c);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=40;b[l+1>>0]=0;x=0;Ga(682,g|0,l|0);d=x;x=0;if(d&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);l=d;jb(l|0)}if((b[e>>0]|0)<0)Hta(f[l>>2]|0);d=a+106|0;e=b[d>>0]|0;b[d>>0]=0;qV(j,f[c+108>>2]|0);f[j>>2]=7168;c=f[j+4>>2]|0;x=0;Ga(f[(f[c>>2]|0)+44>>2]|0,c|0,a|0);c=x;x=0;if(c&1){l=Ya()|0;_P(j);jb(l|0)}_P(j);b[d>>0]=e;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=41;b[l+1>>0]=0;x=0;Ga(682,g|0,l|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);l=d;jb(l|0)}else{if((b[e>>0]|0)<0)Hta(f[l>>2]|0);b[h>>0]=i;u=k;return}}function Kp(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;l=0;efa(a);f[a>>2]=6696;d=a+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));k=a+52|0;f[k>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];b[a+60>>0]=b[c+60>>0]|0;f[a>>2]=8016;m=a+64|0;x=0;Ga(471,m|0,c+64|0);j=x;x=0;if(j&1){m=Ya()|0;jb(m|0)}j=a+76|0;e=c+76|0;f[j>>2]=0;i=a+80|0;f[i>>2]=0;f[a+84>>2]=0;h=c+80|0;d=(f[h>>2]|0)-(f[e>>2]|0)|0;g=(d|0)/52|0;a:do if(!d)l=9;else{b:do if(g>>>0>82595524){x=0;Fa(426,j|0);x=0}else{x=0;d=qa(318,d|0)|0;n=x;x=0;if(!(n&1)){f[i>>2]=d;f[j>>2]=d;f[a+84>>2]=d+(g*52|0);e=f[e>>2]|0;g=f[h>>2]|0;if((e|0)==(g|0)){l=9;break a}while(1){x=0;Ga(472,d|0,e|0);n=x;x=0;if(n&1)break b;e=e+52|0;d=(f[i>>2]|0)+52|0;f[i>>2]=d;if((e|0)==(g|0)){l=9;break a}}}}while(0);i=Ya()|0;h=I;SG(j)}while(0);do if((l|0)==9){d=a+88|0;x=0;Ga(462,d|0,f[c+92>>2]|0);n=x;x=0;if(n&1){i=Ya()|0;h=I;SG(j);break}else{f[d>>2]=7584;f[k>>2]=12;return}}while(0);d=f[m>>2]|0;if(!d){n=i;jb(n|0)}g=a+68|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{n=e+-8|0;f[g>>2]=n;Kc[f[f[n>>2]>>2]&511](n);e=f[g>>2]|0}while((e|0)!=(d|0));d=f[m>>2]|0}Hta(d);n=i;jb(n|0)}function Lp(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=0;g=f[d>>2]|0;o=f[e>>2]|0;if((g|0)==(o|0)){p=1;return p|0}n=f[c>>2]|0;m=f[a>>2]|0;l=g;while(1){if((m|0)==(n|0)){g=0;p=24;break}e=l+16|0;c=m+16|0;j=b[c+11>>0]|0;h=j<<24>>24<0;j=h?f[m+20>>2]|0:j&255;k=b[e+11>>0]|0;i=k<<24>>24<0;k=i?f[l+20>>2]|0:k&255;g=j>>>0>>0?j:k;if(!g)p=6;else{g=lO(i?f[e>>2]|0:e,h?f[c>>2]|0:c,g)|0;if(!g)p=6;else if((g|0)<0){g=0;p=24;break}}if((p|0)==6){p=0;if(k>>>0>>0){g=0;p=24;break}}e=m+16|0;c=l+16|0;j=b[c+11>>0]|0;h=j<<24>>24<0;j=h?f[l+20>>2]|0:j&255;k=b[e+11>>0]|0;i=k<<24>>24<0;k=i?f[m+20>>2]|0:k&255;g=j>>>0>>0?j:k;if(!g)p=10;else{g=lO(i?f[e>>2]|0:e,h?f[c>>2]|0:c,g)|0;if(!g)p=10;else if((g|0)<0)c=l;else p=12}if((p|0)==10){p=0;if(k>>>0>>0)c=l;else p=12}if((p|0)==12){p=0;g=f[l+4>>2]|0;if(!g){e=l+8|0;g=f[e>>2]|0;if((f[g>>2]|0)!=(l|0))do{l=f[e>>2]|0;e=l+8|0;g=f[e>>2]|0}while((f[g>>2]|0)!=(l|0))}else while(1){e=f[g>>2]|0;if(!e)break;else g=e}f[d>>2]=g;c=g}g=f[m+4>>2]|0;if(!g){e=m+8|0;g=f[e>>2]|0;if((f[g>>2]|0)!=(m|0))do{m=f[e>>2]|0;e=m+8|0;g=f[e>>2]|0}while((f[g>>2]|0)!=(m|0))}else while(1){e=f[g>>2]|0;if(!e)break;else g=e}f[a>>2]=g;if((c|0)==(o|0)){g=1;p=24;break}else{m=g;l=c}}if((p|0)==24)return g|0;return 0}function Mp(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;r=u;u=u+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=a+52|0;if(!(b[g>>0]|0)){d=f[a+44>>2]|0;d=(d|0)>1?d:1;o=a+32|0;e=0;while(1){if((e|0)>=(d|0)){n=9;break}g=hJ(f[o>>2]|0)|0;if((g|0)==-1){n=8;break}b[p+e>>0]=g;e=e+1|0}if((n|0)==8)d=Kta()|0;else if((n|0)==9){do if(!(b[a+53>>0]|0)){i=a+40|0;j=a+36|0;k=q+1|0;a:while(1){s=f[i>>2]|0;g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;t=f[j>>2]|0;h=p+d|0;switch(Fc[f[(f[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=16;break a}case 2:{n=18;break a}case 1:break;default:break a}t=f[i>>2]|0;f[t>>2]=e;f[t+4>>2]=g;if((d|0)==8){n=18;break}e=hJ(f[o>>2]|0)|0;if((e|0)==-1){n=18;break}b[h>>0]=e;d=d+1|0}if((n|0)==16)b[q>>0]=b[p>>0]|0;else if((n|0)==18){d=Kta()|0;break}n=19}else{b[q>>0]=b[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(c){t=mqa(b[q>>0]|0)|0;f[a+48>>2]=t}else{do{if((d|0)<=0)break c;d=d+-1|0;t=mqa(b[p+d>>0]|0)|0}while((PH(t,f[o>>2]|0)|0)!=-1);d=Kta()|0;break b}while(0);d=mqa(b[q>>0]|0)|0}while(0)}}else{e=a+48|0;d=f[e>>2]|0;if(c){t=Kta()|0;f[e>>2]=t;b[g>>0]=0}}u=r;return d|0}function Np(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;r=u;u=u+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=a+52|0;if(!(b[g>>0]|0)){d=f[a+44>>2]|0;d=(d|0)>1?d:1;o=a+32|0;e=0;while(1){if((e|0)>=(d|0)){n=9;break}g=hJ(f[o>>2]|0)|0;if((g|0)==-1){n=8;break}b[p+e>>0]=g;e=e+1|0}if((n|0)==8)d=Jta()|0;else if((n|0)==9){do if(!(b[a+53>>0]|0)){i=a+40|0;j=a+36|0;k=q+4|0;a:while(1){s=f[i>>2]|0;g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;t=f[j>>2]|0;h=p+d|0;switch(Fc[f[(f[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=16;break a}case 2:{n=18;break a}case 1:break;default:break a}t=f[i>>2]|0;f[t>>2]=e;f[t+4>>2]=g;if((d|0)==8){n=18;break}e=hJ(f[o>>2]|0)|0;if((e|0)==-1){n=18;break}b[h>>0]=e;d=d+1|0}if((n|0)==16)f[q>>2]=b[p>>0];else if((n|0)==18){d=Jta()|0;break}n=19}else{f[q>>2]=b[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(c){t=mra(f[q>>2]|0)|0;f[a+48>>2]=t}else{do{if((d|0)<=0)break c;d=d+-1|0;t=mra(b[p+d>>0]|0)|0}while((PH(t,f[o>>2]|0)|0)!=-1);d=Jta()|0;break b}while(0);d=mra(f[q>>2]|0)|0}while(0)}}else{e=a+48|0;d=f[e>>2]|0;if(c){t=Jta()|0;f[e>>2]=t;b[g>>0]=0}}u=r;return d|0}function Op(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;l=f[a+4>>2]|0;m=f[a>>2]|0;e=f[c>>2]|0;d=m;n=l;if((l-m|0)!=((f[c+4>>2]|0)-e|0)){c=0;return c|0}a:do if((d|0)!=(n|0)){b:while(1){h=b[d+11>>0]|0;j=h<<24>>24<0;h=h&255;k=j?f[d+4>>2]|0:h;m=b[e+11>>0]|0;g=m<<24>>24<0;if((k|0)!=((g?f[e+4>>2]|0:m&255)|0)){d=0;e=25;break}l=f[d>>2]|0;m=j?l:d;g=g?f[e>>2]|0:e;i=(k|0)==0;c:do if(j){if(!i)if(lO(m,g,k)|0){d=0;e=25;break b}}else if(!i){if((b[g>>0]|0)==(l&255)<<24>>24)i=d;else{d=0;e=25;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){d=0;e=25;break b}}}while(0);d=d+12|0;if((d|0)==(n|0))break a;else e=e+12|0}if((e|0)==25)return d|0}while(0);m=f[a+16>>2]|0;a=f[a+12>>2]|0;e=f[c+12>>2]|0;d=a;n=m;if((m-a|0)!=((f[c+16>>2]|0)-e|0)){c=0;return c|0}if((d|0)==(n|0)){c=1;return c|0}d:while(1){h=b[d+11>>0]|0;j=h<<24>>24<0;h=h&255;k=j?f[d+4>>2]|0:h;c=b[e+11>>0]|0;g=c<<24>>24<0;if((k|0)!=((g?f[e+4>>2]|0:c&255)|0)){d=0;e=25;break}l=f[d>>2]|0;m=j?l:d;g=g?f[e>>2]|0:e;i=(k|0)==0;e:do if(j){if(!i)if(lO(m,g,k)|0){d=0;e=25;break d}}else if(!i){if((b[g>>0]|0)==(l&255)<<24>>24)i=d;else{d=0;e=25;break d}while(1){h=h+-1|0;i=i+1|0;if(!h)break e;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){d=0;e=25;break d}}}while(0);d=d+12|0;if((d|0)==(n|0)){d=1;e=25;break}else e=e+12|0}if((e|0)==25)return d|0;return 0}function Pp(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;k=0;l=u;u=u+112|0;n=l+72|0;a=l+32|0;i=l+8|0;g=l;m=l+20|0;j=VN(120)|0;x=0;Ja(14,a|0,38969,0,-1);h=x;x=0;if(h&1)k=16;else{x=0;Ga(459,i|0,c|0);h=x;x=0;if(h&1)k=16;else{x=0;Ga(462,g|0,0);h=x;x=0;do if(h&1)a=Ya()|0;else{f[g>>2]=9264;x=0;h=n;e=h+40|0;do{f[h>>2]=f[a>>2];h=h+4|0;a=a+4|0}while((h|0)<(e|0));Ma(1,j|0,n|0,0,i|0,g|0,0,1);h=x;x=0;if(h&1){a=Ya()|0;_P(g);break}_P(g);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);qV(n,j);f[n>>2]=6664;x=0;Ia(79,m|0,c|0,48507);k=x;x=0;if(k&1)a=Ya()|0;else{x=0;a=sa(992,d|0,m|0)|0;k=x;x=0;do if(!(k&1)){if((a|0)!=(n|0)){e=a+4|0;if(f[e>>2]|0){x=0;Fa(429,a|0);k=x;x=0;if(k&1)break}k=n+4|0;f[e>>2]=f[k>>2];f[k>>2]=0}if((b[m+11>>0]|0)>=0){_P(n);u=l;return}Hta(f[m>>2]|0);_P(n);u=l;return}while(0);a=Ya()|0;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}_P(n);n=a;jb(n|0)}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0)}}if((k|0)==16)a=Ya()|0;Hta(j);n=a;jb(n|0)}function Qp(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;o=0;k=u;u=u+96|0;h=k;i=k+56|0;l=k+48|0;n=k+40|0;if((f[f[(f[a+4>>2]|0)+16>>2]>>2]|0)==3)if(!(b[c+72>>0]|0)){o=0;u=k;return o|0}j=a+29|0;b[j>>0]=1;m=VN(76)|0;d=i;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Ga(462,n|0,f[c+68>>2]|0);g=x;x=0;if(g&1){o=Ya()|0;Hta(m);jb(o|0)}f[n>>2]=7904;g=f[n+4>>2]|0;x=0;a=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a+12|0)|0;g=x;x=0;if(g&1)o=12;else{x=0;a=qa(319,a|0)|0;g=x;x=0;if(g&1)o=12;else{x=0;Ga(462,l|0,a|0);g=x;x=0;if(g&1)o=12;else{f[l>>2]=7904;c=b[c+72>>0]|0;d=h;e=i;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Fa(427,m|0);i=x;x=0;do if(i&1)a=Ya()|0;else{d=m+12|0;e=h;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));a=m+52|0;f[a>>2]=0;f[m+56>>2]=0;b[m+60>>0]=0;f[m>>2]=8496;d=m+64|0;x=0;Ga(462,d|0,f[l+4>>2]|0);i=x;x=0;if(i&1){a=Ya()|0;break}f[d>>2]=7904;b[m+72>>0]=c;f[a>>2]=13;_P(l);_P(n);b[j>>0]=0;o=m;u=k;return o|0}while(0);_P(l)}}}if((o|0)==12)a=Ya()|0;_P(n);o=a;Hta(m);jb(o|0);return 0}function Rp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+32|0;k=i+12|0;j=i;h=a+4|0;a=VN(16)|0;f[k>>2]=a;f[k+8>>2]=-2147483632;f[k+4>>2]=12;d=a;e=49884;g=d+12|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+12>>0]=0;x=0;Ia(147,h|0,k|0,c|0);g=x;x=0;if(g&1){a=Ya()|0;if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);k=a;jb(k|0)}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;d=k+11|0;b[d>>0]=1;b[k>>0]=40;b[k+1>>0]=0;x=0;Ga(682,h|0,k|0);g=x;x=0;if(g&1){a=Ya()|0;if((b[d>>0]|0)<0)Hta(f[k>>2]|0);k=a;jb(k|0)}if((b[d>>0]|0)<0)Hta(f[k>>2]|0);a=f[c+64>>2]|0;if(!a){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0}else ND(j,a+72|0);x=0;Ia(105,k|0,j|0,0);c=x;x=0;do if(c&1)a=Ya()|0;else{x=0;Ga(682,h|0,k|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;d=k+11|0;b[d>>0]=1;b[k>>0]=41;b[k+1>>0]=0;x=0;Ga(682,h|0,k|0);j=x;x=0;if(j&1){a=Ya()|0;if((b[d>>0]|0)<0)Hta(f[k>>2]|0);k=a;jb(k|0)}else{if((b[d>>0]|0)>=0){u=i;return}Hta(f[k>>2]|0);u=i;return}}while(0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);k=a;jb(k|0)}function Sp(a,c,d,e,g,h,i,j,k,l,m,n){a=a|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;m=m|0;n=n|0;var o=0;a:do if((a|0)==(h|0))if(!(b[c>>0]|0))h=-1;else{b[c>>0]=0;d=f[g>>2]|0;f[g>>2]=d+1;b[d>>0]=46;g=b[j+11>>0]|0;if(!((g<<24>>24<0?f[j+4>>2]|0:g&255)|0))h=0;else{h=f[l>>2]|0;if((h-k|0)<160){k=f[m>>2]|0;f[l>>2]=h+4;f[h>>2]=k;h=0}else h=0}}else{if((a|0)==(i|0)){o=b[j+11>>0]|0;if((o<<24>>24<0?f[j+4>>2]|0:o&255)|0){if(!(b[c>>0]|0)){h=-1;break}h=f[l>>2]|0;if((h-k|0)>=160){h=0;break}k=f[m>>2]|0;f[l>>2]=h+4;f[h>>2]=k;f[m>>2]=0;h=0;break}}o=n+128|0;i=0;while(1){h=n+(i<<2)|0;if((i|0)==32){h=o;break}if((f[h>>2]|0)==(a|0))break;else i=i+1|0}i=h-n|0;h=i>>2;if((i|0)>124)h=-1;else{o=b[57704+h>>0]|0;switch(h|0){case 24:case 25:{h=f[g>>2]|0;if((h|0)!=(e|0))if((b[h+-1>>0]&95)!=(b[d>>0]&127)){h=-1;break a}f[g>>2]=h+1;b[h>>0]=o;h=0;break a}case 23:case 22:{b[d>>0]=80;break}default:{h=o&95;if((h|0)==(b[d>>0]|0)){b[d>>0]=h|128;if(b[c>>0]|0){b[c>>0]=0;d=b[j+11>>0]|0;if((d<<24>>24<0?f[j+4>>2]|0:d&255)|0){h=f[l>>2]|0;if((h-k|0)<160){k=f[m>>2]|0;f[l>>2]=h+4;f[h>>2]=k}}}}}}l=f[g>>2]|0;f[g>>2]=l+1;b[l>>0]=o;if((i|0)>84)h=0;else{f[m>>2]=(f[m>>2]|0)+1;h=0}}}while(0);return h|0}function Tp(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;o=u;u=u+16|0;n=o+8|0;m=o;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=31995){n=0;u=o;return n|0}g=a+68|0;d=c+68|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+72>>2]|0:e;l=b[d+11>>0]|0;h=l<<24>>24<0;if((j|0)!=((h?f[d+4>>2]|0:l&255)|0)){n=0;u=o;return n|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;a:do if(i){if(!h)if(lO(l,d,j)|0){n=0;u=o;return n|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){n=0;u=o;return n|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=o;return d|0}while(0);x=0;Ga(462,n|0,f[a+64>>2]|0);a=x;x=0;if(a&1){d=_a(6240,0)|0;e=I}else{f[n>>2]=7696;d=f[n+4>>2]|0;e=f[(f[d>>2]|0)+92>>2]|0;x=0;Ga(462,m|0,f[c+64>>2]|0);c=x;x=0;do if(c&1){d=_a(6240,0)|0;e=I}else{f[m>>2]=7696;x=0;d=sa(e|0,d|0,f[m+4>>2]|0)|0;c=x;x=0;if(c&1){d=_a(6240,0)|0;e=I;_P(m);break}_P(m);_P(n);n=d;u=o;return n|0}while(0);_P(n)}n=(e|0)==(Sb(6240)|0);Ua(d|0)|0;if(n){Wa();n=0;u=o;return n|0}x=0;Ea(3);x=0;d=Ya()|0;x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}else jb(d|0);return 0}function Up(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;p=u;u=u+16|0;j=c;o=p+12|0;k=p;m=a+11|0;h=b[m>>0]|0;e=h<<24>>24<0;if(e){i=(f[a+8>>2]&2147483647)+-1|0;l=f[a+4>>2]|0}else{i=10;l=h&255}n=d-j|0;do if(n|0){if(e){g=f[a>>2]|0;e=f[a+4>>2]|0}else{g=a;e=h&255}if(sba(c,g,g+e|0)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if(n>>>0>4294967279)CO(k);if(n>>>0<11){b[k+11>>0]=n;g=k}else{m=n+16&-16;g=VN(m)|0;f[k>>2]=g;f[k+8>>2]=m|-2147483648;f[k+4>>2]=n}e=g;while(1){if((c|0)==(d|0))break;vga(e,c);c=c+1|0;e=e+1|0}b[o>>0]=0;vga(g+n|0,o);o=b[k+11>>0]|0;d=o<<24>>24<0;x=0;ta(41,a|0,(d?f[k>>2]|0:k)|0,(d?f[k+4>>2]|0:o&255)|0)|0;o=x;x=0;if(o&1){p=Ya()|0;Aaa(k);jb(p|0)}else{Aaa(k);break}}else{if((i-l|0)>>>0>>0)ME(a,i,l+n-i|0,l,l,0,0);if((b[m>>0]|0)<0)h=f[a>>2]|0;else h=a;g=d+(l-j)|0;e=h+l|0;while(1){if((c|0)==(d|0))break;vga(e,c);e=e+1|0;c=c+1|0}b[o>>0]=0;vga(h+g|0,o);c=l+n|0;if((b[m>>0]|0)<0){f[a+4>>2]=c;break}else{b[m>>0]=c;break}}}while(0);u=p;return a|0}function Vp(a){a=a|0;var c=0,d=0,e=0,f=0;c=Ug(a)|0;if(!c)c=a;else if((b[c>>0]|0)==37)c=a;else{a=c;return a|0}while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(c|0){c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}c=fs(a)|0;if(c|0){a=c;return a|0}d=b[36400]|0;a:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);f=a+1|0;c=c<<24>>24?f:a;if(c|0){c=Nu(c)|0;if(c|0){a=c;return a|0}}if((b[a>>0]|0)==35){c=R5(f)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;e=a;d=c-e|0;c=(d|0)!=4&(d|0)!=7?0:c;if(c|0){a=c;return a|0}if((b[a>>0]|0)==35){c=R5(f)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;a=c-e|0;a=(a|0)!=5&(a|0)!=9?0:c;return a|0}function Wp(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;g=0;o=u;u=u+16|0;n=o+8|0;l=o;m=c+84|0;do if(b[m>>0]|0){qV(n,c);f[n>>2]=6664;d=a+84|0;e=f[d>>2]|0;if(e>>>0<(f[a+88>>2]|0)>>>0){x=0;Ga(462,e|0,f[n+4>>2]|0);k=x;x=0;if(!(k&1)){f[e>>2]=6664;f[d>>2]=(f[d>>2]|0)+8;g=6}}else{x=0;Ga(657,a+80|0,n|0);k=x;x=0;if(!(k&1))g=6}if((g|0)==6){_P(n);break}o=Ya()|0;_P(n);jb(o|0)}while(0);k=c+64|0;e=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;a:do if(e|0){c=n+4|0;g=a+72|0;d=0;while(1){h=(xc[f[(f[k>>2]|0)+16>>2]&2047](k,d)|0)+4|0;h=f[h>>2]|0;qV(n,xc[f[(f[h>>2]|0)+52>>2]&2047](h,a)|0);f[n>>2]=6920;h=f[c>>2]|0;if(h|0){i=(f[(f[g>>2]|0)+-4>>2]|0)+64|0;j=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,l|0,h|0);h=x;x=0;if(h&1){g=15;break}f[l>>2]=6920;x=0;Ga(j|0,i|0,l|0);j=x;x=0;if(j&1){g=16;break}_P(l)}_P(n);d=d+1|0;if(d>>>0>=e>>>0)break a}if((g|0)==15)d=Ya()|0;else if((g|0)==16){d=Ya()|0;_P(l)}_P(n);o=d;jb(o|0)}while(0);if(!(b[m>>0]|0)){u=o;return}d=a+84|0;c=f[d>>2]|0;e=c+-8|0;do{n=c+-8|0;f[d>>2]=n;Kc[f[f[n>>2]>>2]&511](n);c=f[d>>2]|0}while((c|0)!=(e|0));u=o;return}function Xp(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[a+100>>0]|0;e=b[c+100>>0]|0;do if(d<<24>>24!=e<<24>>24){if(d<<24>>24){d=b[a+72+11>>0]|0;if(d<<24>>24<0)d=f[a+76>>2]|0;else d=d&255;if(!d)break}if(!(e<<24>>24)){c=0;return c|0}d=b[c+72+11>>0]|0;if(d<<24>>24<0)d=f[c+76>>2]|0;else d=d&255;if(d|0){c=0;return c|0}}while(0);g=a+72|0;j=g+11|0;d=b[j>>0]|0;if(d<<24>>24<0)d=f[a+76>>2]|0;else d=d&255;l=c+72|0;i=l+11|0;if(!d){k=b[i>>0]|0;if(((k<<24>>24<0?f[c+76>>2]|0:k&255)|0)==1){x=0;d=wa(21,l|0,0,-1,41390,1)|0;k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}if(!d){c=0;return c|0}}}h=b[i>>0]|0;if(h<<24>>24<0)d=f[c+76>>2]|0;else d=h&255;do if(!d){k=b[j>>0]|0;e=a+76|0;if(((k<<24>>24<0?f[e>>2]|0:k&255)|0)==1){x=0;d=wa(21,g|0,0,-1,41390,1)|0;k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}if(!d){c=0;return c|0}else{d=e;h=b[i>>0]|0;break}}else d=e}else d=a+76|0;while(0);e=b[j>>0]|0;k=e<<24>>24<0;e=e&255;a=k?f[d>>2]|0:e;d=h<<24>>24<0;if((a|0)!=((d?f[c+76>>2]|0:h&255)|0)){c=0;return c|0}i=f[g>>2]|0;j=k?i:g;d=d?f[c+72>>2]|0:l;h=(a|0)==0;if(k){if(h){c=1;return c|0}c=(lO(j,d,a)|0)==0;return c|0}if(h){c=1;return c|0}if((b[d>>0]|0)!=(i&255)<<24>>24){c=0;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e){d=1;e=38;break}d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;e=38;break}}if((e|0)==38)return d|0;return 0}function Yp(){var a=0,c=0;if(!(b[78584]|0))if(lda(78584)|0){c=84544;do{f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}c=c+12|0}while((c|0)!=84832)}YT(84544,27368)|0;YT(84556,27400)|0;YT(84568,27436)|0;YT(84580,27460)|0;YT(84592,27484)|0;YT(84604,27500)|0;YT(84616,27520)|0;YT(84628,27540)|0;YT(84640,27568)|0;YT(84652,27608)|0;YT(84664,27640)|0;YT(84676,27676)|0;YT(84688,27712)|0;YT(84700,27728)|0;YT(84712,27744)|0;YT(84724,27760)|0;YT(84736,27484)|0;YT(84748,27776)|0;YT(84760,27792)|0;YT(84772,27808)|0;YT(84784,27824)|0;YT(84796,27840)|0;YT(84808,27856)|0;YT(84820,27872)|0;return}function Zp(){var a=0,c=0;if(!(b[78504]|0))if(lda(78504)|0){c=83732;do{f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}c=c+12|0}while((c|0)!=84020)}ZT(83732,58228)|0;ZT(83744,58236)|0;ZT(83756,58245)|0;ZT(83768,58251)|0;ZT(83780,58257)|0;ZT(83792,58261)|0;ZT(83804,58266)|0;ZT(83816,58271)|0;ZT(83828,58278)|0;ZT(83840,58288)|0;ZT(83852,58296)|0;ZT(83864,58305)|0;ZT(83876,58314)|0;ZT(83888,58318)|0;ZT(83900,58322)|0;ZT(83912,58326)|0;ZT(83924,58257)|0;ZT(83936,58330)|0;ZT(83948,58334)|0;ZT(83960,58338)|0;ZT(83972,58342)|0;ZT(83984,58346)|0;ZT(83996,58350)|0;ZT(84008,58354)|0;return}function _p(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;var k=0,l=0,m=0,n=0;n=u;u=u+64|0;l=n;m=n+40|0;ND(m,d);k=l;d=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(d|0));x=0;Fa(427,a|0);k=x;x=0;do if(k&1)d=Ya()|0;else{k=a+12|0;c=l;d=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(d|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a+56>>2]=4;f[a>>2]=11668;c=a+60|0;b[c>>0]=0;b[a+61>>0]=0;k=a+64|0;x=0;Ia(101,k|0,m|0,j|0);j=x;x=0;if(j&1){d=Ya()|0;break}f[a+76>>2]=0;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);f[a>>2]=11800;do if(!h){x=0;Ka(5,l|0,k|0,c|0,g|0,i|0);m=x;x=0;if(m&1){d=Ya()|0;f[a>>2]=11668;if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);a=d;jb(a|0)}d=k+11|0;if((b[d>>0]|0)<0){b[f[k>>2]>>0]=0;f[a+68>>2]=0}else{b[k>>0]=0;b[d>>0]=0}x=0;Ga(501,k|0,0);a=x;x=0;if(a&1){a=Za(0)|0;soa(a)}else{f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];break}}while(0);if(!(e<<24>>24)){u=n;return}if(!(b[c>>0]|0)){u=n;return}b[c>>0]=e;u=n;return}while(0);if((b[m+11>>0]|0)>=0){a=d;jb(a|0)}Hta(f[m>>2]|0);a=d;jb(a|0)}function $p(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;o=u;u=u+64|0;n=o+16|0;q=o;i=g&1;h=h&1;efa(a);m=a+12|0;k=m;j=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(j|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a+56>>2]=0;f[a>>2]=10116;p=a+60|0;x=0;Ga(462,p|0,f[d+4>>2]|0);l=x;x=0;if(l&1){q=Ya()|0;jb(q|0)}f[p>>2]=7696;l=a+68|0;x=0;Ga(459,l|0,e|0);k=x;x=0;if(k&1)h=Ya()|0;else{b[a+80>>0]=i;b[a+81>>0]=h;f[a+84>>2]=0;d=l+11|0;h=b[d>>0]|0;if(h<<24>>24<0)h=f[a+72>>2]|0;else h=h&255;if((h|0)==0|g^1){u=o;return}f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;x=0;h=qa(318,64)|0;g=x;x=0;do if(g&1)h=Ya()|0;else{f[q>>2]=h;f[q+8>>2]=-2147483584;f[q+4>>2]=50;k=h;c=36187;j=k+50|0;do{b[k>>0]=b[c>>0]|0;k=k+1|0;c=c+1|0}while((k|0)<(j|0));b[h+50>>0]=0;x=0;k=n;c=m;j=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(j|0));Ga(483,q|0,n|0);n=x;x=0;if(n&1){h=Ya()|0;if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[q+11>>0]|0)>=0){u=o;return}Hta(f[q>>2]|0);u=o;return}while(0);if((b[d>>0]|0)<0)Hta(f[l>>2]|0)}_P(p);q=h;jb(q|0)}function aq(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;n=u;u=u+48|0;e=n+40|0;h=n+32|0;i=n+24|0;j=n+16|0;k=n+8|0;l=n;m=a+4|0;wv(m);FI(m,c+72|0,c);d=c+88|0;qV(e,f[d>>2]|0);f[e>>2]=7168;g=(f[e+4>>2]|0)==0;_P(e);do if(!g){boa(m);e=a+102|0;g=b[e>>0]|0;b[e>>0]=1;qV(h,f[d>>2]|0);f[h>>2]=7168;d=f[h+4>>2]|0;x=0;Ga(f[(f[d>>2]|0)+44>>2]|0,d|0,a|0);d=x;x=0;if(!(d&1)){_P(h);b[e>>0]=g;break}n=Ya()|0;_P(h);jb(n|0)}while(0);d=c+96|0;qV(i,f[d>>2]|0);f[i>>2]=7696;h=(f[i+4>>2]|0)==0;_P(i);do if(!h){boa(m);qV(j,f[d>>2]|0);f[j>>2]=7696;i=f[j+4>>2]|0;x=0;Ga(f[(f[i>>2]|0)+44>>2]|0,i|0,a|0);i=x;x=0;if(!(i&1)){_P(j);break}n=Ya()|0;_P(j);jb(n|0)}while(0);d=c+68|0;qV(k,f[d>>2]|0);f[k>>2]=7280;j=(f[k+4>>2]|0)==0;_P(k);if(j){aN(m);u=n;return}qV(l,f[d>>2]|0);f[l>>2]=7280;m=f[l+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){n=Ya()|0;_P(l);jb(n|0)}else{_P(l);u=n;return}}function bq(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;j=u;u=u+64|0;h=j+16|0;k=j;efa(a);f[a>>2]=6696;i=a+12|0;d=i;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[a+52>>0]=b[c+52>>0]|0;b[a+53>>0]=b[c+53>>0]|0;b[a+54>>0]=b[c+54>>0]|0;f[a+56>>2]=f[c+56>>2];f[a>>2]=10116;n=a+60|0;x=0;Ga(462,n|0,f[c+64>>2]|0);m=x;x=0;if(m&1){n=Ya()|0;jb(n|0)}f[n>>2]=7696;m=a+68|0;x=0;Ga(459,m|0,c+68|0);l=x;x=0;if(l&1)c=Ya()|0;else{d=b[c+80>>0]|0;b[a+80>>0]=d;b[a+81>>0]=b[c+81>>0]|0;f[a+84>>2]=f[c+84>>2];l=m+11|0;c=b[l>>0]|0;if(c<<24>>24<0)c=f[a+72>>2]|0;else c=c&255;if((c|0)==0|d<<24>>24==0){u=j;return}f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;c=qa(318,64)|0;a=x;x=0;do if(a&1)c=Ya()|0;else{f[k>>2]=c;f[k+8>>2]=-2147483584;f[k+4>>2]=50;d=c;e=36187;g=d+50|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+50>>0]=0;x=0;d=h;e=i;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));Ga(483,k|0,h|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)>=0){u=j;return}Hta(f[k>>2]|0);u=j;return}while(0);if((b[l>>0]|0)<0)Hta(f[m>>2]|0)}_P(n);n=c;jb(n|0)}function cq(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=0;i=u;u=u+32|0;j=i+24|0;d=i+16|0;g=i+8|0;h=i;e=b+96|0;qV(j,f[e>>2]|0);f[j>>2]=16196;do if(!(f[j+4>>2]|0)){x=0;b=sa(f[(f[c>>2]|0)+276>>2]|0,c|0,b|0)|0;c=x;x=0;if(c&1)b=Ya()|0;else{c=0;k=7}}else{b=f[(f[c>>2]|0)+236>>2]|0;x=0;Ga(462,d|0,f[e>>2]|0);l=x;x=0;if(l&1){b=Ya()|0;break}f[d>>2]=16196;x=0;b=sa(b|0,c|0,f[d+4>>2]|0)|0;l=x;x=0;if(l&1){b=Ya()|0;k=19}else{c=1;k=7}}while(0);do if((k|0)==7){x=0;Ga(462,a|0,b|0);l=x;x=0;if(l&1){b=Ya()|0;if(!c)break;k=19;break}f[a>>2]=7168;if(c)_P(d);_P(j);b=f[a+4>>2]|0;x=0;Ga(462,h|0,f[e>>2]|0);l=x;x=0;if(l&1)b=Ya()|0;else{f[h>>2]=16196;d=b+92|0;b=b+96|0;if(!(f[b>>2]|0))k=13;else{x=0;Fa(429,d|0);l=x;x=0;if(!(l&1))k=13}if((k|0)==13){f[b>>2]=f[h+4>>2];x=0;Fa(430,d|0);l=x;x=0;if(!(l&1)){x=0;Ga(462,g|0,f[b>>2]|0);l=x;x=0;if(!(l&1)){f[g>>2]=16196;_P(g);_P(h);u=i;return}}}b=Ya()|0;_P(h)}_P(a);l=b;jb(l|0)}while(0);if((k|0)==19)_P(d);_P(j);l=b;jb(l|0)}function dq(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;j=h+24|0;i=h+16|0;g=h+8|0;e=h;b=a+80|0;qV(j,f[b>>2]|0);f[j>>2]=15572;do if(!(f[j+4>>2]|0)){d=0;c=6}else{x=0;Ga(462,i|0,f[b>>2]|0);d=x;x=0;if(d&1){i=Ya()|0;_P(j);jb(i|0)}f[i>>2]=15572;b=f[i+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+128>>2]|0,b|0)|0;d=x;x=0;if(d&1){b=Ya()|0;c=19;break}else if(b){b=1;c=12;break}else{d=1;c=6;break}}while(0);a:do if((c|0)==6){b=a+88|0;x=0;Ga(462,g|0,f[b>>2]|0);c=x;x=0;if(c&1){b=Ya()|0;if(d){c=19;break}_P(j);jb(b|0)}f[g>>2]=15556;if(!(f[g+4>>2]|0)){_P(g);if(d){b=0;c=12;break}else b=0;_P(j);u=h;return b|0}x=0;Ga(462,e|0,f[b>>2]|0);c=x;x=0;do if(c&1)b=Ya()|0;else{f[e>>2]=15556;b=f[e+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+128>>2]|0,b|0)|0;c=x;x=0;if(c&1){b=Ya()|0;_P(e);break}_P(e);_P(g);if(d){c=12;break a}_P(j);u=h;return b|0}while(0);_P(g);if(d)c=19;else{i=b;_P(j);jb(i|0)}}while(0);if((c|0)==12){_P(i);i=b;_P(j);u=h;return i|0}else if((c|0)==19){_P(i);i=b;_P(j);jb(i|0)}return 0}function eq(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;j=h+24|0;i=h+16|0;g=h+8|0;e=h;b=a+80|0;qV(j,f[b>>2]|0);f[j>>2]=15572;do if(!(f[j+4>>2]|0)){d=0;c=6}else{x=0;Ga(462,i|0,f[b>>2]|0);d=x;x=0;if(d&1){i=Ya()|0;_P(j);jb(i|0)}f[i>>2]=15572;b=f[i+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+124>>2]|0,b|0)|0;d=x;x=0;if(d&1){b=Ya()|0;c=19;break}else if(b){b=1;c=12;break}else{d=1;c=6;break}}while(0);a:do if((c|0)==6){b=a+88|0;x=0;Ga(462,g|0,f[b>>2]|0);c=x;x=0;if(c&1){b=Ya()|0;if(d){c=19;break}_P(j);jb(b|0)}f[g>>2]=15556;if(!(f[g+4>>2]|0)){_P(g);if(d){b=0;c=12;break}else b=0;_P(j);u=h;return b|0}x=0;Ga(462,e|0,f[b>>2]|0);c=x;x=0;do if(c&1)b=Ya()|0;else{f[e>>2]=15556;b=f[e+4>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+124>>2]|0,b|0)|0;c=x;x=0;if(c&1){b=Ya()|0;_P(e);break}_P(e);_P(g);if(d){c=12;break a}_P(j);u=h;return b|0}while(0);_P(g);if(d)c=19;else{i=b;_P(j);jb(i|0)}}while(0);if((c|0)==12){_P(i);i=b;_P(j);u=h;return i|0}else if((c|0)==19){_P(i);i=b;_P(j);jb(i|0)}return 0}function fq(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;n=u;u=u+64|0;e=n;g=n+48|0;h=n+40|0;j=n+32|0;k=n+24|0;l=n+16|0;m=a+4|0;wv(m);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=e+11|0;b[i>>0]=8;d=e;f[d>>2]=1668180288;f[d+4>>2]=1701082476;b[e+8>>0]=0;x=0;Ia(147,m|0,e|0,c|0);d=x;x=0;if(d&1){d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[e>>2]|0);n=d;jb(n|0)}if((b[i>>0]|0)<0)Hta(f[e>>2]|0);boa(m);Fv(m,c+72|0);d=c+88|0;qV(g,f[d>>2]|0);f[g>>2]=9376;i=(f[g+4>>2]|0)==0;_P(g);do if(!i){qV(h,f[d>>2]|0);f[h>>2]=9376;i=f[h+4>>2]|0;x=0;Ga(f[(f[i>>2]|0)+44>>2]|0,i|0,a|0);i=x;x=0;if(!(i&1)){_P(h);break}n=Ya()|0;_P(h);jb(n|0)}while(0);d=c+68|0;qV(j,f[d>>2]|0);f[j>>2]=7280;i=(f[j+4>>2]|0)==0;_P(j);do if(!i){rG(m);qV(k,f[d>>2]|0);f[k>>2]=7280;j=f[k+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(!(j&1)){_P(k);break}n=Ya()|0;_P(k);jb(n|0)}while(0);qV(l,f[d>>2]|0);f[l>>2]=7280;k=(f[l+4>>2]|0)==0;_P(l);if(!k){u=n;return}aN(m);u=n;return}function gq(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;k=0;l=u;u=u+16|0;m=l;n=m+11|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;i=b[c+11>>0]|0;j=i<<24>>24<0;e=j?f[c>>2]|0:c;i=j?f[c+4>>2]|0:i&255;j=e+i|0;a:do if(!i)k=16;else{d=0;i=0;h=0;while(1){g=i;i=b[e>>0]|0;b:do if(h)switch(i<<24>>24){case 13:case 10:{d=0;g=1;break b}case 9:{d=d+1|0;g=1;break b}case 32:{d=d+1|0;g=1;break b}case 42:{g=1;break b}default:{x=0;Ga(534,m|0,32);h=x;x=0;if(h&1)break a;if(g<<24>>24==42&i<<24>>24==47){x=0;sa(991,m|0,52228)|0;h=x;x=0;if(h&1)break a;else{g=0;break b}}else{x=0;Ga(534,m|0,i|0);h=x;x=0;if(h&1)break a;else{g=0;break b}}}}else{switch(i<<24>>24){case 10:case 13:{g=1;break b}default:{}}x=0;Ga(534,m|0,i|0);h=x;x=0;if(h&1)break a;else g=0}while(0);e=e+1|0;if((e|0)==(j|0))break;else h=g}if(!d)k=16;else{f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;u=l;return}}while(0);if((k|0)==16){x=0;Ga(459,a|0,c|0);k=x;x=0;if(!(k&1)){if((b[n>>0]|0)>=0){u=l;return}Hta(f[m>>2]|0);u=l;return}}d=Ya()|0;if((b[n>>0]|0)>=0)jb(d|0);Hta(f[m>>2]|0);jb(d|0)}function hq(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;g=0;e=u;u=u+32|0;j=e+24|0;k=e+16|0;i=e+8|0;h=e;c=a+4|0;qV(j,f[c>>2]|0);f[j>>2]=7696;b=b+4|0;x=0;Ga(462,k|0,f[b>>2]|0);d=x;x=0;if(d&1){k=Ya()|0;_P(j);jb(k|0)}f[k>>2]=7696;x=0;a=ta(163,j|0,k|0,5)|0;d=x;x=0;if(d&1)g=15;else{if(!a){i=1;_P(k);_P(j);u=e;return i|0}x=0;Ga(462,i|0,f[c>>2]|0);d=x;x=0;if(d&1)g=15;else{f[i>>2]=7696;x=0;Ga(462,h|0,f[b>>2]|0);d=x;x=0;if(d&1)a=Ya()|0;else{f[h>>2]=7696;d=i+4|0;a=f[d>>2]|0;c=h+4|0;if(!a)g=8;else{b=f[c>>2]|0;if(!b)g=8;else{x=0;a=sa(f[(f[a>>2]|0)+92>>2]|0,a|0,b|0)|0;g=x;x=0;if(g&1)g=17;else{_P(h);_P(i);i=a;_P(k);_P(j);u=e;return i|0}}}do if((g|0)==8){a=Ta(32)|0;x=0;Ja(56,a|0,f[d>>2]|0,f[c>>2]|0,2);e=x;x=0;if(e&1){e=Ya()|0;bb(a|0);a=e;break}else{x=0;Ia(77,a|0,4384,6);x=0;g=17;break}}while(0);if((g|0)==17)a=Ya()|0;_P(h)}_P(i)}}if((g|0)==15)a=Ya()|0;_P(k);k=a;_P(j);jb(k|0);return 0}function iq(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;l=0;h=c+4|0;e=f[h>>2]|0;do if(!e){i=h;d=h}else{k=d+4|0;d=c+4|0;while(1){i=f[k>>2]|0;h=e+20|0;if(!i)l=9;else{j=f[h>>2]|0;if(!j){l=14;break}if(Tt(i,j)|0){h=f[e>>2]|0;if(!h){l=8;break}else{d=e;e=h}}else l=9}if((l|0)==9){l=0;h=f[h>>2]|0;if(!h){l=14;break}i=f[k>>2]|0;if(!i){l=14;break}if(!(Tt(h,i)|0)){l=14;break}d=e+4|0;h=f[d>>2]|0;if(!h){l=13;break}else e=h}}if((l|0)==8){i=e;d=e;break}else if((l|0)==13){i=e;break}else if((l|0)==14){i=e;break}}while(0);e=f[d>>2]|0;if(e|0){c=e;g=0;f[a>>2]=c;c=a+4|0;b[c>>0]=g;return}h=VN(36)|0;e=h+16|0;x=0;Ga(462,e|0,f[(f[g>>2]|0)+4>>2]|0);g=x;x=0;if(g&1){c=Ya()|0;Hta(h);jb(c|0)}f[e>>2]=13852;f[h+24>>2]=0;f[h+28>>2]=0;f[h+32>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=i;f[d>>2]=h;e=f[f[c>>2]>>2]|0;if(!e)e=h;else{f[c>>2]=e;e=f[d>>2]|0}Ip(f[c+4>>2]|0,e);c=c+8|0;f[c>>2]=(f[c>>2]|0)+1;c=h;g=1;f[a>>2]=c;c=a+4|0;b[c>>0]=g;return}function jq(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;g=0;e=u;u=u+32|0;j=e+24|0;k=e+16|0;i=e+8|0;h=e;c=a+4|0;qV(j,f[c>>2]|0);f[j>>2]=7696;b=b+4|0;x=0;Ga(462,k|0,f[b>>2]|0);d=x;x=0;if(d&1){k=Ya()|0;_P(j);jb(k|0)}f[k>>2]=7696;x=0;a=ta(163,j|0,k|0,7)|0;d=x;x=0;if(d&1)g=15;else{if(a){i=1;_P(k);_P(j);u=e;return i|0}x=0;Ga(462,i|0,f[c>>2]|0);d=x;x=0;if(d&1)g=15;else{f[i>>2]=7696;x=0;Ga(462,h|0,f[b>>2]|0);d=x;x=0;if(d&1)a=Ya()|0;else{f[h>>2]=7696;d=i+4|0;a=f[d>>2]|0;c=h+4|0;if(!a)g=8;else{b=f[c>>2]|0;if(!b)g=8;else{x=0;a=sa(f[(f[a>>2]|0)+92>>2]|0,a|0,b|0)|0;g=x;x=0;if(g&1)g=17;else{_P(h);_P(i);i=a;_P(k);_P(j);u=e;return i|0}}}do if((g|0)==8){a=Ta(32)|0;x=0;Ja(56,a|0,f[d>>2]|0,f[c>>2]|0,2);e=x;x=0;if(e&1){e=Ya()|0;bb(a|0);a=e;break}else{x=0;Ia(77,a|0,4384,6);x=0;g=17;break}}while(0);if((g|0)==17)a=Ya()|0;_P(h)}_P(i)}}if((g|0)==15)a=Ya()|0;_P(k);k=a;_P(j);jb(k|0);return 0}function kq(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=u;u=u+64|0;l=o+48|0;e=o;m=o+40|0;n=a+76|0;g=f[n>>2]|0;if(!(b[g>>0]|0)){n=0;u=o;return n|0}if(c){k=VX(g)|0;g=k|0?k:g}a:do if(!g)h=0;else{h=b[51446]|0;if(!(h<<24>>24))c=g;else{c=g;i=51446;do{if((b[c>>0]|0)!=h<<24>>24){h=0;break a}c=c+1|0;i=i+1|0;h=b[i>>0]|0}while(h<<24>>24!=0)}h=b[c>>0]|0;if(!(h<<24>>24))h=0;else{k=b[52228]|0;b:do if(k<<24>>24)while(1){if(h<<24>>24==k<<24>>24){h=c;i=52228;do{h=h+1|0;i=i+1|0;j=b[i>>0]|0;if(!(j<<24>>24)){c=h;break b}}while((b[h>>0]|0)==j<<24>>24)}c=c+1|0;h=b[c>>0]|0;if(!(h<<24>>24)){h=0;break a}}while(0);if(c>>>0>(f[a+80>>2]|0)>>>0){n=0;u=o;return n|0}else h=c}}while(0);if(!d)if((h|0)==0|(h|0)==(g|0)){n=0;u=o;return n|0}c=f[n>>2]|0;f[a+168>>2]=c;f[a+172>>2]=g;f[a+176>>2]=h;k=a+96|0;vG(l,k,c,g);c=a+84|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];vG(l,k,g,h);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(m,k,c);f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];UI(e,d,g,a+168|0,c,l);g=a+108|0;c=g+40|0;do{f[g>>2]=f[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(c|0));f[n>>2]=h;n=h;u=o;return n|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,p=0,q=0;q=u;u=u+80|0;g=q;o=q+64|0;l=q+56|0;m=a+8|0;h=f[m>>2]|0;p=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;i=g;j=c+12|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));n=g+40|0;x=0;Ga(459,n|0,o|0);k=x;x=0;do if(k&1)a=Ya()|0;else{d=h+4|0;e=f[d>>2]|0;if(e>>>0<(f[h+8>>2]|0)>>>0){i=e;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));k=e+40|0;f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,h|0,g|0);k=x;x=0;if(k&1){a=Ya()|0;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[p>>0]|0)<0)Hta(f[o>>2]|0);qV(l,f[c+68>>2]|0);f[l>>2]=7280;g=f[l+4>>2]|0;x=0;g=sa(f[(f[g>>2]|0)+52>>2]|0,g|0,a|0)|0;p=x;x=0;if(p&1){q=Ya()|0;_P(l);jb(q|0)}_P(l);d=(f[m>>2]|0)+4|0;c=f[d>>2]|0;e=c+-52|0;while(1){a=c+-52|0;f[d>>2]=a;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);a=f[d>>2]|0}if((a|0)==(e|0))break;else c=a}u=q;return g|0}while(0);if((b[p>>0]|0)<0)Hta(f[o>>2]|0);q=a;jb(q|0);return 0}function mq(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(Bz(a)|0){g=a;return g|0}g=b[36403]|0;if(!(g<<24>>24)){while(1){c=e9(a)|0;if(!c){c=Vla(a)|0;if(!c)c=nC(a)|0}h=(c|0)==0;d=h?a:c;if((c|0)==(a|0)|h){a=0;c=17;break}if(!(Bz(d)|0))a=d;else{a=d;c=17;break}}if((c|0)==17)return a|0}else f=a;while(1){d=b[f>>0]|0;a=36403;c=g;while(1){if(d<<24>>24==c<<24>>24){c=11;break}a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){c=13;break}}if((c|0)==11){c=0;if(!(d<<24>>24))c=13;else e=f+1|0}if((c|0)==13){a=e9(f)|0;if(!a){a=Vla(f)|0;if(!a)a=nC(f)|0}c=(a|0)==0;if((a|0)==(f|0)|c){a=0;c=17;break}else e=c?f:a}if(!(Bz(e)|0))f=e;else{a=e;c=17;break}}if((c|0)==17)return a|0;return 0}function nq(a){a=a|0;var c=0,d=0,e=0,f=0;f=0;d=a+1|0;if((b[a>>0]|0)!=46){f=a;return f|0}c=Ug(d)|0;if(!c){c=d;f=4}else{e=b[c>>0]|0;if(e<<24>>24==37){c=d;f=4}}if((f|0)==4){while(1)if((b[c>>0]|0)==45){c=c+1|0;f=4}else break;c=Ay(c)|0;if(!c){f=a;return f|0}c=wy(c)|0;if(!c){f=a;return f|0}else{d=c;f=7}}while(1){if((f|0)==7){c=d;e=b[d>>0]|0}d=c+1|0;if(e<<24>>24!=46){f=14;break}e=Ug(d)|0;if(e)if((b[e>>0]|0)!=37){d=e;f=7;continue}while(1)if((b[d>>0]|0)==45)d=d+1|0;else break;d=Ay(d)|0;if(!d){f=14;break}d=wy(d)|0;if(!d){f=14;break}else f=7}if((f|0)==14)return c|0;return 0}function oq(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=u;u=u+48|0;g=k+24|0;l=k+32|0;d=k+16|0;h=k+8|0;i=k;e=c+64|0;qV(g,f[e>>2]|0);f[g>>2]=7696;j=(f[g+4>>2]|0)==0;_P(g);if(j){u=k;return}j=a+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=40;b[l+1>>0]=0;x=0;Ga(682,j|0,l|0);m=x;x=0;if(m&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=c;jb(m|0)}if((b[g>>0]|0)<0)Hta(f[l>>2]|0);qV(d,f[e>>2]|0);f[d>>2]=7696;m=f[d+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(m&1){m=Ya()|0;_P(d);jb(m|0)}_P(d);c=c+72|0;qV(h,f[c>>2]|0);f[h>>2]=7696;m=(f[h+4>>2]|0)==0;_P(h);do if(!m){yy(j);qV(i,f[c>>2]|0);f[i>>2]=7696;m=f[i+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(!(m&1)){_P(i);break}m=Ya()|0;_P(i);jb(m|0)}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=l+11|0;b[d>>0]=1;b[l>>0]=41;b[l+1>>0]=0;x=0;Ga(682,j|0,l|0);m=x;x=0;if(m&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[l>>2]|0);m=c;jb(m|0)}else{if((b[d>>0]|0)<0)Hta(f[l>>2]|0);u=k;return}}function pq(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;j=0;k=u;u=u+48|0;d=k+40|0;b=k+32|0;c=k+24|0;g=k+16|0;h=k+8|0;e=k;i=a+88|0;qV(d,f[i>>2]|0);f[d>>2]=15556;a:do if(!(f[d+4>>2]|0))_P(d);else{x=0;Ga(462,c|0,f[i>>2]|0);l=x;x=0;do if(l&1)b=Ya()|0;else{f[c>>2]=15556;x=0;Ga(462,b|0,f[(f[c+4>>2]|0)+88>>2]|0);l=x;x=0;if(l&1){b=Ya()|0;_P(c);break}f[b>>2]=15556;l=(f[b+4>>2]|0)==0;_P(b);_P(c);_P(d);if(l)break a;qV(e,f[i>>2]|0);f[e>>2]=15556;x=0;b=qa(322,f[e+4>>2]|0)|0;l=x;x=0;if(l&1){l=Ya()|0;_P(e);jb(l|0)}else{_P(e);l=b;u=k;return l|0}}while(0);_P(d);l=b;jb(l|0)}while(0);l=a+72|0;c=f[l>>2]|0;b=a+68|0;f[b>>2]=0;f[l>>2]=0;qV(h,0);f[h>>2]=15556;f[b>>2]=0;b=a+84|0;if(!(f[i>>2]|0))j=8;else{x=0;Fa(429,b|0);l=x;x=0;if(!(l&1))j=8}if((j|0)==8){f[i>>2]=f[h+4>>2];x=0;Fa(430,b|0);l=x;x=0;if(!(l&1)){x=0;Ga(462,g|0,f[i>>2]|0);l=x;x=0;if(!(l&1)){f[g>>2]=15556;_P(g);_P(h);l=c;u=k;return l|0}}}l=Ya()|0;_P(h);jb(l|0);return 0}function qq(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=0;i=u;u=u+16|0;j=i;d=a+80|0;do if(!(f[d>>2]|0)){d=a+76|0;e=f[d>>2]|0;if(e|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if(e>>>0>4294967279)CO(j);if(e>>>0<11){b[j+11>>0]=e;c=j}else{h=e+16&-16;c=VN(h)|0;f[j>>2]=c;f[j+8>>2]=h|-2147483648;f[j+4>>2]=e}AD(c|0,32,e|0)|0;b[c+e>>0]=0;f[d>>2]=0;x=0;Ga(682,a|0,j|0);h=x;x=0;if(!(h&1)){if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);break}c=Ya()|0;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);j=c;jb(j|0)}}else{h=j+11|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+68|0;c=0;while(1){x=0;sa(991,j|0,f[(f[e>>2]|0)+16>>2]|0)|0;k=x;x=0;if(k&1)break;c=c+1|0;if(c>>>0>=(f[d>>2]|0)>>>0){g=3;break}}if((g|0)==3){f[a+76>>2]=0;f[d>>2]=0;x=0;Ga(682,a|0,j|0);k=x;x=0;if(!(k&1)){if((b[h>>0]|0)<0)Hta(f[j>>2]|0);break}}c=Ya()|0;if((b[h>>0]|0)<0)Hta(f[j>>2]|0);k=c;jb(k|0)}while(0);c=a+84|0;if(!(b[c>>0]|0)){u=i;return}b[c>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;d=j+11|0;b[d>>0]=1;b[j>>0]=59;b[j+1>>0]=0;x=0;Ga(682,a|0,j|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[j>>2]|0);k=c;jb(k|0)}else{if((b[d>>0]|0)<0)Hta(f[j>>2]|0);u=i;return}}function rq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=u;u=u+32|0;j=i+12|0;h=i;if(c|0){g=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[199]|0)==(g|0)|(f[195]|0)==(g|0)|(f[191]|0)==(g|0)|(f[203]|0)==(g|0)|(f[125]|0)==(g|0)|(f[187]|0)==(g|0)|(f[183]|0)==(g|0)|(f[207]|0)==(g|0)|(f[315]|0)==(g|0)|(f[163]|0)==(g|0)|(f[175]|0)==(g|0)|(f[179]|0)==(g|0)){u=i;return}}Gv(j,a+16|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,80)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[h>>2]=a;f[h+8>>2]=-2147483568;f[h+4>>2]=72;d=a;e=50260;g=d+72|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+72>>0]=0;x=0;Ia(149,c|0,j|0,h|0);c=x;x=0;if(c&1){a=Ya()|0;if((b[h+11>>0]|0)>=0){c=a;break}Hta(f[h>>2]|0);c=a;break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);a=f[j>>2]|0;if(!a){u=i;return}g=j+4|0;d=f[g>>2]|0;if((d|0)!=(a|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(a|0));a=f[j>>2]|0}Hta(a);u=i;return}while(0);a=f[j>>2]|0;if(!a)jb(c|0);g=j+4|0;d=f[g>>2]|0;if((d|0)!=(a|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(a|0));a=f[j>>2]|0}Hta(a);jb(c|0)}function sq(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;l=0;i=u;u=u+128|0;e=i+80|0;m=i+64|0;g=i+24|0;j=i+12|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;k=Ta(84)|0;h=g;d=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(d|0));x=0;Ga(511,j|0,m|0);h=x;x=0;do if(h&1){c=Ya()|0;l=17}else{x=0;Ga(459,i|0,a|0);h=x;x=0;if(h&1){c=Ya()|0;i=I;e=1}else{x=0;h=e;c=g;d=h+40|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(d|0));Ja(18,k|0,e|0,j|0,i|0);h=x;x=0;if(h&1)e=1;else{x=0;Ia(77,k|0,2448,181);x=0;e=0}c=Ya()|0;d=I;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=d}else i=d}d=f[j>>2]|0;if(!d)if(e){l=17;break}else{a=c;break}h=j+4|0;a=f[h>>2]|0;if((a|0)!=(d|0)){do{g=a+-52|0;f[h>>2]=g;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[h>>2]|0}else a=g}while((a|0)!=(d|0));d=f[j>>2]|0}Hta(d);if(e)l=17;else a=c}while(0);if((l|0)==17){bb(k|0);a=c}c=f[m>>2]|0;if(!c)jb(a|0);d=f[n>>2]|0;if((d|0)!=(c|0)){do{e=d+-52|0;f[n>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[n>>2]|0}else d=e}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c);jb(a|0)}function tq(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=0;l=a+68|0;c=f[l>>2]|0;if(c|0){m=c;return m|0}f[l>>2]=-1640531520;i=a+72|0;j=b[i+11>>0]|0;k=j<<24>>24<0;i=k?f[i>>2]|0:i;j=k?f[a+76>>2]|0:j&255;if(j>>>0>3){g=j+-4|0;e=i;c=j;d=j;while(1){k=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;c=(X(k>>>24^k,1540483477)|0)^(X(c,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else e=e+4|0}e=g&-4;d=g-e|0;e=i+(e+4)|0}else{d=j;e=i;c=j}switch(d|0){case 3:{c=(h[e+2>>0]|0)<<16^c;m=8;break}case 2:{m=8;break}case 1:{m=9;break}default:{}}if((m|0)==8){c=(h[e+1>>0]|0)<<8^c;m=9}if((m|0)==9)c=X(c^(h[e>>0]|0),1540483477)|0;k=X(c>>>13^c,1540483477)|0;k=(k>>>15^k)+1403242537^-1640531520;f[l>>2]=k;j=a+84|0;i=b[j+11>>0]|0;g=i<<24>>24<0;j=g?f[j>>2]|0:j;i=g?f[a+88>>2]|0:i&255;if(i>>>0>3){g=i+-4|0;e=j;c=i;d=i;while(1){a=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;c=(X(a>>>24^a,1540483477)|0)^(X(c,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else e=e+4|0}e=g&-4;d=g-e|0;e=j+(e+4)|0}else{d=i;e=j;c=i}switch(d|0){case 3:{c=(h[e+2>>0]|0)<<16^c;m=16;break}case 2:{m=16;break}case 1:{m=17;break}default:{}}if((m|0)==16){c=(h[e+1>>0]|0)<<8^c;m=17}if((m|0)==17)c=X(c^(h[e>>0]|0),1540483477)|0;m=X(c>>>13^c,1540483477)|0;m=(k<<6)+-1640531527+(k>>>2)+(m>>>15^m)^k;f[l>>2]=m;return m|0}function uq(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=u;u=u+16|0;k=m+8|0;l=m;c=qca(c)|0;if(!c){k=0;l=0;l=k&l;u=m;return l|0}j=a+60|0;h=(f[a+68>>2]|0)-(f[a+64>>2]|0)>>3;i=c+60|0;if((h|0)!=((f[c+68>>2]|0)-(f[c+64>>2]|0)>>3|0)){k=1;l=0;l=k&l;u=m;return l|0}if((f[a+80>>2]|0)!=(f[c+80>>2]|0)){k=1;l=0;l=k&l;u=m;return l|0}if((b[a+85>>0]|0)!=0^(b[c+85>>0]|0)!=0){k=1;l=0;l=k&l;u=m;return l|0}if(!h){k=1;l=1;l=k&l;u=m;return l|0}e=l+4|0;g=k+4|0;d=0;while(1){c=(xc[f[(f[i>>2]|0)+12>>2]&2047](i,d)|0)+4|0;qV(k,f[c>>2]|0);f[k>>2]=7696;x=0;c=sa(f[(f[j>>2]|0)+12>>2]|0,j|0,d|0)|0;a=x;x=0;if(a&1){d=11;break}x=0;Ga(462,l|0,f[c+4>>2]|0);a=x;x=0;if(a&1){d=11;break}f[l>>2]=7696;c=f[e>>2]|0;a=f[g>>2]|0;if((c|0)==0|(a|0)==0)c=1;else{x=0;c=sa(f[(f[c>>2]|0)+92>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1){d=12;break}c=(c^1)&1}_P(l);_P(k);d=d+1|0;if(c|0){c=1;a=0;d=17;break}if(d>>>0>=h>>>0){c=1;a=1;d=17;break}}if((d|0)==11){m=Ya()|0;_P(k);jb(m|0)}else if((d|0)==12){m=Ya()|0;_P(l);_P(k);jb(m|0)}else if((d|0)==17){l=c&a;u=m;return l|0}return 0}function vq(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=(d-c|0)/12|0;k=a+8|0;e=f[k>>2]|0;h=f[a>>2]|0;g=h;if(j>>>0<=((e-h|0)/12|0)>>>0){a=a+4|0;e=((f[a>>2]|0)-h|0)/12|0;i=j>>>0>e>>>0;e=c+(e*12|0)|0;h=i?e:d;if((h|0)!=(c|0))do{WO(g,c)|0;c=c+12|0;g=g+12|0}while((c|0)!=(h|0));if(i){if((h|0)==(d|0))return;c=f[a>>2]|0;do{ND(c,e);e=e+12|0;c=(f[a>>2]|0)+12|0;f[a>>2]=c}while((e|0)!=(d|0));return}e=f[a>>2]|0;if((e|0)==(g|0))return;do{e=e+-12|0;f[a>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}}while((e|0)!=(g|0));return}if(h){i=a+4|0;e=f[i>>2]|0;if((e|0)==(g|0))e=h;else{do{e=e+-12|0;f[i>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}}while((e|0)!=(g|0));e=f[a>>2]|0}Hta(e);f[k>>2]=0;f[i>>2]=0;f[a>>2]=0;e=0}if(j>>>0>357913941)EO(a);i=(e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?j:g):357913941;if(g>>>0>357913941)EO(a);e=VN(g*12|0)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[k>>2]=e+(g*12|0);if((c|0)==(d|0))return;do{ND(e,c);c=c+12|0;e=(f[h>>2]|0)+12|0;f[h>>2]=e}while((c|0)!=(d|0));return}function wq(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;i=c-b>>3;j=a+8|0;d=f[j>>2]|0;h=f[a>>2]|0;e=h;if(i>>>0>d-h>>3>>>0){if(h){g=a+4|0;d=f[g>>2]|0;if((d|0)==(e|0))d=h;else{do{h=d+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);d=f[g>>2]|0}while((d|0)!=(e|0));d=f[a>>2]|0}Hta(d);f[j>>2]=0;f[g>>2]=0;f[a>>2]=0;d=0}if(i>>>0>536870911)EO(a);e=d>>2;e=d>>3>>>0<268435455?(e>>>0>>0?i:e):536870911;if(e>>>0>536870911)EO(a);d=VN(e<<3)|0;g=a+4|0;f[g>>2]=d;f[a>>2]=d;f[j>>2]=d+(e<<3);if((b|0)==(c|0))return;do{qV(d,f[b+4>>2]|0);f[d>>2]=15556;b=b+8|0;d=(f[g>>2]|0)+8|0;f[g>>2]=d}while((b|0)!=(c|0));return}a=a+4|0;d=(f[a>>2]|0)-h>>3;i=i>>>0>d>>>0;d=b+(d<<3)|0;h=i?d:c;if((h|0)!=(b|0))do{g=e+4|0;if(f[g>>2]|0)vQ(e);f[g>>2]=f[b+4>>2];EX(e);b=b+8|0;e=e+8|0}while((b|0)!=(h|0));if(!i){d=f[a>>2]|0;if((d|0)==(e|0))return;do{c=d+-8|0;f[a>>2]=c;Kc[f[f[c>>2]>>2]&511](c);d=f[a>>2]|0}while((d|0)!=(e|0));return}if((h|0)==(c|0))return;b=f[a>>2]|0;do{qV(b,f[d+4>>2]|0);f[b>>2]=15556;d=d+8|0;b=(f[a>>2]|0)+8|0;f[a>>2]=b}while((d|0)!=(c|0));return}function xq(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;n=a+4|0;d=f[a>>2]|0;i=((f[n>>2]|0)-d|0)/52|0;e=i+1|0;if(e>>>0>82595524)EO(a);o=a+8|0;m=((f[o>>2]|0)-d|0)/52|0;d=m<<1;d=m>>>0<41297762?(d>>>0>>0?e:d):82595524;do if(!d)g=0;else{if(d>>>0<=82595524){g=VN(d*52|0)|0;break}d=Ta(8)|0;x=0;Ga(461,d|0,60050);o=x;x=0;if(o&1){o=Ya()|0;bb(d|0);jb(o|0)}else{f[d>>2]=29784;fb(d|0,6192,412)}}while(0);h=g+(i*52|0)|0;e=h;m=g+(d*52|0)|0;j=h;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=g+(i*52|0)+40|0;i=c+40|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=h+52|0;c=f[a>>2]|0;d=f[n>>2]|0;if((d|0)==(c|0)){h=c;d=c}else{do{g=d;d=d+-52|0;j=h+-52|0;k=d;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));k=h+-12|0;l=g+-12|0;f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=e+-52|0;e=h}while((d|0)!=(c|0));h=f[a>>2]|0;d=f[n>>2]|0}f[a>>2]=e;f[n>>2]=i;f[o>>2]=m;g=h;if((d|0)!=(g|0))do{e=d+-12|0;d=d+-52|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0)}while((d|0)!=(g|0));if(!h)return;Hta(h);return}function yq(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;i=c-b>>3;j=a+8|0;d=f[j>>2]|0;h=f[a>>2]|0;e=h;if(i>>>0>d-h>>3>>>0){if(h){g=a+4|0;d=f[g>>2]|0;if((d|0)==(e|0))d=h;else{do{h=d+-8|0;f[g>>2]=h;Kc[f[f[h>>2]>>2]&511](h);d=f[g>>2]|0}while((d|0)!=(e|0));d=f[a>>2]|0}Hta(d);f[j>>2]=0;f[g>>2]=0;f[a>>2]=0;d=0}if(i>>>0>536870911)EO(a);e=d>>2;e=d>>3>>>0<268435455?(e>>>0>>0?i:e):536870911;if(e>>>0>536870911)EO(a);d=VN(e<<3)|0;g=a+4|0;f[g>>2]=d;f[a>>2]=d;f[j>>2]=d+(e<<3);if((b|0)==(c|0))return;do{qV(d,f[b+4>>2]|0);f[d>>2]=7696;b=b+8|0;d=(f[g>>2]|0)+8|0;f[g>>2]=d}while((b|0)!=(c|0));return}a=a+4|0;d=(f[a>>2]|0)-h>>3;i=i>>>0>d>>>0;d=b+(d<<3)|0;h=i?d:c;if((h|0)!=(b|0))do{g=e+4|0;if(f[g>>2]|0)vQ(e);f[g>>2]=f[b+4>>2];EX(e);b=b+8|0;e=e+8|0}while((b|0)!=(h|0));if(!i){d=f[a>>2]|0;if((d|0)==(e|0))return;do{c=d+-8|0;f[a>>2]=c;Kc[f[f[c>>2]>>2]&511](c);d=f[a>>2]|0}while((d|0)!=(e|0));return}if((h|0)==(c|0))return;b=f[a>>2]|0;do{qV(b,f[d+4>>2]|0);f[b>>2]=7696;d=d+8|0;b=(f[a>>2]|0)+8|0;f[a>>2]=b}while((d|0)!=(c|0));return}function zq(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;n=0;o=u;u=u+16|0;p=o;k=a+72|0;f[k>>2]=(f[k>>2]|0)+-1;l=a+80|0;f[l>>2]=0;m=a+68|0;a:do switch(f[f[m>>2]>>2]|0){case 3:{b[a+84>>0]=0;break}case 1:{if(!(b[a+100>>0]|0))n=5;else if(!(b[a+102>>0]|0))n=5;if((n|0)==5){f[l>>2]=1;f[a+76>>2]=0}wv(a);break}default:{e=a+4|0;j=e+11|0;d=b[j>>0]|0;g=d<<24>>24<0;if(g)i=f[a+8>>2]|0;else i=d&255;if(i|0){if(g)d=f[a+8>>2]|0;else d=d&255;i=XO(e,d+-1|0)|0;if(wpa(h[i>>0]|0)|0)if(!(b[a+84>>0]|0))break a;d=b[j>>0]|0;if(d<<24>>24<0){e=f[e>>2]|0;d=f[a+8>>2]|0}else d=d&255;if((b[e+d+-1>>0]|0)!=40)f[a+76>>2]=1}}}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;e=p+11|0;b[e>>0]=1;b[p>>0]=125;b[p+1>>0]=0;x=0;Ga(682,a|0,p|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[e>>0]|0)>=0)jb(d|0);Hta(f[p>>2]|0);jb(d|0)}if((b[e>>0]|0)<0)Hta(f[p>>2]|0);if(c|0)Ry(a+16|0,c);if(!(b[a+100>>0]|0))n=31;else if(!(b[a+102>>0]|0))n=31;b:do if((n|0)==31)switch(f[f[m>>2]>>2]|0){case 3:break b;case 2:{f[a+76>>2]=1;break b}default:{f[l>>2]=1;f[a+76>>2]=0;break b}}while(0);if(f[k>>2]|0){u=o;return}if((f[f[m>>2]>>2]|0)==3){u=o;return}f[l>>2]=2;u=o;return}function Aq(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;k=j+16|0;e=j+8|0;h=j;i=a+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=k+11|0;b[g>>0]=1;b[k>>0]=40;b[k+1>>0]=0;x=0;Ga(682,i|0,k|0);l=x;x=0;if(l&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[k>>2]|0);l=e;jb(l|0)}if((b[g>>0]|0)<0)Hta(f[k>>2]|0);qV(e,f[c+64>>2]|0);f[e>>2]=7696;l=f[e+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(l&1){l=Ya()|0;_P(e);jb(l|0)}_P(e);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=k+11|0;b[g>>0]=2;d[k>>1]=8250;b[k+2>>0]=0;x=0;Ga(682,i|0,k|0);l=x;x=0;if(l&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[k>>2]|0);l=e;jb(l|0)}if((b[g>>0]|0)<0)Hta(f[k>>2]|0);qV(h,f[c+72>>2]|0);f[h>>2]=7696;l=f[h+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+44>>2]|0,l|0,a|0);l=x;x=0;if(l&1){l=Ya()|0;_P(h);jb(l|0)}_P(h);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=k+11|0;b[g>>0]=1;b[k>>0]=41;b[k+1>>0]=0;x=0;Ga(682,i|0,k|0);l=x;x=0;if(l&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[k>>2]|0);l=e;jb(l|0)}else{if((b[g>>0]|0)>=0){u=j;return}Hta(f[k>>2]|0);u=j;return}}function Bq(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=b[a>>0]|0;c=a+1|0;if(d<<24>>24==124){a=c;return a|0}e=b[36400]|0;h=e<<24>>24==0;a:do if(h)d=0;else{f=36400;g=e;while(1){if(d<<24>>24==g<<24>>24)break a;f=f+1|0;g=b[f>>0]|0;if(!(g<<24>>24)){d=0;break}}}while(0);d=d<<24>>24?c:a;if(d|0){d=Nu(d)|0;if(d|0){d=Nm(d)|0;if(d|0){a=d;return a|0}}}b:do if(h)d=0;else{d=b[a>>0]|0;f=36400;while(1){if(d<<24>>24==e<<24>>24)break b;f=f+1|0;e=b[f>>0]|0;if(!(e<<24>>24)){d=0;break}}}while(0);d=d<<24>>24?c:a;if(d|0){d=Nu(d)|0;if(d|0){a=d;return a|0}}if((b[a>>0]|0)!=33){a=0;return a|0}d=b[36346]|0;c:do if(d<<24>>24){e=36346;while(1){if((b[c>>0]|0)!=d<<24>>24){c=0;break}c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24))break c}return c|0}while(0);a=sR(c)|0;return a|0}function Cq(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;l=0;o=u;u=u+16|0;k=o;m=o+8|0;n=a+96|0;if(f[n>>2]|0){n=f[n>>2]|0;u=o;return n|0}i=a+60|0;j=b[i+11>>0]|0;g=j<<24>>24<0;i=g?f[i>>2]|0:i;j=g?f[a+64>>2]|0:j&255;if(j>>>0>3){g=j+-4|0;e=i;c=j;d=j;while(1){j=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else e=e+4|0}e=g&-4;d=g-e|0;e=i+(e+4)|0}else{d=j;e=i;c=j}switch(d|0){case 3:{c=(h[e+2>>0]|0)<<16^c;l=8;break}case 2:{l=8;break}case 1:{l=9;break}default:{}}if((l|0)==8){c=(h[e+1>>0]|0)<<8^c;l=9}if((l|0)==9)c=X(c^(h[e>>0]|0),1540483477)|0;e=X(c>>>13^c,1540483477)|0;f[n>>2]=e>>>15^e;qV(k,f[a+76>>2]|0);f[k>>2]=9376;e=f[k+4>>2]|0;_P(k);c=f[e+64>>2]|0;e=f[e+68>>2]|0;if((c|0)==(e|0)){n=f[n>>2]|0;u=o;return n|0}g=m+4|0;while(1){qV(m,f[c+4>>2]|0);f[m>>2]=10408;d=f[g>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+8>>2]|0,d|0)|0;l=x;x=0;if(l&1){l=14;break}l=f[n>>2]|0;f[n>>2]=d+-1640531527+(l<<6)+(l>>>2)^l;_P(m);c=c+8|0;if((c|0)==(e|0)){l=15;break}}if((l|0)==14){o=Ya()|0;_P(m);jb(o|0)}else if((l|0)==15){n=f[n>>2]|0;u=o;return n|0}return 0}function Dq(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;s=u;u=u+16|0;n=s;if((c|0)==-1){r=0;u=s;return r|0}o=a+12|0;p=a+8|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;r=a+24|0;d=f[r>>2]|0;l=a+28|0;e=f[l>>2]|0;do if((d|0)==(e|0)){j=a+48|0;if(!(f[j>>2]&16)){r=-1;u=s;return r|0}k=a+20|0;i=f[k>>2]|0;h=d-i|0;m=a+44|0;i=(f[m>>2]|0)-i|0;g=a+32|0;x=0;Ga(534,g|0,0);e=x;x=0;if(!(e&1)){d=g+11|0;if((b[d>>0]|0)<0)e=(f[a+40>>2]&2147483647)+-1|0;else e=10;x=0;Ia(93,g|0,e|0,0);e=x;x=0;if(!(e&1)){d=b[d>>0]|0;if(d<<24>>24<0){e=f[g>>2]|0;d=f[a+36>>2]|0}else{e=g;d=d&255}t=e+d|0;f[k>>2]=e;f[l>>2]=t;k=e+h|0;f[r>>2]=k;d=e+i|0;f[m>>2]=d;l=m;g=m;i=t;break}}t=Za(0)|0;Ua(t|0)|0;Wa();t=-1;u=s;return t|0}else{i=a+44|0;l=i;j=a+48|0;g=i;k=d;d=f[i>>2]|0;i=e}while(0);h=k+1|0;f[n>>2]=h;e=f[(h>>>0>>0?g:n)>>2]|0;f[l>>2]=e;if(f[j>>2]&8|0){d=a+32|0;if((b[d+11>>0]|0)<0)d=f[d>>2]|0;f[p>>2]=d;f[o>>2]=d+q;f[a+16>>2]=e}if((k|0)==(i|0)){t=xc[f[(f[a>>2]|0)+52>>2]&2047](a,c&255)|0;u=s;return t|0}else{f[r>>2]=h;b[k>>0]=c;t=c&255;u=s;return t|0}return 0}function Eq(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=u;u=u+16|0;k=l+4|0;h=l;a:do if(!(f[d+4>>2]&1)){j=f[(f[a>>2]|0)+24>>2]|0;f[h>>2]=f[c>>2];f[k>>2]=f[h>>2];a=Bc[j&63](a,k,d,e,g&1)|0}else{kha(k,d);x=0;a=sa(994,k|0,83360)|0;j=x;x=0;do if(j&1){a=Ya()|0;uga(k)}else{uga(k);d=f[a>>2]|0;if(g)Lc[f[d+24>>2]&1023](k,a);else Lc[f[d+28>>2]&1023](k,a);i=k+8+3|0;a=b[i>>0]|0;d=f[k>>2]|0;j=k+4|0;g=a<<24>>24<0?d:k;while(1){h=a<<24>>24<0;if((g|0)==((h?d:k)+((h?f[j>>2]|0:a&255)<<2)|0)){d=9;break}a=f[g>>2]|0;d=f[c>>2]|0;if(d|0){e=d+24|0;h=f[e>>2]|0;if((h|0)==(f[d+28>>2]|0)){h=f[(f[d>>2]|0)+52>>2]|0;a=mra(a)|0;x=0;a=sa(h|0,d|0,a|0)|0;h=x;x=0;if(h&1){d=18;break}}else{f[e>>2]=h+4;f[h>>2]=a;a=mra(a)|0}if(vja(a,Jta()|0)|0)f[c>>2]=0}g=g+4|0;a=b[i>>0]|0;d=f[k>>2]|0}if((d|0)==9){a=f[c>>2]|0;jaa(k);break a}else if((d|0)==18){a=Ya()|0;jaa(k);break}}while(0);jb(a|0)}while(0);u=l;return a|0}function Fq(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;g=u;u=u+48|0;l=g+24|0;m=g+12|0;k=g;if(Zw(c,1,0)|0){m=c+28|0;f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];u=g;return}d=VN(16)|0;f[l>>2]=d;f[l+8>>2]=-2147483632;f[l+4>>2]=11;e=d;h=44242;i=e+11|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(i|0));b[d+11>>0]=0;f[m+8>>2]=0;j=m+11|0;b[j>>0]=7;b[m>>0]=b[44254]|0;b[m+1>>0]=b[44255]|0;b[m+2>>0]=b[44256]|0;b[m+3>>0]=b[44257]|0;b[m+4>>0]=b[44258]|0;b[m+5>>0]=b[44259]|0;b[m+6>>0]=b[44260]|0;b[m+7>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;d=qa(318,32)|0;i=x;x=0;do if(i&1)d=Ya()|0;else{f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=27;e=d;h=46221;i=e+27|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(i|0));b[d+27>>0]=0;x=0;Ka(8,c|0,l|0,m|0,k|0,1);i=x;x=0;if(i&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[j>>0]|0)<0)Hta(f[m>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);m=c+28|0;f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];u=g;return}while(0);if((b[j>>0]|0)<0)Hta(f[m>>2]|0);if((b[l+11>>0]|0)>=0)jb(d|0);Hta(f[l>>2]|0);jb(d|0)}function Gq(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;var k=0,l=0,m=0,n=0;n=u;u=u+48|0;k=n;m=n+40|0;qV(m,0);f[m>>2]=7280;l=k;i=c;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));x=0;Fa(427,a|0);l=x;x=0;do if(l&1)i=Ya()|0;else{l=a+12|0;i=k;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));f[a+52>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=7184;i=a+64|0;x=0;Ga(462,i|0,f[m+4>>2]|0);l=x;x=0;if(l&1){i=Ya()|0;break}f[i>>2]=7280;_P(m);f[a>>2]=9168;c=a+72|0;x=0;Ga(459,c|0,e|0);e=x;x=0;if(e&1)i=Ya()|0;else{j=a+84|0;x=0;Ga(462,j|0,f[g+4>>2]|0);g=x;x=0;do if(g&1)i=Ya()|0;else{f[j>>2]=9264;f[a+92>>2]=0;f[a+96>>2]=1;f[a+100>>2]=0;f[a+104>>2]=h;x=0;i=qa(333,h|0)|0;h=x;x=0;if(h&1){i=Ya()|0;_P(j);break}else{f[a+108>>2]=i;b[a+112>>0]=0;f[a+116>>2]=d;u=n;return}}while(0);if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}f[a>>2]=7184;_P(a+64|0);a=i;jb(a|0)}while(0);_P(m);a=i;jb(a|0)} +function nj(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,t=0;r=0;s=u;u=u+176|0;m=s+136|0;t=s+120|0;c=s+80|0;l=s+68|0;o=s+56|0;n=s+16|0;p=s;f[t+8>>2]=0;q=t+11|0;b[q>>0]=7;b[t>>0]=b[39749]|0;b[t+1>>0]=b[39750]|0;b[t+2>>0]=b[39751]|0;b[t+3>>0]=b[39752]|0;b[t+4>>0]=b[39753]|0;b[t+5>>0]=b[39754]|0;b[t+6>>0]=b[39755]|0;b[t+7>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,l|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;i=m;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));k=wa(27,t|0,a|0,e|0,m|0,l|0)|0;h=x;x=0;if(h&1){c=Ya()|0;k=I;d=f[l>>2]|0;if(!d)break;a=l+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[l>>2]|0}Hta(d);break}c=f[l>>2]|0;if(c|0){j=l+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[l>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[t>>2]|0);ND(t,k+64|0);a=t+11|0;d=b[a>>0]|0;i=d<<24>>24<0?f[t+4>>2]|0:d&255;a:do if(!i)r=14;else{c=0;while(1){x=0;d=qa(337,b[(d<<24>>24<0?f[t>>2]|0:t)+c>>0]|0)|0;q=x;x=0;if(q&1)break;if(d){q=((b[a>>0]|0)<0?f[t>>2]|0:t)+c|0;l=(Dma(b[q>>0]|0)|0)&255;b[q>>0]=l}c=c+1|0;if(c>>>0>=i>>>0){r=14;break a}d=b[a>>0]|0}c=Ya()|0}while(0);b:do if((r|0)==14){do if(!k)r=43;else{c=f[k>>2]|0;if((f[343]|0)==(f[(f[c+-4>>2]|0)+4>>2]|0)){x=0;c=qa(f[c+12>>2]|0,k|0)|0;g=x;x=0;if(!(g&1)){x=0;Ga(459,o|0,t|0);g=x;x=0;if(!(g&1)){f[c+76>>2]=0;x=0;sa(986,c+64|0,o|0)|0;g=x;x=0;if(g&1){c=Ya()|0;if((b[o+11>>0]|0)>=0)break b;Hta(f[o>>2]|0);break b}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);break}}c=Ya()|0;break b}else r=43}while(0);c:do if((r|0)==43){x=0;d=qa(318,80)|0;r=x;x=0;if(r&1){c=Ya()|0;break b}i=n;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(459,p|0,t|0);g=x;x=0;do if(g&1)c=Ya()|0;else{x=0;i=m;j=n;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Na(1,d|0,m|0,p|0,0,0,0,1,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}else{if((b[p+11>>0]|0)>=0){c=d;break c}Hta(f[p>>2]|0);c=d;break c}}while(0);Hta(d);break b}while(0);if((b[a>>0]|0)>=0){u=s;return c|0}Hta(f[t>>2]|0);u=s;return c|0}while(0);if((b[a>>0]|0)<0)Hta(f[t>>2]|0);t=c;jb(t|0)}while(0);if((b[q>>0]|0)<0)Hta(f[t>>2]|0);t=c;jb(t|0);return 0}function oj(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,t=0;r=0;s=u;u=u+176|0;m=s+136|0;t=s+120|0;c=s+80|0;l=s+68|0;o=s+56|0;n=s+16|0;p=s;f[t+8>>2]=0;q=t+11|0;b[q>>0]=7;b[t>>0]=b[39749]|0;b[t+1>>0]=b[39750]|0;b[t+2>>0]=b[39751]|0;b[t+3>>0]=b[39752]|0;b[t+4>>0]=b[39753]|0;b[t+5>>0]=b[39754]|0;b[t+6>>0]=b[39755]|0;b[t+7>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,l|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;i=m;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));k=wa(27,t|0,a|0,e|0,m|0,l|0)|0;h=x;x=0;if(h&1){c=Ya()|0;k=I;d=f[l>>2]|0;if(!d)break;a=l+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[l>>2]|0}Hta(d);break}c=f[l>>2]|0;if(c|0){j=l+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[l>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[t>>2]|0);ND(t,k+64|0);a=t+11|0;d=b[a>>0]|0;i=d<<24>>24<0?f[t+4>>2]|0:d&255;a:do if(!i)r=14;else{c=0;while(1){x=0;d=qa(337,b[(d<<24>>24<0?f[t>>2]|0:t)+c>>0]|0)|0;q=x;x=0;if(q&1)break;if(d){q=((b[a>>0]|0)<0?f[t>>2]|0:t)+c|0;l=(Ema(b[q>>0]|0)|0)&255;b[q>>0]=l}c=c+1|0;if(c>>>0>=i>>>0){r=14;break a}d=b[a>>0]|0}c=Ya()|0}while(0);b:do if((r|0)==14){do if(!k)r=43;else{c=f[k>>2]|0;if((f[343]|0)==(f[(f[c+-4>>2]|0)+4>>2]|0)){x=0;c=qa(f[c+12>>2]|0,k|0)|0;g=x;x=0;if(!(g&1)){x=0;Ga(459,o|0,t|0);g=x;x=0;if(!(g&1)){f[c+76>>2]=0;x=0;sa(986,c+64|0,o|0)|0;g=x;x=0;if(g&1){c=Ya()|0;if((b[o+11>>0]|0)>=0)break b;Hta(f[o>>2]|0);break b}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);break}}c=Ya()|0;break b}else r=43}while(0);c:do if((r|0)==43){x=0;d=qa(318,80)|0;r=x;x=0;if(r&1){c=Ya()|0;break b}i=n;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(459,p|0,t|0);g=x;x=0;do if(g&1)c=Ya()|0;else{x=0;i=m;j=n;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Na(1,d|0,m|0,p|0,0,0,0,1,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}else{if((b[p+11>>0]|0)>=0){c=d;break c}Hta(f[p>>2]|0);c=d;break c}}while(0);Hta(d);break b}while(0);if((b[a>>0]|0)>=0){u=s;return c|0}Hta(f[t>>2]|0);u=s;return c|0}while(0);if((b[a>>0]|0)<0)Hta(f[t>>2]|0);t=c;jb(t|0)}while(0);if((b[q>>0]|0)<0)Hta(f[t>>2]|0);t=c;jb(t|0);return 0}function pj(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,v=0,w=0;j=0;q=u;u=u+144|0;m=q+104|0;e=q+96|0;g=q+88|0;h=q+80|0;o=q+40|0;t=q+24|0;s=q+16|0;r=q+8|0;p=q;v=a+52|0;n=c+72|0;if(!(FO(n,49278)|0))d=1;else if(!(FO(n,49297)|0))d=1;else if(!(FO(n,49313)|0))d=1;else d=(FO(n,49327)|0)==0;w=b[v>>0]|0;b[v>>0]=d&1;x=0;Ga(462,e|0,f[c+68>>2]|0);l=x;x=0;if(l&1){t=Ya()|0;b[v>>0]=w;jb(t|0)}f[e>>2]=7280;l=f[e+4>>2]|0;_P(e);x=0;Ga(462,g|0,f[c+88>>2]|0);k=x;x=0;if(k&1){t=Ya()|0;b[v>>0]=w;jb(t|0)}f[g>>2]=7168;i=f[g+4>>2]|0;_P(g);x=0;Ga(462,h|0,f[c+96>>2]|0);k=x;x=0;a:do if(!(k&1)){f[h>>2]=7696;g=f[h+4>>2]|0;_P(h);d=a+92|0;x=0;Ga(462,m|0,0);k=x;x=0;do if(k&1)d=Ya()|0;else{f[m>>2]=7168;h=a+96|0;e=f[h>>2]|0;if(e>>>0<(f[a+100>>2]|0)>>>0){x=0;Ga(462,e|0,f[m+4>>2]|0);k=x;x=0;if(k&1)j=19;else{f[e>>2]=7168;f[h>>2]=(f[h>>2]|0)+8}}else{x=0;Ga(651,d|0,m|0);k=x;x=0;if(k&1)j=19}if((j|0)==19){d=Ya()|0;_P(m);break}_P(m);if(!g)k=0;else{x=0;d=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a+12|0)|0;k=x;x=0;if(k&1)break a;else k=d}if(!i)j=0;else{x=0;d=sa(561,a+12|0,i|0)|0;j=x;x=0;if(j&1)break a;else j=d}e=f[h>>2]|0;d=e+-8|0;do{i=e+-8|0;f[h>>2]=i;Kc[f[f[i>>2]>>2]&511](i);e=f[h>>2]|0}while((e|0)!=(d|0));if(!l)d=0;else{x=0;d=sa(f[(f[a>>2]|0)+12>>2]|0,a|0,l|0)|0;a=x;x=0;if(a&1){t=Ya()|0;b[v>>0]=w;jb(t|0)}}x=0;i=qa(318,100)|0;a=x;x=0;if(a&1){t=Ya()|0;b[v>>0]=w;jb(t|0)}h=o;e=c+12|0;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));x=0;Ga(459,t|0,n|0);n=x;x=0;if(n&1)d=Ya()|0;else{x=0;Ga(462,s|0,j|0);n=x;x=0;if(n&1)d=Ya()|0;else{f[s>>2]=7168;x=0;Ga(462,r|0,d|0);n=x;x=0;if(n&1)d=Ya()|0;else{f[r>>2]=7280;x=0;Ga(462,p|0,k|0);n=x;x=0;do if(n&1)d=Ya()|0;else{f[p>>2]=7696;x=0;h=m;e=o;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));La(22,i|0,m|0,t|0,s|0,r|0,p|0);o=x;x=0;if(o&1){d=Ya()|0;_P(p);break}_P(p);_P(r);_P(s);if((b[t+11>>0]|0)>=0){b[v>>0]=w;u=q;return i|0}Hta(f[t>>2]|0);b[v>>0]=w;u=q;return i|0}while(0);_P(r)}_P(s)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0)}Hta(i);t=d;b[v>>0]=w;jb(t|0)}while(0);t=d;b[v>>0]=w;jb(t|0)}while(0);t=Ya()|0;b[v>>0]=w;jb(t|0);return 0}function qj(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;d=f[c>>2]|0;if(!d){d=0;e=c}else{e=f[c+4>>2]|0;if(!e)e=c;else while(1){d=f[e>>2]|0;if(!d){d=0;break}else e=d}}k=e+4|0;l=f[(d|0?e:k)>>2]|0;m=(l|0)!=0;j=e+8|0;if(m)f[l+8>>2]=f[j>>2];d=f[j>>2]|0;g=f[d>>2]|0;if((g|0)==(e|0)){f[d>>2]=l;if((e|0)==(a|0)){a=l;g=0}else g=f[d+4>>2]|0}else f[d+4>>2]=l;h=e+12|0;i=(b[h>>0]|0)!=0;if((e|0)!=(c|0)){n=c+8|0;d=f[n>>2]|0;f[j>>2]=d;f[((f[f[n>>2]>>2]|0)==(c|0)?d:d+4|0)>>2]=e;d=f[c>>2]|0;f[e>>2]=d;f[d+8>>2]=e;d=f[c+4>>2]|0;f[k>>2]=d;if(d|0)f[d+8>>2]=e;b[h>>0]=b[c+12>>0]|0;a=(a|0)==(c|0)?e:a}if(!(i&(a|0)!=0))return;if(m){b[l+12>>0]=1;return}else j=g;while(1){g=j+8|0;h=f[g>>2]|0;d=j+12|0;e=(b[d>>0]|0)!=0;if((f[h>>2]|0)==(j|0)){if(e)i=j;else{b[d>>0]=1;b[h+12>>0]=0;d=j+4|0;e=f[d>>2]|0;f[h>>2]=e;if(e|0)f[e+8>>2]=h;i=h+8|0;f[g>>2]=f[i>>2];n=f[i>>2]|0;f[((f[n>>2]|0)==(h|0)?n:n+4|0)>>2]=j;f[d>>2]=h;f[i>>2]=j;i=f[h>>2]|0;a=(a|0)==(h|0)?j:a}d=f[i>>2]|0;g=(d|0)==0;if(!g)if(!(b[d+12>>0]|0)){h=49;break}e=f[i+4>>2]|0;if(e|0)if(!(b[e+12>>0]|0)){h=48;break}b[i+12>>0]=0;d=f[i+8>>2]|0;e=d+12|0;if((d|0)==(a|0)|(b[e>>0]|0)==0){h=47;break}}else{if(e)g=j;else{b[d>>0]=1;b[h+12>>0]=0;n=h+4|0;d=f[n>>2]|0;e=f[d>>2]|0;f[n>>2]=e;if(e|0)f[e+8>>2]=h;n=h+8|0;f[d+8>>2]=f[n>>2];g=f[n>>2]|0;f[((f[g>>2]|0)==(h|0)?g:g+4|0)>>2]=d;f[d>>2]=h;f[n>>2]=d;n=f[j>>2]|0;g=f[n+4>>2]|0;a=(a|0)==(n|0)?j:a}e=f[g>>2]|0;if(e|0)if(!(b[e+12>>0]|0)){h=30;break}d=f[g+4>>2]|0;if(d|0)if(!(b[d+12>>0]|0)){a=d;h=31;break}b[g+12>>0]=0;d=f[g+8>>2]|0;if((d|0)==(a|0)){h=29;break}if(!(b[d+12>>0]|0)){a=d;h=29;break}}j=f[d+8>>2]|0;j=f[((f[j>>2]|0)==(d|0)?j+4|0:j)>>2]|0}if((h|0)==29){b[a+12>>0]=1;return}else if((h|0)==30){a=f[g+4>>2]|0;if(!a)h=32;else h=31}else if((h|0)==47){b[e>>0]=1;return}else if((h|0)==48)if(g)h=50;else h=49;if((h|0)==31)if(!(b[a+12>>0]|0)){d=g;h=35}else h=32;else if((h|0)==49)if(!(b[d+12>>0]|0)){a=i;h=53}else h=50;if((h|0)==32){b[e+12>>0]=1;b[g+12>>0]=0;a=e+4|0;d=f[a>>2]|0;f[g>>2]=d;if(d|0)f[d+8>>2]=g;d=g+8|0;f[e+8>>2]=f[d>>2];h=f[d>>2]|0;f[((f[h>>2]|0)==(g|0)?h:h+4|0)>>2]=e;f[a>>2]=g;f[d>>2]=e;d=e;a=g;h=35}else if((h|0)==50){n=i+4|0;a=f[n>>2]|0;b[a+12>>0]=1;b[i+12>>0]=0;d=f[a>>2]|0;f[n>>2]=d;if(d|0)f[d+8>>2]=i;d=i+8|0;f[a+8>>2]=f[d>>2];h=f[d>>2]|0;f[((f[h>>2]|0)==(i|0)?h:h+4|0)>>2]=a;f[a>>2]=i;f[d>>2]=a;d=i;h=53}if((h|0)==35){e=f[d+8>>2]|0;n=e+12|0;b[d+12>>0]=b[n>>0]|0;b[n>>0]=1;b[a+12>>0]=1;n=e+4|0;a=f[n>>2]|0;d=f[a>>2]|0;f[n>>2]=d;if(d|0)f[d+8>>2]=e;n=e+8|0;f[a+8>>2]=f[n>>2];c=f[n>>2]|0;f[((f[c>>2]|0)==(e|0)?c:c+4|0)>>2]=a;f[a>>2]=e;f[n>>2]=a;return}else if((h|0)==53){g=f[a+8>>2]|0;e=g+12|0;b[a+12>>0]=b[e>>0]|0;b[e>>0]=1;b[d+12>>0]=1;a=f[g>>2]|0;d=a+4|0;e=f[d>>2]|0;f[g>>2]=e;if(e|0)f[e+8>>2]=g;n=g+8|0;f[a+8>>2]=f[n>>2];c=f[n>>2]|0;f[((f[c>>2]|0)==(g|0)?c:c+4|0)>>2]=a;f[d>>2]=g;f[n>>2]=a;return}}function rj(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,t=0;s=0;t=u;u=u+16|0;r=t;switch((c-a|0)/12|0|0){case 2:{d=c+-12|0;j=b[a+11>>0]|0;g=j<<24>>24<0;j=g?f[a+4>>2]|0:j&255;i=b[d+11>>0]|0;h=i<<24>>24<0;i=h?f[c+-8>>2]|0:i&255;e=j>>>0>>0?j:i;if(!e)s=4;else{e=lO(h?f[d>>2]|0:d,g?f[a>>2]|0:a,e)|0;if(!e)s=4;else if((e|0)>=0){s=1;u=t;return s|0}}do if((s|0)==4)if(i>>>0>>0)break;else{s=1;u=t;return s|0}while(0);f[r>>2]=f[a>>2];f[r+4>>2]=f[a+4>>2];f[r+8>>2]=f[a+8>>2];f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];f[d>>2]=f[r>>2];f[d+4>>2]=f[r+4>>2];f[d+8>>2]=f[r+8>>2];s=1;u=t;return s|0}case 3:{Sk(a,a+12|0,c+-12|0,d)|0;s=1;u=t;return s|0}case 4:{qn(a,a+12|0,a+24|0,c+-12|0,d)|0;s=1;u=t;return s|0}case 5:{Vk(a,a+12|0,a+24|0,a+36|0,c+-12|0,d)|0;s=1;u=t;return s|0}case 1:case 0:{s=1;u=t;return s|0}default:{e=a+24|0;Sk(a,a+12|0,e,d)|0;d=a+36|0;a:do if((d|0)==(c|0)){p=1;q=0}else{n=r+11|0;o=r+4|0;m=d;d=0;k=e;b:while(1){i=b[k+11>>0]|0;g=i<<24>>24<0;i=g?f[k+4>>2]|0:i&255;j=b[m+11>>0]|0;h=j<<24>>24<0;j=h?f[m+4>>2]|0:j&255;e=i>>>0>>0?i:j;if(!e)s=15;else{e=lO(h?f[m>>2]|0:m,g?f[k>>2]|0:k,e)|0;if(!e)s=15;else if((e|0)<0){e=m;s=18}}if((s|0)==15){s=0;if(j>>>0>>0){e=m;s=18}}if((s|0)==18){s=0;f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=m;while(1){b[e>>0]=0;b[e+11>>0]=0;x=0;Ga(501,e|0,0);l=x;x=0;if(l&1){s=20;break b}f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((k|0)==(a|0)){e=a;break}i=k+-12|0;j=b[i+11>>0]|0;g=j<<24>>24<0;j=g?f[k+-8>>2]|0:j&255;l=b[n>>0]|0;h=l<<24>>24<0;l=h?f[o>>2]|0:l&255;e=j>>>0>>0?j:l;if(e|0){e=lO(h?f[r>>2]|0:r,g?f[i>>2]|0:i,e)|0;if(e|0)if((e|0)<0){e=k;k=i;continue}else{e=k;break}}if(l>>>0>>0){e=k;k=i}else{e=k;break}}g=e+11|0;if((b[g>>0]|0)<0){b[f[e>>2]>>0]=0;f[e+4>>2]=0}else{b[k>>0]=0;b[g>>0]=0}x=0;Ga(501,e|0,0);l=x;x=0;if(l&1){s=30;break}f[k>>2]=f[r>>2];f[k+4>>2]=f[r+4>>2];f[k+8>>2]=f[r+8>>2];d=d+1|0;if((d|0)==8){p=0;q=(m+12|0)==(c|0);break a}}e=m+12|0;if((e|0)==(c|0)){p=1;q=0;break a}else{k=m;m=e}}if((s|0)==20){s=Za(0)|0;soa(s)}else if((s|0)==30){s=Za(0)|0;soa(s)}}while(0);s=q|p;u=t;return s|0}}return 0}function sj(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;i=f[a>>2]|0;do if(!i)k=1;else{j=f[i+12>>2]|0;if((j|0)==(f[i+16>>2]|0))i=vc[f[(f[i>>2]|0)+36>>2]&511](i)|0;else i=mqa(b[j>>0]|0)|0;if(wja(i,Kta()|0)|0){f[a>>2]=0;k=1;break}else{k=(f[a>>2]|0)==0;break}}while(0);j=f[c>>2]|0;do if(!j)s=14;else{i=f[j+12>>2]|0;if((i|0)==(f[j+16>>2]|0))i=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else i=mqa(b[i>>0]|0)|0;if(wja(i,Kta()|0)|0){f[c>>2]=0;s=14;break}else if(k){s=17;break}else{s=16;break}}while(0);if((s|0)==14)if(k)s=16;else{j=0;s=17}a:do if((s|0)==16){f[e>>2]=f[e>>2]|6;i=0}else if((s|0)==17){i=f[a>>2]|0;k=f[i+12>>2]|0;if((k|0)==(f[i+16>>2]|0))i=vc[f[(f[i>>2]|0)+36>>2]&511](i)|0;else i=mqa(b[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1){r=g+8|0;if(d[(f[r>>2]|0)+(i<<24>>24<<1)>>1]&2048){i=(yc[f[(f[g>>2]|0)+36>>2]&255](g,k,0)|0)<<24>>24;k=f[a>>2]|0;l=k+12|0;m=f[l>>2]|0;if((m|0)==(f[k+16>>2]|0)){vc[f[(f[k>>2]|0)+40>>2]&511](k)|0;n=j;l=j}else{f[l>>2]=m+1;mqa(b[m>>0]|0)|0;n=j;l=j}while(1){i=i+-48|0;q=h+-1|0;j=f[a>>2]|0;do if(!j)m=1;else{k=f[j+12>>2]|0;if((k|0)==(f[j+16>>2]|0))j=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else j=mqa(b[k>>0]|0)|0;if(wja(j,Kta()|0)|0){f[a>>2]=0;m=1;break}else{m=(f[a>>2]|0)==0;break}}while(0);do if(!l){p=n;j=1;o=0}else{j=f[l+12>>2]|0;if((j|0)==(f[l+16>>2]|0))j=vc[f[(f[l>>2]|0)+36>>2]&511](l)|0;else j=mqa(b[j>>0]|0)|0;if(wja(j,Kta()|0)|0){f[c>>2]=0;p=0;j=1;o=0;break}else{p=n;j=(n|0)==0;o=n;break}}while(0);k=f[a>>2]|0;if(!((h|0)>1&(m^j)))break;j=f[k+12>>2]|0;if((j|0)==(f[k+16>>2]|0))j=vc[f[(f[k>>2]|0)+36>>2]&511](k)|0;else j=mqa(b[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(d[(f[r>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((yc[f[(f[g>>2]|0)+36>>2]&255](g,k,0)|0)<<24>>24)|0;j=f[a>>2]|0;k=j+12|0;l=f[k>>2]|0;if((l|0)==(f[j+16>>2]|0)){vc[f[(f[j>>2]|0)+40>>2]&511](j)|0;h=q;n=p;l=o;continue}else{f[k>>2]=l+1;mqa(b[l>>0]|0)|0;h=q;n=p;l=o;continue}}do if(!k)k=1;else{j=f[k+12>>2]|0;if((j|0)==(f[k+16>>2]|0))j=vc[f[(f[k>>2]|0)+36>>2]&511](k)|0;else j=mqa(b[j>>0]|0)|0;if(wja(j,Kta()|0)|0){f[a>>2]=0;k=1;break}else{k=(f[a>>2]|0)==0;break}}while(0);do if(!p)s=62;else{j=f[p+12>>2]|0;if((j|0)==(f[p+16>>2]|0))j=vc[f[(f[p>>2]|0)+36>>2]&511](p)|0;else j=mqa(b[j>>0]|0)|0;if(wja(j,Kta()|0)|0){f[c>>2]=0;s=62;break}else if(k)break a;else break}while(0);if((s|0)==62)if(!k)break;f[e>>2]=f[e>>2]|2;break}}f[e>>2]=f[e>>2]|4;i=0}while(0);return i|0}function tj(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;g=0;l=u;u=u+64|0;p=l+56|0;q=l+48|0;o=l+24|0;n=l+16|0;m=l+8|0;k=l;qV(p,f[c+76>>2]|0);f[p>>2]=7696;x=0;Ga(462,q|0,f[c+68>>2]|0);j=x;x=0;if(j&1){q=Ya()|0;_P(p);jb(q|0)}f[q>>2]=7280;j=a+4|0;x=0;c=qa(384,f[j>>2]|0)|0;i=x;x=0;if(i&1)g=16;else{x=0;Ia(132,o|0,c|0,1);i=x;x=0;if(i&1)g=16;else{c=f[j>>2]|0;f[n>>2]=o;d=c+60|0;e=f[d>>2]|0;if(e>>>0<(f[c+64>>2]|0)>>>0){f[e>>2]=o;f[d>>2]=(f[d>>2]|0)+4;g=7}else{x=0;Ga(646,c+56|0,n|0);i=x;x=0;if(i&1)c=Ya()|0;else g=7}if((g|0)==7){i=p+4|0;c=f[i>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,a|0)|0;h=x;x=0;if(h&1)g=18;else{x=0;Ga(462,n|0,c|0);h=x;x=0;if(h&1)g=18;else{f[n>>2]=7696;d=n+4|0;e=q+4|0;g=m+4|0;h=k+4|0;while(1){c=f[d>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+88>>2]|0,c|0)|0;r=x;x=0;if(r&1){g=19;break}if(c){g=31;break}c=f[e>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,a|0)|0;r=x;x=0;if(r&1){g=20;break}x=0;Ga(462,m|0,c|0);r=x;x=0;if(r&1){g=20;break}f[m>>2]=7696;c=f[g>>2]|0;if(c|0){g=25;break}c=f[i>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,a|0)|0;r=x;x=0;if(r&1){g=27;break}x=0;Ga(462,k|0,c|0);r=x;x=0;if(r&1){g=27;break}f[k>>2]=7696;if(f[d>>2]|0){x=0;Fa(429,n|0);r=x;x=0;if(r&1){g=28;break}}f[d>>2]=f[h>>2];f[h>>2]=0;_P(k);_P(m)}if((g|0)==19)c=Ya()|0;else if((g|0)==20){c=Ya()|0;g=30}else if((g|0)==25){r=(f[j>>2]|0)+60|0;f[r>>2]=(f[r>>2]|0)+-4;b[c+8>>0]=1;_P(m);r=c;_P(n);n=o+4|0;n=f[n>>2]|0;rE(o,n);_P(q);_P(p);u=l;return r|0}else if((g|0)==27){c=Ya()|0;g=29}else if((g|0)==28){c=Ya()|0;_P(k);g=29}else if((g|0)==31){r=(f[j>>2]|0)+60|0;f[r>>2]=(f[r>>2]|0)+-4;r=0;_P(n);n=o+4|0;n=f[n>>2]|0;rE(o,n);_P(q);_P(p);u=l;return r|0}if((g|0)==29){_P(m);g=30}_P(n)}}if((g|0)==18)c=Ya()|0}rE(o,f[o+4>>2]|0)}}if((g|0)==16)c=Ya()|0;_P(q);r=c;_P(p);jb(r|0);return 0}function uj(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=u;u=u+112|0;g=r+104|0;l=r+96|0;o=r+80|0;h=r+72|0;i=r+64|0;j=r+56|0;m=r+48|0;p=r+32|0;e=r+24|0;k=r+16|0;n=r;q=c+84|0;d=b[q+11>>0]|0;if(((d<<24>>24<0?f[c+88>>2]|0:d&255)|0)!=4){u=r;return c|0}x=0;d=wa(21,q|0,0,-1,51731,4)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}if(d|0){u=r;return c|0}if(!(f[(f[(f[a+4>>2]|0)+96>>2]|0)+-4>>2]|0)){u=r;return c|0}d=c+108|0;qV(g,f[d>>2]|0);f[g>>2]=7168;a=f[g+4>>2]|0;x=0;a=sa(f[(f[a>>2]|0)+40>>2]|0,a|0,392)|0;s=x;x=0;if(s&1){s=Ya()|0;_P(g);jb(s|0)}_P(g);if(a){qV(l,f[d>>2]|0);f[l>>2]=7168;e=f[l+4>>2]|0;d=f[e+76>>2]|0;e=e+80|0;a=f[e>>2]|0;if((a|0)!=(d|0))do{s=a+-8|0;f[e>>2]=s;Kc[f[f[s>>2]>>2]&511](s);a=f[e>>2]|0}while((a|0)!=(d|0));_P(l);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;d=o+11|0;b[d>>0]=1;b[o>>0]=32;b[o+1>>0]=0;x=0;sa(986,q|0,o|0)|0;s=x;x=0;if(s&1){a=Ya()|0;if((b[d>>0]|0)>=0){s=a;jb(s|0)}Hta(f[o>>2]|0);s=a;jb(s|0)}else{if((b[d>>0]|0)>=0){u=r;return c|0}Hta(f[o>>2]|0);u=r;return c|0}}qV(h,f[d>>2]|0);f[h>>2]=7168;s=f[h+4>>2]|0;s=((f[s+80>>2]|0)-(f[s+76>>2]|0)|0)==8;_P(h);if(!s){qV(e,f[d>>2]|0);f[e>>2]=7168;s=f[e+4>>2]|0;s=(f[s+80>>2]|0)-(f[s+76>>2]|0)>>3>>>0>1;_P(e);if(!s){u=r;return c|0}qV(k,f[d>>2]|0);f[k>>2]=7168;e=f[k+4>>2]|0;d=f[e+76>>2]|0;e=e+80|0;a=f[e>>2]|0;if((a|0)!=(d|0))do{s=a+-8|0;f[e>>2]=s;Kc[f[f[s>>2]>>2]&511](s);a=f[e>>2]|0}while((a|0)!=(d|0));_P(k);f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=n+11|0;b[d>>0]=1;b[n>>0]=32;b[n+1>>0]=0;x=0;sa(986,q|0,n|0)|0;s=x;x=0;if(s&1){a=Ya()|0;if((b[d>>0]|0)>=0){s=a;jb(s|0)}Hta(f[n>>2]|0);s=a;jb(s|0)}else{if((b[d>>0]|0)>=0){u=r;return c|0}Hta(f[n>>2]|0);u=r;return c|0}}qV(i,f[d>>2]|0);f[i>>2]=7168;a=(f[i+4>>2]|0)+72|0;x=0;a=sa(f[(f[a>>2]|0)+16>>2]|0,a|0,0)|0;s=x;x=0;if(s&1){s=Ya()|0;_P(i);jb(s|0)}s=f[a+4>>2]|0;_P(i);qV(j,f[s+88>>2]|0);f[j>>2]=15556;s=(f[j+4>>2]|0)==0;_P(j);if(s){u=r;return c|0}qV(m,f[d>>2]|0);f[m>>2]=7168;e=f[m+4>>2]|0;d=f[e+76>>2]|0;e=e+80|0;a=f[e>>2]|0;if((a|0)!=(d|0))do{s=a+-8|0;f[e>>2]=s;Kc[f[f[s>>2]>>2]&511](s);a=f[e>>2]|0}while((a|0)!=(d|0));_P(m);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;d=p+11|0;b[d>>0]=1;b[p>>0]=32;b[p+1>>0]=0;x=0;sa(986,q|0,p|0)|0;s=x;x=0;if(s&1){a=Ya()|0;if((b[d>>0]|0)>=0){s=a;jb(s|0)}Hta(f[p>>2]|0);s=a;jb(s|0)}else{if((b[d>>0]|0)>=0){u=r;return c|0}Hta(f[p>>2]|0);u=r;return c|0}return 0}function vj(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.0,k=0,l=0.0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+160|0;B=C+120|0;D=C;c=C+80|0;w=C+64|0;m=C+24|0;z=C+12|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;y=D+11|0;b[y>>0]=6;b[D>>0]=b[39245]|0;b[D+1>>0]=b[39246]|0;b[D+2>>0]=b[39247]|0;b[D+3>>0]=b[39248]|0;b[D+4>>0]=b[39249]|0;b[D+5>>0]=b[39250]|0;b[D+6>>0]=0;d=c;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));x=0;Ga(511,w|0,h|0);A=x;x=0;do if(A&1)c=Ya()|0;else{x=0;d=B;i=c;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));A=wa(26,D|0,a|0,e|0,B|0,w|0)|0;k=x;x=0;if(k&1){c=Ya()|0;m=I;d=f[w>>2]|0;if(!d)break;a=w+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{k=i+-52|0;f[a>>2]=k;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=k}while((i|0)!=(d|0));d=f[w>>2]|0}Hta(d);break}c=f[w>>2]|0;if(c|0){k=w+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[k>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=i}while((d|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[D>>2]|0);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;w=D+11|0;b[w>>0]=8;d=D;f[d>>2]=1734698020;f[d+4>>2]=1936024946;b[D+8>>0]=0;d=m;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));x=0;Ga(511,z|0,h|0);y=x;x=0;do if(y&1)c=Ya()|0;else{x=0;d=B;i=m;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));v=+ja(3,D|0,a|0,e|0,B|0,z|0);y=x;x=0;if(y&1){c=Ya()|0;m=I;d=f[z>>2]|0;if(!d)break;a=z+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{k=i+-52|0;f[a>>2]=k;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=k}while((i|0)!=(d|0));d=f[z>>2]|0}Hta(d);break}c=f[z>>2]|0;if(c|0){k=z+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[k>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[D>>2]|0);o=+p[A+64>>3]/255.0;q=+p[A+72>>3]/255.0;r=+p[A+80>>3]/255.0;c=q>3];d=B;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));D=Wo(l,o,n,j,0,B)|0;u=C;return D|0}while(0);if((b[w>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0)}while(0);if((b[y>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0);return 0}function wj(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;j=0;n=u;u=u+176|0;k=n+136|0;o=n+96|0;s=n+84|0;l=n+72|0;r=n+8|0;m=n+32|0;q=n+16|0;p=n;Zw(c,1,0)|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(s);if(i>>>0<11){b[s+11>>0]=i;d=s}else{g=i+16&-16;d=VN(g)|0;f[s>>2]=d;f[s+8>>2]=g|-2147483648;f[s+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,k|0,s|0);i=x;x=0;a:do if(i&1)d=Ya()|0;else{e=k+11|0;d=b[e>>0]|0;b:do if(((d<<24>>24<0?f[k+4>>2]|0:d&255)|0)==14){x=0;d=wa(21,k|0,0,-1,45094,14)|0;i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}if(d|0){d=b[e>>0]|0;j=32;break}d=(f[(f[c+60>>2]|0)+-4>>2]|0)==1;if((b[e>>0]|0)<0)Hta(f[k>>2]|0);if(!d){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;d=qa(318,64)|0;i=x;x=0;if(i&1){d=Ya()|0;break a}f[l>>2]=d;f[l+8>>2]=-2147483584;f[l+4>>2]=51;e=d;h=45109;i=e+51|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(i|0));b[d+51>>0]=0;x=0;Ga(459,o|0,l|0);i=x;x=0;do if(i&1)d=Ya()|0;else{i=c+108|0;x=0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];Ia(113,c|0,o|0,k|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[l+11>>0]|0)>=0)break b;Hta(f[l>>2]|0);break b}while(0);if((b[l+11>>0]|0)>=0)break a;Hta(f[l>>2]|0);break a}}else j=32;while(0);if((j|0)==32)if(d<<24>>24<0)Hta(f[k>>2]|0);e=o;h=c+108|0;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));x=0;Ga(599,r|0,c|0);l=x;x=0;if(l&1)d=Ya()|0;else{x=0;g=qa(318,100)|0;l=x;x=0;c:do if(l&1)d=Ya()|0;else{e=m;h=o;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));x=0;Ga(459,q|0,s|0);o=x;x=0;do if(o&1)d=Ya()|0;else{x=0;Ga(462,p|0,f[r+4>>2]|0);o=x;x=0;if(o&1){d=Ya()|0;e=1}else{f[p>>2]=9376;x=0;e=k;h=m;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));Ja(22,g|0,k|0,q|0,p|0);o=x;x=0;if(o&1)e=1;else{x=0;Ga(462,a|0,g|0);o=x;x=0;if(o&1)e=0;else{f[a>>2]=16816;_P(p);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);_P(r);if((b[s+11>>0]|0)>=0){u=n;return}Hta(f[s>>2]|0);u=n;return}}d=Ya()|0;_P(p)}if((b[q+11>>0]|0)<0){Hta(f[q>>2]|0);if(e)break;else break c}else if(e)break;else break c}while(0);Hta(g)}while(0);_P(r)}}while(0);if((b[s+11>>0]|0)>=0)jb(d|0);Hta(f[s>>2]|0);jb(d|0)}function xj(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,v=0,w=0;w=0;v=u;u=u+176|0;m=v;j=v+136|0;o=v+128|0;k=v+112|0;r=v+120|0;l=v+72|0;s=v+64|0;p=v+56|0;t=v+48|0;q=v+40|0;g=a+24|0;n=a+28|0;h=f[n>>2]|0;e=(h|0)==(f[g>>2]|0);i=h;if(e)d=f[a+12>>2]|0;else d=i+-4|0;if((f[(f[d>>2]|0)+52>>2]|0)==1){w=$e(a,c)|0;u=v;return w|0}if(e)d=f[a+12>>2]|0;else d=i+-4|0;if((f[(f[d>>2]|0)+52>>2]|0)==2){e=VN(76)|0;d=j;g=c+12|0;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));x=0;Ga(462,o|0,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[o>>2]=6920;x=0;Ga(462,k|0,0);w=x;x=0;if(w&1)d=Ya()|0;else{f[k>>2]=6920;d=m;g=j;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));x=0;Fa(427,e|0);w=x;x=0;do if(w&1)d=Ya()|0;else{d=e+12|0;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));f[e+52>>2]=6;f[e+56>>2]=0;b[e+60>>0]=0;f[e>>2]=7296;d=e+64|0;x=0;Ga(462,d|0,f[o+4>>2]|0);w=x;x=0;if(w&1){d=Ya()|0;break}f[d>>2]=6920;b[e+72>>0]=(f[k+4>>2]|0)==0&1;_P(k);_P(o);w=e;u=v;return w|0}while(0);_P(k)}_P(o)}Hta(e);w=d;jb(w|0)}f[m>>2]=c;if((f[a+32>>2]|0)>>>0>i>>>0){f[h>>2]=c;f[n>>2]=(f[n>>2]|0)+4}else TA(g,m);i=VN(80)|0;d=l;g=c+12|0;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));x=0;Ga(462,s|0,f[c+76>>2]|0);o=x;x=0;do if(o&1){d=Ya()|0;w=39}else{f[s>>2]=7584;d=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,t|0,f[c+68>>2]|0);o=x;x=0;if(o&1){d=Ya()|0;_P(s);w=39;break}f[t>>2]=7280;x=0;d=sa(d|0,a|0,f[t+4>>2]|0)|0;o=x;x=0;if(o&1)w=36;else{x=0;Ga(462,p|0,d|0);o=x;x=0;if(o&1)w=36;else{f[p>>2]=7280;x=0;d=m;g=l;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));Ja(39,i|0,m|0,s|0,p|0);o=x;x=0;if(o&1)d=1;else{x=0;Ga(462,r|0,i|0);o=x;x=0;if(o&1)d=0;else{f[r>>2]=17208;_P(p);_P(t);_P(s);d=r+4|0;t=f[d>>2]|0;f[t+56>>2]=f[c+56>>2];f[n>>2]=(f[n>>2]|0)+-4;x=0;Ga(462,q|0,f[t+68>>2]|0);t=x;x=0;do if(t&1)d=Ya()|0;else{f[q>>2]=7280;x=0;d=ta(158,a|0,f[q+4>>2]|0,f[d>>2]|0)|0;t=x;x=0;if(t&1){d=Ya()|0;_P(q);break}_P(q);_P(r);w=d;u=v;return w|0}while(0);_P(r);break}}v=Ya()|0;_P(p);e=d;d=v}}if((w|0)==36){d=Ya()|0;e=1}_P(t);_P(s);if(e)w=39}while(0);if((w|0)==39)Hta(i);w=d;jb(w|0);return 0}function yj(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;o=0;j=f[a>>2]|0;k=j;l=(f[c>>2]|0)-k|0;c=j+(((l|0)/12|0)*12|0)|0;q=f[d>>2]|0;h=f[e>>2]|0;s=h-q|0;m=(s|0)/12|0;p=h;if((s|0)<=0){s=c;return s|0}r=a+8|0;i=f[r>>2]|0;s=a+4|0;n=f[s>>2]|0;e=n;if((m|0)<=((i-e|0)/12|0|0)){j=e-c|0;e=(j|0)/12|0;if((m|0)>(e|0)){i=q+(e*12|0)|0;h=i;if((i|0)==(p|0))e=n;else{e=n;do{ND(e,i);i=i+12|0;e=(f[s>>2]|0)+12|0;f[s>>2]=e}while((i|0)!=(p|0))}if((j|0)<=0){s=c;return s|0}}else e=n;l=e-(c+(m*12|0))|0;k=c+(((l|0)/12|0)*12|0)|0;if(k>>>0>>0){i=k;j=e;do{f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=i+12|0;j=(f[s>>2]|0)+12|0;f[s>>2]=j}while(i>>>0>>0)}do if(!l)g=q;else{while(1){k=k+-12|0;i=e;e=e+-12|0;j=e+11|0;if((b[j>>0]|0)<0){b[f[e>>2]>>0]=0;f[i+-8>>2]=0}else{b[e>>0]=0;b[j>>0]=0}x=0;Ga(501,e|0,0);s=x;x=0;if(s&1){o=13;break}f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((k|0)==(c|0)){o=16;break}}if((o|0)==13){s=Za(0)|0;soa(s)}else if((o|0)==16){g=f[d>>2]|0;break}}while(0);if((g|0)==(h|0)){s=c;return s|0}else e=c;while(1){WO(e,g)|0;g=g+12|0;if((g|0)==(h|0))break;else e=e+12|0}return c|0}g=((e-k|0)/12|0)+m|0;if(g>>>0>357913941)EO(a);d=(i-k|0)/12|0;e=d<<1;e=d>>>0<178956970?(e>>>0>>0?g:e):357913941;g=(l|0)/12|0;do if(!e){k=0;l=0}else{if(e>>>0<=357913941){l=VN(e*12|0)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);s=x;x=0;if(s&1){s=Ya()|0;bb(c|0);jb(s|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);n=l+(g*12|0)|0;g=n;m=l+(e*12|0)|0;do if((q|0)==(p|0))h=g;else{h=g;i=n;e=q;while(1){x=0;Ga(459,i|0,e|0);q=x;x=0;if(q&1)break;i=h+12|0;h=i;e=e+12|0;if((e|0)==(p|0)){o=30;break}}if((o|0)==30){j=f[a>>2]|0;break}g=Ya()|0;c=h;if((n|0)!=(c|0))do{c=c+-12|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}while((c|0)!=(n|0));if(!l)jb(g|0);Hta(k);jb(g|0)}while(0);if((j|0)==(c|0)){e=n;j=g}else{i=c;e=n;do{e=e+-12|0;i=i+-12|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=g+-12|0;g=e}while((i|0)!=(j|0));j=g}i=f[s>>2]|0;if((i|0)!=(c|0)){e=h;g=h;do{f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[g+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=c+12|0;g=e+12|0;e=g}while((c|0)!=(i|0));h=e;e=j;c=f[s>>2]|0}g=f[a>>2]|0;f[a>>2]=e;f[s>>2]=h;f[r>>2]=m;if((c|0)!=(g|0))do{c=c+-12|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}while((c|0)!=(g|0));if(!g){s=n;return s|0}Hta(g);s=n;return s|0}function zj(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;o=0;j=f[a>>2]|0;k=j;l=(f[c>>2]|0)-k|0;c=j+(((l|0)/12|0)*12|0)|0;q=f[d>>2]|0;h=f[e>>2]|0;s=h-q|0;m=(s|0)/12|0;p=h;if((s|0)<=0){s=c;return s|0}r=a+8|0;i=f[r>>2]|0;s=a+4|0;n=f[s>>2]|0;e=n;if((m|0)<=((i-e|0)/12|0|0)){j=e-c|0;e=(j|0)/12|0;if((m|0)>(e|0)){i=q+(e*12|0)|0;h=i;if((i|0)==(p|0))e=n;else{e=n;do{ND(e,i);i=i+12|0;e=(f[s>>2]|0)+12|0;f[s>>2]=e}while((i|0)!=(p|0))}if((j|0)<=0){s=c;return s|0}}else e=n;l=e-(c+(m*12|0))|0;k=c+(((l|0)/12|0)*12|0)|0;if(k>>>0>>0){i=k;j=e;do{f[j>>2]=f[i>>2];f[j+4>>2]=f[i+4>>2];f[j+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=i+12|0;j=(f[s>>2]|0)+12|0;f[s>>2]=j}while(i>>>0>>0)}do if(!l)g=q;else{while(1){k=k+-12|0;i=e;e=e+-12|0;j=e+11|0;if((b[j>>0]|0)<0){b[f[e>>2]>>0]=0;f[i+-8>>2]=0}else{b[e>>0]=0;b[j>>0]=0}x=0;Ga(501,e|0,0);s=x;x=0;if(s&1){o=13;break}f[e>>2]=f[k>>2];f[e+4>>2]=f[k+4>>2];f[e+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((k|0)==(c|0)){o=16;break}}if((o|0)==13){s=Za(0)|0;soa(s)}else if((o|0)==16){g=f[d>>2]|0;break}}while(0);if((g|0)==(h|0)){s=c;return s|0}else e=c;while(1){WO(e,g)|0;g=g+12|0;if((g|0)==(h|0))break;else e=e+12|0}return c|0}g=((e-k|0)/12|0)+m|0;if(g>>>0>357913941)EO(a);d=(i-k|0)/12|0;e=d<<1;e=d>>>0<178956970?(e>>>0>>0?g:e):357913941;g=(l|0)/12|0;do if(!e){k=0;l=0}else{if(e>>>0<=357913941){l=VN(e*12|0)|0;k=l;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);s=x;x=0;if(s&1){s=Ya()|0;bb(c|0);jb(s|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);n=l+(g*12|0)|0;g=n;m=l+(e*12|0)|0;do if((q|0)==(p|0))h=g;else{h=g;i=n;e=q;while(1){x=0;Ga(459,i|0,e|0);q=x;x=0;if(q&1)break;i=h+12|0;h=i;e=e+12|0;if((e|0)==(p|0)){o=30;break}}if((o|0)==30){j=f[a>>2]|0;break}g=Ya()|0;c=h;if((n|0)!=(c|0))do{c=c+-12|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}while((c|0)!=(n|0));if(!l)jb(g|0);Hta(k);jb(g|0)}while(0);if((j|0)==(c|0)){e=n;j=g}else{i=c;e=n;do{e=e+-12|0;i=i+-12|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=g+-12|0;g=e}while((i|0)!=(j|0));j=g}i=f[s>>2]|0;if((i|0)!=(c|0)){e=h;g=h;do{f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[g+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=c+12|0;g=e+12|0;e=g}while((c|0)!=(i|0));h=e;e=j;c=f[s>>2]|0}g=f[a>>2]|0;f[a>>2]=e;f[s>>2]=h;f[r>>2]=m;if((c|0)!=(g|0))do{c=c+-12|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0)}while((c|0)!=(g|0));if(!g){s=n;return s|0}Hta(g);s=n;return s|0}function Aj(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;n=0;k=f[a>>2]|0;h=k;m=(f[b>>2]|0)-h|0;j=m>>3;b=k+(j<<3)|0;p=a+4|0;g=f[p>>2]|0;o=a+8|0;l=f[o>>2]|0;d=g;e=l;if(g>>>0>>0){if((b|0)==(g|0)){qV(b,f[c+4>>2]|0);f[b>>2]=6920;f[p>>2]=(f[p>>2]|0)+8;p=b;return p|0}e=d-(b+8)>>3;h=b+(e<<3)|0;if(h>>>0>>0){d=h;i=g;do{qV(i,f[d+4>>2]|0);f[i>>2]=6920;d=d+8|0;i=(f[p>>2]|0)+8|0;f[p>>2]=i}while(d>>>0>>0)}if(e|0)do{e=h;h=h+-8|0;d=g;g=g+-8|0;if((d|0)!=(e|0)){d=d+-4|0;if(f[d>>2]|0)vQ(g);a=e+-4|0;f[d>>2]=f[a>>2];f[a>>2]=0}}while((h|0)!=(b|0));if(b>>>0<=c>>>0)c=(f[p>>2]|0)>>>0>c>>>0?c+8|0:c;d=k+(j<<3)+4|0;if(f[d>>2]|0)vQ(b);f[d>>2]=f[c+4>>2];EX(b);p=b;return p|0}d=(d-h>>3)+1|0;if(d>>>0>536870911)EO(a);e=e-h|0;h=e>>2;h=e>>3>>>0<268435455?(h>>>0>>0?d:h):536870911;e=m>>3;do if(!h){k=0;l=0}else{if(h>>>0<=536870911){l=VN(h<<3)|0;k=l;break}b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}while(0);g=l;i=l+(e<<3)|0;d=i;j=l+(h<<3)|0;do if((e|0)==(h|0)){if((m|0)>0){d=i+(((h+1|0)/-2|0)<<3)|0;n=35;break}h=h<<3>>2;h=(h|0)==0?1:h;if(h>>>0>536870911){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){c=Ya()|0;bb(b|0);e=d;b=d;break}else{f[b>>2]=29784;x=0;Ia(77,b|0,6192,412);x=0;b=g;n=50;break}}else{x=0;e=qa(318,h<<3|0)|0;n=x;x=0;if(n&1){b=g;n=50;break}g=e;d=e+(h>>>2<<3)|0;e=e+(h<<3)|0;if(!l){j=e;n=35;break}Hta(k);j=e;n=35;break}}else n=35;while(0);a:do if((n|0)==35){e=d;x=0;Ga(462,e|0,f[c+4>>2]|0);m=x;x=0;if(m&1){b=g;n=50}else{f[e>>2]=6920;c=e+8|0;k=c;l=d;i=f[a>>2]|0;b:do if((i|0)==(b|0))h=l;else{h=b;e=l;while(1){e=e+-8|0;x=0;Ga(462,e|0,f[h+-4>>2]|0);h=h+-8|0;m=x;x=0;if(m&1)break;f[e>>2]=6920;e=d+-8|0;d=e;if((h|0)==(i|0)){h=e;break b}}c=Ya()|0;e=d;b=k;break a}while(0);i=f[p>>2]|0;do if((i|0)==(b|0)){e=k;d=h}else{h=k;while(1){x=0;Ga(462,c|0,f[b+4>>2]|0);n=x;x=0;if(n&1){n=48;break}f[c>>2]=6920;b=b+8|0;c=h+8|0;e=c;if((b|0)==(i|0)){n=43;break}else h=e}if((n|0)==43){b=f[p>>2]|0;break}else if((n|0)==48){c=Ya()|0;e=d;b=h;break a}}while(0);c=f[a>>2]|0;f[a>>2]=d;f[p>>2]=e;f[o>>2]=j;if((b|0)!=(c|0))do{b=b+-8|0;Kc[f[f[b>>2]>>2]&511](b)}while((b|0)!=(c|0));if(!c){p=l;return p|0}Hta(c);p=l;return p|0}}while(0);if((n|0)==50){c=Ya()|0;g=b;e=d;b=d}d=e;if((b|0)!=(d|0))do{b=b+-8|0;Kc[f[f[b>>2]>>2]&511](b)}while((b|0)!=(d|0));if(!g)jb(c|0);Hta(g);jb(c|0);return 0}function Bj(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;k=u;u=u+16|0;j=k;i=b+4|0;d=f[i>>2]|0;if(!d)g=0;else{e=f[a+4>>2]|0;if(!e)g=0;else g=xc[f[(f[d>>2]|0)+156>>2]&2047](d,e)|0}h=c+4|0;d=f[h>>2]|0;if(!d)d=0;else{e=f[i>>2]|0;if(!e)d=0;else d=xc[f[(f[d>>2]|0)+156>>2]&2047](d,e)|0}if(!g){if(!d){j=0;u=k;return j|0}qV(j,f[i>>2]|0);f[j>>2]=15556;if((b|0)!=(c|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);g=x;x=0;if(g&1){k=Ya()|0;_P(j);jb(k|0)}}f[i>>2]=f[h>>2];f[h>>2]=0}if((j|0)!=(c|0)){if(f[h>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){k=Ya()|0;_P(j);jb(k|0)}}c=j+4|0;f[h>>2]=f[c>>2];f[c>>2]=0}_P(j);d=f[i>>2]|0;if(!d){j=1;u=k;return j|0}e=a+4|0;g=f[e>>2]|0;if(!g){j=1;u=k;return j|0}if(!(xc[f[(f[d>>2]|0)+156>>2]&2047](d,g)|0)){j=1;u=k;return j|0}qV(j,f[e>>2]|0);f[j>>2]=15556;if((a|0)!=(b|0)){if(f[e>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){k=Ya()|0;_P(j);jb(k|0)}}f[e>>2]=f[i>>2];f[i>>2]=0}if((j|0)!=(b|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}b=j+4|0;f[i>>2]=f[b>>2];f[b>>2]=0}_P(j);j=2;u=k;return j|0}if(d){d=a+4|0;qV(j,f[d>>2]|0);f[j>>2]=15556;if((a|0)!=(c|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}f[d>>2]=f[h>>2];f[h>>2]=0}if((j|0)!=(c|0)){if(f[h>>2]|0){x=0;Fa(429,c|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}b=j+4|0;f[h>>2]=f[b>>2];f[b>>2]=0}_P(j);j=1;u=k;return j|0}d=a+4|0;qV(j,f[d>>2]|0);f[j>>2]=15556;if((a|0)!=(b|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){k=Ya()|0;_P(j);jb(k|0)}}f[d>>2]=f[i>>2];f[i>>2]=0}if((j|0)!=(b|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);a=x;x=0;if(a&1){k=Ya()|0;_P(j);jb(k|0)}}a=j+4|0;f[i>>2]=f[a>>2];f[a>>2]=0}_P(j);e=f[h>>2]|0;if(!e){j=1;u=k;return j|0}d=f[i>>2]|0;if(!d){j=1;u=k;return j|0}if(!(xc[f[(f[e>>2]|0)+156>>2]&2047](e,d)|0)){j=1;u=k;return j|0}qV(j,f[i>>2]|0);f[j>>2]=15556;if((b|0)!=(c|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}f[i>>2]=f[h>>2];f[h>>2]=0}if((j|0)!=(c|0)){if(f[h>>2]|0){x=0;Fa(429,c|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}b=j+4|0;f[h>>2]=f[b>>2];f[b>>2]=0}_P(j);j=2;u=k;return j|0}function Cj(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,t=0,v=0;q=0;p=u;u=u+192|0;n=p+144|0;v=p+136|0;t=p+120|0;c=p+80|0;m=p+68|0;s=p+56|0;l=p+16|0;r=p;o=t+11|0;b[o>>0]=10;i=t;j=41436;k=i+10|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[t+10>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,m|0,h|0);k=x;x=0;do if(k&1)c=Ya()|0;else{x=0;i=n;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,v|0,t|0,a|0,e|0,n|0,m|0,d|0);k=x;x=0;if(k&1){c=Ya()|0;l=I;i=f[m>>2]|0;if(!i)break;a=m+4|0;j=f[a>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[a>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[a>>2]|0}else j=k}while((j|0)!=(i|0));i=f[m>>2]|0}Hta(i);break}c=f[m>>2]|0;if(c|0){k=m+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[t>>2]|0);m=s+11|0;b[m>>0]=10;i=s;j=41447;k=i+10|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[s+10>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,r|0,h|0);o=x;x=0;do if(o&1){c=Ya()|0;q=47}else{x=0;i=n;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,t|0,s|0,a|0,e|0,n|0,r|0,d|0);o=x;x=0;if(o&1){c=Ya()|0;l=I;i=f[r>>2]|0;if(!i){q=47;break}a=r+4|0;j=f[a>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[a>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[a>>2]|0}else j=k}while((j|0)!=(i|0));i=f[r>>2]|0}Hta(i);q=47;break}c=f[r>>2]|0;if(c|0){k=r+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[s>>2]|0);x=0;c=sa(1013,f[v+4>>2]|0,f[t+4>>2]|0)|0;r=x;x=0;if(r&1)q=50;else{x=0;Ga(462,n|0,c|0);r=x;x=0;if(r&1)q=50;else{f[n>>2]=7168;x=0;Fa(443,s|0);r=x;x=0;if(!(r&1)){c=f[n+4>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,s|0)|0;s=x;x=0;if(!(s&1)){_P(n);_P(t);_P(v);u=p;return c|0}}c=Ya()|0;_P(n)}}if((q|0)==50)c=Ya()|0;_P(t)}while(0);if((q|0)==47)if((b[m>>0]|0)<0)Hta(f[s>>2]|0);_P(v);v=c;jb(v|0)}while(0);if((b[o>>0]|0)<0)Hta(f[t>>2]|0);v=c;jb(v|0);return 0}function Dj(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=0;B=u;u=u+1008|0;s=B+8|0;j=B;i=B+896|0;m=B+888|0;a=B+488|0;F=B+480|0;t=B+892|0;v=B+476|0;w=B+472|0;C=B+460|0;D=B+448|0;E=B+436|0;n=B+432|0;l=B+32|0;y=B+24|0;z=B+20|0;A=B+16|0;f[m>>2]=i;p[s>>3]=h;i=uU(i,100,59261,s)|0;a:do if(i>>>0>99){x=0;a=la(3)|0;r=x;x=0;do if(r&1){j=0;i=0}else{x=0;p[j>>3]=h;k=ua(28,m|0,a|0,59261,j|0)|0;r=x;x=0;if(r&1){j=0;i=0}else{i=f[m>>2]|0;if(!i){x=0;Ea(6);x=0;j=0;i=0;break}a=Rd(k<<2)|0;j=a;if(a|0){r=k;G=9;break a}x=0;Ea(6);x=0}}while(0);a=Ya()|0}else{r=i;j=0;i=0;G=9}while(0);if((G|0)==9){x=0;Ga(536,F|0,e|0);q=x;x=0;if(q&1)a=Ya()|0;else{x=0;q=sa(994,F|0,83352)|0;o=x;x=0;if(o&1)G=31;else{o=f[m>>2]|0;x=0;ua(f[(f[q>>2]|0)+48>>2]|0,q|0,o|0,o+r|0,a|0)|0;o=x;x=0;if(o&1)G=31;else{if(!r)o=0;else o=(b[f[m>>2]>>0]|0)==45;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;k=0;while(1){if((k|0)==3)break;f[C+(k<<2)>>2]=0;k=k+1|0}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;k=0;while(1){if((k|0)==3)break;f[D+(k<<2)>>2]=0;k=k+1|0}f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;k=0;while(1){if((k|0)==3)break;f[E+(k<<2)>>2]=0;k=k+1|0}x=0;Oa(4,d|0,o|0,F|0,t|0,v|0,w|0,C|0,D|0,E|0,n|0);d=x;x=0;if(d&1)a=Ya()|0;else{d=f[n>>2]|0;if((r|0)>(d|0)){m=b[E+8+3>>0]|0;n=b[D+8+3>>0]|0;k=1;m=(m<<24>>24<0?f[E+4>>2]|0:m&255)+(r-d<<1)|0;n=n<<24>>24<0?f[D+4>>2]|0:n&255}else{n=b[E+8+3>>0]|0;m=b[D+8+3>>0]|0;k=2;m=m<<24>>24<0?f[D+4>>2]|0:m&255;n=n<<24>>24<0?f[E+4>>2]|0:n&255}k=n+d+m+k|0;if(k>>>0>100){l=Rd(k<<2)|0;k=l;if(!l){x=0;Ea(6);x=0;a=Ya()|0}else G=33}else{k=0;G=33}if((G|0)==33){x=0;Pa(2,l|0,y|0,z|0,f[e+4>>2]|0,a|0,a+(r<<2)|0,q|0,o|0,t|0,f[v>>2]|0,f[w>>2]|0,C|0,D|0,E|0,d|0);w=x;x=0;if(!(w&1)){f[A>>2]=f[c>>2];c=f[y>>2]|0;a=f[z>>2]|0;x=0;f[s>>2]=f[A>>2];a=ya(46,s|0,l|0,c|0,a|0,e|0,g|0)|0;g=x;x=0;if(!(g&1)){if(k|0)$h(k);jaa(E);jaa(D);Aaa(C);uga(F);if(j|0)$h(j);if(i|0)$h(i);u=B;return a|0}}a=Ya()|0}if(k|0)$h(k)}jaa(E);jaa(D);Aaa(C)}}if((G|0)==31)a=Ya()|0;uga(F)}}if(j|0)$h(j);if(i|0)$h(i);jb(a|0);return 0}function Ej(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,v=0,w=0;t=u;u=u+32|0;v=t+8|0;n=t;o=c+72|0;p=c+76|0;q=c+80|0;s=a+4|0;if((f[p>>2]|0)==(f[q>>2]|0)){if((wna(s)|0)!=5){u=t;return}f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=v+11|0;b[g>>0]=2;d[v>>1]=10536;b[v+2>>0]=0;x=0;Ia(147,s|0,v|0,c|0);s=x;x=0;if(s&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[v>>2]|0);v=e;jb(v|0)}else{if((b[g>>0]|0)<0)Hta(f[v>>2]|0);u=t;return}}r=a+106|0;m=b[r>>0]|0;do if((wna(s)|0)==5){e=f[c+76>>2]|0;if(((f[q>>2]|0)-e|0)==8)if(!(Dca(f[e+4>>2]|0)|0)){e=f[(f[p>>2]|0)+4>>2]|0;if(e|0)if((f[517]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){g=22;break}f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=v+11|0;b[g>>0]=1;b[v>>0]=40;b[v+1>>0]=0;x=0;Ga(682,s|0,v|0);l=x;x=0;if(!(l&1)){if((b[g>>0]|0)<0)Hta(f[v>>2]|0);e=a+104|0;g=31;break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[v>>2]|0);v=e;jb(v|0)}else g=22;else g=22}else g=22;while(0);do if((g|0)==22){e=a+104|0;if(!(b[e>>0]|0))if(!(b[r>>0]|0))l=e;else{f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=v+11|0;b[g>>0]=1;b[v>>0]=40;b[v+1>>0]=0;x=0;Ga(682,s|0,v|0);l=x;x=0;if(!(l&1)){if((b[g>>0]|0)<0)Hta(f[v>>2]|0);g=31;break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[v>>2]|0);v=e;jb(v|0)}else g=32}while(0);if((g|0)==31)if(!(b[e>>0]|0))l=e;else g=32;if((g|0)==32){b[r>>0]=1;l=e}g=c+76|0;c=(f[q>>2]|0)-(f[g>>2]|0)>>3;a:do if(c|0){h=a+102|0;i=n+4|0;j=c+-1|0;k=a+80|0;e=0;while(1){if((e|0)==0&(b[h>>0]|0)==0)wv(s);if(f[(f[p>>2]|0)+(e<<3)+4>>2]|0){w=(xc[f[(f[o>>2]|0)+16>>2]&2047](o,e)|0)+4|0;aM(n,f[w>>2]|0);x=0;Ga(691,s|0,f[i>>2]|0);w=x;x=0;if(w&1)break;_P(n);w=f[(f[p>>2]|0)+(e<<3)+4>>2]|0;Lc[f[(f[w>>2]|0)+44>>2]&1023](w,a);if(e>>>0>>0){f[k>>2]=0;wz(s)}}e=e+1|0;if(e>>>0>=c>>>0)break a}w=Ya()|0;_P(n);jb(w|0)}while(0);b[r>>0]=m;do if((wna(s)|0)==5){e=f[g>>2]|0;if(((f[q>>2]|0)-e|0)==8)if(!(Dca(f[e+4>>2]|0)|0)){e=f[(f[p>>2]|0)+4>>2]|0;if(e|0)if((f[517]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0))break;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=v+11|0;b[g>>0]=2;d[v>>1]=10540;b[v+2>>0]=0;x=0;Ga(682,s|0,v|0);w=x;x=0;if(w&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[v>>2]|0);w=e;jb(w|0)}else{if((b[g>>0]|0)<0)Hta(f[v>>2]|0);u=t;return}}}while(0);if(b[l>>0]|0){u=t;return}if(!(b[r>>0]|0)){u=t;return}f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=v+11|0;b[g>>0]=1;b[v>>0]=41;b[v+1>>0]=0;x=0;Ga(682,s|0,v|0);w=x;x=0;if(w&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[v>>2]|0);w=e;jb(w|0)}else{if((b[g>>0]|0)<0)Hta(f[v>>2]|0);u=t;return}}function Fj(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;p=0;o=u;u=u+64|0;l=o;m=o+40|0;n=o+56|0;f[h+24>>2]=0;f[h+20>>2]=0;Gv(m,g);x=0;Ja(27,a|0,e|0,h|0,m|0);k=x;x=0;if(k&1){c=Ya()|0;j=I;d=f[m>>2]|0;if(!d){a=c;jb(a|0)}k=m+4|0;e=f[k>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[k>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=g}while((e|0)!=(d|0));d=f[m>>2]|0}Hta(d);a=c;jb(a|0)}e=f[m>>2]|0;if(e|0){k=m+4|0;g=f[k>>2]|0;if((g|0)!=(e|0)){do{j=g+-52|0;f[k>>2]=j;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[k>>2]|0}else g=j}while((g|0)!=(e|0));e=f[m>>2]|0}Hta(e)}e=i|0?i:c;f[a+72>>2]=e;e=(c|0)==0?e:c;f[a+76>>2]=e;if(!d)d=e+(hL(e)|0)|0;f[a+80>>2]=d;x=0;i=qa(318,88)|0;m=x;x=0;a:do if(m&1)p=34;else{g=l;d=h;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Fa(427,i|0);m=x;x=0;do if(m&1){e=Ya()|0;d=I}else{g=i+12|0;d=l;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));f[i>>2]=6976;f[i+52>>2]=0;f[i+56>>2]=0;b[i+60>>0]=0;d=i+64|0;f[d>>2]=6936;k=i+68|0;c=i+72|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(568,k|0,0);m=x;x=0;if(m&1){e=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){g=f[c>>2]|0;if((g|0)!=(d|0)){do{o=g+-8|0;f[c>>2]=o;Kc[f[f[o>>2]>>2]&511](o);g=f[c>>2]|0}while((g|0)!=(d|0));d=f[k>>2]|0}Hta(d)}d=j;break}f[i>>2]=6780;f[d>>2]=6880;b[i+84>>0]=0;x=0;Ga(462,n|0,i|0);m=x;x=0;if(m&1){p=34;break a}f[n>>2]=7280;d=a+48|0;e=f[d>>2]|0;if((e|0)==(f[a+52>>2]|0)){x=0;Ga(573,a+44|0,n|0);m=x;x=0;if(!(m&1)){a=n+4|0;a=f[a>>2]|0;a=a+84|0;b[a>>0]=1;_P(n);u=o;return}}else{g=n+4|0;x=0;Ga(462,e|0,f[g>>2]|0);m=x;x=0;if(!(m&1)){f[e>>2]=7280;f[d>>2]=(f[d>>2]|0)+8;a=g;a=f[a>>2]|0;a=a+84|0;b[a>>0]=1;_P(n);u=o;return}}i=Ya()|0;c=I;_P(n);break a}while(0);Hta(i);c=d;i=e}while(0);if((p|0)==34){i=Ya()|0;c=I}j=a+148|0;d=f[j>>2]|0;if(d|0){k=a+152|0;e=f[k>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[k>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=g}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d)}d=f[a+56>>2]|0;if(d|0){e=a+60|0;g=f[e>>2]|0;if((g|0)!=(d|0))f[e>>2]=g+(~((g+-4-d|0)>>>2)<<2);Hta(d)}j=a+44|0;d=f[j>>2]|0;if(!d){a=i;jb(a|0)}g=a+48|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{a=e+-8|0;f[g>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[g>>2]|0}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d);a=i;jb(a|0)}function Gj(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=0;B=u;u=u+384|0;s=B+8|0;j=B;i=B+284|0;m=B+72|0;a=B+184|0;F=B+68|0;t=B+180|0;v=B+177|0;w=B+176|0;C=B+56|0;D=B+44|0;E=B+32|0;n=B+28|0;l=B+76|0;y=B+24|0;z=B+20|0;A=B+16|0;f[m>>2]=i;p[s>>3]=h;i=uU(i,100,59261,s)|0;a:do if(i>>>0>99){x=0;a=la(3)|0;r=x;x=0;do if(r&1){j=0;i=0}else{x=0;p[j>>3]=h;k=ua(28,m|0,a|0,59261,j|0)|0;r=x;x=0;if(r&1){j=0;i=0}else{i=f[m>>2]|0;if(!i){x=0;Ea(6);x=0;j=0;i=0;break}a=Rd(k)|0;j=a;if(a|0){r=k;G=9;break a}x=0;Ea(6);x=0}}while(0);a=Ya()|0}else{r=i;j=0;i=0;G=9}while(0);if((G|0)==9){x=0;Ga(536,F|0,e|0);q=x;x=0;if(q&1)a=Ya()|0;else{x=0;q=sa(994,F|0,83320)|0;o=x;x=0;if(o&1)G=31;else{o=f[m>>2]|0;x=0;ua(f[(f[q>>2]|0)+32>>2]|0,q|0,o|0,o+r|0,a|0)|0;o=x;x=0;if(o&1)G=31;else{if(!r)o=0;else o=(b[f[m>>2]>>0]|0)==45;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;k=0;while(1){if((k|0)==3)break;f[C+(k<<2)>>2]=0;k=k+1|0}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;k=0;while(1){if((k|0)==3)break;f[D+(k<<2)>>2]=0;k=k+1|0}f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;k=0;while(1){if((k|0)==3)break;f[E+(k<<2)>>2]=0;k=k+1|0}x=0;Oa(3,d|0,o|0,F|0,t|0,v|0,w|0,C|0,D|0,E|0,n|0);d=x;x=0;if(d&1)a=Ya()|0;else{d=f[n>>2]|0;if((r|0)>(d|0)){m=b[E+11>>0]|0;n=b[D+11>>0]|0;k=1;m=(m<<24>>24<0?f[E+4>>2]|0:m&255)+(r-d<<1)|0;n=n<<24>>24<0?f[D+4>>2]|0:n&255}else{n=b[E+11>>0]|0;m=b[D+11>>0]|0;k=2;m=m<<24>>24<0?f[D+4>>2]|0:m&255;n=n<<24>>24<0?f[E+4>>2]|0:n&255}k=n+d+m+k|0;if(k>>>0>100){l=Rd(k)|0;k=l;if(!l){x=0;Ea(6);x=0;a=Ya()|0}else G=33}else{k=0;G=33}if((G|0)==33){x=0;Pa(1,l|0,y|0,z|0,f[e+4>>2]|0,a|0,a+r|0,q|0,o|0,t|0,b[v>>0]|0,b[w>>0]|0,C|0,D|0,E|0,d|0);w=x;x=0;if(!(w&1)){f[A>>2]=f[c>>2];c=f[y>>2]|0;a=f[z>>2]|0;x=0;f[s>>2]=f[A>>2];a=ya(39,s|0,l|0,c|0,a|0,e|0,g|0)|0;g=x;x=0;if(!(g&1)){if(k|0)$h(k);Aaa(E);Aaa(D);Aaa(C);uga(F);if(j|0)$h(j);if(i|0)$h(i);u=B;return a|0}}a=Ya()|0}if(k|0)$h(k)}Aaa(E);Aaa(D);Aaa(C)}}if((G|0)==31)a=Ya()|0;uga(F)}}if(j|0)$h(j);if(i|0)$h(i);jb(a|0);return 0}function Hj(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;o=0;n=u;u=u+64|0;l=n;k=n+40|0;m=n+56|0;Gv(k,e);x=0;Ja(27,a|0,d|0,g|0,k|0);j=x;x=0;if(j&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(!d){a=c;jb(a|0)}h=k+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){i=e;while(1){e=i+-52|0;f[h>>2]=e;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);e=f[h>>2]|0}if((e|0)==(d|0))break;else i=e}d=f[k>>2]|0}Hta(d);a=c;jb(a|0)}d=f[k>>2]|0;if(d|0){j=k+4|0;e=f[j>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[j>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[j>>2]|0}else e=i}while((e|0)!=(d|0));d=f[k>>2]|0}Hta(d)}d=f[c+4>>2]|0;e=(h|0)==0?d:h;f[a+72>>2]=e;e=d|0?d:e;f[a+76>>2]=e;d=f[c+8>>2]|0;if(!d)d=e+(hL(e)|0)|0;f[a+80>>2]=d;x=0;k=qa(318,88)|0;c=x;x=0;a:do if(c&1)o=34;else{i=l;d=g;e=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(e|0));x=0;Fa(427,k|0);g=x;x=0;do if(g&1){e=Ya()|0;d=I}else{i=k+12|0;d=l;e=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(e|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;h=k+68|0;c=k+72|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(568,h|0,0);l=x;x=0;if(l&1){e=Ya()|0;j=I;d=f[h>>2]|0;if(d|0){i=f[c>>2]|0;if((i|0)!=(d|0)){do{n=i+-8|0;f[c>>2]=n;Kc[f[f[n>>2]>>2]&511](n);i=f[c>>2]|0}while((i|0)!=(d|0));d=f[h>>2]|0}Hta(d)}d=j;break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,m|0,k|0);l=x;x=0;if(l&1){o=34;break a}f[m>>2]=7280;d=a+48|0;e=f[d>>2]|0;if((e|0)==(f[a+52>>2]|0)){x=0;Ga(573,a+44|0,m|0);l=x;x=0;if(!(l&1)){a=m+4|0;a=f[a>>2]|0;a=a+84|0;b[a>>0]=1;_P(m);u=n;return}}else{i=m+4|0;x=0;Ga(462,e|0,f[i>>2]|0);l=x;x=0;if(!(l&1)){f[e>>2]=7280;f[d>>2]=(f[d>>2]|0)+8;a=i;a=f[a>>2]|0;a=a+84|0;b[a>>0]=1;_P(m);u=n;return}}k=Ya()|0;c=I;_P(m);break a}while(0);Hta(k);c=d;k=e}while(0);if((o|0)==34){k=Ya()|0;c=I}j=a+148|0;d=f[j>>2]|0;if(d|0){h=a+152|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[h>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=i}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d)}d=f[a+56>>2]|0;if(d|0){e=a+60|0;i=f[e>>2]|0;if((i|0)!=(d|0))f[e>>2]=i+(~((i+-4-d|0)>>>2)<<2);Hta(d)}j=a+44|0;d=f[j>>2]|0;if(!d){a=k;jb(a|0)}i=a+48|0;e=f[i>>2]|0;if((e|0)!=(d|0)){do{a=e+-8|0;f[i>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d);a=k;jb(a|0)}function Ij(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=0;D=u;u=u+96|0;B=D+80|0;C=D+40|0;E=D;G=VN(108)|0;g=E;d=a+12|0;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Fa(427,G|0);A=x;x=0;do if(A&1)a=Ya()|0;else{g=G+12|0;d=E;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));b[G+52>>0]=0;b[G+53>>0]=0;b[G+54>>0]=0;f[G>>2]=15620;b[G+60>>0]=0;b[G+61>>0]=0;b[G+62>>0]=0;f[G+64>>2]=0;f[G+68>>2]=0;f[G+56>>2]=7;A=G+72|0;f[A>>2]=15516;g=G+76|0;h=G+80|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;x=0;Ga(513,g|0,0);z=x;x=0;if(z&1){a=Ya()|0;e=I;d=f[g>>2]|0;if(d|0){c=f[h>>2]|0;if((c|0)!=(d|0)){do{F=c+-8|0;f[h>>2]=F;Kc[f[f[F>>2]>>2]&511](F);c=f[h>>2]|0}while((c|0)!=(d|0));d=f[g>>2]|0}Hta(d)}break}f[G>>2]=15300;f[A>>2]=15476;d=G+96|0;f[d>>2]=0;f[G+100>>2]=0;f[G+92>>2]=d;b[G+104>>0]=0;b[G+105>>0]=0;d=f[a+76>>2]|0;y=(f[a+80>>2]|0)-d>>3;if(!y){u=D;return G|0}r=a+76|0;s=c+76|0;t=c+80|0;z=E+11|0;v=C+20|0;w=G+32|0;n=c+76|0;o=E+4|0;p=B+11|0;q=B+4|0;a=0;a:while(1){d=f[d+(a<<3)+4>>2]|0;Lc[f[(f[d>>2]|0)+32>>2]&1023](E,d);d=f[s>>2]|0;m=(f[t>>2]|0)-d>>3;b:do if(!m)F=31;else{l=0;while(1){k=f[d+(l<<3)+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+32>>2]|0,B|0,k|0);k=x;x=0;if(k&1){F=30;break a}c=b[z>>0]|0;e=c<<24>>24<0;c=c&255;g=e?f[o>>2]|0:c;j=b[p>>0]|0;k=j<<24>>24<0;c:do if((g|0)==((k?f[q>>2]|0:j&255)|0)){h=f[E>>2]|0;i=e?h:E;d=k?f[B>>2]|0:B;j=(g|0)==0;if(e){if(j){c=1;break}c=(lO(i,d,g)|0)==0;break}if(j)c=1;else if((b[d>>0]|0)==(h&255)<<24>>24){e=E;while(1){c=c+-1|0;e=e+1|0;if(!c){c=1;break c}d=d+1|0;if((b[e>>0]|0)!=(b[d>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);if(k)Hta(f[B>>2]|0);d=l+1|0;if(c)break b;if(d>>>0>=m>>>0){F=31;break b}l=d;d=f[n>>2]|0}}while(0);if((F|0)==31){F=0;d=f[(f[r>>2]|0)+(a<<3)+4>>2]|0;x=0;Ga(462,B|0,d|0);m=x;x=0;if(m&1){F=36;break}f[B>>2]=13852;x=0;Ga(120,A|0,B|0);m=x;x=0;if(m&1){F=34;break}_P(B);g=C;d=d+12|0;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Ga(512,w|0,v|0);m=x;x=0;if(m&1){F=36;break}}if((b[z>>0]|0)<0)Hta(f[E>>2]|0);a=a+1|0;if(a>>>0>=y>>>0){F=11;break}d=f[r>>2]|0}if((F|0)==11){u=D;return G|0}else if((F|0)==30)a=Ya()|0;else if((F|0)==34){a=Ya()|0;_P(B);F=37}else if((F|0)==36){a=Ya()|0;F=37}if((b[z>>0]|0)<0)Hta(f[E>>2]|0);G=a;jb(G|0)}while(0);Hta(G);G=a;jb(G|0);return 0}function Jj(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;o=0;n=u;u=u+64|0;l=n;k=n+40|0;m=n+56|0;f[g+24>>2]=0;f[g+20>>2]=0;Gv(k,e);x=0;Ja(27,a|0,d|0,g|0,k|0);j=x;x=0;if(j&1){h=Ya()|0;j=I;d=f[k>>2]|0;if(!d){a=h;jb(a|0)}c=k+4|0;e=f[c>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[c>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[c>>2]|0}else e=i}while((e|0)!=(d|0));d=f[k>>2]|0}Hta(d);a=h;jb(a|0)}d=f[k>>2]|0;if(d|0){j=k+4|0;e=f[j>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[j>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[j>>2]|0}else e=i}while((e|0)!=(d|0));d=f[k>>2]|0}Hta(d)}k=h|0?h:c;f[a+72>>2]=k;k=(c|0)==0?k:c;f[a+76>>2]=k;k=k+(hL(k)|0)|0;f[a+80>>2]=k;x=0;k=qa(318,88)|0;h=x;x=0;a:do if(h&1)o=32;else{i=l;d=g;e=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(e|0));x=0;Fa(427,k|0);g=x;x=0;do if(g&1){e=Ya()|0;d=I}else{i=k+12|0;d=l;e=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(e|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;c=k+68|0;h=k+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;x=0;Ga(568,c|0,0);l=x;x=0;if(l&1){e=Ya()|0;j=I;d=f[c>>2]|0;if(d|0){i=f[h>>2]|0;if((i|0)!=(d|0)){do{n=i+-8|0;f[h>>2]=n;Kc[f[f[n>>2]>>2]&511](n);i=f[h>>2]|0}while((i|0)!=(d|0));d=f[c>>2]|0}Hta(d)}d=j;break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,m|0,k|0);l=x;x=0;if(l&1){o=32;break a}f[m>>2]=7280;d=a+48|0;e=f[d>>2]|0;if((e|0)==(f[a+52>>2]|0)){x=0;Ga(573,a+44|0,m|0);l=x;x=0;if(!(l&1)){a=m+4|0;a=f[a>>2]|0;a=a+84|0;b[a>>0]=1;_P(m);u=n;return}}else{i=m+4|0;x=0;Ga(462,e|0,f[i>>2]|0);l=x;x=0;if(!(l&1)){f[e>>2]=7280;f[d>>2]=(f[d>>2]|0)+8;a=i;a=f[a>>2]|0;a=a+84|0;b[a>>0]=1;_P(m);u=n;return}}k=Ya()|0;h=I;_P(m);break a}while(0);Hta(k);h=d;k=e}while(0);if((o|0)==32){k=Ya()|0;h=I}j=a+148|0;d=f[j>>2]|0;if(d|0){c=a+152|0;e=f[c>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[c>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[c>>2]|0}else e=i}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d)}d=f[a+56>>2]|0;if(d|0){e=a+60|0;i=f[e>>2]|0;if((i|0)!=(d|0))f[e>>2]=i+(~((i+-4-d|0)>>>2)<<2);Hta(d)}j=a+44|0;d=f[j>>2]|0;if(!d){a=k;jb(a|0)}i=a+48|0;e=f[i>>2]|0;if((e|0)!=(d|0)){do{a=e+-8|0;f[i>>2]=a;Kc[f[f[a>>2]>>2]&511](a);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d);a=k;jb(a|0)}function Kj(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,q=0,r=0,s=0,t=0,v=0;r=0;s=u;u=u+32|0;t=s;if((e|0)==0|(g|0)==0){UE(a);u=s;return}j=f[c+20>>2]|0;i=f[c+24>>2]|0;if(i|0){ega(i);QZ(i)}k=f[d+20>>2]|0;i=f[d+24>>2]|0;if(i|0){ega(i);QZ(i)}AS(t);m=(f[j+16>>2]|0)+e|0;l=f[(f[j+4>>2]|0)+(((m>>>0)/146|0)<<2)>>2]|0;m=(m>>>0)%146|0;j=l+(m*28|0)|0;i=(f[k+16>>2]|0)+g|0;x=0;i=sa(1052,j|0,(f[(f[k+4>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0)+(((i>>>0)%146|0)*28|0)|0)|0;q=x;x=0;a:do if(q&1)r=29;else{do if(i){f[t>>2]=f[j>>2];f[t+4>>2]=f[j+4>>2];f[t+8>>2]=f[j+8>>2];i=t+12|0;q=t+16|0;if(f[q>>2]|0){x=0;Fa(429,i|0);p=x;x=0;if(p&1){r=29;break a}}f[q>>2]=f[l+(m*28|0)+16>>2];x=0;Fa(430,i|0);p=x;x=0;if(p&1){r=29;break a}p=t+20|0;k=l+(m*28|0)|0;i=f[k+20>>2]|0;k=f[k+24>>2]|0;if(k|0)ega(k);f[p>>2]=i;i=t+24|0;j=f[i>>2]|0;f[i>>2]=k;if(j|0)QZ(j);x=0;Ma(9,a|0,b|0,c|0,d|0,e+-1|0,g+-1|0,h|0);o=x;x=0;if(o&1){r=29;break a}j=f[a+20>>2]|0;g=a+24|0;n=f[g>>2]|0;o=(n|0)==0;if(!o)ega(n);d=j+8|0;l=f[d>>2]|0;e=j+4|0;k=f[e>>2]|0;v=l-k>>2;b=j+16|0;c=f[b>>2]|0;h=j+20|0;m=f[h>>2]|0;if((((v|0)==0?0:(v*146|0)+-1|0)|0)==(m+c|0)){x=0;Fa(433,j|0);v=x;x=0;if(!(v&1)){m=f[h>>2]|0;j=f[b>>2]|0;l=f[d>>2]|0;k=f[e>>2]|0;r=22}}else{j=c;r=22}if((r|0)==22){j=m+j|0;if((l|0)==(k|0))k=0;else k=(f[k+(((j>>>0)/146|0)<<2)>>2]|0)+(((j>>>0)%146|0)*28|0)|0;f[k>>2]=f[t>>2];f[k+4>>2]=f[t+4>>2];f[k+8>>2]=f[t+8>>2];j=k+12|0;x=0;Ga(462,j|0,f[q>>2]|0);v=x;x=0;if(!(v&1)){f[j>>2]=15556;f[k+20>>2]=f[p>>2];i=f[i>>2]|0;f[k+24>>2]=i;if(i|0)ega(i);f[h>>2]=(f[h>>2]|0)+1;if(o)break;QZ(n);break}}j=Ya()|0;if(!o)QZ(n);k=f[g>>2]|0;if(k|0)QZ(k);_P(a+12|0);break a}else{v=f[b>>2]|0;i=g+-1|0;j=e+-1|0;if((f[(f[v+(e*12|0)>>2]|0)+(i<<2)>>2]|0)>(f[(f[v+(j*12|0)>>2]|0)+(g<<2)>>2]|0)){x=0;Ma(9,a|0,b|0,c|0,d|0,e|0,i|0,h|0);v=x;x=0;if(v&1){r=29;break a}else break}else{x=0;Ma(9,a|0,b|0,c|0,d|0,j|0,g|0,h|0);v=x;x=0;if(v&1){r=29;break a}else break}}while(0);i=f[t+24>>2]|0;if(i|0)QZ(i);_P(t+12|0);u=s;return}while(0);if((r|0)==29){j=Ya()|0;i=t+24|0}i=f[i>>2]|0;if(!i){v=t+12|0;_P(v);jb(j|0)}QZ(i);v=t+12|0;_P(v);jb(j|0)}function Lj(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;k=u;u=u+16|0;j=k;i=b+4|0;d=f[i>>2]|0;if(!d)g=0;else{e=f[a+4>>2]|0;if(!e)g=0;else g=Tt(d,e)|0}h=c+4|0;d=f[h>>2]|0;if(!d)d=0;else{e=f[i>>2]|0;if(!e)d=0;else d=Tt(d,e)|0}if(!g){if(!d){j=0;u=k;return j|0}qV(j,f[i>>2]|0);f[j>>2]=13852;if((b|0)!=(c|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);g=x;x=0;if(g&1){k=Ya()|0;_P(j);jb(k|0)}}f[i>>2]=f[h>>2];f[h>>2]=0}if((j|0)!=(c|0)){if(f[h>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){k=Ya()|0;_P(j);jb(k|0)}}c=j+4|0;f[h>>2]=f[c>>2];f[c>>2]=0}_P(j);d=f[i>>2]|0;if(!d){j=1;u=k;return j|0}e=a+4|0;g=f[e>>2]|0;if(!g){j=1;u=k;return j|0}if(!(Tt(d,g)|0)){j=1;u=k;return j|0}qV(j,f[e>>2]|0);f[j>>2]=13852;if((a|0)!=(b|0)){if(f[e>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){k=Ya()|0;_P(j);jb(k|0)}}f[e>>2]=f[i>>2];f[i>>2]=0}if((j|0)!=(b|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}b=j+4|0;f[i>>2]=f[b>>2];f[b>>2]=0}_P(j);j=2;u=k;return j|0}if(d){d=a+4|0;qV(j,f[d>>2]|0);f[j>>2]=13852;if((a|0)!=(c|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}f[d>>2]=f[h>>2];f[h>>2]=0}if((j|0)!=(c|0)){if(f[h>>2]|0){x=0;Fa(429,c|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}b=j+4|0;f[h>>2]=f[b>>2];f[b>>2]=0}_P(j);j=1;u=k;return j|0}d=a+4|0;qV(j,f[d>>2]|0);f[j>>2]=13852;if((a|0)!=(b|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){k=Ya()|0;_P(j);jb(k|0)}}f[d>>2]=f[i>>2];f[i>>2]=0}if((j|0)!=(b|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);a=x;x=0;if(a&1){k=Ya()|0;_P(j);jb(k|0)}}a=j+4|0;f[i>>2]=f[a>>2];f[a>>2]=0}_P(j);d=f[h>>2]|0;if(!d){j=1;u=k;return j|0}e=f[i>>2]|0;if(!e){j=1;u=k;return j|0}if(!(Tt(d,e)|0)){j=1;u=k;return j|0}qV(j,f[i>>2]|0);f[j>>2]=13852;if((b|0)!=(c|0)){if(f[i>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}f[i>>2]=f[h>>2];f[h>>2]=0}if((j|0)!=(c|0)){if(f[h>>2]|0){x=0;Fa(429,c|0);b=x;x=0;if(b&1){k=Ya()|0;_P(j);jb(k|0)}}b=j+4|0;f[h>>2]=f[b>>2];f[b>>2]=0}_P(j);j=2;u=k;return j|0}function Mj(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;g=f[a>>2]|0;do if(!g)i=1;else{h=f[g+12>>2]|0;if((h|0)==(f[g+16>>2]|0))g=vc[f[(f[g>>2]|0)+36>>2]&511](g)|0;else g=mra(f[h>>2]|0)|0;if(vja(g,Jta()|0)|0){f[a>>2]=0;i=1;break}else{i=(f[a>>2]|0)==0;break}}while(0);h=f[b>>2]|0;do if(!h)p=14;else{g=f[h+12>>2]|0;if((g|0)==(f[h+16>>2]|0))g=vc[f[(f[h>>2]|0)+36>>2]&511](h)|0;else g=mra(f[g>>2]|0)|0;if(vja(g,Jta()|0)|0){f[b>>2]=0;p=14;break}else if(i){p=17;break}else{p=16;break}}while(0);if((p|0)==14)if(i)p=16;else{h=0;p=17}a:do if((p|0)==16){f[c>>2]=f[c>>2]|6;g=0}else if((p|0)==17){g=f[a>>2]|0;i=f[g+12>>2]|0;if((i|0)==(f[g+16>>2]|0))g=vc[f[(f[g>>2]|0)+36>>2]&511](g)|0;else g=mra(f[i>>2]|0)|0;if(!(yc[f[(f[d>>2]|0)+12>>2]&255](d,2048,g)|0)){f[c>>2]=f[c>>2]|4;g=0;break}g=(yc[f[(f[d>>2]|0)+52>>2]&255](d,g,0)|0)<<24>>24;i=f[a>>2]|0;j=i+12|0;k=f[j>>2]|0;if((k|0)==(f[i+16>>2]|0)){vc[f[(f[i>>2]|0)+40>>2]&511](i)|0;l=h;j=h}else{f[j>>2]=k+4;mra(f[k>>2]|0)|0;l=h;j=h}while(1){g=g+-48|0;o=e+-1|0;h=f[a>>2]|0;do if(!h)k=1;else{i=f[h+12>>2]|0;if((i|0)==(f[h+16>>2]|0))h=vc[f[(f[h>>2]|0)+36>>2]&511](h)|0;else h=mra(f[i>>2]|0)|0;if(vja(h,Jta()|0)|0){f[a>>2]=0;k=1;break}else{k=(f[a>>2]|0)==0;break}}while(0);do if(!j){n=l;h=1;m=0}else{h=f[j+12>>2]|0;if((h|0)==(f[j+16>>2]|0))h=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else h=mra(f[h>>2]|0)|0;if(vja(h,Jta()|0)|0){f[b>>2]=0;n=0;h=1;m=0;break}else{n=l;h=(l|0)==0;m=l;break}}while(0);i=f[a>>2]|0;if(!((e|0)>1&(k^h)))break;h=f[i+12>>2]|0;if((h|0)==(f[i+16>>2]|0))h=vc[f[(f[i>>2]|0)+36>>2]&511](i)|0;else h=mra(f[h>>2]|0)|0;if(!(yc[f[(f[d>>2]|0)+12>>2]&255](d,2048,h)|0))break a;g=(g*10|0)+((yc[f[(f[d>>2]|0)+52>>2]&255](d,h,0)|0)<<24>>24)|0;h=f[a>>2]|0;i=h+12|0;j=f[i>>2]|0;if((j|0)==(f[h+16>>2]|0)){vc[f[(f[h>>2]|0)+40>>2]&511](h)|0;e=o;l=n;j=m;continue}else{f[i>>2]=j+4;mra(f[j>>2]|0)|0;e=o;l=n;j=m;continue}}do if(!i)i=1;else{h=f[i+12>>2]|0;if((h|0)==(f[i+16>>2]|0))h=vc[f[(f[i>>2]|0)+36>>2]&511](i)|0;else h=mra(f[h>>2]|0)|0;if(vja(h,Jta()|0)|0){f[a>>2]=0;i=1;break}else{i=(f[a>>2]|0)==0;break}}while(0);do if(!n)p=60;else{h=f[n+12>>2]|0;if((h|0)==(f[n+16>>2]|0))h=vc[f[(f[n>>2]|0)+36>>2]&511](n)|0;else h=mra(f[h>>2]|0)|0;if(vja(h,Jta()|0)|0){f[b>>2]=0;p=60;break}else if(i)break a;else break}while(0);if((p|0)==60)if(!i)break;f[c>>2]=f[c>>2]|2}while(0);return g|0}function Nj(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;l=0;m=u;u=u+144|0;k=m+40|0;q=m;n=m+92|0;c=m+104|0;o=m+80|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;p=q+11|0;b[p>>0]=5;b[q>>0]=b[40756]|0;b[q+1>>0]=b[40757]|0;b[q+2>>0]=b[40758]|0;b[q+3>>0]=b[40759]|0;b[q+4>>0]=b[40760]|0;b[q+5>>0]=0;d=c;i=g;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));x=0;Ga(511,o|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;d=k;i=c;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));c=wa(27,q|0,a|0,e|0,k|0,o|0)|0;h=x;x=0;if(!(h&1)){x=0;Ka(5,n|0,c+64|0,0,0,1);h=x;x=0;if(!(h&1)){c=f[o>>2]|0;if(c|0){j=o+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[q>>2]|0);x=0;c=sa(1011,79460,n|0)|0;p=x;x=0;a:do if(p&1)c=Ya()|0;else{do if((c|0)==79464){x=0;c=qa(318,68)|0;p=x;x=0;if(p&1)l=30;else{d=q;i=g;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));x=0;Fa(427,c|0);p=x;x=0;if(p&1){q=Ya()|0;Hta(c);c=q;break a}else{d=c+12|0;i=q;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=11240;b[c+60>>0]=0;f[c+64>>2]=0;f[c+56>>2]=1;break}}}else{x=0;c=qa(318,68)|0;q=x;x=0;if(q&1)l=30;else{d=k;i=g;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));x=0;Fa(427,c|0);q=x;x=0;if(q&1){q=Ya()|0;Hta(c);c=q;break a}else{d=c+12|0;i=k;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=11240;b[c+60>>0]=1;f[c+64>>2]=0;f[c+56>>2]=1;break}}}while(0);if((l|0)==30){c=Ya()|0;break}if((b[n+11>>0]|0)>=0){u=m;return c|0}Hta(f[n>>2]|0);u=m;return c|0}while(0);if((b[n+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[n>>2]|0);q=c;jb(q|0)}}c=Ya()|0;a=I;d=f[o>>2]|0;if(d){e=o+4|0;i=f[e>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[e>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=j}while((i|0)!=(d|0));d=f[o>>2]|0}Hta(d)}}if((b[p>>0]|0)<0)Hta(f[q>>2]|0);q=c;jb(q|0);return 0}function Oj(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,v=0,w=0,y=0;r=u;u=u+128|0;n=r;y=r+112|0;w=r+104|0;p=r+96|0;o=r+56|0;t=r+48|0;v=r+40|0;Mi(y,c);q=y+4|0;a:do if(!(f[q>>2]|0)){x=0;Ga(462,a|0,0);w=x;x=0;if(!(w&1)){f[a>>2]=12372;_P(y);u=r;return}}else{i=c+108|0;j=w+4|0;k=t+4|0;l=v+4|0;m=p+4|0;while(1){x=0;d=ta(73,c|0,1,0)|0;s=x;x=0;if(s&1){g=8;break}if(!d){x=0;d=ta(72,c|0,1,0)|0;s=x;x=0;if(s&1){g=8;break}if(!d){g=37;break}else h=1}else h=0;x=0;ta(62,c|0,1,0)|0;s=x;x=0;if(s&1){g=8;break}x=0;Ga(639,w|0,c|0);s=x;x=0;if(s&1){g=26;break}x=0;s=qa(318,80)|0;g=x;x=0;if(g&1){g=27;break}d=o;e=i;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Ga(462,t|0,f[q>>2]|0);g=x;x=0;if(g&1){g=28;break}f[t>>2]=12372;x=0;Ga(462,v|0,f[j>>2]|0);g=x;x=0;if(g&1){g=29;break}f[v>>2]=12372;d=n;e=o;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Fa(427,s|0);g=x;x=0;if(g&1){d=1;g=30;break}d=s+12|0;e=n;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[s+52>>0]=0;b[s+53>>0]=0;b[s+54>>0]=0;f[s+56>>2]=0;f[s>>2]=12388;e=s+60|0;x=0;Ga(462,e|0,f[k>>2]|0);g=x;x=0;if(g&1){g=19;break}f[e>>2]=12372;d=s+68|0;x=0;Ga(462,d|0,f[l>>2]|0);g=x;x=0;if(g&1){g=20;break}f[d>>2]=12372;f[s+76>>2]=h;x=0;Ga(462,p|0,s|0);h=x;x=0;if(h&1){d=0;g=30;break}f[p>>2]=12372;if(f[q>>2]|0){x=0;Fa(429,y|0);h=x;x=0;if(h&1){g=32;break}}f[q>>2]=f[m>>2];f[m>>2]=0;_P(p);_P(v);_P(t);_P(w)}switch(g|0){case 8:{w=Ya()|0;_P(y);jb(w|0)}case 19:{d=Ya()|0;g=21;break}case 20:{d=Ya()|0;_P(e);g=21;break}case 26:{d=Ya()|0;break}case 27:{d=Ya()|0;g=35;break}case 28:{d=Ya()|0;g=34;break}case 29:{d=Ya()|0;_P(t);g=34;break}case 30:{r=Ya()|0;e=d;d=r;g=31;break}case 32:{d=Ya()|0;_P(p);e=0;g=33;break}case 37:{x=0;Ga(462,a|0,f[q>>2]|0);w=x;x=0;if(w&1)break a;else d=y;f[a>>2]=12372;_P(d);u=r;return}}if((g|0)==21){e=1;g=31}if((g|0)==31)g=33;if((g|0)==33){_P(v);_P(t);if(e)g=34;else g=35}if((g|0)==34){Hta(s);g=35}if((g|0)==35)_P(w);w=d;_P(y);jb(w|0)}while(0);w=Ya()|0;_P(y);jb(w|0)}function Pj(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;l=u;u=u+112|0;j=l;q=l+104|0;p=l+56|0;k=l+64|0;n=l+48|0;m=l+40|0;qV(q,f[c+64>>2]|0);f[q>>2]=7696;h=q+4|0;d=f[h>>2]|0;if(!d){d=0;o=3}else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;o=x;x=0;if(o&1)o=23;else o=3}do if((o|0)==3){x=0;Ga(462,j|0,d|0);i=x;x=0;if(i&1)o=23;else{f[j>>2]=7696;if(f[h>>2]|0){x=0;Fa(429,q|0);i=x;x=0;if(i&1){d=Ya()|0;_P(j);break}}o=j+4|0;f[h>>2]=f[o>>2];f[o>>2]=0;_P(j);x=0;Ga(462,p|0,f[c+72>>2]|0);o=x;x=0;if(o&1)d=Ya()|0;else{f[p>>2]=7696;g=p+4|0;d=f[g>>2]|0;if(!d){d=0;o=9}else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;o=x;x=0;if(o&1)o=27;else o=9}do if((o|0)==9){x=0;Ga(462,j|0,d|0);i=x;x=0;if(i&1)o=27;else{f[j>>2]=7696;if(f[g>>2]|0){x=0;Fa(429,p|0);i=x;x=0;if(i&1){d=Ya()|0;_P(j);o=29;break}}i=j+4|0;f[g>>2]=f[i>>2];f[i>>2]=0;_P(j);x=0;i=qa(318,76)|0;e=x;x=0;if(e&1){d=Ya()|0;break}e=k;d=c+12|0;a=e+40|0;do{f[e>>2]=f[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));x=0;d=qa(319,f[h>>2]|0)|0;h=x;x=0;if(h&1)o=31;else{x=0;Ga(462,n|0,d|0);h=x;x=0;if(h&1)o=31;else{f[n>>2]=7696;x=0;Ga(462,m|0,f[g>>2]|0);h=x;x=0;if(h&1)d=Ya()|0;else{f[m>>2]=7696;e=j;d=k;a=e+40|0;do{f[e>>2]=f[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));x=0;Fa(427,i|0);k=x;x=0;if(k&1)d=Ya()|0;else{e=i+12|0;d=j;a=e+40|0;do{f[e>>2]=f[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=0;f[i>>2]=12916;d=i+60|0;x=0;Ga(462,d|0,f[n+4>>2]|0);k=x;x=0;do if(k&1)d=Ya()|0;else{f[d>>2]=7696;a=i+68|0;x=0;Ga(462,a|0,f[m+4>>2]|0);k=x;x=0;if(k&1){l=Ya()|0;_P(d);d=l;break}else{f[a>>2]=7696;_P(m);_P(n);_P(p);_P(q);u=l;return i|0}}while(0)}_P(m)}_P(n)}}if((o|0)==31)d=Ya()|0;Hta(i)}}while(0);if((o|0)==27){d=Ya()|0;o=29}_P(p)}p=d;_P(q);jb(p|0)}}while(0);if((o|0)==23)d=Ya()|0;p=d;_P(q);jb(p|0);return 0}function Qj(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,t=0,v=0,w=0,y=0;v=u;u=u+80|0;s=v+32|0;w=v+16|0;r=v;t=v+8|0;f[w>>2]=0;y=w+4|0;f[y>>2]=0;f[w+8>>2]=0;c=f[a+76>>2]|0;n=(f[a+80>>2]|0)-c>>3;a:do if(!n)e=3;else{o=a+76|0;p=b+72|0;q=b+76|0;j=b+80|0;k=s+4|0;l=r+4|0;m=w+8|0;b=0;b:while(1){x=0;Ga(462,s|0,f[c+(b<<3)+4>>2]|0);i=x;x=0;if(i&1){e=8;break}f[s>>2]=15556;i=(f[j>>2]|0)-(f[q>>2]|0)>>3;if(i|0){h=0;do{x=0;c=sa(f[(f[p>>2]|0)+16>>2]|0,p|0,h|0)|0;g=x;x=0;if(g&1){e=15;break b}x=0;c=sa(990,f[k>>2]|0,f[c+4>>2]|0)|0;g=x;x=0;if(g&1){e=16;break b}x=0;Ga(462,r|0,c|0);g=x;x=0;if(g&1){e=16;break b}f[r>>2]=7168;d=f[l>>2]|0;c:do if(d|0){g=(f[d+80>>2]|0)-(f[d+76>>2]|0)>>3;if(g|0){c=0;while(1){d=f[d+76>>2]|0;e=f[y>>2]|0;if((e|0)==(f[m>>2]|0)){x=0;Ga(514,w|0,d+(c<<3)|0);e=x;x=0;if(e&1){e=17;break b}}else{x=0;Ga(462,e|0,f[d+(c<<3)+4>>2]|0);d=x;x=0;if(d&1){e=17;break b}f[e>>2]=15556;f[y>>2]=(f[y>>2]|0)+8}c=c+1|0;if(c>>>0>=g>>>0)break c;d=f[l>>2]|0}}}while(0);_P(r);h=h+1|0}while(h>>>0>>0)}_P(s);b=b+1|0;if(b>>>0>=n>>>0){e=3;break a}c=f[o>>2]|0}if((e|0)==8)b=Ya()|0;else if((e|0)==15){b=Ya()|0;e=26}else if((e|0)==16){b=Ya()|0;e=25}else if((e|0)==17){b=Ya()|0;_P(r);e=25}if((e|0)==25)e=26;if((e|0)==26)_P(s);d=b}while(0);d:do if((e|0)==3){x=0;g=qa(318,112)|0;r=x;x=0;if(r&1){d=Ya()|0;break}x=0;d=s;b=a+12|0;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));Ia(84,g|0,s|0,0);s=x;x=0;if(s&1){d=Ya()|0;Hta(g);break}c=f[w>>2]|0;do if((c|0)==(f[y>>2]|0))b=c;else{d=g+72|0;while(1){b=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,t|0,f[c+4>>2]|0);s=x;x=0;if(s&1){e=43;break}f[t>>2]=15556;x=0;Ga(b|0,d|0,t|0);s=x;x=0;if(s&1){e=44;break}_P(t);c=c+8|0;if((c|0)==(f[y>>2]|0)){e=31;break}}if((e|0)==31){b=f[w>>2]|0;break}else if((e|0)==43){d=Ya()|0;break d}else if((e|0)==44){d=Ya()|0;_P(t);break d}}while(0);if(!b){u=v;return g|0}if((c|0)!=(b|0)){do{t=c+-8|0;f[y>>2]=t;Kc[f[f[t>>2]>>2]&511](t);c=f[y>>2]|0}while((c|0)!=(b|0));b=f[w>>2]|0}Hta(b);u=v;return g|0}while(0);b=f[w>>2]|0;if(!b)jb(d|0);c=f[y>>2]|0;if((c|0)!=(b|0)){do{v=c+-8|0;f[y>>2]=v;Kc[f[f[v>>2]>>2]&511](v);c=f[y>>2]|0}while((c|0)!=(b|0));b=f[w>>2]|0}Hta(b);jb(d|0);return 0}function Rj(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=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Hta(c);f[d>>2]=0;return}if(b>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);a=x;x=0;if(a&1){a=Ya()|0;bb(c|0);jb(a|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}q=VN(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)Hta(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;h=f[d>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[h>>2]|0;if(!d)return;else{g=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;d:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break d;h=h+12|0;do if(!(uy(k,2048,192,-2)|0)){h=f[h>>2]|0;j=h;r=26}else{i=f[h>>2]|0;if(!i){j=i;h=0;r=26}else{if(!(uy(i,2048,192,-2)|0)){j=i;h=i;r=26;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break d}}while(0);if((r|0)==26){r=0;if(!j)break d;if(!(xc[f[(f[k>>2]|0)+160>>2]&2047](k,h)|0))break d}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>>0)n=e;else n=(e>>>0)%(b>>>0)|0;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;e:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break e;h=h+12|0;do if(!(uy(k,2048,192,-2)|0)){h=f[h>>2]|0;i=h;r=44}else{j=f[h>>2]|0;if(!j){i=j;h=0;r=44;break}if(!(uy(j,2048,192,-2)|0)){i=j;h=j;r=44;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break e}while(0);if((r|0)==44){r=0;if(!i)break e;if(!(xc[f[(f[k>>2]|0)+160>>2]&2047](k,h)|0))break e}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}while(0);e=f[d>>2]|0;if(!e){r=51;break a}else{g=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){r=51;break}else g=d}if((r|0)==51)return}function Sj(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;s=0;o=u;u=u+192|0;k=o+152|0;j=o+140|0;t=o+128|0;l=o+88|0;r=o+64|0;m=o+72|0;n=o+24|0;q=o+8|0;p=o;Vw(c,1,0)|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(t);if(i>>>0<11){b[t+11>>0]=i;d=t}else{g=i+16&-16;d=VN(g)|0;f[t>>2]=d;f[t+8>>2]=g|-2147483648;f[t+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;e=l;h=c+108|0;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));x=0;Ia(111,r|0,c|0,1);i=x;x=0;if(i&1)d=Ya()|0;else{x=0;d=ta(66,c|0,1,0)|0;i=x;x=0;a:do if(i&1)s=22;else{b:do if(!d){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,32)|0;i=x;x=0;if(i&1){s=22;break a}f[m>>2]=d;f[m+8>>2]=-2147483616;f[m+4>>2]=31;e=d;h=45445;i=e+31|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(i|0));b[d+31>>0]=0;x=0;Ga(459,j|0,m|0);i=x;x=0;do if(i&1)d=Ya()|0;else{i=c+108|0;x=0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];Ia(113,c|0,j|0,k|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[m+11>>0]|0)>=0)break b;Hta(f[m>>2]|0);break b}while(0);if((b[m+11>>0]|0)>=0)break a;Hta(f[m>>2]|0);break a}while(0);d=t+11|0;m=b[d>>0]|0;x=0;ta(40,t|0,(m<<24>>24<0?f[t+4>>2]|0:m&255)+-1|0,-1)|0;m=x;x=0;if(m&1)s=22;else{x=0;g=qa(318,112)|0;m=x;x=0;if(m&1)s=22;else{e=n;h=l;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));x=0;Ga(459,q|0,t|0);m=x;x=0;do if(m&1)d=Ya()|0;else{x=0;Ga(462,p|0,f[r+4>>2]|0);m=x;x=0;if(m&1){d=Ya()|0;e=1}else{f[p>>2]=7168;x=0;e=k;h=n;i=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(i|0));Ja(31,g|0,k|0,q|0,p|0);n=x;x=0;if(n&1)e=1;else{x=0;Ga(462,a|0,g|0);n=x;x=0;if(n&1)e=0;else{f[a>>2]=15604;_P(p);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);_P(r);if((b[d>>0]|0)>=0){u=o;return}Hta(f[t>>2]|0);u=o;return}}d=Ya()|0;_P(p)}if((b[q+11>>0]|0)<0){Hta(f[q>>2]|0);if(e)break;else break a}else if(e)break;else break a}while(0);Hta(g)}}}while(0);if((s|0)==22)d=Ya()|0;_P(r)}if((b[t+11>>0]|0)>=0)jb(d|0);Hta(f[t>>2]|0);jb(d|0)}function Tj(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;e=0;l=u;u=u+64|0;o=l+48|0;c=l+16|0;n=l+24|0;m=l+8|0;j=l;qV(o,f[b+76>>2]|0);f[o>>2]=7696;x=0;Ga(462,c|0,f[b+68>>2]|0);k=x;x=0;if(k&1){n=Ya()|0;_P(o);jb(n|0)}f[c>>2]=7280;i=f[c+4>>2]|0;_P(c);d=a+56|0;k=a+60|0;c=f[k>>2]|0;if((c|0)==(f[d>>2]|0))c=0;else c=f[c+-4>>2]|0;x=0;Ia(132,n|0,c|0,1);h=x;x=0;if(h&1)c=Ya()|0;else{f[m>>2]=n;c=f[k>>2]|0;if(c>>>0<(f[a+64>>2]|0)>>>0){f[c>>2]=n;f[k>>2]=(f[k>>2]|0)+4;e=8}else{x=0;Ga(646,d|0,m|0);h=x;x=0;if(h&1)c=Ya()|0;else e=8}a:do if((e|0)==8){d=a+80|0;x=0;Ga(462,m|0,b|0);h=x;x=0;do if(h&1)c=Ya()|0;else{f[m>>2]=6664;h=a+84|0;c=f[h>>2]|0;if(c>>>0<(f[a+88>>2]|0)>>>0){x=0;Ga(462,c|0,f[m+4>>2]|0);g=x;x=0;if(g&1)e=28;else{f[c>>2]=6664;f[h>>2]=(f[h>>2]|0)+8}}else{x=0;Ga(657,d|0,m|0);g=x;x=0;if(g&1)e=28}if((e|0)==28){c=Ya()|0;_P(m);break}_P(m);e=o+4|0;c=f[e>>2]|0;g=a+12|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,g|0)|0;b=x;x=0;if(b&1)e=30;else{x=0;Ga(462,m|0,c|0);b=x;x=0;if(b&1)e=30;else{f[m>>2]=7696;d=m+4|0;b=j+4|0;while(1){c=f[d>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+88>>2]|0,c|0)|0;p=x;x=0;if(p&1){e=31;break}if(c){e=35;break}x=0;Ga(656,a|0,i|0);p=x;x=0;if(p&1){e=31;break}c=f[e>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,g|0)|0;p=x;x=0;if(p&1){e=32;break}x=0;Ga(462,j|0,c|0);p=x;x=0;if(p&1){e=32;break}f[j>>2]=7696;if(f[d>>2]|0){x=0;Fa(429,m|0);p=x;x=0;if(p&1){e=33;break}}f[d>>2]=f[b>>2];f[b>>2]=0;_P(j)}if((e|0)==31)c=Ya()|0;else if((e|0)==32){c=Ya()|0;e=34}else if((e|0)==33){c=Ya()|0;_P(j);e=34}else if((e|0)==35){d=f[h>>2]|0;c=d+-8|0;do{p=d+-8|0;f[h>>2]=p;Kc[f[f[p>>2]>>2]&511](p);d=f[h>>2]|0}while((d|0)!=(c|0));f[k>>2]=(f[k>>2]|0)+-4;_P(m);rE(n,f[n+4>>2]|0);_P(o);u=l;return 0}_P(m)}}if((e|0)==30)c=Ya()|0;break a}while(0)}while(0);rE(n,f[n+4>>2]|0)}p=c;_P(o);jb(p|0);return 0}function Uj(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=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Hta(c);f[d>>2]=0;return}if(b>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);a=x;x=0;if(a&1){a=Ya()|0;bb(c|0);jb(a|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}q=VN(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)Hta(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;h=f[d>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[h>>2]|0;if(!d)return;else{g=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;d:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break d;h=h+12|0;do if(!(uy(k,2064,192,-2)|0)){h=f[h>>2]|0;j=h;r=26}else{i=f[h>>2]|0;if(!i){j=i;h=0;r=26}else{if(!(uy(i,2064,192,-2)|0)){j=i;h=i;r=26;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break d}}while(0);if((r|0)==26){r=0;if(!j)break d;if(!(xc[f[(f[k>>2]|0)+164>>2]&2047](k,h)|0))break d}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>>0)n=e;else n=(e>>>0)%(b>>>0)|0;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;e:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break e;h=h+12|0;do if(!(uy(k,2064,192,-2)|0)){h=f[h>>2]|0;i=h;r=44}else{j=f[h>>2]|0;if(!j){i=j;h=0;r=44;break}if(!(uy(j,2064,192,-2)|0)){i=j;h=j;r=44;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break e}while(0);if((r|0)==44){r=0;if(!i)break e;if(!(xc[f[(f[k>>2]|0)+164>>2]&2047](k,h)|0))break e}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}while(0);e=f[d>>2]|0;if(!e){r=51;break a}else{g=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){r=51;break}else g=d}if((r|0)==51)return}function Vj(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,v=0;s=0;t=u;u=u+144|0;n=t+104|0;v=t+96|0;m=t+84|0;h=t+72|0;i=t+32|0;o=t+24|0;p=t+16|0;q=t+8|0;r=t;Pq(v,c);e=v+4|0;a:do if(!(f[e>>2]|0)){f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;d=qa(318,16)|0;l=x;x=0;if(l&1)d=Ya()|0;else{f[n>>2]=d;f[n+8>>2]=-2147483632;f[n+4>>2]=11;j=d;k=44242;l=j+11|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[d+11>>0]=0;f[m+8>>2]=0;g=m+11|0;b[g>>0]=7;b[m>>0]=b[44254]|0;b[m+1>>0]=b[44255]|0;b[m+2>>0]=b[44256]|0;b[m+3>>0]=b[44257]|0;b[m+4>>0]=b[44258]|0;b[m+5>>0]=b[44259]|0;b[m+6>>0]=b[44260]|0;b[m+7>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;d=qa(318,64)|0;l=x;x=0;do if(l&1)d=Ya()|0;else{f[h>>2]=d;f[h+8>>2]=-2147483584;f[h+4>>2]=62;j=d;k=45957;l=j+62|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[d+62>>0]=0;x=0;Ka(8,c|0,n|0,m|0,h|0,0);l=x;x=0;if(l&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[g>>0]|0)<0)Hta(f[m>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);break a}while(0);if((b[g>>0]|0)<0)Hta(f[m>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0)}a=d;_P(v);jb(a|0)}while(0);x=0;g=qa(318,80)|0;m=x;x=0;if(m&1){a=Ya()|0;_P(v);jb(a|0)}j=i;k=c+108|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(462,o|0,f[e>>2]|0);m=x;x=0;do if(m&1)d=Ya()|0;else{f[o>>2]=12372;x=0;Ga(462,p|0,0);m=x;x=0;if(m&1){d=Ya()|0;_P(o);break}f[p>>2]=7280;x=0;j=n;k=i;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ja(41,g|0,n|0,o|0,p|0);n=x;x=0;if(n&1)e=1;else{x=0;Ga(462,a|0,g|0);n=x;x=0;if(n&1)e=0;else{f[a>>2]=17144;_P(p);_P(o);d=f[a+4>>2]|0;x=0;Ia(123,r|0,c|0,0);p=x;x=0;if(p&1)d=Ya()|0;else{e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))s=30;else{x=0;Fa(429,e|0);p=x;x=0;if(!(p&1))s=30}if((s|0)==30){f[d>>2]=f[r+4>>2];x=0;Fa(430,e|0);s=x;x=0;if(!(s&1)){x=0;Ga(462,q|0,f[d>>2]|0);s=x;x=0;if(!(s&1)){f[q>>2]=7280;_P(q);_P(r);_P(v);u=t;return}}}d=Ya()|0;_P(r)}_P(a);a=d;_P(v);jb(a|0)}}d=Ya()|0;_P(p);_P(o);if(!e){a=d;_P(v);jb(a|0)}}while(0);Hta(g);a=d;_P(v);jb(a|0)}function Wj(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=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Hta(c);f[d>>2]=0;return}if(b>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);a=x;x=0;if(a&1){a=Ya()|0;bb(c|0);jb(a|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}q=VN(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)Hta(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;h=f[d>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[h>>2]|0;if(!d)return;else{g=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;d:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break d;h=h+12|0;do if(!(uy(k,112,192,0)|0)){h=f[h>>2]|0;j=h;r=26}else{i=f[h>>2]|0;if(!i){j=i;h=0;r=26}else{if(!(uy(i,112,192,0)|0)){j=i;h=i;r=26;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break d}}while(0);if((r|0)==26){r=0;if(!j)break d;if(!(xc[f[(f[k>>2]|0)+92>>2]&2047](k,h)|0))break d}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>>0)n=e;else n=(e>>>0)%(b>>>0)|0;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;e:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break e;h=h+12|0;do if(!(uy(k,112,192,0)|0)){h=f[h>>2]|0;i=h;r=44}else{j=f[h>>2]|0;if(!j){i=j;h=0;r=44;break}if(!(uy(j,112,192,0)|0)){i=j;h=j;r=44;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break e}while(0);if((r|0)==44){r=0;if(!i)break e;if(!(xc[f[(f[k>>2]|0)+92>>2]&2047](k,h)|0))break e}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}while(0);e=f[d>>2]|0;if(!e){r=51;break a}else{g=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){r=51;break}else g=d}if((r|0)==51)return}function Xj(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;n=0;h=u;u=u+176|0;l=h+160|0;o=h+16|0;j=h;c=Rg(c,d,a)|0;m=o+64|0;a=o+8|0;f[a>>2]=16496;k=o+12|0;f[o>>2]=2284;f[m>>2]=2304;f[o+4>>2]=0;x=0;Ga(531,o+64|0,k|0);i=x;x=0;if(i&1){o=Ya()|0;uma(m);jb(o|0)}f[o+136>>2]=0;f[o+140>>2]=-1;f[o>>2]=16476;f[m>>2]=16516;f[a>>2]=16496;x=0;Fa(437,k|0);i=x;x=0;do if(i&1)a=Ya()|0;else{f[k>>2]=16336;i=o+44|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[o+60>>2]=24;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;Ga(532,k|0,l|0);d=x;x=0;if(d&1){a=Ya()|0;if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(k);break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);d=o+8|0;q=c+72|0;a=b[q+11>>0]|0;p=a<<24>>24<0;x=0;a=ta(44,d|0,(p?f[q>>2]|0:q)|0,(p?f[c+76>>2]|0:a&255)|0)|0;p=x;x=0;if(p&1)n=30;else{x=0;a=ta(44,a|0,48507,3)|0;q=x;x=0;if(q&1)n=30;else{x=0;sa(993,a|0,e|0)|0;q=x;x=0;if(q&1)n=30;else{f[c+92>>2]=g;x=0;Ga(462,l|0,c|0);q=x;x=0;if(q&1)a=Ya()|0;else{f[l>>2]=6664;x=0;Ga(533,j|0,k|0);q=x;x=0;if(q&1)a=Ya()|0;else{x=0;a=sa(992,g|0,j|0)|0;q=x;x=0;do if(!(q&1)){if((a|0)!=(l|0)){c=a+4|0;if(f[c>>2]|0){x=0;Fa(429,a|0);q=x;x=0;if(q&1)break}q=l+4|0;f[c>>2]=f[q>>2];f[q>>2]=0}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);_P(l);f[o>>2]=16476;f[m>>2]=16516;f[d>>2]=16496;f[k>>2]=16336;if((b[i+11>>0]|0)>=0){Bca(k);KU(o,16528);uma(m);u=h;return}Hta(f[i>>2]|0);Bca(k);KU(o,16528);uma(m);u=h;return}while(0);a=Ya()|0;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0)}_P(l)}}}}if((n|0)==30)a=Ya()|0;f[o>>2]=16476;f[m>>2]=16516;f[d>>2]=16496;f[k>>2]=16336;if((b[i+11>>0]|0)>=0){Bca(k);KU(o,16528);uma(m);jb(a|0)}Hta(f[i>>2]|0);Bca(k);KU(o,16528);uma(m);jb(a|0)}while(0);KU(o,16528);q=a;uma(m);jb(q|0)}function Yj(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;p=0;q=u;u=u+80|0;m=q;s=q+48|0;r=q+40|0;n=a+56|0;o=a+60|0;d=f[o>>2]|0;if((d|0)==(f[n>>2]|0))d=0;else d=f[d+-4>>2]|0;tT(s,d,0);x=0;l=qa(318,88)|0;k=x;x=0;a:do if(!(k&1)){d=f[c+72>>2]|0;e=f[c+68>>2]|0;j=b[c+84>>0]|0;g=m;h=c+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,l|0);k=x;x=0;do if(k&1)d=Ya()|0;else{e=d-e>>3;g=l+12|0;h=m;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[l>>2]=6976;f[l+52>>2]=0;f[l+56>>2]=0;b[l+60>>0]=0;d=l+64|0;f[d>>2]=6936;i=l+68|0;k=l+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,e|0);h=x;x=0;if(h&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[k>>2]|0;if((g|0)!=(e|0)){do{r=g+-8|0;f[k>>2]=r;Kc[f[f[r>>2]>>2]&511](r);g=f[k>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[l>>2]=6780;f[d>>2]=6880;b[l+84>>0]=j;x=0;Ga(462,r|0,l|0);l=x;x=0;if(l&1)break a;f[r>>2]=7280;g=r+4|0;d=f[g>>2]|0;f[m>>2]=d;h=a+72|0;e=f[h>>2]|0;if(e>>>0<(f[a+76>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=(f[h>>2]|0)+4;p=16}else{x=0;Ga(655,a+68|0,m|0);l=x;x=0;if(l&1)d=Ya()|0;else p=16}do if((p|0)==16){f[m>>2]=s;d=f[o>>2]|0;if(d>>>0<(f[a+64>>2]|0)>>>0){f[d>>2]=s;f[o>>2]=(f[o>>2]|0)+4}else{x=0;Ga(646,n|0,m|0);p=x;x=0;if(p&1){d=Ya()|0;break}}x=0;Ga(656,a|0,c|0);p=x;x=0;if(p&1){d=Ya()|0;break}f[h>>2]=(f[h>>2]|0)+-4;f[o>>2]=(f[o>>2]|0)+-4;d=f[g>>2]|0;if(!d){p=0;_P(r);r=s+4|0;r=f[r>>2]|0;rE(s,r);u=q;return p|0}b[d+8>>0]=1;p=d;_P(r);r=s+4|0;r=f[r>>2]|0;rE(s,r);u=q;return p|0}while(0);_P(r);r=d;q=s+4|0;q=f[q>>2]|0;rE(s,q);jb(r|0)}while(0);Hta(l);r=d;q=s+4|0;q=f[q>>2]|0;rE(s,q);jb(r|0)}while(0);r=Ya()|0;q=s+4|0;q=f[q>>2]|0;rE(s,q);jb(r|0);return 0}function Zj(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=u;u=u+32|0;l=q+16|0;o=q+8|0;p=q;m=a+120|0;qV(l,f[m>>2]|0);f[l>>2]=7904;e=(f[l+4>>2]|0)==0;_P(l);n=c+120|0;qV(l,f[n>>2]|0);f[l>>2]=7904;d=(f[l+4>>2]|0)==0;_P(l);if(e&d){g=a+84|0;d=c+84|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+88>>2]|0:e;p=b[d+11>>0]|0;h=p<<24>>24<0;if((j|0)!=((h?f[c+88>>2]|0:p&255)|0)){c=0;u=q;return c|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;a:do if(i){if(!h)if(lO(l,d,j)|0){c=0;u=q;return c|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){c=0;u=q;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=q;return d|0}while(0);g=a+104|0;d=c+104|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+108>>2]|0:e;p=b[d+11>>0]|0;h=p<<24>>24<0;if((j|0)!=((h?f[c+108>>2]|0:p&255)|0)){c=0;u=q;return c|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;b:do if(i){if(!h)if(lO(l,d,j)|0){c=0;u=q;return c|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){c=0;u=q;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break b;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=q;return d|0}while(0);c=Xp(a,c)|0;u=q;return c|0}if(e^d){c=0;u=q;return c|0}g=a+84|0;d=c+84|0;e=b[g+11>>0]|0;k=e<<24>>24<0;e=e&255;l=k?f[a+88>>2]|0:e;j=b[d+11>>0]|0;h=j<<24>>24<0;if((l|0)!=((h?f[c+88>>2]|0:j&255)|0)){c=0;u=q;return c|0}i=f[g>>2]|0;j=k?i:g;d=h?f[d>>2]|0:d;h=(l|0)==0;c:do if(k){if(!h)if(lO(j,d,l)|0){c=0;u=q;return c|0}}else if(!h){if((b[d>>0]|0)!=(i&255)<<24>>24){c=0;u=q;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break c;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=q;return d|0}while(0);g=a+104|0;d=c+104|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[a+108>>2]|0:e;l=b[d+11>>0]|0;h=l<<24>>24<0;if((j|0)!=((h?f[c+108>>2]|0:l&255)|0)){c=0;u=q;return c|0}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;d:do if(i){if(!h)if(lO(l,d,j)|0){c=0;u=q;return c|0}}else if(!h){if((b[d>>0]|0)!=(k&255)<<24>>24){c=0;u=q;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break d;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=q;return d|0}while(0);if(!(Xp(a,c)|0)){c=0;u=q;return c|0}qV(o,f[m>>2]|0);f[o>>2]=7904;d=f[o+4>>2]|0;e=f[(f[d>>2]|0)+92>>2]|0;x=0;Ga(462,p|0,f[n>>2]|0);c=x;x=0;if(c&1){q=Ya()|0;_P(o);jb(q|0)}f[p>>2]=7904;x=0;d=sa(e|0,d|0,f[p+4>>2]|0)|0;c=x;x=0;if(c&1){q=Ya()|0;_P(p);_P(o);jb(q|0)}else{_P(p);_P(o);c=d;u=q;return c|0}return 0}function _j(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=0;k=a+4|0;j=f[b>>2]|0;b=j;do if((j|0)!=(k|0)){l=e+4|0;h=f[l>>2]|0;g=j+20|0;if(!h)m=31;else{i=f[g>>2]|0;if(i|0)if(xc[f[(f[h>>2]|0)+160>>2]&2047](h,i)|0)break;else m=31}if((m|0)==31){g=f[g>>2]|0;if(g|0){h=f[l>>2]|0;if(h|0)if(xc[f[(f[g>>2]|0)+160>>2]&2047](g,h)|0){g=f[j+4>>2]|0;if(!g){i=j+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(j|0))do{e=f[i>>2]|0;i=e+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(e|0))}else{h=g;while(1){i=f[h>>2]|0;if(!i)break;else h=i}}do if((h|0)!=(k|0)){g=f[l>>2]|0;if(g|0){i=f[h+20>>2]|0;if(i|0)if(xc[f[(f[g>>2]|0)+160>>2]&2047](g,i)|0){g=f[j+4>>2]|0;break}}b=f[k>>2]|0;if(!b){f[c>>2]=k;m=k;return m|0}h=a+4|0;while(1){i=f[l>>2]|0;g=b+20|0;if(!i)m=55;else{d=f[g>>2]|0;if(!d){m=60;break}if(xc[f[(f[i>>2]|0)+160>>2]&2047](i,d)|0){g=f[b>>2]|0;if(!g){m=54;break}else{h=b;b=g}}else m=55}if((m|0)==55){m=0;g=f[g>>2]|0;if(!g){m=60;break}i=f[l>>2]|0;if(!i){m=60;break}if(!(xc[f[(f[g>>2]|0)+160>>2]&2047](g,i)|0)){m=60;break}g=b+4|0;i=f[g>>2]|0;if(!i){m=59;break}else{h=g;b=i}}}if((m|0)==54){f[c>>2]=b;m=b;return m|0}else if((m|0)==59){f[c>>2]=b;m=g;return m|0}else if((m|0)==60){f[c>>2]=b;m=h;return m|0}}while(0);if(!g){f[c>>2]=b;m=j+4|0;return m|0}else{f[c>>2]=h;m=h;return m|0}}}}f[c>>2]=b;f[d>>2]=b;m=d;return m|0}while(0);do if((f[a>>2]|0)!=(j|0)){b=f[j>>2]|0;if(!b){b=j;while(1){g=f[b+8>>2]|0;if((f[g>>2]|0)==(b|0))b=g;else break}}else while(1){g=f[b+4>>2]|0;if(!g){g=b;break}else b=g}b=g;g=f[g+20>>2]|0;if(g|0){h=f[e+4>>2]|0;if(h|0)if(xc[f[(f[g>>2]|0)+160>>2]&2047](g,h)|0)break}b=f[k>>2]|0;if(!b){f[c>>2]=k;m=k;return m|0}e=e+4|0;h=a+4|0;while(1){i=f[e>>2]|0;g=b+20|0;if(!i)m=24;else{d=f[g>>2]|0;if(!d){m=29;break}if(xc[f[(f[i>>2]|0)+160>>2]&2047](i,d)|0){g=f[b>>2]|0;if(!g){m=23;break}else{h=b;b=g}}else m=24}if((m|0)==24){m=0;g=f[g>>2]|0;if(!g){m=29;break}i=f[e>>2]|0;if(!i){m=29;break}if(!(xc[f[(f[g>>2]|0)+160>>2]&2047](g,i)|0)){m=29;break}g=b+4|0;i=f[g>>2]|0;if(!i){m=28;break}else{h=g;b=i}}}if((m|0)==23){f[c>>2]=b;m=b;return m|0}else if((m|0)==28){f[c>>2]=b;m=g;return m|0}else if((m|0)==29){f[c>>2]=b;m=h;return m|0}}while(0);if(!(f[j>>2]|0)){f[c>>2]=j;m=j;return m|0}else{f[c>>2]=b;m=b+4|0;return m|0}return 0}function $j(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=0;k=a+4|0;j=f[b>>2]|0;b=j;do if((j|0)!=(k|0)){l=e+4|0;h=f[l>>2]|0;g=j+20|0;if(!h)m=31;else{i=f[g>>2]|0;if(i|0)if(xc[f[(f[h>>2]|0)+156>>2]&2047](h,i)|0)break;else m=31}if((m|0)==31){g=f[g>>2]|0;if(g|0){h=f[l>>2]|0;if(h|0)if(xc[f[(f[g>>2]|0)+156>>2]&2047](g,h)|0){g=f[j+4>>2]|0;if(!g){i=j+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(j|0))do{e=f[i>>2]|0;i=e+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(e|0))}else{h=g;while(1){i=f[h>>2]|0;if(!i)break;else h=i}}do if((h|0)!=(k|0)){g=f[l>>2]|0;if(g|0){i=f[h+20>>2]|0;if(i|0)if(xc[f[(f[g>>2]|0)+156>>2]&2047](g,i)|0){g=f[j+4>>2]|0;break}}b=f[k>>2]|0;if(!b){f[c>>2]=k;m=k;return m|0}h=a+4|0;while(1){i=f[l>>2]|0;g=b+20|0;if(!i)m=55;else{d=f[g>>2]|0;if(!d){m=60;break}if(xc[f[(f[i>>2]|0)+156>>2]&2047](i,d)|0){g=f[b>>2]|0;if(!g){m=54;break}else{h=b;b=g}}else m=55}if((m|0)==55){m=0;g=f[g>>2]|0;if(!g){m=60;break}i=f[l>>2]|0;if(!i){m=60;break}if(!(xc[f[(f[g>>2]|0)+156>>2]&2047](g,i)|0)){m=60;break}g=b+4|0;i=f[g>>2]|0;if(!i){m=59;break}else{h=g;b=i}}}if((m|0)==54){f[c>>2]=b;m=b;return m|0}else if((m|0)==59){f[c>>2]=b;m=g;return m|0}else if((m|0)==60){f[c>>2]=b;m=h;return m|0}}while(0);if(!g){f[c>>2]=b;m=j+4|0;return m|0}else{f[c>>2]=h;m=h;return m|0}}}}f[c>>2]=b;f[d>>2]=b;m=d;return m|0}while(0);do if((f[a>>2]|0)!=(j|0)){b=f[j>>2]|0;if(!b){b=j;while(1){g=f[b+8>>2]|0;if((f[g>>2]|0)==(b|0))b=g;else break}}else while(1){g=f[b+4>>2]|0;if(!g){g=b;break}else b=g}b=g;g=f[g+20>>2]|0;if(g|0){h=f[e+4>>2]|0;if(h|0)if(xc[f[(f[g>>2]|0)+156>>2]&2047](g,h)|0)break}b=f[k>>2]|0;if(!b){f[c>>2]=k;m=k;return m|0}e=e+4|0;h=a+4|0;while(1){i=f[e>>2]|0;g=b+20|0;if(!i)m=24;else{d=f[g>>2]|0;if(!d){m=29;break}if(xc[f[(f[i>>2]|0)+156>>2]&2047](i,d)|0){g=f[b>>2]|0;if(!g){m=23;break}else{h=b;b=g}}else m=24}if((m|0)==24){m=0;g=f[g>>2]|0;if(!g){m=29;break}i=f[e>>2]|0;if(!i){m=29;break}if(!(xc[f[(f[g>>2]|0)+156>>2]&2047](g,i)|0)){m=29;break}g=b+4|0;i=f[g>>2]|0;if(!i){m=28;break}else{h=g;b=i}}}if((m|0)==23){f[c>>2]=b;m=b;return m|0}else if((m|0)==28){f[c>>2]=b;m=g;return m|0}else if((m|0)==29){f[c>>2]=b;m=h;return m|0}}while(0);if(!(f[j>>2]|0)){f[c>>2]=j;m=j;return m|0}else{f[c>>2]=b;m=b+4|0;return m|0}return 0}function ak(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=0;p=u;u=u+144|0;i=p+104|0;c=p+96|0;d=p+80|0;q=p+88|0;h=p+40|0;k=p+32|0;l=p+24|0;m=p+16|0;n=p+8|0;o=p;g=b+68|0;qV(c,f[g>>2]|0);f[c>>2]=7280;if(!(f[c+4>>2]|0))_P(c);else{x=0;Ga(462,d|0,f[g>>2]|0);j=x;x=0;if(j&1){r=Ya()|0;_P(c);jb(r|0)}f[d>>2]=7280;j=f[d+4>>2]|0;j=(f[j+72>>2]|0)==(f[j+68>>2]|0);_P(d);_P(c);if(!j){j=VN(80)|0;c=h;d=b+12|0;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));c=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,l|0,f[g>>2]|0);g=x;x=0;do if(g&1){c=Ya()|0;r=23}else{f[l>>2]=7280;x=0;c=sa(c|0,a|0,f[l+4>>2]|0)|0;g=x;x=0;if(!(g&1)){x=0;Ga(462,k|0,c|0);g=x;x=0;if(!(g&1)){f[k>>2]=7280;x=0;c=i;d=h;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Ia(135,j|0,i|0,k|0);h=x;x=0;if(h&1)d=1;else{x=0;Ga(462,q|0,j|0);h=x;x=0;if(h&1)d=0;else{f[q>>2]=18016;_P(k);_P(l);c=b+76|0;x=0;Ga(462,i|0,f[c>>2]|0);l=x;x=0;a:do if(l&1)c=Ya()|0;else{f[i>>2]=7168;l=(f[i+4>>2]|0)==0;_P(i);g=q+4|0;b:do if(l)r=27;else{d=f[g>>2]|0;x=0;Ga(462,n|0,f[c>>2]|0);l=x;x=0;if(!(l&1)){f[n>>2]=7168;e=d+72|0;c=d+76|0;if(!(f[c>>2]|0))r=17;else{x=0;Fa(429,e|0);l=x;x=0;if(!(l&1))r=17}do if((r|0)==17){f[c>>2]=f[n+4>>2];x=0;Fa(430,e|0);l=x;x=0;if(!(l&1)){x=0;Ga(462,m|0,f[c>>2]|0);l=x;x=0;if(l&1)break;f[m>>2]=7168;_P(m);_P(n);r=27;break b}}while(0);c=Ya()|0;_P(n);break a}}while(0);if((r|0)==27){x=0;Ga(462,o|0,f[(f[g>>2]|0)+68>>2]|0);n=x;x=0;if(!(n&1)){f[o>>2]=7280;x=0;c=ta(158,a|0,f[o+4>>2]|0,f[g>>2]|0)|0;n=x;x=0;if(n&1){c=Ya()|0;_P(o);break}_P(o);_P(q);r=c;u=p;return r|0}}c=Ya()|0}while(0);_P(q);break}}c=Ya()|0;_P(k);_P(l);if(d){r=23;break}else break}}c=Ya()|0;_P(l);r=23}while(0);if((r|0)==23)Hta(j);r=c;jb(r|0)}}r=b;u=p;return r|0}function bk(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=u;u=u+64|0;p=o+40|0;j=o+28|0;q=o+16|0;l=o+8|0;m=o;n=a+4|0;wv(n);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;e=p+11|0;b[e>>0]=5;b[p>>0]=b[49921]|0;b[p+1>>0]=b[49922]|0;b[p+2>>0]=b[49923]|0;b[p+3>>0]=b[49924]|0;b[p+4>>0]=b[49925]|0;b[p+5>>0]=0;x=0;Ia(147,n|0,p|0,c|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[p>>2]|0);q=d;jb(q|0)}if((b[e>>0]|0)<0)Hta(f[p>>2]|0);boa(n);k=c+72|0;hz(j,k);x=0;Ga(682,n|0,f[j>>2]|0);i=x;x=0;if(i&1){i=Ya()|0;g=I;d=f[j>>2]|0;if(!d){q=i;jb(q|0)}h=j+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d);q=i;jb(q|0)}d=f[j>>2]|0;if(d|0){g=j+4|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[j>>2]|0}Hta(d)}hz(p,k);h=p+4|0;e=f[h>>2]|0;d=f[p>>2]|0;j=(e-d|0)/12|0;g=d;if(d|0){if((e|0)!=(g|0)){d=e;do{d=d+-12|0;f[h>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[h>>2]|0}}while((d|0)!=(g|0));d=f[p>>2]|0}Hta(d)}a:do if(j>>>0>1){i=q+4|0;g=1;while(1){wz(n);hz(q,k);x=0;Ga(682,n|0,(f[q>>2]|0)+(g*12|0)|0);h=x;x=0;if(h&1)break;d=f[q>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[i>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}}while((e|0)!=(d|0));d=f[q>>2]|0}Hta(d)}g=g+1|0;if(g>>>0>=j>>>0)break a}h=Ya()|0;g=I;d=f[q>>2]|0;if(!d){q=h;jb(q|0)}e=f[i>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[i>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}}while((e|0)!=(d|0));d=f[q>>2]|0}Hta(d);q=h;jb(q|0)}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;e=p+11|0;b[e>>0]=4;f[p>>2]=544106784;b[p+4>>0]=0;x=0;Ga(682,n|0,p|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[p>>2]|0);q=d;jb(q|0)}if((b[e>>0]|0)<0)Hta(f[p>>2]|0);qV(l,f[c+88>>2]|0);f[l>>2]=7696;q=f[l+4>>2]|0;x=0;Ga(f[(f[q>>2]|0)+44>>2]|0,q|0,a|0);q=x;x=0;if(q&1){q=Ya()|0;_P(l);jb(q|0)}_P(l);qV(m,f[c+68>>2]|0);f[m>>2]=7280;q=f[m+4>>2]|0;x=0;Ga(f[(f[q>>2]|0)+44>>2]|0,q|0,a|0);q=x;x=0;if(!(q&1)){_P(m);u=o;return}q=Ya()|0;_P(m);jb(q|0)}function ck(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.0,r=0,s=0,t=0,v=0;m=0;t=u;u=u+128|0;s=t+88|0;p=t+36|0;c=t+48|0;n=t+24|0;r=t+12|0;v=t;f[p+8>>2]=0;o=p+11|0;b[o>>0]=7;b[p>>0]=b[39749]|0;b[p+1>>0]=b[39750]|0;b[p+2>>0]=b[39751]|0;b[p+3>>0]=b[39752]|0;b[p+4>>0]=b[39753]|0;b[p+5>>0]=b[39754]|0;b[p+6>>0]=b[39755]|0;b[p+7>>0]=0;j=c;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,n|0,h|0);l=x;x=0;do if(l&1){c=Za(0)|0;m=25}else{x=0;j=s;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));k=wa(27,p|0,a|0,e|0,s|0,n|0)|0;e=x;x=0;if(e&1){c=Za(0)|0;d=f[n>>2]|0;if(!d){m=25;break}k=n+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d);m=25;break}c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[p>>2]|0);d=k+64|0;c=b[d+11>>0]|0;if(c<<24>>24<0)c=f[k+68>>2]|0;else c=c&255;x=0;c=ta(49,d|0,0,c|0)|0;p=x;x=0;if(p&1){c=Za(0)|0;m=29;break}else{q=+(c>>>0);break}}while(0);if((m|0)==25){if((b[o>>0]|0)<0)Hta(f[p>>2]|0);m=29}a:do if((m|0)==29){Ua(c|0)|0;x=0;Ga(511,r|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;Ga(564,g|0,r|0);h=x;x=0;if(h&1){c=Ya()|0;k=I;d=f[r>>2]|0;if(!d)break;l=r+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d);break}c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}Wa();q=4294967295.0;break a}while(0);x=0;Ea(4);r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}else{g=c;jb(g|0)}}while(0);d=VN(104)|0;i=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;x=0;j=s;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ha(1,d|0,s|0,+q,v|0,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[v>>2]|0);Hta(d);g=c;jb(g|0)}else{if((b[i>>0]|0)>=0){u=t;return d|0}Hta(f[v>>2]|0);u=t;return d|0}return 0}function dk(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;j=0;l=u;u=u+64|0;n=l+32|0;m=l+24|0;g=l+16|0;h=l+8|0;i=l;d=a+56|0;k=a+60|0;c=f[k>>2]|0;if((c|0)==(f[d>>2]|0))c=0;else c=f[c+-4>>2]|0;tT(n,c,1);f[m>>2]=n;c=f[k>>2]|0;if(c>>>0<(f[a+64>>2]|0)>>>0){f[c>>2]=n;f[k>>2]=(f[k>>2]|0)+4}else{x=0;Ga(646,d|0,m|0);e=x;x=0;if(e&1){m=Ya()|0;l=n+4|0;l=f[l>>2]|0;rE(n,l);jb(m|0)}}c=a+80|0;x=0;Ga(462,m|0,b|0);e=x;x=0;do if(e&1)c=Ya()|0;else{f[m>>2]=6664;e=a+84|0;d=f[e>>2]|0;if(d>>>0<(f[a+88>>2]|0)>>>0){x=0;Ga(462,d|0,f[m+4>>2]|0);c=x;x=0;if(c&1)j=21;else{f[d>>2]=6664;f[e>>2]=(f[e>>2]|0)+8}}else{x=0;Ga(657,c|0,m|0);d=x;x=0;if(d&1)j=21}if((j|0)==21){c=Ya()|0;_P(m);break}_P(m);x=0;Ga(462,g|0,f[b+76>>2]|0);d=x;x=0;do if(d&1)c=Ya()|0;else{f[g>>2]=7696;c=f[g+4>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,a+12|0)|0;d=x;x=0;if(!(d&1)){x=0;Ga(462,m|0,c|0);d=x;x=0;if(!(d&1)){f[m>>2]=7696;_P(g);c=f[m+4>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+76>>2]|0,c|0)|0;g=x;x=0;a:do if(g&1)j=25;else{do if(c){x=0;Ga(462,h|0,f[b+68>>2]|0);i=x;x=0;if(i&1){j=25;break a}f[h>>2]=7280;x=0;Ga(656,a|0,f[h+4>>2]|0);i=x;x=0;if(i&1){c=Ya()|0;_P(h);break a}else{_P(h);break}}else{x=0;Ga(462,i|0,f[b+84>>2]|0);h=x;x=0;if(!(h&1)){f[i>>2]=7280;c=f[i+4>>2]|0;_P(i);if(!c)break;x=0;Ga(656,a|0,c|0);i=x;x=0;if(!(i&1))break}c=Ya()|0;break a}while(0);d=f[e>>2]|0;c=d+-8|0;do{j=d+-8|0;f[e>>2]=j;Kc[f[f[j>>2]>>2]&511](j);d=f[e>>2]|0}while((d|0)!=(c|0));f[k>>2]=(f[k>>2]|0)+-4;_P(m);rE(n,f[n+4>>2]|0);u=l;return 0}while(0);if((j|0)==25)c=Ya()|0;_P(m);break}}c=Ya()|0;_P(g)}while(0);m=c;l=n+4|0;l=f[l>>2]|0;rE(n,l);jb(m|0)}while(0);m=c;l=n+4|0;l=f[l>>2]|0;rE(n,l);jb(m|0);return 0}function ek(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=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Hta(c);f[d>>2]=0;return}if(b>>>0>1073741823){c=Ta(8)|0;x=0;Ga(461,c|0,60050);a=x;x=0;if(a&1){a=Ya()|0;bb(c|0);jb(a|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}q=VN(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)Hta(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;h=f[d>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[h>>2]|0;if(!d)return;else{g=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;d:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break d;h=h+12|0;do if(!(uy(k,80,192,-2)|0)){h=f[h>>2]|0;j=h;r=26}else{i=f[h>>2]|0;if(!i){j=i;h=0;r=26}else{if(!(uy(i,80,192,-2)|0)){j=i;h=i;r=26;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break d}}while(0);if((r|0)==26){r=0;if(!j)break d;if(!(xc[f[(f[k>>2]|0)+160>>2]&2047](k,h)|0))break d}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>>0)n=e;else n=(e>>>0)%(b>>>0)|0;if((n|0)==(c|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){c=n;break b}m=d+12|0;h=f[d>>2]|0;e:do if(!h)e=d;else{e=d;l=d;while(1){k=f[m>>2]|0;if(!k)break e;h=h+12|0;do if(!(uy(k,80,192,-2)|0)){h=f[h>>2]|0;i=h;r=44}else{j=f[h>>2]|0;if(!j){i=j;h=0;r=44;break}if(!(uy(j,80,192,-2)|0)){i=j;h=j;r=44;break}j=vc[f[(f[k>>2]|0)+8>>2]&511](k)|0;k=f[h>>2]|0;if((j|0)!=(vc[f[(f[k>>2]|0)+8>>2]&511](k)|0))break e}while(0);if((r|0)==44){r=0;if(!i)break e;if(!(xc[f[(f[k>>2]|0)+160>>2]&2047](k,h)|0))break e}l=f[l>>2]|0;h=f[l>>2]|0;if(!h){e=l;break}else e=l}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[g>>2]|0;if(!d){r=51;break a}}}while(0);e=f[d>>2]|0;if(!e){r=51;break a}else{g=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){r=51;break}else g=d}if((r|0)==51)return}function fk(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,t=0,v=0,w=0,y=0;y=0;r=u;u=u+576|0;n=r+424|0;q=r;a=r+24|0;t=r+16|0;p=r+12|0;s=r+8|0;m=r+564|0;j=r+4|0;o=r+464|0;f[t>>2]=a;w=t+4|0;f[w>>2]=471;k=a+400|0;x=0;Ga(536,s|0,g|0);l=x;x=0;if(l&1){j=Ya()|0;f[t>>2]=0;k=471;y=54}else{x=0;l=sa(994,s|0,83352)|0;a=x;x=0;if(a&1)j=Ya()|0;else{b[m>>0]=0;f[j>>2]=f[d>>2];a=f[g+4>>2]|0;x=0;f[n>>2]=f[j>>2];a=Ca(2,c|0,n|0,e|0,s|0,a|0,h|0,m|0,l|0,t|0,p|0,k|0)|0;g=x;x=0;a:do if(g&1)y=11;else{b:do if(a){x=0;ua(f[(f[l>>2]|0)+48>>2]|0,l|0,59155,59165,n|0)|0;g=x;x=0;if(g&1)a=Ya()|0;else{k=f[p>>2]|0;e=f[t>>2]|0;a=k-e|0;if((a|0)>392){a=Rd((a>>>2)+2|0)|0;j=a;if(!a){x=0;Ea(6);x=0}else y=16}else{a=o;j=0;y=16}do if((y|0)==16){if(b[m>>0]|0){b[a>>0]=45;a=a+1|0}g=n+40|0;m=n;while(1){if(e>>>0>=k>>>0)break;l=f[e>>2]|0;k=n;while(1){if((k|0)==(g|0)){k=g;break}if((f[k>>2]|0)==(l|0))break;k=k+4|0}b[a>>0]=b[59155+(k-m>>2)>>0]|0;e=e+4|0;a=a+1|0;k=f[p>>2]|0}b[a>>0]=0;f[q>>2]=i;if((ZV(o,59040,q)|0)!=1){x=0;Fa(472,59044);x=0;break}if(j|0)$h(j);break b}while(0);a=Ya()|0;if(j|0)$h(j)}break a}while(0);a=f[c>>2]|0;do if(!a)k=1;else{j=f[a+12>>2]|0;if((j|0)==(f[a+16>>2]|0)){x=0;a=qa(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;i=x;x=0;if(i&1){y=11;break a}}else a=mra(f[j>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;k=1;break}else{k=(f[c>>2]|0)==0;break}}while(0);j=f[d>>2]|0;do if(!j)y=44;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;i=x;x=0;if(i&1){y=11;break a}}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;y=44;break}else if(k)break;else{y=46;break}}while(0);if((y|0)==44)if(k)y=46;if((y|0)==46)f[h>>2]=f[h>>2]|2;j=f[c>>2]|0;uga(s);a=f[t>>2]|0;f[t>>2]=0;if(a|0){x=0;Fa(f[w>>2]|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}}u=r;return j|0}while(0);if((y|0)==11)a=Ya()|0;j=a}uga(s);a=f[t>>2]|0;f[t>>2]=0;if(!a)v=j;else{k=f[w>>2]|0;y=54}}if((y|0)==54){x=0;Fa(k|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else v=j}jb(v|0);return 0}function gk(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,t=0,v=0,w=0,y=0;y=0;r=u;u=u+240|0;n=r+24|0;q=r;a=r+140|0;t=r+16|0;p=r+12|0;s=r+8|0;m=r+136|0;j=r+4|0;o=r+36|0;f[t>>2]=a;w=t+4|0;f[w>>2]=471;k=a+100|0;x=0;Ga(536,s|0,g|0);l=x;x=0;if(l&1){j=Ya()|0;f[t>>2]=0;k=471;y=54}else{x=0;l=sa(994,s|0,83320)|0;a=x;x=0;if(a&1)j=Ya()|0;else{b[m>>0]=0;f[j>>2]=f[d>>2];a=f[g+4>>2]|0;x=0;f[n>>2]=f[j>>2];a=Ca(1,c|0,n|0,e|0,s|0,a|0,h|0,m|0,l|0,t|0,p|0,k|0)|0;g=x;x=0;a:do if(g&1)y=11;else{b:do if(a){x=0;ua(f[(f[l>>2]|0)+32>>2]|0,l|0,59029,59039,n|0)|0;g=x;x=0;if(g&1)a=Ya()|0;else{k=f[p>>2]|0;e=f[t>>2]|0;a=k-e|0;if((a|0)>98){a=Rd(a+2|0)|0;j=a;if(!a){x=0;Ea(6);x=0}else y=16}else{a=o;j=0;y=16}do if((y|0)==16){if(b[m>>0]|0){b[a>>0]=45;a=a+1|0}g=n+10|0;m=n;while(1){if(e>>>0>=k>>>0)break;l=b[e>>0]|0;k=n;while(1){if((k|0)==(g|0)){k=g;break}if((b[k>>0]|0)==l<<24>>24)break;k=k+1|0}b[a>>0]=b[59029+(k-m)>>0]|0;e=e+1|0;a=a+1|0;k=f[p>>2]|0}b[a>>0]=0;f[q>>2]=i;if((ZV(o,59040,q)|0)!=1){x=0;Fa(472,59044);x=0;break}if(j|0)$h(j);break b}while(0);a=Ya()|0;if(j|0)$h(j)}break a}while(0);a=f[c>>2]|0;do if(!a)k=1;else{j=f[a+12>>2]|0;if((j|0)==(f[a+16>>2]|0)){x=0;a=qa(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;i=x;x=0;if(i&1){y=11;break a}}else a=mqa(b[j>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;k=1;break}else{k=(f[c>>2]|0)==0;break}}while(0);a=f[d>>2]|0;do if(!a)y=44;else{j=f[a+12>>2]|0;if((j|0)==(f[a+16>>2]|0)){x=0;a=qa(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;i=x;x=0;if(i&1){y=11;break a}}else a=mqa(b[j>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;y=44;break}else if(k)break;else{y=46;break}}while(0);if((y|0)==44)if(k)y=46;if((y|0)==46)f[h>>2]=f[h>>2]|2;j=f[c>>2]|0;uga(s);a=f[t>>2]|0;f[t>>2]=0;if(a|0){x=0;Fa(f[w>>2]|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}}u=r;return j|0}while(0);if((y|0)==11)a=Ya()|0;j=a}uga(s);a=f[t>>2]|0;f[t>>2]=0;if(!a)v=j;else{k=f[w>>2]|0;y=54}}if((y|0)==54){x=0;Fa(k|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else v=j}jb(v|0);return 0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0;t=0;m=b+4|0;b=f[m>>2]|0;if(!b)b=0;else b=vc[f[(f[b>>2]|0)+8>>2]&511](b)|0;q=a+4|0;o=f[q>>2]|0;p=(o|0)==0;a:do if(p)r=0;else{j=o+-1|0;d=(j&o|0)==0;if(d)k=j&b;else if(b>>>0>>0)k=b;else k=(b>>>0)%(o>>>0)|0;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c)r=k;else{c=f[c>>2]|0;if(!c)r=k;else{if(d){b:while(1){i=f[c+4>>2]|0;if(!((i|0)==(b|0)|(i&j|0)==(k|0))){r=k;break a}h=f[c+12>>2]|0;do if(h|0){if(!(uy(h,112,192,0)|0)){d=f[m>>2]|0;i=d}else{d=f[m>>2]|0;if(!d){i=d;d=0}else if(!(uy(d,112,192,0)|0))i=d;else{h=vc[f[(f[h>>2]|0)+8>>2]&511](h)|0;i=f[m>>2]|0;if((h|0)==(vc[f[(f[i>>2]|0)+8>>2]&511](i)|0)){t=56;break b}else break}}if(i|0)if(xc[f[(f[h>>2]|0)+92>>2]&2047](h,d)|0){t=56;break b}}while(0);c=f[c>>2]|0;if(!c){r=k;break a}}if((t|0)==56){a=c+16|0;return a|0}}else l=c;c:while(1){c=f[l+4>>2]|0;if((c|0)!=(b|0)){if(c>>>0>=o>>>0)c=(c>>>0)%(o>>>0)|0;if((c|0)!=(k|0)){r=k;break a}}d=f[l+12>>2]|0;do if(d|0){if(!(uy(d,112,192,0)|0)){c=f[m>>2]|0;h=c}else{c=f[m>>2]|0;if(!c){h=c;c=0}else if(!(uy(c,112,192,0)|0))h=c;else{i=vc[f[(f[d>>2]|0)+8>>2]&511](d)|0;j=f[m>>2]|0;if((i|0)==(vc[f[(f[j>>2]|0)+8>>2]&511](j)|0)){c=l;t=56;break c}else break}}if(h|0)if(xc[f[(f[d>>2]|0)+92>>2]&2047](d,c)|0){c=l;t=56;break c}}while(0);l=f[l>>2]|0;if(!l){r=k;break a}}if((t|0)==56){a=c+16|0;return a|0}}}}while(0);j=VN(24)|0;d=j+8|0;x=0;Ga(462,d|0,f[m>>2]|0);m=x;x=0;if(m&1){a=Ya()|0;Hta(j);jb(a|0)}f[d>>2]=7696;c=j+16|0;x=0;Ga(462,c|0,0);m=x;x=0;if(m&1){a=Ya()|0;_P(d);Hta(j);jb(a|0)}f[c>>2]=7696;f[j+4>>2]=b;f[j>>2]=0;i=a+12|0;e=+(((f[i>>2]|0)+1|0)>>>0);g=+n[a+16>>2];do if(p|g*+(o>>>0)>>0<3|(o+-1&o|0)!=0)&1;p=~~+W(+(e/g))>>>0;x=0;Ga(480,a|0,(r>>>0

>>0?p:r)|0);r=x;x=0;if(r&1){a=Ya()|0;_P(c);_P(d);Hta(j);jb(a|0)}c=f[q>>2]|0;d=c+-1|0;if(!(d&c)){h=c;b=d&b;break}if(b>>>0>>0)h=c;else{h=c;b=(b>>>0)%(c>>>0)|0}}else{h=o;b=r}while(0);b=(f[a>>2]|0)+(b<<2)|0;c=f[b>>2]|0;if(!c){r=a+8|0;f[j>>2]=f[r>>2];f[r>>2]=j;f[b>>2]=r;b=f[j>>2]|0;if(b|0){b=f[b+4>>2]|0;c=h+-1|0;if(!(c&h))b=b&c;else if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;s=(f[a>>2]|0)+(b<<2)|0;t=54}}else{f[j>>2]=f[c>>2];s=c;t=54}if((t|0)==54)f[s>>2]=j;f[i>>2]=(f[i>>2]|0)+1;a=j;a=a+16|0;return a|0}function ik(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,v=0,w=0;k=0;t=u;u=u+64|0;v=t+48|0;n=t+40|0;o=t+32|0;p=t+24|0;q=t+16|0;s=t+8|0;r=t;j=a+4|0;d=f[j>>2]|0;h=(b[d+54>>0]|0)==0;i=a+18|0;do if(b[i>>0]|0){qV(v,0);f[v>>2]=7168;e=d+96|0;g=f[e>>2]|0;if(g>>>0<(f[d+100>>2]|0)>>>0){x=0;Ga(462,g|0,f[v+4>>2]|0);m=x;x=0;if(!(m&1)){f[g>>2]=7168;f[e>>2]=(f[e>>2]|0)+8;k=6}}else{x=0;Ga(651,d+92|0,v|0);m=x;x=0;if(!(m&1))k=6}if((k|0)==6){_P(v);d=f[j>>2]|0;break}t=Ya()|0;_P(v);v=t;jb(v|0)}while(0);qV(v,cd(c,d+92|0,f[a+12>>2]|0,h)|0);f[v>>2]=7168;if(b[i>>0]|0){d=(f[j>>2]|0)+96|0;g=f[d>>2]|0;e=g+-8|0;do{m=g+-8|0;f[d>>2]=m;Kc[f[f[m>>2]>>2]&511](m);g=f[d>>2]|0}while((g|0)!=(e|0))}h=v+4|0;d=f[h>>2]|0;a:do if((f[d+80>>2]|0)!=(f[d+76>>2]|0)){i=n+4|0;j=o+4|0;k=r+4|0;l=s+4|0;m=q+4|0;c=0;b:while(1){d=d+72|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,c|0)|0;g=x;x=0;if(g&1){k=29;break}x=0;Ga(652,n|0,f[d+4>>2]|0);g=x;x=0;if(g&1){k=29;break}d=f[i>>2]|0;_P(n);if(d|0)do{g=d+80|0;x=0;Ga(462,o|0,f[g>>2]|0);e=x;x=0;if(e&1){k=29;break b}f[o>>2]=15572;e=(f[j>>2]|0)==0;_P(o);if(!e){e=f[(f[a>>2]|0)+268>>2]|0;x=0;Ga(462,s|0,f[g>>2]|0);w=x;x=0;if(w&1){k=29;break b}f[s>>2]=15572;x=0;e=sa(e|0,a|0,f[l>>2]|0)|0;w=x;x=0;if(w&1){k=30;break b}x=0;Ga(462,q|0,e|0);w=x;x=0;if(w&1){k=30;break b}f[q>>2]=15572;f[d+68>>2]=0;e=d+76|0;if(f[g>>2]|0){x=0;Fa(429,e|0);w=x;x=0;if(w&1){k=31;break b}}f[g>>2]=f[m>>2];x=0;Fa(430,e|0);w=x;x=0;if(w&1){k=31;break b}x=0;Ga(462,p|0,f[g>>2]|0);w=x;x=0;if(w&1){k=31;break b}f[p>>2]=15572;_P(p);_P(q);_P(s)}x=0;Ga(462,r|0,f[d+88>>2]|0);w=x;x=0;if(w&1){k=29;break b}f[r>>2]=15556;d=f[k>>2]|0;_P(r)}while((d|0)!=0);c=c+1|0;d=f[h>>2]|0;if(c>>>0>=(f[d+80>>2]|0)-(f[d+76>>2]|0)>>3>>>0)break a}if((k|0)==29)d=Ya()|0;else if((k|0)==30){d=Ya()|0;k=32}else if((k|0)==31){d=Ya()|0;_P(q);k=32}if((k|0)==32)_P(s);_P(v);w=d;jb(w|0)}while(0);if(!d){w=0;_P(v);u=t;return w|0}b[d+8>>0]=1;w=d;_P(v);u=t;return w|0}function jk(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;q=0;r=u;u=u+144|0;s=r+96|0;t=r+88|0;h=r+48|0;j=r+40|0;k=r+32|0;l=r+24|0;m=r+16|0;o=r+8|0;p=r;f[s>>2]=3;n=c+60|0;d=f[n>>2]|0;if(d>>>0<(f[c+64>>2]|0)>>>0){f[d>>2]=3;f[n>>2]=d+4}else SA(c+56|0,s);i=VN(80)|0;d=h;e=c+108|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Ga(462,j|0,0);g=x;x=0;do if(g&1)d=Ya()|0;else{f[j>>2]=7584;x=0;Ga(462,k|0,0);g=x;x=0;if(g&1){d=Ya()|0;_P(j);break}f[k>>2]=7280;x=0;d=s;e=h;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));Ja(39,i|0,s|0,j|0,k|0);h=x;x=0;if(h&1)e=1;else{x=0;Ga(462,t|0,i|0);h=x;x=0;if(h&1)e=0;else{f[t>>2]=17208;_P(k);_P(j);h=t+4|0;d=f[h>>2]|0;x=0;Ga(623,m|0,c|0);k=x;x=0;do if(k&1)d=Ya()|0;else{e=d+72|0;d=d+76|0;if(!(f[d>>2]|0))q=11;else{x=0;Fa(429,e|0);k=x;x=0;if(!(k&1))q=11}if((q|0)==11){f[d>>2]=f[m+4>>2];x=0;Fa(430,e|0);k=x;x=0;if(!(k&1)){x=0;Ga(462,l|0,f[d>>2]|0);k=x;x=0;if(!(k&1)){f[l>>2]=7584;_P(l);_P(m);g=c+68|0;x=0;Ga(462,s|0,f[g>>2]|0);m=x;x=0;if(m&1)d=Ya()|0;else{f[s>>2]=17208;d=f[h>>2]|0;f[g>>2]=d;x=0;Ia(123,p|0,c|0,0);c=x;x=0;a:do if(c&1)q=30;else{e=d;d=e+64|0;e=e+68|0;if(!(f[e>>2]|0))q=17;else{x=0;Fa(429,d|0);c=x;x=0;if(!(c&1))q=17}do if((q|0)==17){f[e>>2]=f[p+4>>2];x=0;Fa(430,d|0);c=x;x=0;if(!(c&1)){x=0;Ga(462,o|0,f[e>>2]|0);c=x;x=0;if(c&1)break;f[o>>2]=7280;_P(o);_P(p);f[g>>2]=f[s+4>>2];f[n>>2]=(f[n>>2]|0)+-4;d=f[h>>2]|0;if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);q=x;x=0;if(q&1){q=30;break a}f[a>>2]=17208;_P(s);_P(t);u=r;return}}while(0);d=Ya()|0;_P(p)}while(0);if((q|0)==30)d=Ya()|0;_P(s)}break}}}d=Ya()|0;_P(m)}while(0);_P(t);t=d;jb(t|0)}}d=Ya()|0;_P(k);_P(j);if(!e){t=d;jb(t|0)}}while(0);Hta(i);t=d;jb(t|0)}function kk(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0;w=0;C=u;u=u+64|0;A=C+44|0;B=C;y=C+40|0;v=c+72|0;z=c+76|0;s=c+80|0;o=(f[s>>2]|0)-(f[z>>2]|0)>>3;a:do if(o|0){t=A+11|0;p=A+4|0;q=B+11|0;r=B+4|0;n=0;while(1){Lc[f[(f[a>>2]|0)+32>>2]&1023](A,a);x=0;d=sa(f[(f[v>>2]|0)+16>>2]|0,v|0,n|0)|0;m=x;x=0;if(m&1)break;m=f[d+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+32>>2]|0,B|0,m|0);m=x;x=0;if(m&1)break;d=b[t>>0]|0;h=d<<24>>24<0;g=d&255;i=h?f[p>>2]|0:g;l=b[q>>0]|0;m=l<<24>>24<0;b:do if((i|0)==((m?f[r>>2]|0:l&255)|0)){j=f[A>>2]|0;k=h?j:A;e=m?f[B>>2]|0:B;l=(i|0)==0;if(h){if(l){e=1;break}e=(lO(k,e,i)|0)==0;break}if(l)e=1;else if((b[e>>0]|0)==(j&255)<<24>>24){h=A;while(1){g=g+-1|0;h=h+1|0;if(!g){e=1;break b}e=e+1|0;if((b[h>>0]|0)!=(b[e>>0]|0)){e=0;break}}}else e=0}else e=0;while(0);if(m){Hta(f[B>>2]|0);d=b[t>>0]|0}if(d<<24>>24<0)Hta(f[A>>2]|0);n=n+1|0;if(e){w=49;break}if(n>>>0>=o>>>0)break a}if((w|0)==49){u=C;return c|0}d=Ya()|0;if((b[t>>0]|0)<0)Hta(f[A>>2]|0);C=d;jb(C|0)}while(0);if(!a)Bda();t=f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0;d=f[z>>2]|0;j=(f[s>>2]|0)-d>>3;e=(j|0)!=0;c:do if((t|0)==30870|((t|0)==30740|(t|0)==30844))if(e){h=c+76|0;i=j+-1|0;e=0;while(1){g=f[d+(e<<3)+4>>2]|0;if(!g)w=30;else if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30740)w=34;else w=30;do if((w|0)==30){w=0;g=f[d+(e<<3)+4>>2]|0;if(g|0)if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30844){w=34;break}g=f[d+(e<<3)+4>>2]|0;if(g|0)if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30870)w=34}while(0);if((w|0)==34){w=0;t=f[d+(i<<3)+4>>2]|0;if(vc[f[(f[t>>2]|0)+152>>2]&511](t)|0)break}e=e+1|0;if(e>>>0>=j>>>0){w=42;break c}d=f[h>>2]|0}d=f[z>>2]|0}else w=42;else if(e){e=0;while(1){g=f[d+(e<<3)+4>>2]|0;if(g|0){if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30740)break c;if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30844)break c;if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30870)break c}e=e+1|0;if(e>>>0>=j>>>0){w=42;break}}}else w=42;while(0);if((w|0)==42){qV(A,a);f[A>>2]=13852;x=0;Ga(120,v|0,A|0);z=x;x=0;if(z&1){C=Ya()|0;_P(A);jb(C|0)}_P(A);g=B;d=a+12|0;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));mR(c+32|0,B+20|0);u=C;return c|0}f[y>>2]=d+(e<<3);qV(B,a);f[B>>2]=13852;x=0;f[A>>2]=f[y>>2];ta(42,z|0,A|0,B|0)|0;a=x;x=0;if(a&1){C=Ya()|0;_P(B);jb(C|0)}else{_P(B);u=C;return c|0}return 0}function lk(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,v=0,w=0;k=0;v=u;u=u+96|0;w=v+56|0;n=v+48|0;s=v+40|0;o=v+32|0;q=v+24|0;r=v+12|0;t=v;m=a+84|0;p=c+4|0;c=f[p>>2]|0;d=c+84|0;e=b[m+11>>0]|0;h=e<<24>>24<0;e=e&255;l=h?f[a+88>>2]|0:e;j=b[d+11>>0]|0;g=j<<24>>24<0;if((l|0)!=((g?f[c+88>>2]|0:j&255)|0)){w=0;u=v;return w|0}i=f[m>>2]|0;j=h?i:m;d=g?f[d>>2]|0:d;g=(l|0)==0;a:do if(h){if(!g)if(!(lO(j,d,l)|0))k=9;else{w=0;u=v;return w|0}}else if(!g){if((b[d>>0]|0)==(i&255)<<24>>24)g=m;else{w=0;u=v;return w|0}while(1){e=e+-1|0;g=g+1|0;if(!e){k=9;break a}d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){c=0;break}}u=v;return c|0}while(0);do if((k|0)==9)if((l|0)==8){x=0;c=wa(21,m|0,0,-1,51981,8)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(!c){w=0;u=v;return w|0}else{c=f[p>>2]|0;break}}while(0);qV(n,f[c+108>>2]|0);f[n>>2]=7168;c=f[n+4>>2]|0;if(!c)c=0;else c=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==31229?c:0;x=0;Ga(462,w|0,c|0);m=x;x=0;b:do if(m&1){c=Ya()|0;_P(n)}else{f[w>>2]=7168;_P(n);d=w+4|0;c:do if(f[d>>2]|0){x=0;Ga(462,o|0,f[a+108>>2]|0);a=x;x=0;do if(a&1)c=Ya()|0;else{f[o>>2]=7168;c=f[o+4>>2]|0;if(!c)c=0;else c=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==31229?c:0;x=0;Ga(462,s|0,c|0);a=x;x=0;if(a&1){c=Ya()|0;_P(o);break}f[s>>2]=7168;_P(o);e=f[s+4>>2]|0;if(!e){_P(s);break c}c=f[(f[e>>2]|0)+152>>2]|0;x=0;Ga(462,q|0,f[d>>2]|0);t=x;x=0;do if(t&1)c=Ya()|0;else{f[q>>2]=7168;d=r+11|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;x=0;c=ta(c|0,e|0,q|0,r|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[r>>2]|0);_P(q);break}if((b[d>>0]|0)<0)Hta(f[r>>2]|0);_P(q);_P(s);_P(w);w=c;u=v;return w|0}while(0);_P(s)}while(0);_P(w);break b}while(0);_P(w);c=VN(48)|0;f[t>>2]=c;f[t+8>>2]=-2147483600;f[t+4>>2]=41;d=c;e=34213;g=d+41|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+41>>0]=0;x=0;d=w;e=(f[p>>2]|0)+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));Ga(483,t|0,w|0);w=x;x=0;if(w&1){c=Ya()|0;if((b[t+11>>0]|0)>=0){w=c;jb(w|0)}Hta(f[t>>2]|0);w=c;jb(w|0)}else{if((b[t+11>>0]|0)>=0){w=0;u=v;return w|0}Hta(f[t>>2]|0);w=0;u=v;return w|0}}while(0);w=c;jb(w|0);return 0}function mk(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;p=0;n=u;u=u+112|0;o=n;g=n+64|0;r=n+52|0;q=n+40|0;j=g;k=d+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));ND(r,81592);x=0;Ga(511,q|0,c|0);m=x;x=0;if(m&1)c=Ya()|0;else{j=o;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(538,a|0,r|0);m=x;x=0;if(m&1){c=Ya()|0;k=I}else{f[a>>2]=16212;m=a+8|0;x=0;Ga(459,m|0,r|0);l=x;x=0;do if(l&1){c=Ya()|0;g=I}else{h=a+20|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[53005]|0;b[h+1>>0]=b[53006]|0;b[h+2>>0]=b[53007]|0;b[h+3>>0]=b[53008]|0;b[h+4>>0]=b[53009]|0;b[h+5>>0]=0;j=a+32|0;k=o;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,a+72|0,q|0);l=x;x=0;if(l&1){c=Ya()|0;g=I;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}c=f[q>>2]|0;if(c|0){i=q+4|0;g=f[i>>2]|0;if((g|0)!=(c|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(c|0));c=f[q>>2]|0}Hta(c)}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);f[a>>2]=17688;f[a+84>>2]=d;g=a+88|0;x=0;Ga(459,g|0,e|0);r=x;x=0;if(r&1)c=Ya()|0;else{x=0;Ga(f[(f[d>>2]|0)+32>>2]|0,o|0,d|0);r=x;x=0;do if(r&1){c=Ya()|0;p=44}else{x=0;sa(986,m|0,o|0)|0;r=x;x=0;if(r&1){c=Ya()|0;if((b[o+11>>0]|0)>=0){p=44;break}Hta(f[o>>2]|0);p=44;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);x=0;sa(991,m|0,53200)|0;r=x;x=0;if(!(r&1)){r=b[e+11>>0]|0;q=r<<24>>24<0;x=0;ta(41,m|0,(q?f[e>>2]|0:e)|0,(q?f[e+4>>2]|0:r&255)|0)|0;r=x;x=0;if(!(r&1)){x=0;sa(991,m|0,56925)|0;r=x;x=0;if(!(r&1)){u=n;return}}}c=Ya()|0}while(0);if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0)}PF(a);r=c;jb(r|0)}while(0);dfa(a);k=g}g=f[q>>2]|0;if(g){j=q+4|0;h=f[j>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(g|0));g=f[q>>2]|0}Hta(g)}}if((b[r+11>>0]|0)>=0){r=c;jb(r|0)}Hta(f[r>>2]|0);r=c;jb(r|0)}function nk(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;i=0;n=u;u=u+80|0;j=n+32|0;o=n+16|0;m=n+8|0;l=n;f[o>>2]=0;p=o+4|0;f[p>>2]=0;f[o+8>>2]=0;x=0;d=qa(318,112)|0;k=x;x=0;do if(k&1)i=7;else{x=0;e=j;g=c+12|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ia(84,d|0,j|0,0);k=x;x=0;if(k&1){g=Ya()|0;Hta(d);break}x=0;Ga(462,m|0,d|0);k=x;x=0;if(k&1)i=7;else{f[m>>2]=7168;k=m+4|0;h=f[k>>2]|0;i=c+62|0;e=h+62|0;b[e>>0]=b[i>>0]|0;f[h+64>>2]=f[c+64>>2];b[e>>0]=b[i>>0]|0;e=f[c+76>>2]|0;i=(f[c+80>>2]|0)-e>>3;a:do if(!i)i=6;else{g=c+76|0;h=o+8|0;c=j+4|0;d=0;while(1){x=0;e=sa(f[(f[a>>2]|0)+272>>2]|0,a|0,f[e+(d<<3)+4>>2]|0)|0;q=x;x=0;if(q&1){i=17;break}x=0;Ga(462,j|0,e|0);q=x;x=0;if(q&1){i=17;break}f[j>>2]=7168;e=f[p>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){x=0;Ga(462,e|0,f[c>>2]|0);q=x;x=0;if(q&1){i=18;break}f[e>>2]=7168;f[p>>2]=(f[p>>2]|0)+8}else{x=0;Ga(651,o|0,j|0);q=x;x=0;if(q&1){i=18;break}}_P(j);d=d+1|0;if(d>>>0>=i>>>0){i=6;break a}e=f[g>>2]|0}if((i|0)==17)d=Ya()|0;else if((i|0)==18){d=Ya()|0;_P(j)}}while(0);do if((i|0)==6){c=0;b:while(1){g=f[o>>2]|0;i=(f[p>>2]|0)-g>>3;if(!i){i=31;break}d=0;e=1;while(1){q=f[g+(d<<3)+4>>2]|0;h=f[q+76>>2]|0;if((f[q+80>>2]|0)-h>>3>>>0>c>>>0){e=(f[k>>2]|0)+72|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,l|0,f[h+(c<<3)+4>>2]|0);q=x;x=0;if(q&1){i=27;break b}f[l>>2]=15556;x=0;Ga(g|0,e|0,l|0);q=x;x=0;if(q&1){i=28;break b}_P(l);e=0}d=d+1|0;if(d>>>0>=i>>>0)break;g=f[o>>2]|0}c=c+1|0;if(e|(c|0)==-1){i=31;break}}if((i|0)==27){d=Ya()|0;break}else if((i|0)==28){d=Ya()|0;_P(l);break}else if((i|0)==31){d=f[k>>2]|0;if(!d)g=0;else{b[d+8>>0]=1;g=d}_P(m);d=f[o>>2]|0;if(!d){u=n;return g|0}e=f[p>>2]|0;if((e|0)!=(d|0)){do{q=e+-8|0;f[p>>2]=q;Kc[f[f[q>>2]>>2]&511](q);e=f[p>>2]|0}while((e|0)!=(d|0));d=f[o>>2]|0}Hta(d);u=n;return g|0}}while(0);_P(m);g=d}}while(0);if((i|0)==7)g=Ya()|0;d=f[o>>2]|0;if(!d)jb(g|0);e=f[p>>2]|0;if((e|0)!=(d|0)){do{q=e+-8|0;f[p>>2]=q;Kc[f[f[q>>2]>>2]&511](q);e=f[p>>2]|0}while((e|0)!=(d|0));d=f[o>>2]|0}Hta(d);jb(g|0);return 0}function ok(a,c,d,e,g,h,i,j,k,l,m,n,o,p,q){a=a|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;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;f[d>>2]=a;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(e&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(b[k+y>>0]|0){case 0:{f[c>>2]=f[d>>2];break}case 1:{f[c>>2]=f[d>>2];w=xc[f[(f[i>>2]|0)+44>>2]&2047](i,32)|0;x=f[d>>2]|0;f[d>>2]=x+4;f[x>>2]=w;break}case 3:{x=b[z>>0]|0;r=x<<24>>24<0;if((r?f[G>>2]|0:x&255)|0){w=f[(r?f[p>>2]|0:p)>>2]|0;x=f[d>>2]|0;f[d>>2]=x+4;f[x>>2]=w}break}case 2:{v=b[A>>0]|0;r=v<<24>>24<0;v=r?f[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?f[o>>2]|0:o;s=u+(v<<2)|0;t=f[d>>2]|0;r=t;while(1){if((u|0)==(s|0))break;f[r>>2]=f[u>>2];r=r+4|0;u=u+4|0}f[d>>2]=t+(v<<2)}break}case 4:{s=f[d>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(yc[f[(f[i>>2]|0)+12>>2]&255](i,2048,f[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=f[x>>2]|0;w=f[d>>2]|0;f[d>>2]=w+4;f[w>>2]=v;u=u+-1|0;r=x}if(t)w=xc[f[(f[i>>2]|0)+44>>2]&2047](i,48)|0;else w=0;v=f[d>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;f[v>>2]=w;u=u+-1|0;v=t}f[d>>2]=t;f[v>>2]=l}if((r|0)==(g|0)){w=xc[f[(f[i>>2]|0)+44>>2]&2047](i,48)|0;x=f[d>>2]|0;r=x+4|0;f[d>>2]=r;f[x>>2]=w}else{x=b[E>>0]|0;t=x<<24>>24<0;if(!((t?f[F>>2]|0:x&255)|0)){v=-1;u=0;w=0}else{v=b[(t?f[n>>2]|0:n)>>0]|0;u=0;w=0}while(1){if((r|0)==(g|0))break;t=f[d>>2]|0;if((w|0)==(v|0)){x=t+4|0;f[d>>2]=x;f[t>>2]=m;u=u+1|0;v=b[E>>0]|0;t=v<<24>>24<0;if(u>>>0<(t?f[F>>2]|0:v&255)>>>0){v=b[(t?f[n>>2]|0:n)+u>>0]|0;v=v<<24>>24|0;v=(v|0)==127?-1:v|0;w=0;t=x}else{v=w;w=0;t=x}}x=r+-4|0;H=f[x>>2]|0;f[d>>2]=t+4;f[t>>2]=H;w=w+1|0;r=x}r=f[d>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=f[s>>2]|0;f[s>>2]=f[r>>2];f[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=b[z>>0]|0;g=r<<24>>24<0;r=g?f[G>>2]|0:r&255;if(r>>>0>1){s=f[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=f[d>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;f[g>>2]=f[u>>2];g=g+4|0;u=u+4|0}f[d>>2]=s+(t>>>2<<2)}switch((e&176)<<24>>24){case 32:{f[c>>2]=f[d>>2];break}case 16:break;default:f[c>>2]=a}return}function pk(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;m=u;u=u+16|0;l=m;k=tm(a,b,c,d,g)|0;h=e+4|0;i=f[h>>2]|0;if(!i){l=k;u=m;return l|0}j=d+4|0;g=f[j>>2]|0;if(!g){l=k;u=m;return l|0}if(!(xc[f[(f[i>>2]|0)+156>>2]&2047](i,g)|0)){l=k;u=m;return l|0}qV(l,f[j>>2]|0);f[l>>2]=15556;if((d|0)!=(e|0)){if(f[j>>2]|0){x=0;Fa(429,d|0);i=x;x=0;if(i&1){m=Ya()|0;_P(l);jb(m|0)}}f[j>>2]=f[h>>2];f[h>>2]=0}if((l|0)!=(e|0)){if(f[h>>2]|0){x=0;Fa(429,e|0);e=x;x=0;if(e&1){m=Ya()|0;_P(l);jb(m|0)}}e=l+4|0;f[h>>2]=f[e>>2];f[e>>2]=0}_P(l);g=k+1|0;h=f[j>>2]|0;if(!h){l=g;u=m;return l|0}e=c+4|0;i=f[e>>2]|0;if(!i){l=g;u=m;return l|0}if(!(xc[f[(f[h>>2]|0)+156>>2]&2047](h,i)|0)){l=g;u=m;return l|0}qV(l,f[e>>2]|0);f[l>>2]=15556;if((c|0)!=(d|0)){if(f[e>>2]|0){x=0;Fa(429,c|0);i=x;x=0;if(i&1){m=Ya()|0;_P(l);jb(m|0)}}f[e>>2]=f[j>>2];f[j>>2]=0}if((l|0)!=(d|0)){if(f[j>>2]|0){x=0;Fa(429,d|0);d=x;x=0;if(d&1){m=Ya()|0;_P(l);jb(m|0)}}d=l+4|0;f[j>>2]=f[d>>2];f[d>>2]=0}_P(l);g=k+2|0;h=f[e>>2]|0;if(!h){l=g;u=m;return l|0}j=b+4|0;i=f[j>>2]|0;if(!i){l=g;u=m;return l|0}if(!(xc[f[(f[h>>2]|0)+156>>2]&2047](h,i)|0)){l=g;u=m;return l|0}qV(l,f[j>>2]|0);f[l>>2]=15556;if((b|0)!=(c|0)){if(f[j>>2]|0){x=0;Fa(429,b|0);d=x;x=0;if(d&1){m=Ya()|0;_P(l);jb(m|0)}}f[j>>2]=f[e>>2];f[e>>2]=0}if((l|0)!=(c|0)){if(f[e>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){m=Ya()|0;_P(l);jb(m|0)}}c=l+4|0;f[e>>2]=f[c>>2];f[c>>2]=0}_P(l);g=k+3|0;h=f[j>>2]|0;if(!h){l=g;u=m;return l|0}i=a+4|0;e=f[i>>2]|0;if(!e){l=g;u=m;return l|0}if(!(xc[f[(f[h>>2]|0)+156>>2]&2047](h,e)|0)){l=g;u=m;return l|0}qV(l,f[i>>2]|0);f[l>>2]=15556;if((a|0)!=(b|0)){do if(f[i>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(!(a&1))break;m=Ya()|0;_P(l);jb(m|0)}while(0);f[i>>2]=f[j>>2];f[j>>2]=0}if((l|0)!=(b|0)){do if(f[j>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(!(b&1))break;m=Ya()|0;_P(l);jb(m|0)}while(0);b=l+4|0;f[j>>2]=f[b>>2];f[b>>2]=0}_P(l);l=k+4|0;u=m;return l|0}function qk(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;n=0;i=f[a>>2]|0;j=i;k=(f[b>>2]|0)-j|0;b=i+(k>>3<<3)|0;o=f[c>>2]|0;h=f[d>>2]|0;q=h-o|0;l=q>>3;d=o;o=h;if((q|0)<=0){q=b;return q|0}p=a+8|0;g=f[p>>2]|0;q=a+4|0;m=f[q>>2]|0;e=m;if((l|0)<=(g-e>>3|0)){i=e-b|0;e=i>>3;if((l|0)>(e|0)){e=d+(e<<3)|0;h=e;if((e|0)==(o|0))g=m;else{g=m;do{qV(g,f[e+4>>2]|0);f[g>>2]=7168;e=e+8|0;g=(f[q>>2]|0)+8|0;f[q>>2]=g}while((e|0)!=(o|0))}if((i|0)<=0){q=b;return q|0}}else g=m;j=g-(b+(l<<3))>>3;i=b+(j<<3)|0;if(i>>>0>>0){e=i;k=g;do{qV(k,f[e+4>>2]|0);f[k>>2]=7168;e=e+8|0;k=(f[q>>2]|0)+8|0;f[q>>2]=k}while(e>>>0>>0)}if(j){do{e=i;i=i+-8|0;d=g;g=g+-8|0;if((d|0)!=(e|0)){d=d+-4|0;if(f[d>>2]|0)vQ(g);q=e+-4|0;f[d>>2]=f[q>>2];f[q>>2]=0}}while((i|0)!=(b|0));d=f[c>>2]|0}if((d|0)==(h|0)){q=b;return q|0}else g=b;while(1){e=g+4|0;if(f[e>>2]|0)vQ(g);f[e>>2]=f[d+4>>2];EX(g);d=d+8|0;if((d|0)==(h|0))break;else g=g+8|0}return b|0}e=(e-j>>3)+l|0;if(e>>>0>536870911)EO(a);c=g-j|0;g=c>>2;g=c>>3>>>0<268435455?(g>>>0>>0?e:g):536870911;e=k>>3;do if(!g){m=0;c=0}else{if(g>>>0<=536870911){c=VN(g<<3)|0;m=c;break}b=Ta(8)|0;x=0;Ga(461,b|0,60050);q=x;x=0;if(q&1){q=Ya()|0;bb(b|0);jb(q|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}while(0);l=c+(e<<3)|0;j=l;k=c+(g<<3)|0;a:do if((d|0)==(o|0)){g=j;n=32}else{g=j;e=l;do{x=0;Ga(462,e|0,f[d+4>>2]|0);i=x;x=0;if(i&1){b=g;d=j;break a}f[e>>2]=7168;e=g+8|0;g=e;d=d+8|0}while((d|0)!=(o|0));i=f[a>>2]|0;n=32}while(0);b:do if((n|0)==32){if((i|0)==(b|0)){e=l;d=j}else{h=b;d=j;e=l;do{e=e+-8|0;x=0;Ga(462,e|0,f[h+-4>>2]|0);h=h+-8|0;o=x;x=0;if(o&1){b=g;break b}f[e>>2]=7168;e=d+-8|0;d=e}while((h|0)!=(i|0))}i=f[q>>2]|0;if((i|0)==(b|0))d=e;else{h=g;e=g;do{x=0;Ga(462,e|0,f[b+4>>2]|0);o=x;x=0;if(o&1){b=h;break b}f[e>>2]=7168;b=b+8|0;e=h+8|0;h=e}while((b|0)!=(i|0));g=h;b=f[q>>2]|0}e=f[a>>2]|0;f[a>>2]=d;f[q>>2]=g;f[p>>2]=k;if((b|0)!=(e|0))do{b=b+-8|0;Kc[f[f[b>>2]>>2]&511](b)}while((b|0)!=(e|0));if(!e){q=l;return q|0}Hta(e);q=l;return q|0}while(0);e=Ya()|0;if((b|0)!=(d|0))do{b=b+-8|0;Kc[f[f[b>>2]>>2]&511](b)}while((b|0)!=(d|0));if(!c)jb(e|0);Hta(m);jb(e|0);return 0}function rk(a,c,e,g,h,i,j,k,l,m,n,o,p,q,r){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;r=r|0;var 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;f[e>>2]=a;z=q+11|0;H=q+4|0;A=p+11|0;B=p+4|0;C=(g&512|0)==0;D=j+8|0;E=(r|0)>0;F=o+11|0;G=o+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(b[l+y>>0]|0){case 0:{f[c>>2]=f[e>>2];break}case 1:{f[c>>2]=f[e>>2];w=xc[f[(f[j>>2]|0)+28>>2]&2047](j,32)|0;x=f[e>>2]|0;f[e>>2]=x+1;b[x>>0]=w;break}case 3:{x=b[z>>0]|0;s=x<<24>>24<0;if((s?f[H>>2]|0:x&255)|0){w=b[(s?f[q>>2]|0:q)>>0]|0;x=f[e>>2]|0;f[e>>2]=x+1;b[x>>0]=w}break}case 2:{t=b[A>>0]|0;s=t<<24>>24<0;t=s?f[B>>2]|0:t&255;if(!(C|(t|0)==0)){x=s?f[p>>2]|0:p;u=x+t|0;s=f[e>>2]|0;t=x;while(1){if((t|0)==(u|0))break;b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}f[e>>2]=s}break}case 4:{t=f[e>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=b[u>>0]|0;if(s<<24>>24<=-1)break;if(!(d[(f[D>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(E){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;x=u+-1|0;s=b[x>>0]|0;w=f[e>>2]|0;f[e>>2]=w+1;b[w>>0]=s;v=v+-1|0;u=x}if(s)w=xc[f[(f[j>>2]|0)+28>>2]&2047](j,48)|0;else w=0;s=v;while(1){v=f[e>>2]|0;f[e>>2]=v+1;if((s|0)<=0)break;b[v>>0]=w;s=s+-1|0}b[v>>0]=m}b:do if((u|0)==(h|0)){w=xc[f[(f[j>>2]|0)+28>>2]&2047](j,48)|0;x=f[e>>2]|0;f[e>>2]=x+1;b[x>>0]=w}else{x=b[F>>0]|0;s=x<<24>>24<0;if(!((s?f[G>>2]|0:x&255)|0)){w=-1;v=0;x=0}else{w=b[(s?f[o>>2]|0:o)>>0]|0;v=0;x=0}while(1){if((u|0)==(h|0))break b;if((x|0)==(w|0)){w=f[e>>2]|0;f[e>>2]=w+1;b[w>>0]=n;v=v+1|0;w=b[F>>0]|0;s=w<<24>>24<0;if(v>>>0<(s?f[G>>2]|0:w&255)>>>0){w=b[(s?f[o>>2]|0:o)+v>>0]|0;w=w<<24>>24|0;w=(w|0)==127?-1:w|0;s=0}else{w=x;s=0}}else s=x;I=u+-1|0;J=b[I>>0]|0;x=f[e>>2]|0;f[e>>2]=x+1;b[x>>0]=J;x=s+1|0;u=I}}while(0);s=f[e>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=b[t>>0]|0;b[t>>0]=b[s>>0]|0;b[s>>0]=J;t=t+1|0}break}default:{}}while(0);y=y+1|0}h=b[z>>0]|0;s=h<<24>>24<0;h=s?f[H>>2]|0:h&255;if(h>>>0>1){J=s?f[q>>2]|0:q;t=J+h|0;s=f[e>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;b[s>>0]=b[h>>0]|0;s=s+1|0}f[e>>2]=s}switch((g&176)<<24>>24){case 32:{f[c>>2]=f[e>>2];break}case 16:break;default:f[c>>2]=a}return}function sk(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;s=0;r=u;u=u+48|0;t=r+32|0;d=r+16|0;q=r+24|0;p=r+8|0;o=r;if(!a){t=0;u=r;return t|0}qV(t,f[a+68>>2]|0);f[t>>2]=7280;x=0;Ga(462,d|0,f[a+76>>2]|0);n=x;x=0;if(n&1){s=Ya()|0;_P(t);jb(s|0)}f[d>>2]=7168;a=f[d+4>>2]|0;if(!a)s=5;else if((f[517]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(d);if((f[a+80>>2]|0)==(f[a+76>>2]|0))a=0;else{j=t+4|0;d=f[j>>2]|0;k=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>3;a:do if(!k){d=0;a=0}else{l=q+4|0;m=(c|0)!=3;n=p+4|0;a=0;g=0;i=0;e=0;b:while(1){d=d+64|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,g|0)|0;h=x;x=0;if(h&1){s=16;break}x=0;Ga(462,q|0,f[d+4>>2]|0);h=x;x=0;if(h&1){s=16;break}f[q>>2]=6920;d=f[l>>2]|0;if(!d)s=20;else if((f[139]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){h=0;a=1;d=i}else if((f[153]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;a=sa(1019,d|0,c|0)|0;h=x;x=0;if(h&1){s=19;break}else{h=0;d=i}}else s=20;do if((s|0)==20){s=0;x=0;d=qa(346,d|0)|0;h=x;x=0;if(h&1){s=26;break b}if(!d){d=f[l>>2]|0;if(!d){d=i;e=1}else if((f[187]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))if(!(b[d+72>>0]|0)){d=i;e=m|e;s=35}else{d=i;e=1}else{d=i;e=1}}else{x=0;Ga(462,p|0,f[d+68>>2]|0);s=x;x=0;if(s&1){s=27;break b}f[p>>2]=7280;x=0;Ga(462,o|0,f[n>>2]|0);s=x;x=0;if(s&1){s=28;break b}f[o>>2]=7280;x=0;d=sa(1020,o|0,c|0)|0;s=x;x=0;if(s&1){s=29;break b}_P(o);_P(p);d=i|d;s=35}if((s|0)==35){s=0;if(!(e|d)){h=1;d=0;e=0;break}}h=0;a=1}while(0);_P(q);g=g+1|0;if(!h){d=1;break a}if(g>>>0>=k>>>0){d=0;break a}i=d;d=f[j>>2]|0}if((s|0)==16)a=Ya()|0;else if((s|0)==19){a=Ya()|0;s=38}else if((s|0)==26){a=Ya()|0;s=38}else if((s|0)==27){a=Ya()|0;s=31}else if((s|0)==28){a=Ya()|0;s=30}else if((s|0)==29){a=Ya()|0;_P(o);s=30}if((s|0)==30){_P(p);s=31}if((s|0)==31)s=38;if((s|0)==38)_P(q);s=a;_P(t);jb(s|0)}while(0);a=d&a}}else s=5;if((s|0)==5){_P(d);a=0}_P(t);t=a;u=r;return t|0}function tk(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;m=u;u=u+16|0;l=m;k=Fm(a,b,c,d,g)|0;h=e+4|0;i=f[h>>2]|0;if(!i){l=k;u=m;return l|0}j=d+4|0;g=f[j>>2]|0;if(!g){l=k;u=m;return l|0}if(!(Tt(i,g)|0)){l=k;u=m;return l|0}qV(l,f[j>>2]|0);f[l>>2]=13852;if((d|0)!=(e|0)){if(f[j>>2]|0){x=0;Fa(429,d|0);i=x;x=0;if(i&1){m=Ya()|0;_P(l);jb(m|0)}}f[j>>2]=f[h>>2];f[h>>2]=0}if((l|0)!=(e|0)){if(f[h>>2]|0){x=0;Fa(429,e|0);e=x;x=0;if(e&1){m=Ya()|0;_P(l);jb(m|0)}}e=l+4|0;f[h>>2]=f[e>>2];f[e>>2]=0}_P(l);g=k+1|0;h=f[j>>2]|0;if(!h){l=g;u=m;return l|0}e=c+4|0;i=f[e>>2]|0;if(!i){l=g;u=m;return l|0}if(!(Tt(h,i)|0)){l=g;u=m;return l|0}qV(l,f[e>>2]|0);f[l>>2]=13852;if((c|0)!=(d|0)){if(f[e>>2]|0){x=0;Fa(429,c|0);i=x;x=0;if(i&1){m=Ya()|0;_P(l);jb(m|0)}}f[e>>2]=f[j>>2];f[j>>2]=0}if((l|0)!=(d|0)){if(f[j>>2]|0){x=0;Fa(429,d|0);d=x;x=0;if(d&1){m=Ya()|0;_P(l);jb(m|0)}}d=l+4|0;f[j>>2]=f[d>>2];f[d>>2]=0}_P(l);g=k+2|0;h=f[e>>2]|0;if(!h){l=g;u=m;return l|0}j=b+4|0;i=f[j>>2]|0;if(!i){l=g;u=m;return l|0}if(!(Tt(h,i)|0)){l=g;u=m;return l|0}qV(l,f[j>>2]|0);f[l>>2]=13852;if((b|0)!=(c|0)){if(f[j>>2]|0){x=0;Fa(429,b|0);d=x;x=0;if(d&1){m=Ya()|0;_P(l);jb(m|0)}}f[j>>2]=f[e>>2];f[e>>2]=0}if((l|0)!=(c|0)){if(f[e>>2]|0){x=0;Fa(429,c|0);c=x;x=0;if(c&1){m=Ya()|0;_P(l);jb(m|0)}}c=l+4|0;f[e>>2]=f[c>>2];f[c>>2]=0}_P(l);g=k+3|0;h=f[j>>2]|0;if(!h){l=g;u=m;return l|0}i=a+4|0;e=f[i>>2]|0;if(!e){l=g;u=m;return l|0}if(!(Tt(h,e)|0)){l=g;u=m;return l|0}qV(l,f[i>>2]|0);f[l>>2]=13852;if((a|0)!=(b|0)){do if(f[i>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(!(a&1))break;m=Ya()|0;_P(l);jb(m|0)}while(0);f[i>>2]=f[j>>2];f[j>>2]=0}if((l|0)!=(b|0)){do if(f[j>>2]|0){x=0;Fa(429,b|0);b=x;x=0;if(!(b&1))break;m=Ya()|0;_P(l);jb(m|0)}while(0);b=l+4|0;f[j>>2]=f[b>>2];f[b>>2]=0}_P(l);l=k+4|0;u=m;return l|0}function uk(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=0;k=a+1|0;if((b[a>>0]|0)==42){a=k;return a|0}c=fs(a)|0;if(c|0){a=c;return a|0}j=b[36397]|0;f=j<<24>>24==0;a:do if(f){c=a;g=6}else{c=a;d=36397;e=j;while(1){if((b[c>>0]|0)!=e<<24>>24){c=a;break a}c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){g=6;break}}}while(0);b:do if((g|0)==6){e=b[c>>0]|0;if(!(e<<24>>24))c=a;else{if(f){d=0;f=0;while(1){switch(e<<24>>24){case 92:{g=f;c=c+1|0;break}case 34:{d=d^1;g=f;break}case 39:{g=f^1;break}default:if(d){d=1;g=f}else{d=0;g=f;c=f?c:c+-1|0}}c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){c=a;break b}else f=g}}else{d=0;f=0;i=0}c:while(1){d:do switch(e<<24>>24){case 92:{c=c+1|0;g=i;break}case 34:{d=d^1;g=i;break}case 39:{f=f^1;g=i;break}default:if(d){d=1;g=i}else if(f){d=0;f=1;g=i}else{e:do if(e<<24>>24==j<<24>>24){h=c;d=36397;while(1){f=h+1|0;d=d+1|0;g=b[d>>0]|0;if(!(g<<24>>24))break;if((b[f>>0]|0)!=g<<24>>24)break e;else h=f}d=0;f=0;c=h;g=i+1|0;break d}while(0);d=b[51458]|0;f:do if(d<<24>>24){if(e<<24>>24==d<<24>>24){d=c;e=51458}else{d=0;f=0;g=i;break d}while(1){d=d+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=d;break f}if((b[d>>0]|0)!=f<<24>>24){d=0;f=0;g=i;break d}}}while(0);if(!i)break c;else{d=0;f=0;c=c+-1|0;g=i+-1|0}}}while(0);c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){c=a;break b}else i=g}if(!c)c=a;else{a=c;return a|0}}}while(0);while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;if(c|0){c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}if((b[a>>0]|0)==36){c=a;do c=c+1|0;while((b[c>>0]|0)==45);c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){a=c;return a|0}}}d=b[36400]|0;g:do if(!(d<<24>>24))c=0;else{c=b[a>>0]|0;e=36400;while(1){if(c<<24>>24==d<<24>>24)break g;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);c=c<<24>>24?k:a;if(c|0){c=Nu(c)|0;if(c|0)if((b[c>>0]|0)==37){a=c+1|0;return a|0}}a=Ts(a)|0;return a|0}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,p=0,q=0,r=0;q=u;u=u+96|0;h=q+40|0;p=q;r=q+88|0;o=q+80|0;m=VN(88)|0;n=c+72|0;l=c+76|0;k=c+80|0;e=f[k>>2]|0;g=f[l>>2]|0;j=h;c=c+12|0;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));x=0;Fa(427,m|0);j=x;x=0;do if(j&1)c=Ya()|0;else{g=e-g>>3;j=m+12|0;c=h;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;c=m+56|0;f[c>>2]=0;f[m>>2]=6516;e=m+60|0;f[e>>2]=9660;i=m+64|0;j=m+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,g|0);h=x;x=0;if(h&1){c=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{r=g+-8|0;f[j>>2]=r;Kc[f[f[r>>2]>>2]&511](r);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[m>>2]=9488;f[e>>2]=9620;j=m+80|0;f[j>>2]=0;d[j+4>>1]=0;b[j+6>>0]=0;f[c>>2]=5;qV(r,m);f[r>>2]=7584;j=r+4|0;c=f[j>>2]|0;b[c+86>>0]=1;i=(f[k>>2]|0)-(f[l>>2]|0)>>3;do if(!i)e=12;else{h=0;while(1){x=0;c=sa(f[(f[n>>2]|0)+16>>2]|0,n|0,h|0)|0;m=x;x=0;if(m&1){e=16;break}if(f[c+4>>2]|0){e=(f[j>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;c=sa(f[(f[n>>2]|0)+16>>2]|0,n|0,h|0)|0;m=x;x=0;if(m&1){e=16;break}c=f[c+4>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,a|0)|0;m=x;x=0;if(m&1){e=16;break}x=0;Ga(462,o|0,c|0);m=x;x=0;if(m&1){e=16;break}f[o>>2]=7696;x=0;Ga(g|0,e|0,o|0);m=x;x=0;if(m&1){e=25;break}_P(o)}h=h+1|0;if(h>>>0>=i>>>0){e=11;break}}if((e|0)==11){c=f[j>>2]|0;e=12;break}else if((e|0)==16){c=Ya()|0;break}else if((e|0)==25){c=Ya()|0;_P(o);break}}while(0);do if((e|0)==12){if((f[c+68>>2]|0)!=(f[c+64>>2]|0)){if(!c)c=0;else b[c+8>>0]=1;p=c;_P(r);u=q;return p|0}x=0;e=qa(318,60)|0;o=x;x=0;if(o&1){c=Ya()|0;break}j=p;c=c+12|0;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));x=0;Fa(427,e|0);o=x;x=0;if(o&1){c=Ya()|0;Hta(e);break}j=e+12|0;c=p;i=j+40|0;do{f[j>>2]=f[c>>2];j=j+4|0;c=c+4|0}while((j|0)<(i|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e>>2]=13152;f[e+56>>2]=8;p=e;_P(r);u=q;return p|0}while(0);_P(r);r=c;jb(r|0)}while(0);Hta(m);r=c;jb(r|0);return 0}function wk(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,t=0;p=0;m=u;u=u+176|0;n=m+136|0;q=m+128|0;t=m+112|0;c=m+72|0;r=m+56|0;l=m+16|0;o=m;f[t+8>>2]=0;s=t+11|0;b[s>>0]=7;b[t>>0]=b[40091]|0;b[t+1>>0]=b[40092]|0;b[t+2>>0]=b[40093]|0;b[t+3>>0]=b[40094]|0;b[t+4>>0]=b[40095]|0;b[t+5>>0]=b[40096]|0;b[t+6>>0]=b[40097]|0;b[t+7>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,r|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;i=n;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,t|0,a|0,e|0,n|0,r|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,q|0,c|0);h=x;x=0;if(!(h&1)){f[q>>2]=16744;c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[t>>2]|0);x=0;Ga(561,n|0,(f[q+4>>2]|0)+60|0);s=x;x=0;do if(s&1){c=Ya()|0;p=39}else{x=0;Ia(105,t|0,n|0,34);s=x;x=0;if(s&1){c=Ya()|0;if((b[n+11>>0]|0)>=0){p=39;break}Hta(f[n>>2]|0);p=39;break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);x=0;d=qa(318,80)|0;s=x;x=0;if(s&1)c=Ya()|0;else{i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(459,o|0,t|0);s=x;x=0;do if(s&1)c=Ya()|0;else{x=0;i=n;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Na(1,d|0,n|0,o|0,0,0,0,1,1);s=x;x=0;if(s&1){c=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[t+11>>0]|0)>=0){_P(q);u=m;return d|0}Hta(f[t>>2]|0);_P(q);u=m;return d|0}while(0);Hta(d)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0)}while(0);_P(q);t=c;jb(t|0)}}c=Ya()|0;k=I;d=f[r>>2]|0;if(d){a=r+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d)}}if((b[s>>0]|0)<0)Hta(f[t>>2]|0);t=c;jb(t|0);return 0}function xk(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;n=0;o=u;u=u+48|0;k=o+8|0;j=o;q=o+28|0;p=o+16|0;l=a+76|0;i=(f[a+80>>2]|0)-(f[l>>2]|0)>>3;m=b+76|0;e=(f[b+80>>2]|0)-(f[m>>2]|0)>>3;cz(q,l);x=0;Ga(504,p|0,m|0);m=x;x=0;if(m&1){d=Ya()|0;a=q}else{m=q+4|0;x=0;Ia(82,f[q>>2]|0,f[m>>2]|0,j|0);l=x;x=0;if(l&1)n=8;else{l=p+4|0;x=0;Ia(82,f[p>>2]|0,f[l>>2]|0,k|0);h=x;x=0;if(h&1)n=8;else{g=k+4|0;h=j+4|0;d=0;b=0;a:while(1){if((d|0)==(i|0)){n=6;break}if((b|0)==(e|0)){n=10;break}x=0;Ga(462,k|0,f[(f[q>>2]|0)+(d<<3)+4>>2]|0);c=x;x=0;if(c&1){n=15;break}f[k>>2]=15556;x=0;Ga(462,j|0,f[(f[p>>2]|0)+(b<<3)+4>>2]|0);c=x;x=0;if(c&1){n=16;break}f[j>>2]=15556;a=f[g>>2]|0;do if(!a){a=d+1|0;n=22}else{c=f[h>>2]|0;if(!c){a=d;b=b+1|0;n=22;break}x=0;a=sa(f[(f[a>>2]|0)+160>>2]|0,a|0,c|0)|0;c=x;x=0;if(c&1){n=17;break a}if(a){a=d;n=22}else{c=0;a=d}}while(0);if((n|0)==22){n=0;c=1;a=a+1|0;b=b+1|0}_P(j);_P(k);if(c)d=a;else{c=0;n=26;break}}if((n|0)==6){c=(i|0)==(e|0);n=26}else if((n|0)==10){c=(i|0)==(e|0);n=26}else if((n|0)==15){b=Ya()|0;a=I}else if((n|0)==16){b=Ya()|0;a=I;n=24}else if((n|0)==17){b=Ya()|0;a=I;_P(j);n=24}if((n|0)==24)_P(k);else if((n|0)==26){a=f[p>>2]|0;if(a|0){b=f[l>>2]|0;if((b|0)!=(a|0)){do{n=b+-8|0;f[l>>2]=n;Kc[f[f[n>>2]>>2]&511](n);b=f[l>>2]|0}while((b|0)!=(a|0));a=f[p>>2]|0}Hta(a)}a=f[q>>2]|0;if(!a){u=o;return c|0}b=f[m>>2]|0;if((b|0)!=(a|0)){do{p=b+-8|0;f[m>>2]=p;Kc[f[f[p>>2]>>2]&511](p);b=f[m>>2]|0}while((b|0)!=(a|0));a=f[q>>2]|0}Hta(a);u=o;return c|0}e=a;a=p}}if((n|0)==8){b=Ya()|0;e=I;a=p}a=f[a>>2]|0;if(!a){d=b;a=q}else{d=p+4|0;c=f[d>>2]|0;if((c|0)!=(a|0)){do{o=c+-8|0;f[d>>2]=o;Kc[f[f[o>>2]>>2]&511](o);c=f[d>>2]|0}while((c|0)!=(a|0));a=f[p>>2]|0}Hta(a);d=b;a=q}}a=f[a>>2]|0;if(!a)jb(d|0);c=q+4|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{p=b+-8|0;f[c>>2]=p;Kc[f[f[p>>2]>>2]&511](p);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[q>>2]|0}Hta(a);jb(d|0);return 0}function yk(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;o=0;l=u;u=u+64|0;n=l;p=l+48|0;k=l+40|0;m=VN(88)|0;e=n;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Fa(427,m|0);j=x;x=0;do if(j&1)e=Ya()|0;else{e=m+12|0;g=n;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;e=m+56|0;f[m>>2]=11536;f[e>>2]=4;g=m+60|0;f[g>>2]=9660;i=m+64|0;j=m+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);h=x;x=0;if(h&1){e=Ya()|0;c=I;g=f[i>>2]|0;if(g|0){h=f[j>>2]|0;if((h|0)!=(g|0)){do{p=h+-8|0;f[j>>2]=p;Kc[f[f[p>>2]>>2]&511](p);h=f[j>>2]|0}while((h|0)!=(g|0));g=f[i>>2]|0}Hta(g)}break}f[m>>2]=11364;f[g>>2]=11496;b[m+80>>0]=1;f[m+84>>2]=0;f[e>>2]=4;qV(p,m);f[p>>2]=13648;x=0;Ga(462,n|0,0);m=x;x=0;if(m&1)e=Ya()|0;else{f[n>>2]=13648;x=0;Ia(126,k|0,c|0,d|0);m=x;x=0;a:do if(m&1){e=Ya()|0;o=20}else{e=n+4|0;if(f[e>>2]|0){x=0;Fa(429,n|0);m=x;x=0;if(m&1){e=Ya()|0;_P(k);o=20;break}}j=k+4|0;m=f[j>>2]|0;f[e>>2]=m;f[j>>2]=0;_P(k);b:do if(!m){x=0;Ga(462,a|0,0);m=x;x=0;if(!(m&1)){f[a>>2]=13648;_P(n);_P(p);u=l;return}}else{g=p+4|0;j=(f[g>>2]|0)+60|0;m=f[e>>2]|0;x=0;Ga(f[(f[j>>2]|0)+24>>2]|0,j|0,((m|0)==0?0:m+60|0)|0);m=x;x=0;if(!(m&1)){h=k+4|0;while(1){x=0;Ia(126,k|0,c|0,d|0);m=x;x=0;if(m&1){o=29;break}if(f[e>>2]|0){x=0;Fa(429,n|0);m=x;x=0;if(m&1){o=30;break}}m=f[h>>2]|0;f[e>>2]=m;f[h>>2]=0;_P(k);if(!m){o=32;break}j=(f[g>>2]|0)+60|0;m=f[e>>2]|0;x=0;Ga(f[(f[j>>2]|0)+24>>2]|0,j|0,((m|0)==0?0:m+60|0)|0);m=x;x=0;if(m&1)break b}if((o|0)==29)e=Ya()|0;else if((o|0)==30){e=Ya()|0;_P(k)}else if((o|0)==32){e=f[g>>2]|0;if(!e)e=0;else b[e+8>>0]=1;x=0;Ga(462,a|0,e|0);m=x;x=0;if(m&1)break;f[a>>2]=13648;_P(n);_P(p);u=l;return}break a}}while(0);e=Ya()|0}while(0);_P(n)}_P(p);p=e;jb(p|0)}while(0);Hta(m);p=e;jb(p|0)}function zk(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,v=0,w=0;p=0;w=u;u=u+64|0;v=w+44|0;t=w+32|0;r=w+24|0;q=w+16|0;o=w+8|0;n=w;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=32098){v=0;u=w;return v|0}x=0;Ga(f[(f[a>>2]|0)+80>>2]|0,v|0,a|0);s=x;x=0;if(s&1){d=_a(6240,0)|0;e=I}else{x=0;Ga(f[(f[c>>2]|0)+80>>2]|0,t|0,c|0);s=x;x=0;a:do if(s&1){d=_a(6240,0)|0;e=I;g=v+11|0}else{g=v+11|0;h=b[g>>0]|0;j=h<<24>>24<0;h=h&255;k=j?f[v+4>>2]|0:h;s=t+11|0;d=b[s>>0]|0;e=d<<24>>24<0;b:do if((k|0)==((e?f[t+4>>2]|0:d&255)|0)){l=f[v>>2]|0;m=j?l:v;e=e?f[t>>2]|0:t;i=(k|0)==0;c:do if(j){if(!i)if(lO(m,e,k)|0){e=0;break b}}else if(!i){if((b[e>>0]|0)==(l&255)<<24>>24)i=v;else{e=0;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;e=e+1|0;if((b[i>>0]|0)!=(b[e>>0]|0)){e=0;break b}}}while(0);x=0;Ga(462,r|0,f[a+72>>2]|0);m=x;x=0;if(m&1){d=_a(6240,0)|0;e=I}else{f[r>>2]=7696;d=f[r+4>>2]|0;e=f[(f[d>>2]|0)+92>>2]|0;x=0;Ga(462,q|0,f[c+72>>2]|0);m=x;x=0;if(m&1){d=_a(6240,0)|0;e=I}else{f[q>>2]=7696;x=0;d=sa(e|0,d|0,f[q+4>>2]|0)|0;m=x;x=0;d:do if(m&1)p=30;else{e:do if(d){x=0;Ga(462,o|0,f[a+80>>2]|0);a=x;x=0;if(a&1){p=30;break d}f[o>>2]=7696;d=f[o+4>>2]|0;e=f[(f[d>>2]|0)+92>>2]|0;x=0;Ga(462,n|0,f[c+80>>2]|0);c=x;x=0;do if(c&1){d=_a(6240,0)|0;e=I}else{f[n>>2]=7696;x=0;e=sa(e|0,d|0,f[n+4>>2]|0)|0;c=x;x=0;if(c&1){d=_a(6240,0)|0;e=I;_P(n);break}else{_P(n);_P(o);break e}}while(0);_P(o);break d}else e=0;while(0);_P(q);_P(r);d=b[s>>0]|0;break b}while(0);if((p|0)==30){d=_a(6240,0)|0;e=I}_P(q)}_P(r)}if((b[s>>0]|0)>=0)break a;Hta(f[t>>2]|0);break a}else e=0;while(0);if(d<<24>>24<0)Hta(f[t>>2]|0);if((b[g>>0]|0)<0)Hta(f[v>>2]|0);v=e;u=w;return v|0}while(0);if((b[g>>0]|0)<0)Hta(f[v>>2]|0)}v=(e|0)==(Sb(6240)|0);Ua(d|0)|0;if(v){Wa();v=0;u=w;return v|0}x=0;Ea(3);x=0;d=Ya()|0;x=0;Ea(4);w=x;x=0;if(w&1){w=Za(0)|0;soa(w)}else jb(d|0);return 0}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0;p=b+12|0;c=f[p>>2]|0;if(!c)c=0;else c=vc[f[(f[c>>2]|0)+8>>2]&511](c)|0;o=b+4|0;f[o>>2]=c;d=a+4|0;e=f[d>>2]|0;s=a+12|0;g=+(((f[s>>2]|0)+1|0)>>>0);h=+n[a+16>>2];if((e|0)==0|h*+(e>>>0)>>0<3|(e+-1&e|0)!=0)&1;c=~~+W(+(g/h))>>>0;cB(a,e>>>0>>0?c:e);e=f[d>>2]|0;c=f[o>>2]|0}q=e+-1|0;r=(q&e|0)==0;if(r)m=q&c;else if(c>>>0>>0)m=c;else m=(c>>>0)%(e>>>0)|0;i=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!i){c=a+8|0;f[b>>2]=f[c>>2];f[c>>2]=b;f[(f[a>>2]|0)+(m<<2)>>2]=c;c=f[b>>2]|0;if(!c){a=f[s>>2]|0;a=a+1|0;f[s>>2]=a;return b|0}c=f[c+4>>2]|0;if(r)c=c&q;else if(c>>>0>=e>>>0)c=(c>>>0)%(e>>>0)|0;f[(f[a>>2]|0)+(c<<2)>>2]=b;a=f[s>>2]|0;a=a+1|0;f[s>>2]=a;return b|0}c=f[i>>2]|0;a:do if(!c){d=i;c=i}else{if(r){l=0;d=i;j=c;c=i;while(1){i=f[j+4>>2]|0;if((i&q|0)!=(m|0))break a;do if((i|0)==(f[o>>2]|0)){j=f[j+12>>2]|0;if(!j)i=0;else{if(!(uy(j,112,192,0)|0)){i=f[p>>2]|0;k=i}else{i=f[p>>2]|0;if(!i){k=i;i=0}else if(!(uy(i,112,192,0)|0))k=i;else{k=vc[f[(f[j>>2]|0)+8>>2]&511](j)|0;i=f[p>>2]|0;i=(k|0)==(vc[f[(f[i>>2]|0)+8>>2]&511](i)|0);break}}if(!k)i=0;else i=xc[f[(f[j>>2]|0)+92>>2]&2047](j,i)|0}}else i=0;while(0);if(!(i|l^1))break a;c=f[c>>2]|0;j=f[c>>2]|0;if(!j){d=c;break a}else{l=l|i;d=c}}}else{l=0;d=i;k=c;c=i}while(1){i=f[k+4>>2]|0;if(i>>>0>>0)j=i;else j=(i>>>0)%(e>>>0)|0;if((j|0)!=(m|0))break a;do if((i|0)==(f[o>>2]|0)){j=f[k+12>>2]|0;if(!j)i=0;else{if(!(uy(j,112,192,0)|0)){i=f[p>>2]|0;k=i}else{i=f[p>>2]|0;if(!i){k=i;i=0}else if(!(uy(i,112,192,0)|0))k=i;else{k=vc[f[(f[j>>2]|0)+8>>2]&511](j)|0;i=f[p>>2]|0;i=(k|0)==(vc[f[(f[i>>2]|0)+8>>2]&511](i)|0);break}}if(!k)i=0;else i=xc[f[(f[j>>2]|0)+92>>2]&2047](j,i)|0}}else i=0;while(0);if(!(i|l^1))break a;c=f[c>>2]|0;k=f[c>>2]|0;if(!k){d=c;break}else{l=l|i;d=c}}}while(0);f[b>>2]=f[d>>2];f[c>>2]=b;c=f[b>>2]|0;if(!c){a=f[s>>2]|0;a=a+1|0;f[s>>2]=a;return b|0}c=f[c+4>>2]|0;if(r)c=c&q;else if(c>>>0>=e>>>0)c=(c>>>0)%(e>>>0)|0;if((c|0)==(m|0)){a=f[s>>2]|0;a=a+1|0;f[s>>2]=a;return b|0}f[(f[a>>2]|0)+(c<<2)>>2]=b;a=f[s>>2]|0;a=a+1|0;f[s>>2]=a;return b|0}function Bk(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;g=f[c>>2]|0;if(!e)l=5;else{i=f[e>>2]|0;if(!i)l=5;else if(!a){j=g;e=d;l=25}else{f[e>>2]=0;k=d;j=g;l=43}}a:do if((l|0)==5){l=(pta()|0)+188|0;e=(a|0)!=0;if(f[f[l>>2]>>2]|0)if(e){e=d;l=15;break}else{e=d;l=14;break}if(!e){d=hL(g)|0;l=59;break}b:do if(d){e=d;while(1){i=b[g>>0]|0;if(!(i<<24>>24))break;g=g+1|0;f[a>>2]=i<<24>>24&57343;e=e+-1|0;if(!e)break b;else a=a+4|0}f[a>>2]=0;f[c>>2]=0;d=d-e|0;l=59;break a}while(0);f[c>>2]=g;l=59}while(0);c:while(1){d:do if((l|0)==14){while(1){i=b[g>>0]|0;if(((i&255)+-1|0)>>>0<127)if(!(g&3)){l=f[g>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{g=g+4|0;e=e+-4|0;i=f[g>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+1|0;e=e+-1|0}i=i+-194|0;if(i>>>0>50)l=53;else{i=f[21452+(i<<2)>>2]|0;j=g+1|0;l=25;continue c}}else if((l|0)==15){e:do if(e){while(1){i=b[g>>0]|0;do if(((i&255)+-1|0)>>>0<127)if(e>>>0>4&(g&3|0)==0){while(1){i=f[g>>2]|0;if((i+-16843009|i)&-2139062144|0){l=38;break}f[a>>2]=i&255;f[a+4>>2]=h[g+1>>0];f[a+8>>2]=h[g+2>>0];j=g+4|0;i=a+16|0;f[a+12>>2]=h[g+3>>0];e=e+-4|0;if(e>>>0>4){a=i;g=j}else{l=37;break}}if((l|0)==37){a=i;g=j;i=b[j>>0]|0;break}else if((l|0)==38){i=i&255;break}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;g=g+1|0;f[a>>2]=i;e=e+-1|0;if(!e)break e;else a=a+4|0}i=i+-194|0;if(i>>>0>50){l=53;break d}i=f[21452+(i<<2)>>2]|0;k=e;j=g+1|0;l=43;continue c}while(0);f[c>>2]=g;l=59;continue c}else if((l|0)==25){l=(h[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){g=j;l=52}else{g=j+1|0;if(i&33554432){if((b[g>>0]&-64)<<24>>24!=-128){g=j;l=52;break}g=j+2|0;if(i&524288){if((b[g>>0]&-64)<<24>>24!=-128){g=j;l=52;break}g=j+3|0}}e=e+-1|0;l=14;continue c}}else if((l|0)==43){l=0;e=h[j>>0]|0;g=e>>>3;if((g+-16|g+(i>>26))>>>0>7){g=j;e=k;l=52}else{g=j+1|0;e=e+-128|i<<6;do if((e|0)<0){i=(h[g>>0]|0)+-128|0;if(i>>>0>63){g=j+-1|0;d=a;break d}g=j+2|0;e=i|e<<6;if((e|0)<0){i=(h[g>>0]|0)+-128|0;if(i>>>0>63){g=j+-1|0;d=a;break d}else{g=j+3|0;e=i|e<<6;break}}}while(0);f[a>>2]=e;a=a+4|0;e=k+-1|0;l=15;continue c}}else if((l|0)==59)return d|0;while(0);if((l|0)==52){l=0;g=g+-1|0;if(!i)l=53;else d=a}if((l|0)==53)if(!(b[g>>0]|0)){if(a|0){f[a>>2]=0;f[c>>2]=0}d=d-e|0;l=59;continue}else d=a;l=bua()|0;f[l>>2]=84;if(!d){d=-1;l=59;continue}f[c>>2]=g;d=-1;l=59}return 0}function Ck(a){a=a|0;var c=0,d=0,e=0;e=0;if(!a){e=0;return e|0}c=b[36362]|0;a:do if(c<<24>>24){d=36362;while(1){if((b[a>>0]|0)!=c<<24>>24){a=0;break}a=a+1|0;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24))break a}return a|0}while(0);a=sR(a)|0;if(!a){e=0;return e|0}c=a+1|0;if((b[a>>0]|0)!=58){e=0;return e|0}a=Ug(c)|0;if(!a){a=c;e=9}else if((b[a>>0]|0)==37){a=c;e=9}if((e|0)==9){while(1)if((b[a>>0]|0)==45){a=a+1|0;e=9}else break;a=Ay(a)|0;if(!a){e=0;return e|0}a=wy(a)|0;if(!a){e=0;return e|0}}c=nq(a)|0;if(!c){e=0;return e|0}if((b[c>>0]|0)!=40){e=c;return e|0}a=Xu(c+1|0)|0;if(!a){e=c;return e|0}a=Hl(a)|0;if(!a){e=c;return e|0}while(1){if((b[a>>0]|0)!=40){e=19;break}c=Xu(a+1|0)|0;if(!c){e=19;break}c=Hl(c)|0;if(!c){e=19;break}else a=c}if((e|0)==19)return a|0;return 0}function Dk(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;l=u;u=u+16|0;k=l;switch(b-a>>3|0){case 2:{h=b+-8|0;g=b+-4|0;c=f[g>>2]|0;if(!c){k=1;u=l;return k|0}d=a+4|0;e=f[d>>2]|0;if(!e){k=1;u=l;return k|0}if(!(xc[f[(f[c>>2]|0)+156>>2]&2047](c,e)|0)){k=1;u=l;return k|0}qV(k,f[d>>2]|0);f[k>>2]=15556;if((h|0)!=(a|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){l=Ya()|0;_P(k);jb(l|0)}}f[d>>2]=f[g>>2];f[g>>2]=0}if((k|0)!=(h|0)){if(f[g>>2]|0){x=0;Fa(429,h|0);a=x;x=0;if(a&1){l=Ya()|0;_P(k);jb(l|0)}}a=k+4|0;f[g>>2]=f[a>>2];f[a>>2]=0}_P(k);k=1;u=l;return k|0}case 3:{Bj(a,a+8|0,b+-8|0,c)|0;k=1;u=l;return k|0}case 4:{tm(a,a+8|0,a+16|0,b+-8|0,c)|0;k=1;u=l;return k|0}case 5:{pk(a,a+8|0,a+16|0,a+24|0,b+-8|0,c)|0;k=1;u=l;return k|0}case 1:case 0:{k=1;u=l;return k|0}default:{e=a+16|0;Bj(a,a+8|0,e,c)|0;c=a+24|0;a:do if((c|0)==(b|0)){e=1;c=0}else{j=k+4|0;d=0;b:while(1){g=c+4|0;h=f[g>>2]|0;if(h){i=f[e+4>>2]|0;if(i)if(xc[f[(f[h>>2]|0)+156>>2]&2047](h,i)|0){qV(k,f[g>>2]|0);f[k>>2]=15556;g=c;while(1){if((g|0)!=(e|0)){h=g+4|0;if(f[h>>2]|0){x=0;Fa(429,g|0);i=x;x=0;if(i&1){d=38;break b}}i=e+4|0;f[h>>2]=f[i>>2];f[i>>2]=0}if((e|0)==(a|0)){e=a;break}g=f[j>>2]|0;if(!g)break;h=f[e+-4>>2]|0;if(!h)break;x=0;g=sa(f[(f[g>>2]|0)+156>>2]|0,g|0,h|0)|0;i=x;x=0;if(i&1){d=38;break b}if(g){g=e;e=e+-8|0}else break}if((e|0)!=(k|0)){g=e+4|0;if(f[g>>2]|0){x=0;Fa(429,e|0);i=x;x=0;if(i&1){d=38;break}}f[g>>2]=f[j>>2];f[j>>2]=0}d=d+1|0;_P(k);if((d|0)==8){e=0;c=(c+8|0)==(b|0);break a}}}e=c+8|0;if((e|0)==(b|0)){e=1;c=0;break a}else{i=c;c=e;e=i}}if((d|0)==38){l=Ya()|0;_P(k);jb(l|0)}}while(0);k=e|c;u=l;return k|0}}return 0}function Ek(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;n=0;o=u;u=u+48|0;k=o+8|0;j=o;q=o+28|0;p=o+16|0;l=a+76|0;i=(f[a+80>>2]|0)-(f[l>>2]|0)>>3;m=b+76|0;e=(f[b+80>>2]|0)-(f[m>>2]|0)>>3;ez(q,l);x=0;Ga(500,p|0,m|0);m=x;x=0;if(m&1){d=Ya()|0;a=q}else{m=q+4|0;x=0;Ia(81,f[q>>2]|0,f[m>>2]|0,j|0);l=x;x=0;if(l&1)n=8;else{l=p+4|0;x=0;Ia(81,f[p>>2]|0,f[l>>2]|0,k|0);h=x;x=0;if(h&1)n=8;else{g=k+4|0;h=j+4|0;a=0;b=0;while(1){if((a|0)==(i|0)){n=6;break}if((b|0)==(e|0)){n=10;break}x=0;Ga(462,k|0,f[(f[q>>2]|0)+(a<<3)+4>>2]|0);d=x;x=0;if(d&1){n=14;break}f[k>>2]=13852;x=0;Ga(462,j|0,f[(f[p>>2]|0)+(b<<3)+4>>2]|0);d=x;x=0;if(d&1){n=15;break}f[j>>2]=13852;c=f[g>>2]|0;d=a+((c|0)==0&1)|0;a=f[h>>2]|0;if(!a){b=b+1|0;n=20}else{x=0;a=sa(f[(f[c>>2]|0)+160>>2]|0,c|0,a|0)|0;c=x;x=0;if(c&1){n=16;break}if(a)n=20;else{c=0;a=d}}if((n|0)==20){n=0;c=1;a=d+1|0;b=b+1|0}_P(j);_P(k);if(!c){c=0;n=24;break}}if((n|0)==6){c=(i|0)==(e|0);n=24}else if((n|0)==10){c=(i|0)==(e|0);n=24}else if((n|0)==14){b=Ya()|0;a=I}else if((n|0)==15){b=Ya()|0;a=I;n=22}else if((n|0)==16){b=Ya()|0;a=I;_P(j);n=22}if((n|0)==22)_P(k);else if((n|0)==24){a=f[p>>2]|0;if(a|0){b=f[l>>2]|0;if((b|0)!=(a|0)){do{n=b+-8|0;f[l>>2]=n;Kc[f[f[n>>2]>>2]&511](n);b=f[l>>2]|0}while((b|0)!=(a|0));a=f[p>>2]|0}Hta(a)}a=f[q>>2]|0;if(!a){u=o;return c|0}b=f[m>>2]|0;if((b|0)!=(a|0)){do{p=b+-8|0;f[m>>2]=p;Kc[f[f[p>>2]>>2]&511](p);b=f[m>>2]|0}while((b|0)!=(a|0));a=f[q>>2]|0}Hta(a);u=o;return c|0}e=a;a=p}}if((n|0)==8){b=Ya()|0;e=I;a=p}a=f[a>>2]|0;if(!a){d=b;a=q}else{d=p+4|0;c=f[d>>2]|0;if((c|0)!=(a|0)){do{o=c+-8|0;f[d>>2]=o;Kc[f[f[o>>2]>>2]&511](o);c=f[d>>2]|0}while((c|0)!=(a|0));a=f[p>>2]|0}Hta(a);d=b;a=q}}a=f[a>>2]|0;if(!a)jb(d|0);c=q+4|0;b=f[c>>2]|0;if((b|0)!=(a|0)){do{p=b+-8|0;f[c>>2]=p;Kc[f[f[p>>2]>>2]&511](p);b=f[c>>2]|0}while((b|0)!=(a|0));a=f[q>>2]|0}Hta(a);jb(d|0);return 0}function Fk(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;n=0;q=u;u=u+16|0;l=q;o=c+11|0;p=c+4|0;e=0;a:while(1){d=b[o>>0]|0;if(d<<24>>24<0){g=f[p>>2]|0;k=f[c>>2]|0}else{g=d&255;k=c}if(g>>>0>>0)break;h=k+e|0;j=k+g|0;i=j;e=i-h|0;if((e|0)<3)break;while(1){e=e+-2|0;if(!e)break a;g=HB(h,47,e)|0;if(!g)break a;if(!(lO(g,43491,3)|0))break;h=g+1|0;e=i-h|0;if((e|0)<3)break a}e=g-k|0;if((g|0)==(j|0)|(e|0)==-1)break;fE(c,e,2)|0}g=l+11|0;h=l+4|0;while(1){if(d<<24>>24<0)d=f[p>>2]|0;else d=d&255;if(d>>>0<=1)break;FC(l,c,0,2,c);d=b[g>>0]|0;if(((d<<24>>24<0?f[h>>2]|0:d&255)|0)==2){x=0;d=wa(21,l|0,0,-1,43495,2)|0;k=x;x=0;if(k&1){n=22;break}e=(d|0)==0;d=b[g>>0]|0}else e=0;if(d<<24>>24<0)Hta(f[l>>2]|0);if(!e)break;fE(c,0,2)|0;d=b[o>>0]|0}if((n|0)==22){k=Za(0)|0;soa(k)}h=l+11|0;i=l+4|0;while(1){d=b[o>>0]|0;if(d<<24>>24<0)e=f[p>>2]|0;else e=d&255;if(e>>>0<=1){m=d;break}g=e+-2|0;FC(l,c,g,-1,c);d=b[h>>0]|0;if(((d<<24>>24<0?f[i>>2]|0:d&255)|0)==2){x=0;d=wa(21,l|0,0,-1,43498,2)|0;k=x;x=0;if(k&1){n=34;break}e=(d|0)==0;d=b[h>>0]|0}else e=0;if(d<<24>>24<0)Hta(f[l>>2]|0);if(!e){n=38;break}fE(c,g,-1)|0}if((n|0)==34){n=Za(0)|0;soa(n)}else if((n|0)==38)m=b[o>>0]|0;d=m<<24>>24<0;if(d)e=f[c>>2]|0;else e=c;if(!(b[e>>0]|0))e=0;else{if(d)d=f[c>>2]|0;else d=c;if(hla(d)|0){d=0;while(1){g=(b[o>>0]|0)<0;if(g)e=f[c>>2]|0;else e=c;if(!(b[e+d>>0]|0))break;h=d+1|0;if(g)e=f[c>>2]|0;else e=c;if(Aba(e+d|0)|0)d=h;else{d=h;break}}if(!d)e=0;else{if((b[o>>0]|0)<0)e=f[c>>2]|0;else e=c;e=d+((b[e+d>>0]|0)==58&1)|0}}else e=0}d=b[o>>0]|0;if(d<<24>>24<0){h=f[c>>2]|0;while(1){g=e+1|0;if((b[h+e>>0]|0)==47)e=g;else break}}else while(1){g=e+1|0;if((b[c+e>>0]|0)==47)e=g;else break}b:while(1){if(d<<24>>24<0){d=f[p>>2]|0;i=f[c>>2]|0}else{d=d&255;i=c}if(d>>>0>>0)break;e=i+g|0;h=i+d|0;g=h;d=g-e|0;if((d|0)<2)break;while(1){d=d+-1|0;if(!d)break b;d=HB(e,47,d)|0;if(!d)break b;if(!(lO(d,51449,2)|0))break;e=d+1|0;d=g-e|0;if((d|0)<2)break b}g=d-i|0;if((d|0)==(h|0)|(g|0)==-1)break;fE(c,g,1)|0;d=b[o>>0]|0}f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;u=q;return}function Gk(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;p=u;u=u+32|0;o=p;j=f[a>>2]|0;g=j;h=(f[b>>2]|0)-g|0;i=h>>3;m=j+(i<<3)|0;n=a+4|0;e=f[n>>2]|0;l=a+8|0;k=f[l>>2]|0;b=e;d=k;if(e>>>0>>0){if((m|0)==(e|0)){qV(m,f[c+4>>2]|0);f[m>>2]=13852;f[n>>2]=(f[n>>2]|0)+8;o=m;u=p;return o|0}d=b-(m+8)>>3;g=m+(d<<3)|0;if(g>>>0>>0){b=g;h=e;do{qV(h,f[b+4>>2]|0);f[h>>2]=13852;b=b+8|0;h=(f[n>>2]|0)+8|0;f[n>>2]=h}while(b>>>0>>0)}if(d|0)do{d=g;g=g+-8|0;b=e;e=e+-8|0;if((b|0)!=(d|0)){b=b+-4|0;if(f[b>>2]|0)vQ(e);o=d+-4|0;f[b>>2]=f[o>>2];f[o>>2]=0}}while((g|0)!=(m|0));if((m|0)==(c|0)){o=c;u=p;return o|0}b=j+(i<<3)+4|0;if(f[b>>2]|0)vQ(m);o=c+4|0;f[b>>2]=f[o>>2];f[o>>2]=0;o=m;u=p;return o|0}b=(b-g>>3)+1|0;if(b>>>0>536870911)EO(a);k=d-g|0;e=k>>2;e=k>>3>>>0<268435455?(e>>>0>>0?b:e):536870911;b=h>>3;f[o+12>>2]=0;f[o+16>>2]=a+8;do if(!e)d=0;else{if(e>>>0<=536870911){d=VN(e<<3)|0;break}b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}while(0);f[o>>2]=d;j=d+(b<<3)|0;k=o+8|0;f[k>>2]=j;i=o+4|0;f[i>>2]=j;j=o+12|0;f[j>>2]=d+(e<<3);x=0;Ga(497,o|0,c|0);c=x;x=0;a:do if(!(c&1)){c=f[i>>2]|0;e=f[a>>2]|0;if((e|0)==(m|0))b=c;else{d=m;b=c;do{b=b+-8|0;x=0;Ga(462,b|0,f[d+-4>>2]|0);d=d+-8|0;h=x;x=0;if(h&1)break a;f[b>>2]=13852;b=(f[i>>2]|0)+-8|0;f[i>>2]=b}while((d|0)!=(e|0))}d=f[n>>2]|0;if((d|0)==(m|0)){g=i;h=k;e=f[k>>2]|0}else{b=m;e=f[k>>2]|0;do{x=0;Ga(462,e|0,f[b+4>>2]|0);m=x;x=0;if(m&1)break a;f[e>>2]=13852;b=b+8|0;e=(f[k>>2]|0)+8|0;f[k>>2]=e}while((b|0)!=(d|0));g=i;h=k;b=f[i>>2]|0;d=f[n>>2]|0}m=f[a>>2]|0;f[a>>2]=b;f[g>>2]=m;f[n>>2]=e;f[h>>2]=d;b=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=b;f[o>>2]=m;b=m;if((d|0)!=(b|0)){do{n=d+-8|0;f[k>>2]=n;Kc[f[f[n>>2]>>2]&511](n);d=f[k>>2]|0}while((d|0)!=(b|0));b=f[o>>2]|0}if(b|0)Hta(b);o=c;u=p;return o|0}while(0);e=Ya()|0;d=f[i>>2]|0;b=f[k>>2]|0;if((b|0)!=(d|0))do{p=b+-8|0;f[k>>2]=p;Kc[f[f[p>>2]>>2]&511](p);b=f[k>>2]|0}while((b|0)!=(d|0));b=f[o>>2]|0;if(!b)jb(e|0);Hta(b);jb(e|0);return 0}function Hk(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,t=0,v=0,w=0,y=0;w=0;s=u;u=u+432|0;l=s+424|0;a=s+24|0;v=s+16|0;o=s+8|0;r=s;m=s+428|0;j=s+4|0;f[v>>2]=a;y=v+4|0;f[y>>2]=471;k=a+400|0;x=0;Ga(536,r|0,g|0);q=x;x=0;if(q&1){j=Ya()|0;f[v>>2]=0;w=41}else{x=0;n=sa(994,r|0,83352)|0;q=x;x=0;if(q&1)j=Ya()|0;else{b[m>>0]=0;q=f[d>>2]|0;f[j>>2]=q;a=f[g+4>>2]|0;p=q;x=0;f[l>>2]=f[j>>2];a=Ca(2,c|0,l|0,e|0,r|0,a|0,h|0,m|0,n|0,v|0,o|0,k|0)|0;e=x;x=0;a:do if(!(e&1)){if(a){a=i+8+3|0;if((b[a>>0]|0)<0){e=f[i>>2]|0;f[l>>2]=0;$ga(e,l);f[i+4>>2]=0}else{f[l>>2]=0;$ga(i,l);b[a>>0]=0}if(b[m>>0]|0){x=0;a=sa(f[(f[n>>2]|0)+44>>2]|0,n|0,45)|0;m=x;x=0;if(m&1)break;x=0;Ga(709,i|0,a|0);m=x;x=0;if(m&1)break}x=0;g=sa(f[(f[n>>2]|0)+44>>2]|0,n|0,48)|0;n=x;x=0;if(n&1)break;j=f[o>>2]|0;k=j+-4|0;a=f[v>>2]|0;while(1){if(a>>>0>=k>>>0)break;if((f[a>>2]|0)!=(g|0))break;a=a+4|0}x=0;ta(171,i|0,a|0,j|0)|0;i=x;x=0;if(i&1)break}a=f[c>>2]|0;do if(!a)j=1;else{j=f[a+12>>2]|0;if((j|0)==(f[a+16>>2]|0)){x=0;a=qa(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;i=x;x=0;if(i&1)break a}else a=mra(f[j>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;j=1;break}else{j=(f[c>>2]|0)==0;break}}while(0);do if(!q)w=32;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,p|0)|0;q=x;x=0;if(q&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;w=32;break}else if(j)break;else{w=34;break}}while(0);if((w|0)==32)if(j)w=34;if((w|0)==34)f[h>>2]=f[h>>2]|2;j=f[c>>2]|0;uga(r);a=f[v>>2]|0;f[v>>2]=0;if(a|0){x=0;Fa(f[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}}u=s;return j|0}while(0);j=Ya()|0}uga(r);a=f[v>>2]|0;f[v>>2]=0;if(!a)t=j;else w=41}if((w|0)==41){x=0;Fa(f[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else t=j}jb(t|0);return 0}function Ik(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,t=0,v=0,w=0,y=0;w=0;s=u;u=u+144|0;l=s+24|0;a=s+32|0;v=s+16|0;o=s+8|0;r=s;m=s+28|0;j=s+4|0;f[v>>2]=a;y=v+4|0;f[y>>2]=471;k=a+100|0;x=0;Ga(536,r|0,g|0);q=x;x=0;if(q&1){j=Ya()|0;f[v>>2]=0;w=41}else{x=0;n=sa(994,r|0,83320)|0;q=x;x=0;if(q&1)j=Ya()|0;else{b[m>>0]=0;q=f[d>>2]|0;f[j>>2]=q;a=f[g+4>>2]|0;p=q;x=0;f[l>>2]=f[j>>2];a=Ca(1,c|0,l|0,e|0,r|0,a|0,h|0,m|0,n|0,v|0,o|0,k|0)|0;e=x;x=0;a:do if(!(e&1)){if(a){a=i+11|0;if((b[a>>0]|0)<0){e=f[i>>2]|0;b[l>>0]=0;vga(e,l);f[i+4>>2]=0}else{b[l>>0]=0;vga(i,l);b[a>>0]=0}if(b[m>>0]|0){x=0;a=sa(f[(f[n>>2]|0)+28>>2]|0,n|0,45)|0;m=x;x=0;if(m&1)break;x=0;Ga(534,i|0,a|0);m=x;x=0;if(m&1)break}x=0;g=sa(f[(f[n>>2]|0)+28>>2]|0,n|0,48)|0;n=x;x=0;if(n&1)break;j=f[o>>2]|0;k=j+-1|0;a=f[v>>2]|0;while(1){if(a>>>0>=k>>>0)break;if((b[a>>0]|0)!=g<<24>>24)break;a=a+1|0}x=0;ta(170,i|0,a|0,j|0)|0;i=x;x=0;if(i&1)break}a=f[c>>2]|0;do if(!a)j=1;else{j=f[a+12>>2]|0;if((j|0)==(f[a+16>>2]|0)){x=0;a=qa(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;i=x;x=0;if(i&1)break a}else a=mqa(b[j>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;j=1;break}else{j=(f[c>>2]|0)==0;break}}while(0);do if(!q)w=32;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,p|0)|0;q=x;x=0;if(q&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;w=32;break}else if(j)break;else{w=34;break}}while(0);if((w|0)==32)if(j)w=34;if((w|0)==34)f[h>>2]=f[h>>2]|2;j=f[c>>2]|0;uga(r);a=f[v>>2]|0;f[v>>2]=0;if(a|0){x=0;Fa(f[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}}u=s;return j|0}while(0);j=Ya()|0}uga(r);a=f[v>>2]|0;f[v>>2]=0;if(!a)t=j;else w=41}if((w|0)==41){x=0;Fa(f[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else t=j}jb(t|0);return 0}function Jk(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;j=u;u=u+16|0;i=j;switch(b-a>>2|0){case 2:{d=b+-4|0;if(!(xc[f[c>>2]&2047](d,a)|0)){c=1;u=j;return c|0}c=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=c;c=1;u=j;return c|0}case 3:{h=a+4|0;d=b+-4|0;b=xc[f[c>>2]&2047](h,a)|0;e=xc[f[c>>2]&2047](d,h)|0;if(!b){if(!e){c=1;u=j;return c|0}b=f[h>>2]|0;f[h>>2]=f[d>>2];f[d>>2]=b;if(!(xc[f[c>>2]&2047](h,a)|0)){c=1;u=j;return c|0}c=f[a>>2]|0;f[a>>2]=f[h>>2];f[h>>2]=c;c=1;u=j;return c|0}g=f[a>>2]|0;if(e){f[a>>2]=f[d>>2];f[d>>2]=g;c=1;u=j;return c|0}f[a>>2]=f[h>>2];f[h>>2]=g;if(!(xc[f[c>>2]&2047](d,h)|0)){c=1;u=j;return c|0}c=f[h>>2]|0;f[h>>2]=f[d>>2];f[d>>2]=c;c=1;u=j;return c|0}case 4:{ay(a,a+4|0,a+8|0,b+-4|0,c)|0;c=1;u=j;return c|0}case 5:{e=a+4|0;g=a+8|0;h=a+12|0;d=b+-4|0;ay(a,e,g,h,c)|0;if(!(xc[f[c>>2]&2047](d,h)|0)){c=1;u=j;return c|0}b=f[h>>2]|0;f[h>>2]=f[d>>2];f[d>>2]=b;if(!(xc[f[c>>2]&2047](h,g)|0)){c=1;u=j;return c|0}b=f[g>>2]|0;f[g>>2]=f[h>>2];f[h>>2]=b;if(!(xc[f[c>>2]&2047](g,e)|0)){c=1;u=j;return c|0}b=f[e>>2]|0;f[e>>2]=f[g>>2];f[g>>2]=b;if(!(xc[f[c>>2]&2047](e,a)|0)){c=1;u=j;return c|0}c=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=c;c=1;u=j;return c|0}case 1:case 0:{c=1;u=j;return c|0}default:{g=a+8|0;d=a+4|0;h=xc[f[c>>2]&2047](d,a)|0;e=xc[f[c>>2]&2047](g,d)|0;do if(h){h=f[a>>2]|0;if(e){f[a>>2]=f[g>>2];f[g>>2]=h;break}f[a>>2]=f[d>>2];f[d>>2]=h;if(xc[f[c>>2]&2047](g,d)|0){h=f[d>>2]|0;f[d>>2]=f[g>>2];f[g>>2]=h}}else if(e){h=f[d>>2]|0;f[d>>2]=f[g>>2];f[g>>2]=h;if(xc[f[c>>2]&2047](d,a)|0){h=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=h}}while(0);d=a+12|0;a:do if((d|0)==(b|0)){e=1;d=0}else{e=0;while(1){if(xc[f[c>>2]&2047](d,g)|0){f[i>>2]=f[d>>2];h=d;while(1){f[h>>2]=f[g>>2];if((g|0)==(a|0))break;h=g+-4|0;if(xc[f[c>>2]&2047](i,h)|0){k=g;g=h;h=k}else break}f[g>>2]=f[i>>2];e=e+1|0;if((e|0)==8){e=0;d=(d+4|0)==(b|0);break a}}g=d+4|0;if((g|0)==(b|0)){e=1;d=0;break}else{k=d;d=g;g=k}}}while(0);k=d|e;u=j;return k|0}}return 0}function Kk(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,t=0,v=0;k=0;t=u;u=u+96|0;r=t+76|0;q=t+64|0;l=t+60|0;v=t+40|0;h=t+56|0;i=t+52|0;j=t+36|0;s=t+24|0;o=t+4|0;p=t+20|0;m=t+16|0;n=t;hz(v,79316);e=f[c+368>>2]|0;g=f[c+364>>2]|0;if((e|0)==(g|0))k=4;else{f[h>>2]=f[v+4>>2];f[i>>2]=g;f[j>>2]=e;x=0;f[l>>2]=f[h>>2];f[q>>2]=f[i>>2];f[r>>2]=f[j>>2];ua(9,v|0,l|0,q|0,r|0)|0;j=x;x=0;if(j&1)i=Ya()|0;else k=4}if((k|0)==4){f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=r+11|0;b[g>>0]=1;b[r>>0]=46;b[r+1>>0]=0;x=0;Fa(440,q|0);j=x;x=0;do if(j&1){e=Ya()|0;k=16}else{x=0;Ja(16,s|0,d+24|0,r|0,q|0);j=x;x=0;if(j&1){e=Ya()|0;if((b[q+11>>0]|0)>=0){k=16;break}Hta(f[q>>2]|0);k=16;break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[g>>0]|0)<0)Hta(f[r>>2]|0);x=0;Ja(19,a|0,s|0,d|0,v|0);j=x;x=0;a:do if(j&1)e=Ya()|0;else{k=c+352|0;g=f[k>>2]|0;c=(f[c+356>>2]|0)-g|0;i=(c|0)/12|0;j=a+4|0;b:do if(c|0?(f[j>>2]|0)==(f[a>>2]|0):0){c=o+4|0;e=0;while(1){x=0;Ja(19,o|0,g+(e*12|0)|0,d|0,v|0);h=x;x=0;if(h&1){k=23;break}g=f[c>>2]|0;h=f[o>>2]|0;if((g|0)!=(h|0)){f[p>>2]=f[j>>2];f[m>>2]=h;f[n>>2]=g;x=0;f[l>>2]=f[p>>2];f[q>>2]=f[m>>2];f[r>>2]=f[n>>2];ua(10,a|0,l|0,q|0,r|0)|0;h=x;x=0;if(h&1){k=24;break}}SG(o);e=e+1|0;if(!(e>>>0>>0?(f[j>>2]|0)==(f[a>>2]|0):0))break b;g=f[k>>2]|0}if((k|0)==23)e=Ya()|0;else if((k|0)==24){e=Ya()|0;SG(o)}SG(a);break a}while(0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);e=f[v>>2]|0;if(!e){u=t;return}h=v+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[v>>2]|0}Hta(e);u=t;return}while(0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}while(0);if((k|0)==16)if((b[g>>0]|0)<0)Hta(f[r>>2]|0);i=e}e=f[v>>2]|0;if(!e)jb(i|0);h=v+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[v>>2]|0}Hta(e);jb(i|0)}function Lk(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;l=u;u=u+16|0;k=l;switch(b-a>>3|0){case 2:{h=b+-8|0;g=b+-4|0;c=f[g>>2]|0;if(!c){k=1;u=l;return k|0}d=a+4|0;e=f[d>>2]|0;if(!e){k=1;u=l;return k|0}if(!(Tt(c,e)|0)){k=1;u=l;return k|0}qV(k,f[d>>2]|0);f[k>>2]=13852;if((h|0)!=(a|0)){if(f[d>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1){l=Ya()|0;_P(k);jb(l|0)}}f[d>>2]=f[g>>2];f[g>>2]=0}if((k|0)!=(h|0)){if(f[g>>2]|0){x=0;Fa(429,h|0);a=x;x=0;if(a&1){l=Ya()|0;_P(k);jb(l|0)}}a=k+4|0;f[g>>2]=f[a>>2];f[a>>2]=0}_P(k);k=1;u=l;return k|0}case 3:{Lj(a,a+8|0,b+-8|0,c)|0;k=1;u=l;return k|0}case 4:{Fm(a,a+8|0,a+16|0,b+-8|0,c)|0;k=1;u=l;return k|0}case 5:{tk(a,a+8|0,a+16|0,a+24|0,b+-8|0,c)|0;k=1;u=l;return k|0}case 1:case 0:{k=1;u=l;return k|0}default:{e=a+16|0;Lj(a,a+8|0,e,c)|0;c=a+24|0;a:do if((c|0)==(b|0)){e=1;c=0}else{j=k+4|0;d=0;b:while(1){g=c+4|0;h=f[g>>2]|0;if(h){i=f[e+4>>2]|0;if(i)if(Tt(h,i)|0){qV(k,f[g>>2]|0);f[k>>2]=13852;g=c;while(1){if((g|0)!=(e|0)){h=g+4|0;if(f[h>>2]|0){x=0;Fa(429,g|0);i=x;x=0;if(i&1){d=38;break b}}i=e+4|0;f[h>>2]=f[i>>2];f[i>>2]=0}if((e|0)==(a|0)){e=a;break}g=f[j>>2]|0;if(!g)break;h=f[e+-4>>2]|0;if(!h)break;x=0;g=sa(987,g|0,h|0)|0;i=x;x=0;if(i&1){d=38;break b}if(g){g=e;e=e+-8|0}else break}if((e|0)!=(k|0)){g=e+4|0;if(f[g>>2]|0){x=0;Fa(429,e|0);i=x;x=0;if(i&1){d=38;break}}f[g>>2]=f[j>>2];f[j>>2]=0}d=d+1|0;_P(k);if((d|0)==8){e=0;c=(c+8|0)==(b|0);break a}}}e=c+8|0;if((e|0)==(b|0)){e=1;c=0;break a}else{i=c;c=e;e=i}}if((d|0)==38){l=Ya()|0;_P(k);jb(l|0)}}while(0);k=e|c;u=l;return k|0}}return 0}function Mk(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;p=0;n=u;u=u+160|0;l=n;o=n+144|0;s=n+92|0;c=n+104|0;q=n+80|0;m=n+40|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;r=s+11|0;b[r>>0]=5;b[s>>0]=b[40395]|0;b[s+1>>0]=b[40396]|0;b[s+2>>0]=b[40397]|0;b[s+3>>0]=b[40398]|0;b[s+4>>0]=b[40399]|0;b[s+5>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,q|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;i=l;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(30,s|0,a|0,e|0,l|0,q|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,o|0,c|0);h=x;x=0;if(!(h&1)){f[o>>2]=16848;c=f[q>>2]|0;if(c|0){j=q+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[q>>2]|0}Hta(c)}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);x=0;c=qa(340,f[o+4>>2]|0)|0;r=x;x=0;if(r&1)p=31;else{x=0;Ga(462,s|0,c|0);r=x;x=0;if(r&1)p=31;else{f[s>>2]=7584;x=0;d=qa(318,68)|0;r=x;x=0;do if(r&1)c=Ya()|0;else{i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=f[s+4>>2]|0;if(!c)c=0;else c=b[c+85>>0]|0;i=l;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);r=x;x=0;if(r&1){c=Ya()|0;Hta(d);break}else{i=d+12|0;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=c;f[d+64>>2]=0;f[d+56>>2]=1;_P(s);_P(o);u=n;return d|0}}while(0);_P(s)}}if((p|0)==31)c=Ya()|0;_P(o);s=c;jb(s|0)}}c=Ya()|0;k=I;d=f[q>>2]|0;if(d){a=q+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[q>>2]|0}Hta(d)}}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);s=c;jb(s|0);return 0}function Nk(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;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+16|0;q=r;o=r+8|0;l=d;while(1){if((l|0)==(e|0)){l=e;break}if(!(f[l>>2]|0))break;l=l+4|0}f[j>>2]=h;f[g>>2]=d;n=i;p=a+8|0;a:while(1){if((h|0)==(i|0)|(d|0)==(e|0)){k=d;a=53;break}s=c;a=f[s+4>>2]|0;m=q;f[m>>2]=f[s>>2];f[m+4>>2]=a;m=LV(f[p>>2]|0)|0;x=0;a=wa(35,h|0,g|0,l-d>>2|0,n-h|0,c|0)|0;s=x;x=0;if(s&1){a=11;break}if(m|0){x=0;qa(407,m|0)|0;s=x;x=0;if(s&1){a=10;break}}switch(a|0){case -1:{a=16;break a}case 0:{k=1;a=50;break a}default:{}}h=(f[j>>2]|0)+a|0;f[j>>2]=h;if((h|0)==(i|0)){a=51;break}if((l|0)==(e|0)){l=e;d=f[g>>2]|0}else{d=LV(f[p>>2]|0)|0;x=0;h=ta(173,o|0,0,c|0)|0;s=x;x=0;if(s&1){a=36;break}if(d|0){x=0;qa(407,d|0)|0;s=x;x=0;if(s&1){a=35;break}}if((h|0)==-1){k=2;a=49;break}if(h>>>0>(n-(f[j>>2]|0)|0)>>>0){k=1;a=49;break}else d=o;while(1){if(!h)break;m=b[d>>0]|0;s=f[j>>2]|0;f[j>>2]=s+1;b[s>>0]=m;d=d+1|0;h=h+-1|0}d=(f[g>>2]|0)+4|0;f[g>>2]=d;l=d;while(1){if((l|0)==(e|0)){l=e;break}if(!(f[l>>2]|0))break;l=l+4|0}h=f[j>>2]|0}}do if((a|0)==10){s=Za(0)|0;soa(s)}else if((a|0)==11){k=Ya()|0;if(m|0){x=0;qa(407,m|0)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}}jb(k|0)}else if((a|0)==16){f[j>>2]=h;while(1){if((d|0)==(f[g>>2]|0)){a=28;break}s=f[d>>2]|0;l=LV(f[p>>2]|0)|0;x=0;h=ta(173,h|0,s|0,q|0)|0;s=x;x=0;if(s&1){a=22;break}if(l|0){x=0;qa(407,l|0)|0;s=x;x=0;if(s&1){a=21;break}}if((h|0)==-1){a=28;break}h=(f[j>>2]|0)+h|0;f[j>>2]=h;d=d+4|0}if((a|0)==21){s=Za(0)|0;soa(s)}else if((a|0)==22){k=Ya()|0;if(l|0){x=0;qa(407,l|0)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}}jb(k|0)}else if((a|0)==28){f[g>>2]=d;k=2;a=50;break}}else if((a|0)==35){s=Za(0)|0;soa(s)}else if((a|0)==36){k=Ya()|0;if(d|0){x=0;qa(407,d|0)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}}jb(k|0)}else if((a|0)==49)a=50;else if((a|0)==51){k=f[g>>2]|0;a=53}while(0);if((a|0)!=50)if((a|0)==53)k=(k|0)!=(e|0)&1;u=r;return k|0}function Ok(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;n=0;k=u;u=u+160|0;h=k+40|0;j=k;d=k+120|0;i=k+80|0;f[a>>2]=17384;f[a+4>>2]=c;f[a+8>>2]=f[c+4>>2];f[a+12>>2]=f[c+8>>2];b[a+16>>0]=0;b[a+17>>0]=0;b[a+18>>0]=0;m=a+20|0;x=0;Ga(462,m|0,0);l=x;x=0;if(l&1){n=Ya()|0;jb(n|0)}f[m>>2]=16864;l=a+28|0;x=0;Ga(462,l|0,0);g=x;x=0;if(g&1)c=Ya()|0;else{f[l>>2]=16864;x=0;c=qa(318,68)|0;g=x;x=0;do if(g&1)n=22;else{x=0;Ja(14,d|0,48237,0,-1);g=x;x=0;if(!(g&1)){g=j;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Fa(427,c|0);g=x;x=0;if(!(g&1)){g=c+12|0;d=j;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=11240;b[c+60>>0]=1;f[c+64>>2]=0;f[c+56>>2]=1;x=0;Ga(462,h|0,c|0);g=x;x=0;if(g&1){n=22;break}f[h>>2]=16864;if((m|0)!=(h|0)){c=a+24|0;if(f[c>>2]|0){x=0;Fa(429,m|0);g=x;x=0;if(g&1){c=Ya()|0;_P(h);n=25;break}}g=h+4|0;f[c>>2]=f[g>>2];f[g>>2]=0}_P(h);x=0;c=qa(318,68)|0;g=x;x=0;do if(g&1)n=26;else{x=0;Ja(14,i|0,48237,0,-1);g=x;x=0;if(!(g&1)){g=h;d=i;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Fa(427,c|0);i=x;x=0;if(!(i&1)){g=c+12|0;d=h;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=11240;b[c+60>>0]=0;f[c+64>>2]=0;f[c+56>>2]=1;x=0;Ga(462,j|0,c|0);i=x;x=0;if(i&1){n=26;break}f[j>>2]=16864;if((l|0)==(j|0)){_P(j);u=k;return}c=a+32|0;if(f[c>>2]|0){x=0;Fa(429,l|0);i=x;x=0;if(i&1){c=Ya()|0;_P(j);break}}n=j+4|0;f[c>>2]=f[n>>2];f[n>>2]=0;_P(j);u=k;return}}k=Ya()|0;Hta(c);c=k}while(0);if((n|0)==26)c=Ya()|0;break}}n=Ya()|0;Hta(c);c=n;n=25}while(0);if((n|0)==22){c=Ya()|0;n=25}_P(l)}_P(m);n=c;jb(n|0)}function Pk(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;h=u;u=u+48|0;l=h+24|0;m=h+12|0;k=h;j=f[c+76>>2]|0;i=VX(j)|0;j=i|0?i:j;j=(b[j>>0]|0)==36?j+1|0:0;a:do if((j|0)==0?1:j>>>0>(f[c+80>>2]|0)>>>0){d=VN(16)|0;f[l>>2]=d;f[l+8>>2]=-2147483632;f[l+4>>2]=11;g=d;i=44242;j=g+11|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+11>>0]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=7;b[m>>0]=b[44254]|0;b[m+1>>0]=b[44255]|0;b[m+2>>0]=b[44256]|0;b[m+3>>0]=b[44257]|0;b[m+4>>0]=b[44258]|0;b[m+5>>0]=b[44259]|0;b[m+6>>0]=b[44260]|0;b[m+7>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;d=qa(318,32)|0;j=x;x=0;do if(j&1)d=Ya()|0;else{f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=20;g=d;i=46987;j=g+20|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+20>>0]=0;x=0;Ka(8,c|0,l|0,m|0,k|0,1);j=x;x=0;if(j&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);break a}while(0);if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);m=d;jb(m|0)}while(0);if(au(c,1,0)|0){m=c+28|0;f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];u=h;return}tv(c,1,0)|0;d=VN(16)|0;f[l>>2]=d;f[l+8>>2]=-2147483632;f[l+4>>2]=11;g=d;i=44242;j=g+11|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+11>>0]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=7;b[m>>0]=b[44254]|0;b[m+1>>0]=b[44255]|0;b[m+2>>0]=b[44256]|0;b[m+3>>0]=b[44257]|0;b[m+4>>0]=b[44258]|0;b[m+5>>0]=b[44259]|0;b[m+6>>0]=b[44260]|0;b[m+7>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;d=qa(318,32)|0;j=x;x=0;do if(j&1)d=Ya()|0;else{f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=27;g=d;i=46221;j=g+27|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+27>>0]=0;x=0;Ka(8,c|0,l|0,m|0,k|0,1);j=x;x=0;if(j&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);m=c+28|0;f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];u=h;return}while(0);if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);m=d;jb(m|0)}function Qk(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;z=u;u=u+64|0;q=z+40|0;s=z+32|0;t=z+24|0;v=z+16|0;w=z+48|0;A=z+8|0;y=z;c=f[a+76>>2]|0;r=(f[a+80>>2]|0)-c>>3;if(!r){u=z;return}i=a+76|0;j=q+4|0;k=s+4|0;l=t+4|0;m=w+4|0;n=v+4|0;o=A+4|0;p=y+4|0;a=0;a:while(1){qV(q,f[(f[c+(a<<3)+4>>2]|0)+80>>2]|0);f[q>>2]=15572;h=(f[j>>2]|0)==0;_P(q);do if(!h){qV(s,f[(f[(f[i>>2]|0)+(a<<3)+4>>2]|0)+80>>2]|0);f[s>>2]=15572;h=f[k>>2]|0;c=f[h+76>>2]|0;if(((f[h+80>>2]|0)-c|0)==8){c=f[c+4>>2]|0;if(c|0){h=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)==33918;_P(s);if(!h)break;c=f[(f[i>>2]|0)+(a<<3)+4>>2]|0;if(!(f[c+72>>2]|0)){qV(t,f[c+88>>2]|0);f[t>>2]=15556;h=(f[l>>2]|0)==0;_P(t);if(h)break;c=f[(f[i>>2]|0)+(a<<3)+4>>2]|0;if(b[c+60>>0]|0){qV(v,f[c+88>>2]|0);f[v>>2]=15556;b[(f[n>>2]|0)+60>>0]=1;_P(v);c=f[(f[i>>2]|0)+(a<<3)+4>>2]|0}qV(w,f[c+88>>2]|0);f[w>>2]=15556;c=f[i>>2]|0;d=c+(a<<3)|0;if((d|0)!=(w|0)){c=c+(a<<3)+4|0;if(f[c>>2]|0){x=0;Fa(429,d|0);h=x;x=0;if(h&1){B=18;break a}}f[c>>2]=f[m>>2];f[m>>2]=0}_P(w);break}qV(A,f[c+80>>2]|0);f[A>>2]=15572;d=f[o>>2]|0;x=0;Ga(462,y|0,f[(f[(f[i>>2]|0)+(a<<3)+4>>2]|0)+80>>2]|0);h=x;x=0;if(h&1){B=28;break a}f[y>>2]=15572;e=f[(f[p>>2]|0)+76>>2]|0;c=e+8|0;h=d+80|0;g=f[h>>2]|0;if((c|0)==(g|0))B=25;else{do{d=e+4|0;if(f[d>>2]|0){x=0;Fa(429,e|0);C=x;x=0;if(C&1){B=29;break a}}C=c+4|0;f[d>>2]=f[C>>2];f[C>>2]=0;c=c+8|0;e=e+8|0}while((c|0)!=(g|0));c=f[h>>2]|0;if((c|0)!=(e|0))B=25}if((B|0)==25){B=0;do{C=c+-8|0;f[h>>2]=C;Kc[f[f[C>>2]>>2]&511](C);c=f[h>>2]|0}while((c|0)!=(e|0))}_P(y);_P(A);break}}_P(s)}while(0);a=a+1|0;if(a>>>0>=r>>>0){B=3;break}c=f[i>>2]|0}if((B|0)==3){u=z;return}else if((B|0)==18){C=Ya()|0;_P(w);jb(C|0)}else if((B|0)==28)a=Ya()|0;else if((B|0)==29){a=Ya()|0;_P(y)}_P(A);C=a;jb(C|0)}function Rk(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;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=u;u=u+16|0;q=r;l=d;while(1){if((l|0)==(e|0)){l=e;break}if(!(b[l>>0]|0))break;l=l+1|0}f[j>>2]=h;f[g>>2]=d;m=i;p=a+8|0;a=h;while(1){if((a|0)==(i|0)|(d|0)==(e|0)){k=d;m=50;break}h=c;n=f[h+4>>2]|0;o=q;f[o>>2]=f[h>>2];f[o+4>>2]=n;o=l;n=LV(f[p>>2]|0)|0;x=0;h=wa(36,a|0,g|0,o-d|0,m-a>>2|0,c|0)|0;s=x;x=0;if(s&1){m=11;break}if(n|0){x=0;qa(407,n|0)|0;s=x;x=0;if(s&1){m=10;break}}if((h|0)==-1){l=a;m=16;break}a=(f[j>>2]|0)+(h<<2)|0;f[j>>2]=a;if((a|0)==(i|0)){m=47;break}d=f[g>>2]|0;if((l|0)==(e|0))l=e;else{h=LV(f[p>>2]|0)|0;x=0;l=ua(31,a|0,d|0,1,c|0)|0;s=x;x=0;if(s&1){m=37;break}if(h|0){x=0;qa(407,h|0)|0;s=x;x=0;if(s&1){m=36;break}}if(l|0){k=2;m=46;break}f[j>>2]=(f[j>>2]|0)+4;d=(f[g>>2]|0)+1|0;f[g>>2]=d;l=d;while(1){if((l|0)==(e|0)){l=e;break}if(!(b[l>>0]|0))break;l=l+1|0}a=f[j>>2]|0}}do if((m|0)==10){s=Za(0)|0;soa(s)}else if((m|0)==11){k=Ya()|0;if(n|0){x=0;qa(407,n|0)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}}jb(k|0)}else if((m|0)==16){a:while(1){f[j>>2]=l;if((d|0)==(f[g>>2]|0)){m=30;break}a=LV(f[p>>2]|0)|0;x=0;l=ua(31,l|0,d|0,o-d|0,q|0)|0;s=x;x=0;if(s&1){m=21;break}if(a|0){x=0;qa(407,a|0)|0;s=x;x=0;if(s&1){m=20;break}}switch(l|0){case -1:{m=27;break a}case -2:{m=28;break a}case 0:{l=1;break}default:{}}d=d+l|0;l=(f[j>>2]|0)+4|0;m=16}if((m|0)==20){s=Za(0)|0;soa(s)}else if((m|0)==21){k=Ya()|0;if(a|0){x=0;qa(407,a|0)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}}jb(k|0)}else if((m|0)==27){f[g>>2]=d;k=2;m=46;break}else if((m|0)==28){f[g>>2]=d;k=1;m=46;break}else if((m|0)==30){f[g>>2]=d;k=(d|0)!=(e|0)&1;m=46;break}}else if((m|0)==36){s=Za(0)|0;soa(s)}else if((m|0)==37){k=Ya()|0;if(h|0){x=0;qa(407,h|0)|0;s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}}jb(k|0)}else if((m|0)==47){k=f[g>>2]|0;m=50}while(0);if((m|0)!=46)if((m|0)==50)k=(k|0)!=(e|0)&1;u=r;return k|0}function Sk(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,v=0;t=0;v=u;u=u+16|0;s=v;o=a+11|0;h=b[o>>0]|0;g=h<<24>>24<0;p=a+4|0;h=g?f[p>>2]|0:h&255;q=c+11|0;n=b[q>>0]|0;l=n<<24>>24<0;r=c+4|0;n=l?f[r>>2]|0:n&255;i=h>>>0>>0;e=i?h:n;if(!e)t=3;else{e=lO(l?f[c>>2]|0:c,g?f[a>>2]|0:a,e)|0;if(!e)t=3}if((t|0)==3)e=n>>>0>>0?-1:i&1;j=(e|0)<0;k=d+11|0;h=b[k>>0]|0;g=h<<24>>24<0;m=d+4|0;h=g?f[m>>2]|0:h&255;i=n>>>0>>0;e=i?n:h;if(!e)t=6;else{e=lO(g?f[d>>2]|0:d,l?f[c>>2]|0:c,e)|0;if(!e)t=6}if((t|0)==6)e=h>>>0>>0?-1:i&1;e=(e|0)<0;if(!j){if(!e){c=0;u=v;return c|0}f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[d>>2]=f[s>>2];f[d+4>>2]=f[s+4>>2];f[d+8>>2]=f[s+8>>2];j=b[o>>0]|0;i=j<<24>>24<0;j=i?f[p>>2]|0:j&255;h=b[q>>0]|0;g=h<<24>>24<0;h=g?f[r>>2]|0:h&255;e=j>>>0>>0?j:h;if(!e)t=11;else{e=lO(g?f[c>>2]|0:c,i?f[a>>2]|0:a,e)|0;if(!e)t=11;else if((e|0)<0)e=a;else{c=1;u=v;return c|0}}do if((t|0)==11)if(h>>>0>>0){e=a;break}else{c=1;u=v;return c|0}while(0);f[s>>2]=f[e>>2];f[s+4>>2]=f[e+4>>2];f[s+8>>2]=f[e+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];c=2;u=v;return c|0}if(e){f[s>>2]=f[a>>2];f[s+4>>2]=f[a+4>>2];f[s+8>>2]=f[a+8>>2];f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];f[d>>2]=f[s>>2];f[d+4>>2]=f[s+4>>2];f[d+8>>2]=f[s+8>>2];c=1;u=v;return c|0}f[s>>2]=f[a>>2];f[s+4>>2]=f[a+4>>2];f[s+8>>2]=f[a+8>>2];f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];j=b[q>>0]|0;i=j<<24>>24<0;j=i?f[r>>2]|0:j&255;h=b[k>>0]|0;g=h<<24>>24<0;h=g?f[m>>2]|0:h&255;e=j>>>0>>0?j:h;if(!e)t=19;else{e=lO(g?f[d>>2]|0:d,i?f[c>>2]|0:c,e)|0;if(!e)t=19;else if((e|0)<0)e=d;else{c=1;u=v;return c|0}}do if((t|0)==19)if(h>>>0>>0){e=d;break}else{c=1;u=v;return c|0}while(0);f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];c=2;u=v;return c|0}function Tk(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;r=u;u=u+112|0;n=r+72|0;t=r+64|0;s=r+16|0;o=r+24|0;p=r+8|0;q=r;qV(t,f[c+84>>2]|0);f[t>>2]=7904;g=t+4|0;d=f[g>>2]|0;if(!d){d=0;e=3}else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;m=x;x=0;if(m&1)e=15;else e=3}do if((e|0)==3){x=0;Ga(462,n|0,d|0);m=x;x=0;if(m&1)e=15;else{f[n>>2]=7904;if(f[g>>2]|0){x=0;Fa(429,t|0);m=x;x=0;if(m&1){d=Ya()|0;_P(n);break}}m=n+4|0;f[g>>2]=f[m>>2];f[m>>2]=0;_P(n);x=0;m=qa(318,92)|0;l=x;x=0;a:do if(l&1)d=Ya()|0;else{j=o;k=c+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(462,p|0,f[g>>2]|0);l=x;x=0;if(l&1)d=Ya()|0;else{f[p>>2]=7904;d=c+64|0;i=c+68|0;e=(f[i>>2]|0)-(f[d>>2]|0)>>3;g=(b[c+88>>0]|0)!=0;h=(b[c+89>>0]|0)!=0;x=0;j=n;k=o;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));La(23,m|0,n|0,p|0,e|0,g|0,h|0);o=x;x=0;if(o&1)e=1;else{x=0;Ga(462,s|0,m|0);o=x;x=0;if(o&1)e=0;else{f[s>>2]=17224;_P(p);e=f[d>>2]|0;j=(f[i>>2]|0)-e>>3;k=s+4|0;b:do if(j|0){i=c+64|0;d=0;while(1){g=(f[k>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;e=f[e+(d<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;c=x;x=0;if(c&1){e=22;break}x=0;Ga(462,q|0,e|0);c=x;x=0;if(c&1){e=22;break}f[q>>2]=12096;x=0;Ga(h|0,g|0,q|0);c=x;x=0;if(c&1){e=28;break}_P(q);d=d+1|0;if(d>>>0>=j>>>0)break b;e=f[i>>2]|0}if((e|0)==22)d=Ya()|0;else if((e|0)==28){d=Ya()|0;_P(q)}_P(s);break a}while(0);d=f[k>>2]|0;if(!d){q=0;_P(s);_P(t);u=r;return q|0}b[d+8>>0]=1;q=d;_P(s);_P(t);u=r;return q|0}}d=Ya()|0;_P(p);if(!e)break}Hta(m)}while(0);s=d;_P(t);jb(s|0)}}while(0);if((e|0)==15)d=Ya()|0;s=d;_P(t);jb(s|0);return 0}function Uk(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=0;m=u;u=u+32|0;k=m+16|0;n=m+4|0;l=m;i=c+11|0;g=b[i>>0]|0;h=g<<24>>24<0;e=d<<24>>24|0;d=(e|0)==0?34:(e|0)!=42?d:34;e=h?f[c>>2]|0:c;a:while(1){switch(b[e>>0]|0){case 0:{o=5;break a}case 39:{j=34;break a}case 34:{d=39;break}default:{}}e=e+1|0}if((o|0)==5)j=d;d=h?f[c+4>>2]|0:g&255;if(!d){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=2;AD(a|0,(j<<24>>24?j:34)|0,2)|0;b[a+2>>0]=0;u=m;return}f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;Ga(501,n|0,d+2|0);h=x;x=0;if(h&1)o=14;else{x=0;Ga(534,n|0,j|0);h=x;x=0;if(h&1)o=14;else{d=(b[i>>0]|0)<0?f[c>>2]|0:c;f[l>>2]=d;g=d+(hL(d)|0)+1|0;e=b[d>>0]|0;b:do if(d>>>0>>0&e<<24>>24!=0)while(1){if(e<<24>>24==j<<24>>24){x=0;Ga(534,n|0,92);i=x;x=0;if(i&1)break b}else if(e<<24>>24==92){x=0;Ga(534,n|0,92);i=x;x=0;if(i&1)break b}x=0;e=sa(1018,l|0,g|0)|0;i=x;x=0;if(i&1)break b;if((e|0)==13){e=f[l>>2]|0;if(e>>>0>>0){f[k>>2]=e;x=0;e=sa(1018,k|0,g|0)|0;i=x;x=0;if(i&1)break b;if((e|0)==10){x=0;e=sa(1018,l|0,g|0)|0;i=x;x=0;if(i&1)break b;else o=23}else{d=13;o=34}}else{d=13;o=34}}else o=23;c:do if((o|0)==23){o=0;if((e|0)!=10){if((e|0)<127){d=e;o=34;break}if(d>>>0>=(f[l>>2]|0)>>>0)break;while(1){x=0;Ga(534,n|0,b[d>>0]|0);i=x;x=0;if(i&1)break b;d=d+1|0;if(d>>>0>=(f[l>>2]|0)>>>0)break c}}x=0;Ga(534,n|0,92);i=x;x=0;if(i&1)break b;x=0;Ga(534,n|0,97);i=x;x=0;if(i&1)break b;d=f[l>>2]|0;e=b[d>>0]|0;if((e+-97&255)>5)if((e+-65&255)>5&(e+-48&255)>9){x=0;d=qa(345,d|0)|0;i=x;x=0;if(i&1)break b;if(!d)break}x=0;Ga(534,n|0,32);i=x;x=0;if(i&1)break b}while(0);if((o|0)==34){o=0;x=0;Ga(534,n|0,d&255|0);i=x;x=0;if(i&1)break b}d=f[l>>2]|0;e=b[d>>0]|0;if(!(d>>>0>>0&e<<24>>24!=0)){o=37;break}}else o=37;while(0);if((o|0)==37){x=0;Ga(534,n|0,j|0);l=x;x=0;if(!(l&1)){f[a>>2]=f[n>>2];f[a+4>>2]=f[n+4>>2];f[a+8>>2]=f[n+8>>2];u=m;return}}d=Ya()|0}}if((o|0)==14)d=Ya()|0;if((b[n+11>>0]|0)>=0)jb(d|0);Hta(f[n>>2]|0);jb(d|0)}function Vk(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,v=0;t=0;v=u;u=u+16|0;s=v;r=qn(a,c,d,e,h)|0;n=e+11|0;k=b[n>>0]|0;j=k<<24>>24<0;o=e+4|0;k=j?f[o>>2]|0:k&255;l=b[g+11>>0]|0;i=l<<24>>24<0;l=i?f[g+4>>2]|0:l&255;h=k>>>0>>0?k:l;if(!h)t=3;else{h=lO(i?f[g>>2]|0:g,j?f[e>>2]|0:e,h)|0;if(!h)t=3;else if((h|0)<0){h=g;m=e}else{t=r;u=v;return t|0}}do if((t|0)==3)if(l>>>0>>0){h=g;m=e;break}else{t=r;u=v;return t|0}while(0);f[s>>2]=f[m>>2];f[s+4>>2]=f[m+4>>2];f[s+8>>2]=f[m+8>>2];f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[h>>2]=f[s>>2];f[h+4>>2]=f[s+4>>2];f[h+8>>2]=f[s+8>>2];l=r+1|0;p=d+11|0;g=b[p>>0]|0;k=g<<24>>24<0;q=d+4|0;g=k?f[q>>2]|0:g&255;j=b[n>>0]|0;i=j<<24>>24<0;j=i?f[o>>2]|0:j&255;h=g>>>0>>0?g:j;if(!h)t=8;else{h=lO(i?f[e>>2]|0:m,k?f[d>>2]|0:d,h)|0;if(!h)t=8;else if((h|0)<0)n=d;else{t=l;u=v;return t|0}}do if((t|0)==8)if(j>>>0>>0){n=d;break}else{t=l;u=v;return t|0}while(0);f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];f[s+8>>2]=f[n+8>>2];f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];f[n+8>>2]=f[m+8>>2];f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];l=r+2|0;o=c+11|0;g=b[o>>0]|0;k=g<<24>>24<0;e=c+4|0;g=k?f[e>>2]|0:g&255;j=b[p>>0]|0;i=j<<24>>24<0;j=i?f[q>>2]|0:j&255;h=g>>>0>>0?g:j;if(!h)t=13;else{h=lO(i?f[d>>2]|0:n,k?f[c>>2]|0:c,h)|0;if(!h)t=13;else if((h|0)<0)m=c;else{t=l;u=v;return t|0}}do if((t|0)==13)if(j>>>0>>0){m=c;break}else{t=l;u=v;return t|0}while(0);f[s>>2]=f[m>>2];f[s+4>>2]=f[m+4>>2];f[s+8>>2]=f[m+8>>2];f[m>>2]=f[n>>2];f[m+4>>2]=f[n+4>>2];f[m+8>>2]=f[n+8>>2];f[n>>2]=f[s>>2];f[n+4>>2]=f[s+4>>2];f[n+8>>2]=f[s+8>>2];l=r+3|0;g=b[a+11>>0]|0;k=g<<24>>24<0;g=k?f[a+4>>2]|0:g&255;j=b[o>>0]|0;i=j<<24>>24<0;j=i?f[e>>2]|0:j&255;h=g>>>0>>0?g:j;if(!h)t=18;else{h=lO(i?f[c>>2]|0:m,k?f[a>>2]|0:a,h)|0;if(!h)t=18;else if((h|0)>=0){t=l;u=v;return t|0}}do if((t|0)==18)if(j>>>0>>0)break;else{t=l;u=v;return t|0}while(0);f[s>>2]=f[a>>2];f[s+4>>2]=f[a+4>>2];f[s+8>>2]=f[a+8>>2];f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];t=r+4|0;u=v;return t|0}function Wk(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;k=0;m=u;u=u+112|0;l=m;j=m+64|0;o=m+52|0;n=m+40|0;i=j;g=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(g|0));g=vc[f[(f[e>>2]|0)+8>>2]&511](e)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;if(h>>>0>4294967279)CO(o);if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;k=6}}else{k=h+16&-16;d=VN(k)|0;f[o>>2]=d;f[o+8>>2]=k|-2147483648;f[o+4>>2]=h;k=6}if((k|0)==6)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ga(511,n|0,c|0);k=x;x=0;if(k&1)d=Ya()|0;else{i=l;d=j;g=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(g|0));x=0;Ga(538,a|0,o|0);k=x;x=0;if(k&1){d=Ya()|0;j=I}else{f[a>>2]=16212;c=a+8|0;x=0;Ga(459,c|0,o|0);k=x;x=0;do if(k&1){d=Ya()|0;g=I}else{j=a+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;h=j+11|0;b[h>>0]=5;b[j>>0]=b[53005]|0;b[j+1>>0]=b[53006]|0;b[j+2>>0]=b[53007]|0;b[j+3>>0]=b[53008]|0;b[j+4>>0]=b[53009]|0;b[j+5>>0]=0;i=a+32|0;d=l;g=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(g|0));x=0;Ga(511,a+72|0,n|0);l=x;x=0;if(l&1){d=Ya()|0;g=I;if((b[h>>0]|0)<0)Hta(f[j>>2]|0);if((b[c+11>>0]|0)>=0)break;Hta(f[c>>2]|0);break}d=f[n>>2]|0;if(d|0){i=n+4|0;g=f[i>>2]|0;if((g|0)!=(d|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(d|0));d=f[n>>2]|0}Hta(d)}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);f[a>>2]=21332;o=vc[f[(f[e>>2]|0)+8>>2]&511](e)|0;x=0;sa(1032,c|0,o|0)|0;o=x;x=0;if(!(o&1)){x=0;d=qa(f[(f[e>>2]|0)+12>>2]|0,e|0)|0;o=x;x=0;if(!(o&1)){x=0;sa(1032,j|0,d|0)|0;o=x;x=0;if(!(o&1)){u=m;return}}}o=Ya()|0;PF(a);jb(o|0)}while(0);dfa(a);j=g}g=f[n>>2]|0;if(g){c=n+4|0;h=f[c>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[c>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[c>>2]|0}else h=i}while((h|0)!=(g|0));g=f[n>>2]|0}Hta(g)}}if((b[o+11>>0]|0)>=0){o=d;jb(o|0)}Hta(f[o>>2]|0);o=d;jb(o|0)}function Xk(){var a=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;h=u;u=u+80|0;l=h;g=h+40|0;p[7668]=3.141592653589793;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;j=l+11|0;b[j>>0]=5;b[l>>0]=b[52897]|0;b[l+1>>0]=b[52898]|0;b[l+2>>0]=b[52899]|0;b[l+3>>0]=b[52900]|0;b[l+4>>0]=b[52901]|0;b[l+5>>0]=0;i=l+12|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;k=i+11|0;b[k>>0]=5;b[i>>0]=b[52903]|0;b[i+1>>0]=b[52904]|0;b[i+2>>0]=b[52905]|0;b[i+3>>0]=b[52906]|0;b[i+4>>0]=b[52907]|0;b[i+5>>0]=0;f[19778]=0;f[19779]=0;f[19780]=0;x=0;a=qa(318,24)|0;e=x;x=0;if(e&1)a=Ya()|0;else{f[19779]=a;f[19778]=a;f[19780]=a+24;x=0;Ga(459,a|0,l|0);e=x;x=0;if(!(e&1)){e=(f[19779]|0)+12|0;f[19779]=e;x=0;Ga(459,e|0,i|0);e=x;x=0;if(!(e&1)){f[19779]=(f[19779]|0)+12;if((b[k>>0]|0)<0)Hta(f[i>>2]|0);if((b[j>>0]|0)<0)Hta(f[l>>2]|0);f[19781]=0;f[19782]=0;f[19783]=0;a=VN(32)|0;f[19781]=a;f[19783]=-2147483616;f[19782]=21;c=a;d=52909;e=c+21|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+21>>0]=0;f[19784]=0;f[19785]=0;f[19786]=0;a=VN(32)|0;f[19784]=a;f[19786]=-2147483616;f[19785]=19;c=a;d=52931;e=c+19|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+19>>0]=0;f[19787]=0;f[19788]=0;f[19789]=0;a=VN(32)|0;f[19787]=a;f[19789]=-2147483616;f[19788]=22;c=a;d=52951;e=c+22|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+22>>0]=0;f[19790]=0;f[19791]=0;f[19792]=0;a=VN(32)|0;f[19790]=a;f[19792]=-2147483616;f[19791]=23;c=a;d=52974;e=c+23|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[a+23>>0]=0;f[19793]=0;f[19794]=0;f[19795]=0;b[79183]=6;b[79172]=b[52998]|0;b[79173]=b[52999]|0;b[79174]=b[53e3]|0;b[79175]=b[53001]|0;b[79176]=b[53002]|0;b[79177]=b[53003]|0;b[79178]=0;dP(g,36319,0,-1);c=l;d=g;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));efa(79184);c=79196;d=l;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));b[79236]=0;b[79237]=0;b[79238]=0;f[19796]=13152;f[19810]=8;u=h;return}}a=Ya()|0;e=I;c=f[19778]|0;if(c){d=f[19779]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19779]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19779]|0}}while((d|0)!=(c|0));c=f[19778]|0}Hta(c)}}if((b[k>>0]|0)<0)Hta(f[i>>2]|0);if((b[j>>0]|0)>=0)jb(a|0);Hta(f[l>>2]|0);jb(a|0)}function Yk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;switch(c|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:e=0.0}a:do if((j|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0}while((wpa(c)|0)!=0);b:do switch(c|0){case 43:case 45:{i=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;g=h[c>>0]|0;break b}else{g=ID(a)|0;break b}}default:{g=c;i=1}}while(0);c=0;do{if((g|32|0)!=(b[56801+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=ID(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{j=23;break}default:{k=(d|0)!=0;if(k&c>>>0>3)if((c|0)==8)break c;else{j=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[56810+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=ID(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=ID(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26))if(!((g|0)==95|(g+-97|0)>>>0<26))break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!k){o=bua()|0;f[o>>2]=22;PR(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0;if((c|32|0)==120){e=+ej(a,m,l,i,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+Xf(a,c,m,l,i,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=bua()|0;f[o>>2]=22;PR(a,0);e=0.0;break a}}}}while(0);if((j|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+(i|0)*C}while(0);return +e}function Zk(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=0;z=u;u=u+480|0;p=z+468|0;E=z+464|0;v=z+472|0;w=z+460|0;y=z+456|0;B=z+444|0;C=z+432|0;D=z+420|0;l=z+416|0;n=z+16|0;q=z+8|0;r=z+4|0;s=z;kha(E,e);x=0;t=sa(994,E|0,83352)|0;o=x;x=0;a:do if(o&1)a=Ya()|0;else{j=h+8+3|0;o=b[j>>0]|0;a=o<<24>>24<0;k=h+4|0;do if(!((a?f[k>>2]|0:o&255)|0))o=0;else{a=f[(a?f[h>>2]|0:h)>>2]|0;x=0;i=sa(f[(f[t>>2]|0)+44>>2]|0,t|0,45)|0;o=x;x=0;if(o&1){a=Ya()|0;break a}else{o=(a|0)==(i|0);break}}while(0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[B+(a<<2)>>2]=0;a=a+1|0}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[D+(a<<2)>>2]=0;a=a+1|0}x=0;Oa(4,d|0,o|0,E|0,v|0,w|0,y|0,B|0,C|0,D|0,l|0);m=x;x=0;if(m&1)a=Ya()|0;else{d=b[j>>0]|0;m=d<<24>>24<0;k=m?f[k>>2]|0:d&255;d=f[l>>2]|0;if((k|0)>(d|0)){i=b[D+8+3>>0]|0;j=b[C+8+3>>0]|0;a=1;i=(i<<24>>24<0?f[D+4>>2]|0:i&255)+(k-d<<1)|0;j=j<<24>>24<0?f[C+4>>2]|0:j&255}else{j=b[D+8+3>>0]|0;i=b[C+8+3>>0]|0;a=2;i=i<<24>>24<0?f[C+4>>2]|0:i&255;j=j<<24>>24<0?f[D+4>>2]|0:j&255}a=j+d+i+a|0;if(a>>>0>100){a=Rd(a<<2)|0;i=a;if(!a){x=0;Ea(6);x=0;a=Ya()|0}else A=24}else{a=n;i=0;A=24}if((A|0)==24){A=m?f[h>>2]|0:h;x=0;Pa(2,a|0,q|0,r|0,f[e+4>>2]|0,A|0,A+(k<<2)|0,t|0,o|0,v|0,f[w>>2]|0,f[y>>2]|0,B|0,C|0,D|0,d|0);A=x;x=0;if(!(A&1)){f[s>>2]=f[c>>2];h=f[q>>2]|0;A=f[r>>2]|0;x=0;f[p>>2]=f[s>>2];a=ya(46,p|0,a|0,h|0,A|0,e|0,g|0)|0;A=x;x=0;if(!(A&1)){if(i|0)$h(i);jaa(D);jaa(C);Aaa(B);uga(E);u=z;return a|0}}a=Ya()|0}if(i|0)$h(i)}jaa(D);jaa(C);Aaa(B)}while(0);uga(E);jb(a|0);return 0}function _k(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=0;r=u;u=u+112|0;o=r+72|0;t=r+56|0;p=r+16|0;s=r;n=c+11|0;m=b[n>>0]|0;i=m<<24>>24<0;j=c+4|0;m=i?f[j>>2]|0:m&255;i=i?f[c>>2]|0:c;a:do if(!m)d=-1;else{e=i+m|0;d=i;while(1){if(!(HB(45044,h[d>>0]|0,4)|0))break;d=d+1|0;if((d|0)==(e|0)){d=-1;break a}}d=d-i|0}while(0);k=(d|0)==-1?m:d;b:do if(m>>>0>k>>>0){e=i+m|0;d=i+k|0;while(1){if(!(HB(45049,h[d>>0]|0,13)|0))break;d=d+1|0;if((d|0)==(e|0)){d=-1;break b}}d=d-i|0}else d=-1;while(0);c:do if((b[i+d>>0]|0)==101){g=d+1|0;if(aW(i+g|0)|0){d=b[n>>0]|0;e=d<<24>>24<0;i=e?f[c>>2]|0:c;d=e?f[j>>2]|0:d&255;if(d>>>0>g>>>0){e=i+d|0;d=i+g|0;while(1){if(!(HB(45049,h[d>>0]|0,13)|0))break;d=d+1|0;if((d|0)==(e|0)){d=-1;break c}}d=d-i|0}else d=-1}}while(0);FC(t,c,k,((d|0)==-1?m:d)-k|0,c);x=0;m=qa(318,104)|0;k=x;x=0;if(k&1){e=Ya()|0;d=t+11|0}else{i=p;g=i+40|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(g|0));d=t+11|0;x=0;l=+ga(3,((b[d>>0]|0)<0?f[t>>2]|0:t)|0);k=x;x=0;do if(k&1)q=38;else{x=0;i=qa(375,((b[n>>0]|0)<0?f[c>>2]|0:c)|0)|0;n=x;x=0;if(n&1)q=38;else{j=hL(i)|0;k=i+j|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;if(j>>>0>4294967279){x=0;Fa(428,s|0);x=0;q=38;break}if(j>>>0<11){b[s+11>>0]=j;if(!j)e=s;else{a=s;q=27}}else{e=j+16&-16;x=0;a=qa(318,e|0)|0;q=x;x=0;if(q&1){q=38;break}f[s>>2]=a;f[s+8>>2]=e|-2147483648;f[s+4>>2]=j;q=27}if((q|0)==27){g=a;e=i;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(k|0))break;else g=g+1|0}e=a+j|0}b[e>>0]=0;x=0;e=qa(376,c|0)|0;c=x;x=0;if(!(c&1)){x=0;i=o;a=p;g=i+40|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(g|0));Ha(1,m|0,o|0,+l,s|0,e|0);p=x;x=0;if(!(p&1)){if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);b[m+54>>0]=0;b[m+52>>0]=1;if((b[d>>0]|0)>=0){u=r;return m|0}Hta(f[t>>2]|0);u=r;return m|0}}e=Ya()|0;if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}}while(0);if((q|0)==38)e=Ya()|0;Hta(m)}if((b[d>>0]|0)>=0)jb(e|0);Hta(f[t>>2]|0);jb(e|0);return 0}function $k(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,w=0,x=0;x=0;u=b+12|0;e=f[u>>2]|0;g=f[c+12>>2]|0;if((e|0)==(g|0)){c=d;x=c;x=f[x>>2]|0;c=c+4|0;c=f[c>>2]|0;d=a;b=d;f[b>>2]=x;d=d+4|0;f[d>>2]=c;return}v=b+8|0;t=c+8|0;w=d+4|0;s=g;o=g;do{h=d;r=f[h>>2]|0;g=r;r=(f[h+4>>2]|0)-(f[r>>2]|0)|0;h=(r|0)/28|0;i=h+-1|0;if((r|0)>28){h=g+(((i>>>0)/146|0)<<2)|0;g=(f[h>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{r=146-h|0;h=g+(((r|0)/-146|0)<<2)|0;g=(f[h>>2]|0)+((145-((r|0)%146|0)|0)*28|0)|0}r=g+28|0;k=r-(f[h>>2]|0)|0;n=(k|0)/28|0;g=f[v>>2]|0;l=f[t>>2]|0;h=l;if((e|0)==(o|0))e=0;else e=((e-(f[g>>2]|0)|0)/28|0)+((g-l>>2)*146|0)+((o-(f[l>>2]|0)|0)/-28|0)|0;j=b;i=f[j>>2]|0;j=f[j+4>>2]|0;g=v;m=f[g>>2]|0;g=f[g+4>>2]|0;if((e|0)>(n|0)){e=t;g=f[e>>2]|0;h=g;if(!k){e=l;g=o}else{e=(((f[e+4>>2]|0)-(f[g>>2]|0)|0)/28|0)+n|0;if((e|0)>0){q=h+(((e>>>0)/146|0)<<2)|0;g=(f[q>>2]|0)+(((e>>>0)%146|0)*28|0)|0;e=q}else{g=145-e|0;e=h+(((g|0)/-146|0)<<2)|0;g=(f[e>>2]|0)+((145-((g|0)%146|0)|0)*28|0)|0}}o=g;q=e;p=g;m=e}else{n=e;o=g;q=i;p=j}e=s;s=o;if((e|0)!=(s|0)){l=r;do{i=e+28|0;e=i;g=f[h>>2]|0;if((e-g|0)==4088){e=h+4|0;g=e;e=f[e>>2]|0;x=19}else if((i|0)==(g|0)){g=h;x=19}if((x|0)==19){x=0;h=g;i=(f[g+-4>>2]|0)+4088|0}k=l;l=l+-28|0;g=i+-28|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];f[l+8>>2]=f[g+8>>2];g=k+-16|0;j=k+-12|0;if(f[j>>2]|0)vQ(g);f[j>>2]=f[i+-12>>2];EX(g);g=f[i+-8>>2]|0;i=f[i+-4>>2]|0;if(i|0)ega(i);f[k+-8>>2]=g;r=k+-4|0;g=f[r>>2]|0;f[r>>2]=i;if(g|0)QZ(g)}while((s|0)!=(e|0))}r=c;f[r>>2]=q;f[r+4>>2]=p;r=t;f[r>>2]=m;f[r+4>>2]=o;if(n|0){g=f[d>>2]|0;e=(((f[w>>2]|0)-(f[g>>2]|0)|0)/28|0)-n|0;if((e|0)>0){r=g+(((e>>>0)/146|0)<<2)|0;f[d>>2]=r;e=(f[r>>2]|0)+(((e>>>0)%146|0)*28|0)|0}else{e=145-e|0;r=g+(((e|0)/-146|0)<<2)|0;f[d>>2]=r;e=(f[r>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}f[w>>2]=e}e=f[u>>2]|0}while((e|0)!=(s|0));c=d;x=c;x=f[x>>2]|0;c=c+4|0;c=f[c>>2]|0;d=a;b=d;f[b>>2]=x;d=d+4|0;f[d>>2]=c;return}function al(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;o=u;u=u+96|0;n=o+56|0;k=o+48|0;d=o+36|0;g=o+24|0;h=o+12|0;m=o;i=c+4|0;qV(k,f[(f[i>>2]|0)+68>>2]|0);f[k>>2]=7696;l=(f[k+4>>2]|0)==0;_P(k);if(!l){do if(b[a+73>>0]|0){c=VN(80)|0;f[d>>2]=c;f[d+8>>2]=-2147483568;f[d+4>>2]=71;j=c;k=33546;l=j+71|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+71>>0]=0;x=0;j=n;k=(f[i>>2]|0)+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ga(483,d|0,n|0);n=x;x=0;if(!(n&1)){if((b[d+11>>0]|0)>=0)break;Hta(f[d>>2]|0);break}c=Ya()|0;if((b[d+11>>0]|0)>=0){o=c;jb(o|0)}Hta(f[d>>2]|0);o=c;jb(o|0)}while(0);b[a+72>>0]=1;u=o;return}e=f[i>>2]|0;d=a+73|0;c=(b[d>>0]|0)!=0;if(b[e+72>>0]|0){do if(c){c=VN(80)|0;f[g>>2]=c;f[g+8>>2]=-2147483568;f[g+4>>2]=72;j=c;k=33618;l=j+72|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+72>>0]=0;x=0;j=n;k=e+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ga(483,g|0,n|0);n=x;x=0;if(!(n&1)){if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}c=Ya()|0;if((b[g+11>>0]|0)>=0){o=c;jb(o|0)}Hta(f[g>>2]|0);o=c;jb(o|0)}while(0);b[d>>0]=1;u=o;return}do if(c){c=VN(64)|0;f[h>>2]=c;f[h+8>>2]=-2147483584;f[h+4>>2]=59;j=c;k=33691;l=j+59|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+59>>0]=0;x=0;j=n;k=e+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ga(483,h|0,n|0);l=x;x=0;if(!(l&1)){if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}c=Ya()|0;if((b[h+11>>0]|0)>=0){o=c;jb(o|0)}Hta(f[h>>2]|0);o=c;jb(o|0)}while(0);if(!(b[a+72>>0]|0)){u=o;return}c=VN(64)|0;f[m>>2]=c;f[m+8>>2]=-2147483584;f[m+4>>2]=52;j=c;k=33751;l=j+52|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+52>>0]=0;x=0;j=n;k=(f[i>>2]|0)+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ga(483,m|0,n|0);n=x;x=0;if(n&1){c=Ya()|0;if((b[m+11>>0]|0)>=0){o=c;jb(o|0)}Hta(f[m>>2]|0);o=c;jb(o|0)}else{if((b[m+11>>0]|0)>=0){u=o;return}Hta(f[m>>2]|0);u=o;return}}function bl(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=0;z=u;u=u+176|0;p=z+56|0;E=z+52|0;v=z+164|0;w=z+161|0;y=z+160|0;B=z+40|0;C=z+28|0;D=z+16|0;l=z+12|0;n=z+60|0;q=z+8|0;r=z+4|0;s=z;kha(E,e);x=0;t=sa(994,E|0,83320)|0;o=x;x=0;a:do if(o&1)a=Ya()|0;else{j=h+11|0;o=b[j>>0]|0;a=o<<24>>24<0;k=h+4|0;do if(!((a?f[k>>2]|0:o&255)|0))o=0;else{a=b[(a?f[h>>2]|0:h)>>0]|0;x=0;i=sa(f[(f[t>>2]|0)+28>>2]|0,t|0,45)|0;o=x;x=0;if(o&1){a=Ya()|0;break a}else{o=a<<24>>24==i<<24>>24;break}}while(0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[B+(a<<2)>>2]=0;a=a+1|0}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[D+(a<<2)>>2]=0;a=a+1|0}x=0;Oa(3,d|0,o|0,E|0,v|0,w|0,y|0,B|0,C|0,D|0,l|0);m=x;x=0;if(m&1)a=Ya()|0;else{d=b[j>>0]|0;m=d<<24>>24<0;k=m?f[k>>2]|0:d&255;d=f[l>>2]|0;if((k|0)>(d|0)){i=b[D+11>>0]|0;j=b[C+11>>0]|0;a=1;i=(i<<24>>24<0?f[D+4>>2]|0:i&255)+(k-d<<1)|0;j=j<<24>>24<0?f[C+4>>2]|0:j&255}else{j=b[D+11>>0]|0;i=b[C+11>>0]|0;a=2;i=i<<24>>24<0?f[C+4>>2]|0:i&255;j=j<<24>>24<0?f[D+4>>2]|0:j&255}a=j+d+i+a|0;if(a>>>0>100){a=Rd(a)|0;i=a;if(!a){x=0;Ea(6);x=0;a=Ya()|0}else A=24}else{a=n;i=0;A=24}if((A|0)==24){A=m?f[h>>2]|0:h;x=0;Pa(1,a|0,q|0,r|0,f[e+4>>2]|0,A|0,A+k|0,t|0,o|0,v|0,b[w>>0]|0,b[y>>0]|0,B|0,C|0,D|0,d|0);A=x;x=0;if(!(A&1)){f[s>>2]=f[c>>2];h=f[q>>2]|0;A=f[r>>2]|0;x=0;f[p>>2]=f[s>>2];a=ya(39,p|0,a|0,h|0,A|0,e|0,g|0)|0;A=x;x=0;if(!(A&1)){if(i|0)$h(i);Aaa(D);Aaa(C);Aaa(B);uga(E);u=z;return a|0}}a=Ya()|0}if(i|0)$h(i)}Aaa(D);Aaa(C);Aaa(B)}while(0);uga(E);jb(a|0);return 0} +function Sh(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;p=0;o=u;u=u+32|0;n=o+24|0;j=o+20|0;i=o+16|0;h=o+12|0;k=o+8|0;l=o+4|0;m=o;f[h>>2]=e;f[a>>2]=17712;f[a+4>>2]=c;f[a+8>>2]=c+300;C=a+12|0;x=0;Ga(660,C|0,a|0);D=x;x=0;if(D&1){D=Ya()|0;jb(D|0)}c=a+48|0;A=a+56|0;D=a+60|0;z=a+68|0;B=a+72|0;w=a+80|0;y=a+84|0;t=a+92|0;v=a+96|0;r=a+104|0;s=a+108|0;q=a+116|0;f[c>>2]=0;d[c+4>>1]=0;b[c+6>>0]=0;c=A;e=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(e|0));x=0;Ga(462,q|0,0);e=x;x=0;if(e&1){i=Ya()|0;h=I}else{f[q>>2]=16864;f[n>>2]=0;c=f[D>>2]|0;e=a+64|0;do if(c>>>0<(f[e>>2]|0)>>>0){f[c>>2]=0;c=(f[D>>2]|0)+4|0;f[D>>2]=c;p=7}else{x=0;Ga(646,A|0,n|0);c=x;x=0;if(c&1){c=Ya()|0;e=I;break}else{c=f[D>>2]|0;p=7;break}}while(0);a:do if((p|0)==7){if((c|0)==(f[e>>2]|0)){x=0;Ga(661,A|0,h|0);h=x;x=0;if(h&1){c=Ya()|0;e=I;break}}else{f[c>>2]=f[h>>2];f[D>>2]=(f[D>>2]|0)+4}f[n>>2]=0;c=f[B>>2]|0;if(c>>>0<(f[a+76>>2]|0)>>>0){f[c>>2]=0;f[B>>2]=(f[B>>2]|0)+4}else{x=0;Ga(655,z|0,n|0);h=x;x=0;if(h&1){c=Ya()|0;e=I;break}}x=0;Ga(462,n|0,0);h=x;x=0;do if(h&1){c=Ya()|0;e=I}else{f[n>>2]=6664;c=f[y>>2]|0;if(c>>>0<(f[a+88>>2]|0)>>>0){x=0;Ga(462,c|0,f[n+4>>2]|0);h=x;x=0;if(h&1)p=31;else{f[c>>2]=6664;f[y>>2]=(f[y>>2]|0)+8}}else{x=0;Ga(657,w|0,n|0);h=x;x=0;if(h&1)p=31}if((p|0)==31){c=Ya()|0;e=I;_P(n);break}_P(n);b:do if(!g){x=0;Ga(462,n|0,0);p=x;x=0;do if(p&1){c=Ya()|0;e=I}else{f[n>>2]=7168;c=f[v>>2]|0;if(c>>>0<(f[a+100>>2]|0)>>>0){x=0;Ga(462,c|0,f[n+4>>2]|0);p=x;x=0;if(p&1)p=34;else{f[c>>2]=7168;f[v>>2]=(f[v>>2]|0)+8;p=24}}else{x=0;Ga(651,t|0,n|0);p=x;x=0;if(p&1)p=34;else p=24}if((p|0)==24){_P(n);break b}else if((p|0)==34){c=Ya()|0;e=I;_P(n);break}}while(0);break a}else{f[k>>2]=f[v>>2];f[l>>2]=f[g>>2];f[m>>2]=f[g+4>>2];x=0;f[i>>2]=f[k>>2];f[j>>2]=f[l>>2];f[n>>2]=f[m>>2];ua(15,t|0,i|0,j|0,n|0)|0;p=x;x=0;if(p&1){c=Ya()|0;e=I;break a}}while(0);f[n>>2]=0;c=f[s>>2]|0;if(c>>>0<(f[a+112>>2]|0)>>>0){f[c>>2]=0;f[s>>2]=(f[s>>2]|0)+4;u=o;return}x=0;Ga(658,r|0,n|0);p=x;x=0;if(p&1){c=Ya()|0;e=I;break a}else{u=o;return}}while(0)}while(0);_P(q);i=c;h=e}c=f[r>>2]|0;if(c|0){e=f[s>>2]|0;if((e|0)!=(c|0))f[s>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}c=f[t>>2]|0;if(c|0){e=f[v>>2]|0;if((e|0)!=(c|0)){do{s=e+-8|0;f[v>>2]=s;Kc[f[f[s>>2]>>2]&511](s);e=f[v>>2]|0}while((e|0)!=(c|0));c=f[t>>2]|0}Hta(c)}c=f[w>>2]|0;if(c|0){e=f[y>>2]|0;if((e|0)!=(c|0)){do{v=e+-8|0;f[y>>2]=v;Kc[f[f[v>>2]>>2]&511](v);e=f[y>>2]|0}while((e|0)!=(c|0));c=f[w>>2]|0}Hta(c)}c=f[z>>2]|0;if(c|0){e=f[B>>2]|0;if((e|0)!=(c|0))f[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}c=f[A>>2]|0;if(c|0){e=f[D>>2]|0;if((e|0)!=(c|0))f[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}Gba(C);D=i;jb(D|0)}function Th(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,v=0,w=0,y=0,z=0;y=0;v=u;u=u+160|0;w=v+120|0;j=v+80|0;q=v+64|0;o=v+56|0;l=v+48|0;k=v+40|0;m=v+32|0;n=v+24|0;p=v+16|0;s=v+8|0;t=v;r=VN(100)|0;d=j;e=c+108|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,q|0);x=0;y=32}else{if(i>>>0<11){b[q+11>>0]=i;d=q}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;z=x;x=0;if(z&1){y=32;break}f[q>>2]=d;f[q+8>>2]=g|-2147483648;f[q+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(462,o|0,0);z=x;x=0;if(z&1){d=Ya()|0;e=1}else{f[o>>2]=7168;x=0;Ga(462,l|0,0);z=x;x=0;if(z&1){d=Ya()|0;e=1}else{f[l>>2]=7280;x=0;Ga(462,k|0,0);z=x;x=0;if(z&1){d=Ya()|0;e=1}else{f[k>>2]=7696;x=0;d=w;e=j;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));La(22,r|0,w|0,q|0,o|0,l|0,k|0);z=x;x=0;if(z&1)e=1;else{x=0;Ga(462,a|0,r|0);z=x;x=0;if(z&1)e=0;else{f[a>>2]=17128;_P(k);_P(l);_P(o);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);x=0;Ga(626,w|0,c|0);z=x;x=0;if(z&1)d=Ya()|0;else{g=a+4|0;d=f[g>>2]|0;x=0;Ga(462,p|0,f[w+4>>2]|0);z=x;x=0;a:do if(z&1)y=44;else{f[p>>2]=13648;x=0;Ga(462,n|0,f[p+4>>2]|0);z=x;x=0;if(z&1)d=Ya()|0;else{f[n>>2]=7696;e=d+92|0;d=d+96|0;if(!(f[d>>2]|0))y=22;else{x=0;Fa(429,e|0);z=x;x=0;if(!(z&1))y=22}do if((y|0)==22){f[d>>2]=f[n+4>>2];x=0;Fa(430,e|0);z=x;x=0;if(z&1)break;x=0;Ga(462,m|0,f[d>>2]|0);z=x;x=0;if(z&1)break;f[m>>2]=7696;_P(m);_P(n);_P(p);d=f[c+76>>2]|0;x=0;e=qa(348,d|0)|0;z=x;x=0;if(z&1){y=44;break a}z=e|0?e:d;z=(b[z>>0]|0)==123?z+1|0:0;if((z|0)==0?1:z>>>0>(f[c+80>>2]|0)>>>0){_P(w);u=v;return}d=f[g>>2]|0;x=0;Ia(123,t|0,c|0,0);z=x;x=0;if(z&1){y=44;break a}e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))y=29;else{x=0;Fa(429,e|0);z=x;x=0;if(!(z&1))y=29}do if((y|0)==29){f[d>>2]=f[t+4>>2];x=0;Fa(430,e|0);z=x;x=0;if(z&1)break;x=0;Ga(462,s|0,f[d>>2]|0);z=x;x=0;if(z&1)break;f[s>>2]=7280;_P(s);_P(t);_P(w);u=v;return}while(0);d=Ya()|0;_P(t);break a}while(0);d=Ya()|0;_P(n)}_P(p)}while(0);if((y|0)==44)d=Ya()|0;_P(w)}_P(a);z=d;jb(z|0)}}d=Ya()|0;_P(k)}_P(l)}_P(o)}if((b[q+11>>0]|0)<0){Hta(f[q>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((y|0)==32)d=Ya()|0;Hta(r);z=d;jb(z|0)}function Uh(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,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;E=u;u=u+352|0;t=E+208|0;v=E+200|0;w=E+196|0;G=E+184|0;F=E+172|0;z=E+168|0;B=E+8|0;C=E+4|0;A=E;y=E+337|0;s=E+336|0;Lz(G,e,t,v,w);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[F+(a<<2)>>2]=0;a=a+1|0}r=F+11|0;if((b[r>>0]|0)<0)a=(f[F+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);q=x;x=0;if(q&1)a=Ya()|0;else{e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e;f[C>>2]=B;f[A>>2]=0;b[y>>0]=1;b[s>>0]=69;m=F+4|0;o=F+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){p=0;q=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;q=x;x=0;if(q&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;p=0;q=0;k=1}else{p=j;q=k;k=0}}j=f[d>>2]|0;do if(!j)D=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;D=20;break}else if(k)break;else{D=37;break a}}while(0);if((D|0)==20){D=0;if(k){j=0;D=37;break}else j=0}k=b[r>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[z>>2]|0)==(e+k|0)){x=0;Ia(93,F|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[r>>0]|0)<0)a=(f[o>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);l=x;x=0;if(l&1)break;e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e+k}k=p+12|0;a=f[k>>2]|0;l=p+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,p|0)|0;H=x;x=0;if(H&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Da(2,a|0,y|0,s|0,e|0,z|0,f[v>>2]|0,f[w>>2]|0,G|0,B|0,C|0,A|0,t|0)|0;H=x;x=0;if(H&1)break;if(a|0){D=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[p>>2]|0)+40>>2]|0,p|0)|0;H=x;x=0;if(H&1)break;else{j=p;k=q;continue}}else{f[k>>2]=a+4;mra(f[a>>2]|0)|0;j=p;k=q;continue}}b:do if((D|0)==37){H=b[G+11>>0]|0;if(!((b[y>>0]|0)==0?1:((H<<24>>24<0?f[G+4>>2]|0:H&255)|0)==0)){a=f[C>>2]|0;if((a-B|0)<160){H=f[A>>2]|0;f[C>>2]=a+4;f[a>>2]=H}}x=0;i=+ia(3,e|0,f[z>>2]|0,g|0);H=x;x=0;if(!(H&1)){n[h>>2]=i;x=0;Ja(60,G|0,B|0,f[C>>2]|0,g|0);H=x;x=0;if(!(H&1)){if(!p)e=1;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,p|0)|0;H=x;x=0;if(H&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)D=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;D=54;break}else if(e)break;else{D=56;break}}while(0);if((D|0)==54)if(e)D=56;if((D|0)==56)f[g>>2]=f[g>>2]|2;H=f[c>>2]|0;Aaa(F);Aaa(G);u=E;return H|0}}}while(0);a=Ya()|0}Aaa(F);Aaa(G);jb(a|0);return 0}function Vh(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,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;E=u;u=u+352|0;t=E+208|0;v=E+200|0;w=E+196|0;G=E+184|0;F=E+172|0;z=E+168|0;B=E+8|0;C=E+4|0;A=E;y=E+337|0;s=E+336|0;Lz(G,e,t,v,w);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[F+(a<<2)>>2]=0;a=a+1|0}r=F+11|0;if((b[r>>0]|0)<0)a=(f[F+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);q=x;x=0;if(q&1)a=Ya()|0;else{e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e;f[C>>2]=B;f[A>>2]=0;b[y>>0]=1;b[s>>0]=69;m=F+4|0;n=F+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){o=0;q=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;q=x;x=0;if(q&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;o=0;q=0;k=1}else{o=j;q=k;k=0}}j=f[d>>2]|0;do if(!j)D=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;D=20;break}else if(k)break;else{D=37;break a}}while(0);if((D|0)==20){D=0;if(k){j=0;D=37;break}else j=0}k=b[r>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[z>>2]|0)==(e+k|0)){x=0;Ia(93,F|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[r>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);l=x;x=0;if(l&1)break;e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e+k}k=o+12|0;a=f[k>>2]|0;l=o+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Da(2,a|0,y|0,s|0,e|0,z|0,f[v>>2]|0,f[w>>2]|0,G|0,B|0,C|0,A|0,t|0)|0;H=x;x=0;if(H&1)break;if(a|0){D=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;H=x;x=0;if(H&1)break;else{j=o;k=q;continue}}else{f[k>>2]=a+4;mra(f[a>>2]|0)|0;j=o;k=q;continue}}b:do if((D|0)==37){H=b[G+11>>0]|0;if(!((b[y>>0]|0)==0?1:((H<<24>>24<0?f[G+4>>2]|0:H&255)|0)==0)){a=f[C>>2]|0;if((a-B|0)<160){H=f[A>>2]|0;f[C>>2]=a+4;f[a>>2]=H}}x=0;i=+ia(1,e|0,f[z>>2]|0,g|0);H=x;x=0;if(!(H&1)){p[h>>3]=i;x=0;Ja(60,G|0,B|0,f[C>>2]|0,g|0);H=x;x=0;if(!(H&1)){if(!o)e=1;else{a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)D=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;D=54;break}else if(e)break;else{D=56;break}}while(0);if((D|0)==54)if(e)D=56;if((D|0)==56)f[g>>2]=f[g>>2]|2;H=f[c>>2]|0;Aaa(F);Aaa(G);u=E;return H|0}}}while(0);a=Ya()|0}Aaa(F);Aaa(G);jb(a|0);return 0}function Wh(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,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;E=u;u=u+352|0;t=E+208|0;v=E+200|0;w=E+196|0;G=E+184|0;F=E+172|0;z=E+168|0;B=E+8|0;C=E+4|0;A=E;y=E+337|0;s=E+336|0;Lz(G,e,t,v,w);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[F+(a<<2)>>2]=0;a=a+1|0}r=F+11|0;if((b[r>>0]|0)<0)a=(f[F+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);q=x;x=0;if(q&1)a=Ya()|0;else{e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e;f[C>>2]=B;f[A>>2]=0;b[y>>0]=1;b[s>>0]=69;m=F+4|0;n=F+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){o=0;q=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;q=x;x=0;if(q&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;o=0;q=0;k=1}else{o=j;q=k;k=0}}j=f[d>>2]|0;do if(!j)D=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;D=20;break}else if(k)break;else{D=37;break a}}while(0);if((D|0)==20){D=0;if(k){j=0;D=37;break}else j=0}k=b[r>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[z>>2]|0)==(e+k|0)){x=0;Ia(93,F|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[r>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);l=x;x=0;if(l&1)break;e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e+k}k=o+12|0;a=f[k>>2]|0;l=o+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Da(2,a|0,y|0,s|0,e|0,z|0,f[v>>2]|0,f[w>>2]|0,G|0,B|0,C|0,A|0,t|0)|0;H=x;x=0;if(H&1)break;if(a|0){D=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;H=x;x=0;if(H&1)break;else{j=o;k=q;continue}}else{f[k>>2]=a+4;mra(f[a>>2]|0)|0;j=o;k=q;continue}}b:do if((D|0)==37){H=b[G+11>>0]|0;if(!((b[y>>0]|0)==0?1:((H<<24>>24<0?f[G+4>>2]|0:H&255)|0)==0)){a=f[C>>2]|0;if((a-B|0)<160){H=f[A>>2]|0;f[C>>2]=a+4;f[a>>2]=H}}x=0;i=+ia(2,e|0,f[z>>2]|0,g|0);H=x;x=0;if(!(H&1)){p[h>>3]=i;x=0;Ja(60,G|0,B|0,f[C>>2]|0,g|0);H=x;x=0;if(!(H&1)){if(!o)e=1;else{a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)D=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;D=54;break}else if(e)break;else{D=56;break}}while(0);if((D|0)==54)if(e)D=56;if((D|0)==56)f[g>>2]=f[g>>2]|2;H=f[c>>2]|0;Aaa(F);Aaa(G);u=E;return H|0}}}while(0);a=Ya()|0}Aaa(F);Aaa(G);jb(a|0);return 0}function Xh(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,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;E=u;u=u+240|0;t=E+200|0;v=E+199|0;w=E+198|0;G=E+184|0;F=E+172|0;z=E+168|0;B=E+8|0;C=E+4|0;A=E;y=E+197|0;s=E+196|0;Oz(G,e,t,v,w);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[F+(a<<2)>>2]=0;a=a+1|0}r=F+11|0;if((b[r>>0]|0)<0)a=(f[F+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);q=x;x=0;if(q&1)a=Ya()|0;else{e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e;f[C>>2]=B;f[A>>2]=0;b[y>>0]=1;b[s>>0]=69;m=F+4|0;o=F+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){p=0;q=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;q=x;x=0;if(q&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;p=0;q=0;k=1}else{p=j;q=k;k=0}}j=f[d>>2]|0;do if(!j)D=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;D=20;break}else if(k)break;else{D=37;break a}}while(0);if((D|0)==20){D=0;if(k){j=0;D=37;break}else j=0}k=b[r>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[z>>2]|0)==(e+k|0)){x=0;Ia(93,F|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[r>>0]|0)<0)a=(f[o>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);l=x;x=0;if(l&1)break;e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e+k}k=p+12|0;a=f[k>>2]|0;l=p+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,p|0)|0;H=x;x=0;if(H&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Da(1,a&255|0,y|0,s|0,e|0,z|0,b[v>>0]|0,b[w>>0]|0,G|0,B|0,C|0,A|0,t|0)|0;H=x;x=0;if(H&1)break;if(a|0){D=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[p>>2]|0)+40>>2]|0,p|0)|0;H=x;x=0;if(H&1)break;else{j=p;k=q;continue}}else{f[k>>2]=a+1;mqa(b[a>>0]|0)|0;j=p;k=q;continue}}b:do if((D|0)==37){H=b[G+11>>0]|0;if(!((b[y>>0]|0)==0?1:((H<<24>>24<0?f[G+4>>2]|0:H&255)|0)==0)){a=f[C>>2]|0;if((a-B|0)<160){H=f[A>>2]|0;f[C>>2]=a+4;f[a>>2]=H}}x=0;i=+ia(3,e|0,f[z>>2]|0,g|0);H=x;x=0;if(!(H&1)){n[h>>2]=i;x=0;Ja(60,G|0,B|0,f[C>>2]|0,g|0);H=x;x=0;if(!(H&1)){if(!p)e=1;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,p|0)|0;H=x;x=0;if(H&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)D=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;D=54;break}else if(e)break;else{D=56;break}}while(0);if((D|0)==54)if(e)D=56;if((D|0)==56)f[g>>2]=f[g>>2]|2;H=f[c>>2]|0;Aaa(F);Aaa(G);u=E;return H|0}}}while(0);a=Ya()|0}Aaa(F);Aaa(G);jb(a|0);return 0}function Yh(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,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;E=u;u=u+240|0;t=E+200|0;v=E+199|0;w=E+198|0;G=E+184|0;F=E+172|0;z=E+168|0;B=E+8|0;C=E+4|0;A=E;y=E+197|0;s=E+196|0;Oz(G,e,t,v,w);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[F+(a<<2)>>2]=0;a=a+1|0}r=F+11|0;if((b[r>>0]|0)<0)a=(f[F+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);q=x;x=0;if(q&1)a=Ya()|0;else{e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e;f[C>>2]=B;f[A>>2]=0;b[y>>0]=1;b[s>>0]=69;m=F+4|0;n=F+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){o=0;q=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;q=x;x=0;if(q&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;o=0;q=0;k=1}else{o=j;q=k;k=0}}j=f[d>>2]|0;do if(!j)D=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;D=20;break}else if(k)break;else{D=37;break a}}while(0);if((D|0)==20){D=0;if(k){j=0;D=37;break}else j=0}k=b[r>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[z>>2]|0)==(e+k|0)){x=0;Ia(93,F|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[r>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);l=x;x=0;if(l&1)break;e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e+k}k=o+12|0;a=f[k>>2]|0;l=o+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Da(1,a&255|0,y|0,s|0,e|0,z|0,b[v>>0]|0,b[w>>0]|0,G|0,B|0,C|0,A|0,t|0)|0;H=x;x=0;if(H&1)break;if(a|0){D=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;H=x;x=0;if(H&1)break;else{j=o;k=q;continue}}else{f[k>>2]=a+1;mqa(b[a>>0]|0)|0;j=o;k=q;continue}}b:do if((D|0)==37){H=b[G+11>>0]|0;if(!((b[y>>0]|0)==0?1:((H<<24>>24<0?f[G+4>>2]|0:H&255)|0)==0)){a=f[C>>2]|0;if((a-B|0)<160){H=f[A>>2]|0;f[C>>2]=a+4;f[a>>2]=H}}x=0;i=+ia(1,e|0,f[z>>2]|0,g|0);H=x;x=0;if(!(H&1)){p[h>>3]=i;x=0;Ja(60,G|0,B|0,f[C>>2]|0,g|0);H=x;x=0;if(!(H&1)){if(!o)e=1;else{a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)D=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;D=54;break}else if(e)break;else{D=56;break}}while(0);if((D|0)==54)if(e)D=56;if((D|0)==56)f[g>>2]=f[g>>2]|2;H=f[c>>2]|0;Aaa(F);Aaa(G);u=E;return H|0}}}while(0);a=Ya()|0}Aaa(F);Aaa(G);jb(a|0);return 0}function Zh(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,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;E=u;u=u+240|0;t=E+200|0;v=E+199|0;w=E+198|0;G=E+184|0;F=E+172|0;z=E+168|0;B=E+8|0;C=E+4|0;A=E;y=E+197|0;s=E+196|0;Oz(G,e,t,v,w);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[F+(a<<2)>>2]=0;a=a+1|0}r=F+11|0;if((b[r>>0]|0)<0)a=(f[F+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);q=x;x=0;if(q&1)a=Ya()|0;else{e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e;f[C>>2]=B;f[A>>2]=0;b[y>>0]=1;b[s>>0]=69;m=F+4|0;n=F+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){o=0;q=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;q=x;x=0;if(q&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;o=0;q=0;k=1}else{o=j;q=k;k=0}}j=f[d>>2]|0;do if(!j)D=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;D=20;break}else if(k)break;else{D=37;break a}}while(0);if((D|0)==20){D=0;if(k){j=0;D=37;break}else j=0}k=b[r>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[z>>2]|0)==(e+k|0)){x=0;Ia(93,F|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[r>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,F|0,a|0,0);l=x;x=0;if(l&1)break;e=(b[r>>0]|0)<0?f[F>>2]|0:F;f[z>>2]=e+k}k=o+12|0;a=f[k>>2]|0;l=o+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Da(1,a&255|0,y|0,s|0,e|0,z|0,b[v>>0]|0,b[w>>0]|0,G|0,B|0,C|0,A|0,t|0)|0;H=x;x=0;if(H&1)break;if(a|0){D=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;H=x;x=0;if(H&1)break;else{j=o;k=q;continue}}else{f[k>>2]=a+1;mqa(b[a>>0]|0)|0;j=o;k=q;continue}}b:do if((D|0)==37){H=b[G+11>>0]|0;if(!((b[y>>0]|0)==0?1:((H<<24>>24<0?f[G+4>>2]|0:H&255)|0)==0)){a=f[C>>2]|0;if((a-B|0)<160){H=f[A>>2]|0;f[C>>2]=a+4;f[a>>2]=H}}x=0;i=+ia(2,e|0,f[z>>2]|0,g|0);H=x;x=0;if(!(H&1)){p[h>>3]=i;x=0;Ja(60,G|0,B|0,f[C>>2]|0,g|0);H=x;x=0;if(!(H&1)){if(!o)e=1;else{a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){x=0;a=qa(f[(f[q>>2]|0)+36>>2]|0,o|0)|0;H=x;x=0;if(H&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)D=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;D=54;break}else if(e)break;else{D=56;break}}while(0);if((D|0)==54)if(e)D=56;if((D|0)==56)f[g>>2]=f[g>>2]|2;H=f[c>>2]|0;Aaa(F);Aaa(G);u=E;return H|0}}}while(0);a=Ya()|0}Aaa(F);Aaa(G);jb(a|0);return 0}function _h(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=u;u=u+16|0;g=l;e=c+11|0;k=Fb(((b[e>>0]|0)<0?f[c>>2]|0:c)|0,1)|0;if(!k){k=sp(82616,44209,23)|0;d=b[e>>0]|0;a=d<<24>>24<0;d=sp(sp(k,a?f[c>>2]|0:c,a?f[c+4>>2]|0:d&255)|0,52307,1)|0;kha(g,d+(f[(f[d>>2]|0)+-12>>2]|0)|0);x=0;c=sa(994,g|0,83320)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}uga(g);Yr(d,c)|0;Pv(d)|0;c=Eb()|0;if(!c){k=0;a=0;a=k&a;u=l;return a|0}d=sp(82616,c,hL(c)|0)|0;kha(g,d+(f[(f[d>>2]|0)+-12>>2]|0)|0);x=0;c=sa(994,g|0,83320)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}uga(g);Yr(d,c)|0;Pv(d)|0;k=0;a=0;a=k&a;u=l;return a|0}d=Gb(k|0,44084)|0;if(!d){j=sp(82616,44171,37)|0;d=b[e>>0]|0;a=d<<24>>24<0;d=sp(sp(j,a?f[c>>2]|0:c,a?f[c+4>>2]|0:d&255)|0,52307,1)|0;kha(g,d+(f[(f[d>>2]|0)+-12>>2]|0)|0);x=0;c=sa(994,g|0,83320)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}uga(g);Yr(d,c)|0;Pv(d)|0;c=Eb()|0;do if(c|0){d=sp(82616,c,hL(c)|0)|0;kha(g,d+(f[(f[d>>2]|0)+-12>>2]|0)|0);x=0;c=sa(994,g|0,83320)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){l=Ya()|0;uga(g);jb(l|0)}else{uga(g);Yr(d,c)|0;Pv(d)|0;break}}while(0);Db(k|0)|0;k=0;a=0;a=k&a;u=l;return a|0}if(!(As(qc[d&15]()|0)|0)){k=1;a=0;a=k&a;u=l;return a|0}c=Gb(k|0,44104)|0;if(c|0){g=qc[c&15]()|0;if(g|0){h=a+28|0;i=a+32|0;j=a+24|0;c=f[g>>2]|0;if(c|0){e=g;do{d=f[h>>2]|0;if((d|0)==(f[i>>2]|0))VA(j,e);else{f[d>>2]=c;f[h>>2]=(f[h>>2]|0)+4}e=e+4|0;c=f[e>>2]|0}while((c|0)!=0)}}Yra(g)}c=Gb(k|0,44127)|0;if(c|0){g=qc[c&15]()|0;if(g|0){h=a+16|0;i=a+20|0;j=a+12|0;c=f[g>>2]|0;if(c|0){e=g;do{d=f[h>>2]|0;if((d|0)==(f[i>>2]|0))UA(j,e);else{f[d>>2]=c;f[h>>2]=(f[h>>2]|0)+4}e=e+4|0;c=f[e>>2]|0}while((c|0)!=0)}}Yra(g)}c=Gb(k|0,44150)|0;if(!c){k=1;a=1;a=k&a;u=l;return a|0}g=qc[c&15]()|0;if(g|0){h=a+4|0;i=a+8|0;c=f[g>>2]|0;if(c|0){e=g;do{d=f[h>>2]|0;if((d|0)==(f[i>>2]|0))UA(a,e);else{f[d>>2]=c;f[h>>2]=(f[h>>2]|0)+4}e=e+4|0;c=f[e>>2]|0}while((c|0)!=0)}}Yra(g);k=1;a=1;a=k&a;u=l;return a|0}function $h(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[20417]|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[20418]|0)==(h|0)){a=j+4|0;b=f[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}f[20415]=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[20413]=f[20413]&~(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)){c=h+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){a=0;break}else b=c}while(1){c=a+20|0;d=f[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=f[c>>2]|0;if(!d)break;else{a=d;b=c}}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){i=h;b=g}else{b=f[h+28>>2]|0;c=81956+(b<<2)|0;if((f[c>>2]|0)==(h|0)){f[c>>2]=a;if(!a){f[20414]=f[20414]&~(1<>2]|0)!=(h|0)&1)<<2)>>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){i=h;b=g}else{f[a+20>>2]=b;f[b+24>>2]=a;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[20419]|0)==(j|0)){j=(f[20416]|0)+b|0;f[20416]=j;f[20419]=i;f[i+4>>2]=j|1;if((i|0)!=(f[20418]|0))return;f[20418]=0;f[20415]=0;return}if((f[20418]|0)==(j|0)){j=(f[20415]|0)+b|0;f[20415]=j;f[20418]=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[20413]=f[20413]&~(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)){c=j+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else b=c}while(1){c=a+20|0;d=f[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=f[c>>2]|0;if(!d)break;else{a=d;b=c}}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=81956+(a<<2)|0;if((f[b>>2]|0)==(j|0)){f[b>>2]=c;if(!c){f[20414]=f[20414]&~(1<>2]|0)!=(j|0)&1)<<2)>>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[20418]|0)){f[20415]=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=81692+(a<<1<<2)|0;b=f[20413]|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)a=0;else if(e>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;a=14-(g|h|a)+(j<>>15)|0;a=e>>>(a+7|0)&1|a<<1}d=81956+(a<<2)|0;f[i+28>>2]=a;f[i+20>>2]=0;f[i+16>>2]=0;b=f[20414]|0;c=1<>2]=i;f[i+24>>2]=d;f[i+12>>2]=i;f[i+8>>2]=i}else{b=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=i;f[i+24>>2]=c;f[i+12>>2]=i;f[i+8>>2]=i;break}else if((a|0)==73){h=c+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]=c;f[i+24>>2]=0;break}}while(0);j=(f[20421]|0)+-1|0;f[20421]=j;if(!j)a=82108;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[20421]=-1;return}function ai(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;k=u;u=u+96|0;n=k+56|0;p=k+48|0;g=k+40|0;o=k+24|0;m=k+12|0;l=k;d=f[a+60>>2]|0;if((d|0)==(f[a+56>>2]|0))i=0;else i=f[d+-4>>2]|0;qV(p,vc[f[(f[c>>2]|0)+12>>2]&511](c)|0);f[p>>2]=10712;j=p+4|0;x=0;Ga(462,g|0,f[j>>2]|0);h=x;x=0;if(h&1)a=Ya()|0;else{f[g>>2]=10712;x=0;Ga(462,n|0,f[g+4>>2]|0);h=x;x=0;if(h&1)a=Ya()|0;else{f[n>>2]=6664;x=0;a=qa(342,i|0)|0;h=x;x=0;if(h&1)a=Ya()|0;else{h=c+72|0;e=c+96|0;x=0;Ia(79,o|0,h|0,((f[e>>2]|0)==0?48337:48507)|0);d=x;x=0;if(d&1)a=Ya()|0;else{x=0;a=sa(1042,a|0,o|0)|0;d=x;x=0;do if(!(d&1)){if((a|0)!=(n|0)){d=a+4|0;if(f[d>>2]|0){x=0;Fa(429,a|0);a=x;x=0;if(a&1)break}a=n+4|0;f[d>>2]=f[a>>2];f[a>>2]=0}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);_P(n);_P(g);if((f[e>>2]|0)!=1){o=f[j>>2]|0;o=o+92|0;f[o>>2]=i;_P(p);u=k;return 0}g=h+11|0;if((b[g>>0]|0)<0)a=f[h>>2]|0;else a=h;x=0;a=qa(369,a|0)|0;e=x;x=0;if(e&1){o=Ya()|0;_P(p);jb(o|0)}do if(!a){d=b[g>>0]|0;e=c+76|0;a=f[e>>2]|0;if(((d<<24>>24<0?a:d&255)|0)==7){x=0;a=wa(21,h|0,0,-1,48511,7)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!a)break;d=b[g>>0]|0;a=f[e>>2]|0}if(((d<<24>>24<0?a:d&255)|0)==10){x=0;a=wa(21,h|0,0,-1,48519,10)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!a)break;d=b[g>>0]|0;a=f[e>>2]|0}if(((d<<24>>24<0?a:d&255)|0)!=3){o=f[j>>2]|0;o=o+92|0;f[o>>2]=i;_P(p);u=k;return 0}x=0;a=wa(21,h|0,0,-1,48530,3)|0;g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}if(!a)break;o=f[j>>2]|0;o=o+92|0;f[o>>2]=i;_P(p);u=k;return 0}while(0);x=0;Ia(92,o|0,48534,h|0);h=x;x=0;do if(h&1)a=Ya()|0;else{x=0;a=sa(991,o|0,48554)|0;h=x;x=0;do if(h&1)a=Ya()|0;else{f[m>>2]=f[a>>2];f[m+4>>2]=f[a+4>>2];f[m+8>>2]=f[a+8>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;a=qa(318,80)|0;h=x;x=0;do if(h&1)a=Ya()|0;else{f[l>>2]=a;f[l+8>>2]=-2147483568;f[l+4>>2]=75;d=a;e=48619;g=d+75|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+75>>0]=0;x=0;d=n;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));Ja(20,m|0,l|0,0,n|0);n=x;x=0;if(n&1){a=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);o=f[j>>2]|0;o=o+92|0;f[o>>2]=i;_P(p);u=k;return 0}while(0);if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0)}while(0);if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0)}while(0);o=a;_P(p);jb(o|0)}while(0);a=Ya()|0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}}_P(n)}_P(g)}o=a;_P(p);jb(o|0);return 0}function bi(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+304|0;q=A+200|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;EB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}o=C+11|0;if((b[o>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);p=x;x=0;if(p&1)a=Ya()|0;else{e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;m=C+4|0;n=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){p=0;j=0;k=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;p=x;x=0;if(p&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;p=0;j=0;k=1}else{p=i;k=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;l=x;x=0;if(l&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=20;break}else if(k){l=i;break}else{z=37;break a}}while(0);if((z|0)==20){z=0;if(k){i=0;z=37;break}else l=0}i=b[o>>0]|0;i=i<<24>>24<0?f[m>>2]|0:i&255;if((f[s>>2]|0)==(e+i|0)){x=0;Ia(93,C|0,i<<1|0,0);k=x;x=0;if(k&1)break;if((b[o>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+i}i=p+12|0;a=f[i>>2]|0;k=p+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Ba(2,a|0,v|0,e|0,s|0,t|0,f[r>>2]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){i=l;z=37;break}a=f[i>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[p>>2]|0)+40>>2]|0,p|0)|0;D=x;x=0;if(D&1)break;else{i=p;continue}}else{f[i>>2]=a+4;mra(f[a>>2]|0)|0;i=p;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(22,e|0,f[s>>2]|0,g|0,v|0)|0;e=I;D=x;x=0;if(!(D&1)){D=h;f[D>>2]=a;f[D+4>>2]=e;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!p)e=1;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function ci(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+224|0;q=A+198|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;FB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}o=C+11|0;if((b[o>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);p=x;x=0;if(p&1)a=Ya()|0;else{e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;m=C+4|0;n=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){p=0;j=0;k=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;p=x;x=0;if(p&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;p=0;j=0;k=1}else{p=i;k=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;l=x;x=0;if(l&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=20;break}else if(k){l=i;break}else{z=37;break a}}while(0);if((z|0)==20){z=0;if(k){i=0;z=37;break}else l=0}i=b[o>>0]|0;i=i<<24>>24<0?f[m>>2]|0:i&255;if((f[s>>2]|0)==(e+i|0)){x=0;Ia(93,C|0,i<<1|0,0);k=x;x=0;if(k&1)break;if((b[o>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+i}i=p+12|0;a=f[i>>2]|0;k=p+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Ba(1,a&255|0,v|0,e|0,s|0,t|0,b[r>>0]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){i=l;z=37;break}a=f[i>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[p>>2]|0)+40>>2]|0,p|0)|0;D=x;x=0;if(D&1)break;else{i=p;continue}}else{f[i>>2]=a+1;mqa(b[a>>0]|0)|0;i=p;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(22,e|0,f[s>>2]|0,g|0,v|0)|0;e=I;D=x;x=0;if(!(D&1)){D=h;f[D>>2]=a;f[D+4>>2]=e;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!p)e=1;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function di(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+304|0;q=A+200|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;EB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}o=C+11|0;if((b[o>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);p=x;x=0;if(p&1)a=Ya()|0;else{e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;m=C+4|0;n=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){p=0;j=0;k=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;p=x;x=0;if(p&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;p=0;j=0;k=1}else{p=i;k=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;l=x;x=0;if(l&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=20;break}else if(k){l=i;break}else{z=37;break a}}while(0);if((z|0)==20){z=0;if(k){i=0;z=37;break}else l=0}i=b[o>>0]|0;i=i<<24>>24<0?f[m>>2]|0:i&255;if((f[s>>2]|0)==(e+i|0)){x=0;Ia(93,C|0,i<<1|0,0);k=x;x=0;if(k&1)break;if((b[o>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+i}i=p+12|0;a=f[i>>2]|0;k=p+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Ba(2,a|0,v|0,e|0,s|0,t|0,f[r>>2]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){i=l;z=37;break}a=f[i>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[p>>2]|0)+40>>2]|0,p|0)|0;D=x;x=0;if(D&1)break;else{i=p;continue}}else{f[i>>2]=a+4;mra(f[a>>2]|0)|0;i=p;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(26,e|0,f[s>>2]|0,g|0,v|0)|0;e=I;D=x;x=0;if(!(D&1)){D=h;f[D>>2]=a;f[D+4>>2]=e;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!p)e=1;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function ei(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+224|0;q=A+198|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;FB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}o=C+11|0;if((b[o>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);p=x;x=0;if(p&1)a=Ya()|0;else{e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;m=C+4|0;n=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){p=0;j=0;k=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;p=x;x=0;if(p&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;p=0;j=0;k=1}else{p=i;k=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;l=x;x=0;if(l&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=20;break}else if(k){l=i;break}else{z=37;break a}}while(0);if((z|0)==20){z=0;if(k){i=0;z=37;break}else l=0}i=b[o>>0]|0;i=i<<24>>24<0?f[m>>2]|0:i&255;if((f[s>>2]|0)==(e+i|0)){x=0;Ia(93,C|0,i<<1|0,0);k=x;x=0;if(k&1)break;if((b[o>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[o>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+i}i=p+12|0;a=f[i>>2]|0;k=p+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Ba(1,a&255|0,v|0,e|0,s|0,t|0,b[r>>0]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){i=l;z=37;break}a=f[i>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[p>>2]|0)+40>>2]|0,p|0)|0;D=x;x=0;if(D&1)break;else{i=p;continue}}else{f[i>>2]=a+1;mqa(b[a>>0]|0)|0;i=p;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(26,e|0,f[s>>2]|0,g|0,v|0)|0;e=I;D=x;x=0;if(!(D&1)){D=h;f[D>>2]=a;f[D+4>>2]=e;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!p)e=1;else{a=f[p+12>>2]|0;if((a|0)==(f[p+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,p|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function fi(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,q=0,r=0,s=0,t=0;q=u;u=u+144|0;s=q;t=q+128|0;o=q+112|0;c=q+72|0;m=q+56|0;p=q+48|0;r=q+40|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;n=o+11|0;b[n>>0]=4;f[o>>2]=1885433124;b[o+4>>0]=0;j=c;k=h;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,m|0,i|0);l=x;x=0;if(l&1)c=Ya()|0;else{x=0;j=s;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c=ya(40,o|0,a|0,g|0,s|0,m|0,0)|0;l=x;x=0;if(!(l&1)){x=0;Ga(462,t|0,c|0);l=x;x=0;if(!(l&1)){f[t>>2]=16784;c=f[m>>2]|0;if(c|0){a=m+4|0;e=f[a>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[a>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=j}while((e|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[o>>2]|0);x=0;n=qa(318,88)|0;o=x;x=0;a:do if(o&1)c=Ya()|0;else{m=t+4|0;e=f[m>>2]|0;c=f[e+88>>2]|0;e=f[e+84>>2]|0;j=s;k=h;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,n|0);o=x;x=0;do if(o&1)c=Ya()|0;else{e=c-e>>3;j=n+12|0;k=s;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;c=n+56|0;f[c>>2]=0;f[n>>2]=6516;k=n+60|0;f[k>>2]=9660;g=n+64|0;i=n+68|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;x=0;Ga(516,g|0,e|0);o=x;x=0;if(o&1){c=Ya()|0;a=I;e=f[g>>2]|0;if(e|0){j=f[i>>2]|0;if((j|0)!=(e|0)){do{s=j+-8|0;f[i>>2]=s;Kc[f[f[s>>2]>>2]&511](s);j=f[i>>2]|0}while((j|0)!=(e|0));e=f[g>>2]|0}Hta(e)}break}f[n>>2]=9488;f[k>>2]=9620;a=n+80|0;f[a>>2]=0;d[a+4>>1]=0;b[a+6>>0]=0;f[c>>2]=5;a=f[m>>2]|0;c=f[a+84>>2]|0;a=f[a+88>>2]|0;if((c|0)==(a|0)){_P(t);u=q;return n|0}g=s+4|0;while(1){x=0;Ga(462,s|0,f[c+4>>2]|0);o=x;x=0;if(o&1){e=44;break}f[s>>2]=7696;e=f[(f[k>>2]|0)+20>>2]|0;j=f[m>>2]|0;x=0;Ga(462,r|0,f[g>>2]|0);o=x;x=0;if(o&1){e=45;break}f[r>>2]=7696;x=0;Ia(78,p|0,j+60|0,r|0);o=x;x=0;if(o&1){e=46;break}x=0;Ga(e|0,k|0,p|0);o=x;x=0;if(o&1){e=47;break}_P(p);_P(r);_P(s);c=c+8|0;if((c|0)==(a|0)){e=24;break}}if((e|0)==24){_P(t);u=q;return n|0}else if((e|0)==44)c=Ya()|0;else if((e|0)==45){c=Ya()|0;e=49}else if((e|0)==46){c=Ya()|0;e=48}else if((e|0)==47){c=Ya()|0;_P(p);e=48}if((e|0)==48){_P(r);e=49}if((e|0)==49)_P(s);break a}while(0);Hta(n)}while(0);_P(t);t=c;jb(t|0)}}c=Ya()|0;g=I;e=f[m>>2]|0;if(e){i=m+4|0;j=f[i>>2]|0;if((j|0)!=(e|0)){a=j;while(1){j=a+-52|0;f[i>>2]=j;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);j=f[i>>2]|0}if((j|0)==(e|0))break;else a=j}e=f[m>>2]|0}Hta(e)}}if((b[n>>0]|0)<0)Hta(f[o>>2]|0);t=c;jb(t|0);return 0}function gi(a){a=a|0;var c=0,d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;g=a+4|0;c=f[g>>2]|0;do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44014,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=5;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44017,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=4;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44020,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=2;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44023,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=3;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44026,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=1;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44029,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=0;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==3){x=0;c=wa(21,a|0,0,-1,44032,3)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=256;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==4){x=0;c=wa(21,a|0,0,-1,44036,4)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=257;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==3){x=0;c=wa(21,a|0,0,-1,44041,3)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=258;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==4){x=0;c=wa(21,a|0,0,-1,44045,4)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=259;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==1){x=0;c=wa(21,a|0,0,-1,44050,1)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=512;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44052,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=513;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==2){x=0;c=wa(21,a|0,0,-1,44055,2)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=768;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==3){x=0;c=wa(21,a|0,0,-1,44058,3)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=769;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==3){x=0;c=wa(21,a|0,0,-1,44062,3)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=1024;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);do if(((d<<24>>24<0?c:d&255)|0)==4){x=0;c=wa(21,a|0,0,-1,44066,4)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}if(!c){a=1025;return a|0}else{d=b[e>>0]|0;c=f[g>>2]|0;break}}while(0);if(((d<<24>>24<0?c:d&255)|0)!=4){a=1280;return a|0}x=0;c=wa(21,a|0,0,-1,44071,4)|0;a=x;x=0;if(a&1){a=Za(0)|0;soa(a)}else return ((c|0)==0?1026:1280)|0;return 0}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=0;t=u;u=u+176|0;k=t+128|0;w=t+112|0;v=t+64|0;j=t+72|0;p=t+48|0;m=t+40|0;l=t+32|0;n=t+24|0;o=t+16|0;q=t+8|0;r=t;Fq(k,c);e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(k);if(i>>>0<11){b[k+11>>0]=i;d=k}else{g=i+16&-16;d=VN(g)|0;f[k>>2]=d;f[k+8>>2]=g|-2147483648;f[k+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,w|0,k|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);w=d;jb(w|0)}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);x=0;h=qa(318,92)|0;i=x;x=0;a:do if(i&1)d=Ya()|0;else{d=j;e=c+108|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Ga(459,p|0,w|0);i=x;x=0;do if(i&1)d=Ya()|0;else{x=0;Ga(462,m|0,0);i=x;x=0;if(i&1){d=Ya()|0;e=1}else{f[m>>2]=9376;x=0;Ga(462,l|0,0);i=x;x=0;if(i&1){d=Ya()|0;e=1}else{f[l>>2]=7280;x=0;d=k;e=j;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));Ka(13,h|0,k|0,p|0,m|0,l|0);k=x;x=0;if(k&1)e=1;else{x=0;Ga(462,v|0,h|0);k=x;x=0;if(k&1)e=0;else{f[v>>2]=17160;_P(l);_P(m);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);g=v+4|0;d=f[g>>2]|0;x=0;Ga(599,o|0,c|0);p=x;x=0;b:do if(p&1)s=46;else{e=d+84|0;d=d+88|0;if(!(f[d>>2]|0))s=23;else{x=0;Fa(429,e|0);p=x;x=0;if(!(p&1))s=23}do if((s|0)==23){f[d>>2]=f[o+4>>2];x=0;Fa(430,e|0);p=x;x=0;if(p&1)break;x=0;Ga(462,n|0,f[d>>2]|0);p=x;x=0;if(p&1)break;f[n>>2]=9376;_P(n);_P(o);d=f[c+76>>2]|0;x=0;e=qa(348,d|0)|0;p=x;x=0;if(p&1){s=46;break b}p=e|0?e:d;p=(b[p>>0]|0)==123?p+1|0:0;c:do if(!((p|0)==0?1:p>>>0>(f[c+80>>2]|0)>>>0)){d=f[g>>2]|0;x=0;Ia(123,r|0,c|0,0);c=x;x=0;if(c&1){s=46;break b}e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))s=30;else{x=0;Fa(429,e|0);c=x;x=0;if(!(c&1))s=30}do if((s|0)==30){f[d>>2]=f[r+4>>2];x=0;Fa(430,e|0);c=x;x=0;if(c&1)break;x=0;Ga(462,q|0,f[d>>2]|0);c=x;x=0;if(c&1)break;f[q>>2]=7280;_P(q);_P(r);break c}while(0);d=Ya()|0;_P(r);break b}while(0);d=f[g>>2]|0;if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);s=x;x=0;if(s&1){s=46;break b}f[a>>2]=17160;_P(v);if((b[w+11>>0]|0)>=0){u=t;return}Hta(f[w>>2]|0);u=t;return}while(0);d=Ya()|0;_P(o)}while(0);if((s|0)==46)d=Ya()|0;_P(v);break a}}d=Ya()|0;_P(l)}_P(m)}if((b[p+11>>0]|0)<0){Hta(f[p>>2]|0);if(e)break;else break a}else if(e)break;else break a}while(0);Hta(h)}while(0);if((b[w+11>>0]|0)>=0){w=d;jb(w|0)}Hta(f[w>>2]|0);w=d;jb(w|0)}function ii(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=0;B=u;u=u+304|0;r=B+200|0;s=B+196|0;C=B+184|0;D=B+172|0;t=B+168|0;y=B+8|0;z=B+4|0;v=B;w=rT(g)|0;EB(C,g,r,s);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[D+(a<<2)>>2]=0;a=a+1|0}q=D+11|0;if((b[q>>0]|0)<0)a=(f[D+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,D|0,a|0,0);p=x;x=0;if(p&1)a=Ya()|0;else{g=(b[q>>0]|0)<0?f[D>>2]|0:D;f[t>>2]=g;f[z>>2]=y;f[v>>2]=0;m=D+4|0;n=D+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){o=0;p=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;p=x;x=0;if(p&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;o=0;p=0;k=1}else{o=j;p=k;k=0}}j=f[e>>2]|0;do if(!j)A=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[e>>2]=0;A=20;break}else if(k)break;else{A=37;break a}}while(0);if((A|0)==20){A=0;if(k){j=0;A=37;break}else j=0}k=b[q>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[t>>2]|0)==(g+k|0)){x=0;Ia(93,D|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[q>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,D|0,a|0,0);l=x;x=0;if(l&1)break;g=(b[q>>0]|0)<0?f[D>>2]|0:D;f[t>>2]=g+k}k=o+12|0;a=f[k>>2]|0;l=o+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;E=x;x=0;if(E&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Ba(2,a|0,w|0,g|0,t|0,v|0,f[s>>2]|0,C|0,y|0,z|0,r|0)|0;E=x;x=0;if(E&1)break;if(a|0){A=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;E=x;x=0;if(E&1)break;else{j=o;k=p;continue}}else{f[k>>2]=a+4;mra(f[a>>2]|0)|0;j=o;k=p;continue}}b:do if((A|0)==37){E=b[C+11>>0]|0;if((E<<24>>24<0?f[C+4>>2]|0:E&255)|0){a=f[z>>2]|0;if((a-y|0)<160){E=f[v>>2]|0;f[z>>2]=a+4;f[a>>2]=E}}x=0;a=ua(25,g|0,f[t>>2]|0,h|0,w|0)|0;E=x;x=0;if(!(E&1)){d[i>>1]=a;x=0;Ja(60,C|0,y|0,f[z>>2]|0,h|0);E=x;x=0;if(!(E&1)){if(!o)g=1;else{a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,o|0)|0;E=x;x=0;if(E&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;g=1}else g=0}do if(!j)A=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;E=x;x=0;if(E&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[e>>2]=0;A=54;break}else if(g)break;else{A=56;break}}while(0);if((A|0)==54)if(g)A=56;if((A|0)==56)f[h>>2]=f[h>>2]|2;E=f[c>>2]|0;Aaa(D);Aaa(C);u=B;return E|0}}}while(0);a=Ya()|0}Aaa(D);Aaa(C);jb(a|0);return 0}function ji(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+304|0;q=A+200|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;EB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}p=C+11|0;if((b[p>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;l=C+4|0;m=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;j=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;n=0;o=0;j=1}else{n=i;o=j;j=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;k=x;x=0;if(k&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=20;break}else if(j)break;else{z=37;break a}}while(0);if((z|0)==20){z=0;if(j){i=0;z=37;break}else i=0}j=b[p>>0]|0;j=j<<24>>24<0?f[l>>2]|0:j&255;if((f[s>>2]|0)==(e+j|0)){x=0;Ia(93,C|0,j<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+j}j=n+12|0;a=f[j>>2]|0;k=n+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Ba(2,a|0,v|0,e|0,s|0,t|0,f[r>>2]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){z=37;break}a=f[j>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=x;x=0;if(D&1)break;else{i=n;j=o;continue}}else{f[j>>2]=a+4;mra(f[a>>2]|0)|0;i=n;j=o;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(23,e|0,f[s>>2]|0,g|0,v|0)|0;D=x;x=0;if(!(D&1)){f[h>>2]=a;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function ki(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+304|0;q=A+200|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;EB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}p=C+11|0;if((b[p>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;l=C+4|0;m=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;j=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;n=0;o=0;j=1}else{n=i;o=j;j=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;k=x;x=0;if(k&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=20;break}else if(j)break;else{z=37;break a}}while(0);if((z|0)==20){z=0;if(j){i=0;z=37;break}else i=0}j=b[p>>0]|0;j=j<<24>>24<0?f[l>>2]|0:j&255;if((f[s>>2]|0)==(e+j|0)){x=0;Ia(93,C|0,j<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+j}j=n+12|0;a=f[j>>2]|0;k=n+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Ba(2,a|0,v|0,e|0,s|0,t|0,f[r>>2]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){z=37;break}a=f[j>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=x;x=0;if(D&1)break;else{i=n;j=o;continue}}else{f[j>>2]=a+4;mra(f[a>>2]|0)|0;i=n;j=o;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(24,e|0,f[s>>2]|0,g|0,v|0)|0;D=x;x=0;if(!(D&1)){f[h>>2]=a;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function li(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,t=0,v=0,w=0,y=0,z=0;v=0;s=u;u=u+208|0;r=s;z=s+200|0;y=s+132|0;c=s+160|0;n=s+144|0;w=s+120|0;m=s+80|0;t=s+64|0;p=s+56|0;q=s+40|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;o=y+11|0;b[o>>0]=6;b[y>>0]=b[41511]|0;b[y+1>>0]=b[41512]|0;b[y+2>>0]=b[41513]|0;b[y+3>>0]=b[41514]|0;b[y+4>>0]=b[41515]|0;b[y+5>>0]=b[41516]|0;b[y+6>>0]=0;j=c;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,n|0,h|0);l=x;x=0;do if(l&1)c=Ya()|0;else{x=0;j=r;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ma(3,z|0,y|0,a|0,e|0,r|0,n|0,d|0);l=x;x=0;if(l&1){c=Ya()|0;l=I;i=f[n>>2]|0;if(!i)break;m=n+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[n>>2]|0}Hta(i);break}c=f[n>>2]|0;if(c|0){k=n+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[y>>2]|0);f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;n=w+11|0;b[n>>0]=4;f[w>>2]=1651864356;b[w+4>>0]=0;j=m;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,t|0,h|0);o=x;x=0;do if(o&1){c=Ya()|0;v=49}else{x=0;j=r;k=m;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ma(3,y|0,w|0,a|0,e|0,r|0,t|0,d|0);o=x;x=0;if(o&1){c=Ya()|0;l=I;i=f[t>>2]|0;if(!i){v=49;break}m=t+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[t>>2]|0}Hta(i);v=49;break}c=f[t>>2]|0;if(c|0){k=t+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[w>>2]|0);c=f[z+4>>2]|0;i=f[(f[c>>2]|0)+152>>2]|0;x=0;Ga(462,p|0,f[y+4>>2]|0);w=x;x=0;do if(w&1)v=52;else{f[p>>2]=7168;j=q+11|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;x=0;c=ta(i|0,c|0,p|0,q|0)|0;w=x;x=0;if(w&1){c=Ya()|0;if((b[j>>0]|0)<0)Hta(f[q>>2]|0);_P(p);break}if((b[j>>0]|0)<0)Hta(f[q>>2]|0);_P(p);x=0;i=qa(318,68)|0;w=x;x=0;if(w&1)v=52;else{j=r;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,i|0);w=x;x=0;if(w&1){c=Ya()|0;Hta(i);break}else{c=c&1;j=i+12|0;k=r;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i>>2]=11240;b[i+60>>0]=c;f[i+64>>2]=0;f[i+56>>2]=1;_P(y);_P(z);u=s;return i|0}}}while(0);if((v|0)==52)c=Ya()|0;_P(y)}while(0);if((v|0)==49)if((b[n>>0]|0)<0)Hta(f[w>>2]|0);_P(z);z=c;jb(z|0)}while(0);if((b[o>>0]|0)<0)Hta(f[y>>2]|0);z=c;jb(z|0);return 0}function mi(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=0;B=u;u=u+224|0;r=B+198|0;s=B+196|0;C=B+184|0;D=B+172|0;t=B+168|0;y=B+8|0;z=B+4|0;v=B;w=rT(g)|0;FB(C,g,r,s);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[D+(a<<2)>>2]=0;a=a+1|0}q=D+11|0;if((b[q>>0]|0)<0)a=(f[D+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,D|0,a|0,0);p=x;x=0;if(p&1)a=Ya()|0;else{g=(b[q>>0]|0)<0?f[D>>2]|0:D;f[t>>2]=g;f[z>>2]=y;f[v>>2]=0;m=D+4|0;n=D+8|0;k=f[c>>2]|0;j=k;a:while(1){if(!j){o=0;p=0;k=1}else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;p=x;x=0;if(p&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;o=0;p=0;k=1}else{o=j;p=k;k=0}}j=f[e>>2]|0;do if(!j)A=20;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[e>>2]=0;A=20;break}else if(k)break;else{A=37;break a}}while(0);if((A|0)==20){A=0;if(k){j=0;A=37;break}else j=0}k=b[q>>0]|0;k=k<<24>>24<0?f[m>>2]|0:k&255;if((f[t>>2]|0)==(g+k|0)){x=0;Ia(93,D|0,k<<1|0,0);l=x;x=0;if(l&1)break;if((b[q>>0]|0)<0)a=(f[n>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,D|0,a|0,0);l=x;x=0;if(l&1)break;g=(b[q>>0]|0)<0?f[D>>2]|0:D;f[t>>2]=g+k}k=o+12|0;a=f[k>>2]|0;l=o+16|0;if((a|0)==(f[l>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;E=x;x=0;if(E&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Ba(1,a&255|0,w|0,g|0,t|0,v|0,b[s>>0]|0,C|0,y|0,z|0,r|0)|0;E=x;x=0;if(E&1)break;if(a|0){A=37;break}a=f[k>>2]|0;if((a|0)==(f[l>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;E=x;x=0;if(E&1)break;else{j=o;k=p;continue}}else{f[k>>2]=a+1;mqa(b[a>>0]|0)|0;j=o;k=p;continue}}b:do if((A|0)==37){E=b[C+11>>0]|0;if((E<<24>>24<0?f[C+4>>2]|0:E&255)|0){a=f[z>>2]|0;if((a-y|0)<160){E=f[v>>2]|0;f[z>>2]=a+4;f[a>>2]=E}}x=0;a=ua(25,g|0,f[t>>2]|0,h|0,w|0)|0;E=x;x=0;if(!(E&1)){d[i>>1]=a;x=0;Ja(60,C|0,y|0,f[z>>2]|0,h|0);E=x;x=0;if(!(E&1)){if(!o)g=1;else{a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){x=0;a=qa(f[(f[p>>2]|0)+36>>2]|0,o|0)|0;E=x;x=0;if(E&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;g=1}else g=0}do if(!j)A=54;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;E=x;x=0;if(E&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[e>>2]=0;A=54;break}else if(g)break;else{A=56;break}}while(0);if((A|0)==54)if(g)A=56;if((A|0)==56)f[h>>2]=f[h>>2]|2;E=f[c>>2]|0;Aaa(D);Aaa(C);u=B;return E|0}}}while(0);a=Ya()|0}Aaa(D);Aaa(C);jb(a|0);return 0}function ni(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+224|0;q=A+198|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;FB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}p=C+11|0;if((b[p>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;l=C+4|0;m=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;j=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;n=0;o=0;j=1}else{n=i;o=j;j=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;k=x;x=0;if(k&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=20;break}else if(j)break;else{z=37;break a}}while(0);if((z|0)==20){z=0;if(j){i=0;z=37;break}else i=0}j=b[p>>0]|0;j=j<<24>>24<0?f[l>>2]|0:j&255;if((f[s>>2]|0)==(e+j|0)){x=0;Ia(93,C|0,j<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+j}j=n+12|0;a=f[j>>2]|0;k=n+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Ba(1,a&255|0,v|0,e|0,s|0,t|0,b[r>>0]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){z=37;break}a=f[j>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=x;x=0;if(D&1)break;else{i=n;j=o;continue}}else{f[j>>2]=a+1;mqa(b[a>>0]|0)|0;i=n;j=o;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(23,e|0,f[s>>2]|0,g|0,v|0)|0;D=x;x=0;if(!(D&1)){f[h>>2]=a;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function oi(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+224|0;q=A+198|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;FB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}p=C+11|0;if((b[p>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;l=C+4|0;m=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;j=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;n=0;o=0;j=1}else{n=i;o=j;j=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;k=x;x=0;if(k&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=20;break}else if(j)break;else{z=37;break a}}while(0);if((z|0)==20){z=0;if(j){i=0;z=37;break}else i=0}j=b[p>>0]|0;j=j<<24>>24<0?f[l>>2]|0:j&255;if((f[s>>2]|0)==(e+j|0)){x=0;Ia(93,C|0,j<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+j}j=n+12|0;a=f[j>>2]|0;k=n+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Ba(1,a&255|0,v|0,e|0,s|0,t|0,b[r>>0]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){z=37;break}a=f[j>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=x;x=0;if(D&1)break;else{i=n;j=o;continue}}else{f[j>>2]=a+1;mqa(b[a>>0]|0)|0;i=n;j=o;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(24,e|0,f[s>>2]|0,g|0,v|0)|0;D=x;x=0;if(!(D&1)){f[h>>2]=a;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function pi(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+304|0;q=A+200|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;EB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}p=C+11|0;if((b[p>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;l=C+4|0;m=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;j=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;n=0;o=0;j=1}else{n=i;o=j;j=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;k=x;x=0;if(k&1)break a}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=20;break}else if(j)break;else{z=37;break a}}while(0);if((z|0)==20){z=0;if(j){i=0;z=37;break}else i=0}j=b[p>>0]|0;j=j<<24>>24<0?f[l>>2]|0:j&255;if((f[s>>2]|0)==(e+j|0)){x=0;Ia(93,C|0,j<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+j}j=n+12|0;a=f[j>>2]|0;k=n+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;x=0;a=Ba(2,a|0,v|0,e|0,s|0,t|0,f[r>>2]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){z=37;break}a=f[j>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=x;x=0;if(D&1)break;else{i=n;j=o;continue}}else{f[j>>2]=a+4;mra(f[a>>2]|0)|0;i=n;j=o;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(27,e|0,f[s>>2]|0,g|0,v|0)|0;D=x;x=0;if(!(D&1)){f[h>>2]=a;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function qi(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;A=u;u=u+224|0;q=A+198|0;r=A+196|0;B=A+184|0;C=A+172|0;s=A+168|0;w=A+8|0;y=A+4|0;t=A;v=rT(e)|0;FB(B,e,q,r);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[C+(a<<2)>>2]=0;a=a+1|0}p=C+11|0;if((b[p>>0]|0)<0)a=(f[C+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e;f[y>>2]=w;f[t>>2]=0;l=C+4|0;m=C+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;j=1}else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;n=0;o=0;j=1}else{n=i;o=j;j=0}}i=f[d>>2]|0;do if(!i)z=20;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;k=x;x=0;if(k&1)break a}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=20;break}else if(j)break;else{z=37;break a}}while(0);if((z|0)==20){z=0;if(j){i=0;z=37;break}else i=0}j=b[p>>0]|0;j=j<<24>>24<0?f[l>>2]|0:j&255;if((f[s>>2]|0)==(e+j|0)){x=0;Ia(93,C|0,j<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,C|0,a|0,0);k=x;x=0;if(k&1)break;e=(b[p>>0]|0)<0?f[C>>2]|0:C;f[s>>2]=e+j}j=n+12|0;a=f[j>>2]|0;k=n+16|0;if((a|0)==(f[k>>2]|0)){x=0;a=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;x=0;a=Ba(1,a&255|0,v|0,e|0,s|0,t|0,b[r>>0]|0,B|0,w|0,y|0,q|0)|0;D=x;x=0;if(D&1)break;if(a|0){z=37;break}a=f[j>>2]|0;if((a|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=x;x=0;if(D&1)break;else{i=n;j=o;continue}}else{f[j>>2]=a+1;mqa(b[a>>0]|0)|0;i=n;j=o;continue}}b:do if((z|0)==37){D=b[B+11>>0]|0;if((D<<24>>24<0?f[B+4>>2]|0:D&255)|0){a=f[y>>2]|0;if((a-w|0)<160){D=f[t>>2]|0;f[y>>2]=a+4;f[a>>2]=D}}x=0;a=ua(27,e|0,f[s>>2]|0,g|0,v|0)|0;D=x;x=0;if(!(D&1)){f[h>>2]=a;x=0;Ja(60,B|0,w|0,f[y>>2]|0,g|0);D=x;x=0;if(!(D&1)){if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;D=x;x=0;if(D&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!i)z=54;else{a=f[i+12>>2]|0;if((a|0)==(f[i+16>>2]|0)){x=0;a=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;D=x;x=0;if(D&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;z=54;break}else if(e)break;else{z=56;break}}while(0);if((z|0)==54)if(e)z=56;if((z|0)==56)f[g>>2]=f[g>>2]|2;D=f[c>>2]|0;Aaa(C);Aaa(B);u=A;return D|0}}}while(0);a=Ya()|0}Aaa(C);Aaa(B);jb(a|0);return 0}function ri(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;m=0;n=u;u=u+80|0;p=n+64|0;q=n+40|0;o=n+32|0;h=n+24|0;k=n+16|0;i=n+8|0;j=n;qV(p,0);f[p>>2]=7696;l=a+4|0;x=0;d=qa(384,f[l>>2]|0)|0;g=x;x=0;if(!(g&1)){x=0;Ia(132,q|0,d|0,0);g=x;x=0;if(!(g&1)){d=f[l>>2]|0;f[o>>2]=q;e=d+60|0;g=f[e>>2]|0;if(g>>>0<(f[d+64>>2]|0)>>>0){f[g>>2]=q;f[e>>2]=(f[e>>2]|0)+4;m=6}else{x=0;Ga(646,d+56|0,o|0);g=x;x=0;if(g&1)d=Ya()|0;else m=6}if((m|0)==6){x=0;Ga(462,h|0,f[c+76>>2]|0);g=x;x=0;do if(g&1)d=Ya()|0;else{f[h>>2]=7696;d=f[h+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;g=x;x=0;if(!(g&1)){x=0;Ga(462,o|0,d|0);g=x;x=0;if(!(g&1)){f[o>>2]=7696;_P(h);d=f[o+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+88>>2]|0,d|0)|0;h=x;x=0;a:do if(h&1)d=Ya()|0;else{b:do if(d){x=0;Ga(462,k|0,f[c+84>>2]|0);i=x;x=0;c:do if(i&1)d=Ya()|0;else{f[k>>2]=7280;d=f[k+4>>2]|0;d:do if(!d)d=p+4|0;else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;i=x;x=0;e:do if(i&1)m=36;else{x=0;Ga(462,j|0,d|0);i=x;x=0;if(i&1){m=36;break}f[j>>2]=7696;d=p+4|0;do if(f[d>>2]|0){x=0;Fa(429,p|0);i=x;x=0;if(!(i&1))break;d=Ya()|0;_P(j);break e}while(0);m=j+4|0;f[d>>2]=f[m>>2];f[m>>2]=0;_P(j);break d}while(0);if((m|0)==36)d=Ya()|0;_P(k);break c}while(0);_P(k);break b}while(0);break a}else{x=0;Ga(462,i|0,f[c+68>>2]|0);j=x;x=0;if(j&1)d=Ya()|0;else{f[i>>2]=7280;d=f[i+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;j=x;x=0;f:do if(j&1)m=23;else{x=0;Ga(462,k|0,d|0);j=x;x=0;if(j&1)m=23;else{f[k>>2]=7696;d=p+4|0;do if(f[d>>2]|0){x=0;Fa(429,p|0);j=x;x=0;if(!(j&1))break;d=Ya()|0;_P(k);break f}while(0);m=k+4|0;f[d>>2]=f[m>>2];f[m>>2]=0;_P(k);_P(i);break b}}while(0);if((m|0)==23)d=Ya()|0;_P(i)}break a}while(0);m=(f[l>>2]|0)+60|0;f[m>>2]=(f[m>>2]|0)+-4;d=f[d>>2]|0;if(!d){m=0;_P(o);o=q+4|0;o=f[o>>2]|0;rE(q,o);_P(p);u=n;return m|0}b[d+8>>0]=1;m=d;_P(o);o=q+4|0;o=f[o>>2]|0;rE(q,o);_P(p);u=n;return m|0}while(0);_P(o);break}}d=Ya()|0;_P(h)}while(0)}rE(q,f[q+4>>2]|0);q=d;_P(p);jb(q|0)}}q=Ya()|0;_P(p);jb(q|0);return 0}function si(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;p=0;o=u;u=u+128|0;m=o+88|0;q=o+80|0;l=o+72|0;j=o+60|0;k=o+48|0;i=o+8|0;n=o;qV(q,0);f[q>>2]=7696;x=0;d=qa(384,f[a+4>>2]|0)|0;h=x;x=0;if(h&1){p=Ya()|0;_P(q);jb(p|0)}e=c+60|0;x=0;Ia(134,l|0,d|0,e|0);h=x;x=0;a:do if(h&1)p=9;else{b:do if(!(b[l+4>>0]|0)){x=0;Ia(92,k|0,47617,e|0);h=x;x=0;if(h&1)d=Ya()|0;else{x=0;d=sa(991,k|0,53419)|0;h=x;x=0;do if(h&1)d=Ya()|0;else{f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;e=i;g=c+12|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));d=f[a+12>>2]|0;x=0;e=m;g=i;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ia(100,j|0,m|0,d|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);g=q+4|0;break b}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0)}break a}else{x=0;Ga(462,m|0,f[(f[l>>2]|0)+32>>2]|0);k=x;x=0;do if(k&1)d=Ya()|0;else{f[m>>2]=7696;d=q+4|0;if(f[d>>2]|0){x=0;Fa(429,q|0);k=x;x=0;if(k&1){d=Ya()|0;_P(m);break}}g=m+4|0;f[d>>2]=f[g>>2];f[g>>2]=0;_P(m);g=d;break b}while(0);break a}while(0);d=f[g>>2]|0;c:do if(!d)d=0;else{d:do if((f[271]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;Ga(462,m|0,f[d+64>>2]|0);k=x;x=0;do if(k&1)d=Ya()|0;else{f[m>>2]=7696;if(f[g>>2]|0){x=0;Fa(429,q|0);k=x;x=0;if(k&1){d=Ya()|0;_P(m);break}}d=m+4|0;f[g>>2]=f[d>>2];f[d>>2]=0;_P(m);d=f[g>>2]|0;if(!d){d=0;break c}else break d}while(0);break a}while(0);if((f[49]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))b[d+96>>0]=1}while(0);b[d+54>>0]=b[c+54>>0]|0;e=a+16|0;if(b[e>>0]|0)b[d+53>>0]=0;x=0;Ga(f[(f[d>>2]|0)+100>>2]|0,d|0,0);c=x;x=0;if(c&1)p=9;else{d=f[g>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;a=x;x=0;do if(a&1)p=54;else{x=0;Ga(462,m|0,d|0);a=x;x=0;if(a&1)p=54;else{f[m>>2]=7696;if(f[g>>2]|0){x=0;Fa(429,q|0);a=x;x=0;if(a&1){d=Ya()|0;_P(m);break}}a=m+4|0;f[g>>2]=f[a>>2];f[a>>2]=0;_P(m);e:do if(!(b[e>>0]|0)){x=0;Ga(462,n|0,f[g>>2]|0);a=x;x=0;if(a&1)d=Ya()|0;else{f[n>>2]=7696;x=0;Ga(462,m|0,f[n+4>>2]|0);a=x;x=0;f:do if(a&1)d=Ya()|0;else{f[m>>2]=6664;d=f[l>>2]|0;e=d+28|0;if((e|0)!=(m|0)){d=d+32|0;do if(f[d>>2]|0){x=0;Fa(429,e|0);l=x;x=0;if(!(l&1))break;d=Ya()|0;_P(m);break f}while(0);p=m+4|0;f[d>>2]=f[p>>2];f[p>>2]=0}_P(m);_P(n);break e}while(0);_P(n)}break a}while(0);d=f[g>>2]|0;if(!d){p=0;_P(q);u=o;return p|0}b[d+8>>0]=1;p=d;_P(q);u=o;return p|0}}while(0);if((p|0)==54)d=Ya()|0}}while(0);if((p|0)==9)d=Ya()|0;p=d;_P(q);jb(p|0);return 0}function ti(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,t=0,v=0,w=0,y=0;v=u;u=u+48|0;w=v+28|0;t=v;i=f[a+20>>2]|0;c=f[a+24>>2]|0;if(c|0){ega(c);QZ(c)}g=f[b+20>>2]|0;c=f[b+24>>2]|0;if(c|0){ega(c);QZ(c)}r=i+20|0;c=f[r>>2]|0;s=g+20|0;a=f[s>>2]|0;f[t>>2]=0;h=t+4|0;f[h>>2]=0;f[t+8>>2]=0;do if(a|0){if(a>>>0>1073741823){x=0;Fa(426,t|0);x=0}else{b=a<<2;x=0;e=qa(318,b|0)|0;q=x;x=0;if(!(q&1)){f[t>>2]=e;q=e+(a<<2)|0;f[t+8>>2]=q;AD(e|0,0,b|0)|0;f[h>>2]=q;break}}b=Ya()|0;c=f[t>>2]|0;if(!c)jb(b|0);a=f[h>>2]|0;if((a|0)!=(c|0))f[h>>2]=a+(~((a+-4-c|0)>>>2)<<2);Hta(c);jb(b|0)}while(0);x=0;Ia(145,w|0,c|0,t|0);q=x;x=0;if(q&1){b=Ya()|0;c=f[t>>2]|0;if(c|0){a=f[h>>2]|0;if((a|0)!=(c|0))f[h>>2]=a+(~((a+-4-c|0)>>>2)<<2);Hta(c)}w=b;jb(w|0)}c=f[t>>2]|0;if(c|0){a=f[h>>2]|0;if((a|0)!=(c|0))f[h>>2]=a+(~((a+-4-c|0)>>>2)<<2);Hta(c)}a=f[r>>2]|0;a:do if(a>>>0>1){o=i+16|0;m=i+4|0;n=g+16|0;j=g+4|0;q=t+12|0;k=t+16|0;l=t+20|0;p=t+24|0;i=1;c=f[s>>2]|0;b:while(1){if(c>>>0>1){h=i+-1|0;g=1;do{x=0;Fa(453,t|0);e=x;x=0;if(e&1){e=44;break b}b=(f[o>>2]|0)+i|0;a=f[(f[m>>2]|0)+(((b>>>0)/146|0)<<2)>>2]|0;b=(b>>>0)%146|0;e=a+(b*28|0)|0;c=(f[n>>2]|0)+g|0;x=0;c=sa(1052,e|0,(f[(f[j>>2]|0)+(((c>>>0)/146|0)<<2)>>2]|0)+(((c>>>0)%146|0)*28|0)|0)|0;y=x;x=0;if(y&1){e=45;break b}if(c){f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];if(f[k>>2]|0){x=0;Fa(429,q|0);y=x;x=0;if(y&1){e=45;break b}}f[k>>2]=f[a+(b*28|0)+16>>2];x=0;Fa(430,q|0);y=x;x=0;if(y&1){e=45;break b}a=a+(b*28|0)|0;c=f[a+20>>2]|0;a=f[a+24>>2]|0;if(a|0)ega(a);f[l>>2]=c;c=f[p>>2]|0;f[p>>2]=a;if(c|0)QZ(c);a=f[w>>2]|0;c=(f[(f[a+(h*12|0)>>2]|0)+(g+-1<<2)>>2]|0)+1|0;a=f[a+(i*12|0)>>2]|0}else{y=f[w>>2]|0;a=f[y+(i*12|0)>>2]|0;c=f[a+(g+-1<<2)>>2]|0;y=f[(f[y+(h*12|0)>>2]|0)+(g<<2)>>2]|0;c=(c|0)<(y|0)?y:c}f[a+(g<<2)>>2]=c;c=f[p>>2]|0;if(c|0)QZ(c);_P(q);g=g+1|0;c=f[s>>2]|0}while(g>>>0>>0);a=f[r>>2]|0}i=i+1|0;if(i>>>0>=a>>>0){e=24;break a}}if((e|0)==44){a=Ya()|0;c=I}else if((e|0)==45){a=Ya()|0;c=I;b=f[p>>2]|0;if(b|0)QZ(b);_P(q)}i=c;c=w}else e=24;while(0);do if((e|0)==24){if((w|0)!=(d|0)){x=0;Ia(146,d|0,f[w>>2]|0,f[w+4>>2]|0);y=x;x=0;if(y&1){a=Ya()|0;i=I;c=w;break}}c=f[w>>2]|0;if(!c){u=v;return}g=w+4|0;a=f[g>>2]|0;if((a|0)!=(c|0)){do{b=a+-12|0;f[g>>2]=b;e=f[b>>2]|0;if(!e)a=b;else{a=a+-8|0;b=f[a>>2]|0;if((b|0)!=(e|0))f[a>>2]=b+(~((b+-4-e|0)>>>2)<<2);Hta(e);a=f[g>>2]|0}}while((a|0)!=(c|0));c=f[w>>2]|0}Hta(c);u=v;return}while(0);c=f[c>>2]|0;if(!c){y=a;jb(y|0)}h=w+4|0;b=f[h>>2]|0;if((b|0)!=(c|0)){do{e=b+-12|0;f[h>>2]=e;g=f[e>>2]|0;if(!g)b=e;else{b=b+-8|0;e=f[b>>2]|0;if((e|0)!=(g|0))f[b>>2]=e+(~((e+-4-g|0)>>>2)<<2);Hta(g);b=f[h>>2]|0}}while((b|0)!=(c|0));c=f[w>>2]|0}Hta(c);y=a;jb(y|0)}function ui(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,v=0;p=0;s=u;u=u+128|0;t=s+16|0;r=s+64|0;k=s+80|0;v=s;n=s+72|0;m=s+56|0;d=f[a+60>>2]|0;if((d|0)==(f[a+56>>2]|0))d=0;else d=f[d+-4>>2]|0;e=VN(16)|0;f[t>>2]=e;f[t+8>>2]=-2147483632;f[t+4>>2]=11;g=e;h=48415;i=g+11|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+11>>0]=0;x=0;d=sa(1009,d|0,t|0)|0;q=x;x=0;if(q&1){d=Ya()|0;if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);v=d;jb(v|0)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if(!d){v=0;u=s;return v|0}j=a+72|0;do if(b[(f[(f[j>>2]|0)+-4>>2]|0)+84>>0]|0){qV(t,0);f[t>>2]=7168;d=a+96|0;e=f[d>>2]|0;if(e>>>0<(f[a+100>>2]|0)>>>0){x=0;Ga(462,e|0,f[t+4>>2]|0);q=x;x=0;if(!(q&1)){f[e>>2]=7168;f[d>>2]=(f[d>>2]|0)+8;p=15}}else{x=0;Ga(651,a+92|0,t|0);q=x;x=0;if(!(q&1))p=15}if((p|0)==15){_P(t);break}v=Ya()|0;_P(t);jb(v|0)}while(0);q=VN(92)|0;d=c+12|0;g=k;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;o=v+11|0;b[o>>0]=8;l=v;f[l>>2]=1852793664;f[l+4>>2]=1953391988;b[v+8>>0]=0;x=0;l=qa(318,84)|0;c=x;x=0;a:do if(c&1)p=39;else{g=t;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,l|0);c=x;x=0;do if(c&1)d=Ya()|0;else{g=l+12|0;h=t;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[l>>2]=10464;b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;d=l+60|0;f[d>>2]=10424;i=l+64|0;c=l+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(555,i|0,0);h=x;x=0;if(h&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[c>>2]|0;if((g|0)!=(e|0)){do{t=g+-8|0;f[c>>2]=t;Kc[f[f[t>>2]>>2]&511](t);g=f[c>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[l>>2]=10240;f[d>>2]=10368;b[l+80>>0]=0;b[l+81>>0]=0;b[l+82>>0]=0;x=0;Ga(462,n|0,l|0);l=x;x=0;if(l&1){p=39;break a}f[n>>2]=9376;x=0;Ga(462,m|0,0);l=x;x=0;if(l&1){d=Ya()|0;e=1}else{f[m>>2]=7280;x=0;g=t;h=k;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ka(13,q|0,t|0,v|0,n|0,m|0);l=x;x=0;if(l&1)e=1;else{x=0;Ga(462,r|0,q|0);l=x;x=0;if(l&1)e=0;else{f[r>>2]=17160;_P(m);_P(n);if((b[o>>0]|0)<0)Hta(f[v>>2]|0);d=f[r+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+52>>2]|0,d|0,a|0)|0;v=x;x=0;do if(!(v&1)){if(!d)d=0;else d=(f[125]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,t|0,d|0);v=x;x=0;if(v&1)break;f[t>>2]=18e3;if(b[(f[(f[j>>2]|0)+-4>>2]|0)+84>>0]|0){d=a+96|0;g=f[d>>2]|0;e=g+-8|0;do{v=g+-8|0;f[d>>2]=v;Kc[f[f[v>>2]>>2]&511](v);g=f[d>>2]|0}while((g|0)!=(e|0))}d=f[t+4>>2]|0;if(!d)d=0;else b[d+8>>0]=1;_P(t);_P(r);v=d;u=s;return v|0}while(0);d=Ya()|0;_P(r);break a}}d=Ya()|0;_P(m)}_P(n);p=45;break a}while(0);Hta(l);e=1;p=45}while(0);if((p|0)==39){d=Ya()|0;e=1;p=45}do if((p|0)==45){if((b[o>>0]|0)<0){Hta(f[v>>2]|0);if(!e)break}else if(!e)break;Hta(q)}while(0);v=d;jb(v|0);return 0}function vi(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,t=0,v=0,w=0,y=0,z=0;y=0;w=u;u=u+112|0;j=w;l=(e-d|0)/12|0;do if(l>>>0>100){k=Rd(l)|0;if(!k){x=0;Ea(6);x=0;d=Ya()|0;break}else{j=k;v=k;y=5;break}}else{v=0;y=5}while(0);if((y|0)==5){n=d;o=j;k=0;while(1){if((n|0)==(e|0))break;m=b[n+11>>0]|0;if(m<<24>>24<0)m=f[n+4>>2]|0;else m=m&255;if(!m){b[o>>0]=2;k=k+1|0;l=l+-1|0}else b[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;a:while(1){k=f[a>>2]|0;do if(!k)o=1;else{m=f[k+12>>2]|0;if((m|0)==(f[k+16>>2]|0)){x=0;k=qa(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;s=x;x=0;if(s&1)break a}else k=mqa(b[m>>0]|0)|0;if(wja(k,Kta()|0)|0){f[a>>2]=0;o=1;break}else{o=(f[a>>2]|0)==0;break}}while(0);m=f[c>>2]|0;if(!m){m=0;k=1}else{k=f[m+12>>2]|0;if((k|0)==(f[m+16>>2]|0)){x=0;k=qa(f[(f[m>>2]|0)+36>>2]|0,m|0)|0;s=x;x=0;if(s&1)break}else k=mqa(b[k>>0]|0)|0;if(wja(k,Kta()|0)|0){f[c>>2]=0;m=0;k=1}else k=0}n=f[a>>2]|0;if(!((l|0)!=0&(o^k))){y=29;break}k=f[n+12>>2]|0;if((k|0)==(f[n+16>>2]|0)){x=0;k=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;s=x;x=0;if(s&1)break}else k=mqa(b[k>>0]|0)|0;k=k&255;if(!i){x=0;k=sa(f[(f[g>>2]|0)+12>>2]|0,g|0,k|0)|0;s=x;x=0;if(s&1)break}s=t+1|0;p=d;o=0;q=j;while(1){if((p|0)==(e|0))break;do if((b[q>>0]|0)==1){n=p+11|0;if((b[n>>0]|0)<0)m=f[p>>2]|0;else m=p;m=b[m+t>>0]|0;if(!i){x=0;m=sa(f[(f[g>>2]|0)+12>>2]|0,g|0,m|0)|0;z=x;x=0;if(z&1)break a}if(k<<24>>24!=m<<24>>24){b[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=b[n>>0]|0;if(m<<24>>24<0)m=f[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){b[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}if(!o){t=s;continue}k=f[a>>2]|0;m=k+12|0;n=f[m>>2]|0;if((n|0)==(f[k+16>>2]|0)){x=0;qa(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;z=x;x=0;if(z&1)break}else{f[m>>2]=n+1;mqa(b[n>>0]|0)|0}if((r+l|0)>>>0>1){n=d;o=j;k=r}else{t=s;continue}while(1){if((n|0)==(e|0)){t=s;r=k;continue a}if((b[o>>0]|0)==2){m=b[n+11>>0]|0;if(m<<24>>24<0)m=f[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){b[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}b:do if((y|0)==29){do if(!n)l=1;else{k=f[n+12>>2]|0;if((k|0)==(f[n+16>>2]|0)){x=0;k=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;z=x;x=0;if(z&1)break b}else k=mqa(b[k>>0]|0)|0;if(wja(k,Kta()|0)|0){f[a>>2]=0;l=1;break}else{l=(f[a>>2]|0)==0;break}}while(0);do if(!m)y=76;else{k=f[m+12>>2]|0;if((k|0)==(f[m+16>>2]|0)){x=0;k=qa(f[(f[m>>2]|0)+36>>2]|0,m|0)|0;z=x;x=0;if(z&1)break b}else k=mqa(b[k>>0]|0)|0;if(wja(k,Kta()|0)|0){f[c>>2]=0;y=76;break}else if(l)break;else{y=78;break}}while(0);if((y|0)==76)if(l)y=78;if((y|0)==78)f[h>>2]=f[h>>2]|2;while(1){if((d|0)==(e|0)){y=82;break}if((b[j>>0]|0)==2)break;d=d+12|0;j=j+1|0}if((y|0)==82){f[h>>2]=f[h>>2]|4;d=e}if(v|0)$h(v);u=w;return d|0}while(0);d=Ya()|0;if(v)$h(v)}jb(d|0);return 0}function wi(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,t=0,v=0,w=0,y=0,z=0;y=0;w=u;u=u+112|0;j=w;l=(e-d|0)/12|0;do if(l>>>0>100){k=Rd(l)|0;if(!k){x=0;Ea(6);x=0;d=Ya()|0;break}else{j=k;v=k;y=5;break}}else{v=0;y=5}while(0);if((y|0)==5){n=d;o=j;k=0;while(1){if((n|0)==(e|0))break;m=b[n+8+3>>0]|0;if(m<<24>>24<0)m=f[n+4>>2]|0;else m=m&255;if(!m){b[o>>0]=2;k=k+1|0;l=l+-1|0}else b[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;a:while(1){k=f[a>>2]|0;do if(!k)o=1;else{m=f[k+12>>2]|0;if((m|0)==(f[k+16>>2]|0)){x=0;k=qa(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;s=x;x=0;if(s&1)break a}else k=mra(f[m>>2]|0)|0;if(vja(k,Jta()|0)|0){f[a>>2]=0;o=1;break}else{o=(f[a>>2]|0)==0;break}}while(0);m=f[c>>2]|0;if(!m){m=0;k=1}else{k=f[m+12>>2]|0;if((k|0)==(f[m+16>>2]|0)){x=0;k=qa(f[(f[m>>2]|0)+36>>2]|0,m|0)|0;s=x;x=0;if(s&1)break}else k=mra(f[k>>2]|0)|0;if(vja(k,Jta()|0)|0){f[c>>2]=0;m=0;k=1}else k=0}n=f[a>>2]|0;if(!((l|0)!=0&(o^k))){y=29;break}k=f[n+12>>2]|0;if((k|0)==(f[n+16>>2]|0)){x=0;k=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;s=x;x=0;if(s&1)break}else k=mra(f[k>>2]|0)|0;if(!i){x=0;k=sa(f[(f[g>>2]|0)+28>>2]|0,g|0,k|0)|0;s=x;x=0;if(s&1)break}s=t+1|0;p=d;o=0;q=j;while(1){if((p|0)==(e|0))break;do if((b[q>>0]|0)==1){n=p+8+3|0;if((b[n>>0]|0)<0)m=f[p>>2]|0;else m=p;m=f[m+(t<<2)>>2]|0;if(!i){x=0;m=sa(f[(f[g>>2]|0)+28>>2]|0,g|0,m|0)|0;z=x;x=0;if(z&1)break a}if((k|0)!=(m|0)){b[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=b[n>>0]|0;if(m<<24>>24<0)m=f[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){b[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}if(!o){t=s;continue}k=f[a>>2]|0;m=k+12|0;n=f[m>>2]|0;if((n|0)==(f[k+16>>2]|0)){x=0;qa(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;z=x;x=0;if(z&1)break}else{f[m>>2]=n+4;mra(f[n>>2]|0)|0}if((r+l|0)>>>0>1){n=d;o=j;k=r}else{t=s;continue}while(1){if((n|0)==(e|0)){t=s;r=k;continue a}if((b[o>>0]|0)==2){m=b[n+8+3>>0]|0;if(m<<24>>24<0)m=f[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){b[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}b:do if((y|0)==29){do if(!n)l=1;else{k=f[n+12>>2]|0;if((k|0)==(f[n+16>>2]|0)){x=0;k=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;z=x;x=0;if(z&1)break b}else k=mra(f[k>>2]|0)|0;if(vja(k,Jta()|0)|0){f[a>>2]=0;l=1;break}else{l=(f[a>>2]|0)==0;break}}while(0);do if(!m)y=76;else{k=f[m+12>>2]|0;if((k|0)==(f[m+16>>2]|0)){x=0;k=qa(f[(f[m>>2]|0)+36>>2]|0,m|0)|0;z=x;x=0;if(z&1)break b}else k=mra(f[k>>2]|0)|0;if(vja(k,Jta()|0)|0){f[c>>2]=0;y=76;break}else if(l)break;else{y=78;break}}while(0);if((y|0)==76)if(l)y=78;if((y|0)==78)f[h>>2]=f[h>>2]|2;while(1){if((d|0)==(e|0)){y=82;break}if((b[j>>0]|0)==2)break;d=d+12|0;j=j+1|0}if((y|0)==82){f[h>>2]=f[h>>2]|4;d=e}if(v|0)$h(v);u=w;return d|0}while(0);d=Ya()|0;if(v)$h(v)}jb(d|0);return 0}function xi(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,t=0,v=0,w=0,y=0,z=0,A=0;k=0;z=u;u=u+32|0;A=z+12|0;w=z;y=c+11|0;i=b[y>>0]|0;h=i<<24>>24<0;j=c+4|0;i=h?f[j>>2]|0:i&255;if(i>>>0<2){ND(a,c);u=z;return}h=h?f[c>>2]|0:c;switch(b[h>>0]|0){case 34:{if((b[h+i+-1>>0]|0)==34)v=34;else k=6;break}case 39:{if((b[h+i+-1>>0]|0)==39)v=39;else k=6;break}default:k=6}if((k|0)==6){ND(a,c);u=z;return}f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;x=0;Ga(501,A|0,i+-2|0);t=x;x=0;a:do if(t&1)k=10;else{i=b[y>>0]|0;o=(i<<24>>24<0?f[j>>2]|0:i&255)+-1|0;do if(o>>>0>1){p=v&255;q=w+11|0;r=w+1|0;s=w+2|0;t=w+3|0;h=1;j=0;b:while(1){l=i<<24>>24<0?f[c>>2]|0:c;i=b[l+h>>0]|0;do if(j|i<<24>>24!=92){if((j^1)&g&(i<<24>>24|0)==(p|0)){k=39;break b}x=0;Ga(534,A|0,i|0);n=x;x=0;if(n&1){k=40;break b}else i=0}else{m=h+1|0;c:do if(m>>>0>>0){j=1;i=m;do{k=b[l+i>>0]|0;if(!(k<<24>>24))break c;if(!(Pla(k<<24>>24)|0))break c;j=j+1|0;i=j+h|0}while(i>>>0>>0)}else{j=1;i=m}while(0);if(e){x=0;Ga(534,A|0,92);n=x;x=0;if(n&1){k=18;break b}else{i=1;break}}if(j>>>0>1){x=0;Ka(4,w|0,c|0,m|0,j+-1|0,c|0);n=x;x=0;if(n&1){k=33;break b}k=Lea((b[q>>0]|0)<0?f[w>>2]|0:w,0,16)|0;if((b[q>>0]|0)<0)Hta(f[w>>2]|0);n=(b[((b[y>>0]|0)<0?f[c>>2]|0:c)+i>>0]|0)==32&1;i=(k|0)==0?65533:k;b[w>>0]=0;b[w+1>>0]=0;b[w+2>>0]=0;b[w+3>>0]=0;b[w+4>>0]=0;if(!(i>>>0<1114112&(i&-2048|0)!=55296)){k=24;break b}if(i>>>0<128)k=w;else{do if(i>>>0<2048){k=w;l=1;m=i>>>6|192}else if(i>>>0<65536){b[w>>0]=i>>>12|224;k=r;l=2;m=i>>>6&63|128;break}else{b[w>>0]=i>>>18|240;b[r>>0]=i>>>12&63|128;k=s;l=3;m=i>>>6&63|128;break}while(0);b[k>>0]=m;k=w+l|0;i=i&63|128}b[k>>0]=i;i=b[w>>0]|0;do if(i<<24>>24){x=0;Ga(534,A|0,i|0);m=x;x=0;if(m&1){k=37;break b}i=b[r>>0]|0;if(i<<24>>24){x=0;Ga(534,A|0,i|0);m=x;x=0;if(m&1){k=37;break b}i=b[s>>0]|0;if(!(i<<24>>24))break;x=0;Ga(534,A|0,i|0);m=x;x=0;if(m&1){k=37;break b}i=b[t>>0]|0;if(!(i<<24>>24))break;x=0;Ga(534,A|0,i|0);m=x;x=0;if(m&1){k=37;break b}}}while(0);h=h+-1+j+n|0;i=0}else i=1}while(0);h=h+1|0;if(h>>>0>=o>>>0){k=44;break}j=i;i=b[y>>0]|0}if((k|0)==18){h=Ya()|0;break a}else if((k|0)==24){z=Ta(8)|0;f[z>>2]=16684;f[z+4>>2]=i;x=0;Ia(77,z|0,2528,223);x=0;k=37}else if((k|0)==33){h=Ya()|0;break a}else if((k|0)==39){x=0;Ga(459,a|0,c|0);y=x;x=0;if(y&1)k=40;else break}else if((k|0)==44){if(!i){k=46;break}x=0;Ga(459,a|0,c|0);y=x;x=0;if(y&1){k=10;break a}else break}if((k|0)==37){h=Ya()|0;break a}else if((k|0)==40){h=Ya()|0;break a}}else k=46;while(0);if((k|0)==46){if(d|0)b[d>>0]=v;f[a>>2]=f[A>>2];f[a+4>>2]=f[A+4>>2];f[a+8>>2]=f[A+8>>2];f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);u=z;return}while(0);if((k|0)==10)h=Ya()|0;if((b[A+11>>0]|0)>=0)jb(h|0);Hta(f[A>>2]|0);jb(h|0)}function yi(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;m=u;u=u+144|0;n=m;h=m+104|0;s=m+88|0;r=m+52|0;o=m+76|0;q=m+64|0;p=m+40|0;k=h;j=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(j|0));ND(s,81592);x=0;Ga(511,r|0,d|0);l=x;x=0;if(l&1)c=Ya()|0;else{k=n;c=h;j=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(j|0));x=0;Ga(538,a|0,s|0);l=x;x=0;if(l&1){c=Ya()|0;k=I}else{f[a>>2]=16212;l=a+8|0;x=0;Ga(459,l|0,s|0);k=x;x=0;do if(k&1){c=Ya()|0;d=I}else{h=a+20|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[53005]|0;b[h+1>>0]=b[53006]|0;b[h+2>>0]=b[53007]|0;b[h+3>>0]=b[53008]|0;b[h+4>>0]=b[53009]|0;b[h+5>>0]=0;k=a+32|0;c=n;j=k+40|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(j|0));x=0;Ga(511,a+72|0,r|0);k=x;x=0;if(k&1){c=Ya()|0;d=I;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}c=f[r>>2]|0;if(c|0){i=r+4|0;d=f[i>>2]|0;if((d|0)!=(c|0)){do{h=d+-52|0;f[i>>2]=h;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[i>>2]|0}else d=h}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);f[a>>2]=16904;i=a+84|0;x=0;Ga(459,i|0,e|0);s=x;x=0;if(s&1)c=Ya()|0;else{f[a+96>>2]=g;x=0;sa(1032,l|0,53048)|0;s=x;x=0;if(s&1)c=Ya()|0;else{x=0;Ia(79,q|0,e|0,53102);s=x;x=0;if(s&1)c=Ya()|0;else{x=0;Ga(f[(f[g>>2]|0)+32>>2]|0,p|0,g|0);s=x;x=0;if(s&1)c=Ya()|0;else{h=p+11|0;c=b[h>>0]|0;s=c<<24>>24<0;x=0;c=ta(41,q|0,(s?f[p>>2]|0:p)|0,(s?f[p+4>>2]|0:c&255)|0)|0;s=x;x=0;do if(s&1)c=Ya()|0;else{f[o>>2]=f[c>>2];f[o+4>>2]=f[c+4>>2];f[o+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,o|0,56925)|0;s=x;x=0;do if(s&1)c=Ya()|0;else{f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];f[n+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;d=n+11|0;s=b[d>>0]|0;r=s<<24>>24<0;x=0;ta(41,l|0,(r?f[n>>2]|0:n)|0,(r?f[n+4>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[n>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[h>>0]|0)<0)Hta(f[p>>2]|0);if((b[q+11>>0]|0)>=0){u=m;return}Hta(f[q>>2]|0);u=m;return}while(0);if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0)}while(0);if((b[h>>0]|0)<0)Hta(f[p>>2]|0)}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0)}PF(a);a=c;jb(a|0)}while(0);dfa(a);k=d}d=f[r>>2]|0;if(d){j=r+4|0;h=f[j>>2]|0;if((h|0)!=(d|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(d|0));d=f[r>>2]|0}Hta(d)}}if((b[s+11>>0]|0)>=0){a=c;jb(a|0)}Hta(f[s>>2]|0);a=c;jb(a|0)}function zi(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.0,k=0,l=0.0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;B=u;u=u+176|0;C=B+136|0;s=B+96|0;y=B+80|0;D=B+24|0;z=B;m=B+40|0;A=B+12|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=C+11|0;b[i>>0]=6;b[C>>0]=b[39245]|0;b[C+1>>0]=b[39246]|0;b[C+2>>0]=b[39247]|0;b[C+3>>0]=b[39248]|0;b[C+4>>0]=b[39249]|0;b[C+5>>0]=b[39250]|0;b[C+6>>0]=0;x=0;c=sa(992,a|0,C|0)|0;w=x;x=0;if(w&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[C>>2]|0);D=c;jb(D|0)}c=f[c+4>>2]|0;if(!c)k=0;else k=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[i>>0]|0)<0)Hta(f[C>>2]|0);if(k|0){i=VN(80)|0;t=s;v=g;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));c=f[(f[k>>2]|0)+28>>2]|0;x=0;t=C;v=f[d+16>>2]|0;w=t+12|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));Ia(c|0,z|0,k|0,C|0);g=x;x=0;if(g&1)c=Ya()|0;else{x=0;Ia(92,D|0,39350,z|0);g=x;x=0;if(g&1)c=Ya()|0;else{x=0;c=sa(991,D|0,49838)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[y>>2]=f[c>>2];f[y+4>>2]=f[c+4>>2];f[y+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;t=C;v=s;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Na(1,i|0,C|0,y|0,0,0,0,1,1);C=x;x=0;if(C&1){c=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);D=i;u=B;return D|0}while(0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0)}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0)}Hta(i);D=c;jb(D|0)}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=D+11|0;b[s>>0]=6;b[D>>0]=b[39245]|0;b[D+1>>0]=b[39246]|0;b[D+2>>0]=b[39247]|0;b[D+3>>0]=b[39248]|0;b[D+4>>0]=b[39249]|0;b[D+5>>0]=b[39250]|0;b[D+6>>0]=0;t=m;v=g;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(511,A|0,h|0);z=x;x=0;do if(z&1)c=Ya()|0;else{x=0;t=C;v=m;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));a=wa(26,D|0,a|0,e|0,C|0,A|0)|0;z=x;x=0;if(z&1){c=Ya()|0;a=I;i=f[A>>2]|0;if(!i)break;e=A+4|0;k=f[e>>2]|0;if((k|0)!=(i|0)){do{m=k+-52|0;f[e>>2]=m;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[e>>2]|0}else k=m}while((k|0)!=(i|0));i=f[A>>2]|0}Hta(i);break}c=f[A>>2]|0;if(c|0){m=A+4|0;i=f[m>>2]|0;if((i|0)!=(c|0)){k=i;while(1){i=k+-52|0;f[m>>2]=i;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);i=f[m>>2]|0}if((i|0)==(c|0))break;else k=i}c=f[A>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[D>>2]|0);l=+p[a+64>>3]/255.0;n=+p[a+72>>3]/255.0;o=+p[a+80>>3]/255.0;c=n>3];t=C;v=g;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));D=Wo(n,0.0,l,j,0,C)|0;u=B;return D|0}while(0);if((b[s>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0);return 0}function Ai(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;k=0;p=u;u=u+32|0;l=p+4|0;i=p;b=a+16|0;c=f[b>>2]|0;if(c>>>0>340){f[b>>2]=c+-341;m=a+4|0;l=f[m>>2]|0;o=f[l>>2]|0;l=l+4|0;f[m>>2]=l;n=a+8|0;j=f[n>>2]|0;k=a+12|0;i=f[k>>2]|0;b=i;do if((j|0)==(i|0)){e=f[a>>2]|0;c=e;if(l>>>0>e>>>0){b=l;d=((b-c>>2)+1|0)/-2|0;e=l+(d<<2)|0;b=j-b|0;c=b>>2;if(!c)b=l;else{DP(e|0,l|0,b|0)|0;b=f[m>>2]|0}a=e+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(d<<2);b=a;break}b=b-c>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}g=VN(b<<2)|0;h=g;d=g+(b>>>2<<2)|0;i=d;g=g+(b<<2)|0;if((l|0)==(j|0)){b=i;c=e}else{b=i;c=l;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(j|0));c=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[k>>2]=g;if(c){Hta(c);b=f[n>>2]|0}}else b=j;while(0);f[b>>2]=o;f[n>>2]=(f[n>>2]|0)+4;u=p;return}o=a+8|0;b=f[o>>2]|0;n=a+4|0;e=b-(f[n>>2]|0)|0;m=a+12|0;c=f[m>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>>0){if((c|0)!=(b|0)){o=VN(4092)|0;f[l>>2]=o;It(a,l);u=p;return}j=VN(4092)|0;f[l>>2]=j;ft(a,l);j=f[n>>2]|0;k=f[j>>2]|0;j=j+4|0;f[n>>2]=j;i=f[o>>2]|0;l=f[m>>2]|0;b=l;do if((i|0)==(l|0)){c=f[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=i-b|0;c=b>>2;if(!c)b=j;else{DP(e|0,j|0,b|0)|0;b=f[n>>2]|0}a=e+(c<<2)|0;f[o>>2]=a;f[n>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}e=VN(b<<2)|0;g=e;d=e+(b>>>2<<2)|0;h=d;e=e+(b<<2)|0;if((j|0)==(i|0))b=h;else{b=h;c=j;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=f[a>>2]|0}f[a>>2]=g;f[n>>2]=h;f[o>>2]=b;f[m>>2]=e;if(c){Hta(c);b=f[o>>2]|0}}else b=i;while(0);f[b>>2]=k;f[o>>2]=(f[o>>2]|0)+4;u=p;return}b=d>>1;b=(b|0)==0?1:b;f[l+12>>2]=0;f[l+16>>2]=a+12;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}d=VN(b<<2)|0;f[l>>2]=d;g=d+(e>>2<<2)|0;j=l+8|0;f[j>>2]=g;h=l+4|0;f[h>>2]=g;g=l+12|0;f[g>>2]=d+(b<<2);x=0;b=qa(318,4092)|0;e=x;x=0;do if(e&1)d=Ya()|0;else{f[i>>2]=b;x=0;Ga(700,l|0,i|0);i=x;x=0;if(i&1){d=Ya()|0;Hta(b);break}e=f[o>>2]|0;while(1){b=f[n>>2]|0;if((e|0)==(b|0))break;b=e+-4|0;x=0;Ga(701,l|0,b|0);i=x;x=0;if(i&1){k=50;break}else e=b}if((k|0)==50){d=Ya()|0;break}c=b;d=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=d;f[n>>2]=f[h>>2];f[h>>2]=c;b=f[o>>2]|0;f[o>>2]=f[j>>2];f[j>>2]=b;a=f[m>>2]|0;f[m>>2]=f[g>>2];f[g>>2]=a;if((e|0)!=(b|0))f[j>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Hta(d);u=p;return}while(0);b=f[h>>2]|0;c=f[j>>2]|0;if((c|0)!=(b|0))f[j>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[l>>2]|0;if(!b)jb(d|0);Hta(b);jb(d|0)}function Bi(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;r=u;u=u+32|0;p=r;h=f[a>>2]|0;j=h;k=(f[c>>2]|0)-j|0;c=h+(((k|0)/52|0)*52|0)|0;d=f[d>>2]|0;g=f[e>>2]|0;q=g-d|0;l=(q|0)/52|0;n=g;if((q|0)<=0){a=c;u=r;return a|0}o=a+8|0;i=f[o>>2]|0;q=a+4|0;m=f[q>>2]|0;e=m;if((l|0)<=((i-e|0)/52|0|0)){i=e-c|0;e=(i|0)/52|0;if((l|0)>(e|0)){e=d+(e*52|0)|0;g=e;if((e|0)!=(n|0)){h=m;do{uB(h,e);e=e+52|0;h=(f[q>>2]|0)+52|0;f[q>>2]=h}while((e|0)!=(n|0))}if((i|0)<=0){a=c;u=r;return a|0}}Nq(a,c,m,c+(l*52|0)|0);if((d|0)==(g|0)){a=c;u=r;return a|0}else e=c;while(1){WO(e,d)|0;WO(e+12|0,d+12|0)|0;WO(e+24|0,d+24|0)|0;WO(e+36|0,d+36|0)|0;b[e+48>>0]=b[d+48>>0]|0;d=d+52|0;if((d|0)==(g|0))break;else e=e+52|0}u=r;return c|0}e=((e-j|0)/52|0)+l|0;if(e>>>0>82595524)EO(a);m=(i-j|0)/52|0;i=m<<1;i=m>>>0<41297762?(i>>>0>>0?e:i):82595524;e=(k|0)/52|0;f[p+12>>2]=0;f[p+16>>2]=a+8;do if(!i)g=0;else{if(i>>>0<=82595524){g=VN(i*52|0)|0;break}c=Ta(8)|0;x=0;Ga(461,c|0,60050);r=x;x=0;if(r&1){r=Ya()|0;bb(c|0);jb(r|0)}else{f[c>>2]=29784;fb(c|0,6192,412)}}while(0);f[p>>2]=g;j=g+(e*52|0)|0;k=p+8|0;f[k>>2]=j;l=p+4|0;f[l>>2]=j;m=p+12|0;f[m>>2]=g+(i*52|0);e=j;do if((d|0)==(n|0)){i=e;d=e}else{e=j;while(1){x=0;Ga(472,e|0,d|0);j=x;x=0;if(j&1){g=30;break}e=(f[k>>2]|0)+52|0;f[k>>2]=e;d=d+52|0;if((d|0)==(n|0)){g=20;break}}if((g|0)==20){j=f[l>>2]|0;i=j;d=e;h=f[a>>2]|0;break}else if((g|0)==30){r=Ya()|0;YG(p);jb(r|0)}}while(0);if((h|0)==(c|0)){e=j;g=i}else{e=c;g=j;do{n=g;g=g+-52|0;i=e;e=e+-52|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;t=n+-40|0;s=i+-40|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;s=n+-28|0;t=i+-28|0;f[s>>2]=f[t>>2];f[s+4>>2]=f[t+4>>2];f[s+8>>2]=f[t+8>>2];f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;t=n+-16|0;s=i+-16|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;b[n+-4>>0]=b[i+-4>>0]|0;f[l>>2]=g}while((e|0)!=(h|0));e=g}h=f[q>>2]|0;if((h|0)==(c|0))c=h;else{d=f[k>>2]|0;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;s=d+12|0;t=c+12|0;f[s>>2]=f[t>>2];f[s+4>>2]=f[t+4>>2];f[s+8>>2]=f[t+8>>2];f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;t=d+24|0;s=c+24|0;f[t>>2]=f[s>>2];f[t+4>>2]=f[s+4>>2];f[t+8>>2]=f[s+8>>2];f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;s=d+36|0;t=c+36|0;f[s>>2]=f[t>>2];f[s+4>>2]=f[t+4>>2];f[s+8>>2]=f[t+8>>2];f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;b[d+48>>0]=b[c+48>>0]|0;c=c+52|0;d=d+52|0;f[k>>2]=d}while((c|0)!=(h|0));e=g;c=f[q>>2]|0}t=f[a>>2]|0;f[a>>2]=e;f[l>>2]=t;f[q>>2]=d;f[k>>2]=c;s=f[o>>2]|0;f[o>>2]=f[m>>2];f[m>>2]=s;f[p>>2]=t;YG(p);t=j;u=r;return t|0}function Ci(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;k=0;p=u;u=u+32|0;l=p+4|0;i=p;b=a+16|0;c=f[b>>2]|0;if(c>>>0>511){f[b>>2]=c+-512;m=a+4|0;l=f[m>>2]|0;o=f[l>>2]|0;l=l+4|0;f[m>>2]=l;n=a+8|0;j=f[n>>2]|0;k=a+12|0;i=f[k>>2]|0;b=i;do if((j|0)==(i|0)){e=f[a>>2]|0;c=e;if(l>>>0>e>>>0){b=l;d=((b-c>>2)+1|0)/-2|0;e=l+(d<<2)|0;b=j-b|0;c=b>>2;if(!c)b=l;else{DP(e|0,l|0,b|0)|0;b=f[m>>2]|0}a=e+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(d<<2);b=a;break}b=b-c>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}g=VN(b<<2)|0;h=g;d=g+(b>>>2<<2)|0;i=d;g=g+(b<<2)|0;if((l|0)==(j|0)){b=i;c=e}else{b=i;c=l;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(j|0));c=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[k>>2]=g;if(c){Hta(c);b=f[n>>2]|0}}else b=j;while(0);f[b>>2]=o;f[n>>2]=(f[n>>2]|0)+4;u=p;return}o=a+8|0;b=f[o>>2]|0;n=a+4|0;e=b-(f[n>>2]|0)|0;m=a+12|0;c=f[m>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>>0){if((c|0)!=(b|0)){o=VN(4096)|0;f[l>>2]=o;Kt(a,l);u=p;return}j=VN(4096)|0;f[l>>2]=j;mt(a,l);j=f[n>>2]|0;k=f[j>>2]|0;j=j+4|0;f[n>>2]=j;i=f[o>>2]|0;l=f[m>>2]|0;b=l;do if((i|0)==(l|0)){c=f[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=i-b|0;c=b>>2;if(!c)b=j;else{DP(e|0,j|0,b|0)|0;b=f[n>>2]|0}a=e+(c<<2)|0;f[o>>2]=a;f[n>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}e=VN(b<<2)|0;g=e;d=e+(b>>>2<<2)|0;h=d;e=e+(b<<2)|0;if((j|0)==(i|0))b=h;else{b=h;c=j;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=f[a>>2]|0}f[a>>2]=g;f[n>>2]=h;f[o>>2]=b;f[m>>2]=e;if(c){Hta(c);b=f[o>>2]|0}}else b=i;while(0);f[b>>2]=k;f[o>>2]=(f[o>>2]|0)+4;u=p;return}b=d>>1;b=(b|0)==0?1:b;f[l+12>>2]=0;f[l+16>>2]=a+12;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}d=VN(b<<2)|0;f[l>>2]=d;g=d+(e>>2<<2)|0;j=l+8|0;f[j>>2]=g;h=l+4|0;f[h>>2]=g;g=l+12|0;f[g>>2]=d+(b<<2);x=0;b=qa(318,4096)|0;e=x;x=0;do if(e&1)d=Ya()|0;else{f[i>>2]=b;x=0;Ga(676,l|0,i|0);i=x;x=0;if(i&1){d=Ya()|0;Hta(b);break}e=f[o>>2]|0;while(1){b=f[n>>2]|0;if((e|0)==(b|0))break;b=e+-4|0;x=0;Ga(677,l|0,b|0);i=x;x=0;if(i&1){k=50;break}else e=b}if((k|0)==50){d=Ya()|0;break}c=b;d=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=d;f[n>>2]=f[h>>2];f[h>>2]=c;b=f[o>>2]|0;f[o>>2]=f[j>>2];f[j>>2]=b;a=f[m>>2]|0;f[m>>2]=f[g>>2];f[g>>2]=a;if((e|0)!=(b|0))f[j>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Hta(d);u=p;return}while(0);b=f[h>>2]|0;c=f[j>>2]|0;if((c|0)!=(b|0))f[j>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[l>>2]|0;if(!b)jb(d|0);Hta(b);jb(d|0)}function Di(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;l=u;u=u+32|0;n=l+24|0;m=l+8|0;g=l;if(vc[f[(f[c>>2]|0)+76>>2]&511](c)|0){u=l;return}qV(n,f[c+68>>2]|0);f[n>>2]=7280;k=a+4|0;x=0;d=qa(399,k|0)|0;j=x;x=0;a:do if(!(j&1)){x=0;d=sa(1023,c|0,d|0)|0;j=x;x=0;if(!(j&1)){b:do if(d){x=0;d=qa(399,k|0)|0;j=x;x=0;if(j&1)break a;if(!d){j=a+76|0;f[j>>2]=(f[j>>2]|0)+(f[c+56>>2]|0)}x=0;Fa(456,k|0);j=x;x=0;if(j&1)break a;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;e=m+11|0;b[e>>0]=6;b[m>>0]=b[49974]|0;b[m+1>>0]=b[49975]|0;b[m+2>>0]=b[49976]|0;b[m+3>>0]=b[49977]|0;b[m+4>>0]=b[49978]|0;b[m+5>>0]=b[49979]|0;b[m+6>>0]=0;x=0;Ia(147,k|0,m|0,c|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[m>>2]|0);m=d;_P(n);jb(m|0)}if((b[e>>0]|0)<0)Hta(f[m>>2]|0);x=0;Fa(458,k|0);j=x;x=0;if(j&1)break a;d=a+103|0;b[d>>0]=1;x=0;Ga(462,g|0,f[c+76>>2]|0);j=x;x=0;if(j&1)break a;f[g>>2]=7584;j=f[g+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(j&1){m=Ya()|0;_P(g);_P(n);jb(m|0)}_P(g);b[d>>0]=0;x=0;Ga(683,k|0,0);j=x;x=0;if(j&1)break a;j=n+4|0;e=f[j>>2]|0;g=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;c:do if(g|0){h=g+-1|0;i=m+4|0;d=0;while(1){e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;o=x;x=0;if(o&1){e=36;break}if(f[e+4>>2]|0){e=(f[j>>2]|0)+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;o=x;x=0;if(o&1){e=43;break}x=0;Ga(462,m|0,f[e+4>>2]|0);o=x;x=0;if(o&1){e=43;break}f[m>>2]=6920;o=f[i>>2]|0;x=0;Ga(f[(f[o>>2]|0)+44>>2]|0,o|0,a|0);o=x;x=0;if(o&1){e=44;break}_P(m)}if(d>>>0>>0){x=0;Fa(459,k|0);o=x;x=0;if(o&1){e=36;break}}d=d+1|0;if(d>>>0>=g>>>0)break c;e=f[j>>2]|0}if((e|0)==36){o=Ya()|0;_P(n);jb(o|0)}else if((e|0)==43)d=Ya()|0;else if((e|0)==44){d=Ya()|0;_P(m)}o=d;_P(n);jb(o|0)}while(0);x=0;d=qa(399,k|0)|0;o=x;x=0;if(o&1)break a;if(!d){o=a+76|0;f[o>>2]=(f[o>>2]|0)-(f[c+56>>2]|0)}x=0;Ga(684,k|0,0);o=x;x=0;if(o&1)break a}else{g=n+4|0;e=f[g>>2]|0;h=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;if(h|0){i=m+4|0;d=0;while(1){e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;o=x;x=0;if(o&1){e=13;break}x=0;Ga(462,m|0,f[e+4>>2]|0);o=x;x=0;if(o&1){e=13;break}f[m>>2]=6920;x=0;e=qa(346,f[i>>2]|0)|0;o=x;x=0;if(o&1){e=14;break}if(e|0){o=f[i>>2]|0;x=0;Ga(f[(f[o>>2]|0)+44>>2]|0,o|0,a|0);o=x;x=0;if(o&1){e=14;break}}_P(m);d=d+1|0;if(d>>>0>=h>>>0)break b;e=f[g>>2]|0}if((e|0)==13)d=Ya()|0;else if((e|0)==14){d=Ya()|0;_P(m)}o=d;_P(n);jb(o|0)}}while(0);_P(n);u=l;return}}while(0);o=Ya()|0;_P(n);jb(o|0)}function Ei(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=u;u=u+112|0;p=q+72|0;d=q+60|0;g=q+48|0;j=q+36|0;h=q+24|0;e=q+12|0;i=q;k=c+4|0;l=f[k>>2]|0;c=b[l+68+11>>0]|0;if(c<<24>>24<0)c=f[l+72>>2]|0;else c=c&255;if(c|0){do if(b[a+82>>0]|0){c=VN(64)|0;f[d>>2]=c;f[d+8>>2]=-2147483584;f[d+4>>2]=53;m=c;n=32256;o=m+53|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[c+53>>0]=0;x=0;m=p;n=l+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ga(483,d|0,p|0);p=x;x=0;if(!(p&1)){if((b[d+11>>0]|0)>=0)break;Hta(f[d>>2]|0);break}c=Ya()|0;if((b[d+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[d>>2]|0);q=c;jb(q|0)}while(0);b[a+80>>0]=1;u=q;return}if(b[l+80>>0]|0){d=a+81|0;do if(b[d>>0]|0){c=VN(80)|0;f[g>>2]=c;f[g+8>>2]=-2147483568;f[g+4>>2]=73;m=c;n=32310;o=m+73|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[c+73>>0]=0;x=0;m=p;n=l+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ga(483,g|0,p|0);o=x;x=0;if(!(o&1)){if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}c=Ya()|0;if((b[g+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[g>>2]|0);q=c;jb(q|0)}while(0);do if(b[a+82>>0]|0){c=VN(64)|0;f[j>>2]=c;f[j+8>>2]=-2147483584;f[j+4>>2]=52;m=c;n=32384;o=m+52|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[c+52>>0]=0;x=0;m=p;n=(f[k>>2]|0)+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ga(483,j|0,p|0);p=x;x=0;if(!(p&1)){if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}c=Ya()|0;if((b[j+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[j>>2]|0);q=c;jb(q|0)}while(0);b[d>>0]=1;u=q;return}if(b[l+81>>0]|0){c=a+82|0;do if(b[c>>0]|0){d=VN(80)|0;f[h>>2]=d;f[h+8>>2]=-2147483568;f[h+4>>2]=65;m=d;n=32437;o=m+65|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+65>>0]=0;x=0;m=p;n=l+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ga(483,h|0,p|0);p=x;x=0;if(!(p&1)){if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}c=Ya()|0;if((b[h+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[h>>2]|0);q=c;jb(q|0)}while(0);b[c>>0]=1;u=q;return}do if(b[a+81>>0]|0){c=VN(64)|0;f[e>>2]=c;f[e+8>>2]=-2147483584;f[e+4>>2]=56;m=c;n=32503;o=m+56|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[c+56>>0]=0;x=0;m=p;n=l+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ga(483,e|0,p|0);o=x;x=0;if(!(o&1)){if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}c=Ya()|0;if((b[e+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[e>>2]|0);q=c;jb(q|0)}while(0);if(!(b[a+80>>0]|0)){u=q;return}c=VN(48)|0;f[i>>2]=c;f[i+8>>2]=-2147483600;f[i+4>>2]=46;m=c;n=32560;o=m+46|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[c+46>>0]=0;x=0;m=p;n=(f[k>>2]|0)+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ga(483,i|0,p|0);p=x;x=0;if(p&1){c=Ya()|0;if((b[i+11>>0]|0)>=0){q=c;jb(q|0)}Hta(f[i>>2]|0);q=c;jb(q|0)}else{if((b[i+11>>0]|0)>=0){u=q;return}Hta(f[i>>2]|0);u=q;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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=0;p=u;u=u+80|0;q=p;r=p+64|0;k=p+56|0;m=p+48|0;n=p+40|0;l=VN(88)|0;d=q;e=c+108|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Fa(427,l|0);j=x;x=0;do if(j&1)d=Ya()|0;else{d=l+12|0;e=q;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;d=l+56|0;f[l>>2]=11536;f[d>>2]=4;e=l+60|0;f[e>>2]=9660;i=l+64|0;j=l+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);h=x;x=0;if(h&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{r=g+-8|0;f[j>>2]=r;Kc[f[f[r>>2]>>2]&511](r);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[l>>2]=11364;f[e>>2]=11496;b[l+80>>0]=1;f[l+84>>2]=0;f[d>>2]=4;qV(r,l);f[r>>2]=13648;d=c+76|0;if(!(b[f[d>>2]>>0]|0)){x=0;Ga(462,a|0,0);q=x;x=0;if(q&1)o=14;else{f[a>>2]=13648;_P(r);u=p;return}}else{x=0;ta(95,c|0,0,0)|0;l=x;x=0;if(l&1)o=14;else{x=0;Ga(630,q|0,c|0);l=x;x=0;if(l&1)d=Ya()|0;else{i=q+4|0;e=f[i>>2]|0;a:do if(!e){x=0;Ga(462,a|0,0);o=x;x=0;if(o&1)o=20;else o=46}else{j=r+4|0;g=(f[j>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,k|0,e|0);l=x;x=0;if(l&1)o=20;else{f[k>>2]=7696;x=0;Ga(h|0,g|0,k|0);l=x;x=0;if(l&1){d=Ya()|0;_P(k);break}_P(k);if(!(b[f[d>>2]>>0]|0)){o=f[j>>2]|0;x=0;Fa(f[(f[o>>2]|0)+116>>2]|0,o|0);o=x;x=0;if(o&1){o=20;break}d=f[j>>2]|0;if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);o=x;x=0;if(o&1){o=20;break}else{o=46;break}}d=m+4|0;while(1){x=0;Ga(630,m|0,c|0);o=x;x=0;if(o&1){o=37;break}if(f[i>>2]|0){x=0;Fa(429,q|0);o=x;x=0;if(o&1){o=38;break}}o=f[d>>2]|0;f[i>>2]=o;f[d>>2]=0;_P(m);if(!o){o=41;break}e=(f[j>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,n|0,f[i>>2]|0);o=x;x=0;if(o&1){o=20;break a}f[n>>2]=7696;x=0;Ga(g|0,e|0,n|0);o=x;x=0;if(o&1){o=40;break}_P(n)}if((o|0)==37)d=Ya()|0;else if((o|0)==38){d=Ya()|0;_P(m)}else if((o|0)==40){d=Ya()|0;_P(n);break}else if((o|0)==41){x=0;ta(62,c|0,1,0)|0;o=x;x=0;if(o&1){o=20;break}o=f[j>>2]|0;x=0;Fa(f[(f[o>>2]|0)+116>>2]|0,o|0);o=x;x=0;if(o&1){o=20;break}d=f[j>>2]|0;if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);o=x;x=0;if(o&1){o=20;break}else{o=46;break}}}}while(0);if((o|0)==20)d=Ya()|0;else if((o|0)==46){f[a>>2]=13648;_P(q);_P(r);u=p;return}_P(q)}}}if((o|0)==14)d=Ya()|0;_P(r);r=d;jb(r|0)}while(0);Hta(l);r=d;jb(r|0)}function Gi(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;k=0;p=u;u=u+32|0;l=p+4|0;i=p;b=a+16|0;c=f[b>>2]|0;if(c>>>0>145){f[b>>2]=c+-146;m=a+4|0;l=f[m>>2]|0;o=f[l>>2]|0;l=l+4|0;f[m>>2]=l;n=a+8|0;j=f[n>>2]|0;k=a+12|0;i=f[k>>2]|0;b=i;do if((j|0)==(i|0)){e=f[a>>2]|0;c=e;if(l>>>0>e>>>0){b=l;d=((b-c>>2)+1|0)/-2|0;e=l+(d<<2)|0;b=j-b|0;c=b>>2;if(!c)b=l;else{DP(e|0,l|0,b|0)|0;b=f[m>>2]|0}a=e+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(d<<2);b=a;break}b=b-c>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}g=VN(b<<2)|0;h=g;d=g+(b>>>2<<2)|0;i=d;g=g+(b<<2)|0;if((l|0)==(j|0)){b=i;c=e}else{b=i;c=l;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(j|0));c=f[a>>2]|0}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[k>>2]=g;if(c){Hta(c);b=f[n>>2]|0}}else b=j;while(0);f[b>>2]=o;f[n>>2]=(f[n>>2]|0)+4;u=p;return}o=a+8|0;b=f[o>>2]|0;n=a+4|0;e=b-(f[n>>2]|0)|0;m=a+12|0;c=f[m>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>>0){if((c|0)!=(b|0)){o=VN(4088)|0;f[l>>2]=o;Yt(a,l);u=p;return}j=VN(4088)|0;f[l>>2]=j;Ct(a,l);j=f[n>>2]|0;k=f[j>>2]|0;j=j+4|0;f[n>>2]=j;i=f[o>>2]|0;l=f[m>>2]|0;b=l;do if((i|0)==(l|0)){c=f[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=i-b|0;c=b>>2;if(!c)b=j;else{DP(e|0,j|0,b|0)|0;b=f[n>>2]|0}a=e+(c<<2)|0;f[o>>2]=a;f[n>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}e=VN(b<<2)|0;g=e;d=e+(b>>>2<<2)|0;h=d;e=e+(b<<2)|0;if((j|0)==(i|0))b=h;else{b=h;c=j;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=f[a>>2]|0}f[a>>2]=g;f[n>>2]=h;f[o>>2]=b;f[m>>2]=e;if(c){Hta(c);b=f[o>>2]|0}}else b=i;while(0);f[b>>2]=k;f[o>>2]=(f[o>>2]|0)+4;u=p;return}b=d>>1;b=(b|0)==0?1:b;f[l+12>>2]=0;f[l+16>>2]=a+12;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);p=x;x=0;if(p&1){p=Ya()|0;bb(b|0);jb(p|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}d=VN(b<<2)|0;f[l>>2]=d;g=d+(e>>2<<2)|0;j=l+8|0;f[j>>2]=g;h=l+4|0;f[h>>2]=g;g=l+12|0;f[g>>2]=d+(b<<2);x=0;b=qa(318,4088)|0;e=x;x=0;do if(e&1)d=Ya()|0;else{f[i>>2]=b;x=0;Ga(517,l|0,i|0);i=x;x=0;if(i&1){d=Ya()|0;Hta(b);break}e=f[o>>2]|0;while(1){b=f[n>>2]|0;if((e|0)==(b|0))break;b=e+-4|0;x=0;Ga(518,l|0,b|0);i=x;x=0;if(i&1){k=50;break}else e=b}if((k|0)==50){d=Ya()|0;break}c=b;d=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=d;f[n>>2]=f[h>>2];f[h>>2]=c;b=f[o>>2]|0;f[o>>2]=f[j>>2];f[j>>2]=b;a=f[m>>2]|0;f[m>>2]=f[g>>2];f[g>>2]=a;if((e|0)!=(b|0))f[j>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Hta(d);u=p;return}while(0);b=f[h>>2]|0;c=f[j>>2]|0;if((c|0)!=(b|0))f[j>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[l>>2]|0;if(!b)jb(d|0);Hta(b);jb(d|0)}function Hi(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.0,n=0.0,o=0.0,q=0.0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0;z=u;u=u+176|0;w=z;B=z+116|0;c=z+128|0;s=z+104|0;r=z+64|0;y=z+52|0;A=z+40|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;t=B+11|0;b[t>>0]=6;b[B>>0]=b[39245]|0;b[B+1>>0]=b[39246]|0;b[B+2>>0]=b[39247]|0;b[B+3>>0]=b[39248]|0;b[B+4>>0]=b[39249]|0;b[B+5>>0]=b[39250]|0;b[B+6>>0]=0;j=c;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,s|0,h|0);v=x;x=0;do if(v&1)c=Ya()|0;else{x=0;j=w;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));v=wa(26,B|0,a|0,e|0,w|0,s|0)|0;l=x;x=0;if(l&1){c=Ya()|0;l=I;d=f[s>>2]|0;if(!d)break;k=s+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[s>>2]|0}Hta(d);break}c=f[s>>2]|0;if(c|0){j=s+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[s>>2]|0}Hta(c)}if((b[t>>0]|0)<0)Hta(f[B>>2]|0);f[B+8>>2]=0;s=B+11|0;b[s>>0]=7;b[B>>0]=b[39332]|0;b[B+1>>0]=b[39333]|0;b[B+2>>0]=b[39334]|0;b[B+3>>0]=b[39335]|0;b[B+4>>0]=b[39336]|0;b[B+5>>0]=b[39337]|0;b[B+6>>0]=b[39338]|0;b[B+7>>0]=0;j=r;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,y|0,h|0);t=x;x=0;do if(t&1)c=Ya()|0;else{x=0;j=w;k=r;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));m=+ka(1,B|0,a|0,e|0,w|0,y|0,-0.0,1.0);t=x;x=0;if(t&1){c=Ya()|0;k=I;d=f[y>>2]|0;if(!d)break;l=y+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[y>>2]|0}Hta(d);break}c=f[y>>2]|0;if(c|0){j=y+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[y>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[B>>2]|0);m=+p[v+88>>3]-m;i=VN(112)|0;o=+p[v+64>>3];q=+p[v+72>>3];n=+p[v+80>>3];d=A+11|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;j=w;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,i|0);B=x;x=0;do if(B&1)c=Ya()|0;else{m=m<0.0?0.0:m;j=i+12|0;k=w;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=o;p[i+72>>3]=q;p[i+80>>3]=n;p[i+88>>3]=m;x=0;Ga(459,i+96|0,A|0);B=x;x=0;if(B&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[A>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){u=z;return i|0}Hta(f[A>>2]|0);u=z;return i|0}while(0);Hta(i);B=c;jb(B|0)}while(0);if((b[s>>0]|0)<0)Hta(f[B>>2]|0);B=c;jb(B|0)}while(0);if((b[t>>0]|0)<0)Hta(f[B>>2]|0);B=c;jb(B|0);return 0}function Ii(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.0,n=0.0,o=0.0,q=0.0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0;z=u;u=u+176|0;w=z;B=z+116|0;c=z+128|0;s=z+104|0;r=z+64|0;y=z+52|0;A=z+40|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;t=B+11|0;b[t>>0]=6;b[B>>0]=b[39245]|0;b[B+1>>0]=b[39246]|0;b[B+2>>0]=b[39247]|0;b[B+3>>0]=b[39248]|0;b[B+4>>0]=b[39249]|0;b[B+5>>0]=b[39250]|0;b[B+6>>0]=0;j=c;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,s|0,h|0);v=x;x=0;do if(v&1)c=Ya()|0;else{x=0;j=w;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));v=wa(26,B|0,a|0,e|0,w|0,s|0)|0;l=x;x=0;if(l&1){c=Ya()|0;l=I;d=f[s>>2]|0;if(!d)break;k=s+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[s>>2]|0}Hta(d);break}c=f[s>>2]|0;if(c|0){j=s+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[s>>2]|0}Hta(c)}if((b[t>>0]|0)<0)Hta(f[B>>2]|0);f[B+8>>2]=0;s=B+11|0;b[s>>0]=7;b[B>>0]=b[39332]|0;b[B+1>>0]=b[39333]|0;b[B+2>>0]=b[39334]|0;b[B+3>>0]=b[39335]|0;b[B+4>>0]=b[39336]|0;b[B+5>>0]=b[39337]|0;b[B+6>>0]=b[39338]|0;b[B+7>>0]=0;j=r;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,y|0,h|0);t=x;x=0;do if(t&1)c=Ya()|0;else{x=0;j=w;k=r;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));m=+ka(1,B|0,a|0,e|0,w|0,y|0,-0.0,1.0);t=x;x=0;if(t&1){c=Ya()|0;k=I;d=f[y>>2]|0;if(!d)break;l=y+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[y>>2]|0}Hta(d);break}c=f[y>>2]|0;if(c|0){j=y+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[y>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[B>>2]|0);m=m+ +p[v+88>>3];i=VN(112)|0;o=+p[v+64>>3];q=+p[v+72>>3];n=+p[v+80>>3];d=A+11|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;j=w;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,i|0);B=x;x=0;do if(B&1)c=Ya()|0;else{m=m>1.0?1.0:m;j=i+12|0;k=w;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=o;p[i+72>>3]=q;p[i+80>>3]=n;p[i+88>>3]=m;x=0;Ga(459,i+96|0,A|0);B=x;x=0;if(B&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[A>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){u=z;return i|0}Hta(f[A>>2]|0);u=z;return i|0}while(0);Hta(i);B=c;jb(B|0)}while(0);if((b[s>>0]|0)<0)Hta(f[B>>2]|0);B=c;jb(B|0)}while(0);if((b[t>>0]|0)<0)Hta(f[B>>2]|0);B=c;jb(B|0);return 0}function Ji(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0;z=0;w=u;u=u+64|0;y=w;A=w+56|0;r=w+48|0;s=w+40|0;f[a>>2]=0;B=a+4|0;f[B>>2]=0;f[a+8>>2]=0;v=d+64|0;j=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>3;if(!j){u=w;return}k=A+4|0;l=f[1725]|0;m=y+4|0;n=a+8|0;o=y+8|0;p=y+4|0;q=y+4|0;h=0;while(1){x=0;c=sa(f[(f[v>>2]|0)+16>>2]|0,v|0,h|0)|0;t=x;x=0;if(t&1){z=13;break}x=0;Ga(462,A|0,f[c+4>>2]|0);t=x;x=0;if(t&1){z=13;break}f[A>>2]=6920;d=f[k>>2]|0;if(!d)c=0;else c=(f[121]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;g=(c|0)!=0&1;c=f[B>>2]|0;if((f[a>>2]|0)==(c|0))z=19;else if((b[c+-12>>0]|0)==g<<24>>24){x=0;Ga(462,y|0,f[c+-4>>2]|0);t=x;x=0;if(t&1){z=14;break}f[y>>2]=7280;c=(f[q>>2]|0)+64|0;d=f[(f[c>>2]|0)+20>>2]|0;x=0;Ga(462,r|0,f[k>>2]|0);t=x;x=0;if(t&1){z=15;break}f[r>>2]=6920;x=0;Ga(d|0,c|0,r|0);t=x;x=0;if(t&1){z=16;break}_P(r);_P(y)}else z=19;if((z|0)==19){z=0;x=0;t=qa(318,88)|0;i=x;x=0;if(i&1){z=36;break}e=y;c=d+12|0;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));x=0;Fa(427,t|0);i=x;x=0;if(i&1){z=37;break}e=t+12|0;c=y;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));f[t>>2]=6976;f[t+52>>2]=0;f[t+56>>2]=0;b[t+60>>0]=0;c=t+64|0;f[c>>2]=6936;i=t+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);e=x;x=0;if(e&1){z=22;break}f[t>>2]=6780;f[c>>2]=6880;b[t+84>>0]=0;x=0;Ga(462,s|0,f[k>>2]|0);i=x;x=0;if(i&1){z=36;break}f[s>>2]=6920;x=0;Ga(l|0,c|0,s|0);i=x;x=0;if(i&1){z=39;break}_P(s);b[y>>0]=g;x=0;Ga(462,m|0,t|0);t=x;x=0;if(t&1){z=40;break}f[m>>2]=7280;c=f[B>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){b[c>>0]=b[y>>0]|0;c=c+4|0;x=0;Ga(462,c|0,f[o>>2]|0);t=x;x=0;if(t&1){z=41;break}f[c>>2]=7280;f[B>>2]=(f[B>>2]|0)+12}else{x=0;Ga(663,a|0,y|0);t=x;x=0;if(t&1){z=41;break}}_P(p)}_P(A);h=h+1|0;if(h>>>0>=j>>>0){z=51;break}}switch(z|0){case 13:{e=Ya()|0;break}case 14:{c=Ya()|0;z=18;break}case 15:{c=Ya()|0;z=17;break}case 16:{c=Ya()|0;_P(r);z=17;break}case 22:{c=Ya()|0;g=I;h=t+72|0;d=f[i>>2]|0;if(d|0){e=f[h>>2]|0;if((e|0)!=(d|0)){do{z=e+-8|0;f[h>>2]=z;Kc[f[f[z>>2]>>2]&511](z);e=f[h>>2]|0}while((e|0)!=(d|0));d=f[i>>2]|0}Hta(d)}z=38;break}case 36:{c=Ya()|0;z=44;break}case 37:{c=Ya()|0;z=38;break}case 39:{c=Ya()|0;_P(s);z=44;break}case 40:{c=Ya()|0;z=42;break}case 41:{c=Ya()|0;_P(p);z=42;break}case 51:{u=w;return}}if((z|0)==17){_P(y);z=18}else if((z|0)==38){Hta(t);z=44}else if((z|0)==42)z=44;if((z|0)==18)z=44;if((z|0)==44){_P(A);e=c}c=f[a>>2]|0;if(!c)jb(e|0);d=f[B>>2]|0;if((d|0)!=(c|0)){do{f[B>>2]=d+-12;_P(d+-8|0);d=f[B>>2]|0}while((d|0)!=(c|0));c=f[a>>2]|0}Hta(c);jb(e|0)}function Ki(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,v=0,w=0,y=0;r=0;w=u;u=u+144|0;v=w;i=w+136|0;k=w+128|0;m=w+120|0;s=w+112|0;t=w+104|0;n=w+96|0;o=w+56|0;q=w+48|0;p=w+40|0;l=a+24|0;j=a+28|0;d=f[l>>2]|0;h=(f[j>>2]|0)-d>>2;do if(!h)r=8;else{g=0;e=0;while(1){qV(i,f[d+(e<<2)>>2]|0);f[i>>2]=6920;x=0;d=sa(1043,c|0,i|0)|0;y=x;x=0;if(y&1)break;d=g|d;_P(i);e=e+1|0;if(e>>>0>=h>>>0){r=3;break}g=d;d=f[l>>2]|0}if((r|0)==3)if(d)break;else{r=8;break}y=Ya()|0;_P(i);jb(y|0)}while(0);if((r|0)==8){d=c+68|0;qV(k,f[d>>2]|0);f[k>>2]=7280;y=(f[k+4>>2]|0)==0;_P(k);if(!y){n=f[(f[a>>2]|0)+12>>2]|0;qV(m,f[d>>2]|0);f[m>>2]=7280;x=0;n=sa(n|0,a|0,f[m+4>>2]|0)|0;y=x;x=0;if(y&1){y=Ya()|0;_P(m);jb(y|0)}_P(m);k=n+64|0;m=n+68|0;a=n+72|0;e=f[a>>2]|0;d=f[m>>2]|0;l=e-d>>3;do if(l){i=v+4|0;j=c+56|0;h=f[101]|0;g=0;while(1){d=(xc[f[(f[k>>2]|0)+16>>2]&2047](k,g)|0)+4|0;qV(v,f[d>>2]|0);f[v>>2]=6920;d=f[i>>2]|0;e=f[d>>2]|0;if((h|0)==(f[(f[e+-4>>2]|0)+4>>2]|0))r=19;else{x=0;d=qa(f[e+80>>2]|0,d|0)|0;y=x;x=0;if(y&1)break;if(d){d=f[i>>2]|0;r=19}}if((r|0)==19){r=0;y=d+56|0;f[y>>2]=(f[j>>2]|0)+(f[y>>2]|0)}_P(v);g=g+1|0;if(g>>>0>=l>>>0){r=12;break}}if((r|0)==12){e=f[a>>2]|0;d=f[m>>2]|0;break}y=Ya()|0;_P(v);jb(y|0)}while(0);a:do if((e|0)!=(d|0)){qV(s,f[e+-4>>2]|0);f[s>>2]=6920;d=f[s+4>>2]|0;e=f[d>>2]|0;do if((f[101]|0)==(f[(f[e+-4>>2]|0)+4>>2]|0))_P(s);else{x=0;d=qa(f[e+80>>2]|0,d|0)|0;y=x;x=0;if(!(y&1)){_P(s);if(d)break;else break a}y=Ya()|0;_P(s);jb(y|0)}while(0);qV(t,f[(f[a>>2]|0)+-4>>2]|0);f[t>>2]=6920;b[(f[t+4>>2]|0)+60>>0]=b[c+60>>0]|0;_P(t)}while(0);y=n;u=w;return y|0}}d=f[j>>2]|0;if((d|0)==(f[l>>2]|0))d=f[a+12>>2]|0;else d=d+-4|0;qV(n,f[d>>2]|0);f[n>>2]=6920;x=0;d=sa(1043,c|0,n|0)|0;y=x;x=0;if(y&1){y=Ya()|0;_P(n);jb(y|0)}_P(n);if(!d){y=wf(a,c)|0;u=w;return y|0}h=VN(76)|0;d=o;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Ga(462,q|0,c|0);y=x;x=0;if(y&1)d=Ya()|0;else{f[q>>2]=6920;x=0;Ga(462,p|0,0);y=x;x=0;if(y&1)d=Ya()|0;else{f[p>>2]=6920;d=v;e=o;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Fa(427,h|0);y=x;x=0;do if(y&1)d=Ya()|0;else{d=h+12|0;e=v;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));f[h+52>>2]=6;f[h+56>>2]=0;b[h+60>>0]=0;f[h>>2]=7296;d=h+64|0;x=0;Ga(462,d|0,f[q+4>>2]|0);y=x;x=0;if(y&1){d=Ya()|0;break}f[d>>2]=6920;b[h+72>>0]=(f[p+4>>2]|0)==0&1;_P(p);_P(q);y=h;u=w;return y|0}while(0);_P(p)}_P(q)}Hta(h);y=d;jb(y|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,p=0,q=0,r=0,s=0,t=0,v=0;i=0;t=u;u=u+32|0;v=t+12|0;r=t;s=c+11|0;e=b[s>>0]|0;if(e<<24>>24<0)e=f[c+4>>2]|0;else e=e&255;if(!e){f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;u=t;return}q=d+11|0;e=b[q>>0]|0;g=e<<24>>24<0;if(g)e=f[d+4>>2]|0;else e=e&255;if(!e){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;u=t;return}e=g?f[d>>2]|0:d;if(!(b[e>>0]|0))e=0;else if(hla(e)|0){g=b[q>>0]|0;h=f[d>>2]|0;if(!(b[(g<<24>>24<0?h:d)>>0]|0))e=0;else{e=0;do{if(!(Aba((g<<24>>24<0?h:d)+e|0)|0))break;e=e+1|0;g=b[q>>0]|0;h=f[d>>2]|0}while((b[(g<<24>>24<0?h:d)+e>>0]|0)!=0);if(!e)e=0;else e=(b[((b[q>>0]|0)<0?f[d>>2]|0:d)+e>>0]|0)==58?e+1|0:0}}else e=0;if((b[((b[q>>0]|0)<0?f[d>>2]|0:d)+e>>0]|0)==47){f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;u=t;return}e=b[s>>0]|0;if(e<<24>>24<0){e=f[c+4>>2]|0;g=f[c>>2]|0}else{e=e&255;g=c}if((b[g+(e+-1)>>0]|0)!=47)uD(c,47);k=d+4|0;p=v+11|0;l=v+4|0;m=c+4|0;n=r+11|0;o=r+4|0;while(1){e=b[q>>0]|0;if(e<<24>>24<0)e=f[k>>2]|0;else e=e&255;if(e>>>0<=3){i=76;break}FC(v,d,0,3,d);j=b[p>>0]|0;if(((j<<24>>24<0?f[l>>2]|0:j&255)|0)==3){x=0;e=wa(21,v|0,0,-1,43501,3)|0;j=x;x=0;if(j&1){i=32;break}if(!e)e=1;else i=34}else i=34;if((i|0)==34){x=0;Ka(4,r|0,d|0,0,3,d|0);j=x;x=0;if(j&1){i=66;break}g=b[n>>0]|0;if(((g<<24>>24<0?f[o>>2]|0:g&255)|0)==3){x=0;e=wa(21,r|0,0,-1,43505,3)|0;j=x;x=0;if(j&1){i=38;break}e=(e|0)==0;g=b[n>>0]|0}else e=0;if(g<<24>>24<0)Hta(f[r>>2]|0)}if((b[p>>0]|0)<0)Hta(f[v>>2]|0);if(!e){i=76;break}e=b[s>>0]|0;if(e<<24>>24<0)i=f[m>>2]|0;else i=e&255;j=HJ(c,47,i+-2|0)|0;if((j+2|0)==(i|0)){h=j+1|0;e=(b[s>>0]|0)<0;if(e)g=f[c>>2]|0;else g=c;if((b[g+h>>0]|0)==47)g=1;else{if(e)e=f[c>>2]|0;else e=c;g=(b[e+h>>0]|0)==92}}else g=0;if((j+3|0)==(i|0)){if((b[s>>0]|0)<0)e=f[c>>2]|0;else e=c;if(g|(b[e+(j+1)>>0]|0)==46)i=69;else i=60}else if(g)i=69;else i=60;if((i|0)==60){i=0;FC(v,d,3,-1,d);if((b[q>>0]|0)<0){b[f[d>>2]>>0]=0;f[k>>2]=0}else{b[d>>0]=0;b[q>>0]=0}x=0;Ga(501,d|0,0);h=x;x=0;if(h&1){i=64;break}f[d>>2]=f[v>>2];f[d+4>>2]=f[v+4>>2];f[d+8>>2]=f[v+8>>2]}else if((i|0)==69){i=0;if((j|0)==-1){i=76;break}}FC(v,c,0,(j|0)==-1?-1:j+1|0,c);if((b[s>>0]|0)<0){b[f[c>>2]>>0]=0;f[m>>2]=0}else{b[c>>0]=0;b[s>>0]=0}x=0;Ga(501,c|0,0);j=x;x=0;if(j&1){i=74;break}f[c>>2]=f[v>>2];f[c+4>>2]=f[v+4>>2];f[c+8>>2]=f[v+8>>2]}if((i|0)==32){v=Za(0)|0;soa(v)}else if((i|0)==38){v=Za(0)|0;soa(v)}else if((i|0)==64){v=Za(0)|0;soa(v)}else if((i|0)==66){e=Ya()|0;if((b[p>>0]|0)>=0)jb(e|0);Hta(f[v>>2]|0);jb(e|0)}else if((i|0)==74){v=Za(0)|0;soa(v)}else if((i|0)==76){iA(a,c,d);u=t;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;q=0;o=u;u=u+96|0;l=o+72|0;j=o+60|0;k=o+48|0;r=o+40|0;p=o+16|0;m=o+24|0;n=o;xn(r,c);d=f[r+4>>2]|0;do if(!d){x=0;d=ta(82,c|0,1,0)|0;i=x;x=0;if(!(i&1)){if(!d){x=0;Ga(462,a|0,0);q=x;x=0;if(q&1)break;f[a>>2]=12372;_P(r);u=o;return}x=0;ta(62,c|0,1,0)|0;i=x;x=0;if(!(i&1)){x=0;Ga(640,p|0,c|0);i=x;x=0;if(i&1)d=Ya()|0;else{i=p+4|0;a:do if(!(f[i>>2]|0)){x=0;Ga(641,l|0,c|0);m=x;x=0;do if(m&1)d=Ya()|0;else{if(f[i>>2]|0){x=0;Fa(429,p|0);m=x;x=0;if(m&1){d=Ya()|0;_P(l);break}}d=l+4|0;f[i>>2]=f[d>>2];f[d>>2]=0;_P(l);x=0;d=ta(66,c|0,1,0)|0;m=x;x=0;if(m&1){q=24;break a}if(d|0){q=48;break a}f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;d=qa(318,48)|0;m=x;x=0;if(m&1){q=24;break a}f[n>>2]=d;f[n+8>>2]=-2147483600;f[n+4>>2]=45;e=d;g=46062;h=e+45|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+45>>0]=0;x=0;Ga(459,j|0,n|0);m=x;x=0;do if(m&1)d=Ya()|0;else{m=c+108|0;x=0;f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];Ia(113,c|0,j|0,l|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[n+11>>0]|0)>=0){q=48;break a}Hta(f[n>>2]|0);q=48;break a}while(0);if((b[n+11>>0]|0)>=0)break a;Hta(f[n>>2]|0);break a}while(0)}else{x=0;d=ta(66,c|0,1,0)|0;n=x;x=0;if(n&1)q=24;else if(!d){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,48)|0;n=x;x=0;if(n&1)q=24;else{f[m>>2]=d;f[m+8>>2]=-2147483600;f[m+4>>2]=45;e=d;g=46062;h=e+45|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+45>>0]=0;x=0;Ga(459,k|0,m|0);n=x;x=0;do if(n&1)d=Ya()|0;else{n=c+108|0;x=0;f[l>>2]=f[n>>2];f[l+4>>2]=f[n+4>>2];f[l+8>>2]=f[n+8>>2];Ia(113,c|0,k|0,l|0);n=x;x=0;if(n&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[m+11>>0]|0)>=0){q=48;break a}Hta(f[m>>2]|0);q=48;break a}while(0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}}else q=48}while(0);if((q|0)==48){x=0;ta(62,c|0,1,0)|0;q=x;x=0;if(q&1)q=24;else{x=0;Ga(462,a|0,f[i>>2]|0);q=x;x=0;if(q&1)q=24;else{f[a>>2]=12372;_P(p);_P(r);u=o;return}}}if((q|0)==24)d=Ya()|0;_P(p)}q=d;_P(r);jb(q|0)}}}else{x=0;Ga(462,a|0,d|0);q=x;x=0;if(!(q&1)){f[a>>2]=12372;_P(r);u=o;return}}while(0);q=Ya()|0;_P(r);jb(q|0)}function Ni(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,v=0;s=0;q=u;u=u+144|0;n=q;g=q+104|0;v=q+88|0;t=q+64|0;r=q+76|0;m=q+52|0;o=q+40|0;j=g;k=e+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));ND(v,81592);x=0;Ga(511,t|0,d|0);p=x;x=0;if(p&1)d=Ya()|0;else{j=n;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(538,a|0,v|0);p=x;x=0;if(p&1){d=Ya()|0;k=I}else{f[a>>2]=16212;p=a+8|0;x=0;Ga(459,p|0,v|0);l=x;x=0;do if(l&1){d=Ya()|0;g=I}else{h=a+20|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[53005]|0;b[h+1>>0]=b[53006]|0;b[h+2>>0]=b[53007]|0;b[h+3>>0]=b[53008]|0;b[h+4>>0]=b[53009]|0;b[h+5>>0]=0;j=a+32|0;k=n;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,a+72|0,t|0);l=x;x=0;if(l&1){d=Ya()|0;g=I;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}d=f[t>>2]|0;if(d|0){i=t+4|0;g=f[i>>2]|0;if((g|0)!=(d|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(d|0));d=f[t>>2]|0}Hta(d)}if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);f[a>>2]=21068;f[a+84>>2]=c;f[a+88>>2]=e;x=0;sa(1032,p|0,53011)|0;v=x;x=0;a:do if(v&1)s=43;else{d=f[(f[e>>2]|0)+28>>2]|0;f[m>>2]=0;f[m+4>>2]=5;b[m+8>>0]=0;x=0;j=n;k=m;l=j+12|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));Ia(d|0,r|0,e|0,n|0);v=x;x=0;do if(v&1)d=Ya()|0;else{g=r+11|0;v=b[g>>0]|0;t=v<<24>>24<0;x=0;ta(41,p|0,(t?f[r>>2]|0:r)|0,(t?f[r+4>>2]|0:v&255)|0)|0;v=x;x=0;if(v&1){d=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[r>>2]|0);x=0;sa(991,p|0,53041)|0;v=x;x=0;if(v&1){s=43;break a}d=f[(f[c>>2]|0)+28>>2]|0;f[o>>2]=0;f[o+4>>2]=5;b[o+8>>0]=0;x=0;j=n;k=o;l=j+12|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));Ia(d|0,r|0,c|0,n|0);v=x;x=0;do if(v&1)d=Ya()|0;else{g=r+11|0;v=b[g>>0]|0;t=v<<24>>24<0;x=0;ta(41,p|0,(t?f[r>>2]|0:r)|0,(t?f[r+4>>2]|0:v&255)|0)|0;v=x;x=0;if(v&1){d=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[r>>2]|0);x=0;sa(991,p|0,53046)|0;v=x;x=0;if(v&1){s=43;break a}u=q;return}while(0);break a}while(0)}while(0);if((s|0)==43)d=Ya()|0;PF(a);v=d;jb(v|0)}while(0);dfa(a);k=g}g=f[t>>2]|0;if(g){j=t+4|0;h=f[j>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(g|0));g=f[t>>2]|0}Hta(g)}}if((b[v+11>>0]|0)>=0){v=d;jb(v|0)}Hta(f[v>>2]|0);v=d;jb(v|0)}function Oi(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;q=0;n=u;u=u+160|0;l=n+40|0;m=n;o=n+144|0;s=n+80|0;d=n+104|0;p=n+92|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;r=s+11|0;b[r>>0]=5;b[s>>0]=b[40756]|0;b[s+1>>0]=b[40757]|0;b[s+2>>0]=b[40758]|0;b[s+3>>0]=b[40759]|0;b[s+4>>0]=b[40760]|0;b[s+5>>0]=0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);k=x;x=0;if(k&1)d=Ya()|0;else{x=0;i=l;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));d=wa(27,s|0,a|0,e|0,l|0,p|0)|0;k=x;x=0;do if(k&1)q=25;else{x=0;Ka(5,m|0,d+64|0,0,0,1);k=x;x=0;if(k&1)q=25;else{x=0;Ga(558,o|0,m|0);k=x;x=0;if(k&1){d=Ya()|0;i=I;if((b[m+11>>0]|0)>=0){j=i;break}Hta(f[m>>2]|0);j=i;break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);d=f[p>>2]|0;if(d|0){e=p+4|0;i=f[e>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d)}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);x=0;Ia(92,l|0,43208,o|0);s=x;x=0;a:do if(s&1){d=Ya()|0;q=41}else{x=0;d=sa(1010,c|0,l|0)|0;s=x;x=0;if(s&1){d=Ya()|0;if((b[l+11>>0]|0)>=0){q=41;break}Hta(f[l>>2]|0);q=41;break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);do if(d){x=0;d=qa(318,68)|0;s=x;x=0;if(s&1)q=42;else{i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){s=Ya()|0;Hta(d);d=s;break a}else{i=d+12|0;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=1;f[d+64>>2]=0;f[d+56>>2]=1;break}}}else{x=0;d=qa(318,68)|0;s=x;x=0;if(s&1)q=42;else{i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){s=Ya()|0;Hta(d);d=s;break a}else{i=d+12|0;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=0;f[d+64>>2]=0;f[d+56>>2]=1;break}}}while(0);if((q|0)==42){d=Ya()|0;break}if((b[o+11>>0]|0)>=0){u=n;return d|0}Hta(f[o>>2]|0);u=n;return d|0}while(0);if((b[o+11>>0]|0)>=0){s=d;jb(s|0)}Hta(f[o>>2]|0);s=d;jb(s|0)}}while(0);if((q|0)==25){d=Ya()|0;j=I}i=f[p>>2]|0;if(i){h=p+4|0;a=f[h>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[h>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[h>>2]|0}else a=e}while((a|0)!=(i|0));i=f[p>>2]|0}Hta(i)}}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);s=d;jb(s|0);return 0}function Pi(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;q=0;n=u;u=u+160|0;l=n+40|0;m=n;o=n+144|0;s=n+80|0;d=n+104|0;p=n+92|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;r=s+11|0;b[r>>0]=5;b[s>>0]=b[40756]|0;b[s+1>>0]=b[40757]|0;b[s+2>>0]=b[40758]|0;b[s+3>>0]=b[40759]|0;b[s+4>>0]=b[40760]|0;b[s+5>>0]=0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);k=x;x=0;if(k&1)d=Ya()|0;else{x=0;i=l;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));d=wa(27,s|0,a|0,e|0,l|0,p|0)|0;k=x;x=0;do if(k&1)q=25;else{x=0;Ka(5,m|0,d+64|0,0,0,1);k=x;x=0;if(k&1)q=25;else{x=0;Ga(558,o|0,m|0);k=x;x=0;if(k&1){d=Ya()|0;i=I;if((b[m+11>>0]|0)>=0){j=i;break}Hta(f[m>>2]|0);j=i;break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);d=f[p>>2]|0;if(d|0){e=p+4|0;i=f[e>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d)}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);x=0;Ia(92,l|0,43208,o|0);s=x;x=0;a:do if(s&1){d=Ya()|0;q=41}else{x=0;d=sa(1009,c|0,l|0)|0;s=x;x=0;if(s&1){d=Ya()|0;if((b[l+11>>0]|0)>=0){q=41;break}Hta(f[l>>2]|0);q=41;break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);do if(d){x=0;d=qa(318,68)|0;s=x;x=0;if(s&1)q=42;else{i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){s=Ya()|0;Hta(d);d=s;break a}else{i=d+12|0;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=1;f[d+64>>2]=0;f[d+56>>2]=1;break}}}else{x=0;d=qa(318,68)|0;s=x;x=0;if(s&1)q=42;else{i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){s=Ya()|0;Hta(d);d=s;break a}else{i=d+12|0;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=0;f[d+64>>2]=0;f[d+56>>2]=1;break}}}while(0);if((q|0)==42){d=Ya()|0;break}if((b[o+11>>0]|0)>=0){u=n;return d|0}Hta(f[o>>2]|0);u=n;return d|0}while(0);if((b[o+11>>0]|0)>=0){s=d;jb(s|0)}Hta(f[o>>2]|0);s=d;jb(s|0)}}while(0);if((q|0)==25){d=Ya()|0;j=I}i=f[p>>2]|0;if(i){h=p+4|0;a=f[h>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[h>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[h>>2]|0}else a=e}while((a|0)!=(i|0));i=f[p>>2]|0}Hta(i)}}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);s=d;jb(s|0);return 0}function Qi(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;q=0;n=u;u=u+160|0;l=n+40|0;m=n;o=n+144|0;s=n+80|0;d=n+104|0;p=n+92|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;r=s+11|0;b[r>>0]=5;b[s>>0]=b[40756]|0;b[s+1>>0]=b[40757]|0;b[s+2>>0]=b[40758]|0;b[s+3>>0]=b[40759]|0;b[s+4>>0]=b[40760]|0;b[s+5>>0]=0;i=d;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);k=x;x=0;if(k&1)d=Ya()|0;else{x=0;i=l;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));d=wa(27,s|0,a|0,e|0,l|0,p|0)|0;k=x;x=0;do if(k&1)q=25;else{x=0;Ka(5,m|0,d+64|0,0,0,1);k=x;x=0;if(k&1)q=25;else{x=0;Ga(558,o|0,m|0);k=x;x=0;if(k&1){d=Ya()|0;i=I;if((b[m+11>>0]|0)>=0){j=i;break}Hta(f[m>>2]|0);j=i;break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);d=f[p>>2]|0;if(d|0){e=p+4|0;i=f[e>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d)}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);x=0;Ia(79,l|0,o|0,48337);s=x;x=0;a:do if(s&1){d=Ya()|0;q=41}else{x=0;d=sa(1010,c|0,l|0)|0;s=x;x=0;if(s&1){d=Ya()|0;if((b[l+11>>0]|0)>=0){q=41;break}Hta(f[l>>2]|0);q=41;break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);do if(d){x=0;d=qa(318,68)|0;s=x;x=0;if(s&1)q=42;else{i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){s=Ya()|0;Hta(d);d=s;break a}else{i=d+12|0;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=1;f[d+64>>2]=0;f[d+56>>2]=1;break}}}else{x=0;d=qa(318,68)|0;s=x;x=0;if(s&1)q=42;else{i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){s=Ya()|0;Hta(d);d=s;break a}else{i=d+12|0;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=0;f[d+64>>2]=0;f[d+56>>2]=1;break}}}while(0);if((q|0)==42){d=Ya()|0;break}if((b[o+11>>0]|0)>=0){u=n;return d|0}Hta(f[o>>2]|0);u=n;return d|0}while(0);if((b[o+11>>0]|0)>=0){s=d;jb(s|0)}Hta(f[o>>2]|0);s=d;jb(s|0)}}while(0);if((q|0)==25){d=Ya()|0;j=I}i=f[p>>2]|0;if(i){h=p+4|0;a=f[h>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[h>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[h>>2]|0}else a=e}while((a|0)!=(i|0));i=f[p>>2]|0}Hta(i)}}if((b[r>>0]|0)<0)Hta(f[s>>2]|0);s=d;jb(s|0);return 0}function Ri(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,q=0,r=0,s=0,t=0;r=u;u=u+128|0;s=r;t=r+112|0;p=r+60|0;c=r+72|0;n=r+48|0;q=r+40|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;o=p+11|0;b[o>>0]=4;f[p>>2]=1885433124;b[p+4>>0]=0;k=c;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,n|0,i|0);m=x;x=0;if(m&1)c=Ya()|0;else{x=0;k=s;l=c;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c=ya(40,p|0,a|0,g|0,s|0,n|0,0)|0;m=x;x=0;if(!(m&1)){x=0;Ga(462,t|0,c|0);m=x;x=0;if(!(m&1)){f[t>>2]=16784;c=f[n>>2]|0;if(c|0){a=n+4|0;e=f[a>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[a>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=j}while((e|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[p>>2]|0);x=0;n=qa(318,88)|0;p=x;x=0;a:do if(p&1)c=Ya()|0;else{j=t+4|0;e=f[j>>2]|0;c=f[e+88>>2]|0;e=f[e+84>>2]|0;k=s;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Fa(427,n|0);p=x;x=0;do if(p&1)c=Ya()|0;else{e=c-e>>3;k=n+12|0;l=s;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;c=n+56|0;f[c>>2]=0;f[n>>2]=6516;g=n+60|0;f[g>>2]=9660;i=n+64|0;k=n+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,e|0);p=x;x=0;if(p&1){c=Ya()|0;a=I;e=f[i>>2]|0;if(e|0){j=f[k>>2]|0;if((j|0)!=(e|0)){do{s=j+-8|0;f[k>>2]=s;Kc[f[f[s>>2]>>2]&511](s);j=f[k>>2]|0}while((j|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[n>>2]=9488;f[g>>2]=9620;p=n+80|0;f[p>>2]=0;d[p+4>>1]=0;b[p+6>>0]=0;f[c>>2]=5;j=f[j>>2]|0;c=f[j+84>>2]|0;j=f[j+88>>2]|0;if((c|0)==(j|0)){_P(t);u=r;return n|0}a=s+4|0;while(1){x=0;Ga(462,s|0,f[c+4>>2]|0);p=x;x=0;if(p&1){e=43;break}f[s>>2]=7696;e=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,f[a>>2]|0);p=x;x=0;if(p&1){e=44;break}f[q>>2]=7696;x=0;Ga(e|0,g|0,q|0);p=x;x=0;if(p&1){e=45;break}_P(q);_P(s);c=c+8|0;if((c|0)==(j|0)){e=24;break}}if((e|0)==24){_P(t);u=r;return n|0}else if((e|0)==43)c=Ya()|0;else if((e|0)==44){c=Ya()|0;e=46}else if((e|0)==45){c=Ya()|0;_P(q);e=46}if((e|0)==46)_P(s);break a}while(0);Hta(n)}while(0);_P(t);t=c;jb(t|0)}}c=Ya()|0;g=I;e=f[n>>2]|0;if(e){i=n+4|0;j=f[i>>2]|0;if((j|0)!=(e|0)){do{a=j+-52|0;f[i>>2]=a;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[i>>2]|0}else j=a}while((j|0)!=(e|0));e=f[n>>2]|0}Hta(e)}}if((b[o>>0]|0)<0)Hta(f[p>>2]|0);t=c;jb(t|0);return 0}function Si(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;n=u;u=u+64|0;g=n+40|0;o=n+48|0;i=n+32|0;j=n+24|0;k=n+16|0;l=n+8|0;m=n;e=f[(f[c>>2]|0)+116>>2]|0;h=c+64|0;qV(g,f[h>>2]|0);f[g>>2]=12372;x=0;e=sa(e|0,c|0,g|0)|0;p=x;x=0;if(p&1){p=Ya()|0;_P(g);jb(p|0)}_P(g);do if(e){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;g=o+11|0;b[g>>0]=1;b[o>>0]=40;b[o+1>>0]=0;x=0;Ga(682,a+4|0,o|0);p=x;x=0;if(!(p&1)){if((b[g>>0]|0)<0)Hta(f[o>>2]|0);break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[o>>2]|0);p=e;jb(p|0)}while(0);qV(i,f[h>>2]|0);f[i>>2]=12372;p=f[i+4>>2]|0;x=0;Ga(f[(f[p>>2]|0)+44>>2]|0,p|0,a|0);p=x;x=0;if(p&1){p=Ya()|0;_P(i);jb(p|0)}_P(i);e=f[(f[c>>2]|0)+116>>2]|0;qV(j,f[h>>2]|0);f[j>>2]=12372;x=0;e=sa(e|0,c|0,j|0)|0;p=x;x=0;if(p&1){p=Ya()|0;_P(j);jb(p|0)}_P(j);do if(e){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;g=o+11|0;b[g>>0]=1;b[o>>0]=41;b[o+1>>0]=0;x=0;Ga(682,a+4|0,o|0);p=x;x=0;if(!(p&1)){if((b[g>>0]|0)<0)Hta(f[o>>2]|0);break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[o>>2]|0);p=e;jb(p|0)}while(0);a:do switch(f[c+76>>2]|0){case 0:{e=a+4|0;boa(e);g=o+4|0;f[g>>2]=0;f[g+4>>2]=0;g=o+11|0;b[g>>0]=3;b[o>>0]=b[53340]|0;b[o+1>>0]=b[53341]|0;b[o+2>>0]=b[53342]|0;b[o+3>>0]=0;x=0;Ia(147,e|0,o|0,c|0);p=x;x=0;if(!(p&1)){if((b[g>>0]|0)<0)Hta(f[o>>2]|0);boa(e);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[o>>2]|0);p=e;jb(p|0)}case 1:{e=a+4|0;boa(e);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;g=o+11|0;b[g>>0]=2;d[o>>1]=29295;b[o+2>>0]=0;x=0;Ia(147,e|0,o|0,c|0);p=x;x=0;if(!(p&1)){if((b[g>>0]|0)<0)Hta(f[o>>2]|0);boa(e);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[o>>2]|0);p=e;jb(p|0)}default:{}}while(0);e=f[(f[c>>2]|0)+116>>2]|0;h=c+72|0;qV(k,f[h>>2]|0);f[k>>2]=12372;x=0;e=sa(e|0,c|0,k|0)|0;p=x;x=0;if(p&1){p=Ya()|0;_P(k);jb(p|0)}_P(k);do if(e){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;g=o+11|0;b[g>>0]=1;b[o>>0]=40;b[o+1>>0]=0;x=0;Ga(682,a+4|0,o|0);p=x;x=0;if(!(p&1)){if((b[g>>0]|0)<0)Hta(f[o>>2]|0);break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[o>>2]|0);p=e;jb(p|0)}while(0);qV(l,f[h>>2]|0);f[l>>2]=12372;p=f[l+4>>2]|0;x=0;Ga(f[(f[p>>2]|0)+44>>2]|0,p|0,a|0);p=x;x=0;if(p&1){p=Ya()|0;_P(l);jb(p|0)}_P(l);e=f[(f[c>>2]|0)+116>>2]|0;qV(m,f[h>>2]|0);f[m>>2]=12372;x=0;e=sa(e|0,c|0,m|0)|0;p=x;x=0;if(p&1){p=Ya()|0;_P(m);jb(p|0)}_P(m);if(!e){u=n;return}f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;g=o+11|0;b[g>>0]=1;b[o>>0]=41;b[o+1>>0]=0;x=0;Ga(682,a+4|0,o|0);p=x;x=0;if(p&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[o>>2]|0);p=e;jb(p|0)}else{if((b[g>>0]|0)<0)Hta(f[o>>2]|0);u=n;return}}function Ti(a){a=a|0;var c=0,d=0,e=0.0,g=0,h=0,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.0;p=u;u=u+32|0;r=p+16|0;q=p;m=a+4|0;d=f[a>>2]|0;c=(f[m>>2]|0)-d|0;l=(c|0)/12|0;n=a+12|0;o=a+16|0;g=(f[o>>2]|0)-(f[n>>2]|0)|0;k=(g|0)/12|0;if((k+l|0)>>>0<2){e=1.0;u=p;return +e}f[r+4>>2]=0;f[r+8>>2]=0;s=r+4|0;f[r>>2]=s;h=(c|0)==0;a:do if(!h){c=0;while(1){x=0;d=sa(1024,r|0,d+(c*12|0)|0)|0;j=x;x=0;if(j&1)break;f[d>>2]=(f[d>>2]|0)+1;c=c+1|0;if(c>>>0>=l>>>0)break a;d=f[a>>2]|0}q=Ya()|0;s=f[s>>2]|0;jG(r,s);jb(q|0)}while(0);d=(g|0)==0;b:do if(!d){c=0;while(1){x=0;g=sa(1024,r|0,(f[n>>2]|0)+(c*12|0)|0)|0;j=x;x=0;if(j&1)break;f[g>>2]=(f[g>>2]|0)+-1;c=c+1|0;if(c>>>0>=k>>>0)break b}q=Ya()|0;s=f[s>>2]|0;jG(r,s);jb(q|0)}while(0);c:do if(h)e=1.0;else if(d)e=1.0;else{e=1.0;j=0;d:while(1){i=0;do{c=(f[a>>2]|0)+(j*12|0)|0;d=(f[n>>2]|0)+(i*12|0)|0;x=0;g=sa(1024,r|0,c|0)|0;h=x;x=0;if(h&1)break d;x=0;h=sa(1024,r|0,d|0)|0;t=x;x=0;if(t&1)break d;v=+Lm(c,d,g,h);e=v==0.0?e:e/v;i=i+1|0}while(i>>>0>>0);j=j+1|0;if(j>>>0>=l>>>0)break c}t=Ya()|0;s=f[s>>2]|0;jG(r,s);jb(t|0)}while(0);d=f[a>>2]|0;c=f[m>>2]|0;if((c|0)!=(d|0))do{c=c+-12|0;f[m>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[m>>2]|0}}while((c|0)!=(d|0));d=f[n>>2]|0;c=f[o>>2]|0;if((c|0)!=(d|0))do{c=c+-12|0;f[o>>2]=c;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[o>>2]|0}}while((c|0)!=(d|0));c=f[r>>2]|0;e:do if((c|0)!=(s|0)){h=q+12|0;k=q+11|0;i=a+20|0;j=a+8|0;g=c;f:while(1){x=0;Ga(459,q|0,g+16|0);t=x;x=0;if(t&1){d=40;break}c=f[g+28>>2]|0;f[h>>2]=c;if((c|0)>0)do{f[h>>2]=c+-1;c=f[m>>2]|0;if((c|0)==(f[j>>2]|0)){x=0;Ga(515,a|0,q|0);t=x;x=0;if(t&1){d=41;break f}}else{x=0;Ga(459,c|0,q|0);t=x;x=0;if(t&1){d=41;break f}f[m>>2]=(f[m>>2]|0)+12}c=f[h>>2]|0}while((c|0)>0);if((c|0)<0)do{f[h>>2]=c+1;c=f[o>>2]|0;if((c|0)==(f[i>>2]|0)){x=0;Ga(515,n|0,q|0);t=x;x=0;if(t&1){d=41;break f}}else{x=0;Ga(459,c|0,q|0);t=x;x=0;if(t&1){d=41;break f}f[o>>2]=(f[o>>2]|0)+12}c=f[h>>2]|0}while((c|0)<0);if((b[k>>0]|0)<0)Hta(f[q>>2]|0);c=f[g+4>>2]|0;if(!c){d=g+8|0;c=f[d>>2]|0;if((f[c>>2]|0)!=(g|0))do{t=f[d>>2]|0;d=t+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(t|0))}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(s|0))break e;else g=c}if((d|0)==40)c=Ya()|0;else if((d|0)==41){c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[q>>2]|0)}t=c;s=f[s>>2]|0;jG(r,s);jb(t|0)}while(0);jG(r,f[s>>2]|0);v=e;u=p;return +v}function Ui(a){a=a|0;var b=0,c=0.0,d=0.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;s=0;t=u;u=u+16|0;n=t;o=a+4|0;b=f[a>>2]|0;j=(f[o>>2]|0)-b|0;k=(j|0)/12|0;q=a+12|0;r=a+16|0;l=(f[r>>2]|0)-(f[q>>2]|0)|0;m=(l|0)/12|0;a:do if(!j)c=1.0;else{c=1.0;j=0;b:while(1){e=gi(b+(j*12|0)|0)|0;if((e|0)!=1280){switch((e>>>8&255)<<24>>24){case 0:{i=5;b=0;h=0;break}case 1:{i=256;b=256;h=1;break}case 2:{i=512;b=512;h=2;break}case 3:{i=768;b=768;h=3;break}case 4:{i=1024;b=1024;h=4;break}default:{i=1280;b=1280;h=5}}if((e|0)!=(i|0)){g=i-b|0;b=e-b|0;switch(h&7){case 0:{b=2904+(g*48|0)+(b<<3)|0;break}case 1:{b=78112+(g<<5)+(b<<3)|0;break}case 2:{b=3192+(g<<4)+(b<<3)|0;break}case 3:{b=3224+(g<<4)+(b<<3)|0;break}case 4:{b=3256+(g*24|0)+(b<<3)|0;break}default:break b}d=+p[b>>3];if(d==0.0)break;switch(i&2047){case 5:{b=44014;break}case 513:{b=44052;break}case 1025:{b=44066;break}case 1024:{b=44062;break}case 769:{b=44058;break}case 768:{b=44055;break}case 256:{b=44032;break}case 257:{b=44036;break}case 512:{b=44050;break}default:b=89823}ZT((f[a>>2]|0)+(j*12|0)|0,b)|0;c=c/d}}b=j+1|0;if(b>>>0>=k>>>0)break a;j=b;b=f[a>>2]|0}b=Ta(8)|0;x=0;Ga(496,b|0,44076);t=x;x=0;if(!(t&1))fb(b|0,6176,414);t=Ya()|0;bb(b|0);jb(t|0)}while(0);if(!l){d=c;a=f[a>>2]|0;s=f[o>>2]|0;Qe(a,s,n);q=f[q>>2]|0;s=f[r>>2]|0;Qe(q,s,n);u=t;return +d}else j=0;c:while(1){e=gi((f[q>>2]|0)+(j*12|0)|0)|0;if((e|0)!=1280){switch((e>>>8&255)<<24>>24){case 0:{i=5;b=0;h=0;break}case 1:{i=256;b=256;h=1;break}case 2:{i=512;b=512;h=2;break}case 3:{i=768;b=768;h=3;break}case 4:{i=1024;b=1024;h=4;break}default:{i=1280;b=1280;h=5}}if((e|0)!=(i|0)){g=i-b|0;b=e-b|0;switch(h&7){case 0:{b=2904+(g*48|0)+(b<<3)|0;break}case 1:{b=78112+(g<<5)+(b<<3)|0;break}case 2:{b=3192+(g<<4)+(b<<3)|0;break}case 3:{b=3224+(g<<4)+(b<<3)|0;break}case 4:{b=3256+(g*24|0)+(b<<3)|0;break}default:break c}d=+p[b>>3];if(d==0.0)break;switch(i&2047){case 5:{b=44014;break}case 513:{b=44052;break}case 1025:{b=44066;break}case 1024:{b=44062;break}case 769:{b=44058;break}case 768:{b=44055;break}case 256:{b=44032;break}case 257:{b=44036;break}case 512:{b=44050;break}default:b=89823}ZT((f[q>>2]|0)+(j*12|0)|0,b)|0;c=c/d}}j=j+1|0;if(j>>>0>=m>>>0){s=35;break}}if((s|0)==35){a=f[a>>2]|0;s=f[o>>2]|0;Qe(a,s,n);q=f[q>>2]|0;s=f[r>>2]|0;Qe(q,s,n);u=t;return +c}b=Ta(8)|0;x=0;Ga(496,b|0,44076);t=x;x=0;if(!(t&1))fb(b|0,6176,414);t=Ya()|0;bb(b|0);jb(t|0);return 0.0}function Vi(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,t=0;r=0;t=u;u=u+80|0;d=t+72|0;e=t+56|0;g=t+48|0;j=t+32|0;q=t+64|0;i=t+24|0;l=t+40|0;m=t+16|0;p=t+8|0;n=t;o=a+92|0;s=a+96|0;c=f[s>>2]|0;if((c|0)==(f[o>>2]|0)){qV(d,0);c=d}else{qV(d,f[c+-4>>2]|0);c=d}f[d>>2]=7168;k=f[d+4>>2]|0;_P(c);if(!k){u=t;return 0}qV(e,f[b+68>>2]|0);f[e>>2]=7168;b=f[e+4>>2]|0;_P(e);if(!b){u=t;return 0}h=b+96|0;qV(g,f[h>>2]|0);f[g>>2]=16196;c=f[g+4>>2]|0;_P(g);do if(c){if(vc[f[(f[c>>2]|0)+80>>2]&511](c)|0){d=a+68|0;e=a+72|0;b=f[e>>2]|0;c=f[d>>2]|0;if(b-c>>2>>>0<=1)DO(d);c=c+4|0;if((f[a+76>>2]|0)==(b|0))YA(d,c);else{f[b>>2]=f[c>>2];f[e>>2]=(f[e>>2]|0)+4}qV(j,f[h>>2]|0);f[j>>2]=16196;x=0;c=sa(551,a+12|0,f[j+4>>2]|0)|0;i=x;x=0;if(!(i&1)){_P(j);f[e>>2]=(f[e>>2]|0)+-4;b=c;break}t=Ya()|0;_P(j);jb(t|0)}qV(q,0);f[q>>2]=7168;c=f[s>>2]|0;if(c>>>0<(f[a+100>>2]|0)>>>0){x=0;Ga(462,c|0,f[q+4>>2]|0);j=x;x=0;if(j&1)r=23;else{f[c>>2]=7168;f[s>>2]=(f[s>>2]|0)+8}}else{x=0;Ga(651,o|0,q|0);j=x;x=0;if(j&1)r=23}if((r|0)==23){t=Ya()|0;_P(q);jb(t|0)}_P(q);qV(i,f[h>>2]|0);f[i>>2]=16196;x=0;b=sa(551,a+12|0,f[i+4>>2]|0)|0;j=x;x=0;if(j&1){t=Ya()|0;_P(i);jb(t|0)}else{_P(i);d=f[s>>2]|0;c=d+-8|0;do{j=d+-8|0;f[s>>2]=j;Kc[f[f[j>>2]>>2]&511](j);d=f[s>>2]|0}while((d|0)!=(c|0))}}while(0);c=f[b+76>>2]|0;j=f[b+80>>2]|0;a:do if((c|0)!=(j|0)){e=q+4|0;g=l+4|0;h=m+4|0;i=a+108|0;while(1){qV(q,f[c+4>>2]|0);f[q>>2]=15556;d=f[e>>2]|0;if(d|0){x=0;Ga(462,l|0,f[d+80>>2]|0);d=x;x=0;if(d&1){r=37;break}f[l>>2]=15572;d=(f[g>>2]|0)==0;_P(l);if(!d){x=0;Ga(462,m|0,f[(f[e>>2]|0)+80>>2]|0);d=x;x=0;if(d&1){r=36;break}f[m>>2]=15572;f[(f[h>>2]|0)+64>>2]=f[(f[i>>2]|0)+-4>>2];_P(m)}}_P(q);c=c+8|0;if((c|0)==(j|0))break a}if((r|0)==36)c=Ya()|0;else if((r|0)==37)c=Ya()|0;_P(q);t=c;jb(t|0)}while(0);qV(q,0);f[q>>2]=7168;c=f[s>>2]|0;if(c>>>0<(f[a+100>>2]|0)>>>0){x=0;Ga(462,c|0,f[q+4>>2]|0);o=x;x=0;if(o&1)r=44;else{f[c>>2]=7168;f[s>>2]=(f[s>>2]|0)+8}}else{x=0;Ga(651,o|0,q|0);o=x;x=0;if(o&1)r=44}if((r|0)==44){t=Ya()|0;_P(q);jb(t|0)}_P(q);qV(p,b);f[p>>2]=15588;x=0;Ga(462,n|0,k|0);r=x;x=0;do if(r&1)c=Ya()|0;else{f[n>>2]=7168;x=0;Ia(137,a|0,p|0,n|0);r=x;x=0;if(r&1){c=Ya()|0;_P(n);break}_P(n);_P(p);d=f[s>>2]|0;c=d+-8|0;do{r=d+-8|0;f[s>>2]=r;Kc[f[f[r>>2]>>2]&511](r);d=f[s>>2]|0}while((d|0)!=(c|0));u=t;return 0}while(0);_P(p);t=c;jb(t|0);return 0}function Wi(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,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=0;c=Dn(a)|0;c=c|0?c:a;if(!c){s=0;return s|0}p=b[36397]|0;g=p<<24>>24==0;a:do if(!g){e=36397;f=p;while(1){if((b[c>>0]|0)!=f<<24>>24){m=0;break}c=c+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24))break a}return m|0}while(0);e=b[c>>0]|0;if(!(e<<24>>24)){s=0;return s|0}if(g){d=0;f=0;while(1){switch(e<<24>>24){case 92:{g=f;c=c+1|0;break}case 34:{d=d^1;g=f;break}case 39:{g=f^1;break}default:if(d){d=1;g=f}else{d=0;g=f;c=f?c:c+-1|0}}c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){m=0;break}else f=g}return m|0}else{f=0;g=0;j=0}b:while(1){c:do switch(e<<24>>24){case 92:{c=c+1|0;h=j;break}case 34:{f=f^1;h=j;break}case 39:{g=g^1;h=j;break}default:if(f){f=1;h=j}else if(g){f=0;g=1;h=j}else{d:do if(e<<24>>24==p<<24>>24){i=c;f=36397;while(1){g=i+1|0;f=f+1|0;h=b[f>>0]|0;if(!(h<<24>>24))break;if((b[g>>0]|0)!=h<<24>>24)break d;else i=g}f=0;g=0;c=i;h=j+1|0;break c}while(0);n=b[51458]|0;o=n<<24>>24==0;e:do if(o)k=c;else{if(e<<24>>24==n<<24>>24){e=c;f=51458}else{f=0;g=0;h=j;break c}while(1){e=e+1|0;f=f+1|0;g=b[f>>0]|0;if(!(g<<24>>24)){k=e;break e}if((b[e>>0]|0)!=g<<24>>24){f=0;g=0;h=j;break c}}}while(0);if(!j)break b;else{f=0;g=0;c=k+-1|0;h=j+-1|0}}}while(0);c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){m=0;l=62;break}else j=h}if((l|0)==62)return m|0;c=Dn(k)|0;c=c|0?c:k;if(!c){s=a;return s|0}k=p<<24>>24==0;a=c;f:while(1){c=Dn(a)|0;c=c|0?c:a;if(!c){m=a;l=62;break}if(!k){e=36397;f=p;do{if((b[c>>0]|0)!=f<<24>>24){m=a;l=62;break f}c=c+1|0;e=e+1|0;f=b[e>>0]|0}while(f<<24>>24!=0)}e=b[c>>0]|0;if(!(e<<24>>24)){m=a;l=62;break}if(k){q=c;d=0;r=0;s=e;l=39;break}else{f=0;g=0;j=0}g:while(1){h:do switch(e<<24>>24){case 92:{c=c+1|0;h=j;break}case 34:{f=f^1;h=j;break}case 39:{g=g^1;h=j;break}default:if(f){f=1;h=j}else if(g){f=0;g=1;h=j}else{i:do if(e<<24>>24==p<<24>>24){i=c;f=36397;while(1){g=i+1|0;f=f+1|0;h=b[f>>0]|0;if(!(h<<24>>24))break;if((b[g>>0]|0)!=h<<24>>24)break i;else i=g}f=0;g=0;c=i;h=j+1|0;break h}while(0);j:do if(!o){if(e<<24>>24==n<<24>>24){e=c;f=51458}else{f=0;g=0;h=j;break h}while(1){e=e+1|0;f=f+1|0;g=b[f>>0]|0;if(!(g<<24>>24)){c=e;break j}if((b[e>>0]|0)!=g<<24>>24){f=0;g=0;h=j;break h}}}while(0);if(!j)break g;else{f=0;g=0;c=c+-1|0;h=j+-1|0}}}while(0);c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){m=a;l=62;break f}else j=h}l=Dn(c)|0;c=l|0?l:c;if(!c){m=a;l=62;break}else a=c}if((l|0)==39){while(1){switch(s<<24>>24){case 92:{e=r;c=q+1|0;break}case 34:{d=d^1;e=r;c=q;break}case 39:{e=r^1;c=q;break}default:if(d){d=1;e=r;c=q}else{d=0;e=r;c=r?q:q+-1|0}}q=c+1|0;s=b[q>>0]|0;if(!(s<<24>>24)){m=a;break}else r=e}return m|0}else if((l|0)==62)return m|0;return 0}function Xi(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[20418]|0)==(h|0)){a=i+4|0;c=f[a>>2]|0;if((c&3|0)!=3)break;f[20415]=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[20413]=f[20413]&~(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)){d=h+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else c=d}while(1){d=a+20|0;e=f[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=f[d>>2]|0;if(!e)break;else{a=e;c=d}}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=81956+(c<<2)|0;if((f[d>>2]|0)==(h|0)){f[d>>2]=a;if(!a){f[20414]=f[20414]&~(1<>2]|0)!=(h|0)&1)<<2)>>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[20419]|0)==(i|0)){i=(f[20416]|0)+b|0;f[20416]=i;f[20419]=h;f[h+4>>2]=i|1;if((h|0)!=(f[20418]|0))return;f[20418]=0;f[20415]=0;return}if((f[20418]|0)==(i|0)){i=(f[20415]|0)+b|0;f[20415]=i;f[20418]=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[20413]=f[20413]&~(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)){c=i+16|0;a=c+4|0;b=f[a>>2]|0;if(!b){b=f[c>>2]|0;if(!b){c=0;break}else a=c}while(1){c=b+20|0;d=f[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=f[c>>2]|0;if(!d)break;else{b=d;a=c}}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=81956+(b<<2)|0;if((f[a>>2]|0)==(i|0)){f[a>>2]=c;if(!c){f[20414]=f[20414]&~(1<>2]|0)!=(i|0)&1)<<2)>>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[20418]|0)){f[20415]=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=81692+(b<<1<<2)|0;a=f[20413]|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)b=0;else if(e>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;b=14-(d|g|b)+(i<>>15)|0;b=e>>>(b+7|0)&1|b<<1}d=81956+(b<<2)|0;f[h+28>>2]=b;f[h+20>>2]=0;f[h+16>>2]=0;a=f[20414]|0;c=1<>2]=h;f[h+24>>2]=d;f[h+12>>2]=h;f[h+8>>2]=h;return}a=e<<((b|0)==31?0:25-(b>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){b=69;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){b=68;break}else{a=a<<1;c=b}}if((b|0)==68){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;return}else if((b|0)==69){g=c+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]=c;f[h+24>>2]=0;return}}function Yi(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,t=0,v=0;v=u;u=u+32|0;s=v+4|0;h=v;p=a+8|0;c=f[p>>2]|0;q=a+4|0;d=f[q>>2]|0;e=c-d|0;t=a+16|0;b=f[t>>2]|0;if((((e|0)==0?0:(e<<7)+-1|0)-((f[a+20>>2]|0)+b)|0)>>>0>511){f[t>>2]=b+512;t=c+-4|0;f[s>>2]=f[t>>2];f[p>>2]=t;kt(a,s);u=v;return}o=a+12|0;b=f[a>>2]|0;c=(f[o>>2]|0)-b|0;if(e>>>0>>0){if((d|0)==(b|0)){r=VN(4096)|0;f[s>>2]=r;Kt(a,s);r=(f[p>>2]|0)+-4|0;f[s>>2]=f[r>>2];f[p>>2]=r;kt(a,s)}else{r=VN(4096)|0;f[s>>2]=r;mt(a,s)}if(((f[p>>2]|0)-(f[q>>2]|0)|0)==4)b=256;else b=(f[t>>2]|0)+512|0;f[t>>2]=b;u=v;return}b=c>>1;b=(b|0)==0?1:b;f[s+12>>2]=0;f[s+16>>2]=a+12;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);v=x;x=0;if(v&1){v=Ya()|0;bb(b|0);jb(v|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}m=VN(b<<2)|0;f[s>>2]=m;r=s+8|0;f[r>>2]=m;n=s+4|0;f[n>>2]=m;g=s+12|0;f[g>>2]=m+(b<<2);x=0;b=qa(318,4096)|0;m=x;x=0;a:do if(m&1)d=Ya()|0;else{f[h>>2]=b;x=0;Ga(676,s|0,h|0);m=x;x=0;if(m&1){d=Ya()|0;Hta(b);break}c=f[q>>2]|0;b=f[p>>2]|0;b:do if((c|0)==(b|0)){j=b;h=n;i=r;d=s;e=c;b=f[r>>2]|0}else{m=f[r>>2]|0;c:while(1){l=f[g>>2]|0;d=l;do if((m|0)==(l|0)){l=f[n>>2]|0;k=f[s>>2]|0;b=k;if(l>>>0>k>>>0){m=l;e=((m-b>>2)+1|0)/-2|0;h=l+(e<<2)|0;b=d-m|0;d=b>>2;if(!d)b=l;else{DP(h|0,l|0,b|0)|0;b=f[n>>2]|0}m=h+(d<<2)|0;f[r>>2]=m;f[n>>2]=b+(e<<2);b=m;break}b=d-b>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){c=28;break c}x=0;d=qa(318,b<<2|0)|0;j=x;x=0;if(j&1){c=37;break c}i=d;e=d+(b>>>2<<2)|0;j=e;h=d+(b<<2)|0;if((l|0)==(m|0))b=j;else{b=j;d=l;do{f[e>>2]=f[d>>2];e=b+4|0;b=e;d=d+4|0}while((d|0)!=(m|0))}f[s>>2]=i;f[n>>2]=j;f[r>>2]=b;f[g>>2]=h;if(k){Hta(k);b=f[r>>2]|0}}else b=m;while(0);f[b>>2]=f[c>>2];m=(f[r>>2]|0)+4|0;f[r>>2]=m;c=c+4|0;b=f[p>>2]|0;if((c|0)==(b|0)){c=19;break}}do if((c|0)==19){j=b;h=n;i=r;d=s;e=f[q>>2]|0;b=m;break b}else if((c|0)==28){b=Ta(8)|0;x=0;Ga(461,b|0,60050);v=x;x=0;if(v&1){v=Ya()|0;bb(b|0);b=v;break}else{f[b>>2]=29784;x=0;Ia(77,b|0,6192,412);x=0;b=Ya()|0;break}}else if((c|0)==37)b=Ya()|0;while(0);d=b;break a}while(0);c=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=c;s=f[h>>2]|0;f[q>>2]=s;f[h>>2]=e;f[p>>2]=b;f[i>>2]=j;q=f[o>>2]|0;f[o>>2]=f[g>>2];f[g>>2]=q;if((b-s|0)==4)b=256;else b=(f[t>>2]|0)+512|0;f[t>>2]=b;if((j|0)!=(e|0))f[r>>2]=j+(~((j+-4-e|0)>>>2)<<2);if(c|0)Hta(c);u=v;return}while(0);b=f[n>>2]|0;c=f[r>>2]|0;if((c|0)!=(b|0))f[r>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[s>>2]|0;if(!b)jb(d|0);Hta(b);jb(d|0)}function Zi(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;G=0;F=u;u=u+16|0;H=F;I=a+11|0;D=c+12|0;E=c+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;d=f[D>>2]|0;if((f[E>>2]|0)==(d|0)){u=F;return}w=c+48|0;y=H+11|0;p=H+4|0;z=H+11|0;q=H+4|0;A=H+11|0;r=H+4|0;B=H+11|0;s=H+4|0;C=H+11|0;t=H+4|0;v=H+8|0;e=0;k=0;l=0;m=0;n=0;o=0;c=d;while(1){d=c;d=d+(n*24|0)|0;g=f[d+12>>2]|0;c=k;k=f[d+16>>2]|0;h=l;l=f[d>>2]|0;i=m;m=f[d+4>>2]|0;j=o;o=f[d+8>>2]|0;if((g|0)==(e|0))if(!n)d=e;else{x=0;sa(991,a|0,52774)|0;g=x;x=0;if(g&1){G=16;break}else d=e}else if(g>>>0>e>>>0){e=g-e|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(e>>>0>4294967279){G=6;break}if(e>>>0<11){b[C>>0]=e;if(!e)c=H;else{c=H;G=11}}else{d=e+16&-16;x=0;c=qa(318,d|0)|0;G=x;x=0;if(G&1){G=17;break}f[H>>2]=c;f[v>>2]=d|-2147483648;f[t>>2]=e;G=11}if((G|0)==11){G=0;AD(c|0,59,e|0)|0}b[c+e>>0]=0;e=b[C>>0]|0;d=e<<24>>24<0;x=0;ta(41,a|0,(d?f[H>>2]|0:H)|0,(d?f[t>>2]|0:e&255)|0)|0;e=x;x=0;if(e&1){G=18;break}if((b[C>>0]|0)<0)Hta(f[H>>2]|0);d=g;c=0}else{d=e;c=0}x=0;Ia(158,H|0,w|0,k-c|0);g=x;x=0;if(g&1){G=40;break}g=b[y>>0]|0;e=g<<24>>24<0;x=0;ta(41,a|0,(e?f[H>>2]|0:H)|0,(e?f[p>>2]|0:g&255)|0)|0;g=x;x=0;if(g&1){G=41;break}if((b[y>>0]|0)<0)Hta(f[H>>2]|0);x=0;Ia(158,H|0,w|0,o-j|0);j=x;x=0;if(j&1){G=44;break}j=b[z>>0]|0;g=j<<24>>24<0;x=0;ta(41,a|0,(g?f[H>>2]|0:H)|0,(g?f[q>>2]|0:j&255)|0)|0;j=x;x=0;if(j&1){G=45;break}if((b[z>>0]|0)<0)Hta(f[H>>2]|0);x=0;Ia(158,H|0,w|0,l-h|0);j=x;x=0;if(j&1){G=48;break}j=b[A>>0]|0;h=j<<24>>24<0;x=0;ta(41,a|0,(h?f[H>>2]|0:H)|0,(h?f[r>>2]|0:j&255)|0)|0;j=x;x=0;if(j&1){G=49;break}if((b[A>>0]|0)<0)Hta(f[H>>2]|0);x=0;Ia(158,H|0,w|0,m-i|0);j=x;x=0;if(j&1){G=52;break}j=b[B>>0]|0;i=j<<24>>24<0;x=0;ta(41,a|0,(i?f[H>>2]|0:H)|0,(i?f[s>>2]|0:j&255)|0)|0;j=x;x=0;if(j&1){G=53;break}if((b[B>>0]|0)<0)Hta(f[H>>2]|0);n=n+1|0;c=f[D>>2]|0;if(n>>>0>=(((f[E>>2]|0)-c|0)/24|0)>>>0){G=59;break}else e=d}switch(G|0){case 6:{x=0;Fa(428,H|0);x=0;G=17;break}case 16:{c=Ya()|0;break}case 18:{c=Ya()|0;if((b[C>>0]|0)<0){Hta(f[H>>2]|0);G=20}else G=20;break}case 40:{c=Ya()|0;G=43;break}case 41:{c=Ya()|0;if((b[y>>0]|0)<0){Hta(f[H>>2]|0);G=43}else G=43;break}case 44:{c=Ya()|0;G=47;break}case 45:{c=Ya()|0;if((b[z>>0]|0)<0){Hta(f[H>>2]|0);G=47}else G=47;break}case 48:{c=Ya()|0;G=51;break}case 49:{c=Ya()|0;if((b[A>>0]|0)<0){Hta(f[H>>2]|0);G=51}else G=51;break}case 52:{c=Ya()|0;G=55;break}case 53:{c=Ya()|0;if((b[B>>0]|0)<0){Hta(f[H>>2]|0);G=55}else G=55;break}case 59:{u=F;return}}if((G|0)==17){c=Ya()|0;G=20}if((b[I>>0]|0)>=0)jb(c|0);Hta(f[a>>2]|0);jb(c|0)}function _i(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;q=0;n=u;u=u+112|0;p=n;g=n+72|0;s=n+60|0;r=n+48|0;o=n+40|0;j=g;k=e+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));ND(s,81592);x=0;Ga(511,r|0,c|0);m=x;x=0;if(m&1)c=Ya()|0;else{j=p;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(538,a|0,s|0);m=x;x=0;if(m&1){c=Ya()|0;k=I}else{f[a>>2]=16212;m=a+8|0;x=0;Ga(459,m|0,s|0);l=x;x=0;do if(l&1){c=Ya()|0;g=I}else{h=a+20|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=h+11|0;b[i>>0]=5;b[h>>0]=b[53005]|0;b[h+1>>0]=b[53006]|0;b[h+2>>0]=b[53007]|0;b[h+3>>0]=b[53008]|0;b[h+4>>0]=b[53009]|0;b[h+5>>0]=0;j=a+32|0;k=p;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,a+72|0,r|0);l=x;x=0;if(l&1){c=Ya()|0;g=I;if((b[i>>0]|0)<0)Hta(f[h>>2]|0);if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}c=f[r>>2]|0;if(c|0){i=r+4|0;g=f[i>>2]|0;if((g|0)!=(c|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);f[a>>2]=21140;f[a+84>>2]=d;f[a+88>>2]=e;x=0;sa(1032,m|0,53172)|0;s=x;x=0;a:do if(s&1)q=44;else{x=0;Ga(462,o|0,f[d+104>>2]|0);s=x;x=0;if(s&1)c=Ya()|0;else{f[o>>2]=7696;s=f[o+4>>2]|0;x=0;Ga(f[(f[s>>2]|0)+20>>2]|0,p|0,s|0);s=x;x=0;do if(s&1)c=Ya()|0;else{g=p+11|0;s=b[g>>0]|0;r=s<<24>>24<0;x=0;ta(41,m|0,(r?f[p>>2]|0:p)|0,(r?f[p+4>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){c=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[p>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[p>>2]|0);_P(o);x=0;sa(991,m|0,53187)|0;s=x;x=0;if(s&1){q=44;break a}x=0;Ga(f[(f[e>>2]|0)+20>>2]|0,p|0,e|0);s=x;x=0;do if(s&1)c=Ya()|0;else{g=p+11|0;s=b[g>>0]|0;r=s<<24>>24<0;x=0;ta(41,m|0,(r?f[p>>2]|0:p)|0,(r?f[p+4>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){c=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[p>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[p>>2]|0);x=0;sa(991,m|0,53197)|0;s=x;x=0;if(s&1){q=44;break a}u=n;return}while(0);break a}while(0);_P(o)}}while(0);if((q|0)==44)c=Ya()|0;PF(a);s=c;jb(s|0)}while(0);dfa(a);k=g}g=f[r>>2]|0;if(g){j=r+4|0;h=f[j>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(g|0));g=f[r>>2]|0}Hta(g)}}if((b[s+11>>0]|0)>=0){s=c;jb(s|0)}Hta(f[s>>2]|0);s=c;jb(s|0)}function $i(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,t=0,v=0,w=0,y=0,z=0;t=0;y=u;u=u+16|0;v=y;w=b_(i,83352)|0;r=b_(i,83360)|0;Lc[f[(f[r>>2]|0)+20>>2]&1023](v,r);f[h>>2]=e;i=b[a>>0]|0;switch(i<<24>>24){case 43:case 45:{x=0;i=sa(f[(f[w>>2]|0)+44>>2]|0,w|0,i|0)|0;s=x;x=0;if(!(s&1)){l=f[h>>2]|0;f[h>>2]=l+4;f[l>>2]=i;l=a+1|0;t=4}break}default:{l=a;t=4}}a:do if((t|0)==4){s=d;b:do if((s-l|0)>1)if((b[l>>0]|0)==48){j=l+1|0;switch(b[j>>0]|0){case 88:case 120:break;default:{j=l;t=15;break b}}x=0;i=sa(f[(f[w>>2]|0)+44>>2]|0,w|0,48)|0;q=x;x=0;if(q&1)break a;q=f[h>>2]|0;f[h>>2]=q+4;f[q>>2]=i;l=l+2|0;x=0;i=sa(f[(f[w>>2]|0)+44>>2]|0,w|0,b[j>>0]|0)|0;q=x;x=0;if(q&1)break a;j=f[h>>2]|0;f[h>>2]=j+4;f[j>>2]=i;j=l;while(1){if(j>>>0>=d>>>0)break b;i=b[j>>0]|0;x=0;k=la(3)|0;q=x;x=0;if(q&1)break a;x=0;i=sa(1057,i<<24>>24|0,k|0)|0;q=x;x=0;if(q&1)break a;if(!i)break b;j=j+1|0}}else{j=l;t=15}else{j=l;t=15}while(0);c:do if((t|0)==15)while(1){t=0;if(j>>>0>=d>>>0)break c;i=b[j>>0]|0;x=0;k=la(3)|0;q=x;x=0;if(q&1)break a;x=0;i=sa(1058,i<<24>>24|0,k|0)|0;q=x;x=0;if(q&1)break a;if(!i)break c;j=j+1|0;t=15}while(0);p=v+11|0;o=b[p>>0]|0;q=v+4|0;d:do if(!((o<<24>>24<0?f[q>>2]|0:o&255)|0)){x=0;ua(f[(f[w>>2]|0)+48>>2]|0,w|0,l|0,j|0,f[h>>2]|0)|0;q=x;x=0;if(q&1)break a;i=(f[h>>2]|0)+(j-l<<2)|0;f[h>>2]=i;k=w}else{e:do if((l|0)!=(j|0)){i=j;k=l;while(1){i=i+-1|0;if(k>>>0>=i>>>0)break e;o=b[k>>0]|0;b[k>>0]=b[i>>0]|0;b[i>>0]=o;k=k+1|0}}while(0);x=0;o=qa(f[(f[r>>2]|0)+16>>2]|0,r|0)|0;n=x;x=0;if(n&1)break a;n=l;i=0;k=0;while(1){if(n>>>0>=j>>>0)break;m=b[((b[p>>0]|0)<0?f[v>>2]|0:v)+i>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=f[h>>2]|0;f[h>>2]=k+4;f[k>>2]=o;k=b[p>>0]|0;i=i+(i>>>0<((k<<24>>24<0?f[q>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}x=0;m=sa(f[(f[w>>2]|0)+44>>2]|0,w|0,b[n>>0]|0)|0;z=x;x=0;if(z&1)break a;z=f[h>>2]|0;f[h>>2]=z+4;f[z>>2]=m;n=n+1|0;k=k+1|0}i=e+(l-a<<2)|0;l=f[h>>2]|0;if((i|0)==(l|0))k=w;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=w;i=l;break d}z=f[i>>2]|0;f[i>>2]=f[k>>2];f[k>>2]=z;i=i+4|0}}}while(0);while(1){if(j>>>0>=d>>>0)break;i=b[j>>0]|0;if(i<<24>>24==46){t=39;break}x=0;i=sa(f[(f[k>>2]|0)+44>>2]|0,w|0,i|0)|0;z=x;x=0;if(z&1)break a;q=f[h>>2]|0;z=q+4|0;f[h>>2]=z;f[q>>2]=i;j=j+1|0;i=z}if((t|0)==39){x=0;i=qa(f[(f[r>>2]|0)+12>>2]|0,r|0)|0;z=x;x=0;if(z&1)break;t=f[h>>2]|0;z=t+4|0;f[h>>2]=z;f[t>>2]=i;j=j+1|0;i=z}x=0;ua(f[(f[w>>2]|0)+48>>2]|0,w|0,j|0,d|0,i|0)|0;z=x;x=0;if(!(z&1)){z=(f[h>>2]|0)+(s-j<<2)|0;f[h>>2]=z;f[g>>2]=(c|0)==(d|0)?z:e+(c-a<<2)|0;Aaa(v);u=y;return}}while(0);z=Ya()|0;Aaa(v);jb(z|0)}function aj(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;n=u;u=u+112|0;l=n+72|0;o=n+56|0;m=n+32|0;k=n+44|0;i=n+20|0;e=n;j=n+8|0;x=0;Ea(3);x=0;g=$a(2528,2544,2560,0)|0;d=I;if((d|0)==(Sb(2528)|0)){d=cb(g|0)|0;f[e>>2]=16684;f[e+4>>2]=f[d+4>>2];Ua(g|0)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;d=qa(318,32)|0;m=x;x=0;if(m&1)d=Ya()|0;else{f[o>>2]=d;f[o+8>>2]=-2147483616;f[o+4>>2]=24;e=d;g=39831;h=e+24|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+24>>0]=0;x=0;Ga(459,j|0,o|0);m=x;x=0;do if(m&1)d=Ya()|0;else{x=0;e=l;g=a;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ia(100,j|0,l|0,c|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);Wa();u=n;return}while(0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}o=d;jb(o|0)}if((d|0)==(Sb(2544)|0)){cb(g|0)|0;f[m>>2]=16704;Ua(g|0)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;d=qa(318,32)|0;m=x;x=0;if(m&1)d=Ya()|0;else{f[o>>2]=d;f[o+8>>2]=-2147483616;f[o+4>>2]=21;e=d;g=39856;h=e+21|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+21>>0]=0;x=0;Ga(459,i|0,o|0);m=x;x=0;do if(m&1)d=Ya()|0;else{x=0;e=l;g=a;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ia(100,i|0,l|0,c|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[i+11>>0]|0)>=0)break;Hta(f[i>>2]|0);break}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);Wa();u=n;return}while(0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}o=d;jb(o|0)}if((d|0)!=(Sb(2560)|0)){Ua(g|0)|0;x=0;Ea(3);x=0;d=Ya()|0;x=0;Ea(4);j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}else{o=d;jb(o|0)}}d=cb(g|0)|0;f[o>>2]=16724;b[o+4>>0]=b[d+4>>0]|0;Ua(g|0)|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,32)|0;o=x;x=0;if(o&1)d=Ya()|0;else{f[m>>2]=d;f[m+8>>2]=-2147483616;f[m+4>>2]=18;e=d;g=39878;h=e+18|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+18>>0]=0;x=0;Ga(459,k|0,m|0);o=x;x=0;do if(o&1)d=Ya()|0;else{x=0;e=l;g=a;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ia(100,k|0,l|0,c|0);o=x;x=0;if(o&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);Wa();u=n;return}while(0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}x=0;Ea(4);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}o=d;jb(o|0)}function bj(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=u;u=u+64|0;l=o+48|0;e=o;m=o+40|0;n=a+76|0;h=f[n>>2]|0;g=b[h>>0]|0;if(!(g<<24>>24)){n=0;u=o;return n|0}if(c){g=VX(h)|0;g=g|0?g:h;h=g;g=b[g>>0]|0}if(g<<24>>24==92){g=$ma(h+1|0)|0;if(!g)k=6;else k=21}else k=6;a:do if((k|0)==6){b:do if(h|0){c=b[48530]|0;c:do if(!(c<<24>>24)){g=h;k=10}else{g=h;i=48530;while(1){if((b[g>>0]|0)!=c<<24>>24)break c;g=g+1|0;i=i+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){k=10;break}}}while(0);if((k|0)==10)if((b[g>>0]|0)==40)break;i=b[h>>0]|0;if(!(i<<24>>24)){i=0;k=40;break a}g=b[36374]|0;if(g<<24>>24){c=36374;do{if(i<<24>>24==g<<24>>24)break b;c=c+1|0;g=b[c>>0]|0}while(g<<24>>24!=0)}g=h+1|0;k=21;break a}while(0);g=h+1|0;switch(b[h>>0]|0){case 47:{j=b[g>>0]|0;k=h+2|0;if(!((j<<24>>24!=47?(j<<24>>24==42?k:0):k)|0)){k=21;break a}else{i=0;k=40;break a}}case 92:{c=h+2|0;if((b[g>>0]|0)!=35){i=0;k=40;break a}g=b[c>>0]|0;if(g<<24>>24==123){i=0;k=40;break a}else{k=22;break a}}case 33:if(!(Ufa(g)|0)){k=21;break a}else{i=0;k=40;break a}default:{i=0;k=40;break a}}}while(0);d:while(1)if((k|0)==21){c=g;g=b[g>>0]|0;k=22;continue}else if((k|0)==22){k=0;if(g<<24>>24==92){g=$ma(c+1|0)|0;if(g|0){k=21;continue}}e:do if(!c)k=34;else{i=b[48530]|0;f:do if(!(i<<24>>24)){g=c;k=28}else{g=c;j=48530;while(1){if((b[g>>0]|0)!=i<<24>>24)break f;g=g+1|0;j=j+1|0;i=b[j>>0]|0;if(!(i<<24>>24)){k=28;break}}}while(0);if((k|0)==28){k=0;if((b[g>>0]|0)==40){k=34;break}}j=b[c>>0]|0;if(j<<24>>24){g=b[36374]|0;if(g<<24>>24){i=36374;do{if(j<<24>>24==g<<24>>24){k=34;break e}i=i+1|0;g=b[i>>0]|0}while(g<<24>>24!=0)}g=c+1|0;k=21;continue d}}while(0);g:do if((k|0)==34){g=c+1|0;switch(b[c>>0]|0){case 47:{j=b[g>>0]|0;k=c+2|0;if(!((j<<24>>24!=47?(j<<24>>24==42?k:0):k)|0)){k=21;continue d}else break g}case 92:{i=c+2|0;if((b[g>>0]|0)!=35)break g;if((b[i>>0]|0)==123)break g;else{g=i;k=21;continue d}}case 33:if(!(Ufa(g)|0)){k=21;continue d}else break g;default:break g}}while(0);if(c>>>0>(f[a+80>>2]|0)>>>0){e=0;k=43;break}else{i=c;k=40;continue}}else if((k|0)==40){k=0;if(d)break;else{k=41;break}}if((k|0)==43){u=o;return e|0}if((k|0)==41)if((i|0)==0|(i|0)==(h|0)){n=0;u=o;return n|0}c=f[n>>2]|0;f[a+168>>2]=c;f[a+172>>2]=h;f[a+176>>2]=i;k=a+96|0;vG(l,k,c,h);c=a+84|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];vG(l,k,h,i);d=f[a+12>>2]|0;g=f[a+72>>2]|0;PQ(m,k,c);f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];UI(e,d,g,a+168|0,c,l);c=a+108|0;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));f[n>>2]=i;n=i;u=o;return n|0}function cj(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;i=0;m=u;u=u+32|0;n=m+24|0;o=m+16|0;l=m;if(vc[f[(f[c>>2]|0)+76>>2]&511](c)|0){u=m;return}qV(n,f[c+76>>2]|0);f[n>>2]=12372;x=0;Ga(462,o|0,f[c+68>>2]|0);k=x;x=0;if(k&1){o=Ya()|0;_P(n);jb(o|0)}f[o>>2]=7280;k=a+4|0;x=0;d=qa(399,k|0)|0;j=x;x=0;a:do if(j&1)i=9;else{x=0;d=sa(1022,c|0,d|0)|0;j=x;x=0;if(j&1)i=9;else{b:do if(d){x=0;d=qa(399,k|0)|0;j=x;x=0;if(j&1){i=9;break a}if(!d){j=a+76|0;f[j>>2]=(f[j>>2]|0)+(f[c+56>>2]|0)}x=0;Fa(456,k|0);j=x;x=0;if(j&1){i=9;break a}f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=l+11|0;b[h>>0]=9;d=l;e=49981;g=d+9|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[l+9>>0]=0;x=0;Ia(147,k|0,l|0,c|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[h>>0]|0)<0)Hta(f[l>>2]|0);break a}if((b[h>>0]|0)<0)Hta(f[l>>2]|0);x=0;Fa(458,k|0);j=x;x=0;if(j&1){i=9;break a}j=f[n+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(j&1){i=9;break a}x=0;Ga(683,k|0,0);j=x;x=0;if(j&1){i=9;break a}j=o+4|0;e=f[j>>2]|0;g=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;c:do if(g|0){h=l+4|0;i=g+-1|0;d=0;while(1){e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;p=x;x=0;if(p&1){i=41;break}x=0;Ga(462,l|0,f[e+4>>2]|0);p=x;x=0;if(p&1){i=41;break}f[l>>2]=6920;p=f[h>>2]|0;x=0;Ga(f[(f[p>>2]|0)+44>>2]|0,p|0,a|0);p=x;x=0;if(p&1){i=42;break}if(d>>>0>>0){x=0;Fa(459,k|0);p=x;x=0;if(p&1){i=42;break}}_P(l);d=d+1|0;if(d>>>0>=g>>>0)break c;e=f[j>>2]|0}if((i|0)==41)d=Ya()|0;else if((i|0)==42){d=Ya()|0;_P(l)}break a}while(0);x=0;d=qa(399,k|0)|0;p=x;x=0;if(p&1){i=9;break a}if(!d){p=a+76|0;f[p>>2]=(f[p>>2]|0)-(f[c+56>>2]|0)}x=0;Ga(684,k|0,0);p=x;x=0;if(p&1){i=9;break a}}else{g=o+4|0;e=f[g>>2]|0;h=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;if(h|0){i=l+4|0;d=0;while(1){e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;p=x;x=0;if(p&1){i=15;break}x=0;Ga(462,l|0,f[e+4>>2]|0);p=x;x=0;if(p&1){i=15;break}f[l>>2]=6920;x=0;e=qa(346,f[i>>2]|0)|0;p=x;x=0;if(p&1){i=16;break}if(e|0){p=f[i>>2]|0;x=0;Ga(f[(f[p>>2]|0)+44>>2]|0,p|0,a|0);p=x;x=0;if(p&1){i=16;break}}_P(l);d=d+1|0;if(d>>>0>=h>>>0)break b;e=f[g>>2]|0}if((i|0)==15)d=Ya()|0;else if((i|0)==16){d=Ya()|0;_P(l)}break a}}while(0);_P(o);_P(n);u=m;return}}while(0);if((i|0)==9)d=Ya()|0;_P(o);p=d;_P(n);jb(p|0)}function dj(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,t=0,v=0;v=u;u=u+32|0;s=v+4|0;h=v;p=a+8|0;c=f[p>>2]|0;q=a+4|0;d=f[q>>2]|0;e=c-d|0;r=e>>2;t=a+16|0;b=f[t>>2]|0;if((((r|0)==0?0:(r*146|0)+-1|0)-((f[a+20>>2]|0)+b)|0)>>>0>145){f[t>>2]=b+146;t=c+-4|0;f[s>>2]=f[t>>2];f[p>>2]=t;Bt(a,s);u=v;return}o=a+12|0;b=f[a>>2]|0;c=(f[o>>2]|0)-b|0;if(e>>>0>>0){if((d|0)==(b|0)){r=VN(4088)|0;f[s>>2]=r;Yt(a,s);r=(f[p>>2]|0)+-4|0;f[s>>2]=f[r>>2];f[p>>2]=r;Bt(a,s)}else{r=VN(4088)|0;f[s>>2]=r;Ct(a,s)}if(((f[p>>2]|0)-(f[q>>2]|0)|0)==4)b=73;else b=(f[t>>2]|0)+146|0;f[t>>2]=b;u=v;return}b=c>>1;b=(b|0)==0?1:b;f[s+12>>2]=0;f[s+16>>2]=a+12;if(b>>>0>1073741823){b=Ta(8)|0;x=0;Ga(461,b|0,60050);v=x;x=0;if(v&1){v=Ya()|0;bb(b|0);jb(v|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}m=VN(b<<2)|0;f[s>>2]=m;r=s+8|0;f[r>>2]=m;n=s+4|0;f[n>>2]=m;g=s+12|0;f[g>>2]=m+(b<<2);x=0;b=qa(318,4088)|0;m=x;x=0;a:do if(m&1)d=Ya()|0;else{f[h>>2]=b;x=0;Ga(517,s|0,h|0);m=x;x=0;if(m&1){d=Ya()|0;Hta(b);break}c=f[q>>2]|0;b=f[p>>2]|0;b:do if((c|0)==(b|0)){j=b;h=n;i=r;d=s;e=c;b=f[r>>2]|0}else{m=f[r>>2]|0;c:while(1){l=f[g>>2]|0;d=l;do if((m|0)==(l|0)){l=f[n>>2]|0;k=f[s>>2]|0;b=k;if(l>>>0>k>>>0){m=l;e=((m-b>>2)+1|0)/-2|0;h=l+(e<<2)|0;b=d-m|0;d=b>>2;if(!d)b=l;else{DP(h|0,l|0,b|0)|0;b=f[n>>2]|0}m=h+(d<<2)|0;f[r>>2]=m;f[n>>2]=b+(e<<2);b=m;break}b=d-b>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){c=28;break c}x=0;d=qa(318,b<<2|0)|0;j=x;x=0;if(j&1){c=37;break c}i=d;e=d+(b>>>2<<2)|0;j=e;h=d+(b<<2)|0;if((l|0)==(m|0))b=j;else{b=j;d=l;do{f[e>>2]=f[d>>2];e=b+4|0;b=e;d=d+4|0}while((d|0)!=(m|0))}f[s>>2]=i;f[n>>2]=j;f[r>>2]=b;f[g>>2]=h;if(k){Hta(k);b=f[r>>2]|0}}else b=m;while(0);f[b>>2]=f[c>>2];m=(f[r>>2]|0)+4|0;f[r>>2]=m;c=c+4|0;b=f[p>>2]|0;if((c|0)==(b|0)){c=19;break}}do if((c|0)==19){j=b;h=n;i=r;d=s;e=f[q>>2]|0;b=m;break b}else if((c|0)==28){b=Ta(8)|0;x=0;Ga(461,b|0,60050);v=x;x=0;if(v&1){v=Ya()|0;bb(b|0);b=v;break}else{f[b>>2]=29784;x=0;Ia(77,b|0,6192,412);x=0;b=Ya()|0;break}}else if((c|0)==37)b=Ya()|0;while(0);d=b;break a}while(0);c=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=c;s=f[h>>2]|0;f[q>>2]=s;f[h>>2]=e;f[p>>2]=b;f[i>>2]=j;q=f[o>>2]|0;f[o>>2]=f[g>>2];f[g>>2]=q;if((b-s|0)==4)b=73;else b=(f[t>>2]|0)+146|0;f[t>>2]=b;if((j|0)!=(e|0))f[r>>2]=j+(~((j+-4-e|0)>>>2)<<2);if(c|0)Hta(c);u=v;return}while(0);b=f[n>>2]|0;c=f[r>>2]|0;if((c|0)!=(b|0))f[r>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[s>>2]|0;if(!b)jb(d|0);Hta(b);jb(d|0)}function ej(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=0;y=a+4|0;i=f[y>>2]|0;x=a+100|0;if(i>>>0<(f[x>>2]|0)>>>0){f[y>>2]=i+1;j=h[i>>0]|0;l=0}else{j=ID(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;g=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=f[y>>2]|0;if(i>>>0<(f[x>>2]|0)>>>0){f[y>>2]=i+1;j=h[i>>0]|0;l=1;continue}else{j=ID(a)|0;l=1;continue}}if((w|0)==8){i=f[y>>2]|0;if(i>>>0<(f[x>>2]|0)>>>0){f[y>>2]=i+1;j=h[i>>0]|0}else j=ID(a)|0;if((j|0)==48){l=0;j=0;do{i=f[y>>2]|0;if(i>>>0<(f[x>>2]|0)>>>0){f[y>>2]=i+1;m=h[i>>0]|0}else m=ID(a)|0;l=w7(l|0,j|0,-1,-1)|0;j=I}while((m|0)==48);s=1;n=0;o=1.0;g=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;g=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0<10)w=20;else{r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if((v|0)<0|(v|0)==0&u>>>0<8){k=o;i=m+(i<<4)|0}else if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;g=g+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;g=t?g:g+o*.5;break}while(0);q=w7(u|0,v|0,1,0)|0;r=1;p=I}m=f[y>>2]|0;if(m>>>0<(f[x>>2]|0)>>>0){f[y>>2]=m+1;o=k;m=h[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=ID(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(f[x>>2]|0)==0;if(!i)f[y>>2]=(f[y>>2]|0)+-1;if(!e)PR(a,0);else{if(!i)f[y>>2]=(f[y>>2]|0)+-1;if(!((s|0)==0|i))f[y>>2]=(f[y>>2]|0)+-1}g=+(d|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=w7(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=I}}else n=i;if((m|32|0)==112){j=as(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){PR(a,0);g=0.0;break}if(!(f[x>>2]|0)){j=0;i=0}else{f[y>>2]=(f[y>>2]|0)+-1;j=0;i=0}}}else if(!(f[x>>2]|0)){j=0;i=0}else{f[y>>2]=(f[y>>2]|0)+-1;j=0;i=0}l=IW(q|0,p|0,2)|0;l=w7(l|0,I|0,-32,-1)|0;l=w7(l|0,I|0,j|0,i|0)|0;i=I;if(!n){g=+(d|0)*0.0;break}y=0-c|0;e=((y|0)<0)<<31>>31;if((i|0)>(e|0)|(i|0)==(e|0)&l>>>0>y>>>0){b=bua()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=c+-106|0;e=((y|0)<0)<<31>>31;if((i|0)<(e|0)|(i|0)==(e|0)&l>>>0>>0){b=bua()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(g>=.5);j=j<<1|(y^1)&1;g=g+(y?g:g+-1.0);l=w7(l|0,i|0,-1,-1)|0;i=I}while((j|0)>-1);o=g;m=j}else{o=g;m=n}y=((b|0)<0)<<31>>31;c=AY(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=w7(c|0,I|0,l|0,i|0)|0;c=I;if((c|0)<(y|0)|(c|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;g=+(d|0)}if((w|0)==61){g=+(d|0);k=+Hra(+UH(1.0,i),g);i=j}d=(m&1|0)==0&(o!=0.0&(i|0)<32);g=(d?0.0:o)*g+(k+g*+((m+(d&1)|0)>>>0))-k;if(!(g!=0.0)){d=bua()|0;f[d>>2]=34}g=+Mra(g,l)}while(0);return +g}function fj(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;n=0;i=u;u=u+240|0;j=i+200|0;q=i+16|0;h=i+160|0;k=i;p=q+64|0;a=q+8|0;f[a>>2]=16496;o=q+12|0;f[q>>2]=2284;f[p>>2]=2304;f[q+4>>2]=0;x=0;Ga(531,q+64|0,o|0);m=x;x=0;if(m&1){q=Ya()|0;uma(p);jb(q|0)}f[q+136>>2]=0;f[q+140>>2]=-1;f[q>>2]=16476;f[p>>2]=16516;f[a>>2]=16496;x=0;Fa(437,o|0);m=x;x=0;do if(m&1)a=Ya()|0;else{f[o>>2]=16336;m=q+44|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[q+60>>2]=24;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;Ga(532,o|0,j|0);l=x;x=0;if(l&1){a=Ya()|0;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);Bca(o);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);d=f[21936]|0;e=((d+1|0)>>>0)%624|0;a=85248+(d<<2)|0;c=85248+(e<<2)|0;l=f[c>>2]|0;f[a>>2]=0-(l&1)&-1727483681^f[85248+((((d+397|0)>>>0)%624|0)<<2)>>2]^(l&2147483646|f[a>>2]&-2147483648)>>>1;a=f[85248+(f[21936]<<2)>>2]|0;a=a>>>11^a;f[21936]=e;a=a<<7&-1658038656^a;a=a<<15&-272236544^a;l=((e+1|0)>>>0)%624|0;d=f[85248+(l<<2)>>2]|0;f[c>>2]=0-(d&1)&-1727483681^f[85248+((((e+397|0)>>>0)%624|0)<<2)>>2]^(d&2147483646|f[c>>2]&-2147483648)>>>1;c=f[85248+(f[21936]<<2)>>2]|0;c=c>>>11^c;f[21936]=l;c=c<<7&-1658038656^c;c=c<<15&-272236544^c;l=q+8|0;x=0;d=ta(44,l|0,41518,1)|0;e=x;x=0;do if(e&1)n=25;else{f[d+(f[(f[d>>2]|0)+-12>>2]|0)+76>>2]=48;f[d+(f[(f[d>>2]|0)+-12>>2]|0)+12>>2]=8;e=d+(f[(f[d>>2]|0)+-12>>2]|0)+4|0;f[e>>2]=f[e>>2]&-75|8;x=0;sa(993,d|0,~~((+((c>>>18^c)>>>0)*4294967296.0+ +((a>>>18^a)>>>0))*5.421010862427522e-20*4294967296.0+0.0)>>>0|0)|0;e=x;x=0;if(e&1){a=Ya()|0;break}x=0;e=qa(318,80)|0;d=x;x=0;if(d&1)n=25;else{d=h;a=g;c=d+40|0;do{f[d>>2]=f[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));x=0;Ga(533,k|0,o|0);g=x;x=0;do if(g&1)a=Ya()|0;else{x=0;d=j;a=h;c=d+40|0;do{f[d>>2]=f[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));Na(1,e|0,j|0,k|0,0,0,0,1,1);g=x;x=0;if(g&1){a=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);f[q>>2]=16476;f[p>>2]=16516;f[l>>2]=16496;f[o>>2]=16336;if((b[m+11>>0]|0)>=0){Bca(o);KU(q,16528);uma(p);u=i;return e|0}Hta(f[m>>2]|0);Bca(o);KU(q,16528);uma(p);u=i;return e|0}while(0);Hta(e)}}while(0);if((n|0)==25)a=Ya()|0;f[q>>2]=16476;f[p>>2]=16516;f[l>>2]=16496;f[o>>2]=16336;if((b[m+11>>0]|0)>=0){Bca(o);KU(q,16528);uma(p);jb(a|0)}Hta(f[m>>2]|0);Bca(o);KU(q,16528);uma(p);jb(a|0)}while(0);KU(q,16528);q=a;uma(p);jb(q|0);return 0}function gj(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;e=u;u=u+112|0;o=e;j=e+88|0;p=e+76|0;k=e+64|0;q=e+52|0;if(!c){u=e;return}d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[249]|0)==(d|0)){g=a+16|0;i=j+11|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=o;m=c+12|0;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));h=o+40|0;x=0;Ga(459,h|0,j|0);q=x;x=0;a:do if(q&1)d=Ya()|0;else{d=a+20|0;e=f[d>>2]|0;do if(e>>>0<(f[a+24>>2]|0)>>>0){l=e;m=o;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));q=e+40|0;f[q>>2]=f[h>>2];f[q+4>>2]=f[h+4>>2];f[q+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,g|0,o|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break a;Hta(f[h>>2]|0);break a}else{if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}while(0);if((b[i>>0]|0)<0)Hta(f[j>>2]|0);l=Ta(88)|0;x=0;Ga(511,p|0,g|0);q=x;x=0;do if(q&1)d=Ya()|0;else{x=0;Ia(133,l|0,p|0,c|0);q=x;x=0;if(q&1)k=1;else{x=0;Ia(77,l|0,3856,181);x=0;k=0}d=Ya()|0;i=I;e=f[p>>2]|0;if(!e){if(k)break;jb(d|0)}j=p+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[p>>2]|0}Hta(e);if(!k){q=d;jb(q|0)}}while(0);bb(l|0);q=d;jb(q|0)}while(0);if((b[i>>0]|0)<0)Hta(f[j>>2]|0);q=d;jb(q|0)}if((f[49]|0)!=(d|0)){u=e;return}if(AU(c+60|0)|0){u=e;return}g=a+16|0;i=k+11|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;l=o;m=c+12|0;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));h=o+40|0;x=0;Ga(459,h|0,k|0);p=x;x=0;b:do if(p&1)d=Ya()|0;else{d=a+20|0;e=f[d>>2]|0;do if(e>>>0<(f[a+24>>2]|0)>>>0){l=e;m=o;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));p=e+40|0;f[p>>2]=f[h>>2];f[p+4>>2]=f[h+4>>2];f[p+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,g|0,o|0);p=x;x=0;if(p&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break b;Hta(f[h>>2]|0);break b}else{if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}while(0);if((b[i>>0]|0)<0)Hta(f[k>>2]|0);l=Ta(88)|0;x=0;Ga(511,q|0,g|0);p=x;x=0;do if(p&1)d=Ya()|0;else{x=0;Ia(133,l|0,q|0,c|0);p=x;x=0;if(p&1)k=1;else{x=0;Ia(77,l|0,3856,181);x=0;k=0}d=Ya()|0;i=I;e=f[q>>2]|0;if(!e){if(k)break;jb(d|0)}j=q+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[q>>2]|0}Hta(e);if(!k){q=d;jb(q|0)}}while(0);bb(l|0);q=d;jb(q|0)}while(0);if((b[i>>0]|0)<0)Hta(f[k>>2]|0);q=d;jb(q|0)}function hj(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,t=0,v=0;s=u;u=u+48|0;t=s+28|0;r=s+16|0;q=s+8|0;p=s;o=a+20|0;i=f[o>>2]|0;n=b+20|0;e=f[n>>2]|0;f[r>>2]=0;j=r+4|0;f[j>>2]=0;f[r+8>>2]=0;do if(e|0){if(e>>>0>1073741823){x=0;Fa(426,r|0);x=0}else{g=e<<2;x=0;h=qa(318,g|0)|0;m=x;x=0;if(!(m&1)){f[r>>2]=h;m=h+(e<<2)|0;f[r+8>>2]=m;AD(h|0,0,g|0)|0;f[j>>2]=m;break}}h=Ya()|0;e=f[r>>2]|0;if(!e)jb(h|0);g=f[j>>2]|0;if((g|0)!=(e|0))f[j>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e);jb(h|0)}while(0);x=0;Ia(145,t|0,i|0,r|0);m=x;x=0;if(m&1){h=Ya()|0;e=f[r>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0))f[j>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}t=h;jb(t|0)}e=f[r>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0))f[j>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}g=f[o>>2]|0;a:do if(g>>>0>1){m=a+16|0;k=a+4|0;l=b+16|0;j=b+4|0;b=1;e=f[n>>2]|0;b:while(1){if(e>>>0>1){a=b+-1|0;i=1;do{x=0;Ga(462,r|0,0);h=x;x=0;if(h&1){h=35;break b}f[r>>2]=15556;h=(f[m>>2]|0)+b|0;x=0;Ga(462,q|0,f[(f[(f[k>>2]|0)+(h>>>9<<2)>>2]|0)+((h&511)<<3)+4>>2]|0);h=x;x=0;if(h&1){h=36;break b}f[q>>2]=15556;h=(f[l>>2]|0)+i|0;x=0;Ga(462,p|0,f[(f[(f[j>>2]|0)+(h>>>9<<2)>>2]|0)+((h&511)<<3)+4>>2]|0);h=x;x=0;if(h&1){h=37;break b}f[p>>2]=15556;x=0;g=ua(18,c|0,q|0,p|0,r|0)|0;h=x;x=0;if(h&1){h=38;break b}_P(p);_P(q);h=f[t>>2]|0;e=i+-1|0;if(g){g=(f[(f[h+(a*12|0)>>2]|0)+(e<<2)>>2]|0)+1|0;e=f[h+(b*12|0)>>2]|0}else{v=f[h+(b*12|0)>>2]|0;g=f[v+(e<<2)>>2]|0;e=f[(f[h+(a*12|0)>>2]|0)+(i<<2)>>2]|0;g=(g|0)<(e|0)?e:g;e=v}f[e+(i<<2)>>2]=g;_P(r);i=i+1|0;e=f[n>>2]|0}while(i>>>0>>0);g=f[o>>2]|0}b=b+1|0;if(b>>>0>=g>>>0){h=20;break a}}if((h|0)==35){g=Ya()|0;e=I}else if((h|0)==36){g=Ya()|0;e=I;h=42}else if((h|0)==37){g=Ya()|0;e=I;h=39}else if((h|0)==38){g=Ya()|0;e=I;_P(p);h=39}if((h|0)==39){_P(q);h=42}if((h|0)==42)_P(r);j=e;e=t}else h=20;while(0);do if((h|0)==20){if((t|0)!=(d|0)){x=0;Ia(146,d|0,f[t>>2]|0,f[t+4>>2]|0);v=x;x=0;if(v&1){g=Ya()|0;j=I;e=t;break}}e=f[t>>2]|0;if(!e){u=s;return}a=t+4|0;g=f[a>>2]|0;if((g|0)!=(e|0)){do{h=g+-12|0;f[a>>2]=h;i=f[h>>2]|0;if(!i)g=h;else{g=g+-8|0;h=f[g>>2]|0;if((h|0)!=(i|0))f[g>>2]=h+(~((h+-4-i|0)>>>2)<<2);Hta(i);g=f[a>>2]|0}}while((g|0)!=(e|0));e=f[t>>2]|0}Hta(e);u=s;return}while(0);e=f[e>>2]|0;if(!e){v=g;jb(v|0)}b=t+4|0;h=f[b>>2]|0;if((h|0)!=(e|0)){do{i=h+-12|0;f[b>>2]=i;a=f[i>>2]|0;if(!a)h=i;else{h=h+-8|0;i=f[h>>2]|0;if((i|0)!=(a|0))f[h>>2]=i+(~((i+-4-a|0)>>>2)<<2);Hta(a);h=f[b>>2]|0}}while((h|0)!=(e|0));e=f[t>>2]|0}Hta(e);v=g;jb(v|0)}function ij(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,t=0,v=0,w=0,y=0,z=0;t=0;y=u;u=u+16|0;v=y;w=b_(i,83320)|0;s=b_(i,83336)|0;Lc[f[(f[s>>2]|0)+20>>2]&1023](v,s);f[h>>2]=e;i=b[a>>0]|0;switch(i<<24>>24){case 43:case 45:{x=0;i=sa(f[(f[w>>2]|0)+28>>2]|0,w|0,i|0)|0;r=x;x=0;if(!(r&1)){l=f[h>>2]|0;f[h>>2]=l+1;b[l>>0]=i;l=a+1|0;t=4}break}default:{l=a;t=4}}a:do if((t|0)==4){r=d;b:do if((r-l|0)>1)if((b[l>>0]|0)==48){j=l+1|0;switch(b[j>>0]|0){case 88:case 120:break;default:{i=l;t=15;break b}}x=0;i=sa(f[(f[w>>2]|0)+28>>2]|0,w|0,48)|0;q=x;x=0;if(q&1)break a;q=f[h>>2]|0;f[h>>2]=q+1;b[q>>0]=i;l=l+2|0;x=0;i=sa(f[(f[w>>2]|0)+28>>2]|0,w|0,b[j>>0]|0)|0;q=x;x=0;if(q&1)break a;q=f[h>>2]|0;f[h>>2]=q+1;b[q>>0]=i;i=l;while(1){if(i>>>0>=d>>>0)break b;j=b[i>>0]|0;x=0;k=la(3)|0;q=x;x=0;if(q&1)break a;x=0;j=sa(1057,j<<24>>24|0,k|0)|0;q=x;x=0;if(q&1)break a;if(!j)break b;i=i+1|0}}else{i=l;t=15}else{i=l;t=15}while(0);c:do if((t|0)==15)while(1){t=0;if(i>>>0>=d>>>0)break c;j=b[i>>0]|0;x=0;k=la(3)|0;q=x;x=0;if(q&1)break a;x=0;j=sa(1058,j<<24>>24|0,k|0)|0;q=x;x=0;if(q&1)break a;if(!j)break c;i=i+1|0;t=15}while(0);p=v+11|0;o=b[p>>0]|0;q=v+4|0;d:do if(!((o<<24>>24<0?f[q>>2]|0:o&255)|0)){x=0;ua(f[(f[w>>2]|0)+32>>2]|0,w|0,l|0,i|0,f[h>>2]|0)|0;q=x;x=0;if(q&1)break a;f[h>>2]=(f[h>>2]|0)+(i-l);k=w}else{e:do if((l|0)!=(i|0)){j=i;k=l;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break e;o=b[k>>0]|0;b[k>>0]=b[j>>0]|0;b[j>>0]=o;k=k+1|0}}while(0);x=0;o=qa(f[(f[s>>2]|0)+16>>2]|0,s|0)|0;n=x;x=0;if(n&1)break a;n=l;j=0;k=0;while(1){if(n>>>0>=i>>>0)break;m=b[((b[p>>0]|0)<0?f[v>>2]|0:v)+j>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=f[h>>2]|0;f[h>>2]=k+1;b[k>>0]=o;k=b[p>>0]|0;j=j+(j>>>0<((k<<24>>24<0?f[q>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}x=0;m=sa(f[(f[w>>2]|0)+28>>2]|0,w|0,b[n>>0]|0)|0;z=x;x=0;if(z&1)break a;z=f[h>>2]|0;f[h>>2]=z+1;b[z>>0]=m;n=n+1|0;k=k+1|0}k=e+(l-a)|0;j=f[h>>2]|0;if((k|0)==(j|0))k=w;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=w;break d}z=b[k>>0]|0;b[k>>0]=b[j>>0]|0;b[j>>0]=z;k=k+1|0}}while(0);while(1){if(i>>>0>=d>>>0)break;j=b[i>>0]|0;if(j<<24>>24==46){t=39;break}x=0;j=sa(f[(f[k>>2]|0)+28>>2]|0,w|0,j|0)|0;z=x;x=0;if(z&1)break a;z=f[h>>2]|0;f[h>>2]=z+1;b[z>>0]=j;i=i+1|0}if((t|0)==39){x=0;j=qa(f[(f[s>>2]|0)+12>>2]|0,s|0)|0;z=x;x=0;if(z&1)break;z=f[h>>2]|0;f[h>>2]=z+1;b[z>>0]=j;i=i+1|0}x=0;ua(f[(f[w>>2]|0)+32>>2]|0,w|0,i|0,d|0,f[h>>2]|0)|0;z=x;x=0;if(!(z&1)){z=(f[h>>2]|0)+(r-i)|0;f[h>>2]=z;f[g>>2]=(c|0)==(d|0)?z:e+(c-a)|0;Aaa(v);u=y;return}}while(0);z=Ya()|0;Aaa(v);jb(z|0)}function jj(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.0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+160|0;B=C+120|0;D=C+56|0;c=C+80|0;w=C+68|0;m=C+16|0;z=C;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;y=D+11|0;b[y>>0]=6;b[D>>0]=b[39245]|0;b[D+1>>0]=b[39246]|0;b[D+2>>0]=b[39247]|0;b[D+3>>0]=b[39248]|0;b[D+4>>0]=b[39249]|0;b[D+5>>0]=b[39250]|0;b[D+6>>0]=0;d=c;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,w|0,h|0);A=x;x=0;do if(A&1)c=Ya()|0;else{x=0;d=B;i=c;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));A=wa(26,D|0,a|0,e|0,B|0,w|0)|0;l=x;x=0;if(l&1){c=Ya()|0;m=I;d=f[w>>2]|0;if(!d)break;a=w+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{l=i+-52|0;f[a>>2]=l;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=l}while((i|0)!=(d|0));d=f[w>>2]|0}Hta(d);break}c=f[w>>2]|0;if(c|0){l=w+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[D>>2]|0);f[D+8>>2]=0;w=D+11|0;b[w>>0]=7;b[D>>0]=b[39332]|0;b[D+1>>0]=b[39333]|0;b[D+2>>0]=b[39334]|0;b[D+3>>0]=b[39335]|0;b[D+4>>0]=b[39336]|0;b[D+5>>0]=b[39337]|0;b[D+6>>0]=b[39338]|0;b[D+7>>0]=0;d=m;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,z|0,h|0);y=x;x=0;do if(y&1)c=Ya()|0;else{x=0;d=B;i=m;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));v=+ka(1,D|0,a|0,e|0,B|0,z|0,-0.0,100.0);y=x;x=0;if(y&1){c=Ya()|0;m=I;d=f[z>>2]|0;if(!d)break;a=z+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{l=i+-52|0;f[a>>2]=l;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=l}while((i|0)!=(d|0));d=f[z>>2]|0}Hta(d);break}c=f[z>>2]|0;if(c|0){l=z+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[D>>2]|0);o=+p[A+64>>3]/255.0;q=+p[A+72>>3]/255.0;r=+p[A+80>>3]/255.0;c=q100.0?100.0:k;j=+p[A+88>>3];d=B;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));D=Wo(o,k,n,j,0,B)|0;u=C;return D|0}while(0);if((b[w>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0)}while(0);if((b[y>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0);return 0}function kj(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;q=u;u=u+80|0;r=q+64|0;g=q+32|0;h=q+24|0;i=q+16|0;p=q+48|0;k=q+40|0;l=q+8|0;j=q;e=c+84|0;qV(r,f[e>>2]|0);f[r>>2]=7696;s=(f[(f[r+4>>2]|0)+56>>2]|0)==8;_P(r);if(s){u=q;return}m=a+4|0;n=a+104|0;o=b[n>>0]|0;b[n>>0]=1;r=a+100|0;s=b[r>>0]|0;b[r>>0]=b[c+89>>0]|0;x=0;d=qa(399,m|0)|0;t=x;x=0;a:do if(!(t&1)){if(!d){t=a+76|0;f[t>>2]=(f[t>>2]|0)+(f[c+56>>2]|0)}x=0;Fa(456,m|0);t=x;x=0;if(!(t&1)){d=c+76|0;x=0;Ga(462,g|0,f[d>>2]|0);t=x;x=0;if(!(t&1)){f[g>>2]=7904;t=(f[g+4>>2]|0)==0;_P(g);do if(!t){x=0;Ga(462,h|0,f[d>>2]|0);t=x;x=0;if(t&1)break a;f[h>>2]=7904;t=f[h+4>>2]|0;x=0;Ga(f[(f[t>>2]|0)+44>>2]|0,t|0,a|0);t=x;x=0;if(!(t&1)){_P(h);break}t=Ya()|0;_P(h);b[r>>0]=s;jb(t|0)}while(0);x=0;Fa(462,m|0);t=x;x=0;if(!(t&1)){x=0;Ga(462,i|0,f[e>>2]|0);t=x;x=0;if(!(t&1)){f[i>>2]=7696;t=(f[(f[i+4>>2]|0)+56>>2]|0)==7;_P(i);b:do if(t){x=0;Fa(443,p|0);t=x;x=0;if(t&1)d=Ya()|0;else{x=0;Ga(462,l|0,f[e>>2]|0);t=x;x=0;do if(t&1)d=Ya()|0;else{f[l>>2]=7696;d=f[l+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,p|0)|0;t=x;x=0;if(!(t&1)){x=0;Ga(462,k|0,d|0);t=x;x=0;if(!(t&1)){f[k>>2]=7696;_P(l);t=f[k+4>>2]|0;x=0;Ga(f[(f[t>>2]|0)+44>>2]|0,t|0,a|0);t=x;x=0;if(t&1){d=Ya()|0;_P(k);break}else{_P(k);break b}}}d=Ya()|0;_P(l)}while(0)}t=d;b[r>>0]=s;jb(t|0)}else{x=0;Ga(462,j|0,f[e>>2]|0);t=x;x=0;if(t&1)break a;f[j>>2]=7696;t=f[j+4>>2]|0;x=0;Ga(f[(f[t>>2]|0)+44>>2]|0,t|0,a|0);t=x;x=0;if(!(t&1)){_P(j);break}t=Ya()|0;_P(j);b[r>>0]=s;jb(t|0)}while(0);do if(b[c+88>>0]|0){x=0;Fa(461,m|0);t=x;x=0;if(t&1)break a;h=p+11|0;b[h>>0]=10;d=p;e=49953;g=d+10|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[p+10>>0]=0;x=0;Ga(682,m|0,p|0);t=x;x=0;if(!(t&1)){if((b[h>>0]|0)<0)Hta(f[p>>2]|0);break}d=Ya()|0;if((b[h>>0]|0)<0)Hta(f[p>>2]|0);t=d;b[r>>0]=s;jb(t|0)}while(0);x=0;Fa(460,m|0);t=x;x=0;if(!(t&1)){x=0;d=qa(399,m|0)|0;t=x;x=0;if(!(t&1)){if(!d){t=a+76|0;f[t>>2]=(f[t>>2]|0)-(f[c+56>>2]|0)}b[n>>0]=o;b[r>>0]=s;u=q;return}}}}}}}while(0);t=Ya()|0;b[r>>0]=s;jb(t|0)}function lj(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.0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+160|0;B=C+120|0;D=C+56|0;c=C+80|0;w=C+68|0;m=C+16|0;z=C;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;y=D+11|0;b[y>>0]=6;b[D>>0]=b[39245]|0;b[D+1>>0]=b[39246]|0;b[D+2>>0]=b[39247]|0;b[D+3>>0]=b[39248]|0;b[D+4>>0]=b[39249]|0;b[D+5>>0]=b[39250]|0;b[D+6>>0]=0;d=c;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,w|0,h|0);A=x;x=0;do if(A&1)c=Ya()|0;else{x=0;d=B;i=c;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));A=wa(26,D|0,a|0,e|0,B|0,w|0)|0;l=x;x=0;if(l&1){c=Ya()|0;m=I;d=f[w>>2]|0;if(!d)break;a=w+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{l=i+-52|0;f[a>>2]=l;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=l}while((i|0)!=(d|0));d=f[w>>2]|0}Hta(d);break}c=f[w>>2]|0;if(c|0){l=w+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[D>>2]|0);f[D+8>>2]=0;w=D+11|0;b[w>>0]=7;b[D>>0]=b[39332]|0;b[D+1>>0]=b[39333]|0;b[D+2>>0]=b[39334]|0;b[D+3>>0]=b[39335]|0;b[D+4>>0]=b[39336]|0;b[D+5>>0]=b[39337]|0;b[D+6>>0]=b[39338]|0;b[D+7>>0]=0;d=m;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,z|0,h|0);y=x;x=0;do if(y&1)c=Ya()|0;else{x=0;d=B;i=m;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));v=+ka(1,D|0,a|0,e|0,B|0,z|0,-0.0,100.0);y=x;x=0;if(y&1){c=Ya()|0;m=I;d=f[z>>2]|0;if(!d)break;a=z+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{l=i+-52|0;f[a>>2]=l;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=l}while((i|0)!=(d|0));d=f[z>>2]|0}Hta(d);break}c=f[z>>2]|0;if(c|0){l=z+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[D>>2]|0);o=+p[A+64>>3]/255.0;q=+p[A+72>>3]/255.0;r=+p[A+80>>3]/255.0;c=q100.0?100.0:k)-v;j=+p[A+88>>3];d=B;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));D=Wo(o,n,k,j,0,B)|0;u=C;return D|0}while(0);if((b[w>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0)}while(0);if((b[y>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0);return 0}function mj(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.0,k=0.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+160|0;B=C+120|0;D=C+56|0;c=C+80|0;w=C+68|0;m=C+16|0;z=C;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;y=D+11|0;b[y>>0]=6;b[D>>0]=b[39245]|0;b[D+1>>0]=b[39246]|0;b[D+2>>0]=b[39247]|0;b[D+3>>0]=b[39248]|0;b[D+4>>0]=b[39249]|0;b[D+5>>0]=b[39250]|0;b[D+6>>0]=0;d=c;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,w|0,h|0);A=x;x=0;do if(A&1)c=Ya()|0;else{x=0;d=B;i=c;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));A=wa(26,D|0,a|0,e|0,B|0,w|0)|0;l=x;x=0;if(l&1){c=Ya()|0;m=I;d=f[w>>2]|0;if(!d)break;a=w+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{l=i+-52|0;f[a>>2]=l;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=l}while((i|0)!=(d|0));d=f[w>>2]|0}Hta(d);break}c=f[w>>2]|0;if(c|0){l=w+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[D>>2]|0);f[D+8>>2]=0;w=D+11|0;b[w>>0]=7;b[D>>0]=b[39332]|0;b[D+1>>0]=b[39333]|0;b[D+2>>0]=b[39334]|0;b[D+3>>0]=b[39335]|0;b[D+4>>0]=b[39336]|0;b[D+5>>0]=b[39337]|0;b[D+6>>0]=b[39338]|0;b[D+7>>0]=0;d=m;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,z|0,h|0);y=x;x=0;do if(y&1)c=Ya()|0;else{x=0;d=B;i=m;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));v=+ka(1,D|0,a|0,e|0,B|0,z|0,-0.0,100.0);y=x;x=0;if(y&1){c=Ya()|0;m=I;d=f[z>>2]|0;if(!d)break;a=z+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{l=i+-52|0;f[a>>2]=l;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=l}while((i|0)!=(d|0));d=f[z>>2]|0}Hta(d);break}c=f[z>>2]|0;if(c|0){l=z+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[D>>2]|0);o=+p[A+64>>3]/255.0;q=+p[A+72>>3]/255.0;r=+p[A+80>>3]/255.0;c=q>3];d=B;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));D=Wo(o,n,k,j,0,B)|0;u=C;return D|0}while(0);if((b[w>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0)}while(0);if((b[y>>0]|0)<0)Hta(f[D>>2]|0);D=c;jb(D|0);return 0} +function Gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0;q=0;r=u;u=u+208|0;t=r+104|0;n=r;d=t+4|0;e=a+4|0;f[d>>2]=f[e>>2];b[d+4>>0]=b[e+4>>0]|0;d=t+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));o=a+52|0;s=f[o+4>>2]|0;v=t+52|0;f[v>>2]=f[o>>2];f[v+4>>2]=s;f[t>>2]=6516;v=t+60|0;x=0;Ga(458,v|0,a+60|0);s=x;x=0;if(s&1){v=Ya()|0;jb(v|0)}h=t+72|0;x=0;Ga(458,h|0,a+72|0);s=x;x=0;if(s&1){a=Ya()|0;h=I;d=f[v>>2]|0;if(!d){v=a;jb(v|0)}g=t+64|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[v>>2]|0}Hta(d);v=a;jb(v|0)}f[t>>2]=6384;j=t+88|0;d=a+88|0;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[j+12>>2]=f[d+12>>2];d=n+4|0;e=c+4|0;f[d>>2]=f[e>>2];b[d+4>>0]=b[e+4>>0]|0;d=n+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));m=c+52|0;o=f[m+4>>2]|0;s=n+52|0;f[s>>2]=f[m>>2];f[s+4>>2]=o;f[n>>2]=6516;s=n+60|0;x=0;Ga(458,s|0,c+60|0);o=x;x=0;do if(o&1){d=Ya()|0;q=25}else{d=n+72|0;x=0;Ga(458,d|0,c+72|0);o=x;x=0;if(o&1){a=Ya()|0;h=I;d=f[s>>2]|0;if(!d){d=a;q=25;break}g=n+64|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[s>>2]|0}Hta(d);d=a;q=25;break}f[n>>2]=6384;e=n+88|0;o=c+88|0;f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];f[e+12>>2]=f[o+12>>2];x=0;i=+ga(1,v|0);o=x;x=0;a:do if(o&1)q=26;else{p[j>>3]=i*+p[j>>3];x=0;i=+ga(1,s|0);o=x;x=0;if(o&1)q=26;else{i=i*+p[e>>3];p[e>>3]=i;o=t+64|0;m=t+76|0;l=n+64|0;k=n+76|0;b:do if((((f[o>>2]|0)-(f[v>>2]|0)|0)/12|0|0)!=(((f[m>>2]|0)-(f[h>>2]|0)|0)/-12|0|0)?(((f[l>>2]|0)-(f[s>>2]|0)|0)/12|0|0)!=(((f[k>>2]|0)-(f[d>>2]|0)|0)/-12|0|0):0){x=0;i=+ga(2,v|0);h=x;x=0;if(!(h&1)){p[j>>3]=i*+p[j>>3];x=0;i=+ga(2,s|0);h=x;x=0;if(!(h&1)){p[e>>3]=i*+p[e>>3];x=0;d=sa(984,v|0,s|0)|0;h=x;x=0;do if(!(h&1))if(d){x=0;d=sa(985,v|0,s|0)|0;c=x;x=0;if(c&1)break;if(d){h=1;break b}i=+p[e>>3];q=39;break b}else{d=Ta(20)|0;x=0;Ia(76,d|0,c+60|0,a+60|0);r=x;x=0;if(r&1){a=Ya()|0;c=I;bb(d|0);break a}else{x=0;Ia(77,d|0,240,6);x=0;break}}while(0);a=Ya()|0;c=I;break a}}a=Ya()|0;c=I;break a}else q=39;while(0);if((q|0)==39)h=+p[j>>3]>2]|0;if(d|0){e=f[k>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[k>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}}while((e|0)!=(d|0));d=f[g>>2]|0}Hta(d)}d=f[s>>2]|0;if(d|0){e=f[l>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[l>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[l>>2]|0}}while((e|0)!=(d|0));d=f[s>>2]|0}Hta(d)}g=t+72|0;d=f[g>>2]|0;if(d|0){e=f[m>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[m>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[m>>2]|0}}while((e|0)!=(d|0));d=f[g>>2]|0}Hta(d)}d=f[v>>2]|0;if(!d){u=r;return h|0}e=f[o>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[o>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[o>>2]|0}}while((e|0)!=(d|0));d=f[v>>2]|0}Hta(d);u=r;return h|0}}while(0);if((q|0)==26){a=Ya()|0;c=I}g=n+72|0;d=f[g>>2]|0;if(d|0){h=n+76|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(d|0));d=f[g>>2]|0}Hta(d)}d=f[s>>2]|0;if(d|0){g=n+64|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[s>>2]|0}Hta(d)}}while(0);if((q|0)==25)a=d;g=t+72|0;d=f[g>>2]|0;if(d|0){h=t+76|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(d|0));d=f[g>>2]|0}Hta(d)}d=f[v>>2]|0;if(!d)jb(a|0);g=t+64|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[v>>2]|0}Hta(d);jb(a|0);return 0}function Hg(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,t=0,v=0,w=0,y=0,z=0,A=0;t=0;s=u;u=u+96|0;z=s+56|0;w=s+28|0;v=s;UE(z);q=z+20|0;j=f[q>>2]|0;y=z+24|0;o=f[y>>2]|0;p=(o|0)==0;if(!p)ega(o);x=0;Fa(453,w|0);r=x;x=0;do if(r&1){g=Ya()|0;t=55}else{l=j+8|0;h=f[l>>2]|0;m=j+4|0;g=f[m>>2]|0;r=h-g>>2;k=j+16|0;i=f[k>>2]|0;n=j+20|0;e=f[n>>2]|0;if((((r|0)==0?0:(r*146|0)+-1|0)|0)==(e+i|0)){x=0;Fa(433,j|0);r=x;x=0;if(!(r&1)){e=f[n>>2]|0;i=f[k>>2]|0;h=f[l>>2]|0;g=f[m>>2]|0;t=7}}else t=7;if((t|0)==7){e=e+i|0;if((h|0)==(g|0))e=0;else e=(f[g+(((e>>>0)/146|0)<<2)>>2]|0)+(((e>>>0)%146|0)*28|0)|0;f[e>>2]=f[w>>2];f[e+4>>2]=f[w+4>>2];f[e+8>>2]=f[w+8>>2];g=e+12|0;x=0;Ga(462,g|0,f[w+16>>2]|0);r=x;x=0;if(!(r&1)){f[g>>2]=15556;m=w+20|0;f[e+20>>2]=f[m>>2];r=w+24|0;f[e+24>>2]=f[r>>2];f[m>>2]=0;f[r>>2]=0;f[n>>2]=(f[n>>2]|0)+1;_P(w+12|0);if(!p)QZ(o);x=0;Ga(507,z|0,b|0);r=x;x=0;if(r&1){g=Ya()|0;break}x=0;Fa(451,w|0);r=x;x=0;if(r&1)e=Ya()|0;else{p=w+20|0;e=f[p>>2]|0;r=w+24|0;n=f[r>>2]|0;o=(n|0)==0;if(!o)ega(n);x=0;Fa(453,v|0);b=x;x=0;do if(b&1){e=Ya()|0;t=63}else{l=e+8|0;h=f[l>>2]|0;m=e+4|0;g=f[m>>2]|0;A=h-g>>2;j=e+16|0;k=f[j>>2]|0;b=e+20|0;i=f[b>>2]|0;if((((A|0)==0?0:(A*146|0)+-1|0)|0)==(i+k|0)){x=0;Fa(433,e|0);A=x;x=0;if(!(A&1)){i=f[b>>2]|0;e=f[j>>2]|0;h=f[l>>2]|0;g=f[m>>2]|0;t=20}}else{e=k;t=20}if((t|0)==20){e=i+e|0;if((h|0)==(g|0))e=0;else e=(f[g+(((e>>>0)/146|0)<<2)>>2]|0)+(((e>>>0)%146|0)*28|0)|0;f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];g=e+12|0;x=0;Ga(462,g|0,f[v+16>>2]|0);A=x;x=0;if(!(A&1)){f[g>>2]=15556;m=v+20|0;f[e+20>>2]=f[m>>2];A=v+24|0;f[e+24>>2]=f[A>>2];f[m>>2]=0;f[A>>2]=0;f[b>>2]=(f[b>>2]|0)+1;_P(v+12|0);if(!o)QZ(n);x=0;Ga(507,w|0,c|0);A=x;x=0;if(A&1){e=Ya()|0;break}f[v>>2]=0;l=v+4|0;f[l>>2]=0;f[v+8>>2]=0;x=0;Ja(53,z|0,w|0,d|0,v|0);A=x;x=0;do if(A&1){e=Ya()|0;k=I}else{e=f[q>>2]|0;j=f[y>>2]|0;k=(j|0)==0;if(!k)ega(j);g=(f[e+20>>2]|0)+-1|0;e=f[p>>2]|0;h=f[r>>2]|0;i=(h|0)==0;if(!i)ega(h);x=0;Ma(9,a|0,v|0,z|0,w|0,g|0,(f[e+20>>2]|0)+-1|0,d|0);A=x;x=0;if(A&1){e=Ya()|0;g=I;if(!i)QZ(h);if(k){k=g;break}QZ(j);k=g;break}if(!i)QZ(h);if(!k)QZ(j);e=f[v>>2]|0;if(e|0){g=f[l>>2]|0;if((g|0)!=(e|0)){do{h=g+-12|0;f[l>>2]=h;i=f[h>>2]|0;if(!i)g=h;else{g=g+-8|0;h=f[g>>2]|0;if((h|0)!=(i|0))f[g>>2]=h+(~((h+-4-i|0)>>>2)<<2);Hta(i);g=f[l>>2]|0}}while((g|0)!=(e|0));e=f[v>>2]|0}Hta(e)}e=f[r>>2]|0;if(e|0)QZ(e);_P(w+12|0);e=f[y>>2]|0;if(!e){A=z+12|0;_P(A);u=s;return}QZ(e);A=z+12|0;_P(A);u=s;return}while(0);g=f[v>>2]|0;if(g|0){h=f[l>>2]|0;if((h|0)!=(g|0)){do{i=h+-12|0;f[l>>2]=i;j=f[i>>2]|0;if(!j)h=i;else{h=h+-8|0;i=f[h>>2]|0;if((i|0)!=(j|0))f[h>>2]=i+(~((i+-4-j|0)>>>2)<<2);Hta(j);h=f[l>>2]|0}}while((h|0)!=(g|0));g=f[v>>2]|0}Hta(g)}break}}e=Ya()|0;g=f[v+24>>2]|0;if(g|0)QZ(g);_P(v+12|0);t=63}while(0);if((t|0)==63)if(!o)QZ(n);g=f[r>>2]|0;if(g|0)QZ(g);_P(w+12|0)}g=e;break}}g=Ya()|0;e=f[w+24>>2]|0;if(e|0)QZ(e);_P(w+12|0);t=55}while(0);if((t|0)==55)if(!p)QZ(o);e=f[y>>2]|0;if(!e){A=z+12|0;_P(A);jb(g|0)}QZ(e);A=z+12|0;_P(A);jb(g|0)}function Ig(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0.0,v=0,w=0,y=0,z=0;w=0;y=u;u=u+320|0;r=y+272|0;o=y+260|0;z=y;v=y+104|0;s=y+248|0;Gv(o,g);x=0;j=r;k=e;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));m=wa(24,a|0,c|0,d|0,r|0,o|0)|0;q=x;x=0;if(q&1){n=Ya()|0;l=I;c=f[o>>2]|0;if(!c){z=n;jb(z|0)}m=o+4|0;j=f[m>>2]|0;if((j|0)!=(c|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(c|0));c=f[o>>2]|0}Hta(c);z=n;jb(z|0)}c=f[o>>2]|0;if(c|0){l=o+4|0;j=f[l>>2]|0;if((j|0)!=(c|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(c|0));c=f[o>>2]|0}Hta(c)}$x(z,m);x=0;Fa(442,z|0);q=x;x=0;a:do if(q&1){a=Ya()|0;j=I}else{t=+p[z+88>>3];b:do if(!(t>=h)|!(t<=i)){q=v+64|0;c=v+8|0;f[c>>2]=16496;o=v+12|0;f[v>>2]=2284;f[q>>2]=2304;f[v+4>>2]=0;x=0;Ga(531,v+64|0,o|0);n=x;x=0;c:do if(n&1){c=Ya()|0;j=I;w=47}else{f[v+136>>2]=0;f[v+140>>2]=-1;f[v>>2]=16476;f[q>>2]=16516;f[c>>2]=16496;x=0;Fa(437,o|0);n=x;x=0;do if(n&1){c=Ya()|0;j=I}else{f[o>>2]=16336;n=v+44|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[v+60>>2]=24;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;x=0;Ga(532,o|0,r|0);m=x;x=0;if(m&1){c=Ya()|0;j=I;if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);Bca(o);break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);m=v+8|0;x=0;c=ta(44,m|0,39002,10)|0;l=x;x=0;do if(l&1)w=48;else{l=b[a+11>>0]|0;k=l<<24>>24<0;x=0;c=ta(44,c|0,(k?f[a>>2]|0:a)|0,(k?f[a+4>>2]|0:l&255)|0)|0;a=x;x=0;if(a&1)w=48;else{x=0;c=ta(44,c|0,39013,6)|0;a=x;x=0;if(a&1)w=48;else{a=hL(d)|0;x=0;c=ta(44,c|0,d|0,a|0)|0;d=x;x=0;if(d&1)w=48;else{x=0;ta(44,c|0,39037,18)|0;d=x;x=0;if(d&1)w=48;else{x=0;c=ra(1,m|0,+h)|0;d=x;x=0;if(d&1)w=48;else{x=0;c=ta(44,c|0,49854,5)|0;d=x;x=0;if(d&1)w=48;else{x=0;ra(1,c|0,+i)|0;d=x;x=0;if(d&1){w=48;break}x=0;Ga(533,s|0,o|0);d=x;x=0;if(d&1){w=48;break}x=0;j=r;k=e;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ia(100,s|0,r|0,g|0);r=x;x=0;if(r&1){c=Ya()|0;j=I;if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0);break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);f[v>>2]=16476;f[q>>2]=16516;f[m>>2]=16496;f[o>>2]=16336;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);Bca(o);KU(v,16528);uma(q);break b}}}}}}}while(0);if((w|0)==48){c=Ya()|0;j=I}f[v>>2]=16476;f[q>>2]=16516;f[m>>2]=16496;f[o>>2]=16336;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);Bca(o);KU(v,16528);uma(q);break c}while(0);KU(v,16528);w=47}while(0);if((w|0)==47)uma(q);a=c;break a}while(0);m=z+60|0;k=z+72|0;c=f[k>>2]|0;if(c|0){l=z+76|0;j=f[l>>2]|0;if((j|0)!=(c|0)){do{j=j+-12|0;f[l>>2]=j;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}}while((j|0)!=(c|0));c=f[k>>2]|0}Hta(c)}c=f[m>>2]|0;if(!c){u=y;return +t}k=z+64|0;j=f[k>>2]|0;if((j|0)!=(c|0)){do{j=j+-12|0;f[k>>2]=j;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[k>>2]|0}}while((j|0)!=(c|0));c=f[m>>2]|0}Hta(c);u=y;return +t}while(0);n=z+60|0;l=z+72|0;c=f[l>>2]|0;if(c|0){m=z+76|0;k=f[m>>2]|0;if((k|0)!=(c|0)){do{k=k+-12|0;f[m>>2]=k;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[m>>2]|0}}while((k|0)!=(c|0));c=f[l>>2]|0}Hta(c)}c=f[n>>2]|0;if(c|0){l=z+64|0;k=f[l>>2]|0;if((k|0)!=(c|0)){do{k=k+-12|0;f[l>>2]=k;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[l>>2]|0}}while((k|0)!=(c|0));c=f[n>>2]|0}Hta(c)}z=a;jb(z|0);return 0.0}function Jg(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;n=u;u=u+176|0;o=n;s=n+152|0;l=n+112|0;r=n+40|0;k=n+72|0;q=n+56|0;p=n+48|0;m=f[c+76>>2]|0;j=VX(m)|0;m=j|0?j:m;j=b[m>>0]|0;m=m+1|0;j=j<<24>>24|0;m=(j|0)!=44&(j|0)!=123?((j|0)==59?m:0):m;a:do if(!((m|0)==0?1:m>>>0>(f[c+80>>2]|0)>>>0)){d=VN(16)|0;f[o>>2]=d;f[o+8>>2]=-2147483632;f[o+4>>2]=11;h=d;i=44242;j=h+11|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[d+11>>0]=0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=7;b[s>>0]=b[44254]|0;b[s+1>>0]=b[44255]|0;b[s+2>>0]=b[44256]|0;b[s+3>>0]=b[44257]|0;b[s+4>>0]=b[44258]|0;b[s+5>>0]=b[44259]|0;b[s+6>>0]=b[44260]|0;b[s+7>>0]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;d=qa(318,48)|0;m=x;x=0;do if(m&1)d=Ya()|0;else{f[l>>2]=d;f[l+8>>2]=-2147483600;f[l+4>>2]=37;h=d;i=45919;j=h+37|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[d+37>>0]=0;x=0;Ka(8,c|0,o|0,s|0,l|0,1);m=x;x=0;if(m&1){d=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[e>>0]|0)<0)Hta(f[s>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);break a}while(0);if((b[e>>0]|0)<0)Hta(f[s>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);s=d;jb(s|0)}while(0);do{}while((Ju(c,1,0)|0)!=0);gx(c,1,0)|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(o);if(i>>>0<11){b[o+11>>0]=i;d=o}else{m=i+16&-16;d=VN(m)|0;f[o>>2]=d;f[o+8>>2]=m|-2147483648;f[o+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,s|0,o|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}else{if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);h=l;i=c+108|0;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Ga(462,r|0,0);m=x;x=0;if(m&1)d=Ya()|0;else{f[r>>2]=7696;while(1){x=0;d=ta(152,c|0,1,0)|0;m=x;x=0;if(m&1){m=39;break}if(!d){m=40;break}}b:do if((m|0)==40){x=0;d=ta(90,c|0,1,0)|0;j=x;x=0;if(j&1)m=39;else{c:do if(!d){x=0;d=ta(106,c|0,1,0)|0;c=x;x=0;if(c&1){m=39;break b}g=(d|0)!=0&1}else{do{x=0;d=ta(55,c|0,1,0)|0;j=x;x=0;if(j&1){m=39;break b}}while((d|0)!=0);x=0;Ga(580,o|0,c|0);c=x;x=0;do if(c&1)d=Ya()|0;else{d=r+4|0;if(f[d>>2]|0){x=0;Fa(429,r|0);c=x;x=0;if(c&1){d=Ya()|0;_P(o);break}}g=o+4|0;f[d>>2]=f[g>>2];f[g>>2]=0;_P(o);g=0;break c}while(0);break b}while(0);x=0;c=qa(318,76)|0;j=x;x=0;if(j&1)m=39;else{h=k;i=l;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Ga(459,q|0,s|0);l=x;x=0;do if(l&1)d=Ya()|0;else{x=0;Ga(462,p|0,f[r+4>>2]|0);l=x;x=0;if(l&1){d=Ya()|0;e=1}else{f[p>>2]=7696;h=o;i=k;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Fa(427,c|0);l=x;x=0;d:do if(l&1){d=1;m=71}else{h=c+12|0;i=o;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));f[c>>2]=13276;e=c+52|0;x=0;Ga(459,e|0,q|0);o=x;x=0;do if(o&1)d=Ya()|0;else{d=c+64|0;x=0;Ga(462,d|0,f[p+4>>2]|0);o=x;x=0;if(o&1){d=Ya()|0;if((b[c+63>>0]|0)>=0)break;Hta(f[e>>2]|0);break}f[d>>2]=7696;b[c+72>>0]=g;x=0;Ga(462,a|0,c|0);o=x;x=0;if(o&1){d=0;m=71;break d}f[a>>2]=13488;_P(p);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);_P(r);if((b[s+11>>0]|0)>=0){u=n;return}Hta(f[s>>2]|0);u=n;return}while(0);e=1}while(0);if((m|0)==71){o=Ya()|0;e=d;d=o}_P(p)}if((b[q+11>>0]|0)<0){Hta(f[q>>2]|0);if(e)break;else break b}else if(e)break;else break b}while(0);Hta(c)}}}while(0);if((m|0)==39)d=Ya()|0;_P(r)}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}s=d;jb(s|0)}function Kg(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,t=0;q=u;u=u+128|0;r=q;j=q+88|0;t=q+76|0;n=q+52|0;s=q+64|0;o=q+40|0;m=j;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));ND(t,81592);x=0;Ga(511,n|0,d|0);p=x;x=0;if(p&1)c=Ya()|0;else{m=r;c=j;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));x=0;Ga(538,a|0,t|0);p=x;x=0;if(p&1){c=Ya()|0;m=I}else{f[a>>2]=16212;p=a+8|0;x=0;Ga(459,p|0,t|0);m=x;x=0;do if(m&1){c=Ya()|0;d=I}else{j=a+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;k=j+11|0;b[k>>0]=5;b[j>>0]=b[53005]|0;b[j+1>>0]=b[53006]|0;b[j+2>>0]=b[53007]|0;b[j+3>>0]=b[53008]|0;b[j+4>>0]=b[53009]|0;b[j+5>>0]=0;m=a+32|0;c=r;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));x=0;Ga(511,a+72|0,n|0);m=x;x=0;if(m&1){c=Ya()|0;d=I;if((b[k>>0]|0)<0)Hta(f[j>>2]|0);if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}c=f[n>>2]|0;if(c|0){k=n+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{j=d+-52|0;f[k>>2]=j;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=j}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);f[a>>2]=16760;n=a+84|0;x=0;Ga(459,n|0,e|0);t=x;x=0;if(t&1)c=Ya()|0;else{k=a+96|0;x=0;Ga(459,k|0,g|0);t=x;x=0;if(t&1)c=Ya()|0;else{j=a+108|0;x=0;Ga(459,j|0,h|0);t=x;x=0;if(t&1)c=Ya()|0;else{f[a+120>>2]=i;x=0;Ia(79,r|0,g|0,53123);t=x;x=0;a:do if(t&1)c=Ya()|0;else{c=p+11|0;if((b[c>>0]|0)<0){b[f[p>>2]>>0]=0;f[a+12>>2]=0}else{b[p>>0]=0;b[c>>0]=0}x=0;Ga(501,p|0,0);t=x;x=0;if(t&1){t=Za(0)|0;soa(t)}f[p>>2]=f[r>>2];f[p+4>>2]=f[r+4>>2];f[p+8>>2]=f[r+8>>2];b:do if(i|0){d=f[(f[i>>2]|0)+28>>2]|0;f[o>>2]=0;f[o+4>>2]=5;b[o+8>>0]=0;x=0;m=r;c=o;l=m+12|0;do{b[m>>0]=b[c>>0]|0;m=m+1|0;c=c+1|0}while((m|0)<(l|0));Ia(d|0,s|0,i|0,r|0);t=x;x=0;do if(t&1)c=Ya()|0;else{d=s+11|0;t=b[d>>0]|0;i=t<<24>>24<0;x=0;ta(41,p|0,(i?f[s>>2]|0:s)|0,(i?f[s+4>>2]|0:t&255)|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[s>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[s>>2]|0);break b}while(0);break a}while(0);x=0;Ia(92,r|0,53127,h|0);t=x;x=0;do if(t&1)c=Ya()|0;else{d=r+11|0;t=b[d>>0]|0;h=t<<24>>24<0;x=0;ta(41,p|0,(h?f[r>>2]|0:r)|0,(h?f[r+4>>2]|0:t&255)|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[r>>2]|0);x=0;Ia(92,s|0,53139,e|0);t=x;x=0;do if(t&1)c=Ya()|0;else{x=0;c=sa(991,s|0,53146)|0;t=x;x=0;do if(t&1)c=Ya()|0;else{f[r>>2]=f[c>>2];f[r+4>>2]=f[c+4>>2];f[r+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;d=r+11|0;t=b[d>>0]|0;e=t<<24>>24<0;x=0;ta(41,p|0,(e?f[r>>2]|0:r)|0,(e?f[r+4>>2]|0:t&255)|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[r>>2]|0);if((b[s+11>>0]|0)>=0){u=q;return}Hta(f[s>>2]|0);u=q;return}while(0);if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0)}while(0);break a}while(0)}while(0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0)}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0)}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0)}PF(a);a=c;jb(a|0)}while(0);dfa(a);m=d}d=f[n>>2]|0;if(d){l=n+4|0;j=f[l>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(d|0));d=f[n>>2]|0}Hta(d)}}if((b[t+11>>0]|0)>=0){a=c;jb(a|0)}Hta(f[t>>2]|0);a=c;jb(a|0)}function Lg(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;p=0;m=u;u=u+64|0;s=m+48|0;r=m+40|0;e=m+24|0;q=m+32|0;o=m+16|0;n=m;ND(s,c+72|0);x=0;Ga(462,e|0,f[c+88>>2]|0);l=x;x=0;do if(l&1)e=Ya()|0;else{f[e>>2]=7168;x=0;Ga(462,r|0,f[e+4>>2]|0);l=x;x=0;if(l&1){r=Ya()|0;_P(e);e=r;break}f[r>>2]=15588;_P(e);x=0;Ga(462,q|0,f[c+96>>2]|0);l=x;x=0;if(l&1)e=Ya()|0;else{f[q>>2]=7696;x=0;Ga(462,o|0,f[c+68>>2]|0);l=x;x=0;if(l&1)e=Ya()|0;else{f[o>>2]=7280;l=a+4|0;x=0;Fa(456,l|0);k=x;x=0;a:do if(k&1)p=15;else{x=0;Ia(147,l|0,s|0,c|0);k=x;x=0;if(k&1)p=15;else{e=r+4|0;if(f[e>>2]|0){x=0;Fa(458,l|0);k=x;x=0;if(k&1){p=15;break}c=a+102|0;b[c>>0]=1;k=f[e>>2]|0;x=0;Ga(f[(f[k>>2]|0)+44>>2]|0,k|0,a|0);k=x;x=0;if(k&1){p=15;break}b[c>>0]=0}e=q+4|0;b:do if(f[e>>2]|0){x=0;Fa(458,l|0);k=x;x=0;if(k&1){p=15;break a}k=f[e>>2]|0;x=0;Ga(f[(f[k>>2]|0)+32>>2]|0,n|0,k|0);k=x;x=0;do if(k&1)e=Ya()|0;else{x=0;Ia(147,l|0,n|0,f[e>>2]|0);k=x;x=0;if(k&1){e=Ya()|0;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);break b}while(0);break a}while(0);k=o+4|0;e=f[k>>2]|0;do if(!e){x=0;Fa(460,l|0);p=x;x=0;if(p&1){p=15;break a}}else{x=0;e=qa(f[(f[e>>2]|0)+76>>2]|0,e|0)|0;j=x;x=0;if(j&1){p=15;break a}if(!e){j=f[k>>2]|0;if((f[j+72>>2]|0)!=(f[j+68>>2]|0)){x=0;Ga(683,l|0,0);j=x;x=0;if(j&1){p=15;break a}j=b[s+11>>0]|0;do if(((j<<24>>24<0?f[s+4>>2]|0:j&255)|0)==10){x=0;e=wa(21,s|0,0,-1,49780,10)|0;j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}else{h=(e|0)==0;break}}else h=0;while(0);c=f[k>>2]|0;i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;c:do if(i|0){j=n+4|0;g=i+-1|0;d:do if(h){e=0;while(1){c=c+64|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,e|0)|0;h=x;x=0;if(h&1){p=58;break d}x=0;Ga(462,n|0,f[c+4>>2]|0);h=x;x=0;if(h&1){p=58;break d}f[n>>2]=6920;h=f[j>>2]|0;x=0;Ga(f[(f[h>>2]|0)+44>>2]|0,h|0,a|0);h=x;x=0;if(h&1){p=59;break d}_P(n);e=e+1|0;if(e>>>0>=i>>>0)break c;c=f[k>>2]|0}}else{e=0;while(1){c=c+64|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,e|0)|0;h=x;x=0;if(h&1){p=58;break d}x=0;Ga(462,n|0,f[c+4>>2]|0);h=x;x=0;if(h&1){p=58;break d}f[n>>2]=6920;h=f[j>>2]|0;x=0;Ga(f[(f[h>>2]|0)+44>>2]|0,h|0,a|0);h=x;x=0;if(h&1){p=59;break d}if(e>>>0>>0){x=0;Fa(459,l|0);h=x;x=0;if(h&1){p=59;break d}}_P(n);e=e+1|0;if(e>>>0>=i>>>0)break c;c=f[k>>2]|0}}while(0);if((p|0)==58)e=Ya()|0;else if((p|0)==59){e=Ya()|0;_P(n)}break a}while(0);x=0;Ga(684,l|0,0);n=x;x=0;if(!(n&1))break;e=Ya()|0;break a}}x=0;Fa(461,l|0);a=x;x=0;if(a&1){p=15;break a}f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;c=n+11|0;b[c>>0]=2;d[n>>1]=32123;b[n+2>>0]=0;x=0;Ga(682,l|0,n|0);l=x;x=0;if(l&1){e=Ya()|0;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);break a}else{if((b[c>>0]|0)<0)Hta(f[n>>2]|0);break}}while(0);_P(o);_P(q);_P(r);if((b[s+11>>0]|0)>=0){u=m;return}Hta(f[s>>2]|0);u=m;return}}while(0);if((p|0)==15)e=Ya()|0;_P(o)}_P(q)}_P(r)}while(0);if((b[s+11>>0]|0)>=0)jb(e|0);Hta(f[s>>2]|0);jb(e|0)}function Mg(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,v=0,w=0,y=0,z=0,A=0;w=u;u=u+192|0;z=w+144|0;A=w+136|0;e=w+96|0;h=w+88|0;i=w+80|0;y=w+72|0;n=w+56|0;o=w+44|0;m=w+32|0;p=w+24|0;q=w+16|0;s=w+8|0;t=w;f[z>>2]=4;v=c+60|0;d=f[v>>2]|0;if(d>>>0<(f[c+64>>2]|0)>>>0){f[d>>2]=4;f[v>>2]=d+4}else SA(c+56|0,z);r=(b[(f[(f[c+48>>2]|0)+-4>>2]|0)+84>>0]|0)!=0;g=VN(80)|0;j=e;k=c+108|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(462,h|0,0);l=x;x=0;do if(l&1)d=Ya()|0;else{f[h>>2]=7696;x=0;Ga(462,i|0,0);l=x;x=0;if(l&1){d=Ya()|0;_P(h);break}f[i>>2]=7280;x=0;j=z;k=e;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ja(36,g|0,z|0,h|0,i|0);l=x;x=0;if(l&1)e=1;else{x=0;Ga(462,A|0,g|0);l=x;x=0;if(l&1)e=0;else{f[A>>2]=17256;_P(i);_P(h);x=0;Ia(114,z|0,c|0,0);l=x;x=0;if(l&1)d=Ya()|0;else{g=z+4|0;x=0;d=qa(340,f[g>>2]|0)|0;l=x;x=0;if(l&1)i=29;else{x=0;Ga(462,y|0,d|0);l=x;x=0;if(l&1)i=29;else{f[y>>2]=7584;d=f[g>>2]|0;if(!d)i=14;else{e=f[y+4>>2]|0;if(!e)i=40;else if((f[e+68>>2]|0)==(f[e+64>>2]|0))i=14;else i=40}a:do if((i|0)==14){f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;d=qa(318,16)|0;l=x;x=0;if(l&1)d=Ya()|0;else{f[n>>2]=d;f[n+8>>2]=-2147483632;f[n+4>>2]=11;j=d;k=44242;l=j+11|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[d+11>>0]=0;f[o+8>>2]=0;e=o+11|0;b[e>>0]=7;b[o>>0]=b[44254]|0;b[o+1>>0]=b[44255]|0;b[o+2>>0]=b[44256]|0;b[o+3>>0]=b[44257]|0;b[o+4>>0]=b[44258]|0;b[o+5>>0]=b[44259]|0;b[o+6>>0]=b[44260]|0;b[o+7>>0]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,48)|0;l=x;x=0;do if(l&1)d=Ya()|0;else{f[m>>2]=d;f[m+8>>2]=-2147483600;f[m+4>>2]=44;j=d;k=44621;l=j+44|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[d+44>>0]=0;x=0;Ka(8,c|0,n|0,o|0,m|0,0);l=x;x=0;if(l&1){d=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[e>>0]|0)<0)Hta(f[o>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);d=f[g>>2]|0;i=40;break a}while(0);if((b[e>>0]|0)<0)Hta(f[o>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0)}}while(0);b:do if((i|0)==40){h=A+4|0;e=f[h>>2]|0;x=0;Ga(462,q|0,d|0);o=x;x=0;c:do if(!(o&1)){f[q>>2]=7696;g=e+72|0;d=e+76|0;if(!(f[d>>2]|0))i=43;else{x=0;Fa(429,g|0);o=x;x=0;if(!(o&1))i=43}if((i|0)==43){f[d>>2]=f[q+4>>2];x=0;Fa(430,g|0);o=x;x=0;if(!(o&1)){x=0;Ga(462,p|0,f[d>>2]|0);o=x;x=0;if(!(o&1)){f[p>>2]=7696;_P(p);_P(q);d=f[h>>2]|0;x=0;Ia(123,t|0,c|0,r|0);c=x;x=0;if(c&1)break;e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))i=48;else{x=0;Fa(429,e|0);c=x;x=0;if(!(c&1))i=48}do if((i|0)==48){f[d>>2]=f[t+4>>2];x=0;Fa(430,e|0);c=x;x=0;if(c&1)break;x=0;Ga(462,s|0,f[d>>2]|0);c=x;x=0;if(c&1)break;f[s>>2]=7280;_P(s);_P(t);f[v>>2]=(f[v>>2]|0)+-4;d=f[h>>2]|0;if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);v=x;x=0;if(v&1)break c;f[a>>2]=17256;_P(y);_P(z);_P(A);u=w;return}while(0);d=Ya()|0;_P(t);break b}}}d=Ya()|0;_P(q);break b}while(0);d=Ya()|0}while(0);_P(y)}}if((i|0)==29)d=Ya()|0;_P(z)}_P(A);A=d;jb(A|0)}}d=Ya()|0;_P(i);_P(h);if(!e){A=d;jb(A|0)}}while(0);Hta(g);A=d;jb(A|0)}function Ng(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=0;c=JQ(a)|0;a:do if(!c){b:do if(a|0){d=b[51446]|0;c:do if(!(d<<24>>24)){c=a;g=6}else{c=a;e=51446;while(1){if((b[c>>0]|0)!=d<<24>>24)break c;c=c+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){g=6;break}}}while(0);if((g|0)==6){d=b[c>>0]|0;if(d<<24>>24){g=b[52228]|0;if(!(g<<24>>24))break a;do{if(d<<24>>24==g<<24>>24){d=c;e=52228;do{d=d+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){c=d;break a}}while((b[d>>0]|0)==f<<24>>24)}c=c+1|0;d=b[c>>0]|0}while(d<<24>>24!=0)}}d=b[51449]|0;if(!(d<<24>>24))c=a;else{c=a;e=51449;do{if((b[c>>0]|0)!=d<<24>>24)break b;c=c+1|0;e=e+1|0;d=b[e>>0]|0}while(d<<24>>24!=0)}while(1){if(Baa(c)|0)break;d=$ma(c)|0;e=(d|0)==0;if((d|0)==(c|0)|e)break b;else c=e?c:d}if(c|0)break a}while(0);if((b[a>>0]|0)==47){c=Ez(a+1|0)|0;if(c|0)break}c=Eh(a)|0;if(!c){a=0;return a|0}}while(0);d:while(1){d=JQ(c)|0;if(d|0){c=d;continue}e=b[51446]|0;e:do if(!(e<<24>>24)){d=c;g=25}else{d=c;f=51446;while(1){if((b[d>>0]|0)!=e<<24>>24){g=31;break e}d=d+1|0;f=f+1|0;e=b[f>>0]|0;if(!(e<<24>>24)){g=25;break}}}while(0);if((g|0)==25){g=0;e=b[d>>0]|0;if(!(e<<24>>24))g=31;else{a=b[52228]|0;if(a<<24>>24)while(1){if(e<<24>>24==a<<24>>24){e=d;f=52228;while(1){e=e+1|0;f=f+1|0;g=b[f>>0]|0;if(!(g<<24>>24)){c=e;continue d}if((b[e>>0]|0)!=g<<24>>24)break}}d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24)){g=31;break}}}}if((g|0)==31){g=0;d=b[51449]|0;f:do if(!(d<<24>>24)){f=c;g=34}else{f=c;e=51449;while(1){if((b[f>>0]|0)!=d<<24>>24)break f;f=f+1|0;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24)){g=34;break}}}while(0);g:do if((g|0)==34){while(1){if(Baa(f)|0)break;d=$ma(f)|0;e=(d|0)==0;if((d|0)==(f|0)|e)break g;else{f=e?f:d;g=34}}if(f|0){c=f;continue d}}while(0);if((b[c>>0]|0)==47){d=Ez(c+1|0)|0;if(d|0){c=d;continue}}d=Eh(c)|0}if(!d)break;else c=d}return c|0}function Og(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=u;u=u+48|0;n=k+24|0;l=k+12|0;m=k;cg(a,c,e,g);f[a>>2]=21308;x=0;Ia(79,n|0,81616,53123);j=x;x=0;a:do if(j&1){c=Ya()|0;h=a+8+11|0}else{j=a+8|0;h=j+11|0;if((b[h>>0]|0)<0){b[f[j>>2]>>0]=0;f[a+12>>2]=0}else{b[j>>0]=0;b[h>>0]=0}x=0;Ga(501,j|0,0);i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];x=0;Ga(f[(f[c>>2]|0)+20>>2]|0,n|0,c|0);i=x;x=0;do if(i&1)c=Ya()|0;else{i=n+11|0;c=b[i>>0]|0;o=c<<24>>24<0;x=0;ta(41,j|0,(o?f[n>>2]|0:n)|0,(o?f[n+4>>2]|0:c&255)|0)|0;c=x;x=0;if(c&1){c=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[n>>2]|0);do switch(g|0){case 0:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53340]|0;b[m+1>>0]=b[53341]|0;b[m+2>>0]=b[53342]|0;c=m+3|0;break}case 1:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=2;d[m>>1]=29295;c=m+2|0;break}case 2:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=2;d[m>>1]=29029;c=m+2|0;break}case 3:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53344]|0;b[m+1>>0]=b[53345]|0;b[m+2>>0]=b[53346]|0;c=m+3|0;break}case 4:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=2;d[m>>1]=29799;c=m+2|0;break}case 5:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53348]|0;b[m+1>>0]=b[53349]|0;b[m+2>>0]=b[53350]|0;c=m+3|0;break}case 6:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=2;d[m>>1]=29804;c=m+2|0;break}case 7:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53352]|0;b[m+1>>0]=b[53353]|0;b[m+2>>0]=b[53354]|0;c=m+3|0;break}case 8:{c=m+4|0;o=c;f[o>>2]=0;f[o+4>>2]=0;b[m+11>>0]=4;f[m>>2]=1937075312;break}case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53356]|0;b[m+1>>0]=b[53357]|0;b[m+2>>0]=b[53358]|0;c=m+3|0;break}case 10:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=5;b[m>>0]=b[53360]|0;b[m+1>>0]=b[53361]|0;b[m+2>>0]=b[53362]|0;b[m+3>>0]=b[53363]|0;b[m+4>>0]=b[53364]|0;c=m+5|0;break}case 11:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53366]|0;b[m+1>>0]=b[53367]|0;b[m+2>>0]=b[53368]|0;c=m+3|0;break}case 12:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=3;b[m>>0]=b[53370]|0;b[m+1>>0]=b[53371]|0;b[m+2>>0]=b[53372]|0;c=m+3|0;break}case 13:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=5;b[m>>0]=b[53374]|0;b[m+1>>0]=b[53375]|0;b[m+2>>0]=b[53376]|0;b[m+3>>0]=b[53377]|0;b[m+4>>0]=b[53378]|0;c=m+5|0;break}default:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;b[m+11>>0]=7;b[m>>0]=b[53380]|0;b[m+1>>0]=b[53381]|0;b[m+2>>0]=b[53382]|0;b[m+3>>0]=b[53383]|0;b[m+4>>0]=b[53384]|0;b[m+5>>0]=b[53385]|0;b[m+6>>0]=b[53386]|0;c=m+7|0}}while(0);b[c>>0]=0;x=0;Ia(92,l|0,53148,m|0);o=x;x=0;if(o&1)c=Ya()|0;else{x=0;c=sa(991,l|0,53148)|0;o=x;x=0;do if(o&1)c=Ya()|0;else{f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];f[n+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;i=n+11|0;o=b[i>>0]|0;g=o<<24>>24<0;x=0;ta(41,j|0,(g?f[n>>2]|0:n)|0,(g?f[n+4>>2]|0:o&255)|0)|0;o=x;x=0;if(o&1){c=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[n>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);x=0;Ga(f[(f[e>>2]|0)+20>>2]|0,n|0,e|0);o=x;x=0;do if(o&1)c=Ya()|0;else{i=n+11|0;o=b[i>>0]|0;m=o<<24>>24<0;x=0;ta(41,j|0,(m?f[n>>2]|0:n)|0,(m?f[n+4>>2]|0:o&255)|0)|0;o=x;x=0;if(o&1){c=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[n>>2]|0);x=0;sa(991,j|0,53419)|0;o=x;x=0;if(o&1){c=Ya()|0;break a}else{u=k;return}}while(0);break a}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0)}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);break a}while(0)}while(0);f[a>>2]=6640;if((b[h>>0]|0)>=0){dfa(a);jb(c|0)}Hta(f[a+8>>2]|0);dfa(a);jb(c|0)}function Pg(a,c,d,e,g,h,i,j,k,l){a=a|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,n=0,o=0;o=u;u=u+16|0;m=o+12|0;n=o;if(a){c=b_(c,85056)|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](m,c);a=f[m>>2]|0;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;Lc[f[(f[c>>2]|0)+32>>2]&1023](n,c);a=k+8+3|0;if((b[a>>0]|0)<0){d=f[k>>2]|0;f[m>>2]=0;$ga(d,m);f[k+4>>2]=0}else{f[m>>2]=0;$ga(k,m);b[a>>0]=0}x=0;Ga(710,k|0,0);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);Lc[f[(f[c>>2]|0)+28>>2]&1023](n,c);a=j+8+3|0;if((b[a>>0]|0)<0){k=f[j>>2]|0;f[m>>2]=0;$ga(k,m);f[j+4>>2]=0}else{f[m>>2]=0;$ga(j,m);b[a>>0]=0}x=0;Ga(710,j|0,0);k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);a=vc[f[(f[c>>2]|0)+12>>2]&511](c)|0;f[e>>2]=a;a=vc[f[(f[c>>2]|0)+16>>2]&511](c)|0;f[g>>2]=a;Lc[f[(f[c>>2]|0)+20>>2]&1023](n,c);a=h+11|0;if((b[a>>0]|0)<0){g=f[h>>2]|0;b[m>>0]=0;vga(g,m);f[h+4>>2]=0}else{b[m>>0]=0;vga(h,m);b[a>>0]=0}x=0;Ga(501,h|0,0);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];f[h+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[c>>2]|0)+24>>2]&1023](n,c);a=i+8+3|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;f[m>>2]=0;$ga(h,m);f[i+4>>2]=0}else{f[m>>2]=0;$ga(i,m);b[a>>0]=0}x=0;Ga(710,i|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);a=vc[f[(f[c>>2]|0)+36>>2]&511](c)|0}else{c=b_(c,85048)|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](m,c);a=f[m>>2]|0;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;Lc[f[(f[c>>2]|0)+32>>2]&1023](n,c);a=k+8+3|0;if((b[a>>0]|0)<0){d=f[k>>2]|0;f[m>>2]=0;$ga(d,m);f[k+4>>2]=0}else{f[m>>2]=0;$ga(k,m);b[a>>0]=0}x=0;Ga(710,k|0,0);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);Lc[f[(f[c>>2]|0)+28>>2]&1023](n,c);a=j+8+3|0;if((b[a>>0]|0)<0){k=f[j>>2]|0;f[m>>2]=0;$ga(k,m);f[j+4>>2]=0}else{f[m>>2]=0;$ga(j,m);b[a>>0]=0}x=0;Ga(710,j|0,0);k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);a=vc[f[(f[c>>2]|0)+12>>2]&511](c)|0;f[e>>2]=a;a=vc[f[(f[c>>2]|0)+16>>2]&511](c)|0;f[g>>2]=a;Lc[f[(f[c>>2]|0)+20>>2]&1023](n,c);a=h+11|0;if((b[a>>0]|0)<0){g=f[h>>2]|0;b[m>>0]=0;vga(g,m);f[h+4>>2]=0}else{b[m>>0]=0;vga(h,m);b[a>>0]=0}x=0;Ga(501,h|0,0);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];f[h+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[c>>2]|0)+24>>2]&1023](n,c);a=i+8+3|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;f[m>>2]=0;$ga(h,m);f[i+4>>2]=0}else{f[m>>2]=0;$ga(i,m);b[a>>0]=0}x=0;Ga(710,i|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);a=vc[f[(f[c>>2]|0)+36>>2]&511](c)|0}f[l>>2]=a;u=o;return}function Qg(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,t=0,v=0,w=0,y=0,z=0,A=0;t=0;v=u;u=u+80|0;s=v+56|0;r=v+8|0;p=v+64|0;q=v;z=v+24|0;k=v+48|0;y=v+44|0;w=v+12|0;o=c+4|0;n=f[o>>2]|0;f[k>>2]=f[n+76>>2];f[y>>2]=f[n+80>>2];f[r>>2]=f[k>>2];f[s>>2]=f[y>>2];Qh(z,r,s);f[w>>2]=0;y=w+4|0;f[y>>2]=0;f[w+8>>2]=0;k=f[o>>2]|0;k=(f[k+80>>2]|0)-(f[k+76>>2]|0)>>3;do if(!k){c=0;d=0;t=4}else{l=b+16|0;m=b+12|0;n=w+8|0;j=0;a:while(1){c=f[l>>2]|0;b:do if(c|0){h=(f[(f[o>>2]|0)+76>>2]|0)+(j<<3)+4|0;while(1){d=f[h>>2]|0;g=c+20|0;if(!d)t=13;else{e=f[g>>2]|0;if(!e)break;x=0;d=sa(987,d|0,e|0)|0;i=x;x=0;if(i&1){t=5;break a}if(!d)t=13}if((t|0)==13){t=0;d=f[g>>2]|0;if(!d)break;e=f[h>>2]|0;if(!e)break;x=0;d=sa(987,d|0,e|0)|0;i=x;x=0;if(i&1){t=5;break a}if(!d)break;c=c+4|0}c=f[c>>2]|0;if(!c)break b}i=(f[(f[o>>2]|0)+76>>2]|0)+(j<<3)|0;f[r>>2]=i;x=0;La(27,s|0,m|0,i|0,87750,r|0,p|0);i=x;x=0;if(i&1){t=21;break a}i=f[s>>2]|0;c=f[i+24>>2]|0;i=f[i+28>>2]|0;if((c|0)!=(i|0))do{h=f[c+4>>2]|0;d=f[h+76>>2]|0;h=f[h+80>>2]|0;if((d|0)==(h|0))t=27;else{g=1;do{x=0;e=sa(1056,z|0,d|0)|0;A=x;x=0;if(A&1){t=25;break a}A=(e|0)==0;g=g&(A^1);d=d+8|0}while(!(A|(d|0)==(h|0)));if(g)t=27}do if((t|0)==27){t=0;d=c+8|0;e=f[y>>2]|0;if((e|0)==(f[n>>2]|0)){x=0;Ga(705,w|0,d|0);A=x;x=0;if(A&1){t=30;break a}else break}else{f[e>>2]=f[d>>2];f[y>>2]=e+4;break}}while(0);c=c+12|0}while((c|0)!=(i|0))}while(0);j=j+1|0;if(j>>>0>=k>>>0){t=3;break}}if((t|0)==3){c=f[w>>2]|0;d=f[y>>2]|0;t=4;break}else if((t|0)==5){e=Ya()|0;break}else if((t|0)==21){e=Ya()|0;break}else if((t|0)==25){e=Ya()|0;break}else if((t|0)==30){e=Ya()|0;break}}while(0);c:do if((t|0)==4){x=0;Ia(159,c|0,d|0,q|0);A=x;x=0;if(A&1){e=Ya()|0;break}c=f[w>>2]|0;j=f[y>>2]|0;d=c;f[r>>2]=d;k=j;do if((j|0)==(c|0))t=38;else{e=s;g=r;while(1){f[e>>2]=f[g>>2];g=(f[s>>2]|0)+4|0;f[s>>2]=g;if((g|0)==(j|0)){t=36;break}e=f[r>>2]|0;h=f[e>>2]|0;if((h|0)==(f[g>>2]|0))break;else{e=r;g=s}}if((t|0)==36){t=38;break}if((e|0)==(j|0))i=j;else{g=e+8|0;if((g|0)!=(j|0))do{A=h;h=f[g>>2]|0;if((A|0)!=(h|0)){e=e+4|0;f[e>>2]=h}g=g+4|0}while((g|0)!=(j|0));i=e+4|0}}while(0);if((t|0)==38)i=j;e=i;g=e-d>>2;h=k-d>>2;do if(g>>>0>h>>>0){x=0;Ga(706,w|0,g-h|0);A=x;x=0;if(A&1){e=Ya()|0;break c}else{c=f[w>>2]|0;e=f[y>>2]|0;d=c;break}}else if(g>>>0>=h>>>0|(i|0)==(j|0))e=k;else{e=j+(~((j+-4-e|0)>>>2)<<2)|0;f[y>>2]=e}while(0);f[a>>2]=0;l=a+4|0;f[l>>2]=0;f[a+8>>2]=0;j=e-d>>2;d:do if(j){k=a+8|0;d=0;i=0;h=0;while(1){e=f[c+(d<<2)>>2]|0;g=f[b>>2]|0;if((i|0)==(h|0)){x=0;Ga(679,a|0,g+(e<<4)|0);A=x;x=0;if(A&1){t=62;break}}else{x=0;Ga(462,i|0,f[g+(e<<4)+4>>2]|0);A=x;x=0;if(A&1){t=62;break}f[i>>2]=15556;c=i+8|0;x=0;Ga(462,c|0,f[g+(e<<4)+12>>2]|0);A=x;x=0;if(A&1){t=57;break}f[c>>2]=15572;f[l>>2]=(f[l>>2]|0)+16}d=d+1|0;c=f[w>>2]|0;if(d>>>0>=j>>>0)break d;i=f[l>>2]|0;h=f[k>>2]|0}if((t|0)==57){e=Ya()|0;g=I;_P(i)}else if((t|0)==62){e=Ya()|0;g=I}c=f[a>>2]|0;if(!c)break c;d=f[l>>2]|0;if((d|0)!=(c|0)){do{A=d+-16|0;f[l>>2]=A;_P(d+-8|0);_P(A);d=f[l>>2]|0}while((d|0)!=(c|0));c=f[a>>2]|0}Hta(c);break c}while(0);if(c|0){d=f[y>>2]|0;if((d|0)!=(c|0))f[y>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}c=f[z+8>>2]|0;if(c|0)do{A=c;c=f[c>>2]|0;y=A+8|0;Kc[f[f[y>>2]>>2]&511](y);Hta(A)}while((c|0)!=0);c=f[z>>2]|0;f[z>>2]=0;if(!c){u=v;return}Hta(c);u=v;return}while(0);c=f[w>>2]|0;if(c|0){d=f[y>>2]|0;if((d|0)!=(c|0))f[y>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}c=f[z+8>>2]|0;if(c|0)do{A=c;c=f[c>>2]|0;y=A+8|0;Kc[f[f[y>>2]>>2]&511](y);Hta(A)}while((c|0)!=0);c=f[z>>2]|0;f[z>>2]=0;if(!c)jb(e|0);Hta(c);jb(e|0)}function Rg(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;q=0;r=u;u=u+368|0;m=r+320|0;s=r+140|0;j=r+128|0;e=r+88|0;p=r+72|0;o=r+64|0;l=r+24|0;n=r+8|0;k=r;Gv(j,d+300|0);x=0;Ja(14,e|0,38969,0,-1);i=x;x=0;if(!(i&1)){x=0;h=m;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));La(12,s|0,a|0,d|0,j|0,m|0,0);i=x;x=0;if(!(i&1)){e=f[j>>2]|0;if(e|0){h=j+4|0;d=f[h>>2]|0;if((d|0)!=(e|0)){do{g=d+-52|0;f[h>>2]=g;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[h>>2]|0}else d=g}while((d|0)!=(e|0));e=f[j>>2]|0}Hta(e)}x=0;ta(47,s|0,1,0)|0;j=x;x=0;if(j&1){d=Ya()|0;j=I}else{d=f[s+172>>2]|0;h=f[s+176>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;i=h-d|0;do if(i>>>0>4294967279){x=0;Fa(428,m|0);x=0;q=58}else{if(i>>>0<11){b[m+11>>0]=i;e=m}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;j=x;x=0;if(j&1){q=58;break}f[m>>2]=e;f[m+8>>2]=g|-2147483648;f[m+4>>2]=i}if((d|0)!=(h|0)){g=e;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(h|0))break;else g=g+1|0}e=e+i|0}b[e>>0]=0;x=0;Ga(558,p|0,m|0);j=x;x=0;if(j&1){d=Ya()|0;e=I;if((b[m+11>>0]|0)>=0){q=61;break}Hta(f[m>>2]|0);q=61;break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);x=0;Ga(559,o|0,s|0);j=x;x=0;if(j&1){d=Ya()|0;e=I}else{x=0;j=qa(318,120)|0;i=x;x=0;if(i&1){d=Ya()|0;e=I}else{x=0;Ja(14,l|0,38969,0,-1);i=x;x=0;do if(i&1)q=64;else{x=0;Ga(459,n|0,p|0);i=x;x=0;if(i&1)q=64;else{x=0;Ga(462,k|0,f[o+4>>2]|0);i=x;x=0;do if(i&1){d=Ya()|0;e=I}else{f[k>>2]=9264;x=0;h=m;e=l;g=h+40|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(g|0));Ma(1,j|0,m|0,a|0,n|0,k|0,c|0,0);m=x;x=0;if(m&1){d=Ya()|0;e=I;_P(k);break}_P(k);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);_P(o);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);h=s+148|0;e=f[h>>2]|0;if(e|0){i=s+152|0;d=f[i>>2]|0;if((d|0)!=(e|0)){g=d;while(1){d=g+-52|0;f[i>>2]=d;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);d=f[i>>2]|0}if((d|0)==(e|0))break;else g=d}e=f[h>>2]|0}Hta(e)}e=f[s+56>>2]|0;if(e|0){d=s+60|0;g=f[d>>2]|0;if((g|0)!=(e|0))f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}h=s+44|0;e=f[h>>2]|0;if(!e){u=r;return j|0}g=s+48|0;d=f[g>>2]|0;if((d|0)!=(e|0)){do{s=d+-8|0;f[g>>2]=s;Kc[f[f[s>>2]>>2]&511](s);d=f[g>>2]|0}while((d|0)!=(e|0));e=f[h>>2]|0}Hta(e);u=r;return j|0}while(0);if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0)}}while(0);if((q|0)==64){d=Ya()|0;e=I}Hta(j)}_P(o)}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}while(0);if((q|0)==58){d=Ya()|0;e=I;q=61}j=e}i=s+148|0;e=f[i>>2]|0;if(e|0){a=s+152|0;g=f[a>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[a>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[a>>2]|0}else g=h}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}e=f[s+56>>2]|0;if(e|0){g=s+60|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-4-e|0)>>>2)<<2);Hta(e)}i=s+44|0;e=f[i>>2]|0;if(!e){s=d;jb(s|0)}h=s+48|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{s=g+-8|0;f[h>>2]=s;Kc[f[f[s>>2]>>2]&511](s);g=f[h>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e);s=d;jb(s|0)}}a=Ya()|0;h=I;e=f[j>>2]|0;if(!e){s=a;jb(s|0)}i=j+4|0;d=f[i>>2]|0;if((d|0)!=(e|0)){do{g=d+-52|0;f[i>>2]=g;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[i>>2]|0}else d=g}while((d|0)!=(e|0));e=f[j>>2]|0}Hta(e);s=a;jb(s|0);return 0}function Sg(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,v=0,w=0,y=0,z=0,A=0;y=u;u=u+64|0;h=y+40|0;A=y+48|0;w=y+24|0;g=y+16|0;z=y;d=a+64|0;qV(h,f[d>>2]|0);f[h>>2]=7696;a:do if(!(f[h+4>>2]|0))g=0;else{x=0;Ga(462,g|0,f[d>>2]|0);r=x;x=0;if(r&1)d=Ya()|0;else{f[g>>2]=7696;r=f[g+4>>2]|0;x=0;Ga(f[(f[r>>2]|0)+32>>2]|0,w|0,r|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ka(5,A|0,w|0,0,0,1);r=x;x=0;if(r&1){d=Ya()|0;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}d=(FO(A,36333)|0)==0;if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);_P(g);g=d;break a}while(0);_P(g)}_P(h);A=d;jb(A|0)}while(0);_P(h);qV(A,f[a+72>>2]|0);f[A>>2]=7696;a=f[A+4>>2]|0;_P(A);f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;d=(a|0)!=0;b:do if(g){if(d){r=a+64|0;h=f[r>>2]|0;n=(f[a+68>>2]|0)-h>>3;if(n|0){d=A+11|0;o=A+4|0;s=z+11|0;p=c+11|0;q=c+4|0;g=0;a=h;while(1){v=f[a+(g<<3)+4>>2]|0;x=0;Ga(f[(f[v>>2]|0)+32>>2]|0,z|0,v|0);v=x;x=0;if(v&1){g=39;break}x=0;Ka(5,w|0,z|0,0,0,1);v=x;x=0;if(v&1){g=40;break}if((b[d>>0]|0)<0){b[f[A>>2]>>0]=0;f[o>>2]=0}else{b[A>>0]=0;b[d>>0]=0}x=0;Ga(501,A|0,0);v=x;x=0;if(v&1){g=27;break}f[A>>2]=f[w>>2];f[A+4>>2]=f[w+4>>2];f[A+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((b[s>>0]|0)<0)Hta(f[z>>2]|0);if(!(FO(A,34639)|0)){d=0;g=73;break b}h=b[d>>0]|0;j=h<<24>>24<0;h=h&255;k=j?f[o>>2]|0:h;v=b[p>>0]|0;a=v<<24>>24<0;do if((k|0)==((a?f[q>>2]|0:v&255)|0)){l=f[A>>2]|0;m=j?l:A;a=a?f[c>>2]|0:c;i=(k|0)==0;if(j){if(i){d=0;g=73;break b}if(!(lO(m,a,k)|0)){d=0;g=73;break b}else break}if(i){d=0;g=73;break b}if((b[a>>0]|0)==(l&255)<<24>>24){i=A;do{h=h+-1|0;i=i+1|0;if(!h){d=0;g=73;break b}a=a+1|0}while((b[i>>0]|0)==(b[a>>0]|0))}}while(0);g=g+1|0;if(g>>>0>=n>>>0){d=1;g=73;break b}a=f[r>>2]|0}if((g|0)==27){z=Za(0)|0;soa(z)}else if((g|0)==39)e=Ya()|0;else if((g|0)==40){e=Ya()|0;if((b[s>>0]|0)<0)Hta(f[z>>2]|0)}g=76;break}}d=(FO(c,34634)|0)!=0;g=73}else{if(d){q=a+64|0;g=f[q>>2]|0;m=(f[a+68>>2]|0)-g>>3;if(m|0){d=A+11|0;n=A+4|0;r=z+11|0;o=c+11|0;p=c+4|0;e=0;while(1){t=f[g+(e<<3)+4>>2]|0;x=0;Ga(f[(f[t>>2]|0)+32>>2]|0,z|0,t|0);t=x;x=0;if(t&1){g=67;break}x=0;Ka(5,w|0,z|0,0,0,1);t=x;x=0;if(t&1){g=68;break}if((b[d>>0]|0)<0){b[f[A>>2]>>0]=0;f[n>>2]=0}else{b[A>>0]=0;b[d>>0]=0}x=0;Ga(501,A|0,0);t=x;x=0;if(t&1){g=55;break}f[A>>2]=f[w>>2];f[A+4>>2]=f[w+4>>2];f[A+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((b[r>>0]|0)<0)Hta(f[z>>2]|0);if(!(FO(A,34639)|0)){d=1;g=73;break b}a=b[d>>0]|0;i=a<<24>>24<0;a=a&255;j=i?f[n>>2]|0:a;t=b[o>>0]|0;g=t<<24>>24<0;do if((j|0)==((g?f[p>>2]|0:t&255)|0)){k=f[A>>2]|0;l=i?k:A;g=g?f[c>>2]|0:c;h=(j|0)==0;if(i){if(h){d=1;g=73;break b}if(!(lO(l,g,j)|0)){d=1;g=73;break b}else break}if(h){d=1;g=73;break b}if((b[g>>0]|0)==(k&255)<<24>>24){h=A;do{a=a+-1|0;h=h+1|0;if(!a){d=1;g=73;break b}g=g+1|0}while((b[h>>0]|0)==(b[g>>0]|0))}}while(0);e=e+1|0;if(e>>>0>=m>>>0){d=0;g=73;break b}g=f[q>>2]|0}if((g|0)==55){z=Za(0)|0;soa(z)}else if((g|0)==67)v=Ya()|0;else if((g|0)==68){e=Ya()|0;if((b[r>>0]|0)<0){Hta(f[z>>2]|0);v=e}else v=e}e=v;g=76;break}}d=(FO(c,34634)|0)==0;g=73}while(0);if((g|0)==73){if((b[A+11>>0]|0)>=0){u=y;return d|0}Hta(f[A>>2]|0);u=y;return d|0}else if((g|0)==76){if((b[d>>0]|0)<0)Hta(f[A>>2]|0);A=e;jb(A|0)}return 0}function Tg(a,c,d,e,g,h,i,j,k,l){a=a|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,n=0,o=0;o=u;u=u+16|0;m=o+12|0;n=o;if(a){c=b_(c,85040)|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](m,c);a=f[m>>2]|0;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;Lc[f[(f[c>>2]|0)+32>>2]&1023](n,c);a=k+11|0;if((b[a>>0]|0)<0){d=f[k>>2]|0;b[m>>0]=0;vga(d,m);f[k+4>>2]=0}else{b[m>>0]=0;vga(k,m);b[a>>0]=0}x=0;Ga(501,k|0,0);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[c>>2]|0)+28>>2]&1023](n,c);a=j+11|0;if((b[a>>0]|0)<0){k=f[j>>2]|0;b[m>>0]=0;vga(k,m);f[j+4>>2]=0}else{b[m>>0]=0;vga(j,m);b[a>>0]=0}x=0;Ga(501,j|0,0);k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);a=vc[f[(f[c>>2]|0)+12>>2]&511](c)|0;b[e>>0]=a;a=vc[f[(f[c>>2]|0)+16>>2]&511](c)|0;b[g>>0]=a;Lc[f[(f[c>>2]|0)+20>>2]&1023](n,c);a=h+11|0;if((b[a>>0]|0)<0){g=f[h>>2]|0;b[m>>0]=0;vga(g,m);f[h+4>>2]=0}else{b[m>>0]=0;vga(h,m);b[a>>0]=0}x=0;Ga(501,h|0,0);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];f[h+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[c>>2]|0)+24>>2]&1023](n,c);a=i+11|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;b[m>>0]=0;vga(h,m);f[i+4>>2]=0}else{b[m>>0]=0;vga(i,m);b[a>>0]=0}x=0;Ga(501,i|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);a=vc[f[(f[c>>2]|0)+36>>2]&511](c)|0}else{c=b_(c,85032)|0;Lc[f[(f[c>>2]|0)+44>>2]&1023](m,c);a=f[m>>2]|0;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;Lc[f[(f[c>>2]|0)+32>>2]&1023](n,c);a=k+11|0;if((b[a>>0]|0)<0){d=f[k>>2]|0;b[m>>0]=0;vga(d,m);f[k+4>>2]=0}else{b[m>>0]=0;vga(k,m);b[a>>0]=0}x=0;Ga(501,k|0,0);d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[c>>2]|0)+28>>2]&1023](n,c);a=j+11|0;if((b[a>>0]|0)<0){k=f[j>>2]|0;b[m>>0]=0;vga(k,m);f[j+4>>2]=0}else{b[m>>0]=0;vga(j,m);b[a>>0]=0}x=0;Ga(501,j|0,0);k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);a=vc[f[(f[c>>2]|0)+12>>2]&511](c)|0;b[e>>0]=a;a=vc[f[(f[c>>2]|0)+16>>2]&511](c)|0;b[g>>0]=a;Lc[f[(f[c>>2]|0)+20>>2]&1023](n,c);a=h+11|0;if((b[a>>0]|0)<0){g=f[h>>2]|0;b[m>>0]=0;vga(g,m);f[h+4>>2]=0}else{b[m>>0]=0;vga(h,m);b[a>>0]=0}x=0;Ga(501,h|0,0);g=x;x=0;if(g&1){g=Za(0)|0;soa(g)}f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];f[h+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[c>>2]|0)+24>>2]&1023](n,c);a=i+11|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;b[m>>0]=0;vga(h,m);f[i+4>>2]=0}else{b[m>>0]=0;vga(i,m);b[a>>0]=0}x=0;Ga(501,i|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);a=vc[f[(f[c>>2]|0)+36>>2]&511](c)|0}f[l>>2]=a;u=o;return}function Ug(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=b[a>>0]|0;h=a+1|0;d=f<<24>>24==36?h:a;do if(!d){g=f;j=6}else{while(1)if((b[d>>0]|0)==45)d=d+1|0;else break;d=Ay(d)|0;if(d|0){d=wy(d)|0;if(d|0){i=d;j=7;break}}g=b[a>>0]|0;j=6}while(0);if((j|0)==6)if(g<<24>>24==45){i=h;j=7}else{c=a;e=g}if((j|0)==7)while(1){j=0;d=i+1|0;c=(b[i>>0]|0)==36?d:i;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){i=c;continue}}e=b[i>>0]|0;if(e<<24>>24==45)i=d;else{c=i;break}}m=b[36397]|0;a=m<<24>>24==0;a:do if(!a){if(e<<24>>24==m<<24>>24)d=36397;else{r=0;return r|0}while(1){c=c+1|0;d=d+1|0;f=b[d>>0]|0;e=b[c>>0]|0;if(!(f<<24>>24))break a;if(e<<24>>24!=f<<24>>24){l=0;break}}return l|0}while(0);if(!(e<<24>>24)){r=0;return r|0}if(a){d=0;f=0;while(1){switch(e<<24>>24){case 92:{a=f;c=c+1|0;break}case 34:{d=d^1;a=f;break}case 39:{a=f^1;break}default:if(d){d=1;a=f}else{d=0;a=f;c=f?c:c+-1|0}}c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){l=0;break}else f=a}return l|0}else{d=0;f=0;h=0}b:while(1){c:do switch(e<<24>>24){case 92:{c=c+1|0;a=h;break}case 34:{d=d^1;a=h;break}case 39:{f=f^1;a=h;break}default:if(d){d=1;a=h}else if(f){d=0;f=1;a=h}else{d:do if(e<<24>>24==m<<24>>24){g=c;d=36397;while(1){f=g+1|0;d=d+1|0;a=b[d>>0]|0;if(!(a<<24>>24))break;if((b[f>>0]|0)!=a<<24>>24)break d;else g=f}d=0;f=0;c=g;a=h+1|0;break c}while(0);q=b[51458]|0;r=q<<24>>24==0;e:do if(r)k=c;else{if(e<<24>>24==q<<24>>24){d=c;e=51458}else{d=0;f=0;a=h;break c}while(1){d=d+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24)){k=d;break e}if((b[d>>0]|0)!=f<<24>>24){d=0;f=0;a=h;break c}}}while(0);if(!h)break b;else{d=0;f=0;c=k+-1|0;a=h+-1|0}}}while(0);c=c+1|0;e=b[c>>0]|0;if(!(e<<24>>24)){l=0;j=74;break}else h=a}if((j|0)==74)return l|0;if(!k){r=0;return r|0}c=Bv(k)|0;if(!c){r=0;return r|0}else i=c;f:while(1){d=i+1|0;c=(b[i>>0]|0)==36?d:i;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(!c)j=47;else{c=wy(c)|0;if(!c)j=47;else{p=c;j=48}}if((j|0)==47){j=0;c=b[i>>0]|0;if(c<<24>>24==45){p=d;j=48}else{o=i;n=c}}if((j|0)==48)while(1){d=p+1|0;c=(b[p>>0]|0)==36?d:p;while(1)if((b[c>>0]|0)==45)c=c+1|0;else break;c=Ay(c)|0;if(c|0){c=wy(c)|0;if(c|0){p=c;continue}}c=b[p>>0]|0;if(c<<24>>24==45)p=d;else{o=p;n=c;break}}if(n<<24>>24==m<<24>>24){c=o;d=36397}else{l=i;j=74;break}while(1){c=c+1|0;d=d+1|0;e=b[d>>0]|0;f=b[c>>0]|0;if(!(e<<24>>24))break;if(f<<24>>24!=e<<24>>24){l=i;j=74;break f}}if(!(f<<24>>24)){l=i;j=74;break}else{g=c;c=0;d=0;h=0;a=f}g:while(1){h:do switch(a<<24>>24){case 92:{f=c;c=g+1|0;e=h;break}case 34:{f=c^1;c=g;e=h;break}case 39:{f=c;d=d^1;c=g;e=h;break}default:if(c){f=1;c=g;e=h}else if(d){f=0;d=1;c=g;e=h}else{i:do if(a<<24>>24==m<<24>>24){c=g;d=36397;while(1){e=c+1|0;d=d+1|0;f=b[d>>0]|0;if(!(f<<24>>24))break;if((b[e>>0]|0)!=f<<24>>24)break i;else c=e}f=0;d=0;e=h+1|0;break h}while(0);j:do if(r)c=g;else{if(a<<24>>24==q<<24>>24){c=g;d=51458}else{f=0;d=0;c=g;e=h;break h}while(1){c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break j;if((b[c>>0]|0)!=e<<24>>24){f=0;d=0;c=g;e=h;break h}}}while(0);if(!h)break g;else{f=0;d=0;c=c+-1|0;e=h+-1|0}}}while(0);g=c+1|0;a=b[g>>0]|0;if(!(a<<24>>24)){l=i;j=74;break f}else{c=f;h=e}}c=Bv(c)|0;if(!c){l=i;j=74;break}else i=c}if((j|0)==74)return l|0;return 0}function Vg(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,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0;t=u;u=u+192|0;q=t;y=t+144|0;z=t+120|0;c=t+152|0;k=t+132|0;w=t+96|0;s=t+112|0;r=t+56|0;v=t+40|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;l=z+11|0;b[l>>0]=9;m=z;n=41458;o=m+9|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[z+9>>0]=0;m=c;n=h;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(511,k|0,i|0);p=x;x=0;do if(p&1)c=Ya()|0;else{x=0;m=q;n=c;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ma(4,y|0,z|0,a|0,g|0,q|0,k|0,e|0);p=x;x=0;if(p&1){c=Ya()|0;g=I;j=f[k>>2]|0;if(!j)break;h=k+4|0;a=f[h>>2]|0;if((a|0)!=(j|0)){e=a;while(1){a=e+-52|0;f[h>>2]=a;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);a=f[h>>2]|0}if((a|0)==(j|0))break;else e=a}j=f[k>>2]|0}Hta(j);break}c=f[k>>2]|0;if(c|0){e=k+4|0;j=f[e>>2]|0;if((j|0)!=(c|0)){do{a=j+-52|0;f[e>>2]=a;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[e>>2]|0}else j=a}while((j|0)!=(c|0));c=f[k>>2]|0}Hta(c)}if((b[l>>0]|0)<0)Hta(f[z>>2]|0);x=0;p=qa(318,88)|0;o=x;x=0;a:do if(o&1)c=Ya()|0;else{k=y+4|0;n=f[k>>2]|0;c=f[n+80>>2]|0;j=f[n+76>>2]|0;m=q;n=n+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,p|0);o=x;x=0;do if(o&1)c=Ya()|0;else{j=c-j>>3;m=p+12|0;n=q;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[p+52>>0]=0;b[p+53>>0]=0;b[p+54>>0]=0;c=p+56|0;f[c>>2]=0;f[p>>2]=6516;i=p+60|0;f[i>>2]=9660;g=p+64|0;h=p+68|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;x=0;Ga(516,g|0,j|0);o=x;x=0;if(o&1){c=Ya()|0;e=I;j=f[g>>2]|0;if(j|0){a=f[h>>2]|0;if((a|0)!=(j|0)){do{z=a+-8|0;f[h>>2]=z;Kc[f[f[z>>2]>>2]&511](z);a=f[h>>2]|0}while((a|0)!=(j|0));j=f[g>>2]|0}Hta(j)}break}f[p>>2]=9488;f[i>>2]=9620;j=p+80|0;f[j>>2]=0;d[j+4>>1]=0;b[j+6>>0]=0;f[c>>2]=5;j=f[k>>2]|0;a=(f[j+80>>2]|0)-(f[j+76>>2]|0)>>3;if(!a){_P(y);u=t;return p|0}e=z+4|0;h=v+11|0;l=w+11|0;c=0;while(1){x=0;Ga(462,z|0,f[(f[j+76>>2]|0)+(c<<3)+4>>2]|0);o=x;x=0;if(o&1){a=51;break}f[z>>2]=13852;o=f[e>>2]|0;x=0;Ga(f[(f[o>>2]|0)+32>>2]|0,w|0,o|0);o=x;x=0;if(o&1){a=52;break}j=f[(f[i>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;o=x;x=0;if(o&1){a=53;break}m=r;n=(f[e>>2]|0)+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(459,v|0,w|0);o=x;x=0;if(o&1){a=54;break}x=0;m=q;n=r;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Na(1,g|0,q|0,v|0,0,0,0,1,1);o=x;x=0;if(o&1){c=1;a=55;break}x=0;Ga(462,s|0,g|0);o=x;x=0;if(o&1){c=0;a=55;break}f[s>>2]=7696;x=0;Ga(j|0,i|0,s|0);o=x;x=0;if(o&1){a=56;break}_P(s);if((b[h>>0]|0)<0)Hta(f[v>>2]|0);if((b[l>>0]|0)<0)Hta(f[w>>2]|0);_P(z);c=c+1|0;if(c>>>0>=a>>>0){a=23;break}j=f[k>>2]|0}if((a|0)==23){_P(y);u=t;return p|0}else if((a|0)==51)c=Ya()|0;else if((a|0)==52){c=Ya()|0;a=63}else if((a|0)==53){c=Ya()|0;a=61}else if((a|0)==54){c=Ya()|0;a=60}else if((a|0)==55){t=Ya()|0;j=c;c=t;a=57}else if((a|0)==56){c=Ya()|0;_P(s);j=0;a=57}do if((a|0)==57)if((b[h>>0]|0)<0){Hta(f[v>>2]|0);if(j){a=60;break}else{a=61;break}}else if(j){a=60;break}else{a=61;break}while(0);if((a|0)==60){Hta(g);a=61}if((a|0)==61)if((b[l>>0]|0)<0){Hta(f[w>>2]|0);a=63}else a=63;if((a|0)==63)_P(z);break a}while(0);Hta(p)}while(0);_P(y);z=c;jb(z|0)}while(0);if((b[l>>0]|0)<0)Hta(f[z>>2]|0);z=c;jb(z|0);return 0}function Wg(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;q=0;r=u;u=u+368|0;m=r+320|0;s=r+140|0;i=r+128|0;d=r+88|0;p=r+72|0;o=r+64|0;k=r+24|0;n=r+8|0;l=r;j=lra(a)|0;Gv(i,c+300|0);x=0;Ja(14,d|0,38989,0,-1);h=x;x=0;if(!(h&1)){x=0;g=m;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));La(12,s|0,j|0,c|0,i|0,m|0,0);h=x;x=0;if(!(h&1)){d=f[i>>2]|0;if(d|0){g=i+4|0;c=f[g>>2]|0;if((c|0)!=(d|0)){do{e=c+-52|0;f[g>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[g>>2]|0}else c=e}while((c|0)!=(d|0));d=f[i>>2]|0}Hta(d)}x=0;ta(48,s|0,1,0)|0;i=x;x=0;if(i&1){c=Ya()|0;i=I}else{c=f[s+172>>2]|0;g=f[s+176>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;h=g-c|0;do if(h>>>0>4294967279){x=0;Fa(428,m|0);x=0;q=58}else{if(h>>>0<11){b[m+11>>0]=h;d=m}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;i=x;x=0;if(i&1){q=58;break}f[m>>2]=d;f[m+8>>2]=e|-2147483648;f[m+4>>2]=h}if((c|0)!=(g|0)){e=d;while(1){b[e>>0]=b[c>>0]|0;c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}d=d+h|0}b[d>>0]=0;x=0;Ga(558,p|0,m|0);i=x;x=0;if(i&1){c=Ya()|0;d=I;if((b[m+11>>0]|0)>=0){q=61;break}Hta(f[m>>2]|0);q=61;break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);x=0;Ga(559,o|0,s|0);i=x;x=0;if(i&1){c=Ya()|0;d=I}else{x=0;i=qa(318,120)|0;h=x;x=0;if(h&1){c=Ya()|0;d=I}else{x=0;Ja(14,k|0,38989,0,-1);h=x;x=0;do if(h&1)q=64;else{x=0;Ga(459,n|0,p|0);h=x;x=0;if(h&1)q=64;else{x=0;Ga(462,l|0,f[o+4>>2]|0);h=x;x=0;do if(h&1){c=Ya()|0;d=I}else{f[l>>2]=9264;x=0;g=m;d=k;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));Na(2,i|0,m|0,j|0,n|0,l|0,a|0,0,1);m=x;x=0;if(m&1){c=Ya()|0;d=I;_P(l);break}_P(l);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);_P(o);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);g=s+148|0;d=f[g>>2]|0;if(d|0){h=s+152|0;c=f[h>>2]|0;if((c|0)!=(d|0)){e=c;while(1){c=e+-52|0;f[h>>2]=c;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);c=f[h>>2]|0}if((c|0)==(d|0))break;else e=c}d=f[g>>2]|0}Hta(d)}d=f[s+56>>2]|0;if(d|0){c=s+60|0;e=f[c>>2]|0;if((e|0)!=(d|0))f[c>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}g=s+44|0;d=f[g>>2]|0;if(!d){u=r;return i|0}e=s+48|0;c=f[e>>2]|0;if((c|0)!=(d|0)){do{s=c+-8|0;f[e>>2]=s;Kc[f[f[s>>2]>>2]&511](s);c=f[e>>2]|0}while((c|0)!=(d|0));d=f[g>>2]|0}Hta(d);u=r;return i|0}while(0);if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0)}}while(0);if((q|0)==64){c=Ya()|0;d=I}Hta(i)}_P(o)}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}while(0);if((q|0)==58){c=Ya()|0;d=I;q=61}i=d}h=s+148|0;d=f[h>>2]|0;if(d|0){a=s+152|0;e=f[a>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[a>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=g}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}d=f[s+56>>2]|0;if(d|0){e=s+60|0;g=f[e>>2]|0;if((g|0)!=(d|0))f[e>>2]=g+(~((g+-4-d|0)>>>2)<<2);Hta(d)}h=s+44|0;d=f[h>>2]|0;if(!d){s=c;jb(s|0)}g=s+48|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{s=e+-8|0;f[g>>2]=s;Kc[f[f[s>>2]>>2]&511](s);e=f[g>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d);s=c;jb(s|0)}}a=Ya()|0;g=I;d=f[i>>2]|0;if(!d){s=a;jb(s|0)}h=i+4|0;c=f[h>>2]|0;if((c|0)!=(d|0)){do{e=c+-52|0;f[h>>2]=e;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[h>>2]|0}else c=e}while((c|0)!=(d|0));d=f[i>>2]|0}Hta(d);s=a;jb(s|0);return 0}function Xg(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,v=0,w=0,y=0,z=0;w=0;r=u;u=u+192|0;o=r;y=r+184|0;z=r+168|0;d=r+176|0;v=r+160|0;e=r+120|0;j=r+112|0;k=r+96|0;q=r+104|0;p=r+56|0;s=r+48|0;t=r+40|0;qV(y,f[c+68>>2]|0);f[y>>2]=7280;x=0;Ga(462,d|0,f[c+76>>2]|0);n=x;x=0;if(n&1){z=Ya()|0;_P(y);jb(z|0)}f[d>>2]=13136;x=0;Ga(462,z|0,f[d+4>>2]|0);n=x;x=0;if(n&1){z=Ya()|0;_P(d);_P(y);jb(z|0)}f[z>>2]=7696;_P(d);l=z+4|0;d=f[l>>2]|0;a:do if(!d){x=0;g=qa(318,76)|0;n=x;x=0;b:do if(n&1)d=Ya()|0;else{d=e;h=c+12|0;i=d+40|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));x=0;Ga(462,j|0,0);n=x;x=0;do if(n&1)d=Ya()|0;else{f[j>>2]=7696;x=0;Ga(462,k|0,0);n=x;x=0;if(n&1){d=Ya()|0;_P(j);break}f[k>>2]=7696;d=o;h=e;i=d+40|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));x=0;Fa(427,g|0);n=x;x=0;c:do if(n&1){e=1;w=30}else{d=g+12|0;h=o;i=d+40|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=12916;d=g+60|0;x=0;Ga(462,d|0,f[j+4>>2]|0);n=x;x=0;do if(n&1)d=Ya()|0;else{f[d>>2]=7696;e=g+68|0;x=0;Ga(462,e|0,f[k+4>>2]|0);n=x;x=0;if(n&1){w=Ya()|0;_P(d);d=w;break}f[e>>2]=7696;x=0;Ga(462,v|0,g|0);n=x;x=0;if(n&1){e=0;w=30;break c}f[v>>2]=7696;if(f[l>>2]|0){x=0;Fa(429,z|0);n=x;x=0;if(n&1){d=Ya()|0;_P(v);e=0;break c}}w=v+4|0;f[l>>2]=f[w>>2];f[w>>2]=0;_P(v);_P(k);_P(j);w=36;break a}while(0);e=1;w=31}while(0);if((w|0)==30){d=Ya()|0;w=31}_P(k);_P(j);if(!e)break b}while(0);Hta(g)}while(0)}else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;n=x;x=0;do if(n&1)w=11;else{x=0;Ga(462,o|0,d|0);n=x;x=0;if(n&1)w=11;else{f[o>>2]=7696;if(f[l>>2]|0){x=0;Fa(429,z|0);n=x;x=0;if(n&1){d=Ya()|0;_P(o);break}}w=o+4|0;f[l>>2]=f[w>>2];f[w>>2]=0;_P(o);w=36;break a}}while(0);if((w|0)==11)d=Ya()|0}while(0);if((w|0)==36){j=a+53|0;k=b[j>>0]|0;b[j>>0]=1;m=a+52|0;n=b[m>>0]|0;b[m>>0]=0;d=f[y+4>>2]|0;if(!d){d=0;w=38}else{x=0;d=sa(f[(f[a>>2]|0)+12>>2]|0,a|0,d|0)|0;w=x;x=0;if(w&1)w=49;else w=38}if((w|0)==38){x=0;Ga(462,v|0,d|0);a=x;x=0;if(a&1)w=49;else{f[v>>2]=7280;x=0;g=qa(318,80)|0;a=x;x=0;d:do if(a&1)d=Ya()|0;else{d=p;h=c+12|0;i=d+40|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));x=0;Ga(462,s|0,f[v+4>>2]|0);c=x;x=0;do if(c&1)d=Ya()|0;else{f[s>>2]=7280;d=f[l>>2]|0;if(!d)d=0;else d=(f[403]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,t|0,d|0);c=x;x=0;if(c&1){d=Ya()|0;_P(s);break}f[t>>2]=13136;x=0;d=o;h=p;i=d+40|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));Ja(40,g|0,o|0,s|0,t|0);p=x;x=0;if(p&1)e=1;else{x=0;Ga(462,q|0,g|0);p=x;x=0;if(p&1)e=0;else{f[q>>2]=17192;_P(t);_P(s);d=f[q+4>>2]|0;if(!d){w=0;_P(q);_P(v);b[m>>0]=n;b[j>>0]=k;_P(z);_P(y);u=r;return w|0}b[d+8>>0]=1;w=d;_P(q);_P(v);b[m>>0]=n;b[j>>0]=k;_P(z);_P(y);u=r;return w|0}}d=Ya()|0;_P(t);_P(s);if(!e)break d}while(0);Hta(g)}while(0);_P(v)}}if((w|0)==49)d=Ya()|0;b[m>>0]=n;b[j>>0]=k}_P(z);z=d;_P(y);jb(z|0);return 0}function Yg(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,t=0,v=0,w=0,y=0;s=0;w=u;u=u+400|0;t=w+352|0;y=w+192|0;c=w+312|0;q=w+296|0;m=w+176|0;n=w+164|0;r=w+56|0;o=w+16|0;p=w;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;v=y+11|0;b[v>>0]=6;b[y>>0]=b[40507]|0;b[y+1>>0]=b[40508]|0;b[y+2>>0]=b[40509]|0;b[y+3>>0]=b[40510]|0;b[y+4>>0]=b[40511]|0;b[y+5>>0]=b[40512]|0;b[y+6>>0]=0;j=c;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,q|0,h|0);l=x;x=0;do if(l&1)c=Ya()|0;else{x=0;j=t;k=c;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=wa(25,y|0,a|0,e|0,t|0,q|0)|0;l=x;x=0;if(l&1){c=Ya()|0;h=I;i=f[q>>2]|0;if(!i)break;j=q+4|0;a=f[j>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[j>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[j>>2]|0}else a=e}while((a|0)!=(i|0));i=f[q>>2]|0}Hta(i);break}c=f[q>>2]|0;if(c|0){e=q+4|0;i=f[e>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(c|0));c=f[q>>2]|0}Hta(c)}if((b[v>>0]|0)<0)Hta(f[y>>2]|0);i=h+56|0;c=f[i>>2]|0;switch(c|0){case 8:{i=VN(80)|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;a=m+11|0;b[a>>0]=4;f[m>>2]=1819047278;b[m+4>>0]=0;x=0;j=t;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Na(1,i|0,t|0,m|0,0,0,0,1,1);y=x;x=0;if(y&1){c=Ya()|0;if((b[a>>0]|0)<0)Hta(f[m>>2]|0);Hta(i);y=c;jb(y|0)}else{if((b[a>>0]|0)>=0){y=i;u=w;return y|0}Hta(f[m>>2]|0);y=i;u=w;return y|0}}case 1:{s=30;break}default:{}}do if((s|0)==30){if(!(vc[f[(f[h>>2]|0)+88>>2]&511](h)|0)){c=f[i>>2]|0;break}i=VN(80)|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;a=n+11|0;b[a>>0]=5;b[n>>0]=b[59832]|0;b[n+1>>0]=b[59833]|0;b[n+2>>0]=b[59834]|0;b[n+3>>0]=b[59835]|0;b[n+4>>0]=b[59836]|0;b[n+5>>0]=0;x=0;j=t;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Na(1,i|0,t|0,n|0,0,0,0,1,1);y=x;x=0;if(y&1){c=Ya()|0;if((b[a>>0]|0)<0)Hta(f[n>>2]|0);Hta(i);y=c;jb(y|0)}else{if((b[a>>0]|0)>=0){y=i;u=w;return y|0}Hta(f[n>>2]|0);y=i;u=w;return y|0}}while(0);if((c|0)==4){y=h;u=w;return y|0}c=d+16|0;v=f[c>>2]|0;i=f[v>>2]|0;f[v>>2]=5;AF(y,f[c>>2]|0);x=0;Ga(456,r|0,y|0);v=x;x=0;if(v&1)c=Ya()|0;else{a=r+4|0;b[r+104>>0]=0;x=0;Ga(f[(f[h>>2]|0)+44>>2]|0,h|0,r|0);v=x;x=0;if(v&1)s=60;else{f[f[c>>2]>>2]=i;x=0;h=qa(318,80)|0;v=x;x=0;if(v&1)s=60;else{j=o;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(457,p|0,a|0);g=x;x=0;do if(g&1)c=Ya()|0;else{x=0;j=t;k=o;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Na(1,h|0,t|0,p|0,0,0,0,1,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Spa(r);f[y>>2]=6680;e=y+4|0;c=y+52|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=f[y+28>>2]|0;if(c|0){i=y+32|0;a=f[i>>2]|0;if((a|0)!=(c|0))f[i>>2]=a+(~(((a+-24-c|0)>>>0)/24|0)*24|0);Hta(c)}a=f[y+16>>2]|0;if(a|0){c=y+20|0;i=f[c>>2]|0;if((i|0)!=(a|0))f[c>>2]=i+(~((i+-4-a|0)>>>2)<<2);Hta(a)}if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);y=h;u=w;return y|0}while(0);Hta(h)}}if((s|0)==60)c=Ya()|0;Spa(r)}f[y>>2]=6680;h=y+4|0;i=y+52|0;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);i=f[y+28>>2]|0;if(i|0){a=y+32|0;e=f[a>>2]|0;if((e|0)!=(i|0))f[a>>2]=e+(~(((e+-24-i|0)>>>0)/24|0)*24|0);Hta(i)}e=f[y+16>>2]|0;if(e|0){i=y+20|0;a=f[i>>2]|0;if((a|0)!=(e|0))f[i>>2]=a+(~((a+-4-e|0)>>>2)<<2);Hta(e)}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);y=c;jb(y|0)}while(0);if((b[v>>0]|0)<0)Hta(f[y>>2]|0);y=c;jb(y|0);return 0}function Zg(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,v=0,w=0,y=0,z=0,A=0,B=0;A=0;s=u;u=u+160|0;B=s+144|0;r=s+132|0;t=s+80|0;w=s+8|0;y=s+68|0;z=s+56|0;v=s+44|0;q=s;p=c+436|0;o=p+11|0;e=b[o>>0]|0;if(e<<24>>24<0)e=f[c+440>>2]|0;else e=e&255;if(!e){qV(a,0);f[a>>2]=7280;u=s;return}xp(r);x=0;Ja(16,B|0,p|0,c+4|0,r|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);B=d;jb(B|0)}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);x=0;e=qa(326,B|0)|0;m=x;x=0;a:do if(m&1)A=16;else{l=c+352|0;h=f[l>>2]|0;k=(f[c+356>>2]|0)-h|0;m=(k|0)/12|0;g=(e|0)==0;b:do if(g&(k|0)!=0){i=B+11|0;j=B+4|0;k=t+11|0;g=0;e=h;while(1){x=0;Fa(440,t|0);h=x;x=0;if(h&1){A=29;break}x=0;Ja(16,r|0,p|0,e+(g*12|0)|0,t|0);h=x;x=0;if(h&1){A=30;break}if((b[i>>0]|0)<0){b[f[B>>2]>>0]=0;f[j>>2]=0}else{b[B>>0]=0;b[i>>0]=0}x=0;Ga(501,B|0,0);h=x;x=0;if(h&1){A=23;break}f[B>>2]=f[r>>2];f[B+4>>2]=f[r+4>>2];f[B+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;if((b[k>>0]|0)<0)Hta(f[t>>2]|0);x=0;h=qa(326,B|0)|0;e=x;x=0;if(e&1){A=33;break}e=g+1|0;g=(h|0)==0;if(!(g&e>>>0>>0)){d=g;break b}g=e;e=f[l>>2]|0}if((A|0)==23){z=Za(0)|0;soa(z)}else if((A|0)==29)d=Ya()|0;else if((A|0)==30){d=Ya()|0;if((b[k>>0]|0)<0)Hta(f[t>>2]|0)}else if((A|0)==33){d=Ya()|0;break a}break a}else{h=e;d=g}while(0);if(d){g=Ta(8)|0;x=0;Ia(92,r|0,35615,p|0);z=x;x=0;do if(z&1)d=Ya()|0;else{x=0;Ga(538,g|0,r|0);z=x;x=0;if(z&1)e=1;else{x=0;Ia(77,g|0,6176,414);x=0;e=0}d=Ya()|0;if((b[r+11>>0]|0)<0){Hta(f[r>>2]|0);if(e)break;else break a}else if(e)break;else break a}while(0);bb(g|0);break}d=c+20|0;x=0;sa(986,d|0,B|0)|0;n=x;x=0;if(n&1)A=16;else{if((b[o>>0]|0)<0)e=f[p>>2]|0;else e=p;if((b[d+11>>0]|0)<0)d=f[d>>2]|0;x=0;d=ua(8,e|0,d|0,h|0,0)|0;o=x;x=0;c:do if(o&1)A=82;else{f[r>>2]=d;e=c+280|0;g=f[e>>2]|0;if((g|0)==(f[c+284>>2]|0)){x=0;Ga(539,c+276|0,r|0);r=x;x=0;if(r&1){A=82;break}}else{f[g>>2]=d;f[e>>2]=(f[e>>2]|0)+4}x=0;Ga(459,y|0,p|0);r=x;x=0;if(r&1)d=Ya()|0;else{f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;g=z+11|0;b[g>>0]=1;b[z>>0]=46;b[z+1>>0]=0;x=0;Ia(95,w|0,y|0,z|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ga(459,v|0,B|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ia(96,t|0,w|0,v|0);r=x;x=0;do if(r&1)d=Ya()|0;else{f[q>>2]=h;f[q+4>>2]=0;x=0;Ia(97,c|0,t|0,q|0);r=x;x=0;if(r&1){d=Ya()|0;e=t+36|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);e=t+24|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);e=t+12|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0);break}d=t+36|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=t+24|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=t+12|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);d=w+24|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);d=w+12|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[g>>0]|0)<0)Hta(f[z>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);x=0;Ga(f[(f[c>>2]|0)+12>>2]|0,a|0,c|0);A=x;x=0;if(A&1){A=82;break c}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=s;return}while(0);if((b[v+11>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0);e=w+24|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);e=w+12|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0)}while(0);if((b[g>>0]|0)<0)Hta(f[z>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0)}}while(0);if((A|0)==82)d=Ya()|0}}while(0);if((A|0)==16)d=Ya()|0;if((b[B+11>>0]|0)>=0){B=d;jb(B|0)}Hta(f[B>>2]|0);B=d;jb(B|0)}function _g(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.0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0;t=0;s=u;u=u+240|0;m=s+200|0;z=s+192|0;y=s+16|0;c=s+152|0;o=s+136|0;w=s;l=s+96|0;r=s+80|0;p=s+40|0;v=s+28|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;q=y+11|0;b[q>>0]=8;i=y;f[i>>2]=1819239204;f[i+4>>2]=825061999;b[y+8>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,o|0,h|0);k=x;x=0;if(k&1)c=Ya()|0;else{x=0;i=m;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(26,y|0,a|0,e|0,m|0,o|0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,z|0,c|0);k=x;x=0;if(!(k&1)){f[z>>2]=16668;c=f[o>>2]|0;if(c|0){k=o+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[y>>2]|0);f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=w+11|0;b[o>>0]=8;i=w;f[i>>2]=1819239204;f[i+4>>2]=841839215;b[w+8>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,r|0,h|0);q=x;x=0;do if(q&1){c=Ya()|0;t=57}else{x=0;i=m;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(26,w|0,a|0,e|0,m|0,r|0)|0;q=x;x=0;if(!(q&1)){x=0;Ga(462,y|0,c|0);q=x;x=0;if(!(q&1)){f[y>>2]=16668;c=f[r>>2]|0;if(c|0){k=r+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[w>>2]|0);f[w+8>>2]=0;o=w+11|0;b[o>>0]=7;b[w>>0]=b[39258]|0;b[w+1>>0]=b[39259]|0;b[w+2>>0]=b[39260]|0;b[w+3>>0]=b[39261]|0;b[w+4>>0]=b[39262]|0;b[w+5>>0]=b[39263]|0;b[w+6>>0]=b[39264]|0;b[w+7>>0]=0;i=p;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,v|0,h|0);r=x;x=0;do if(r&1){c=Ya()|0;t=68}else{x=0;i=m;j=p;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));n=+ka(1,w|0,a|0,e|0,m|0,v|0,-0.0,100.0);r=x;x=0;if(r&1){c=Ya()|0;l=I;i=f[v>>2]|0;if(!i){t=68;break}m=v+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[v>>2]|0}Hta(i);t=68;break}c=f[v>>2]|0;if(c|0){k=v+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[v>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[w>>2]|0);x=0;c=va(5,d|0,g|0,f[z+4>>2]|0,f[y+4>>2]|0,+n)|0;w=x;x=0;if(w&1){c=Ya()|0;break}else{_P(y);_P(z);u=s;return c|0}}while(0);if((t|0)==68)if((b[o>>0]|0)<0)Hta(f[w>>2]|0);_P(y);break}}c=Ya()|0;l=I;i=f[r>>2]|0;if(!i)t=57;else{m=r+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[r>>2]|0}Hta(i);t=57}}while(0);if((t|0)==57)if((b[o>>0]|0)<0)Hta(f[w>>2]|0);_P(z);z=c;jb(z|0)}}c=Ya()|0;l=I;i=f[o>>2]|0;if(i){m=o+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[o>>2]|0}Hta(i)}}if((b[q>>0]|0)<0)Hta(f[y>>2]|0);z=c;jb(z|0);return 0}function $g(a,b){a=a|0;b=b|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;if((ec|0)==1)ec=3}Vc(hc+57448|0)}function ah(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,t=0,v=0,w=0,y=0,z=0,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=u;u=u+96|0;K=J+56|0;H=J+28|0;I=J;if(!d){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];K=a+12|0;qV(K,f[c+16>>2]|0);f[K>>2]=15556;f[a+20>>2]=f[c+20>>2];c=f[c+24>>2]|0;f[a+24>>2]=c;if(!c){u=J;return}ega(c);u=J;return}UE(K);if(b[c>>0]|0)b[K>>0]=1;i=c+20|0;e=f[i>>2]|0;j=c+24|0;g=f[j>>2]|0;h=(g|0)==0;if(!h)ega(g);G=f[e+4>>2]|0;c=f[e+16>>2]|0;l=G+(((c>>>0)/146|0)<<2)|0;if((f[e+8>>2]|0)==(G|0))k=0;else k=(f[l>>2]|0)+(((c>>>0)%146|0)*28|0)|0;if(!h)QZ(g);g=f[i>>2]|0;h=f[j>>2]|0;i=(h|0)==0;if(!i)ega(h);c=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;e=f[g+4>>2]|0;if((f[g+8>>2]|0)==(e|0))D=0;else D=(f[e+(((c>>>0)/146|0)<<2)>>2]|0)+(((c>>>0)%146|0)*28|0)|0;if(!i)QZ(h);t=d+-1|0;v=H+20|0;E=H+24|0;w=I+12|0;y=I+20|0;B=I+24|0;z=K+20|0;G=K+24|0;A=I+16|0;C=I+12|0;F=H+12|0;c=k;a:while(1){do{if((D|0)==(c|0)){g=21;break a}if((f[c+4>>2]|0)==2){x=0;Ia(143,H|0,c|0,t|0);s=x;x=0;if(s&1){g=26;break a}if(b[c>>0]|0){b[K>>0]=1;b[H>>0]=b[c>>0]|0}g=f[v>>2]|0;e=f[E>>2]|0;if(e|0){ega(e);QZ(e)}e=f[g+4>>2]|0;h=f[g+16>>2]|0;i=e+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(e|0)){s=0;e=0}else{s=h+(f[g+20>>2]|0)|0;s=(f[e+(((s>>>0)/146|0)<<2)>>2]|0)+(((s>>>0)%146|0)*28|0)|0;e=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0}b:while(1){do{if((s|0)==(e|0))break b;f[I>>2]=f[e>>2];f[I+4>>2]=f[e+4>>2];f[I+8>>2]=f[e+8>>2];x=0;Ga(462,w|0,f[e+16>>2]|0);r=x;x=0;if(r&1){g=42;break a}f[w>>2]=15556;f[y>>2]=f[e+20>>2];g=f[e+24>>2]|0;f[B>>2]=g;if(g|0)ega(g);if(b[H>>0]|0)b[I>>0]=1;g=f[z>>2]|0;q=f[G>>2]|0;r=(q|0)==0;if(!r)ega(q);n=g+8|0;j=f[n>>2]|0;o=g+4|0;h=f[o>>2]|0;L=j-h>>2;k=g+16|0;m=f[k>>2]|0;p=g+20|0;d=f[p>>2]|0;if((((L|0)==0?0:(L*146|0)+-1|0)|0)==(d+m|0)){x=0;Fa(433,g|0);L=x;x=0;if(L&1){g=59;break a}d=f[p>>2]|0;g=f[k>>2]|0;j=f[n>>2]|0;h=f[o>>2]|0}else g=m;g=d+g|0;if((j|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[I>>2];f[h+4>>2]=f[I+4>>2];f[h+8>>2]=f[I+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[A>>2]|0);L=x;x=0;if(L&1){g=59;break a}f[g>>2]=15556;f[h+20>>2]=f[y>>2];g=f[B>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[p>>2]=(f[p>>2]|0)+1;if(!r)QZ(q);g=f[B>>2]|0;if(g|0)QZ(g);_P(C);e=e+28|0}while((e-(f[i>>2]|0)|0)!=4088);e=i+4|0;i=e;e=f[e>>2]|0}e=f[E>>2]|0;if(e|0)QZ(e);_P(F)}else{e=f[z>>2]|0;h=f[G>>2]|0;i=(h|0)==0;if(!i)ega(h);x=0;Ga(524,e|0,c|0);L=x;x=0;if(L&1){g=73;break a}if(!i)QZ(h)}c=c+28|0}while((c-(f[l>>2]|0)|0)!=4088);c=l+4|0;l=c;c=f[c>>2]|0}do if((g|0)==21){f[a>>2]=f[K>>2];f[a+4>>2]=f[K+4>>2];f[a+8>>2]=f[K+8>>2];c=a+12|0;x=0;Ga(462,c|0,f[K+16>>2]|0);L=x;x=0;if(L&1){e=Ya()|0;break}f[c>>2]=15556;L=K+20|0;f[a+20>>2]=f[L>>2];f[a+24>>2]=f[G>>2];f[L>>2]=0;f[G>>2]=0;_P(K+12|0);u=J;return}else if((g|0)==26){c=Ya()|0;g=67}else if((g|0)==42){c=Ya()|0;g=64}else if((g|0)==59){c=Ya()|0;if(!r)QZ(q);e=f[B>>2]|0;if(e|0)QZ(e);_P(C);g=64}else if((g|0)==73){e=Ya()|0;if(!i)QZ(h)}while(0);if((g|0)==64){e=f[E>>2]|0;if(e|0)QZ(e);_P(F);g=67}if((g|0)==67)e=c;c=f[G>>2]|0;if(!c){L=K+12|0;_P(L);jb(e|0)}QZ(c);L=K+12|0;_P(L);jb(e|0)}function bh(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,v=0;t=0;p=u;u=u+128|0;q=p;r=p+104|0;m=p+116|0;l=p+52|0;j=p+64|0;k=p+40|0;n=c+76|0;o=f[n>>2]|0;s=r+11|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;x=0;d=ta(107,c|0,0,0)|0;i=x;x=0;a:do if(i&1)t=16;else{b:do if(d|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,q|0);x=0;t=17}else{if(i>>>0<11){b[q+11>>0]=i;d=q}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;v=x;x=0;if(v&1){t=17;break}f[q>>2]=d;f[q+8>>2]=g|-2147483648;f[q+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;sa(986,r|0,q|0)|0;v=x;x=0;if(v&1){d=Ya()|0;if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);break b}while(0);if((t|0)==17)d=Ya()|0;break a}while(0);d=f[n>>2]|0;x=0;e=qa(348,d|0)|0;v=x;x=0;if(v&1)t=16;else{d=e|0?e:d;do if(!d)t=40;else{e=b[36397]|0;c:do if(!(e<<24>>24))e=0;else{g=36397;while(1){if((b[d>>0]|0)!=e<<24>>24)break c;d=d+1|0;g=g+1|0;e=b[g>>0]|0;if(!(e<<24>>24)){e=0;break}}}while(0);v=e<<24>>24==0?d:0;i=c+80|0;if((v|0)==0?1:v>>>0>(f[i>>2]|0)>>>0)t=40;else{d=f[n>>2]|0;d:do if(!d){d=0;t=39}else while(1){x=0;e=qa(348,d|0)|0;v=x;x=0;if(v&1)break d;e=e|0?e:d;if(!e){t=39;break d}g=b[36397]|0;e:do if(!(g<<24>>24))g=0;else{h=36397;while(1){if((b[e>>0]|0)!=g<<24>>24)break e;e=e+1|0;h=h+1|0;g=b[h>>0]|0;if(!(g<<24>>24)){g=0;break}}}while(0);v=g<<24>>24==0;if(!(v&(v?e:0)>>>0<=(f[i>>2]|0)>>>0)){t=39;break d}x=0;d=qa(380,d|0)|0;v=x;x=0;if(v&1)break d;if(!d){d=0;t=39;break d}x=0;d=qa(372,d|0)|0;v=x;x=0;if(v&1)break d;if(!d){d=0;t=39;break}}while(0);if((t|0)==39){f[n>>2]=d;f[m>>2]=o;f[m+4>>2]=o;f[m+8>>2]=d;x=0;f[q>>2]=f[m>>2];f[q+4>>2]=f[m+4>>2];f[q+8>>2]=f[m+8>>2];Ka(9,a|0,c|0,q|0,0,1);v=x;x=0;if(!(v&1))break}d=Ya()|0;break a}}while(0);f:do if((t|0)==40){v=b[s>>0]|0;if(!((v<<24>>24<0?f[r+4>>2]|0:v&255)|0)){x=0;d=wa(21,r|0,0,-1,89823,0)|0;v=x;x=0;if(v&1){v=Za(0)|0;soa(v)}if(!d){x=0;Ga(462,a|0,0);v=x;x=0;if(v&1){t=16;break a}f[a>>2]=7904;break}}x=0;Ga(603,l|0,r|0);v=x;x=0;if(v&1)d=Ya()|0;else{x=0;h=qa(318,80)|0;v=x;x=0;g:do if(v&1)d=Ya()|0;else{g=j;d=c+108|0;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Ga(459,k|0,l|0);v=x;x=0;do if(v&1)d=Ya()|0;else{g=q;d=j;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));x=0;Fa(427,h|0);v=x;x=0;do if(v&1){d=1;t=59}else{g=h+12|0;d=q;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h+56>>2]=4;f[h>>2]=11668;b[h+60>>0]=0;b[h+61>>0]=0;x=0;Ia(101,h+64|0,k|0,1);v=x;x=0;if(v&1){d=Ya()|0;e=1;break}f[h+76>>2]=0;x=0;Ga(462,a|0,h|0);v=x;x=0;if(v&1){d=0;t=59}else{f[a>>2]=7904;if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);break f}}while(0);if((t|0)==59){v=Ya()|0;e=d;d=v}if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);if(e)break;else break g}else if(e)break;else break g}while(0);Hta(h)}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0)}break a}while(0);if((b[s>>0]|0)>=0){u=p;return}Hta(f[r>>2]|0);u=p;return}}while(0);if((t|0)==16)d=Ya()|0;if((b[s>>0]|0)>=0)jb(d|0);Hta(f[r>>2]|0);jb(d|0)}function ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;n=0;o=u;u=u+208|0;r=o+104|0;l=o;d=r+4|0;e=a+4|0;f[d>>2]=f[e>>2];b[d+4>>0]=b[e+4>>0]|0;d=r+12|0;e=a+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));m=a+52|0;q=f[m+4>>2]|0;s=r+52|0;f[s>>2]=f[m>>2];f[s+4>>2]=q;f[r>>2]=6516;s=r+60|0;x=0;Ga(458,s|0,a+60|0);q=x;x=0;if(q&1){s=Ya()|0;jb(s|0)}i=r+72|0;x=0;Ga(458,i|0,a+72|0);q=x;x=0;if(q&1){c=Ya()|0;g=I;a=f[s>>2]|0;if(!a){s=c;jb(s|0)}e=r+64|0;d=f[e>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(a|0));a=f[s>>2]|0}Hta(a);s=c;jb(s|0)}f[r>>2]=6384;j=r+88|0;d=a+88|0;f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[j+12>>2]=f[d+12>>2];d=l+4|0;e=c+4|0;f[d>>2]=f[e>>2];b[d+4>>0]=b[e+4>>0]|0;d=l+12|0;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));k=c+52|0;m=f[k+4>>2]|0;q=l+52|0;f[q>>2]=f[k>>2];f[q+4>>2]=m;f[l>>2]=6516;q=l+60|0;x=0;Ga(458,q|0,c+60|0);m=x;x=0;do if(m&1){a=Ya()|0;n=25}else{a=l+72|0;x=0;Ga(458,a|0,c+72|0);m=x;x=0;if(m&1){c=Ya()|0;g=I;a=f[q>>2]|0;if(!a){a=c;n=25;break}e=l+64|0;d=f[e>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(a|0));a=f[q>>2]|0}Hta(a);a=c;n=25;break}f[l>>2]=6384;d=l+88|0;m=c+88|0;f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[d+12>>2]=f[m+12>>2];x=0;h=+ga(1,s|0);m=x;x=0;do if(!(m&1)){p[j>>3]=h*+p[j>>3];x=0;h=+ga(1,q|0);m=x;x=0;if(!(m&1)){h=h*+p[d>>3];p[d>>3]=h;m=r+64|0;k=r+76|0;c=l+64|0;g=l+76|0;if((((f[m>>2]|0)-(f[s>>2]|0)|0)/12|0|0)!=(((f[k>>2]|0)-(f[i>>2]|0)|0)/-12|0|0)?(((f[c>>2]|0)-(f[q>>2]|0)|0)/12|0|0)!=(((f[g>>2]|0)-(f[a>>2]|0)|0)/-12|0|0):0){x=0;h=+ga(2,s|0);i=x;x=0;if(i&1)break;p[j>>3]=h*+p[j>>3];x=0;h=+ga(2,q|0);i=x;x=0;if(i&1)break;p[d>>3]=h*+p[d>>3];x=0;a=sa(984,s|0,q|0)|0;i=x;x=0;if(i&1)break;if(a){h=+p[d>>3];n=31}else i=0}else n=31;if((n|0)==31)i=+K(+(+p[j>>3]-h))<1.0e-14;e=l+72|0;a=f[e>>2]|0;if(a|0){d=f[g>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(a|0));a=f[e>>2]|0}Hta(a)}a=f[q>>2]|0;if(a|0){d=f[c>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[c>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[c>>2]|0}}while((d|0)!=(a|0));a=f[q>>2]|0}Hta(a)}e=r+72|0;a=f[e>>2]|0;if(a|0){d=f[k>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[k>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}}while((d|0)!=(a|0));a=f[e>>2]|0}Hta(a)}a=f[s>>2]|0;if(!a){u=o;return i|0}d=f[m>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[m>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[m>>2]|0}}while((d|0)!=(a|0));a=f[s>>2]|0}Hta(a);u=o;return i|0}}while(0);c=Ya()|0;i=I;e=l+72|0;a=f[e>>2]|0;if(a|0){g=l+76|0;d=f[g>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(a|0));a=f[e>>2]|0}Hta(a)}a=f[q>>2]|0;if(a|0){e=l+64|0;d=f[e>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(a|0));a=f[q>>2]|0}Hta(a)}}while(0);if((n|0)==25)c=a;e=r+72|0;a=f[e>>2]|0;if(a|0){g=r+76|0;d=f[g>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(a|0));a=f[e>>2]|0}Hta(a)}a=f[s>>2]|0;if(!a)jb(c|0);e=r+64|0;d=f[e>>2]|0;if((d|0)!=(a|0)){do{d=d+-12|0;f[e>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}}while((d|0)!=(a|0));a=f[s>>2]|0}Hta(a);jb(c|0);return 0}function dh(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,v=0,w=0,y=0,z=0;o=0;t=u;u=u+64|0;z=t+48|0;y=t+36|0;w=t+24|0;v=t+12|0;s=t;xp(y);x=0;Ja(16,z|0,c|0,e|0,y|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);z=d;jb(z|0)}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);x=0;Fa(440,w|0);q=x;x=0;do if(q&1){d=Ya()|0;o=20}else{x=0;Ja(16,y|0,d|0,e|0,w|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[w+11>>0]|0)>=0){o=20;break}Hta(f[w>>2]|0);o=20;break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);g=c+11|0;d=(b[g>>0]|0)<0?f[c>>2]|0:c;a:do if(!(b[d>>0]|0))o=29;else{x=0;d=qa(343,d|0)|0;q=x;x=0;b:do if(!(q&1)){if(d)d=0;else{o=29;break a}while(1){e=((b[g>>0]|0)<0?f[c>>2]|0:c)+d|0;if(!(b[e>>0]|0)){e=d;break}d=d+1|0;x=0;e=qa(344,e|0)|0;q=x;x=0;if(q&1)break b;if(!e){e=d;break}}if(!e){o=29;break a}g=(b[g>>0]|0)<0?f[c>>2]|0:c;d=b[g+e>>0]|0;h=e+1|0;if(d<<24>>24==58){if(!h){o=29;break a}e=h;d=b[g+h>>0]|0}if(!((e+1|0)>>>0>3&d<<24>>24==47)){o=29;break a}x=0;Ga(459,a|0,c|0);w=x;x=0;if(!(w&1)){d=b[y+11>>0]|0;break a}}while(0);d=Ya()|0;e=b[y+11>>0]|0;o=83}while(0);c:do if((o|0)==29){p=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;q=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;l=b[z+11>>0]|0;k=l<<24>>24<0;l=k?f[z+4>>2]|0:l&255;e=b[y+11>>0]|0;m=e<<24>>24<0;n=m?f[y+4>>2]|0:e&255;c=n>>>0>>0?n:l;d:do if(!c)d=0;else{i=k?f[z>>2]|0:z;j=m?f[y>>2]|0:y;h=0;d=0;do{g=b[i+h>>0]|0;if(g<<24>>24!=(b[j+h>>0]|0))break d;h=h+1|0;d=g<<24>>24==47?h:d}while(h>>>0>>0)}while(0);e:do if(d>>>0>>0){h=k?f[z>>2]|0:z;g=d;while(1){x=0;Ga(534,w|0,b[h+g>>0]|0);k=x;x=0;if(k&1)break;g=g+1|0;if(g>>>0>=l>>>0){o=35;break e}}d=Ya()|0}else o=35;while(0);f:do if((o|0)==35){g:do if(d>>>0>>0){g=m?f[y>>2]|0:y;while(1){x=0;Ga(534,v|0,b[g+d>>0]|0);o=x;x=0;if(o&1)break;d=d+1|0;if(d>>>0>=n>>>0)break g}d=Ya()|0;break f}while(0);d=b[q>>0]|0;j=v+4|0;g=f[j>>2]|0;h:do if(!((d<<24>>24<0?g:d&255)|0)){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;g=s;d=s+11|0;o=62}else{k=s+11|0;l=s+4|0;h=0;i=0;c=0;while(1){if((b[(d<<24>>24<0?f[v>>2]|0:v)+h>>0]|0)==47){x=0;Ka(4,s|0,v|0,c|0,2,v|0);o=x;x=0;if(o&1){o=58;break}d=b[k>>0]|0;if(((d<<24>>24<0?f[l>>2]|0:d&255)|0)==2){x=0;d=wa(21,s|0,0,-1,43509,2)|0;o=x;x=0;if(o&1){o=53;break}g=(d|0)!=0;d=b[k>>0]|0}else g=1;if(d<<24>>24<0)Hta(f[s>>2]|0);if(g)d=i+1|0;else d=i>>>0>1?i+-1|0:0;h=h+1|0;c=h;i=d;d=b[q>>0]|0;g=f[j>>2]|0}else h=h+1|0;if(h>>>0>=(d<<24>>24<0?g:d&255)>>>0){o=46;break}}if((o|0)==46){d=s+11|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;if(!i){g=s;o=62;break}else g=0;while(1){x=0;sa(991,s|0,43501)|0;r=x;x=0;if(r&1){r=d;break h}g=g+1|0;if(g>>>0>=i>>>0){g=s;o=62;break}}}else if((o|0)==53){t=Za(0)|0;soa(t)}else if((o|0)==58){d=Ya()|0;break f}}while(0);if((o|0)==62){r=b[p>>0]|0;n=r<<24>>24<0;x=0;ta(41,s|0,(n?f[w>>2]|0:w)|0,(n?f[w+4>>2]|0:r&255)|0)|0;r=x;x=0;if(r&1)r=d;else{f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];if((b[q>>0]|0)<0)Hta(f[v>>2]|0);if((b[p>>0]|0)<0)Hta(f[w>>2]|0);d=e;break c}}d=Ya()|0;if((b[r>>0]|0)<0)Hta(f[s>>2]|0)}while(0);if((b[q>>0]|0)<0)Hta(f[v>>2]|0);if((b[p>>0]|0)<0)Hta(f[w>>2]|0);o=83}while(0);if((o|0)==83){if(e<<24>>24>=0)break;Hta(f[y>>2]|0);break}if(d<<24>>24<0)Hta(f[y>>2]|0);if((b[z+11>>0]|0)>=0){u=t;return}Hta(f[z>>2]|0);u=t;return}while(0);if((b[z+11>>0]|0)>=0){z=d;jb(z|0)}Hta(f[z>>2]|0);z=d;jb(z|0)}function eh(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;l=0;a:while(1){k=b;m=b+-4|0;while(1){b:while(1){j=a;d=k-j|0;e=d>>2;switch(e|0){case 2:{l=5;break a}case 3:{l=7;break a}case 4:{l=15;break a}case 5:{l=16;break a}case 1:case 0:{l=68;break a}default:{}}if((d|0)<124){l=22;break a}i=a+(((e|0)/2|0)<<2)|0;do if((d|0)>3996){e=(e|0)/4|0;h=a+(e<<2)|0;e=i+(e<<2)|0;d=ay(a,h,i,e,c)|0;if(xc[f[c>>2]&2047](m,e)|0){g=f[e>>2]|0;f[e>>2]=f[m>>2];f[m>>2]=g;g=d+1|0;if(xc[f[c>>2]&2047](e,i)|0){g=f[i>>2]|0;f[i>>2]=f[e>>2];f[e>>2]=g;e=d+2|0;if(xc[f[c>>2]&2047](i,h)|0){g=f[h>>2]|0;f[h>>2]=f[i>>2];f[i>>2]=g;if(xc[f[c>>2]&2047](h,a)|0){g=f[a>>2]|0;f[a>>2]=f[h>>2];f[h>>2]=g;d=d+4|0}else d=d+3|0}else d=e}else d=g}}else{h=xc[f[c>>2]&2047](i,a)|0;d=xc[f[c>>2]&2047](m,i)|0;if(!h){if(!d){d=0;break}h=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=h;if(!(xc[f[c>>2]&2047](i,a)|0)){d=1;break}d=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=d;d=2;break}e=f[a>>2]|0;if(d){f[a>>2]=f[m>>2];f[m>>2]=e;d=1;break}f[a>>2]=f[i>>2];f[i>>2]=e;if(xc[f[c>>2]&2047](m,i)|0){d=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=d;d=2}else d=1}while(0);if(xc[f[c>>2]&2047](a,i)|0){e=m;break}else e=m;while(1){e=e+-4|0;if((a|0)==(e|0))break;if(xc[f[c>>2]&2047](e,i)|0){l=51;break b}}d=a+4|0;if(!(xc[f[c>>2]&2047](a,m)|0)){if((d|0)==(m|0)){l=68;break a}while(1){if(xc[f[c>>2]&2047](a,d)|0)break;d=d+4|0;if((d|0)==(m|0)){l=68;break a}}j=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=j;d=d+4|0}if((d|0)==(m|0)){l=68;break a}else e=m;while(1){while(1){g=d+4|0;if(xc[f[c>>2]&2047](a,d)|0)break;else d=g}do e=e+-4|0;while(xc[f[c>>2]&2047](a,e)|0);if(d>>>0>=e>>>0){a=d;continue b}j=f[d>>2]|0;f[d>>2]=f[e>>2];f[e>>2]=j;d=g}}if((l|0)==51){l=0;h=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=h;d=d+1|0}g=a+4|0;c:do if(g>>>0>>0)while(1){while(1){h=g+4|0;if(xc[f[c>>2]&2047](g,i)|0)g=h;else break}do e=e+-4|0;while(!(xc[f[c>>2]&2047](e,i)|0));if(g>>>0>e>>>0){e=i;break c}n=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=n;i=(i|0)==(g|0)?e:i;g=h;d=d+1|0}else e=i;while(0);if((g|0)!=(e|0))if(xc[f[c>>2]&2047](e,g)|0){n=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=n;d=d+1|0}if(!d){d=Jk(a,g,c)|0;e=g+4|0;if(Jk(e,b,c)|0){l=67;break}if(d){a=e;continue}}n=g;if((n-j|0)>=(k-n|0)){l=66;break}eh(a,g,c);a=g+4|0}if((l|0)==66){l=0;eh(g+4|0,b,c);b=g;continue}else if((l|0)==67){l=0;if(d){l=68;break}else{b=g;continue}}}if((l|0)==5){if(!(xc[f[c>>2]&2047](m,a)|0))return;n=f[a>>2]|0;f[a>>2]=f[m>>2];f[m>>2]=n;return}else if((l|0)==7){b=a+4|0;n=xc[f[c>>2]&2047](b,a)|0;d=xc[f[c>>2]&2047](m,b)|0;if(!n){if(!d)return;n=f[b>>2]|0;f[b>>2]=f[m>>2];f[m>>2]=n;if(!(xc[f[c>>2]&2047](b,a)|0))return;n=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=n;return}e=f[a>>2]|0;if(d){f[a>>2]=f[m>>2];f[m>>2]=e;return}f[a>>2]=f[b>>2];f[b>>2]=e;if(!(xc[f[c>>2]&2047](m,b)|0))return;n=f[b>>2]|0;f[b>>2]=f[m>>2];f[m>>2]=n;return}else if((l|0)==15){ay(a,a+4|0,a+8|0,m,c)|0;return}else if((l|0)==16){b=a+4|0;d=a+8|0;e=a+12|0;ay(a,b,d,e,c)|0;if(!(xc[f[c>>2]&2047](m,e)|0))return;n=f[e>>2]|0;f[e>>2]=f[m>>2];f[m>>2]=n;if(!(xc[f[c>>2]&2047](e,d)|0))return;n=f[d>>2]|0;f[d>>2]=f[e>>2];f[e>>2]=n;if(!(xc[f[c>>2]&2047](d,b)|0))return;n=f[b>>2]|0;f[b>>2]=f[d>>2];f[d>>2]=n;if(!(xc[f[c>>2]&2047](b,a)|0))return;n=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=n;return}else if((l|0)==22){Ix(a,b,c);return}else if((l|0)==68)return}function fh(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,t=0,v=0,w=0;q=0;p=u;u=u+320|0;o=p+272|0;w=p+144|0;v=p+136|0;t=p+120|0;j=p+80|0;l=p+68|0;s=p+56|0;k=p+16|0;r=p;Sh(w,d,c,i);m=t+11|0;b[m>>0]=10;c=t;d=40959;i=c+10|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(i|0));b[t+10>>0]=0;c=j;d=g;i=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(i|0));x=0;Ga(511,l|0,h|0);n=x;x=0;if(n&1)c=Ya()|0;else{x=0;c=o;d=j;i=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(i|0));c=wa(25,t|0,a|0,e|0,o|0,l|0)|0;n=x;x=0;if(!(n&1)){n=w+12|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,n|0)|0;j=x;x=0;if(!(j&1)){x=0;Ga(462,v|0,c|0);j=x;x=0;if(!(j&1)){f[v>>2]=7696;c=f[l>>2]|0;if(c|0){j=l+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[l>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[t>>2]|0);c=f[v+4>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+88>>2]|0,c|0)|0;m=x;x=0;if(m&1)c=Ya()|0;else{f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;d=c?9:8;l=s+11|0;b[l>>0]=d;Lu(s|0,(c?40970:40980)|0,d|0)|0;b[s+d>>0]=0;c=k;d=g;i=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(i|0));x=0;Ga(511,r|0,h|0);m=x;x=0;do if(m&1){c=Ya()|0;q=55}else{x=0;c=o;d=k;i=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(i|0));c=wa(25,s|0,a|0,e|0,o|0,r|0)|0;m=x;x=0;if(!(m&1)){x=0;Ga(462,t|0,c|0);m=x;x=0;if(!(m&1)){f[t>>2]=7696;c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[l>>0]|0)<0)Hta(f[s>>2]|0);d=t+4|0;c=f[d>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,n|0)|0;s=x;x=0;a:do if(s&1)q=58;else{x=0;Ga(462,o|0,c|0);s=x;x=0;if(s&1)q=58;else{f[o>>2]=7696;do if(f[d>>2]|0){x=0;Fa(429,t|0);s=x;x=0;if(!(s&1))break;c=Ya()|0;_P(o);q=60;break a}while(0);s=o+4|0;f[d>>2]=f[s>>2];f[s>>2]=0;_P(o);s=f[d>>2]|0;x=0;Ga(f[(f[s>>2]|0)+100>>2]|0,s|0,0);s=x;x=0;if(s&1){c=Ya()|0;break}c=f[d>>2]|0;if(!c){s=0;_P(t);_P(v);dy(w);u=p;return s|0}b[c+8>>0]=1;s=c;_P(t);_P(v);dy(w);u=p;return s|0}}while(0);if((q|0)==58){c=Ya()|0;q=60}_P(t);break}}c=Ya()|0;a=I;d=f[r>>2]|0;if(!d)q=55;else{k=r+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d);q=55}}while(0);if((q|0)==55)if((b[l>>0]|0)<0)Hta(f[s>>2]|0)}_P(v);v=c;dy(w);jb(v|0)}}}c=Ya()|0;a=I;d=f[l>>2]|0;if(d){k=l+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[l>>2]|0}Hta(d)}}if((b[m>>0]|0)<0)Hta(f[t>>2]|0);v=c;dy(w);jb(v|0);return 0}function gh(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;B=0;A=u;u=u+224|0;z=A+40|0;k=A+208|0;g=A;D=A+200|0;m=A+192|0;n=A+184|0;w=A+176|0;y=A+136|0;C=A+80|0;l=VN(96)|0;r=g;s=e;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Fa(427,l|0);v=x;x=0;do if(v&1)g=Ya()|0;else{r=l+12|0;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));g=l+52|0;f[g>>2]=0;f[l+56>>2]=0;b[l+60>>0]=0;f[l>>2]=8016;i=l+64|0;j=l+68|0;h=l+88|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;x=0;Ga(462,h|0,0);v=x;x=0;if(v&1){g=Ya()|0;a=I;SG(l+76|0);h=f[i>>2]|0;if(h|0){d=f[j>>2]|0;if((d|0)!=(h|0)){do{D=d+-8|0;f[j>>2]=D;Kc[f[f[D>>2]>>2]&511](D);d=f[j>>2]|0}while((d|0)!=(h|0));h=f[i>>2]|0}Hta(h)}break}f[h>>2]=7584;f[g>>2]=12;qV(D,l);f[D>>2]=16636;v=D+4|0;g=f[v>>2]|0;x=0;Ga(549,k|0,a+376|0);t=x;x=0;a:do if(t&1)B=26;else{x=0;za(90,a|0,a+20|0,d|0,e|0,g|0,k|0,0)|0;t=x;x=0;if(t&1){g=Ya()|0;a=f[k>>2]|0;if(!a){B=27;break}h=k+4|0;d=f[h>>2]|0;if((d|0)!=(a|0))f[h>>2]=d+(~((d+-4-a|0)>>>2)<<2);Hta(a);B=27;break}d=f[k>>2]|0;if(d|0){g=k+4|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);Hta(d)}g=a+32|0;f[g>>2]=(f[g>>2]|0)+-1+((f[a+232>>2]|0)-(f[a+228>>2]|0)>>3);g=f[v>>2]|0;b:do if((f[g+64>>2]|0)!=(f[g+68>>2]|0)){h=(f[c+4>>2]|0)+64|0;d=f[(f[h>>2]|0)+20>>2]|0;x=0;Ga(462,n|0,g|0);t=x;x=0;if(t&1){B=26;break a}f[n>>2]=16636;x=0;Ga(462,m|0,f[n+4>>2]|0);t=x;x=0;do if(t&1)g=Ya()|0;else{f[m>>2]=6920;x=0;Ga(d|0,h|0,m|0);t=x;x=0;if(t&1){g=Ya()|0;_P(m);break}else{_P(m);_P(n);g=f[v>>2]|0;break b}}while(0);_P(n);break a}while(0);B=(f[g+80>>2]|0)-(f[g+76>>2]|0)|0;j=(B|0)/52|0;if(!B){_P(D);u=A;return}d=c+4|0;k=C+36|0;l=k+11|0;m=C+24|0;n=m+11|0;c=C+12|0;o=c+11|0;p=C+11|0;h=0;while(1){a=(f[d>>2]|0)+64|0;i=f[(f[a>>2]|0)+20>>2]|0;x=0;q=qa(318,116)|0;B=x;x=0;if(B&1){B=34;break}r=y;s=e;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Ga(472,C|0,(f[(f[v>>2]|0)+76>>2]|0)+(h*52|0)|0);B=x;x=0;if(B&1){B=51;break}r=z;s=y;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Fa(427,q|0);B=x;x=0;if(B&1){g=1;B=52;break}r=q+12|0;s=z;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));g=q+52|0;f[g>>2]=0;f[q+56>>2]=0;b[q+60>>0]=0;f[q>>2]=8112;x=0;Ga(472,q+64|0,C|0);B=x;x=0;if(B&1){B=39;break}f[g>>2]=11;x=0;Ga(462,w|0,q|0);B=x;x=0;if(B&1){g=0;B=52;break}f[w>>2]=6920;x=0;Ga(i|0,a|0,w|0);B=x;x=0;if(B&1){B=54;break}_P(w);if((b[l>>0]|0)<0)Hta(f[k>>2]|0);if((b[n>>0]|0)<0)Hta(f[m>>2]|0);if((b[o>>0]|0)<0)Hta(f[c>>2]|0);if((b[p>>0]|0)<0)Hta(f[C>>2]|0);h=h+1|0;if(h>>>0>=j>>>0){B=33;break}}if((B|0)==33){_P(D);u=A;return}else if((B|0)==34){g=Ya()|0;break}else if((B|0)==39){g=Ya()|0;h=1;B=53}else if((B|0)==51)g=Ya()|0;else if((B|0)==52){A=Ya()|0;h=g;g=A;B=53}else if((B|0)==54){g=Ya()|0;_P(w);h=0;B=55}if((B|0)==53)B=55;do if((B|0)==55){if((b[l>>0]|0)<0)Hta(f[k>>2]|0);if((b[n>>0]|0)<0)Hta(f[m>>2]|0);if((b[o>>0]|0)<0)Hta(f[c>>2]|0);if((b[p>>0]|0)<0){Hta(f[C>>2]|0);if(h)break;else break a}else if(h)break;else break a}while(0);Hta(q)}while(0);if((B|0)==26){g=Ya()|0;B=27}_P(D);D=g;jb(D|0)}while(0);Hta(l);D=g;jb(D|0)}function hh(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,v=0,w=0,y=0,z=0;r=0;s=u;u=u+48|0;w=s+28|0;t=s+16|0;q=s+8|0;p=s;f[w>>2]=0;y=w+4|0;f[y>>2]=0;f[w+8>>2]=0;f[t>>2]=0;v=t+4|0;f[v>>2]=0;f[t+8>>2]=0;h=c+20|0;d=f[h>>2]|0;i=c+24|0;e=f[i>>2]|0;g=(e|0)==0;if(!g)ega(e);c=(f[d+16>>2]|0)+(f[d+20>>2]|0)|0;o=f[d+4>>2]|0;j=o+(((c>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(o|0))d=0;else d=(f[j>>2]|0)+(((c>>>0)%146|0)*28|0)|0;if(!g)QZ(e);g=f[h>>2]|0;h=f[i>>2]|0;i=(h|0)==0;if(!i)ega(h);c=f[g+4>>2]|0;e=f[g+16>>2]|0;if((f[g+8>>2]|0)==(c|0))c=0;else c=(f[c+(((e>>>0)/146|0)<<2)>>2]|0)+(((e>>>0)%146|0)*28|0)|0;if(!i)QZ(h);a:do if((d|0)==(c|0))r=51;else{l=t+8|0;m=p+4|0;n=w+8|0;o=q+4|0;e=j;b:while(1){j=e;if((f[j>>2]|0)==(d|0))g=(f[j+-4>>2]|0)+4088|0;else g=d;k=g+-28|0;if(!(f[g+-24>>2]|0)){i=g+-12|0;x=0;Ga(462,q|0,f[i>>2]|0);h=x;x=0;if(h&1){r=25;break}f[q>>2]=15556;g=f[t>>2]|0;c:do if((g|0)==(f[v>>2]|0))r=27;else while(1){h=f[g+4>>2]|0;x=0;h=sa(f[(f[h>>2]|0)+160>>2]|0,h|0,f[o>>2]|0)|0;z=x;x=0;if(z&1){r=26;break b}g=g+8|0;if(h)break c;if((g|0)==(f[v>>2]|0)){r=27;break}}while(0);if((r|0)==27){r=0;x=0;Ga(462,p|0,f[i>>2]|0);z=x;x=0;if(z&1){r=36;break}f[p>>2]=15556;g=f[v>>2]|0;if(g>>>0<(f[l>>2]|0)>>>0){x=0;Ga(462,g|0,f[m>>2]|0);z=x;x=0;if(z&1){r=37;break}f[g>>2]=15556;f[v>>2]=(f[v>>2]|0)+8}else{x=0;Ga(522,t|0,p|0);z=x;x=0;if(z&1){r=37;break}}_P(p);f[p>>2]=k;g=f[y>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[g>>2]=k;f[y>>2]=(f[y>>2]|0)+4}else{x=0;Ga(523,w|0,p|0);z=x;x=0;if(z&1){r=39;break}}}_P(q)}else{f[q>>2]=k;g=f[y>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[g>>2]=k;f[y>>2]=(f[y>>2]|0)+4}else{x=0;Ga(523,w|0,q|0);z=x;x=0;if(z&1){r=47;break}}}if((f[j>>2]|0)==(d|0)){d=j+-4|0;e=d;d=(f[d>>2]|0)+4088|0}d=d+-28|0;if((d|0)==(c|0)){r=51;break a}}if((r|0)==25)c=Ya()|0;else if((r|0)==26){c=Ya()|0;r=41}else if((r|0)==36){c=Ya()|0;r=38}else if((r|0)==37){c=Ya()|0;_P(p);r=38}else if((r|0)==39){c=Ya()|0;r=41}else if((r|0)==47){e=Ya()|0;break}if((r|0)==38)r=41;if((r|0)==41)_P(q);e=c}while(0);d:do if((r|0)==51){x=0;e=qa(318,36)|0;z=x;x=0;do if(z&1)c=Ya()|0;else{f[e+4>>2]=0;f[e+8>>2]=0;f[e>>2]=16236;d=e+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;b[a>>0]=0;f[a+4>>2]=2;f[a+8>>2]=0;c=a+12|0;x=0;Ga(462,c|0,0);z=x;x=0;if(z&1){c=Ya()|0;QZ(e);break}f[c>>2]=15556;h=a+20|0;f[h>>2]=d;i=a+24|0;f[i>>2]=e;ega(e);QZ(e);c=(f[y>>2]|0)-(f[w>>2]|0)>>2;e:do if(c|0){while(1){c=c+-1|0;d=f[h>>2]|0;e=f[i>>2]|0;g=(e|0)==0;if(!g)ega(e);x=0;Ga(524,d|0,f[(f[w>>2]|0)+(c<<2)>>2]|0);z=x;x=0;if(z&1)break;if(!g)QZ(e);if(!c)break e}d=Ya()|0;if(!g)QZ(e);c=f[i>>2]|0;if(c|0)QZ(c);_P(a+12|0);e=d;break d}while(0);c=f[t>>2]|0;if(c|0){d=f[v>>2]|0;if((d|0)!=(c|0)){do{z=d+-8|0;f[v>>2]=z;Kc[f[f[z>>2]>>2]&511](z);d=f[v>>2]|0}while((d|0)!=(c|0));c=f[t>>2]|0}Hta(c)}c=f[w>>2]|0;if(!c){u=s;return}d=f[y>>2]|0;if((d|0)!=(c|0))f[y>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c);u=s;return}while(0);e=c}while(0);c=f[t>>2]|0;if(c|0){d=f[v>>2]|0;if((d|0)!=(c|0)){do{z=d+-8|0;f[v>>2]=z;Kc[f[f[z>>2]>>2]&511](z);d=f[v>>2]|0}while((d|0)!=(c|0));c=f[t>>2]|0}Hta(c)}c=f[w>>2]|0;if(!c)jb(e|0);d=f[y>>2]|0;if((d|0)!=(c|0))f[y>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c);jb(e|0)}function ih(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=u;u=u+320|0;w=y;t=y+208|0;A=y+192|0;z=y+180|0;v=y+176|0;q=y+16|0;r=y+8|0;s=y+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[A+(a<<2)>>2]=0;a=a+1|0}x=0;Ga(536,z|0,e|0);p=x;x=0;do if(p&1){a=Ya()|0;B=36}else{x=0;a=sa(994,z|0,83352)|0;p=x;x=0;if(!(p&1)){x=0;ua(f[(f[a>>2]|0)+48>>2]|0,a|0,57704,57730,t|0)|0;p=x;x=0;if(!(p&1)){uga(z);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[z+(a<<2)>>2]=0;a=a+1|0}p=z+11|0;if((b[p>>0]|0)<0)a=(f[z+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,z|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{a=(b[p>>0]|0)<0?f[z>>2]|0:z;f[v>>2]=a;f[r>>2]=q;f[s>>2]=0;l=z+4|0;m=z+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;i=1}else{e=f[i+12>>2]|0;if((e|0)==(f[i+16>>2]|0)){x=0;e=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else e=mra(f[e>>2]|0)|0;if(vja(e,Jta()|0)|0){f[c>>2]=0;n=0;o=0;i=1}else{n=i;o=j;i=0}}j=f[d>>2]|0;do if(!j)B=26;else{e=f[j+12>>2]|0;if((e|0)==(f[j+16>>2]|0)){x=0;e=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;k=x;x=0;if(k&1)break a}else e=mra(f[e>>2]|0)|0;if(vja(e,Jta()|0)|0){f[d>>2]=0;B=26;break}else if(i)break;else{B=46;break a}}while(0);if((B|0)==26){B=0;if(i){j=0;B=46;break}else j=0}e=b[p>>0]|0;e=e<<24>>24<0?f[l>>2]|0:e&255;if((f[v>>2]|0)==(a+e|0)){x=0;Ia(93,z|0,e<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,z|0,a|0,0);k=x;x=0;if(k&1)break;a=(b[p>>0]|0)<0?f[z>>2]|0:z;f[v>>2]=a+e}i=n+12|0;e=f[i>>2]|0;k=n+16|0;if((e|0)==(f[k>>2]|0)){x=0;e=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;C=x;x=0;if(C&1)break}else e=mra(f[e>>2]|0)|0;x=0;e=Ba(2,e|0,16,a|0,v|0,s|0,0,A|0,q|0,r|0,t|0)|0;C=x;x=0;if(C&1)break;if(e|0){B=46;break}e=f[i>>2]|0;if((e|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;C=x;x=0;if(C&1)break;else{i=n;j=o;continue}}else{f[i>>2]=e+4;mra(f[e>>2]|0)|0;i=n;j=o;continue}}b:do if((B|0)==46){x=0;Ia(93,z|0,(f[v>>2]|0)-a|0,0);C=x;x=0;if(!(C&1)){a=b[p>>0]|0;e=f[z>>2]|0;x=0;i=la(3)|0;C=x;x=0;if(!(C&1)){x=0;f[w>>2]=h;a=ua(21,(a<<24>>24<0?e:z)|0,i|0,57737,w|0)|0;C=x;x=0;if(!(C&1)){if((a|0)!=1)f[g>>2]=4;if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;C=x;x=0;if(C&1)break}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)B=63;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;C=x;x=0;if(C&1)break b}else a=mra(f[a>>2]|0)|0;if(vja(a,Jta()|0)|0){f[d>>2]=0;B=63;break}else if(e)break;else{B=65;break}}while(0);if((B|0)==63)if(e)B=65;if((B|0)==65)f[g>>2]=f[g>>2]|2;C=f[c>>2]|0;Aaa(z);Aaa(A);u=y;return C|0}}}}while(0);a=Ya()|0}Aaa(z);break}}a=Ya()|0;uga(z);B=36}while(0);Aaa(A);jb(a|0);return 0}function jh(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=u;u=u+240|0;w=y;t=y+204|0;A=y+192|0;z=y+180|0;v=y+176|0;q=y+16|0;r=y+8|0;s=y+4|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[A+(a<<2)>>2]=0;a=a+1|0}x=0;Ga(536,z|0,e|0);p=x;x=0;do if(p&1){a=Ya()|0;B=36}else{x=0;a=sa(994,z|0,83320)|0;p=x;x=0;if(!(p&1)){x=0;ua(f[(f[a>>2]|0)+32>>2]|0,a|0,57704,57730,t|0)|0;p=x;x=0;if(!(p&1)){uga(z);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[z+(a<<2)>>2]=0;a=a+1|0}p=z+11|0;if((b[p>>0]|0)<0)a=(f[z+8>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,z|0,a|0,0);o=x;x=0;if(o&1)a=Ya()|0;else{a=(b[p>>0]|0)<0?f[z>>2]|0:z;f[v>>2]=a;f[r>>2]=q;f[s>>2]=0;l=z+4|0;m=z+8|0;j=f[c>>2]|0;i=j;a:while(1){if(!i){n=0;o=0;i=1}else{e=f[i+12>>2]|0;if((e|0)==(f[i+16>>2]|0)){x=0;e=qa(f[(f[i>>2]|0)+36>>2]|0,i|0)|0;o=x;x=0;if(o&1)break}else e=mqa(b[e>>0]|0)|0;if(wja(e,Kta()|0)|0){f[c>>2]=0;n=0;o=0;i=1}else{n=i;o=j;i=0}}j=f[d>>2]|0;do if(!j)B=26;else{e=f[j+12>>2]|0;if((e|0)==(f[j+16>>2]|0)){x=0;e=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;k=x;x=0;if(k&1)break a}else e=mqa(b[e>>0]|0)|0;if(wja(e,Kta()|0)|0){f[d>>2]=0;B=26;break}else if(i)break;else{B=46;break a}}while(0);if((B|0)==26){B=0;if(i){j=0;B=46;break}else j=0}e=b[p>>0]|0;e=e<<24>>24<0?f[l>>2]|0:e&255;if((f[v>>2]|0)==(a+e|0)){x=0;Ia(93,z|0,e<<1|0,0);k=x;x=0;if(k&1)break;if((b[p>>0]|0)<0)a=(f[m>>2]&2147483647)+-1|0;else a=10;x=0;Ia(93,z|0,a|0,0);k=x;x=0;if(k&1)break;a=(b[p>>0]|0)<0?f[z>>2]|0:z;f[v>>2]=a+e}i=n+12|0;e=f[i>>2]|0;k=n+16|0;if((e|0)==(f[k>>2]|0)){x=0;e=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;C=x;x=0;if(C&1)break}else e=mqa(b[e>>0]|0)|0;x=0;e=Ba(1,e&255|0,16,a|0,v|0,s|0,0,A|0,q|0,r|0,t|0)|0;C=x;x=0;if(C&1)break;if(e|0){B=46;break}e=f[i>>2]|0;if((e|0)==(f[k>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;C=x;x=0;if(C&1)break;else{i=n;j=o;continue}}else{f[i>>2]=e+1;mqa(b[e>>0]|0)|0;i=n;j=o;continue}}b:do if((B|0)==46){x=0;Ia(93,z|0,(f[v>>2]|0)-a|0,0);C=x;x=0;if(!(C&1)){a=b[p>>0]|0;e=f[z>>2]|0;x=0;i=la(3)|0;C=x;x=0;if(!(C&1)){x=0;f[w>>2]=h;a=ua(21,(a<<24>>24<0?e:z)|0,i|0,57737,w|0)|0;C=x;x=0;if(!(C&1)){if((a|0)!=1)f[g>>2]=4;if(!n)e=1;else{a=f[n+12>>2]|0;if((a|0)==(f[n+16>>2]|0)){x=0;a=qa(f[(f[o>>2]|0)+36>>2]|0,n|0)|0;C=x;x=0;if(C&1)break}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[c>>2]=0;e=1}else e=0}do if(!j)B=63;else{a=f[j+12>>2]|0;if((a|0)==(f[j+16>>2]|0)){x=0;a=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;C=x;x=0;if(C&1)break b}else a=mqa(b[a>>0]|0)|0;if(wja(a,Kta()|0)|0){f[d>>2]=0;B=63;break}else if(e)break;else{B=65;break}}while(0);if((B|0)==63)if(e)B=65;if((B|0)==65)f[g>>2]=f[g>>2]|2;C=f[c>>2]|0;Aaa(z);Aaa(A);u=y;return C|0}}}}while(0);a=Ya()|0}Aaa(z);break}}a=Ya()|0;uga(z);B=36}while(0);Aaa(A);jb(a|0);return 0}function kh(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0;y=u;u=u+176|0;s=y+40|0;C=y;h=y+128|0;B=y+120|0;v=y+112|0;w=y+104|0;A=y+96|0;t=y+88|0;z=y+80|0;n=VN(88)|0;j=h;k=e;m=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));r=c+60|0;i=c+84|0;l=c+88|0;c=f[l>>2]|0;g=f[i>>2]|0;j=C;k=h;m=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));x=0;Fa(427,n|0);q=x;x=0;do if(q&1)c=Ya()|0;else{h=c-g>>3;j=n+12|0;k=C;m=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;c=n+56|0;f[c>>2]=0;f[n>>2]=6516;g=n+60|0;f[g>>2]=9660;j=n+64|0;k=n+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,h|0);q=x;x=0;if(q&1){c=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0)){do{a=h+-8|0;f[k>>2]=a;Kc[f[f[a>>2]>>2]&511](a);h=f[k>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[n>>2]=9488;f[g>>2]=9620;q=n+80|0;f[q>>2]=0;d[q+4>>1]=0;b[q+6>>0]=0;f[c>>2]=5;qV(a,n);f[a>>2]=7584;c=f[i>>2]|0;i=f[l>>2]|0;if((c|0)==(i|0)){u=y;return}l=B+4|0;n=C+4|0;o=a+4|0;p=z+4|0;while(1){x=0;Ga(462,C|0,f[c+4>>2]|0);q=x;x=0;if(q&1){g=34;break}f[C>>2]=7696;x=0;q=qa(318,88)|0;m=x;x=0;if(m&1){g=35;break}j=s;k=e;m=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));x=0;Fa(427,q|0);m=x;x=0;if(m&1){g=36;break}j=q+12|0;k=s;m=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));b[q+52>>0]=0;b[q+53>>0]=0;b[q+54>>0]=0;g=q+56|0;f[g>>2]=0;f[q>>2]=6516;h=q+60|0;f[h>>2]=9660;k=q+64|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,2);m=x;x=0;if(m&1){g=18;break}f[q>>2]=9488;f[h>>2]=9620;f[q+80>>2]=1;b[q+84>>0]=0;b[q+85>>0]=0;b[q+86>>0]=0;f[g>>2]=5;x=0;Ga(462,B|0,q|0);q=x;x=0;if(q&1){g=35;break}f[B>>2]=7584;g=(f[l>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,v|0,f[n>>2]|0);q=x;x=0;if(q&1){g=38;break}f[v>>2]=7696;x=0;Ga(h|0,g|0,v|0);q=x;x=0;if(q&1){g=39;break}_P(v);g=(f[l>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,A|0,f[n>>2]|0);q=x;x=0;if(q&1){g=38;break}f[A>>2]=7696;x=0;Ia(78,w|0,r|0,A|0);q=x;x=0;if(q&1){g=40;break}x=0;Ga(h|0,g|0,w|0);q=x;x=0;if(q&1){g=41;break}_P(w);_P(A);g=(f[o>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,z|0,f[l>>2]|0);q=x;x=0;if(q&1){g=38;break}f[z>>2]=7584;x=0;Ga(462,t|0,f[p>>2]|0);q=x;x=0;if(q&1){g=43;break}f[t>>2]=7696;x=0;Ga(h|0,g|0,t|0);q=x;x=0;if(q&1){g=44;break}_P(t);_P(z);_P(B);_P(C);c=c+8|0;if((c|0)==(i|0)){g=11;break}}switch(g|0){case 11:{u=y;return}case 18:{c=Ya()|0;i=I;j=q+68|0;g=f[k>>2]|0;if(g|0){h=f[j>>2]|0;if((h|0)!=(g|0)){do{B=h+-8|0;f[j>>2]=B;Kc[f[f[B>>2]>>2]&511](B);h=f[j>>2]|0}while((h|0)!=(g|0));g=f[k>>2]|0}Hta(g)}g=37;break}case 34:{c=Ya()|0;break}case 35:{c=Ya()|0;g=47;break}case 36:{c=Ya()|0;g=37;break}case 38:{c=Ya()|0;g=46;break}case 39:{c=Ya()|0;_P(v);g=46;break}case 40:{c=Ya()|0;g=42;break}case 41:{c=Ya()|0;_P(w);g=42;break}case 43:{c=Ya()|0;g=45;break}case 44:{c=Ya()|0;_P(t);g=45;break}}if((g|0)==37){Hta(q);g=47}else if((g|0)==42){_P(A);g=46}else if((g|0)==45){_P(z);g=46}if((g|0)==46){_P(B);g=47}if((g|0)==47)_P(C);_P(a);a=c;jb(a|0)}while(0);Hta(n);a=c;jb(a|0)}function lh(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;n=0;q=u;u=u+144|0;o=q;s=q+88|0;h=q+96|0;i=q+76|0;r=q+52|0;m=q+64|0;p=q+40|0;f[o+8>>2]=0;e=o+11|0;b[e>>0]=7;b[o>>0]=b[39749]|0;b[o+1>>0]=b[39750]|0;b[o+2>>0]=b[39751]|0;b[o+3>>0]=b[39752]|0;b[o+4>>0]=b[39753]|0;b[o+5>>0]=b[39754]|0;b[o+6>>0]=b[39755]|0;b[o+7>>0]=0;x=0;c=sa(992,a|0,o|0)|0;l=x;x=0;if(!(l&1)){x=0;Ga(462,s|0,f[c+4>>2]|0);l=x;x=0;if(!(l&1)){f[s>>2]=6664;if((b[e>>0]|0)<0)Hta(f[o>>2]|0);j=s+4|0;c=f[j>>2]|0;do if(!c)n=24;else if((f[343]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;e=qa(318,80)|0;r=x;x=0;if(r&1){c=Ya()|0;break}d=h;k=g;l=d+40|0;do{f[d>>2]=f[k>>2];d=d+4|0;k=k+4|0}while((d|0)<(l|0));x=0;Ga(459,i|0,c+64|0);g=x;x=0;if(g&1)c=Ya()|0;else{d=o;k=h;l=d+40|0;do{f[d>>2]=f[k>>2];d=d+4|0;k=k+4|0}while((d|0)<(l|0));x=0;Fa(427,e|0);g=x;x=0;do if(g&1)c=Ya()|0;else{d=e+12|0;k=o;l=d+40|0;do{f[d>>2]=f[k>>2];d=d+4|0;k=k+4|0}while((d|0)<(l|0));c=e+52|0;b[c>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e+56>>2]=4;f[e>>2]=11668;b[e+60>>0]=0;b[e+61>>0]=0;x=0;Ia(101,e+64|0,i|0,1);g=x;x=0;if(g&1){c=Ya()|0;break}f[e+76>>2]=0;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);b[c>>0]=1;g=e;_P(s);u=q;return g|0}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0)}Hta(e)}else n=24;while(0);do if((n|0)==24){x=0;c=qa(334,c|0)|0;n=x;x=0;if(n&1){c=Ya()|0;break}if(c|0){g=c;_P(s);u=q;return g|0}x=0;a=qa(336,f[j>>2]|0)|0;n=x;x=0;if(n&1){c=Ya()|0;break}if(!a){c=Ta(8)|0;x=0;Ga(496,c|0,39801);g=x;x=0;if(g&1){g=Ya()|0;bb(c|0);c=g;break}else{x=0;Ia(77,c|0,6176,414);x=0;c=Ya()|0;break}}h=d+16|0;c=f[h>>2]|0;i=f[c>>2]|0;f[c>>2]=0;c=f[j>>2]|0;e=f[(f[c>>2]|0)+28>>2]|0;x=0;d=o;k=f[h>>2]|0;l=d+12|0;do{b[d>>0]=b[k>>0]|0;d=d+1|0;k=k+1|0}while((d|0)<(l|0));Ia(e|0,r|0,c|0,o|0);n=x;x=0;if(n&1)c=Ya()|0;else{c=f[j>>2]|0;if(!c)n=34;else if((f[417]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b[o+11>>0]=4;f[o>>2]=1819047278;b[o+4>>0]=0;n=35}else n=34;if((n|0)==34){x=0;Ga(459,o|0,r|0);l=x;x=0;if(l&1){c=Ya()|0;e=r+11|0}else n=35}if((n|0)==35){e=r+11|0;if((b[e>>0]|0)<0){b[f[r>>2]>>0]=0;f[r+4>>2]=0}else{b[r>>0]=0;b[e>>0]=0}x=0;Ga(501,r|0,0);n=x;x=0;if(n&1){n=Za(0)|0;soa(n)}f[r>>2]=f[o>>2];f[r+4>>2]=f[o+4>>2];f[r+8>>2]=f[o+8>>2];f[f[h>>2]>>2]=i;x=0;Ia(92,p|0,39757,r|0);n=x;x=0;if(n&1)c=Ya()|0;else{x=0;c=sa(991,p|0,39766)|0;n=x;x=0;do if(n&1)c=Ya()|0;else{f[m>>2]=f[c>>2];f[m+4>>2]=f[c+4>>2];f[m+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;d=o;k=g;l=d+40|0;do{f[d>>2]=f[k>>2];d=d+4|0;k=k+4|0}while((d|0)<(l|0));Ga(563,m|0,o|0);g=x;x=0;if(g&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);if((b[e>>0]|0)<0)Hta(f[r>>2]|0);g=a;_P(s);u=q;return g|0}while(0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}}if((b[e>>0]|0)<0)Hta(f[r>>2]|0)}}while(0);_P(s);s=c;jb(s|0)}}c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[o>>2]|0);s=c;jb(s|0);return 0}function mh(a){a=a|0;if((ec|0)!=2){f[fc+8>>2]=a;if((ec|0)==1)ec=3}Vc(hc+59876|0);return f[fc>>2]|0}function nh(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,t=0,v=0,w=0,y=0;v=0;s=u;u=u+176|0;q=s;y=s+168|0;w=s+104|0;c=s+128|0;o=s+116|0;t=s+52|0;k=s+64|0;r=s+40|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;p=w+11|0;b[p>>0]=5;b[w>>0]=b[40712]|0;b[w+1>>0]=b[40713]|0;b[w+2>>0]=b[40714]|0;b[w+3>>0]=b[40715]|0;b[w+4>>0]=b[40716]|0;b[w+5>>0]=0;l=c;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;Ga(511,o|0,h|0);n=x;x=0;if(n&1)c=Ya()|0;else{x=0;l=q;m=c;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));c=ya(40,w|0,a|0,e|0,q|0,o|0,0)|0;n=x;x=0;if(!(n&1)){x=0;Ga(462,y|0,c|0);n=x;x=0;if(!(n&1)){f[y>>2]=16784;c=f[o>>2]|0;if(c|0){j=o+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[w>>2]|0);f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;o=t+11|0;b[o>>0]=5;b[t>>0]=b[40718]|0;b[t+1>>0]=b[40719]|0;b[t+2>>0]=b[40720]|0;b[t+3>>0]=b[40721]|0;b[t+4>>0]=b[40722]|0;b[t+5>>0]=0;l=k;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;Ga(511,r|0,h|0);p=x;x=0;do if(p&1){c=Ya()|0;v=51}else{x=0;l=q;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));c=ya(40,t|0,a|0,e|0,q|0,r|0,0)|0;p=x;x=0;if(!(p&1)){x=0;Ga(462,w|0,c|0);p=x;x=0;if(!(p&1)){f[w>>2]=16784;c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[t>>2]|0);k=y+4|0;d=f[k>>2]|0;c=f[d+88>>2]|0;d=f[d+84>>2]|0;a=w+4|0;j=f[a>>2]|0;i=f[j+88>>2]|0;j=f[j+84>>2]|0;x=0;e=qa(318,108)|0;t=x;x=0;a:do if(t&1)v=54;else{l=q;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;Fa(427,e|0);t=x;x=0;do if(t&1)c=Ya()|0;else{i=(i-j>>3)+(c-d>>3)|0;l=e+12|0;m=q;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;c=e+56|0;f[c>>2]=0;f[e>>2]=6516;d=e+60|0;x=0;Ga(560,d|0,i|0);t=x;x=0;if(t&1){c=Ya()|0;break}f[e>>2]=9700;f[d>>2]=9828;f[c>>2]=6;v=f[k>>2]|0;x=0;sa(1006,d|0,((v|0)==0?0:v+60|0)|0)|0;v=x;x=0;if(v&1){v=54;break a}v=f[a>>2]|0;x=0;sa(1006,d|0,((v|0)==0?0:v+60|0)|0)|0;v=x;x=0;if(v&1){v=54;break a}_P(w);_P(y);u=s;return e|0}while(0);Hta(e)}while(0);if((v|0)==54)c=Ya()|0;_P(w);break}}c=Ya()|0;k=I;d=f[r>>2]|0;if(!d)v=51;else{a=r+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d);v=51}}while(0);if((v|0)==51)if((b[o>>0]|0)<0)Hta(f[t>>2]|0);_P(y);y=c;jb(y|0)}}c=Ya()|0;k=I;d=f[o>>2]|0;if(d){a=o+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[o>>2]|0}Hta(d)}}if((b[p>>0]|0)<0)Hta(f[w>>2]|0);y=c;jb(y|0);return 0}function oh(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=f[b+16>>2];x=0;Ga(480,a|0,f[b+4>>2]|0);v=x;x=0;do if(v&1)c=Ya()|0;else{b=f[b+8>>2]|0;if(!b)return;s=a+4|0;t=a+12|0;u=a+16|0;v=a+8|0;o=b;q=b;a:while(1){k=o+12|0;b=f[k>>2]|0;if(!b)p=0;else{x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;p=x;x=0;if(p&1){r=70;break}else p=b}l=f[s>>2]|0;m=(l|0)==0;b:do if(m){b=0;r=43}else{j=l+-1|0;g=(j&l|0)==0;if(g)b=j&p;else if(p>>>0>>0)b=p;else b=(p>>>0)%(l>>>0)|0;c=f[(f[a>>2]|0)+(b<<2)>>2]|0;if(!c)r=43;else{c=f[c>>2]|0;if(!c)r=43;else{if(g)while(1){i=f[c+4>>2]|0;if(!((i|0)==(p|0)|(i&j|0)==(b|0))){r=43;break b}h=f[c+12>>2]|0;do if(h|0){if(!(uy(h,112,192,0)|0)){g=f[k>>2]|0;i=g}else{g=f[k>>2]|0;if(!g){i=g;g=0}else if(!(uy(g,112,192,0)|0))i=g;else{x=0;g=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;i=x;x=0;if(i&1){r=68;break a}h=f[k>>2]|0;x=0;h=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;i=x;x=0;if(i&1){r=68;break a}if((g|0)==(h|0))break b;else break}}if(i|0){x=0;g=sa(f[(f[h>>2]|0)+92>>2]|0,h|0,g|0)|0;i=x;x=0;if(i&1){r=68;break a}if(g)break b}}while(0);c=f[c>>2]|0;if(!c){r=43;break b}}else i=c;while(1){c=f[i+4>>2]|0;if((c|0)!=(p|0)){if(c>>>0>=l>>>0)c=(c>>>0)%(l>>>0)|0;if((c|0)!=(b|0)){r=43;break b}}h=f[i+12>>2]|0;do if(h|0){if(!(uy(h,112,192,0)|0)){c=f[k>>2]|0;g=c}else{c=f[k>>2]|0;if(!c){g=c;c=0}else if(!(uy(c,112,192,0)|0))g=c;else{x=0;g=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;j=x;x=0;if(j&1){r=69;break a}c=f[k>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+8>>2]|0,c|0)|0;j=x;x=0;if(j&1){r=69;break a}if((g|0)==(c|0))break b;else break}}if(g|0){x=0;c=sa(f[(f[h>>2]|0)+92>>2]|0,h|0,c|0)|0;j=x;x=0;if(j&1){r=69;break a}if(c)break b}}while(0);i=f[i>>2]|0;if(!i){r=43;break}}}}}while(0);if((r|0)==43){r=0;x=0;h=qa(318,24)|0;j=x;x=0;if(j&1){r=70;break}g=h+8|0;x=0;Ga(462,g|0,f[k>>2]|0);k=x;x=0;if(k&1){r=47;break}f[g>>2]=7696;c=h+16|0;x=0;Ga(462,c|0,f[o+20>>2]|0);o=x;x=0;if(o&1){r=46;break}f[c>>2]=7696;f[h+4>>2]=p;f[h>>2]=0;d=+(((f[t>>2]|0)+1|0)>>>0);e=+n[u>>2];do if(m|e*+(l>>>0)>>0<3|(l+-1&l|0)!=0)&1;m=~~+W(+(d/e))>>>0;x=0;Ga(480,a|0,(o>>>0>>0?m:o)|0);o=x;x=0;if(o&1){r=55;break a}b=f[s>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&p;break}if(p>>>0>>0){g=b;b=p}else{g=b;b=(p>>>0)%(b>>>0)|0}}else g=l;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){f[h>>2]=f[v>>2];f[v>>2]=h;f[c>>2]=v;b=f[h>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;r=64}}else{f[h>>2]=f[b>>2];r=64}if((r|0)==64){r=0;f[b>>2]=h}f[t>>2]=(f[t>>2]|0)+1}b=f[q>>2]|0;if(!b){r=67;break}else{o=b;q=b}}if((r|0)==46){b=Ya()|0;_P(g)}else if((r|0)==47)b=Ya()|0;else if((r|0)==55){v=Ya()|0;_P(c);_P(g);Hta(h);c=v;break}else if((r|0)==67)return;else if((r|0)==68){c=Ya()|0;break}else if((r|0)==69){c=Ya()|0;break}else if((r|0)==70){c=Ya()|0;break}Hta(h);c=b}while(0);b=f[a+8>>2]|0;if(b|0)do{v=b;b=f[b>>2]|0;_P(v+16|0);_P(v+8|0);Hta(v)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)jb(c|0);Hta(b);jb(c|0)}function ph(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,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;y=0;D=u;u=u+208|0;C=D;q=D+160|0;v=D+144|0;B=D+88|0;n=D+104|0;o=D+64|0;r=D+76|0;s=D+52|0;t=D+40|0;i=+p[c+88>>3];switch(a|0){case 10:case 8:{m=VN(112)|0;w=q;z=g;A=w+40|0;do{f[w>>2]=f[z>>2];w=w+4|0;z=z+4|0}while((w|0)<(A|0));h=20408+(a<<2)|0;x=0;k=+ea(f[h>>2]|0,+i,+(+p[d+64>>3]));B=x;x=0;do if(B&1)y=9;else{x=0;l=+ea(f[h>>2]|0,+i,+(+p[d+72>>3]));B=x;x=0;if(B&1)y=9;else{x=0;j=+ea(f[h>>2]|0,+i,+(+p[d+80>>3]));B=x;x=0;if(B&1)y=9;else{i=+p[d+88>>3];e=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;w=C;z=q;A=w+40|0;do{f[w>>2]=f[z>>2];w=w+4|0;z=z+4|0}while((w|0)<(A|0));x=0;Fa(427,m|0);B=x;x=0;if(B&1){h=Ya()|0;break}w=m+12|0;z=C;A=w+40|0;do{f[w>>2]=f[z>>2];w=w+4|0;z=z+4|0}while((w|0)<(A|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;h=m+56|0;f[h>>2]=0;f[m>>2]=11116;p[m+64>>3]=k;p[m+72>>3]=l;p[m+80>>3]=j;p[m+88>>3]=i;x=0;Ga(459,m+96|0,v|0);C=x;x=0;if(C&1){h=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[v>>2]|0);break}f[m+108>>2]=0;f[h>>2]=3;if((b[e>>0]|0)>=0){C=m;u=D;return C|0}Hta(f[v>>2]|0);C=m;u=D;return C|0}}}while(0);if((y|0)==9)h=Ya()|0;Hta(m);D=h;jb(D|0)}case 11:case 9:{h=f[(f[d>>2]|0)+28>>2]|0;w=C;z=e;A=w+12|0;do{b[w>>0]=b[z>>0]|0;w=w+1|0;z=z+1|0}while((w|0)<(A|0));Nc[h&255](B,d,C);x=0;m=qa(318,80)|0;A=x;x=0;if(A&1)h=Ya()|0;else{w=n;z=g;A=w+40|0;do{f[w>>2]=f[z>>2];w=w+4|0;z=z+4|0}while((w|0)<(A|0));h=f[(f[c>>2]|0)+28>>2]|0;x=0;w=C;z=e;A=w+12|0;do{b[w>>0]=b[z>>0]|0;w=w+1|0;z=z+1|0}while((w|0)<(A|0));Ia(h|0,s|0,c|0,C|0);A=x;x=0;if(A&1)h=Ya()|0;else{switch(a|0){case 11:{f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;b[t+11>>0]=1;b[t>>0]=47;h=1;break}case 10:{f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;b[t+11>>0]=1;b[t>>0]=42;h=1;break}case 9:{f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;b[t+11>>0]=1;b[t>>0]=45;h=1;break}default:{f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;b[t+11>>0]=7;b[t>>0]=b[53380]|0;b[t+1>>0]=b[53381]|0;b[t+2>>0]=b[53382]|0;b[t+3>>0]=b[53383]|0;b[t+4>>0]=b[53384]|0;b[t+5>>0]=b[53385]|0;b[t+6>>0]=b[53386]|0;h=7}}b[t+h>>0]=0;x=0;Ia(80,r|0,s|0,t|0);A=x;x=0;if(A&1)h=Ya()|0;else{e=B+11|0;h=b[e>>0]|0;A=h<<24>>24<0;x=0;h=ta(41,r|0,(A?f[B>>2]|0:B)|0,(A?f[B+4>>2]|0:h&255)|0)|0;A=x;x=0;do if(A&1)h=Ya()|0;else{f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];f[o+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;w=C;z=n;A=w+40|0;do{f[w>>2]=f[z>>2];w=w+4|0;z=z+4|0}while((w|0)<(A|0));Na(1,m|0,C|0,o|0,0,0,0,1,1);C=x;x=0;if(C&1){h=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[e>>0]|0)<0)Hta(f[B>>2]|0);C=m;u=D;return C|0}while(0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}Hta(m)}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);D=h;jb(D|0)}default:{h=Ta(32)|0;x=0;Ja(56,h|0,c|0,d|0,a|0);D=x;x=0;if(!(D&1))fb(h|0,4384,6);D=Ya()|0;bb(h|0);jb(D|0)}}return 0}function qh(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;K=0;F=u;u=u+112|0;H=F+72|0;L=F+64|0;M=F+56|0;J=F+48|0;I=F+40|0;C=F+24|0;D=F+32|0;E=F+16|0;G=F;o=c+4|0;p=f[o>>2]|0;c=f[p+76>>2]|0;p=f[p+80>>2]|0;if((c|0)==(p|0)){u=F;return}q=L+4|0;r=M+4|0;s=I+4|0;t=D+4|0;v=G+8|0;w=G+4|0;B=G+11|0;y=J+4|0;z=a+76|0;A=a+80|0;i=a+76|0;j=H+8|0;k=H+8|0;l=E+4|0;m=H+4|0;n=C+4|0;h=c;a:while(1){qV(L,f[h+4>>2]|0);f[L>>2]=15556;x=0;Ga(462,M|0,f[q>>2]|0);g=x;x=0;if(g&1){K=16;break}f[M>>2]=15556;x=0;Ga(462,J|0,f[(f[r>>2]|0)+80>>2]|0);g=x;x=0;if(g&1){K=17;break}f[J>>2]=15572;x=0;Ga(462,I|0,f[q>>2]|0);g=x;x=0;if(g&1){K=18;break}f[I>>2]=15556;c=f[s>>2]|0;b:do if(c){while(1){x=0;Ga(462,H|0,f[c+80>>2]|0);g=x;x=0;if(g&1){K=20;break a}f[H>>2]=15572;c=f[m>>2]|0;if(c|0){a=f[(f[c+76>>2]|0)+4>>2]|0;if(!a)break;if((f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)!=33918)break}x=0;Ga(462,C|0,f[(f[s>>2]|0)+88>>2]|0);g=x;x=0;if(g&1){K=27;break a}f[C>>2]=15556;if(f[s>>2]|0){x=0;Fa(429,I|0);g=x;x=0;if(g&1){K=28;break a}}f[s>>2]=f[n>>2];f[n>>2]=0;_P(C);_P(H);c=f[s>>2]|0;if(!c)break b}if(f[y>>2]|0){x=0;Fa(429,J|0);g=x;x=0;if(g&1){K=21;break a}c=f[m>>2]|0}f[y>>2]=c;x=0;Fa(430,J|0);g=x;x=0;if(g&1){K=21;break a}_P(H);c=f[s>>2]|0}while(0);x=0;Ga(462,D|0,f[c+80>>2]|0);g=x;x=0;if(g&1){K=19;break}f[D>>2]=15572;if(!(f[t>>2]|0)){_P(D);K=37}else{x=0;Ga(462,E|0,f[(f[s>>2]|0)+88>>2]|0);g=x;x=0;if(g&1){K=41;break}f[E>>2]=15556;g=(f[l>>2]|0)==0;_P(E);_P(D);if(!g)K=37}if((K|0)==37){K=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;x=0;c=qa(318,48)|0;g=x;x=0;if(g&1){K=19;break}f[G>>2]=c;f[v>>2]=-2147483600;f[w>>2]=36;a=c;e=34838;g=a+36|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[c+36>>0]=0;x=0;a=H;e=(f[r>>2]|0)+12|0;g=a+40|0;do{f[a>>2]=f[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(g|0));Ga(483,G|0,H|0);g=x;x=0;if(g&1){K=42;break}if((b[B>>0]|0)<0)Hta(f[G>>2]|0)}b[(f[y>>2]|0)+62>>0]=b[(f[o>>2]|0)+62>>0]|0;a=f[z>>2]|0;e=(f[A>>2]|0)-a>>3;c:do if(e|0){c=0;while(1){x=0;Ga(462,H|0,f[a+(c<<3)+4>>2]|0);g=x;x=0;if(g&1){K=53;break a}f[H>>2]=15556;x=0;Ga(462,j|0,f[y>>2]|0);g=x;x=0;if(g&1){K=49;break a}f[j>>2]=15572;x=0;Ia(87,d|0,J|0,H|0);g=x;x=0;if(g&1){K=55;break a}_P(k);_P(H);c=c+1|0;if(c>>>0>=e>>>0)break c;a=f[i>>2]|0}}while(0);_P(I);_P(J);_P(M);_P(L);h=h+8|0;if((h|0)==(p|0)){K=3;break}}switch(K|0){case 3:{u=F;return}case 16:{M=Ya()|0;_P(L);jb(M|0)}case 17:{c=Ya()|0;break}case 18:{c=Ya()|0;K=58;break}case 19:{c=Ya()|0;K=57;break}case 20:{c=Ya()|0;K=31;break}case 21:{c=Ya()|0;K=30;break}case 27:{c=Ya()|0;K=29;break}case 28:{c=Ya()|0;_P(C);K=29;break}case 41:{c=Ya()|0;_P(D);K=57;break}case 42:{c=Ya()|0;if((b[B>>0]|0)<0){Hta(f[G>>2]|0);K=57}else K=57;break}case 49:{c=Ya()|0;_P(H);K=54;break}case 53:{c=Ya()|0;K=54;break}case 55:{c=Ya()|0;_P(k);_P(H);K=56;break}}if((K|0)==29)K=30;else if((K|0)==54)K=56;if((K|0)==30){_P(H);K=31}else if((K|0)==56)K=57;if((K|0)==31)K=57;if((K|0)==57){_P(I);K=58}if((K|0)==58)_P(J);_P(M);M=c;_P(L);jb(M|0)}function rh(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;l=0;m=u;u=u+304|0;c=m+228|0;q=m+40|0;d=m;o=m+28|0;k=m+16|0;h=a+11|0;if((LT((b[h>>0]|0)<0?f[a>>2]|0:a,c)|0)==-1){q=0;u=m;return q|0}if((f[c+12>>2]&61440|0)==16384){q=0;u=m;return q|0}c=(b[h>>0]|0)<0?f[a>>2]|0:a;p=q+108|0;n=q+8|0;f[q>>2]=2820;f[p>>2]=2840;f[q+4>>2]=0;x=0;Ga(531,q+108|0,n|0);g=x;x=0;if(g&1){q=Ya()|0;uma(p);jb(q|0)}f[q+180>>2]=0;f[q+184>>2]=-1;f[q>>2]=16932;f[p>>2]=16952;x=0;Fa(445,n|0);g=x;x=0;do if(g&1)c=Ya()|0;else{g=q+72|0;if(!(f[g>>2]|0)){c=TF(c,43519)|0;f[g>>2]=c;if(!c)l=9;else{f[q+96>>2]=14;if(roa(c,0,2)|0){aH(f[g>>2]|0)|0;f[g>>2]=0;l=9}}}else l=9;if((l|0)==9){e=q+(f[(f[q>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,e|0,f[e+16>>2]|4|0);e=x;x=0;if(e&1){c=Ya()|0;dC(n);break}}a:do if(!(f[g>>2]|0))c=0;else{x=0;Ga(571,d|0,q|0);e=x;x=0;do if(e&1)l=25;else{d=f[d+8>>2]|0;c=Rd(d+2|0)|0;x=0;ua(13,q|0,0,0,0)|0;e=x;x=0;if(e&1)l=25;else{x=0;ta(51,q|0,c|0,d|0)|0;e=x;x=0;if(e&1)l=25;else{b[c+d>>0]=0;b[c+(d+1)>>0]=0;d=f[g>>2]|0;if(d|0){x=0;e=qa(f[(f[n>>2]|0)+24>>2]|0,n|0)|0;r=x;x=0;if(r&1){c=Ya()|0;aH(d)|0;break}if(!(aH(d)|0)){f[g>>2]=0;if(!e)break a}}r=q+(f[(f[q>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,r|0,f[r+16>>2]|4|0);r=x;x=0;if(r&1)l=25;else break a}}}while(0);if((l|0)==25)c=Ya()|0;r=c;f[q>>2]=16932;f[p>>2]=16952;dC(n);$na(q,16964);uma(p);jb(r|0)}while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;d=b[h>>0]|0;d=d<<24>>24<0?f[a+4>>2]|0:d&255;do if(d>>>0>5){x=0;Ka(4,k|0,a|0,d+-5|0,5,a|0);r=x;x=0;if(r&1){j=Ya()|0;i=o+11|0;break}d=o+11|0;if((b[d>>0]|0)<0){b[f[o>>2]>>0]=0;f[o+4>>2]=0}else{b[o>>0]=0;b[d>>0]=0}x=0;Ga(501,o|0,0);r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}else{f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];l=o+4|0;i=d;a=l;e=b[d>>0]|0;d=f[l>>2]|0;l=29;break}}else{i=o+11|0;a=o+4|0;e=0;d=0;l=29}while(0);b:do if((l|0)==29){g=e<<24>>24<0;if((e<<24>>24<0?d:e&255)|0){h=0;d=e;while(1){e=f[o>>2]|0;g=(Ema(b[(g?e:o)+h>>0]|0)|0)&255;b[(d<<24>>24<0?e:o)+h>>0]=g;h=h+1|0;e=b[i>>0]|0;g=e<<24>>24<0;d=f[a>>2]|0;if(h>>>0>=(g?d:e&255)>>>0)break;else d=e}}c:do if(((g?d:e&255)|0)==5){x=0;d=wa(21,o|0,0,-1,52903,5)|0;r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}if((c|0)!=0&(d|0)==0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=hL(c)|0;do if(g>>>0>4294967279){x=0;Fa(428,k|0);x=0;l=55}else{if(g>>>0<11){b[k+11>>0]=g;if(!g)d=k;else{d=k;l=50}}else{e=g+16&-16;x=0;d=qa(318,e|0)|0;r=x;x=0;if(r&1){l=55;break}f[k>>2]=d;f[k+8>>2]=e|-2147483648;f[k+4>>2]=g;l=50}if((l|0)==50)Lu(d|0,c|0,g|0)|0;b[d+g>>0]=0;x=0;d=sa(995,k|0,33)|0;r=x;x=0;if(r&1){c=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);$h(c);c=d;break c}while(0);if((l|0)==55)c=Ya()|0;j=c;break b}}while(0);if((b[i>>0]|0)<0)Hta(f[o>>2]|0);f[q>>2]=16932;f[p>>2]=16952;dC(n);$na(q,16964);uma(p);r=c;u=m;return r|0}while(0);if((b[i>>0]|0)<0)Hta(f[o>>2]|0);r=j;f[q>>2]=16932;f[p>>2]=16952;dC(n);$na(q,16964);uma(p);jb(r|0)}while(0);$na(q,16964);r=c;uma(p);jb(r|0);return 0}function sh(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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0;A=0;B=u;u=u+16|0;t=B+12|0;s=B+8|0;y=B+4|0;z=B;kha(t,g);x=0;v=sa(994,t|0,83320)|0;w=x;x=0;if(w&1){B=Ya()|0;uga(t);jb(B|0)}uga(t);f[h>>2]=0;w=v+8|0;l=0;a:while(1){r=(j|0)!=(k|0);m=l;while(1){l=f[c>>2]|0;if(!(r&(m|0)==0))break a;n=l;if(!l){l=0;p=1;q=n}else{m=f[l+12>>2]|0;if((m|0)==(f[l+16>>2]|0))m=vc[f[(f[l>>2]|0)+36>>2]&511](l)|0;else m=mqa(b[m>>0]|0)|0;if(wja(m,Kta()|0)|0){f[c>>2]=0;l=0;p=1;q=0}else{p=0;q=n}}o=f[e>>2]|0;m=o;do if(!o)A=17;else{n=f[o+12>>2]|0;if((n|0)==(f[o+16>>2]|0))n=vc[f[(f[o>>2]|0)+36>>2]&511](o)|0;else n=mqa(b[n>>0]|0)|0;if(wja(n,Kta()|0)|0){f[e>>2]=0;m=0;A=17;break}else if(p)break;else{A=64;break a}}while(0);if((A|0)==17){A=0;if(p){A=64;break a}else o=0}if((yc[f[(f[v>>2]|0)+36>>2]&255](v,b[j>>0]|0,0)|0)<<24>>24==37){A=21;break}m=b[j>>0]|0;if(m<<24>>24>-1){n=f[w>>2]|0;if(d[n+(m<<24>>24<<1)>>1]&8192){A=28;break}}n=l+12|0;m=f[n>>2]|0;o=l+16|0;if((m|0)==(f[o>>2]|0))m=vc[f[(f[l>>2]|0)+36>>2]&511](l)|0;else m=mqa(b[m>>0]|0)|0;q=xc[f[(f[v>>2]|0)+12>>2]&2047](v,m&255)|0;if(q<<24>>24==(xc[f[(f[v>>2]|0)+12>>2]&2047](v,b[j>>0]|0)|0)<<24>>24){A=58;break}f[h>>2]=4;m=4}b:do if((A|0)==21){A=0;p=j+1|0;if((p|0)==(k|0)){A=64;break a}n=yc[f[(f[v>>2]|0)+36>>2]&255](v,b[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){A=64;break a}o=n;l=yc[f[(f[v>>2]|0)+36>>2]&255](v,b[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}r=f[(f[a>>2]|0)+36>>2]|0;f[y>>2]=q;f[z>>2]=m;f[s>>2]=f[y>>2];f[t>>2]=f[z>>2];r=Fc[r&15](a,s,t,g,h,i,l,o)|0;f[c>>2]=r;j=j+2|0}else if((A|0)==28){while(1){A=0;j=j+1|0;if((j|0)==(k|0)){j=k;break}m=b[j>>0]|0;if(m<<24>>24<=-1)break;if(!(d[n+(m<<24>>24<<1)>>1]&8192))break;else A=28}m=o;while(1){if(!l){p=1;l=0}else{n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0))n=vc[f[(f[l>>2]|0)+36>>2]&511](l)|0;else n=mqa(b[n>>0]|0)|0;if(wja(n,Kta()|0)|0){f[c>>2]=0;p=1;l=0}else p=0}do if(!o)A=44;else{n=f[o+12>>2]|0;if((n|0)==(f[o+16>>2]|0))n=vc[f[(f[o>>2]|0)+36>>2]&511](o)|0;else n=mqa(b[n>>0]|0)|0;if(wja(n,Kta()|0)|0){f[e>>2]=0;m=0;A=44;break}else if(p^(m|0)==0){q=m;o=m;break}else break b}while(0);if((A|0)==44){A=0;if(p)break b;else{q=m;o=0}}n=l+12|0;m=f[n>>2]|0;p=l+16|0;if((m|0)==(f[p>>2]|0))m=vc[f[(f[l>>2]|0)+36>>2]&511](l)|0;else m=mqa(b[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(d[(f[w>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=f[n>>2]|0;if((m|0)==(f[p>>2]|0)){vc[f[(f[l>>2]|0)+40>>2]&511](l)|0;m=q;continue}else{f[n>>2]=m+1;mqa(b[m>>0]|0)|0;m=q;continue}}}else if((A|0)==58){A=0;m=f[n>>2]|0;if((m|0)==(f[o>>2]|0))vc[f[(f[l>>2]|0)+40>>2]&511](l)|0;else{f[n>>2]=m+1;mqa(b[m>>0]|0)|0}j=j+1|0}while(0);l=f[h>>2]|0}if((A|0)==64)f[h>>2]=4;if(!l){l=0;n=1}else{j=f[l+12>>2]|0;if((j|0)==(f[l+16>>2]|0))j=vc[f[(f[l>>2]|0)+36>>2]&511](l)|0;else j=mqa(b[j>>0]|0)|0;if(wja(j,Kta()|0)|0){f[c>>2]=0;l=0;n=1}else n=0}j=f[e>>2]|0;do if(!j)A=77;else{m=f[j+12>>2]|0;if((m|0)==(f[j+16>>2]|0))j=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else j=mqa(b[m>>0]|0)|0;if(wja(j,Kta()|0)|0){f[e>>2]=0;A=77;break}else if(n)break;else{A=79;break}}while(0);if((A|0)==77)if(n)A=79;if((A|0)==79)f[h>>2]=f[h>>2]|2;u=B;return l|0}function th(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;m=0;k=u;u=u+64|0;l=k+16|0;n=k+8|0;j=k;qV(n,0);f[n>>2]=7696;a:do if(!(b[f[c+76>>2]>>0]|0)){x=0;Ga(462,a|0,0);m=x;x=0;if(!(m&1)){f[a>>2]=7696;_P(n);u=k;return}}else{x=0;d=ta(147,c|0,0,0)|0;i=x;x=0;b:do if(i&1)m=17;else{do if(!d){x=0;Ga(462,j|0,0);i=x;x=0;if(i&1){m=17;break b}}else{x=0;d=qa(318,80)|0;i=x;x=0;if(i&1){m=17;break b}e=c+168|0;x=0;g=l;h=c+108|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ja(29,d|0,l|0,e|0,1);i=x;x=0;if(i&1){m=Ya()|0;Hta(d);d=m;m=18;break b}else{x=0;Ga(462,j|0,d|0);i=x;x=0;if(i&1){m=17;break b}else break}}while(0);f[j>>2]=7696;e=n+4|0;if(f[e>>2]|0){x=0;Fa(429,n|0);i=x;x=0;if(i&1){d=Ya()|0;_P(j);break}}h=j+4|0;i=f[h>>2]|0;f[e>>2]=i;f[h>>2]=0;_P(j);if(i|0){x=0;Ga(462,a|0,f[e>>2]|0);m=x;x=0;if(m&1)break a;f[a>>2]=7696;_P(n);u=k;return}x=0;Ga(631,l|0,c|0);j=x;x=0;do if(j&1)d=Ya()|0;else{if(f[e>>2]|0){x=0;Fa(429,n|0);j=x;x=0;if(j&1){d=Ya()|0;_P(l);break}}i=l+4|0;j=f[i>>2]|0;f[e>>2]=j;f[i>>2]=0;_P(l);if(j|0){x=0;Ga(462,a|0,f[e>>2]|0);m=x;x=0;if(m&1)break a;f[a>>2]=7696;_P(n);u=k;return}x=0;Ga(632,l|0,c|0);j=x;x=0;do if(j&1)d=Ya()|0;else{if(f[e>>2]|0){x=0;Fa(429,n|0);j=x;x=0;if(j&1){d=Ya()|0;_P(l);break}}i=l+4|0;j=f[i>>2]|0;f[e>>2]=j;f[i>>2]=0;_P(l);if(j|0){x=0;Ga(462,a|0,f[e>>2]|0);m=x;x=0;if(m&1)break a;f[a>>2]=7696;_P(n);u=k;return}x=0;Ga(629,l|0,c|0);j=x;x=0;do if(j&1)d=Ya()|0;else{if(f[e>>2]|0){x=0;Fa(429,n|0);j=x;x=0;if(j&1){d=Ya()|0;_P(l);break}}i=l+4|0;j=f[i>>2]|0;f[e>>2]=j;f[i>>2]=0;_P(l);if(j|0){x=0;Ga(462,a|0,f[e>>2]|0);m=x;x=0;if(m&1)break a;f[a>>2]=7696;_P(n);u=k;return}x=0;d=ta(148,c|0,1,0)|0;j=x;x=0;if(j&1)break a;if(!d){x=0;Ga(462,a|0,f[e>>2]|0);m=x;x=0;if(m&1)break a;f[a>>2]=7696;_P(n);u=k;return}e=f[c+172>>2]|0;i=f[c+176>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=i-e|0;do if(h>>>0>4294967279){x=0;Fa(428,l|0);x=0;m=64}else{if(h>>>0<11){b[l+11>>0]=h;d=l}else{g=h+16&-16;x=0;d=qa(318,g|0)|0;j=x;x=0;if(j&1){m=64;break}f[l>>2]=d;f[l+8>>2]=g|-2147483648;f[l+4>>2]=h}if((e|0)!=(i|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(i|0))break;else g=g+1|0}d=d+h|0}b[d>>0]=0;x=0;d=sa(1029,c+108|0,l|0)|0;c=x;x=0;do if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(c&1)break;f[a>>2]=7696;if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);_P(n);u=k;return}while(0);d=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0)}while(0);if((m|0)==64)d=Ya()|0;m=d;_P(n);jb(m|0)}while(0);m=d;_P(n);jb(m|0)}while(0);m=d;_P(n);jb(m|0)}while(0);m=d;_P(n);jb(m|0)}while(0);if((m|0)==17){d=Ya()|0;m=18}m=d;_P(n);jb(m|0)}while(0);m=Ya()|0;_P(n);jb(m|0)}function uh(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;a:do if(c>>>0>36){g=bua()|0;f[g>>2]=22;g=0;e=0}else{r=a+4|0;q=a+100|0;do{i=f[r>>2]|0;if(i>>>0<(f[q>>2]|0)>>>0){f[r>>2]=i+1;i=h[i>>0]|0}else i=ID(a)|0}while((wpa(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=f[r>>2]|0;if(j>>>0<(f[q>>2]|0)>>>0){f[r>>2]=j+1;p=i;i=h[j>>0]|0;break b}else{p=i;i=ID(a)|0;break b}}default:p=0}while(0);j=(c|0)==0;do if((c|16|0)==16&(i|0)==48){i=f[r>>2]|0;if(i>>>0<(f[q>>2]|0)>>>0){f[r>>2]=i+1;i=h[i>>0]|0}else i=ID(a)|0;if((i|32|0)!=120)if(j){c=8;n=46;break}else{n=32;break}i=f[r>>2]|0;if(i>>>0<(f[q>>2]|0)>>>0){f[r>>2]=i+1;i=h[i>>0]|0}else i=ID(a)|0;if((h[54116+i>>0]|0)>15){e=(f[q>>2]|0)==0;if(!e)f[r>>2]=(f[r>>2]|0)+-1;if(!d){PR(a,0);g=0;e=0;break a}if(e){g=0;e=0;break a}f[r>>2]=(f[r>>2]|0)+-1;g=0;e=0;break a}else{c=16;n=46}}else{c=j?10:c;if(c>>>0>(h[54116+i>>0]|0)>>>0)n=32;else{if(f[q>>2]|0)f[r>>2]=(f[r>>2]|0)+-1;PR(a,0);g=bua()|0;f[g>>2]=22;g=0;e=0;break a}}while(0);c:do if((n|0)==32)if((c|0)==10){c=i+-48|0;if(c>>>0<10){i=0;j=c;do{i=(i*10|0)+j|0;c=f[r>>2]|0;if(c>>>0<(f[q>>2]|0)>>>0){f[r>>2]=c+1;c=h[c>>0]|0}else c=ID(a)|0;j=c+-48|0}while(j>>>0<10&i>>>0<429496729);d=0}else{c=i;i=0;d=0}k=c+-48|0;if(k>>>0<10){j=c;do{c=eT(i|0,d|0,10,0)|0;l=I;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&c>>>0>~k>>>0){c=10;n=72;break c}i=w7(c|0,l|0,k|0,m|0)|0;d=I;c=f[r>>2]|0;if(c>>>0<(f[q>>2]|0)>>>0){f[r>>2]=c+1;j=h[c>>0]|0}else j=ID(a)|0;k=j+-48|0}while(k>>>0<10&(d>>>0<429496729|(d|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;c=d}else{c=10;n=72}}else{j=p;c=d}}else n=46;while(0);d:do if((n|0)==46){if(!(c+-1&c)){n=b[54372+((c*23|0)>>>5&7)>>0]|0;d=b[54116+i>>0]|0;j=d&255;if(c>>>0>j>>>0){i=0;k=j;do{i=k|i<>2]|0;if(j>>>0<(f[q>>2]|0)>>>0){f[r>>2]=j+1;j=h[j>>0]|0}else j=ID(a)|0;d=b[54116+j>>0]|0;k=d&255}while(i>>>0<134217728&c>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=kX(-1,-1,n|0)|0;m=I;if(c>>>0<=(d&255)>>>0|(m>>>0>>0|(m|0)==(k|0)&l>>>0>>0)){d=k;n=72;break}else j=k;while(1){i=IW(i|0,j|0,n|0)|0;k=I;i=i|d&255;j=f[r>>2]|0;if(j>>>0<(f[q>>2]|0)>>>0){f[r>>2]=j+1;j=h[j>>0]|0}else j=ID(a)|0;d=b[54116+j>>0]|0;if(c>>>0<=(d&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){d=k;n=72;break d}else j=k}}d=b[54116+i>>0]|0;j=d&255;if(c>>>0>j>>>0){i=0;k=j;do{i=k+(X(i,c)|0)|0;j=f[r>>2]|0;if(j>>>0<(f[q>>2]|0)>>>0){f[r>>2]=j+1;j=h[j>>0]|0}else j=ID(a)|0;d=b[54116+j>>0]|0;k=d&255}while(i>>>0<119304647&c>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(c>>>0>(d&255)>>>0){n=Mea(-1,-1,c|0,0)|0;o=I;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){d=m;n=72;break d}k=eT(i|0,m|0,c|0,0)|0;l=I;d=d&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~d>>>0){d=m;n=72;break d}i=w7(k|0,l|0,d|0,0)|0;k=I;j=f[r>>2]|0;if(j>>>0<(f[q>>2]|0)>>>0){f[r>>2]=j+1;j=h[j>>0]|0}else j=ID(a)|0;d=b[54116+j>>0]|0;if(c>>>0<=(d&255)>>>0){d=k;n=72;break}else m=k}}else{d=k;n=72}}while(0);if((n|0)==72)if(c>>>0>(h[54116+j>>0]|0)>>>0){do{i=f[r>>2]|0;if(i>>>0<(f[q>>2]|0)>>>0){f[r>>2]=i+1;i=h[i>>0]|0}else i=ID(a)|0}while(c>>>0>(h[54116+i>>0]|0)>>>0);j=bua()|0;f[j>>2]=34;j=(e&1|0)==0&0==0?p:0;c=g;i=e}else{j=p;c=d}if(f[q>>2]|0)f[r>>2]=(f[r>>2]|0)+-1;if(!(c>>>0>>0|(c|0)==(g|0)&i>>>0>>0)){if(!((e&1|0)!=0|0!=0|(j|0)!=0)){r=bua()|0;f[r>>2]=34;e=w7(e|0,g|0,-1,-1)|0;g=I;break}if(c>>>0>g>>>0|(c|0)==(g|0)&i>>>0>e>>>0){r=bua()|0;f[r>>2]=34;break}}e=((j|0)<0)<<31>>31;e=AY(i^j|0,c^e|0,j|0,e|0)|0;g=I}while(0);I=g;return e|0}function vh(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=u;u=u+48|0;i=l+36|0;j=l+24|0;m=l+12|0;k=l;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;h=f[a+72>>2]|0;do switch(b[h>>0]|0){case -17:{if((b[36437]|0)==-17?(h+3|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36438]|0))c=(b[h+2>>0]|0)==(b[36439]|0)?3:0;else c=0;else c=0;x=0;sa(1032,m|0,47343)|0;k=x;x=0;if(k&1)d=5;else d=55;break}case -2:{if((b[36440]|0)==-2?(h+2|0)>>>0<=(f[a+80>>2]|0)>>>0:0)c=(b[h+1>>0]|0)==(b[36441]|0)?2:0;else c=0;x=0;sa(1032,m|0,47349)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case -1:{c=f[a+80>>2]|0;d=h+2|0;if(d>>>0<=c>>>0&(b[36442]|0)==-1){e=b[h+1>>0]|0;if(e<<24>>24==(b[36443]|0))if((h+4|0)>>>0<=c>>>0&(b[36448]|0)==-1&e<<24>>24==(b[36449]|0))if((b[d>>0]|0)==(b[36450]|0)){c=(b[h+3>>0]|0)==(b[36451]|0)?4:0;d=2}else{c=0;d=2}else{c=0;d=2}else{c=0;d=0}}else{c=0;d=0}c=c|d;x=0;sa(1032,m|0,((c|0)==2?47369:47392)|0)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case 0:{if((b[36444]|0)==0?(h+4|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36445]|0))if((b[h+2>>0]|0)==(b[36446]|0))c=(b[h+3>>0]|0)==(b[36447]|0)?4:0;else c=0;else c=0;else c=0;x=0;sa(1032,m|0,47415)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case 43:{e=f[a+80>>2]|0;g=h+4|0;if(g>>>0>e>>>0){c=0;d=0}else{if((b[36452]|0)==43)if((b[h+1>>0]|0)==(b[36453]|0))if((b[h+2>>0]|0)==(b[36454]|0))c=(b[h+3>>0]|0)==(b[36455]|0)?4:0;else c=0;else c=0;else c=0;if((b[36456]|0)==43)if((b[h+1>>0]|0)==(b[36457]|0))if((b[h+2>>0]|0)==(b[36458]|0))d=(b[h+3>>0]|0)==(b[36459]|0)?4:0;else d=0;else d=0;else d=0;d=d|c;if((b[36460]|0)==43)if((b[h+1>>0]|0)==(b[36461]|0))if((b[h+2>>0]|0)==(b[36462]|0))c=(b[h+3>>0]|0)==(b[36463]|0)?4:0;else c=0;else c=0;else c=0;c=d|c;if((b[36464]|0)==43)if((b[h+1>>0]|0)==(b[36465]|0))if((b[h+2>>0]|0)==(b[36466]|0))d=(b[h+3>>0]|0)==(b[36467]|0)?4:0;else d=0;else d=0;else d=0}d=c|d;if((h+5|0)>>>0<=e>>>0&(b[36468]|0)==43)if((b[h+1>>0]|0)==(b[36469]|0))if((b[h+2>>0]|0)==(b[36470]|0))if((b[h+3>>0]|0)==(b[36471]|0))c=(b[g>>0]|0)==(b[36472]|0)?5:0;else c=0;else c=0;else c=0;else c=0;x=0;sa(1032,m|0,47435)|0;h=x;x=0;if(h&1)d=5;else{c=d|c;d=42}break}case -9:{if((b[36473]|0)==-9?(h+3|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36474]|0))c=(b[h+2>>0]|0)==(b[36475]|0)?3:0;else c=0;else c=0;x=0;sa(1032,m|0,47441)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case -35:{if((b[36476]|0)==-35?(h+4|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36477]|0))if((b[h+2>>0]|0)==(b[36478]|0))c=(b[h+3>>0]|0)==(b[36479]|0)?4:0;else c=0;else c=0;else c=0;x=0;sa(1032,m|0,47447)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case 14:{if((b[36480]|0)==14?(h+3|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36481]|0))c=(b[h+2>>0]|0)==(b[36482]|0)?3:0;else c=0;else c=0;x=0;sa(1032,m|0,47458)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case -5:{if((b[36483]|0)==-5?(h+3|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36484]|0))c=(b[h+2>>0]|0)==(b[36485]|0)?3:0;else c=0;else c=0;x=0;sa(1032,m|0,47463)|0;h=x;x=0;if(h&1)d=5;else d=42;break}case -124:{if((b[36486]|0)==-124?(h+4|0)>>>0<=(f[a+80>>2]|0)>>>0:0)if((b[h+1>>0]|0)==(b[36487]|0))if((b[h+2>>0]|0)==(b[36488]|0))c=(b[h+3>>0]|0)==(b[36489]|0)?4:0;else c=0;else c=0;else c=0;x=0;sa(1032,m|0,47470)|0;h=x;x=0;if(h&1)d=5;else d=42;break}default:{c=0;d=55}}while(0);a:do if((d|0)==42)if(!c){c=0;d=55}else{x=0;Ia(92,k|0,47479,m|0);h=x;x=0;if(h&1)d=5;else{x=0;Ga(459,j|0,k|0);h=x;x=0;do if(h&1)c=Ya()|0;else{h=a+108|0;x=0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];Ia(113,a|0,j|0,i|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[k+11>>0]|0)>=0){d=55;break a}Hta(f[k>>2]|0);d=55;break a}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0)}}while(0);if((d|0)==5)c=Ya()|0;else if((d|0)==55){k=a+76|0;f[k>>2]=(f[k>>2]|0)+c;if((b[m+11>>0]|0)>=0){u=l;return}Hta(f[m>>2]|0);u=l;return}if((b[m+11>>0]|0)>=0)jb(c|0);Hta(f[m>>2]|0);jb(c|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;m=0;e=u;u=u+336|0;d=e+312|0;r=e+300|0;p=e+160|0;l=e+24|0;h=e+12|0;g=e;A4(r,c+76|0,c);q=p+60|0;n=p+8|0;f[p>>2]=2196;f[q>>2]=2216;f[p+4>>2]=0;x=0;Ga(531,p+60|0,n|0);o=x;x=0;a:do if(o&1){c=Ya()|0;m=43}else{f[p+132>>2]=0;f[p+136>>2]=-1;f[p>>2]=16300;f[q>>2]=16320;x=0;Fa(437,n|0);o=x;x=0;do if(o&1)c=Ya()|0;else{f[n>>2]=16336;o=p+40|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[p+56>>2]=8;x=0;Ga(532,n|0,r|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);Bca(n);break}k=l+56|0;i=l+4|0;f[l>>2]=2388;f[k>>2]=2408;x=0;Ga(531,l+56|0,i|0);j=x;x=0;b:do if(j&1){c=Ya()|0;m=44}else{f[l+128>>2]=0;f[l+132>>2]=-1;f[l>>2]=16420;f[k>>2]=16440;x=0;Fa(437,i|0);j=x;x=0;do if(j&1)c=Ya()|0;else{f[i>>2]=16336;j=l+36|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[l+52>>2]=16;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;Ga(532,i|0,d|0);c=x;x=0;if(c&1){c=Ya()|0;if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(i);break}if((b[d+11>>0]|0)<0)Hta(f[d>>2]|0);f[d+12>>2]=255;x=0;Fa(438,d|0);c=x;x=0;if(c&1)m=45;else{x=0;Ia(91,d|0,p|0,l|0);d=x;x=0;if(d&1)m=45;else{x=0;Ga(533,g|0,i|0);d=x;x=0;do if(d&1){c=Ya()|0;m=49}else{x=0;c=ta(43,g|0,0,35294)|0;d=x;x=0;if(d&1){c=Ya()|0;if((b[g+11>>0]|0)>=0){m=49;break}Hta(f[g>>2]|0);m=49;break}f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);d=h+11|0;c=b[d>>0]|0;x=0;ta(40,h|0,(c<<24>>24<0?f[h+4>>2]|0:c&255)+-1|0,-1)|0;c=x;x=0;if(c&1)c=Ya()|0;else{x=0;Ia(92,g|0,35272,h|0);c=x;x=0;do if(c&1)c=Ya()|0;else{x=0;c=sa(991,g|0,51440)|0;s=x;x=0;if(s&1){c=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[d>>0]|0)<0)Hta(f[h>>2]|0);f[l>>2]=16420;f[k>>2]=16440;f[i>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(i);Zna(l,16452);uma(k);f[p>>2]=16300;f[q>>2]=16320;f[n>>2]=16336;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);Bca(n);$na(p,16396);uma(q);if((b[r+11>>0]|0)>=0){u=e;return}Hta(f[r>>2]|0);u=e;return}while(0)}if((b[d>>0]|0)<0)Hta(f[h>>2]|0)}while(0)}}if((m|0)==45)c=Ya()|0;f[l>>2]=16420;f[k>>2]=16440;f[i>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(i);Zna(l,16452);uma(k);break b}while(0);Zna(l,16452);m=44}while(0);if((m|0)==44)uma(k);f[p>>2]=16300;f[q>>2]=16320;f[n>>2]=16336;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);Bca(n);$na(p,16396);uma(q);break a}while(0);$na(p,16396);m=43}while(0);if((m|0)==43)uma(q);if((b[r+11>>0]|0)>=0)jb(c|0);Hta(f[r>>2]|0);jb(c|0)}function xh(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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0;w=0;y=u;u=u+16|0;r=y+12|0;q=y+8|0;t=y+4|0;v=y;kha(r,d);x=0;s=sa(994,r|0,83352)|0;p=x;x=0;if(p&1){y=Ya()|0;uga(r);jb(y|0)}uga(r);f[e>>2]=0;j=0;a:while(1){p=(h|0)!=(i|0);k=j;while(1){j=f[b>>2]|0;if(!(p&(k|0)==0))break a;l=j;if(!j){j=0;n=1;o=l}else{k=f[j+12>>2]|0;if((k|0)==(f[j+16>>2]|0))k=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else k=mra(f[k>>2]|0)|0;if(vja(k,Jta()|0)|0){f[b>>2]=0;j=0;n=1;o=0}else{n=0;o=l}}m=f[c>>2]|0;k=m;do if(!m)w=17;else{l=f[m+12>>2]|0;if((l|0)==(f[m+16>>2]|0))l=vc[f[(f[m>>2]|0)+36>>2]&511](m)|0;else l=mra(f[l>>2]|0)|0;if(vja(l,Jta()|0)|0){f[c>>2]=0;k=0;w=17;break}else if(n)break;else{w=61;break a}}while(0);if((w|0)==17){w=0;if(n){w=61;break a}else m=0}if((yc[f[(f[s>>2]|0)+52>>2]&255](s,f[h>>2]|0,0)|0)<<24>>24==37){w=21;break}if(yc[f[(f[s>>2]|0)+12>>2]&255](s,8192,f[h>>2]|0)|0){w=27;break}l=j+12|0;k=f[l>>2]|0;m=j+16|0;if((k|0)==(f[m>>2]|0))k=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else k=mra(f[k>>2]|0)|0;o=xc[f[(f[s>>2]|0)+28>>2]&2047](s,k)|0;if((o|0)==(xc[f[(f[s>>2]|0)+28>>2]&2047](s,f[h>>2]|0)|0)){w=55;break}f[e>>2]=4;k=4}b:do if((w|0)==21){w=0;n=h+4|0;if((n|0)==(i|0)){w=61;break a}l=yc[f[(f[s>>2]|0)+52>>2]&255](s,f[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){w=61;break a}m=l;j=yc[f[(f[s>>2]|0)+52>>2]&255](s,f[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}p=f[(f[a>>2]|0)+36>>2]|0;f[t>>2]=o;f[v>>2]=k;f[q>>2]=f[t>>2];f[r>>2]=f[v>>2];p=Fc[p&15](a,q,r,d,e,g,j,m)|0;f[b>>2]=p;h=h+8|0}else if((w|0)==27){while(1){w=0;h=h+4|0;if((h|0)==(i|0)){h=i;break}if(yc[f[(f[s>>2]|0)+12>>2]&255](s,8192,f[h>>2]|0)|0)w=27;else break}k=m;while(1){if(!j){n=1;j=0}else{l=f[j+12>>2]|0;if((l|0)==(f[j+16>>2]|0))l=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else l=mra(f[l>>2]|0)|0;if(vja(l,Jta()|0)|0){f[b>>2]=0;n=1;j=0}else n=0}do if(!m)w=42;else{l=f[m+12>>2]|0;if((l|0)==(f[m+16>>2]|0))l=vc[f[(f[m>>2]|0)+36>>2]&511](m)|0;else l=mra(f[l>>2]|0)|0;if(vja(l,Jta()|0)|0){f[c>>2]=0;k=0;w=42;break}else if(n^(k|0)==0){o=k;m=k;break}else break b}while(0);if((w|0)==42){w=0;if(n)break b;else{o=k;m=0}}l=j+12|0;k=f[l>>2]|0;n=j+16|0;if((k|0)==(f[n>>2]|0))k=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else k=mra(f[k>>2]|0)|0;if(!(yc[f[(f[s>>2]|0)+12>>2]&255](s,8192,k)|0))break b;k=f[l>>2]|0;if((k|0)==(f[n>>2]|0)){vc[f[(f[j>>2]|0)+40>>2]&511](j)|0;k=o;continue}else{f[l>>2]=k+4;mra(f[k>>2]|0)|0;k=o;continue}}}else if((w|0)==55){w=0;k=f[l>>2]|0;if((k|0)==(f[m>>2]|0))vc[f[(f[j>>2]|0)+40>>2]&511](j)|0;else{f[l>>2]=k+4;mra(f[k>>2]|0)|0}h=h+4|0}while(0);j=f[e>>2]|0}if((w|0)==61)f[e>>2]=4;if(!j){j=0;l=1}else{h=f[j+12>>2]|0;if((h|0)==(f[j+16>>2]|0))h=vc[f[(f[j>>2]|0)+36>>2]&511](j)|0;else h=mra(f[h>>2]|0)|0;if(vja(h,Jta()|0)|0){f[b>>2]=0;j=0;l=1}else l=0}h=f[c>>2]|0;do if(!h)w=74;else{k=f[h+12>>2]|0;if((k|0)==(f[h+16>>2]|0))h=vc[f[(f[h>>2]|0)+36>>2]&511](h)|0;else h=mra(f[k>>2]|0)|0;if(vja(h,Jta()|0)|0){f[c>>2]=0;w=74;break}else if(l)break;else{w=76;break}}while(0);if((w|0)==74)if(l)w=76;if((w|0)==76)f[e>>2]=f[e>>2]|2;u=y;return j|0}function yh(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,t=0,v=0,w=0,y=0,z=0,A=0;v=u;u=u+64|0;z=v+28|0;t=v;UE(a);x=0;Fa(451,z|0);y=x;x=0;if(y&1)b=Ya()|0;else{x=0;Ga(507,z|0,b|0);y=x;x=0;if(y&1){b=Ya()|0;c=z+24|0}else{s=z+20|0;c=z+24|0;o=t+20|0;w=t+24|0;p=a+20|0;q=a+24|0;r=t+16|0;y=t+12|0;a:while(1){b=f[s>>2]|0;d=f[c>>2]|0;if(!d){if(!(f[b+20>>2]|0)){d=70;break}}else{ega(d);n=(f[b+20>>2]|0)==0;QZ(d);if(n){d=68;break}}x=0;Fa(451,t|0);n=x;x=0;if(n&1){d=57;break}do{b=f[o>>2]|0;e=f[w>>2]|0;g=(e|0)==0;if(!g)ega(e);d=f[s>>2]|0;h=f[c>>2]|0;i=(h|0)==0;if(!i)ega(h);n=f[d+16>>2]|0;x=0;Ga(524,b|0,(f[(f[d+4>>2]|0)+(((n>>>0)/146|0)<<2)>>2]|0)+(((n>>>0)%146|0)*28|0)|0);n=x;x=0;if(n&1){d=58;break a}if(!i)QZ(h);if(!g)QZ(e);b=f[s>>2]|0;d=f[c>>2]|0;e=(d|0)==0;if(!e)ega(d);g=b+4|0;h=b+16|0;j=f[h>>2]|0;i=f[(f[g>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[i+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(i+(j*28|0)+12|0);n=b+20|0;f[n>>2]=(f[n>>2]|0)+-1;n=(f[h>>2]|0)+1|0;f[h>>2]=n;if(n>>>0>291){Hta(f[f[g>>2]>>2]|0);f[g>>2]=(f[g>>2]|0)+4;f[h>>2]=(f[h>>2]|0)+-146}if(!e)QZ(d);b=f[s>>2]|0;i=f[c>>2]|0;j=(i|0)==0;if(!j)ega(i);do if(!(f[b+20>>2]|0))b=0;else{b=f[o>>2]|0;g=f[w>>2]|0;h=(g|0)==0;if(!h)ega(g);n=(f[b+20>>2]|0)+-1+(f[b+16>>2]|0)|0;do if((f[(f[(f[b+4>>2]|0)+(((n>>>0)/146|0)<<2)>>2]|0)+(((n>>>0)%146|0)*28|0)+4>>2]|0)==1)b=1;else{b=f[s>>2]|0;d=f[c>>2]|0;e=(d|0)==0;if(!e)ega(d);n=f[b+16>>2]|0;b=(f[(f[(f[b+4>>2]|0)+(((n>>>0)/146|0)<<2)>>2]|0)+(((n>>>0)%146|0)*28|0)+4>>2]|0)==1;if(e)break;QZ(d)}while(0);if(h)break;QZ(g)}while(0);if(!j)QZ(i)}while(b);b=f[p>>2]|0;m=f[q>>2]|0;n=(m|0)==0;if(!n)ega(m);j=b+8|0;e=f[j>>2]|0;k=b+4|0;d=f[k>>2]|0;A=e-d>>2;h=b+16|0;i=f[h>>2]|0;l=b+20|0;g=f[l>>2]|0;if((((A|0)==0?0:(A*146|0)+-1|0)|0)==(g+i|0)){x=0;Fa(433,b|0);A=x;x=0;if(A&1){d=62;break}g=f[l>>2]|0;b=f[h>>2]|0;e=f[j>>2]|0;d=f[k>>2]|0}else b=i;b=g+b|0;if((e|0)==(d|0))d=0;else d=(f[d+(((b>>>0)/146|0)<<2)>>2]|0)+(((b>>>0)%146|0)*28|0)|0;f[d>>2]=f[t>>2];f[d+4>>2]=f[t+4>>2];f[d+8>>2]=f[t+8>>2];b=d+12|0;x=0;Ga(462,b|0,f[r>>2]|0);A=x;x=0;if(A&1){d=62;break}f[b>>2]=15556;f[d+20>>2]=f[o>>2];b=f[w>>2]|0;f[d+24>>2]=b;if(b|0)ega(b);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);b=f[w>>2]|0;if(b|0)QZ(b);_P(y)}if((d|0)==57)b=Ya()|0;else if((d|0)==58){b=Ya()|0;if(!i)QZ(h);if(g)d=64;else{QZ(e);d=64}}else if((d|0)==62){b=Ya()|0;if(n)d=64;else{QZ(m);d=64}}else if((d|0)==68){b=f[c>>2]|0;if(!b){A=z+12|0;_P(A);u=v;return}QZ(b);A=z+12|0;_P(A);u=v;return}else if((d|0)==70){A=z+12|0;_P(A);u=v;return}if((d|0)==64){d=f[w>>2]|0;if(d|0)QZ(d);_P(y)}}c=f[c>>2]|0;if(c|0)QZ(c);_P(z+12|0)}c=f[a+24>>2]|0;if(!c){A=a+12|0;_P(A);jb(b|0)}QZ(c);A=a+12|0;_P(A);jb(b|0)}function zh(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;s=u;u=u+144|0;d=s+128|0;r=s+136|0;o=s+112|0;n=s+104|0;i=s+88|0;j=s+80|0;k=s+64|0;l=s+56|0;e=s+40|0;g=s+32|0;h=s;p=s+24|0;q=s+12|0;m=a+76|0;qV(d,f[m>>2]|0);f[d>>2]=13136;t=(f[d+4>>2]|0)==0;_P(d);d=c+4|0;c=f[d>>2]|0;a=f[c+52>>2]|0;if(t){t=(a|0)==1;u=s;return t|0}do if((a|0)==3){if(!c)a=0;else a=(f[139]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;qV(r,a);f[r>>2]=17128;a=f[r+4>>2]|0;if(!a){_P(r);a=f[d>>2]|0;c=a;a=f[a+52>>2]|0;break}x=0;Ga(459,o|0,a+72|0);t=x;x=0;if(t&1)a=Ya()|0;else{c=o+11|0;t=b[c>>0]|0;if(!((t<<24>>24<0?f[o+4>>2]|0:t&255)|0))d=13;else{x=0;ta(40,o|0,0,1)|0;t=x;x=0;if(t&1)d=12;else d=13}if((d|0)==13){x=0;Ga(462,n|0,f[m>>2]|0);t=x;x=0;if(t&1)d=12;else{f[n>>2]=13136;a=f[n+4>>2]|0;x=0;Ga(459,i|0,o|0);t=x;x=0;do if(t&1)a=Ya()|0;else{x=0;a=sa(1046,a|0,i|0)|0;t=x;x=0;if(t&1){a=Ya()|0;if((b[i+11>>0]|0)>=0)break;Hta(f[i>>2]|0);break}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);_P(n);if((b[c>>0]|0)<0)Hta(f[o>>2]|0);_P(r);t=a;u=s;return t|0}while(0);_P(n)}}if((d|0)==12)a=Ya()|0;if((b[c>>0]|0)<0)Hta(f[o>>2]|0)}_P(r);t=a;jb(t|0)}while(0);switch(a|0){case 2:{qV(j,f[m>>2]|0);f[j>>2]=13136;a=f[j+4>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=k+11|0;b[c>>0]=5;b[k>>0]=b[49338]|0;b[k+1>>0]=b[49339]|0;b[k+2>>0]=b[49340]|0;b[k+3>>0]=b[49341]|0;b[k+4>>0]=b[49342]|0;b[k+5>>0]=0;x=0;a=sa(1046,a|0,k|0)|0;t=x;x=0;if(t&1){a=Ya()|0;if((b[c>>0]|0)<0)Hta(f[k>>2]|0);_P(j);t=a;jb(t|0)}else{if((b[c>>0]|0)<0)Hta(f[k>>2]|0);_P(j);t=a;u=s;return t|0}}case 1:{qV(l,f[m>>2]|0);f[l>>2]=13136;a=f[l+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;c=e+11|0;b[c>>0]=4;f[e>>2]=1701606770;b[e+4>>0]=0;x=0;a=sa(1046,a|0,e|0)|0;t=x;x=0;if(t&1){a=Ya()|0;if((b[c>>0]|0)<0)Hta(f[e>>2]|0);_P(l);t=a;jb(t|0)}else{if((b[c>>0]|0)<0)Hta(f[e>>2]|0);_P(l);t=a;u=s;return t|0}}case 4:{qV(g,f[m>>2]|0);f[g>>2]=13136;a=f[g+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=h+11|0;b[c>>0]=8;t=h;f[t>>2]=1886418291;f[t+4>>2]=1937011311;b[h+8>>0]=0;x=0;a=sa(1046,a|0,h|0)|0;t=x;x=0;if(t&1){a=Ya()|0;if((b[c>>0]|0)<0)Hta(f[h>>2]|0);_P(g);t=a;jb(t|0)}else{if((b[c>>0]|0)<0)Hta(f[h>>2]|0);_P(g);t=a;u=s;return t|0}}default:{if(!c)a=0;else a=(f[139]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;qV(r,a);f[r>>2]=17128;a=f[r+4>>2]|0;do if(a|0){a=a+72|0;if(FO(a,49278)|0)if(FO(a,49297)|0)if(FO(a,49313)|0)if(FO(a,49327)|0)break;x=0;Ga(462,p|0,f[m>>2]|0);t=x;x=0;do if(t&1)a=Ya()|0;else{f[p>>2]=13136;a=f[p+4>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=q+11|0;b[g>>0]=9;c=q;d=49344;e=c+9|0;do{b[c>>0]=b[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0));b[q+9>>0]=0;x=0;a=sa(1046,a|0,q|0)|0;t=x;x=0;if(t&1){a=Ya()|0;if((b[g>>0]|0)<0)Hta(f[q>>2]|0);_P(p);break}if((b[g>>0]|0)<0)Hta(f[q>>2]|0);_P(p);_P(r);t=a;u=s;return t|0}while(0);_P(r);t=a;jb(t|0)}while(0);_P(r);t=0;u=s;return t|0}}return 0}function Ah(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;w=u;u=u+176|0;t=w+128|0;C=w;c=w+88|0;k=w+72|0;B=w+64|0;A=w+40|0;v=w+48|0;y=w+24|0;z=w+12|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;l=C+11|0;b[l>>0]=8;m=C;f[m>>2]=1836412452;f[m+4>>2]=1936876898;b[C+8>>0]=0;m=c;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(511,k|0,h|0);s=x;x=0;do if(s&1)c=Ya()|0;else{x=0;m=t;n=c;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));s=wa(29,C|0,a|0,e|0,t|0,k|0)|0;r=x;x=0;if(r&1){c=Ya()|0;d=I;i=f[k>>2]|0;if(!i)break;j=k+4|0;a=f[j>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[j>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[j>>2]|0}else a=e}while((a|0)!=(i|0));i=f[k>>2]|0}Hta(i);break}c=f[k>>2]|0;if(c|0){e=k+4|0;i=f[e>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(c|0));c=f[k>>2]|0}Hta(c)}if((b[l>>0]|0)<0)Hta(f[C>>2]|0);qV(C,0);f[C>>2]=16744;j=(f[s+68>>2]|0)-(f[s+64>>2]|0)>>3;a:do if(!j)c=C+4|0;else{k=B+4|0;l=A+4|0;d=d+16|0;p=v+11|0;q=y+11|0;r=z+11|0;c=C+4|0;e=0;while(1){x=0;Ia(106,B|0,s|0,e|0);o=x;x=0;if(o&1){i=44;break}i=f[k>>2]|0;if(!i)i=0;else i=(f[49]|0)==(f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0)?i:0;x=0;Ga(462,A|0,i|0);o=x;x=0;if(o&1){i=45;break}f[A>>2]=16744;if(!(f[l>>2]|0)){a=f[k>>2]|0;i=f[(f[a>>2]|0)+28>>2]|0;x=0;m=t;n=f[d>>2]|0;o=m+12|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));Ia(i|0,z|0,a|0,t|0);o=x;x=0;if(o&1){i=47;break}x=0;Ia(92,y|0,53046,z|0);o=x;x=0;if(o&1){i=48;break}x=0;i=sa(991,y|0,40173)|0;o=x;x=0;if(o&1){i=49;break}f[v>>2]=f[i>>2];f[v+4>>2]=f[i+4>>2];f[v+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=0;m=t;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ia(100,v|0,t|0,h|0);o=x;x=0;if(o&1){i=50;break}if((b[p>>0]|0)<0)Hta(f[v>>2]|0);if((b[q>>0]|0)<0)Hta(f[y>>2]|0);if((b[r>>0]|0)<0)Hta(f[z>>2]|0)}i=f[c>>2]|0;if(!i){f[c>>2]=f[l>>2];x=0;Fa(430,C|0);o=x;x=0;if(o&1){i=46;break}}else{o=f[l>>2]|0;x=0;i=sa(f[(f[o>>2]|0)+116>>2]|0,o|0,i|0)|0;o=x;x=0;if(o&1){i=46;break}if(i){if(f[c>>2]|0){x=0;Fa(429,C|0);o=x;x=0;if(o&1){i=46;break}}f[c>>2]=f[l>>2];x=0;Fa(430,C|0);o=x;x=0;if(o&1){i=46;break}}}_P(A);_P(B);e=e+1|0;if(e>>>0>=j>>>0)break a}if((i|0)==44)c=Ya()|0;else if((i|0)==45){c=Ya()|0;i=66}else if((i|0)==46){c=Ya()|0;i=65}else if((i|0)==47){c=Ya()|0;i=56}else if((i|0)==48){c=Ya()|0;i=54}else if((i|0)==49){c=Ya()|0;i=52}else if((i|0)==50){c=Ya()|0;if((b[p>>0]|0)<0){Hta(f[v>>2]|0);i=52}else i=52}if((i|0)==52)if((b[q>>0]|0)<0){Hta(f[y>>2]|0);i=54}else i=54;if((i|0)==54)if((b[r>>0]|0)<0){Hta(f[z>>2]|0);i=56}else i=56;if((i|0)==56)i=65;if((i|0)==65){_P(A);i=66}if((i|0)==66)_P(B);_P(C);C=c;jb(C|0)}while(0);c=f[c>>2]|0;if(!c){B=0;_P(C);u=w;return B|0}b[c+8>>0]=1;B=c;_P(C);u=w;return B|0}while(0);if((b[l>>0]|0)<0)Hta(f[C>>2]|0);C=c;jb(C|0);return 0}function Bh(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;w=u;u=u+176|0;t=w+128|0;C=w;c=w+88|0;k=w+72|0;B=w+64|0;A=w+40|0;v=w+48|0;y=w+24|0;z=w+12|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;l=C+11|0;b[l>>0]=8;m=C;f[m>>2]=1836412452;f[m+4>>2]=1936876898;b[C+8>>0]=0;m=c;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(511,k|0,h|0);s=x;x=0;do if(s&1)c=Ya()|0;else{x=0;m=t;n=c;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));s=wa(29,C|0,a|0,e|0,t|0,k|0)|0;r=x;x=0;if(r&1){c=Ya()|0;d=I;i=f[k>>2]|0;if(!i)break;j=k+4|0;a=f[j>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[j>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[j>>2]|0}else a=e}while((a|0)!=(i|0));i=f[k>>2]|0}Hta(i);break}c=f[k>>2]|0;if(c|0){e=k+4|0;i=f[e>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(c|0));c=f[k>>2]|0}Hta(c)}if((b[l>>0]|0)<0)Hta(f[C>>2]|0);qV(C,0);f[C>>2]=16744;j=(f[s+68>>2]|0)-(f[s+64>>2]|0)>>3;a:do if(!j)c=C+4|0;else{k=B+4|0;l=A+4|0;d=d+16|0;p=v+11|0;q=y+11|0;r=z+11|0;c=C+4|0;e=0;while(1){x=0;Ia(106,B|0,s|0,e|0);o=x;x=0;if(o&1){i=44;break}i=f[k>>2]|0;if(!i)i=0;else i=(f[49]|0)==(f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0)?i:0;x=0;Ga(462,A|0,i|0);o=x;x=0;if(o&1){i=45;break}f[A>>2]=16744;if(!(f[l>>2]|0)){a=f[k>>2]|0;i=f[(f[a>>2]|0)+28>>2]|0;x=0;m=t;n=f[d>>2]|0;o=m+12|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));Ia(i|0,z|0,a|0,t|0);o=x;x=0;if(o&1){i=47;break}x=0;Ia(92,y|0,53046,z|0);o=x;x=0;if(o&1){i=48;break}x=0;i=sa(991,y|0,40201)|0;o=x;x=0;if(o&1){i=49;break}f[v>>2]=f[i>>2];f[v+4>>2]=f[i+4>>2];f[v+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=0;m=t;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ia(100,v|0,t|0,h|0);o=x;x=0;if(o&1){i=50;break}if((b[p>>0]|0)<0)Hta(f[v>>2]|0);if((b[q>>0]|0)<0)Hta(f[y>>2]|0);if((b[r>>0]|0)<0)Hta(f[z>>2]|0)}i=f[c>>2]|0;if(!i){f[c>>2]=f[l>>2];x=0;Fa(430,C|0);o=x;x=0;if(o&1){i=46;break}}else{x=0;i=sa(f[(f[i>>2]|0)+116>>2]|0,i|0,f[l>>2]|0)|0;o=x;x=0;if(o&1){i=46;break}if(i){if(f[c>>2]|0){x=0;Fa(429,C|0);o=x;x=0;if(o&1){i=46;break}}f[c>>2]=f[l>>2];x=0;Fa(430,C|0);o=x;x=0;if(o&1){i=46;break}}}_P(A);_P(B);e=e+1|0;if(e>>>0>=j>>>0)break a}if((i|0)==44)c=Ya()|0;else if((i|0)==45){c=Ya()|0;i=66}else if((i|0)==46){c=Ya()|0;i=65}else if((i|0)==47){c=Ya()|0;i=56}else if((i|0)==48){c=Ya()|0;i=54}else if((i|0)==49){c=Ya()|0;i=52}else if((i|0)==50){c=Ya()|0;if((b[p>>0]|0)<0){Hta(f[v>>2]|0);i=52}else i=52}if((i|0)==52)if((b[q>>0]|0)<0){Hta(f[y>>2]|0);i=54}else i=54;if((i|0)==54)if((b[r>>0]|0)<0){Hta(f[z>>2]|0);i=56}else i=56;if((i|0)==56)i=65;if((i|0)==65){_P(A);i=66}if((i|0)==66)_P(B);_P(C);C=c;jb(C|0)}while(0);c=f[c>>2]|0;if(!c){B=0;_P(C);u=w;return B|0}b[c+8>>0]=1;B=c;_P(C);u=w;return B|0}while(0);if((b[l>>0]|0)<0)Hta(f[C>>2]|0);C=c;jb(C|0);return 0}function Ch(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;s=0;p=u;u=u+128|0;q=p;j=p+80|0;t=p+52|0;r=p+40|0;o=p+64|0;m=j;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));ND(t,81592);x=0;Ga(511,r|0,e|0);n=x;x=0;if(n&1)c=Ya()|0;else{m=q;c=j;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));x=0;Ga(538,a|0,t|0);n=x;x=0;if(n&1){c=Ya()|0;m=I}else{f[a>>2]=16212;n=a+8|0;x=0;Ga(459,n|0,t|0);m=x;x=0;do if(m&1){c=Ya()|0;e=I}else{j=a+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;k=j+11|0;b[k>>0]=5;b[j>>0]=b[53005]|0;b[j+1>>0]=b[53006]|0;b[j+2>>0]=b[53007]|0;b[j+3>>0]=b[53008]|0;b[j+4>>0]=b[53009]|0;b[j+5>>0]=0;m=a+32|0;c=q;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));x=0;Ga(511,a+72|0,r|0);m=x;x=0;if(m&1){c=Ya()|0;e=I;if((b[k>>0]|0)<0)Hta(f[j>>2]|0);if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}c=f[r>>2]|0;if(c|0){k=r+4|0;e=f[k>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[k>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=j}while((e|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);f[a>>2]=16880;m=a+84|0;x=0;Ga(459,m|0,g|0);t=x;x=0;if(t&1)c=Ya()|0;else{l=a+96|0;x=0;Ga(459,l|0,h|0);t=x;x=0;if(t&1)c=Ya()|0;else{k=a+108|0;x=0;Ga(459,k|0,i|0);t=x;x=0;if(t&1)c=Ya()|0;else{x=0;Ia(79,o|0,i|0,53148);t=x;x=0;do if(t&1){c=Ya()|0;s=55}else{c=b[g+11>>0]|0;t=c<<24>>24<0;x=0;c=ta(41,o|0,(t?f[g>>2]|0:g)|0,(t?f[g+4>>2]|0:c&255)|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[o+11>>0]|0)>=0){s=55;break}Hta(f[o>>2]|0);s=55;break}e=f[c>>2]|0;j=c+4|0;f[q>>2]=f[j>>2];d[q+4>>1]=d[j+4>>1]|0;b[q+6>>0]=b[j+6>>0]|0;j=b[c+11>>0]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=n+11|0;if((b[c>>0]|0)<0){b[f[n>>2]>>0]=0;f[a+12>>2]=0}else{b[n>>0]=0;b[c>>0]=0}x=0;Ga(501,n|0,0);t=x;x=0;if(t&1){t=Za(0)|0;soa(t)}f[a+8>>2]=e;t=a+12|0;f[t>>2]=f[q>>2];d[t+4>>1]=d[q+4>>1]|0;b[t+6>>0]=b[q+6>>0]|0;b[a+19>>0]=j;f[q>>2]=0;d[q+4>>1]=0;b[q+6>>0]=0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);x=0;sa(991,n|0,53150)|0;t=x;x=0;if(t&1){c=Ya()|0;break}x=0;Ia(79,q|0,h|0,56925);t=x;x=0;do if(t&1)c=Ya()|0;else{e=q+11|0;t=b[e>>0]|0;r=t<<24>>24<0;x=0;ta(41,n|0,(r?f[q>>2]|0:q)|0,(r?f[q+4>>2]|0:t&255)|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[e>>0]|0)>=0){u=p;return}Hta(f[q>>2]|0);u=p;return}while(0)}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0)}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0)}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}PF(a);a=c;jb(a|0)}while(0);dfa(a);m=e}e=f[r>>2]|0;if(e){l=r+4|0;j=f[l>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(e|0));e=f[r>>2]|0}Hta(e)}}if((b[t+11>>0]|0)>=0){a=c;jb(a|0)}Hta(f[t>>2]|0);a=c;jb(a|0)}function Dh(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.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0;y=0;v=u;u=u+192|0;r=v+152|0;z=v+144|0;A=v+92|0;c=v+104|0;n=v+80|0;o=v+68|0;s=v+56|0;t=v+16|0;w=v;f[A+8>>2]=0;q=A+11|0;b[q>>0]=7;b[A>>0]=b[40091]|0;b[A+1>>0]=b[40092]|0;b[A+2>>0]=b[40093]|0;b[A+3>>0]=b[40094]|0;b[A+4>>0]=b[40095]|0;b[A+5>>0]=b[40096]|0;b[A+6>>0]=b[40097]|0;b[A+7>>0]=0;k=c;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,n|0,h|0);m=x;x=0;if(m&1)c=Ya()|0;else{x=0;k=r;l=c;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c=wa(28,A|0,a|0,e|0,r|0,n|0)|0;m=x;x=0;if(!(m&1)){x=0;Ga(462,z|0,c|0);m=x;x=0;if(!(m&1)){f[z>>2]=16744;c=f[n>>2]|0;if(c|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[A>>2]|0);a=z+4|0;x=0;c=qa(338,(f[a>>2]|0)+60|0)|0;q=x;x=0;a:do if(q&1)y=43;else{b:do if(!c){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;i=hL(e)|0;do if(i>>>0>4294967279){x=0;Fa(428,s|0);x=0;y=44}else{if(i>>>0<11){b[s+11>>0]=i;if(!i)c=s;else{c=s;y=21}}else{d=i+16&-16;x=0;c=qa(318,d|0)|0;y=x;x=0;if(y&1){y=44;break}f[s>>2]=c;f[s+8>>2]=d|-2147483648;f[s+4>>2]=i;y=21}if((y|0)==21)Lu(c|0,e|0,i|0)|0;b[c+i>>0]=0;x=0;c=ta(43,s|0,0,40099)|0;q=x;x=0;if(q&1)c=Ya()|0;else{f[A>>2]=f[c>>2];f[A+4>>2]=f[c+4>>2];f[A+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,A|0,40121)|0;q=x;x=0;do if(q&1)c=Ya()|0;else{f[o>>2]=f[c>>2];f[o+4>>2]=f[c+4>>2];f[o+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;k=r;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,o|0,r|0,h|0);h=x;x=0;if(h&1){c=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);break b}while(0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0)}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}while(0);if((y|0)==44)c=Ya()|0;break a}while(0);x=0;i=qa(318,104)|0;A=x;x=0;if(A&1)y=43;else{k=t;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));j=+p[(f[a>>2]|0)+88>>3];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d=w+11|0;b[d>>0]=1;b[w>>0]=37;b[w+1>>0]=0;j=j*100.0;x=0;k=r;l=t;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ha(1,i|0,r|0,+j,w|0,1);A=x;x=0;if(A&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[w>>2]|0);Hta(i);break}if((b[d>>0]|0)>=0){_P(z);u=v;return i|0}Hta(f[w>>2]|0);_P(z);u=v;return i|0}}while(0);if((y|0)==43)c=Ya()|0;_P(z);A=c;jb(A|0)}}c=Ya()|0;k=I;d=f[n>>2]|0;if(d){l=n+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){a=i;while(1){i=a+-52|0;f[l>>2]=i;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);i=f[l>>2]|0}if((i|0)==(d|0))break;else a=i}d=f[n>>2]|0}Hta(d)}}if((b[q>>0]|0)<0)Hta(f[A>>2]|0);A=c;jb(A|0);return 0}function Eh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=0;c=b[36428]|0;a:do if(!(c<<24>>24))g=5;else{e=b[a>>0]|0;d=36428;while(1){if(e<<24>>24==c<<24>>24)break;d=d+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){g=5;break a}}c=a+1|0;if(e<<24>>24){g=c;return g|0}}while(0);if((g|0)==5)c=a+1|0;d=b[36424]|0;b:do if(d<<24>>24){f=b[a>>0]|0;e=36424;while(1){if(f<<24>>24==d<<24>>24)break;e=e+1|0;d=b[e>>0]|0;if(!(d<<24>>24))break b}if(f<<24>>24){g=c;return g|0}}while(0);d=b[a>>0]|0;if(d<<24>>24==40){e=bW(c)|0;if(e|0){d=e+1|0;if((b[e>>0]|0)==38)if((b[d>>0]|0)==45){do d=d+1|0;while((b[d>>0]|0)==45);d=sR(d)|0;if(!d)g=19;else{d=bW(d)|0;if(!d)g=19}}else g=19;else g=19;if((g|0)==19)d=Ng(e)|0;d=d|0?d:e;if(d|0){d=bW(d)|0;if(d|0)if((b[d>>0]|0)==41){g=d+1|0;return g|0}}}d=b[a>>0]|0}if(d<<24>>24==61){g=c;return g|0}c=b[36382]|0;if(!(c<<24>>24)){g=a;return g|0}c:do if(d<<24>>24==c<<24>>24){c=a;e=36382;while(1){c=c+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24))break;if((b[c>>0]|0)!=f<<24>>24)break c}return c|0}while(0);c=b[36385]|0;d:do if(!(c<<24>>24))g=45;else{e:do if(d<<24>>24==c<<24>>24){c=a;e=36385;while(1){c=c+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24))break;if((b[c>>0]|0)!=f<<24>>24)break e}return c|0}while(0);c=b[36388]|0;if(!(c<<24>>24))g=45;else{f:do if(d<<24>>24==c<<24>>24){c=a;e=36388;while(1){c=c+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24))break;if((b[c>>0]|0)!=f<<24>>24)break f}return c|0}while(0);c=b[36391]|0;if(!(c<<24>>24))g=45;else{g:do if(d<<24>>24==c<<24>>24){c=a;e=36391;while(1){c=c+1|0;e=e+1|0;f=b[e>>0]|0;if(!(f<<24>>24))break;if((b[c>>0]|0)!=f<<24>>24)break g}return c|0}while(0);c=b[36394]|0;if(!(c<<24>>24))g=45;else if(d<<24>>24==c<<24>>24){c=a;d=36394;while(1){c=c+1|0;d=d+1|0;e=b[d>>0]|0;if(!(e<<24>>24))break;if((b[c>>0]|0)!=e<<24>>24)break d}return c|0}}}}while(0);if((g|0)==45)if(a|0){g=a;return g|0}g=Zn(a)|0;return g|0}function Fh(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;r=0;o=u;u=u+128|0;p=o+40|0;n=o;k=o+104|0;q=o+92|0;m=o+80|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;e=p+11|0;b[e>>0]=5;b[p>>0]=b[40756]|0;b[p+1>>0]=b[40757]|0;b[p+2>>0]=b[40758]|0;b[p+3>>0]=b[40759]|0;b[p+4>>0]=b[40760]|0;b[p+5>>0]=0;x=0;d=sa(992,a|0,p|0)|0;l=x;x=0;if(!(l&1)){x=0;j=qa(334,f[d+4>>2]|0)|0;l=x;x=0;if(!(l&1)){if((b[e>>0]|0)<0)Hta(f[p>>2]|0);a:do if(!j){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;l=m+11|0;b[l>>0]=5;b[m>>0]=b[40756]|0;b[m+1>>0]=b[40757]|0;b[m+2>>0]=b[40758]|0;b[m+3>>0]=b[40759]|0;b[m+4>>0]=b[40760]|0;b[m+5>>0]=0;x=0;d=sa(992,a|0,m|0)|0;a=x;x=0;if(a&1)r=23;else{a=f[d+4>>2]|0;x=0;Ga(f[(f[a>>2]|0)+32>>2]|0,q|0,a|0);a=x;x=0;if(a&1)r=23;else{x=0;Ia(92,n|0,40762,q|0);a=x;x=0;if(a&1)d=Ya()|0;else{x=0;d=sa(991,n|0,40770)|0;a=x;x=0;do if(a&1)d=Ya()|0;else{f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;e=p;i=g;a=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(a|0));Ia(100,k|0,p|0,h|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[l>>0]|0)<0)Hta(f[m>>2]|0);break a}while(0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0)}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}}if((r|0)==23)d=Ya()|0;if((b[l>>0]|0)<0)Hta(f[m>>2]|0);r=d;jb(r|0)}while(0);xi(p,j+64|0,0,0,1);x=0;Ga(558,q|0,p|0);m=x;x=0;if(m&1){d=Ya()|0;if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}else{if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);x=0;Ia(79,p|0,q|0,48507);m=x;x=0;b:do if(m&1){d=Ya()|0;r=52}else{x=0;d=sa(1010,c|0,p|0)|0;m=x;x=0;if(m&1){d=Ya()|0;if((b[p+11>>0]|0)>=0){r=52;break}Hta(f[p>>2]|0);r=52;break}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);do if(d){x=0;d=qa(318,68)|0;p=x;x=0;if(p&1)r=53;else{e=n;i=g;a=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(a|0));x=0;Fa(427,d|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(d);d=g;break b}else{e=d+12|0;i=n;a=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(a|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=1;f[d+64>>2]=0;f[d+56>>2]=1;break}}}else{x=0;d=qa(318,68)|0;n=x;x=0;if(n&1)r=53;else{e=p;i=g;a=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(a|0));x=0;Fa(427,d|0);g=x;x=0;if(g&1){g=Ya()|0;Hta(d);d=g;break b}else{e=d+12|0;i=p;a=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(a|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=0;f[d+64>>2]=0;f[d+56>>2]=1;break}}}while(0);if((r|0)==53){d=Ya()|0;break}if((b[q+11>>0]|0)>=0){u=o;return d|0}Hta(f[q>>2]|0);u=o;return d|0}while(0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}r=d;jb(r|0)}}d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[p>>2]|0);r=d;jb(r|0);return 0}function Gh(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;D=0;y=u;u=u+224|0;t=y;s=y+204|0;l=y+192|0;m=y+180|0;n=y+168|0;o=y+128|0;B=y+120|0;C=y+96|0;w=y+104|0;v=y+56|0;A=y+48|0;z=y+40|0;oe(B,c);x=0;Ga(462,C|0,0);r=x;x=0;if(r&1){D=Ya()|0;_P(B);jb(D|0)}f[C>>2]=7696;e=c+168|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];g=c+76|0;h=f[g>>2]|0;i=c+84|0;f[m>>2]=f[i>>2];f[m+4>>2]=f[i+4>>2];f[m+8>>2]=f[i+8>>2];j=c+96|0;f[n>>2]=f[j>>2];f[n+4>>2]=f[j+4>>2];f[n+8>>2]=f[j+8>>2];k=c+108|0;p=o;q=k;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));x=0;ta(52,c|0,1,0)|0;r=x;x=0;a:do if(r&1)D=11;else{x=0;d=ta(90,c|0,1,0)|0;r=x;x=0;if(r&1)D=11;else{b:do if(!d){p=k;q=o;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[g>>2]=h;f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];f[i>>2]=f[m>>2];f[i+4>>2]=f[m+4>>2];f[i+8>>2]=f[m+8>>2]}else{x=0;Ia(114,t|0,c|0,1);r=x;x=0;do if(r&1)d=Ya()|0;else{d=C+4|0;if(f[d>>2]|0){x=0;Fa(429,C|0);r=x;x=0;if(r&1){d=Ya()|0;_P(t);break}}r=t+4|0;f[d>>2]=f[r>>2];f[r>>2]=0;_P(t);break b}while(0);break a}while(0);e=B+4|0;if(!(f[e>>2]|0))D=17;else if(!(f[C+4>>2]|0))D=17;c:do if((D|0)==17){f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;d=qa(318,48)|0;r=x;x=0;if(r&1){D=11;break a}f[w>>2]=d;f[w+8>>2]=-2147483600;f[w+4>>2]=40;p=d;q=46108;r=p+40|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[d+40>>0]=0;x=0;Ga(459,s|0,w|0);r=x;x=0;do if(r&1)d=Ya()|0;else{r=c+108|0;x=0;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];f[t+8>>2]=f[r+8>>2];Ia(113,c|0,s|0,t|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0);break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[w+11>>0]|0)>=0)break c;Hta(f[w>>2]|0);break c}while(0);if((b[w+11>>0]|0)>=0)break a;Hta(f[w>>2]|0);break a}while(0);x=0;g=qa(318,76)|0;w=x;x=0;if(w&1)D=11;else{d=f[e>>2]|0;p=v;q=d+12|0;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));x=0;Ga(462,A|0,d|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[A>>2]=7696;x=0;Ga(462,z|0,f[C+4>>2]|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[z>>2]=7696;p=t;q=v;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));x=0;Fa(427,g|0);w=x;x=0;if(w&1)d=Ya()|0;else{p=g+12|0;q=t;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=12660;e=g+60|0;x=0;Ga(462,e|0,f[A+4>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[e>>2]=7696;d=g+68|0;x=0;Ga(462,d|0,f[z+4>>2]|0);w=x;x=0;if(w&1){d=Ya()|0;_P(e);break}f[d>>2]=7696;_P(z);_P(A);x=0;Ga(462,a|0,g|0);D=x;x=0;if(D&1){D=11;break a}f[a>>2]=12372;_P(C);_P(B);u=y;return}while(0)}_P(z)}_P(A)}Hta(g)}}}while(0);if((D|0)==11)d=Ya()|0;_P(C);D=d;_P(B);jb(D|0)}function Hh(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;l=0;j=c+16|0;d=f[j>>2]|0;if(d>>>0>=6)Ra(43834,43692,1024,43858);switch(d|0){case 0:{j=a+4|0;i=f[j>>2]|0;e=f[a>>2]|0;d=e;do if((i-e|0)<4){c=a+8|0;g=f[c>>2]|0;h=e-g|0;d=h+4|0;e=i-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[c>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{k=d+h|0;f[a>>2]=k;f[j>>2]=d+e;break}}else k=d;while(0);b[k>>0]=110;b[k+1>>0]=117;b[k+2>>0]=108;b[k+3>>0]=108;f[a>>2]=(f[a>>2]|0)+4;return}case 1:{k=(b[c+24>>0]|0)!=0;j=k?59838:59832;k=k?4:5;l=a+4|0;g=f[l>>2]|0;e=f[a>>2]|0;d=e;do if((g-e|0)<(k|0)){c=a+8|0;h=f[c>>2]|0;i=e-h|0;d=i+k|0;e=g-h|0;do e=e<<1;while(e>>>0>>0);d=eJ(h,e|1)|0;f[c>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{m=d+i|0;f[a>>2]=m;f[l>>2]=d+e;break}}else m=d;while(0);Lu(m|0,j|0,k|0)|0;f[a>>2]=(f[a>>2]|0)+k;return}case 2:{Sm(a,f[c+24>>2]|0);return}case 3:{tp(a,+p[c+24>>3]);return}case 4:{d=f[a>>2]|0;k=a+4|0;e=f[k>>2]|0;do if(d>>>0>>0){f[a>>2]=d+1;b[d>>0]=91;l=27}else{i=a+8|0;g=f[i>>2]|0;h=d-g|0;d=h+1|0;e=e-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[i>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{o=d+h|0;f[k>>2]=d+e;f[a>>2]=o+1;b[o>>0]=91;if(!c)break;else{l=27;break}}}while(0);a:do if((l|0)==27)if((f[j>>2]&-2|0)==4){d=f[c+24>>2]|0;if(d|0){c=a+8|0;while(1){Hh(a,d);i=d+8|0;if(!(f[i>>2]|0))break a;d=f[a>>2]|0;e=f[k>>2]|0;if(d>>>0>=e>>>0){g=f[c>>2]|0;h=d-g|0;d=h+1|0;e=e-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[c>>2]=d;if(!d)break;o=d+h|0;f[a>>2]=o;f[k>>2]=d+e;d=o}f[a>>2]=d+1;b[d>>0]=44;d=f[i>>2]|0;if(!d)break a}vO(50780,15,1,f[5414]|0)|0;Pb(1)}}while(0);d=f[a>>2]|0;e=f[k>>2]|0;do if(d>>>0>>0)n=d;else{i=a+8|0;g=f[i>>2]|0;h=d-g|0;d=h+1|0;e=e-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[i>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{n=d+h|0;f[a>>2]=n;f[k>>2]=d+e;break}}while(0);f[a>>2]=n+1;b[n>>0]=93;return}case 5:{d=f[a>>2]|0;k=a+4|0;e=f[k>>2]|0;do if(d>>>0>>0){f[a>>2]=d+1;b[d>>0]=123;l=52}else{i=a+8|0;g=f[i>>2]|0;h=d-g|0;d=h+1|0;e=e-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[i>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{n=d+h|0;f[k>>2]=d+e;f[a>>2]=n+1;b[n>>0]=123;if(!c)break;else{l=52;break}}}while(0);b:do if((l|0)==52)if((f[j>>2]&-2|0)==4){d=f[c+24>>2]|0;if(d|0){c=a+8|0;while(1){Sm(a,f[d+12>>2]|0);e=f[a>>2]|0;g=f[k>>2]|0;if(e>>>0>=g>>>0){h=f[c>>2]|0;i=e-h|0;e=i+1|0;g=g-h|0;do g=g<<1;while(g>>>0>>0);e=eJ(h,g|1)|0;f[c>>2]=e;if(!e){l=59;break}n=e+i|0;f[a>>2]=n;f[k>>2]=e+g;e=n}f[a>>2]=e+1;b[e>>0]=58;Hh(a,d);i=d+8|0;if(!(f[i>>2]|0))break b;d=f[a>>2]|0;e=f[k>>2]|0;if(d>>>0>=e>>>0){g=f[c>>2]|0;h=d-g|0;d=h+1|0;e=e-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[c>>2]=d;if(!d){l=66;break}n=d+h|0;f[a>>2]=n;f[k>>2]=d+e;d=n}f[a>>2]=d+1;b[d>>0]=44;d=f[i>>2]|0;if(!d)break b}if((l|0)==59){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else if((l|0)==66){vO(50780,15,1,f[5414]|0)|0;Pb(1)}}}while(0);d=f[a>>2]|0;e=f[k>>2]|0;do if(d>>>0>>0)o=d;else{i=a+8|0;g=f[i>>2]|0;h=d-g|0;d=h+1|0;e=e-g|0;do e=e<<1;while(e>>>0>>0);d=eJ(g,e|1)|0;f[i>>2]=d;if(!d){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{o=d+h|0;f[a>>2]=o;f[k>>2]=d+e;break}}while(0);f[a>>2]=o+1;b[o>>0]=125;return}default:Ra(59832,43692,1045,43858)}}function Ih(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;F=u;u=u+112|0;v=F;C=F+96|0;w=F+56|0;D=F+48|0;E=F+40|0;q=(f[e+4>>2]|0)-(f[e>>2]|0)>>3;if(!q){V=d+4|0;V=f[V>>2]|0;qV(a,V);f[a>>2]=7696;u=F;return}r=d+4|0;s=D+4|0;t=E+4|0;j=C+4|0;p=g;o=f[p>>2]|0;p=f[p+4>>2]|0;a:do if((C|0)==(d|0)){h=0;while(1){i=VN(88)|0;c=f[r>>2]|0;g=w;k=c+12|0;l=g+40|0;do{f[g>>2]=f[k>>2];g=g+4|0;k=k+4|0}while((g|0)<(l|0));x=0;Ga(462,D|0,c|0);m=x;x=0;if(m&1){L=i;c=25;break a}f[D>>2]=7696;x=0;Ga(462,E|0,f[(f[e>>2]|0)+(h<<3)+4>>2]|0);m=x;x=0;if(m&1){M=i;c=26;break a}f[E>>2]=7696;g=v;k=w;l=g+40|0;do{f[g>>2]=f[k>>2];g=g+4|0;k=k+4|0}while((g|0)<(l|0));x=0;Fa(427,i|0);m=x;x=0;if(m&1){n=1;c=11;break}g=i+12|0;k=v;l=g+40|0;do{f[g>>2]=f[k>>2];g=g+4|0;k=k+4|0}while((g|0)<(l|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=0;f[i>>2]=9868;c=i+60|0;f[c>>2]=o;f[c+4>>2]=p;c=i+68|0;x=0;Ga(462,c|0,f[s>>2]|0);m=x;x=0;if(m&1){N=i;c=18;break a}f[c>>2]=7696;g=i+76|0;x=0;Ga(462,g|0,f[t>>2]|0);m=x;x=0;if(m&1){O=i;P=c;c=19;break a}f[g>>2]=7696;f[i+84>>2]=0;x=0;Ga(462,C|0,i|0);m=x;x=0;if(m&1){n=0;c=11;break}f[C>>2]=7696;_P(C);_P(E);_P(D);h=h+1|0;if(h>>>0>=q>>>0){Q=r;c=12;break}}if((c|0)==11){R=Ya()|0;G=n;T=i;c=28;break}else if((c|0)==12){V=f[Q>>2]|0;qV(a,V);f[a>>2]=7696;u=F;return}}else{h=0;while(1){i=VN(88)|0;c=f[r>>2]|0;g=w;k=c+12|0;l=g+40|0;do{f[g>>2]=f[k>>2];g=g+4|0;k=k+4|0}while((g|0)<(l|0));x=0;Ga(462,D|0,c|0);n=x;x=0;if(n&1){L=i;c=25;break a}f[D>>2]=7696;x=0;Ga(462,E|0,f[(f[e>>2]|0)+(h<<3)+4>>2]|0);n=x;x=0;if(n&1){M=i;c=26;break a}f[E>>2]=7696;g=v;k=w;l=g+40|0;do{f[g>>2]=f[k>>2];g=g+4|0;k=k+4|0}while((g|0)<(l|0));x=0;Fa(427,i|0);n=x;x=0;if(n&1){m=1;c=27;break}g=i+12|0;k=v;l=g+40|0;do{f[g>>2]=f[k>>2];g=g+4|0;k=k+4|0}while((g|0)<(l|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=0;f[i>>2]=9868;c=i+60|0;f[c>>2]=o;f[c+4>>2]=p;c=i+68|0;x=0;Ga(462,c|0,f[s>>2]|0);n=x;x=0;if(n&1){N=i;c=18;break a}f[c>>2]=7696;g=i+76|0;x=0;Ga(462,g|0,f[t>>2]|0);n=x;x=0;if(n&1){O=i;P=c;c=19;break a}f[g>>2]=7696;f[i+84>>2]=0;x=0;Ga(462,C|0,i|0);n=x;x=0;if(n&1){m=0;c=27;break}f[C>>2]=7696;if(f[r>>2]|0){x=0;Fa(429,d|0);n=x;x=0;if(n&1){c=29;break}}f[r>>2]=f[j>>2];f[j>>2]=0;_P(C);_P(E);_P(D);h=h+1|0;if(h>>>0>=q>>>0){Q=r;c=12;break}}if((c|0)==12){V=f[Q>>2]|0;qV(a,V);f[a>>2]=7696;u=F;return}else if((c|0)==27){R=Ya()|0;G=m;T=i;c=28;break}else if((c|0)==29){H=Ya()|0;_P(C);J=0;V=i;c=30;break}}while(0);if((c|0)==18){I=Ya()|0;U=N;c=20}else if((c|0)==19){I=Ya()|0;_P(P);U=O;c=20}else if((c|0)==25){K=Ya()|0;S=L}else if((c|0)==26){K=Ya()|0;_P(D);S=M}if((c|0)==20){G=1;R=I;T=U;c=28}if((c|0)==28){H=R;J=G;V=T;c=30}if((c|0)==30){_P(E);_P(D);if(J){K=H;S=V}else{V=H;jb(V|0)}}Hta(S);V=K;jb(V|0)}function Jh(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,v=0,w=0,y=0,z=0,A=0,B=0;y=u;u=u+144|0;A=y;h=y+104|0;n=y+88|0;m=y+80|0;l=y+72|0;s=y+64|0;w=y+56|0;z=y+96|0;t=y+48|0;v=y+40|0;B=VN(88)|0;r=c+76|0;x=0;Ga(462,n|0,f[r>>2]|0);q=x;x=0;if(q&1)c=Ya()|0;else{f[n>>2]=7584;i=h;j=(f[n+4>>2]|0)+12|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(462,m|0,f[r>>2]|0);q=x;x=0;if(q&1)c=Ya()|0;else{f[m>>2]=7584;g=f[m+4>>2]|0;c=f[g+68>>2]|0;g=f[g+64>>2]|0;i=A;j=h;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,B|0);q=x;x=0;do if(q&1)c=Ya()|0;else{g=c-g>>3;i=B+12|0;j=A;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[B+52>>0]=0;b[B+53>>0]=0;b[B+54>>0]=0;c=B+56|0;f[c>>2]=0;f[B>>2]=6516;q=B+60|0;f[q>>2]=9660;j=B+64|0;k=B+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,g|0);p=x;x=0;if(p&1){c=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0)){do{A=h+-8|0;f[k>>2]=A;Kc[f[f[A>>2]>>2]&511](A);h=f[k>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[B>>2]=9488;f[q>>2]=9620;p=B+80|0;f[p>>2]=0;d[p+4>>1]=0;b[p+6>>0]=0;f[c>>2]=5;_P(m);_P(n);qV(l,f[r>>2]|0);f[l>>2]=7584;p=f[l+4>>2]|0;p=(f[p+68>>2]|0)-(f[p+64>>2]|0)>>3;_P(l);if(!p){u=y;return B|0}j=e+76|0;k=s+4|0;e=w+4|0;l=t+4|0;m=A+4|0;n=z+4|0;h=0;a:while(1){qV(s,f[j>>2]|0);f[s>>2]=7584;o=f[k>>2]|0;o=(f[o+68>>2]|0)-(f[o+64>>2]|0)>>3;_P(s);if(o|0){i=0;do{qV(w,f[r>>2]|0);f[w>>2]=7584;c=(f[e>>2]|0)+60|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,h|0)|0;g=x;x=0;if(g&1){g=36;break a}x=0;Ga(462,A|0,f[c+4>>2]|0);g=x;x=0;if(g&1){g=36;break a}f[A>>2]=7696;_P(w);x=0;Ga(462,t|0,f[j>>2]|0);g=x;x=0;if(g&1){g=37;break a}f[t>>2]=7584;c=(f[l>>2]|0)+60|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,i|0)|0;g=x;x=0;if(g&1){g=38;break a}x=0;Ga(462,z|0,f[c+4>>2]|0);g=x;x=0;if(g&1){g=38;break a}f[z>>2]=7696;_P(t);c=f[m>>2]|0;if(!c)g=0;else g=(f[347]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;c=f[n>>2]|0;if(!c)c=0;else c=(f[347]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;c=ta(160,a|0,g|0,c|0)|0;g=x;x=0;if(g&1){g=39;break a}if(c|0){g=f[(f[q>>2]|0)+20>>2]|0;x=0;Ga(462,v|0,c|0);c=x;x=0;if(c&1){g=39;break a}f[v>>2]=7696;x=0;Ga(g|0,q|0,v|0);g=x;x=0;if(g&1){g=40;break a}_P(v)}_P(z);_P(A);i=i+1|0}while(i>>>0>>0)}h=h+1|0;if(h>>>0>=p>>>0){g=13;break}}if((g|0)==13){u=y;return B|0}else if((g|0)==36){c=Ya()|0;_P(w)}else if((g|0)==37){c=Ya()|0;g=43}else if((g|0)==38){c=Ya()|0;_P(t);g=43}else if((g|0)==39){c=Ya()|0;g=42}else if((g|0)==40){c=Ya()|0;_P(v);g=42}if((g|0)==42){_P(z);g=43}if((g|0)==43)_P(A);B=c;jb(B|0)}while(0);_P(m)}_P(n)}Hta(B);B=c;jb(B|0);return 0}function Kh(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;s=0;C=u;u=u+160|0;w=C+144|0;y=C+132|0;z=C+120|0;A=C+80|0;e=C;D=C+72|0;i=C+64|0;q=C+56|0;t=C+48|0;B=C+40|0;Fy(c,0,0)|0;l=c+128|0;zP(c+108|0,l);f[c+132>>2]=0;f[l>>2]=0;l=VN(88)|0;v=c+108|0;m=e;n=v;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,l|0);r=x;x=0;do if(r&1)e=Ya()|0;else{m=l+12|0;n=e;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;e=l+56|0;f[e>>2]=0;f[l>>2]=6516;g=l+60|0;f[g>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,0);r=x;x=0;if(r&1){e=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0)){do{D=h+-8|0;f[k>>2]=D;Kc[f[f[D>>2]>>2]&511](D);h=f[k>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[l>>2]=9488;f[g>>2]=9620;r=l+80|0;f[r>>2]=0;d[r+4>>1]=0;b[r+6>>0]=0;f[e>>2]=5;qV(D,l);f[D>>2]=7584;r=c+76|0;x=0;e=qa(347,f[r>>2]|0)|0;p=x;x=0;a:do if(p&1)s=21;else{h=c+80|0;if((e|0)==0?1:e>>>0>(f[h>>2]|0)>>>0)e=f[r>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1)s=21;else{o=g|0?g:e;o=(b[o>>0]|0)==123?o+1|0:0;p=D+4|0;b:do if((o|0)==0?1:o>>>0>(f[h>>2]|0)>>>0){e=(f[p>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(642,q|0,c|0);o=x;x=0;if(o&1){s=21;break a}x=0;Ga(462,i|0,f[q+4>>2]|0);o=x;x=0;do if(o&1)e=Ya()|0;else{f[i>>2]=7696;x=0;Ga(g|0,e|0,i|0);o=x;x=0;if(o&1){e=Ya()|0;_P(i);break}else{_P(i);_P(q);break b}}while(0);_P(q);break a}while(0);i=c+168|0;j=c+84|0;k=c+96|0;l=B+4|0;while(1){f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[w+8>>2]=f[i+8>>2];h=f[r>>2]|0;f[y>>2]=f[j>>2];f[y+4>>2]=f[j+4>>2];f[y+8>>2]=f[j+8>>2];f[z>>2]=f[k>>2];f[z+4>>2]=f[k+4>>2];f[z+8>>2]=f[k+8>>2];m=A;n=v;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;ta(52,c|0,1,0)|0;s=x;x=0;if(s&1){s=21;break a}x=0;e=ta(53,c|0,1,0)|0;s=x;x=0;if(s&1){s=21;break a}g=(e|0)==0;if(g){m=v;n=A;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[i>>2]=f[w>>2];f[i+4>>2]=f[w+4>>2];f[i+8>>2]=f[w+8>>2];f[r>>2]=h;f[k>>2]=f[z>>2];f[k+4>>2]=f[z+4>>2];f[k+8>>2]=f[z+8>>2];f[j>>2]=f[y>>2];f[j+4>>2]=f[y+4>>2];f[j+8>>2]=f[y+8>>2]}e=f[p>>2]|0;if(g){s=37;break}e=e+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(642,B|0,c|0);s=x;x=0;if(s&1){s=21;break a}x=0;Ga(462,t|0,f[l>>2]|0);s=x;x=0;if(s&1){s=34;break}f[t>>2]=7696;x=0;Ga(g|0,e|0,t|0);s=x;x=0;if(s&1){s=35;break}_P(t);_P(B)}if((s|0)==34)e=Ya()|0;else if((s|0)==35){e=Ya()|0;_P(t)}else if((s|0)==37){x=0;Ga(575,e|0,v|0);B=x;x=0;if(B&1){s=21;break}e=f[p>>2]|0;if(!e)e=0;else b[e+8>>0]=1;x=0;Ga(462,a|0,e|0);B=x;x=0;if(B&1){s=21;break}f[a>>2]=7584;_P(D);u=C;return}_P(B)}}while(0);if((s|0)==21)e=Ya()|0;_P(D);D=e;jb(D|0)}while(0);Hta(l);D=e;jb(D|0)}function Lh(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,v=0;t=0;p=u;u=u+224|0;o=p;v=p+208|0;s=p+136|0;e=p+168|0;h=p+156|0;m=p+144|0;i=p+96|0;n=p+56|0;q=p+48|0;r=p+40|0;d=VN(32)|0;f[o>>2]=d;f[o+8>>2]=-2147483616;f[o+4>>2]=24;j=d;k=48242;l=j+24|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[d+24>>0]=0;if(!c){x=0;Ea(5);x=0}else{x=0;d=sa(991,o|0,f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)|0;l=x;x=0;if(!(l&1)){f[v>>2]=f[d>>2];f[v+4>>2]=f[d+4>>2];f[v+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);x=0;g=qa(318,80)|0;l=x;x=0;a:do if(l&1)d=Ya()|0;else{x=0;Ja(14,e|0,48267,0,-1);l=x;x=0;do if(l&1)t=31;else{x=0;Ga(459,h|0,v|0);l=x;x=0;if(l&1)t=31;else{x=0;j=o;k=e;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Na(1,g|0,o|0,h|0,0,0,0,1,1);l=x;x=0;if(l&1)e=1;else{x=0;Ga(462,s|0,g|0);l=x;x=0;if(l&1)e=0;else{f[s>>2]=17048;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,64)|0;l=x;x=0;do if(l&1)t=36;else{f[m>>2]=d;f[m+8>>2]=-2147483584;f[m+4>>2]=62;j=d;k=48274;l=j+62|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[d+62>>0]=0;j=i;k=c+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=f[a+8>>2]|0;x=0;j=o;k=i;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ia(100,m|0,o|0,d|0);l=x;x=0;if(l&1){d=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);x=0;a=qa(318,72)|0;m=x;x=0;if(m&1)t=36;else{x=0;Ja(14,n|0,48267,0,-1);m=x;x=0;do if(m&1)t=39;else{x=0;Ga(462,r|0,f[s+4>>2]|0);m=x;x=0;if(m&1){t=39;break}f[r>>2]=17048;x=0;Ga(462,q|0,f[r+4>>2]|0);m=x;x=0;if(m&1)d=Ya()|0;else{f[q>>2]=7696;j=o;k=n;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,a|0);n=x;x=0;do if(n&1)d=Ya()|0;else{j=a+12|0;k=o;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=a+52|0;f[d>>2]=0;f[a+56>>2]=0;b[a+60>>0]=0;f[a>>2]=8208;e=a+64|0;x=0;Ga(462,e|0,f[q+4>>2]|0);o=x;x=0;if(o&1){d=Ya()|0;break}f[e>>2]=7696;f[d>>2]=14;_P(q);_P(r);_P(s);if((b[v+11>>0]|0)>=0){u=p;return a|0}Hta(f[v>>2]|0);u=p;return a|0}while(0);_P(q)}_P(r)}while(0);if((t|0)==39)d=Ya()|0;Hta(a)}}while(0);if((t|0)==36)d=Ya()|0;_P(s);break a}}d=Ya()|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);if(e)break;else break a}else if(e)break;else break a}}while(0);if((t|0)==31)d=Ya()|0;Hta(g)}while(0);if((b[v+11>>0]|0)>=0){v=d;jb(v|0)}Hta(f[v>>2]|0);v=d;jb(v|0)}}d=Ya()|0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);v=d;jb(v|0);return 0}function Mh(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;n=0;q=u;u=u+128|0;r=q+88|0;s=q+80|0;e=q+72|0;m=q;l=q+56|0;j=q+16|0;p=a+8|0;d=f[(f[p>>2]|0)+16>>2]|0;o=f[d>>2]|0;f[d>>2]=0;qV(e,f[c+68>>2]|0);f[e>>2]=7696;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,s|0,d|0);k=x;x=0;if(!(k&1)){f[s>>2]=7696;_P(e);x=0;k=qa(384,f[a+4>>2]|0)|0;i=x;x=0;do if(i&1)d=Ya()|0;else{f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;e=r+11|0;b[e>>0]=9;g=r;h=48115;i=g+9|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[r+9>>0]=0;x=0;d=sa(1009,k|0,r|0)|0;i=x;x=0;if(i&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[r>>2]|0);break}if((b[e>>0]|0)<0)Hta(f[r>>2]|0);if(!d){k=f[s+4>>2]|0;x=0;Ga(f[(f[k>>2]|0)+24>>2]|0,r|0,k|0);k=x;x=0;do if(k&1){d=Ya()|0;n=49}else{x=0;Ka(5,m|0,r|0,0,0,1);k=x;x=0;if(k&1){d=Ya()|0;if((b[r+11>>0]|0)>=0){n=49;break}Hta(f[r>>2]|0);n=49;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);f[f[(f[p>>2]|0)+16>>2]>>2]=o;x=0;Ga(459,l|0,m|0);p=x;x=0;do if(p&1)d=Ya()|0;else{g=j;h=c+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));d=f[a+12>>2]|0;x=0;g=r;h=j;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(100,l|0,r|0,d|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);_P(s);u=q;return 0}while(0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}while(0);break}g=f[p>>2]|0;f[r>>2]=52132;f[r+4>>2]=f[c+24>>2];f[r+8>>2]=(f[c+12>>2]|0)+1;f[r+12>>2]=(f[c+16>>2]|0)+1;f[r+16>>2]=1;f[r+20>>2]=k;d=g+292|0;e=f[d>>2]|0;if(e>>>0<(f[g+296>>2]|0)>>>0){f[e>>2]=f[r>>2];f[e+4>>2]=f[r+4>>2];f[e+8>>2]=f[r+8>>2];f[e+12>>2]=f[r+12>>2];f[e+16>>2]=f[r+16>>2];f[e+20>>2]=f[r+20>>2];f[d>>2]=(f[d>>2]|0)+24}else{x=0;Ga(645,g+288|0,r|0);n=x;x=0;if(n&1){d=Ya()|0;break}}f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;e=r+11|0;b[e>>0]=9;g=r;h=48115;i=g+9|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[r+9>>0]=0;x=0;d=sa(992,k|0,r|0)|0;n=x;x=0;if(n&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[r>>2]|0);break}d=f[d+4>>2]|0;if(!d)d=0;else d=(f[215]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;if((b[e>>0]|0)<0)Hta(f[r>>2]|0);e=f[d+104>>2]|0;x=0;g=qa(385,e|0)|0;n=x;x=0;if(n&1){d=Ya()|0;break}f[r>>2]=20468;x=0;h=ta(155,1,0,0)|0;n=x;x=0;if(!(n&1)){d=f[s+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+68>>2]|0,d|0,r|0)|0;r=x;x=0;if(!(r&1)){x=0;Ia(130,h|0,0,d|0);r=x;x=0;if(!(r&1)){x=0;d=ta(g|0,h|0,e|0,f[(f[p>>2]|0)+312>>2]|0)|0;r=x;x=0;if(!(r&1)){f[f[(f[p>>2]|0)+16>>2]>>2]=o;r=(f[p>>2]|0)+292|0;f[r>>2]=(f[r>>2]|0)+-24;x=0;Fa(449,h|0);r=x;x=0;if(!(r&1)){x=0;Fa(449,d|0);r=x;x=0;if(!(r&1)){_P(s);u=q;return 0}}}}}}d=Ya()|0}while(0);_P(s);s=d;jb(s|0)}}s=Ya()|0;_P(e);jb(s|0);return 0}function Nh(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,t=0,v=0,w=0,y=0;s=0;r=u;u=u+240|0;p=r;y=r+224|0;w=r+156|0;c=r+184|0;m=r+168|0;v=r+144|0;l=r+104|0;t=r+88|0;o=r+48|0;q=r+40|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;n=w+11|0;b[n>>0]=4;f[w>>2]=1885433124;b[w+4>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,m|0,h|0);k=x;x=0;if(k&1)c=Ya()|0;else{x=0;i=p;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=ya(40,w|0,a|0,e|0,p|0,m|0,0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,y|0,c|0);k=x;x=0;if(!(k&1)){f[y>>2]=16784;c=f[m>>2]|0;if(c|0){j=m+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[w>>2]|0);f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;m=v+11|0;b[m>>0]=4;f[v>>2]=2036689700;b[v+4>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,t|0,h|0);n=x;x=0;do if(n&1){c=Ya()|0;s=49}else{x=0;i=p;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(25,v|0,a|0,e|0,p|0,t|0)|0;n=x;x=0;if(!(n&1)){x=0;Ga(462,w|0,c|0);n=x;x=0;if(!(n&1)){f[w>>2]=7696;c=f[t>>2]|0;if(c|0){j=t+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[v>>2]|0);x=0;d=qa(318,68)|0;v=x;x=0;if(v&1)c=Ya()|0;else{i=o;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=f[y+4>>2]|0;x=0;Ga(462,q|0,f[w+4>>2]|0);v=x;x=0;if(v&1)c=Ya()|0;else{f[q>>2]=7696;x=0;c=sa(1005,c+64|0,q|0)|0;v=x;x=0;do if(!(v&1)){i=p;j=o;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);v=x;x=0;if(v&1)break;c=(c|0)!=0&1;i=d+12|0;j=p;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=c;f[d+64>>2]=0;f[d+56>>2]=1;_P(q);_P(w);_P(y);u=r;return d|0}while(0);c=Ya()|0;_P(q)}Hta(d)}_P(w);break}}c=Ya()|0;k=I;d=f[t>>2]|0;if(!d)s=49;else{l=t+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[t>>2]|0}Hta(d);s=49}}while(0);if((s|0)==49)if((b[m>>0]|0)<0)Hta(f[v>>2]|0);_P(y);y=c;jb(y|0)}}c=Ya()|0;l=I;d=f[m>>2]|0;if(d){k=m+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[m>>2]|0}Hta(d)}}if((b[n>>0]|0)<0)Hta(f[w>>2]|0);y=c;jb(y|0);return 0}function Oh(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;j=0;s=u;u=u+64|0;r=s+48|0;k=s;h=s+44|0;g=s+40|0;q=c+72|0;i=c+76|0;if((f[c+80>>2]|0)==(f[i>>2]|0)){qV(r,a);f[r>>2]=13852;x=0;Ga(120,q|0,r|0);q=x;x=0;if(q&1){s=Ya()|0;_P(r);jb(s|0)}_P(r);g=k;d=a+12|0;e=g+40|0;do{f[g>>2]=f[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));mR(c+32|0,k+20|0);u=s;return c|0}p=(xc[f[(f[q>>2]|0)+16>>2]&2047](q,0)|0)+4|0;p=f[p>>2]|0;o=a+84|0;m=o+11|0;l=b[m>>0]|0;n=a+88|0;do if(((l<<24>>24<0?f[n>>2]|0:l&255)|0)==1){x=0;d=wa(21,o|0,0,-1,41390,1)|0;l=x;x=0;if(l&1){l=Za(0)|0;soa(l)}e=(p|0)==0;if(d|0){if(!e)break;Bda()}if(e)Bda();d=f[(f[(f[p>>2]|0)+-4>>2]|0)+4>>2]|0;if((d|0)==30898){qV(r,xc[f[(f[a>>2]|0)+164>>2]&2047](a,p)|0);f[r>>2]=13852;x=0;d=sa(f[(f[q>>2]|0)+16>>2]|0,q|0,0)|0;a=x;x=0;do if(!(a&1)){if((d|0)!=(r|0)){e=d+4|0;if(f[e>>2]|0){x=0;Fa(429,d|0);a=x;x=0;if(a&1)break}a=r+4|0;f[e>>2]=f[a>>2];f[a>>2]=0}_P(r);u=s;return c|0}while(0);s=Ya()|0;_P(r);jb(s|0)}if(!((d|0)==34127|(d|0)==34151)){u=s;return c|0}if(!(b[a+100>>0]|0)){u=s;return c|0}if(b[p+100>>0]|0){u=s;return c|0}d=a+72|0;q=b[d+11>>0]|0;if(((q<<24>>24<0?f[a+76>>2]|0:q&255)|0)==1){x=0;d=wa(21,d|0,0,-1,41390,1)|0;q=x;x=0;if(q&1){q=Za(0)|0;soa(q)}if(!d){u=s;return c|0}}f[h>>2]=f[c+76>>2];qV(k,a);f[k>>2]=13852;x=0;f[r>>2]=f[h>>2];ta(42,i|0,r|0,k|0)|0;r=x;x=0;if(r&1){s=Ya()|0;_P(k);jb(s|0)}else{_P(k);u=s;return c|0}}else if(!p)Bda();while(0);if((f[(f[(f[p>>2]|0)+-4>>2]|0)+4>>2]|0)!=30898){q=b[m>>0]|0;if(((q<<24>>24<0?f[n>>2]|0:q&255)|0)==1){x=0;d=wa(21,o|0,0,-1,41390,1)|0;q=x;x=0;if(q&1){q=Za(0)|0;soa(q)}if(!d){u=s;return c|0}}f[g>>2]=f[c+76>>2];qV(k,a);f[k>>2]=13852;x=0;f[r>>2]=f[g>>2];ta(42,i|0,r|0,k|0)|0;r=x;x=0;if(r&1){s=Ya()|0;_P(k);jb(s|0)}else{_P(k);u=s;return c|0}}g=p+84|0;e=g+11|0;l=b[e>>0]|0;h=p+88|0;do if(((l<<24>>24<0?f[h>>2]|0:l&255)|0)==1){x=0;d=wa(21,g|0,0,-1,41390,1)|0;l=x;x=0;if(l&1){o=Za(0)|0;soa(o)}else if(!d)break;else{j=37;break}}else j=37;while(0);a:do if((j|0)==37){d=p+72|0;l=b[d+11>>0]|0;do if(((l<<24>>24<0?f[p+76>>2]|0:l&255)|0)==1){x=0;d=wa(21,d|0,0,-1,41390,1)|0;l=x;x=0;if(l&1){l=Za(0)|0;soa(l)}else if(!d)break a;else break}while(0);e=b[e>>0]|0;l=e<<24>>24<0;e=e&255;k=l?f[h>>2]|0:e;m=b[m>>0]|0;d=m<<24>>24<0;if((k|0)!=((d?f[n>>2]|0:m&255)|0)){c=0;u=s;return c|0}i=f[g>>2]|0;j=l?i:g;d=d?f[o>>2]|0:o;h=(k|0)==0;if(l){if(h)break;if(!(lO(j,d,k)|0))break;else d=0;u=s;return d|0}if(!h){if((b[d>>0]|0)!=(i&255)<<24>>24){c=0;u=s;return c|0}while(1){e=e+-1|0;g=g+1|0;if(!e)break a;d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){d=0;break}}u=s;return d|0}}while(0);qV(r,xc[f[(f[a>>2]|0)+164>>2]&2047](a,p)|0);f[r>>2]=13852;x=0;d=sa(f[(f[q>>2]|0)+16>>2]|0,q|0,0)|0;a=x;x=0;do if(!(a&1)){if((d|0)!=(r|0)){e=d+4|0;if(f[e>>2]|0){x=0;Fa(429,d|0);a=x;x=0;if(a&1)break}a=r+4|0;f[e>>2]=f[a>>2];f[a>>2]=0}_P(r);u=s;return c|0}while(0);s=Ya()|0;_P(r);jb(s|0);return 0}function Ph(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;p=0;r=u;u=u+96|0;q=r;s=r+80|0;k=r+72|0;h=r+64|0;l=r+56|0;m=r+48|0;n=r+40|0;o=VN(96)|0;d=q;e=c+12|0;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));x=0;Fa(427,o|0);j=x;x=0;do if(j&1)d=Ya()|0;else{d=o+12|0;e=q;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=o+52|0;f[d>>2]=0;f[o+56>>2]=0;b[o+60>>0]=0;f[o>>2]=8016;i=o+64|0;j=o+68|0;e=o+88|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;x=0;Ga(462,e|0,0);g=x;x=0;if(g&1){d=Ya()|0;h=I;SG(o+76|0);e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{s=g+-8|0;f[j>>2]=s;Kc[f[f[s>>2]>>2]&511](s);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[e>>2]=7584;f[d>>2]=12;qV(s,o);f[s>>2]=16636;d=c+92|0;x=0;Ga(462,k|0,f[d>>2]|0);o=x;x=0;a:do if(o&1)d=Ya()|0;else{f[k>>2]=7584;b:do if(!(f[k+4>>2]|0))_P(k);else{x=0;Ga(462,h|0,f[d>>2]|0);o=x;x=0;do if(o&1)d=Ya()|0;else{f[h>>2]=7584;e=f[h+4>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+120>>2]|0,e|0)|0;o=x;x=0;if(o&1){d=Ya()|0;_P(h);break}_P(h);_P(k);if(!e)break b;x=0;Ga(462,l|0,f[d>>2]|0);o=x;x=0;do if(o&1)d=Ya()|0;else{f[l>>2]=7584;d=f[l+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;o=x;x=0;if(!(o&1)){x=0;Ga(462,q|0,d|0);o=x;x=0;if(!(o&1)){f[q>>2]=7696;_P(l);e=f[s+4>>2]|0;x=0;d=qa(340,f[q+4>>2]|0)|0;o=x;x=0;if(o&1)p=33;else{x=0;Ga(462,n|0,d|0);o=x;x=0;if(o&1)p=33;else{f[n>>2]=7584;g=e+88|0;d=e+92|0;if(!(f[d>>2]|0))p=22;else{x=0;Fa(429,g|0);o=x;x=0;if(!(o&1))p=22}do if((p|0)==22){f[d>>2]=f[n+4>>2];x=0;Fa(430,g|0);o=x;x=0;if(o&1)break;x=0;Ga(462,m|0,f[d>>2]|0);o=x;x=0;if(o&1)break;f[m>>2]=7584;_P(m);_P(n);_P(q);break b}while(0);d=Ya()|0;_P(n)}}if((p|0)==33)d=Ya()|0;_P(q);break}}d=Ya()|0;_P(l)}while(0);break a}while(0);_P(k);break a}while(0);n=c+64|0;e=f[n>>2]|0;l=(f[c+68>>2]|0)-e>>3;m=s+4|0;c:do if(l|0){j=a+12|0;k=q+4|0;d=0;while(1){h=f[m>>2]|0;i=h+64|0;e=f[e+(d<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,j|0)|0;a=x;x=0;if(a&1){p=50;break}x=0;Ga(462,q|0,e|0);a=x;x=0;if(a&1){p=50;break}f[q>>2]=7696;e=h+68|0;g=f[e>>2]|0;if(g>>>0<(f[h+72>>2]|0)>>>0){x=0;Ga(462,g|0,f[k>>2]|0);a=x;x=0;if(a&1){p=51;break}f[g>>2]=7696;f[e>>2]=(f[e>>2]|0)+8}else{x=0;Ga(554,i|0,q|0);a=x;x=0;if(a&1){p=51;break}}_P(q);d=d+1|0;if(d>>>0>=l>>>0)break c;e=f[n>>2]|0}if((p|0)==50)d=Ya()|0;else if((p|0)==51){d=Ya()|0;_P(q)}break a}while(0);d=f[m>>2]|0;if(!d){q=0;_P(s);u=r;return q|0}b[d+8>>0]=1;q=d;_P(s);u=r;return q|0}while(0);_P(s);s=d;jb(s|0)}while(0);Hta(o);s=d;jb(s|0);return 0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=0;v=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[v>>2]=1.0;b=f[b>>2]|0;q=f[c>>2]|0;if((b|0)==(q|0))return;r=a+4|0;s=a+12|0;t=a+8|0;p=b;a:while(1){l=p+4|0;b=f[l>>2]|0;if(!b)b=0;else{x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;o=x;x=0;if(o&1){u=66;break}}m=f[r>>2]|0;o=(m|0)==0;b:do if(o){d=0;u=42}else{j=m+-1|0;d=(j&m|0)==0;if(d)k=j&b;else if(b>>>0>>0)k=b;else k=(b>>>0)%(m>>>0)|0;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){d=k;u=42}else{c=f[c>>2]|0;if(!c){d=k;u=42}else{if(d)while(1){i=f[c+4>>2]|0;if(!((i|0)==(b|0)|(i&j|0)==(k|0))){d=k;u=42;break b}h=f[c+12>>2]|0;do if(h|0){if(!(uy(h,80,192,-2)|0)){d=f[l>>2]|0;i=d}else{d=f[l>>2]|0;if(!d){i=d;d=0}else if(!(uy(d,80,192,-2)|0))i=d;else{x=0;d=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;i=x;x=0;if(i&1){u=64;break a}h=f[l>>2]|0;x=0;h=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;i=x;x=0;if(i&1){u=64;break a}if((d|0)==(h|0))break b;else break}}if(i|0){x=0;d=sa(f[(f[h>>2]|0)+160>>2]|0,h|0,d|0)|0;i=x;x=0;if(i&1){u=64;break a}if(d)break b}}while(0);c=f[c>>2]|0;if(!c){d=k;u=42;break b}}else i=c;while(1){c=f[i+4>>2]|0;if((c|0)!=(b|0)){if(c>>>0>=m>>>0)c=(c>>>0)%(m>>>0)|0;if((c|0)!=(k|0)){d=k;u=42;break b}}h=f[i+12>>2]|0;do if(h|0){if(!(uy(h,80,192,-2)|0)){c=f[l>>2]|0;d=c}else{c=f[l>>2]|0;if(!c){d=c;c=0}else if(!(uy(c,80,192,-2)|0))d=c;else{x=0;c=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;j=x;x=0;if(j&1){u=65;break a}d=f[l>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+8>>2]|0,d|0)|0;j=x;x=0;if(j&1){u=65;break a}if((c|0)==(d|0))break b;else break}}if(d|0){x=0;c=sa(f[(f[h>>2]|0)+160>>2]|0,h|0,c|0)|0;j=x;x=0;if(j&1){u=65;break a}if(c)break b}}while(0);i=f[i>>2]|0;if(!i){d=k;u=42;break}}}}}while(0);if((u|0)==42){u=0;x=0;i=qa(318,16)|0;k=x;x=0;if(k&1){u=66;break}c=i+8|0;x=0;Ga(462,c|0,f[l>>2]|0);l=x;x=0;if(l&1){u=44;break}f[c>>2]=13852;f[i+4>>2]=b;f[i>>2]=0;e=+(((f[s>>2]|0)+1|0)>>>0);g=+n[v>>2];do if(o|g*+(m>>>0)>>0<3|(m+-1&m|0)!=0)&1;m=~~+W(+(e/g))>>>0;x=0;Ga(707,a|0,(o>>>0>>0?m:o)|0);o=x;x=0;if(o&1){u=51;break a}c=f[r>>2]|0;d=c+-1|0;if(!(d&c)){h=c;b=d&b;break}if(b>>>0>>0)h=c;else{h=c;b=(b>>>0)%(c>>>0)|0}}else{h=m;b=d}while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){f[i>>2]=f[t>>2];f[t>>2]=i;f[c>>2]=t;b=f[i>>2]|0;if(b|0){b=f[b+4>>2]|0;c=h+-1|0;if(!(c&h))b=b&c;else if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;u=60}}else{f[i>>2]=f[b>>2];u=60}if((u|0)==60){u=0;f[b>>2]=i}f[s>>2]=(f[s>>2]|0)+1}p=p+8|0;if((p|0)==(q|0)){u=63;break}}if((u|0)==44){c=Ya()|0;Hta(i)}else if((u|0)==51){v=Ya()|0;Kc[f[f[c>>2]>>2]&511](c);Hta(i);c=v}else if((u|0)==63)return;else if((u|0)==64)c=Ya()|0;else if((u|0)==65)c=Ya()|0;else if((u|0)==66)c=Ya()|0;b=f[a+8>>2]|0;if(b|0)do{v=b;b=f[b>>2]|0;u=v+8|0;Kc[f[f[u>>2]>>2]&511](u);Hta(v)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)jb(c|0);Hta(b);jb(c|0)}function Rh(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,v=0;t=0;q=u;u=u+144|0;n=q;v=q+136|0;d=q+128|0;o=q+120|0;k=q+112|0;m=q+104|0;p=q+64|0;s=q+56|0;r=q+40|0;qV(d,f[c+64>>2]|0);f[d>>2]=7696;l=f[d+4>>2]|0;x=0;a=sa(f[(f[l>>2]|0)+56>>2]|0,l|0,a|0)|0;l=x;x=0;if(!(l&1)){x=0;Ga(462,v|0,a|0);l=x;x=0;if(!(l&1)){f[v>>2]=7696;_P(d);a=(b[c+81>>0]|0)!=0;a:do if(!(b[c+80>>0]|0)){d=0;t=37}else{j=v+4|0;d=f[j>>2]|0;switch(f[d+56>>2]|0){case 6:{a=1;d=0;t=37;break a}case 5:{d=1;t=37;break a}default:{}}x=0;l=qa(318,88)|0;i=x;x=0;b:do if(i&1)t=24;else{i=n;g=d+12|0;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));x=0;Fa(427,l|0);i=x;x=0;do if(i&1)a=Ya()|0;else{i=l+12|0;g=n;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;d=l+56|0;f[d>>2]=0;f[l>>2]=6516;e=l+60|0;f[e>>2]=9660;h=l+64|0;i=l+68|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(516,h|0,0);g=x;x=0;if(g&1){a=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{s=e+-8|0;f[i>>2]=s;Kc[f[f[s>>2]>>2]&511](s);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[l>>2]=9488;f[e>>2]=9620;f[l+80>>2]=0;b[l+84>>0]=1;b[l+85>>0]=0;b[l+86>>0]=0;f[d>>2]=5;x=0;Ga(462,o|0,l|0);l=x;x=0;if(l&1){t=24;break b}f[o>>2]=7584;d=o+4|0;e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,k|0,f[j>>2]|0);l=x;x=0;do if(l&1)a=Ya()|0;else{f[k>>2]=7696;x=0;Ga(g|0,e|0,k|0);l=x;x=0;if(l&1){a=Ya()|0;_P(k);break}_P(k);x=0;Ga(462,m|0,f[d>>2]|0);l=x;x=0;if(l&1)a=Ya()|0;else{f[m>>2]=7584;x=0;Ga(462,n|0,f[m+4>>2]|0);l=x;x=0;c:do if(l&1)a=Ya()|0;else{f[n>>2]=7696;do if(f[j>>2]|0){x=0;Fa(429,v|0);l=x;x=0;if(!(l&1))break;a=Ya()|0;_P(n);break c}while(0);d=n+4|0;f[j>>2]=f[d>>2];f[d>>2]=0;_P(n);_P(m);_P(o);d=1;t=37;break a}while(0);_P(m)}}while(0);_P(o);break b}while(0);Hta(l)}while(0);if((t|0)==24)a=Ya()|0}while(0);do if((t|0)==37){x=0;e=qa(318,88)|0;t=x;x=0;if(t&1){a=Ya()|0;break}i=p;g=c+12|0;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));x=0;Ga(462,s|0,f[v+4>>2]|0);t=x;x=0;if(t&1)a=Ya()|0;else{f[s>>2]=7696;x=0;Ga(459,r|0,c+68|0);t=x;x=0;do if(t&1)a=Ya()|0;else{x=0;i=n;g=p;h=i+40|0;do{f[i>>2]=f[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));La(13,e|0,n|0,s|0,r|0,d|0,a|0);t=x;x=0;if(t&1){a=Ya()|0;if((b[r+11>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[r+11>>0]|0)>=0){_P(s);_P(v);u=q;return e|0}Hta(f[r>>2]|0);_P(s);_P(v);u=q;return e|0}while(0);_P(s)}Hta(e)}while(0);_P(v);v=a;jb(v|0)}}v=Ya()|0;_P(d);jb(v|0);return 0} +function Jf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;y=0;C=u;u=u+16|0;B=C;r=B+4|0;s=B+4|0;t=B+4|0;v=B+4|0;w=B+4|0;a:while(1){q=b;z=b+-8|0;o=b+-16|0;A=b+-4|0;p=(B|0)==(z|0);while(1){n=a;b:while(1){m=n;a=q-m|0;d=a>>3;switch(d|0){case 2:{y=5;break a}case 3:{y=18;break a}case 4:{y=19;break a}case 5:{y=20;break a}case 1:case 0:{y=108;break a}default:{}}if((a|0)<56){y=22;break a}g=(d|0)/2|0;j=n+(g<<3)|0;if((a|0)>7992){a=(d|0)/4|0;a=pk(n,n+(a<<3)|0,j,j+(a<<3)|0,z,c)|0}else a=Bj(n,j,z,c)|0;k=n+4|0;d=f[k>>2]|0;if(d|0){e=f[n+(g<<3)+4>>2]|0;if(e|0)if(xc[f[(f[d>>2]|0)+156>>2]&2047](d,e)|0){d=z;break}}if((n|0)!=(o|0)){i=n+(g<<3)+4|0;d=z;h=o;while(1){d=d+-4|0;e=f[d>>2]|0;if(e|0){g=f[i>>2]|0;if(g|0)if(xc[f[(f[e>>2]|0)+156>>2]&2047](e,g)|0){y=65;break b}}d=h+-8|0;if((n|0)==(d|0))break;else{l=h;h=d;d=l}}}a=n+8|0;d=f[k>>2]|0;if(!d)y=34;else{e=f[A>>2]|0;if(!e)y=34;else if(!(xc[f[(f[d>>2]|0)+156>>2]&2047](d,e)|0))y=34}if((y|0)==34){y=0;if((a|0)==(z|0)){y=108;break a}while(1){d=f[k>>2]|0;if(d|0){e=a+4|0;g=f[e>>2]|0;if(g|0)if(xc[f[(f[d>>2]|0)+156>>2]&2047](d,g)|0)break}a=a+8|0;if((a|0)==(z|0)){y=108;break a}}qV(B,f[e>>2]|0);f[B>>2]=15556;if(f[e>>2]|0){x=0;Fa(429,a|0);n=x;x=0;if(n&1){y=42;break a}}f[e>>2]=f[A>>2];f[A>>2]=0;if(!p){f[A>>2]=f[s>>2];f[s>>2]=0}_P(B);a=a+8|0}if((a|0)==(z|0)){y=108;break a}else g=z;while(1){while(1){d=f[k>>2]|0;if(d|0){i=a+4|0;e=f[i>>2]|0;if(e|0)if(xc[f[(f[d>>2]|0)+156>>2]&2047](d,e)|0){d=g;break}}a=a+8|0}while(1){h=d+-8|0;e=f[k>>2]|0;if(!e)break;g=f[d+-4>>2]|0;if(!g)break;if(xc[f[(f[e>>2]|0)+156>>2]&2047](e,g)|0)d=h;else break}if(a>>>0>=h>>>0){n=a;continue b}qV(B,f[i>>2]|0);f[B>>2]=15556;if(f[i>>2]|0){x=0;Fa(429,a|0);n=x;x=0;if(n&1){y=59;break a}}d=d+-4|0;f[i>>2]=f[d>>2];f[d>>2]=0;if((B|0)!=(h|0)){f[d>>2]=f[r>>2];f[r>>2]=0}_P(B);g=h;a=a+8|0}}if((y|0)==65){y=0;qV(B,f[k>>2]|0);f[B>>2]=15556;if(f[k>>2]|0){x=0;Fa(429,n|0);l=x;x=0;if(l&1){y=69;break a}}f[k>>2]=f[d>>2];f[d>>2]=0;if((B|0)!=(h|0)){f[d>>2]=f[w>>2];f[w>>2]=0}_P(B);d=h;a=a+1|0}e=n+8|0;c:do if(e>>>0>>0){l=j;while(1){k=l+4|0;i=e+4|0;g=f[i>>2]|0;d:do if(g)while(1){h=f[k>>2]|0;if(!h)break d;if(!(xc[f[(f[g>>2]|0)+156>>2]&2047](g,h)|0))break d;h=e+8|0;i=e+12|0;g=f[i>>2]|0;if(!g){e=h;break}else e=h}while(0);while(1){g=d;d=d+-8|0;g=g+-4|0;h=f[g>>2]|0;if(!h)continue;j=f[k>>2]|0;if(!j)continue;if(xc[f[(f[h>>2]|0)+156>>2]&2047](h,j)|0)break}if(e>>>0>d>>>0){i=l;j=e;break c}qV(B,f[i>>2]|0);f[B>>2]=15556;if((e|0)!=(d|0)){if(f[i>>2]|0){x=0;Fa(429,e|0);k=x;x=0;if(k&1){y=89;break a}}f[i>>2]=f[g>>2];f[g>>2]=0}if((B|0)!=(d|0)){if(f[g>>2]|0){x=0;Fa(429,d|0);k=x;x=0;if(k&1){y=89;break a}}f[g>>2]=f[v>>2];f[v>>2]=0}_P(B);l=(l|0)==(e|0)?d:l;e=e+8|0;a=a+1|0}}else{i=j;j=e}while(0);if((j|0)!=(i|0)){d=i+4|0;e=f[d>>2]|0;if(e){g=j+4|0;h=f[g>>2]|0;if(h)if(xc[f[(f[e>>2]|0)+156>>2]&2047](e,h)|0){qV(B,f[g>>2]|0);f[B>>2]=15556;if(f[g>>2]|0){x=0;Fa(429,j|0);l=x;x=0;if(l&1){y=99;break a}}f[g>>2]=f[d>>2];f[d>>2]=0;if((B|0)!=(i|0)){f[d>>2]=f[t>>2];f[t>>2]=0}_P(B);a=a+1|0}}}if(!a){d=Dk(n,j,c)|0;a=j+8|0;if(Dk(a,b,c)|0){y=107;break}if(d)continue}l=j;if((l-m|0)>=(q-l|0)){y=106;break}Jf(n,j,c);a=j+8|0}if((y|0)==106){y=0;Jf(j+8|0,b,c);a=n;b=j;continue}else if((y|0)==107){y=0;if(d){y=108;break}else{a=n;b=j;continue}}}switch(y|0){case 5:{a=f[A>>2]|0;if(!a){u=C;return}b=n+4|0;d=f[b>>2]|0;if(!d){u=C;return}if(!(xc[f[(f[a>>2]|0)+156>>2]&2047](a,d)|0)){u=C;return}qV(B,f[b>>2]|0);f[B>>2]=15556;if((n|0)!=(z|0)){if(f[b>>2]|0){x=0;Fa(429,n|0);y=x;x=0;if(y&1){C=Ya()|0;_P(B);jb(C|0)}}f[b>>2]=f[A>>2];f[A>>2]=0}if((B|0)!=(z|0)){if(f[A>>2]|0){x=0;Fa(429,z|0);z=x;x=0;if(z&1){C=Ya()|0;_P(B);jb(C|0)}}z=B+4|0;f[A>>2]=f[z>>2];f[z>>2]=0}_P(B);u=C;return}case 18:{Bj(n,n+8|0,z,c)|0;u=C;return}case 19:{tm(n,n+8|0,n+16|0,z,c)|0;u=C;return}case 20:{pk(n,n+8|0,n+16|0,n+24|0,z,c)|0;u=C;return}case 22:{Gr(n,b,c);u=C;return}case 42:{C=Ya()|0;_P(B);jb(C|0)}case 59:{C=Ya()|0;_P(B);jb(C|0)}case 69:{C=Ya()|0;_P(B);jb(C|0)}case 89:{C=Ya()|0;_P(B);jb(C|0)}case 99:{C=Ya()|0;_P(B);jb(C|0)}case 108:{u=C;return}}}function Kf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=u;u=u+176|0;t=y+128|0;d=y+88|0;m=y+72|0;i=y+48|0;B=y+64|0;A=y+36|0;w=y+24|0;r=y;s=y+16|0;q=y+8|0;C=c+164|0;D=f[C>>2]|0;z=D+1|0;f[C>>2]=z;if(z>>>0>512){l=Ta(84)|0;e=d;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(511,m|0,c+148|0);B=x;x=0;do if(B&1)d=Ya()|0;else{x=0;Ga(459,i|0,80148);B=x;x=0;if(B&1){d=Ya()|0;k=I;g=1}else{x=0;e=t;g=d;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ja(28,l|0,t|0,m|0,i|0);B=x;x=0;if(B&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[C>>2]=D;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){B=d;f[C>>2]=D;jb(B|0)}}while(0);bb(l|0);B=d;f[C>>2]=D;jb(B|0)}x=0;ta(52,c|0,0,0)|0;z=x;x=0;if(!(z&1)){o=c+128|0;x=0;Ga(576,c+108|0,o|0);z=x;x=0;if(!(z&1)){f[c+132>>2]=0;f[o>>2]=0;p=c+108|0;e=t;g=p;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(584,B|0,c|0);z=x;x=0;if(z&1)d=Ya()|0;else{f[A>>2]=0;z=A+4|0;f[z>>2]=0;f[A+8>>2]=0;f[w>>2]=0;v=w+4|0;f[v>>2]=0;f[w+8>>2]=0;h=c+76|0;i=c+80|0;j=r+4|0;k=r+5|0;l=w+8|0;m=A+8|0;n=r+4|0;a:while(1){d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;g=x;x=0;if(g&1){g=61;break}e=e|0?e:d;x=0;d=qa(359,e|0)|0;g=x;x=0;if(g&1){g=61;break}if(!d){x=0;d=qa(360,e|0)|0;g=x;x=0;if(g&1){g=61;break}if(!d){x=0;d=qa(361,e|0)|0;g=x;x=0;if(g&1){g=61;break}if(!d){x=0;d=qa(362,e|0)|0;g=x;x=0;if(g&1){g=61;break}if(!d){x=0;d=qa(363,e|0)|0;g=x;x=0;if(g&1){g=61;break}if(!d){x=0;d=qa(364,e|0)|0;g=x;x=0;if(g&1){g=61;break}}}}}}if((d|0)==0?1:d>>>0>(f[i>>2]|0)>>>0){g=69;break}x=0;d=qa(347,f[h>>2]|0)|0;g=x;x=0;if(g&1){g=62;break}g=d|0?d>>>0<=(f[i>>2]|0)>>>0:0;x=0;d=ta(74,c|0,1,0)|0;e=x;x=0;if(e&1){g=63;break}do if(!d){x=0;d=ta(75,c|0,1,0)|0;e=x;x=0;if(e&1){g=63;break a}if(!d){x=0;d=ta(76,c|0,1,0)|0;e=x;x=0;if(e&1){g=63;break a}if(!d){x=0;d=ta(77,c|0,1,0)|0;e=x;x=0;if(e&1){g=63;break a}if(d|0){e=7;break}x=0;d=ta(78,c|0,1,0)|0;e=x;x=0;if(e&1){g=63;break a}if(d|0){e=4;break}x=0;d=ta(79,c|0,1,0)|0;e=x;x=0;if(e&1){g=63;break a}e=d|0?6:2}else e=5}else e=3}else e=2;while(0);x=0;d=qa(347,f[h>>2]|0)|0;E=x;x=0;if(E&1){g=64;break}d=(d|0?d>>>0<=(f[i>>2]|0)>>>0:0)&1;f[r>>2]=e;b[j>>0]=g&1;b[k>>0]=d;d=f[v>>2]|0;if(d>>>0<(f[l>>2]|0)>>>0){e=r;g=f[e+4>>2]|0;E=d;f[E>>2]=f[e>>2];f[E+4>>2]=g;f[v>>2]=(f[v>>2]|0)+8}else{x=0;Ga(585,w|0,r|0);E=x;x=0;if(E&1){g=65;break}}x=0;Ga(584,r|0,c|0);E=x;x=0;if(E&1){g=66;break}d=f[z>>2]|0;if(d>>>0<(f[m>>2]|0)>>>0){x=0;Ga(462,d|0,f[n>>2]|0);E=x;x=0;if(E&1){g=67;break}f[d>>2]=7696;f[z>>2]=(f[z>>2]|0)+8}else{x=0;Ga(554,A|0,r|0);E=x;x=0;if(E&1){g=67;break}}_P(r)}do if((g|0)==62){d=Ya()|0;h=I}else if((g|0)==63){d=Ya()|0;h=I}else if((g|0)==64){d=Ya()|0;h=I}else if((g|0)==65){d=Ya()|0;h=I}else if((g|0)==66){d=Ya()|0;e=I;g=68}else if((g|0)==67){d=Ya()|0;e=I;_P(r);g=68}else if((g|0)==69){x=0;Ga(462,s|0,f[B+4>>2]|0);E=x;x=0;if(E&1)g=61;else{f[s>>2]=7696;x=0;La(21,a|0,c|0,s|0,A|0,w|0,0);E=x;x=0;if(E&1){d=Ya()|0;h=I;_P(s);break}_P(s);x=0;Ia(116,q|0,p|0,t|0);E=x;x=0;if(!(E&1)){x=0;Ia(117,r|0,q|0,o|0);E=x;x=0;if(!(E&1)){c=r;E=f[c+4>>2]|0;d=t+20|0;f[d>>2]=f[c>>2];f[d+4>>2]=E;DP((f[a+4>>2]|0)+12|0,t|0,40)|0;d=f[w>>2]|0;if(d|0){e=f[v>>2]|0;if((e|0)!=(d|0))f[v>>2]=e+(~((e+-8-d|0)>>>3)<<3);Hta(d)}d=f[A>>2]|0;if(!d){_P(B);f[C>>2]=D;u=y;return}e=f[z>>2]|0;if((e|0)!=(d|0)){do{E=e+-8|0;f[z>>2]=E;Kc[f[f[E>>2]>>2]&511](E);e=f[z>>2]|0}while((e|0)!=(d|0));d=f[A>>2]|0}Hta(d);_P(B);f[C>>2]=D;u=y;return}}d=Ya()|0;h=I;_P(a)}}while(0);if((g|0)==61){d=Ya()|0;h=I}else if((g|0)==68)h=e;e=f[w>>2]|0;if(e|0){g=f[v>>2]|0;if((g|0)!=(e|0))f[v>>2]=g+(~((g+-8-e|0)>>>3)<<3);Hta(e)}e=f[A>>2]|0;if(e|0){g=f[z>>2]|0;if((g|0)!=(e|0)){do{E=g+-8|0;f[z>>2]=E;Kc[f[f[E>>2]>>2]&511](E);g=f[z>>2]|0}while((g|0)!=(e|0));e=f[A>>2]|0}Hta(e)}_P(B)}E=d;f[C>>2]=D;jb(E|0)}}E=Ya()|0;f[C>>2]=D;jb(E|0)}function Lf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=0;A=u;u=u+288|0;C=A+272|0;D=A+260|0;B=A+248|0;z=A+208|0;s=A+192|0;t=A+180|0;v=A+168|0;w=A+128|0;g=A+112|0;h=A+100|0;k=A+88|0;l=A+48|0;d=A;r=A+40|0;m=VN(76)|0;y=c+108|0;i=d;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;Fa(427,m|0);q=x;x=0;do if(q&1)d=Ya()|0;else{f[m>>2]=6696;i=m+12|0;j=d;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));d=m+52|0;f[d>>2]=13504;i=m+56|0;j=m+60|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(567,i|0,0);q=x;x=0;if(q&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{E=g+-8|0;f[j>>2]=E;Kc[f[f[E>>2]>>2]&511](E);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[m>>2]=13360;f[d>>2]=13448;b[m+72>>0]=0;b[m+73>>0]=0;qV(a,m);f[a>>2]=9264;m=c+168|0;f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];o=c+76|0;e=f[o>>2]|0;p=c+84|0;f[h>>2]=f[p>>2];f[h+4>>2]=f[p+4>>2];f[h+8>>2]=f[p+8>>2];q=c+96|0;f[k>>2]=f[q>>2];f[k+4>>2]=f[q+4>>2];f[k+8>>2]=f[q+8>>2];i=l;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;ta(52,c|0,1,0)|0;n=x;x=0;a:do if(n&1)E=24;else{x=0;d=ta(82,c|0,1,0)|0;n=x;x=0;if(n&1)E=24;else{if(!d){i=y;j=l;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[o>>2]=e;f[q>>2]=f[k>>2];f[q+4>>2]=f[k+4>>2];f[q+8>>2]=f[k+8>>2];f[p>>2]=f[h>>2];f[p+4>>2]=f[h+4>>2];f[p+8>>2]=f[h+8>>2];u=A;return}x=0;d=qa(347,f[o>>2]|0)|0;n=x;x=0;if(n&1)E=24;else{h=c+80|0;if((d|0)==0?1:d>>>0>(f[h>>2]|0)>>>0)d=f[o>>2]|0;x=0;e=qa(348,d|0)|0;n=x;x=0;if(n&1)E=24;else{n=e|0?e:d;n=(b[n>>0]|0)==41?n+1|0:0;b:do if((n|0)==0?1:n>>>0>(f[h>>2]|0)>>>0){g=a+4|0;while(1){d=f[o>>2]|0;x=0;e=qa(348,d|0)|0;n=x;x=0;if(n&1){E=24;break a}n=e|0?e:d;n=(b[n>>0]|0)==41?n+1|0:0;if(!((n|0)==0?1:n>>>0>(f[h>>2]|0)>>>0))break b;d=(f[g>>2]|0)+52|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(635,r|0,c|0);n=x;x=0;if(n&1){E=24;break a}x=0;Ga(e|0,d|0,r|0);n=x;x=0;if(n&1){E=31;break}_P(r);f[s>>2]=f[m>>2];f[s+4>>2]=f[m+4>>2];f[s+8>>2]=f[m+8>>2];e=f[o>>2]|0;f[t>>2]=f[p>>2];f[t+4>>2]=f[p+4>>2];f[t+8>>2]=f[p+8>>2];f[v>>2]=f[q>>2];f[v+4>>2]=f[q+4>>2];f[v+8>>2]=f[q+8>>2];i=w;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;ta(52,c|0,1,0)|0;n=x;x=0;if(n&1){E=24;break a}x=0;d=ta(53,c|0,1,0)|0;n=x;x=0;if(n&1){E=24;break a}if(!d){E=30;break}}if((E|0)==30){i=y;j=w;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];f[o>>2]=e;f[q>>2]=f[v>>2];f[q+4>>2]=f[v+4>>2];f[q+8>>2]=f[v+8>>2];f[p>>2]=f[t>>2];f[p+4>>2]=f[t+4>>2];f[p+8>>2]=f[t+8>>2];break}else if((E|0)==31){d=Ya()|0;_P(r);break a}}while(0);f[C>>2]=f[m>>2];f[C+4>>2]=f[m+4>>2];f[C+8>>2]=f[m+8>>2];e=f[o>>2]|0;f[D>>2]=f[p>>2];f[D+4>>2]=f[p+4>>2];f[D+8>>2]=f[p+8>>2];f[B>>2]=f[q>>2];f[B+4>>2]=f[q+4>>2];f[B+8>>2]=f[q+8>>2];i=z;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;ta(52,c|0,1,0)|0;w=x;x=0;if(w&1)E=24;else{x=0;d=ta(66,c|0,1,0)|0;w=x;x=0;if(w&1)E=24;else{if(d|0){u=A;return}i=y;j=z;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=f[C>>2];f[m+4>>2]=f[C+4>>2];f[m+8>>2]=f[C+8>>2];f[o>>2]=e;f[q>>2]=f[B>>2];f[q+4>>2]=f[B+4>>2];f[q+8>>2]=f[B+8>>2];f[p>>2]=f[D>>2];f[p+4>>2]=f[D+4>>2];f[p+8>>2]=f[D+8>>2];f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;x=0;d=qa(318,16)|0;z=x;x=0;if(z&1)d=Ya()|0;else{f[C>>2]=d;f[C+8>>2]=-2147483632;f[C+4>>2]=11;i=d;j=44242;n=i+11|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(n|0));b[d+11>>0]=0;f[D+8>>2]=0;e=D+11|0;b[e>>0]=7;b[D>>0]=b[44254]|0;b[D+1>>0]=b[44255]|0;b[D+2>>0]=b[44256]|0;b[D+3>>0]=b[44257]|0;b[D+4>>0]=b[44258]|0;b[D+5>>0]=b[44259]|0;b[D+6>>0]=b[44260]|0;b[D+7>>0]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;d=qa(318,32)|0;z=x;x=0;do if(z&1)d=Ya()|0;else{f[B>>2]=d;f[B+8>>2]=-2147483616;f[B+4>>2]=20;i=d;j=45161;n=i+20|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(n|0));b[d+20>>0]=0;x=0;Ka(8,c|0,C|0,D|0,B|0,1);c=x;x=0;if(c&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[e>>0]|0)<0)Hta(f[D>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);u=A;return}while(0);if((b[e>>0]|0)<0)Hta(f[D>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}}}}}}}while(0);if((E|0)==24)d=Ya()|0;_P(a);E=d;jb(E|0)}while(0);Hta(m);E=d;jb(E|0)}function Mf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;K=0;E=u;u=u+368|0;B=E+328|0;s=E+316|0;t=E+304|0;v=E+264|0;w=E;m=E+248|0;n=E+236|0;o=E+224|0;e=E+184|0;C=E+144|0;L=E+136|0;M=E+120|0;J=E+104|0;y=E+128|0;z=E+112|0;D=E+64|0;G=E+56|0;H=E+48|0;F=E+40|0;f[B>>2]=4;A=c+60|0;d=f[A>>2]|0;if(d>>>0<(f[c+64>>2]|0)>>>0){f[d>>2]=4;f[A>>2]=d+4}else SA(c+56|0,B);r=c+108|0;d=C;p=r;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));g=(b[(f[(f[c+48>>2]|0)+-4>>2]|0)+84>>0]|0)!=0;Tq(L,c,0);x=0;Ia(123,M|0,c|0,g|0);q=x;x=0;if(q&1){M=Ya()|0;_P(L);jb(M|0)}x=0;Ga(462,J|0,0);q=x;x=0;if(q&1)d=Ya()|0;else{f[J>>2]=7280;h=c+168|0;f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];i=c+76|0;j=f[i>>2]|0;k=c+84|0;f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];f[n+8>>2]=f[k+8>>2];l=c+96|0;f[o>>2]=f[l>>2];f[o+4>>2]=f[l+4>>2];f[o+8>>2]=f[l+8>>2];d=e;p=r;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));x=0;ta(52,c|0,1,0)|0;q=x;x=0;a:do if(q&1)K=28;else{x=0;d=ta(132,c|0,1,0)|0;q=x;x=0;if(q&1)K=28;else{b:do if(!d){d=r;p=e;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];f[h+8>>2]=f[m+8>>2];f[i>>2]=j;f[l>>2]=f[o>>2];f[l+4>>2]=f[o+4>>2];f[l+8>>2]=f[o+8>>2];f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];f[B>>2]=f[h>>2];f[B+4>>2]=f[h+4>>2];f[B+8>>2]=f[h+8>>2];f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];f[t+8>>2]=f[l+8>>2];d=v;p=r;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));x=0;ta(52,c|0,1,0)|0;z=x;x=0;if(z&1){K=28;break a}x=0;d=ta(133,c|0,1,0)|0;z=x;x=0;if(z&1){K=28;break a}if(!d){d=r;p=v;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];f[i>>2]=j;f[l>>2]=f[t>>2];f[l+4>>2]=f[t+4>>2];f[l+8>>2]=f[t+8>>2];f[k>>2]=f[s>>2];f[k+4>>2]=f[s+4>>2];f[k+8>>2]=f[s+8>>2];break}x=0;Ia(123,B|0,c|0,g|0);c=x;x=0;do if(c&1)d=Ya()|0;else{d=J+4|0;if(f[d>>2]|0){x=0;Fa(429,J|0);c=x;x=0;if(c&1){d=Ya()|0;_P(B);break}}c=B+4|0;f[d>>2]=f[c>>2];f[c>>2]=0;_P(B);break b}while(0);break a}else{x=0;k=qa(318,88)|0;v=x;x=0;c:do if(v&1)K=29;else{d=w;p=r;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));x=0;Fa(427,k|0);v=x;x=0;do if(v&1)d=Ya()|0;else{d=k+12|0;p=w;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);w=x;x=0;if(w&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{H=g+-8|0;f[j>>2]=H;Kc[f[f[H>>2]>>2]&511](H);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,B|0,k|0);w=x;x=0;if(w&1){K=29;break c}f[B>>2]=7280;d=J+4|0;if(f[d>>2]|0){x=0;Fa(429,J|0);w=x;x=0;if(w&1){d=Ya()|0;_P(B);break c}}e=B+4|0;f[d>>2]=f[e>>2];f[e>>2]=0;_P(B);d=(f[d>>2]|0)+64|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ia(119,z|0,c|0,0);c=x;x=0;if(c&1){K=28;break a}x=0;Ga(462,y|0,f[z+4>>2]|0);c=x;x=0;do if(c&1)d=Ya()|0;else{f[y>>2]=6920;x=0;Ga(e|0,d|0,y|0);c=x;x=0;if(c&1){d=Ya()|0;_P(y);break}else{_P(y);_P(z);break b}}while(0);_P(z);break a}while(0);Hta(k)}while(0);if((K|0)==29)d=Ya()|0;break a}while(0);f[A>>2]=(f[A>>2]|0)+-4;x=0;g=qa(318,88)|0;A=x;x=0;if(A&1)K=28;else{d=D;p=C;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));x=0;Ga(462,G|0,f[L+4>>2]|0);C=x;x=0;do if(C&1)d=Ya()|0;else{f[G>>2]=7696;x=0;Ga(462,H|0,f[M+4>>2]|0);C=x;x=0;if(C&1){d=Ya()|0;_P(G);break}f[H>>2]=7280;x=0;Ga(462,F|0,f[J+4>>2]|0);C=x;x=0;if(C&1){d=Ya()|0;e=1}else{f[F>>2]=7280;x=0;d=B;p=D;q=d+40|0;do{f[d>>2]=f[p>>2];d=d+4|0;p=p+4|0}while((d|0)<(q|0));Ka(11,g|0,B|0,G|0,H|0,F|0);D=x;x=0;if(D&1)d=1;else{x=0;Ga(462,a|0,g|0);D=x;x=0;if(D&1)d=0;else{f[a>>2]=17304;_P(F);_P(H);_P(G);_P(J);_P(M);_P(L);u=E;return}}a=Ya()|0;_P(F);e=d;d=a}_P(H);_P(G);if(!e)break a}while(0);Hta(g)}}}while(0);if((K|0)==28)d=Ya()|0;_P(J)}_P(M);M=d;_P(L);jb(M|0)}function Nf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=0;w=u;u=u+320|0;y=w+280|0;D=w+272|0;C=w+220|0;c=w+232|0;n=w+208|0;B=w+152|0;l=w+168|0;p=w+140|0;z=w+88|0;m=w+48|0;v=w+32|0;q=w+24|0;t=w+16|0;r=w;s=w+8|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;o=C+11|0;b[o>>0]=9;i=C;j=41458;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[C+9>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,n|0,h|0);k=x;x=0;do if(k&1)c=Ya()|0;else{x=0;i=y;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,D|0,C|0,a|0,e|0,y|0,n|0,d|0);k=x;x=0;if(k&1){c=Ya()|0;l=I;i=f[n>>2]|0;if(!i)break;m=n+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[n>>2]|0}Hta(i);break}c=f[n>>2]|0;if(c|0){k=n+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[C>>2]|0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;n=B+11|0;b[n>>0]=9;i=B;j=41468;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[B+9>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);o=x;x=0;do if(o&1){c=Ya()|0;A=67}else{x=0;i=y;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,C|0,B|0,a|0,e|0,y|0,p|0,d|0);o=x;x=0;if(o&1){c=Ya()|0;l=I;i=f[p>>2]|0;if(!i){A=67;break}m=p+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[p>>2]|0}Hta(i);A=67;break}c=f[p>>2]|0;if(c|0){k=p+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[B>>2]|0);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;n=z+11|0;b[n>>0]=9;i=z;j=41478;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[z+9>>0]=0;i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,v|0,h|0);p=x;x=0;do if(p&1){c=Ya()|0;A=78}else{x=0;i=y;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,B|0,z|0,a|0,e|0,y|0,v|0,d|0);p=x;x=0;if(p&1){c=Ya()|0;l=I;i=f[v>>2]|0;if(!i){A=78;break}m=v+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[v>>2]|0}Hta(i);A=78;break}c=f[v>>2]|0;if(c|0){k=v+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[v>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[z>>2]|0);f[y>>2]=0;m=y+4|0;f[m>>2]=0;f[y+8>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;l=y+16|0;f[y+12>>2]=l;c=f[B+4>>2]|0;x=0;Ga(462,q|0,f[C+4>>2]|0);v=x;x=0;do if(v&1){c=Ya()|0;k=I}else{f[q>>2]=7168;x=0;Ia(109,c|0,q|0,y|0);v=x;x=0;if(v&1){c=Ya()|0;k=I;_P(q);break}_P(q);x=0;Ga(528,z|0,y|0);v=x;x=0;if(v&1){c=Ya()|0;i=I}else{x=0;Ga(462,r|0,f[D+4>>2]|0);v=x;x=0;a:do if(v&1){c=Ya()|0;i=I}else{f[r>>2]=7168;x=0;c=ta(50,z|0,r|0,0)|0;v=x;x=0;do if(!(v&1)){x=0;Ga(462,t|0,c|0);v=x;x=0;if(v&1)break;f[t>>2]=7168;_P(r);x=0;Fa(443,s|0);v=x;x=0;do if(!(v&1)){j=f[t+4>>2]|0;x=0;j=sa(f[(f[j>>2]|0)+56>>2]|0,j|0,s|0)|0;v=x;x=0;if(v&1)break;_P(t);aG(z);EA(y+12|0,f[l>>2]|0);c=f[y>>2]|0;if(!c){_P(B);_P(C);_P(D);u=w;return j|0}i=f[m>>2]|0;if((i|0)!=(c|0)){do{A=i+-16|0;f[m>>2]=A;_P(i+-8|0);_P(A);i=f[m>>2]|0}while((i|0)!=(c|0));c=f[y>>2]|0}Hta(c);_P(B);_P(C);_P(D);u=w;return j|0}while(0);c=Ya()|0;i=I;_P(t);break a}while(0);c=Ya()|0;i=I;_P(r)}while(0);aG(z)}k=i}while(0);EA(y+12|0,f[l>>2]|0);i=f[y>>2]|0;if(i|0){j=f[m>>2]|0;if((j|0)!=(i|0)){do{z=j+-16|0;f[m>>2]=z;_P(j+-8|0);_P(z);j=f[m>>2]|0}while((j|0)!=(i|0));i=f[y>>2]|0}Hta(i)}_P(B)}while(0);if((A|0)==78)if((b[n>>0]|0)<0)Hta(f[z>>2]|0);_P(C)}while(0);if((A|0)==67)if((b[n>>0]|0)<0)Hta(f[B>>2]|0);_P(D);D=c;jb(D|0)}while(0);if((b[o>>0]|0)<0)Hta(f[C>>2]|0);D=c;jb(D|0);return 0}function Of(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;p=0;D=u;u=u+224|0;z=D+40|0;C=D;E=D+208|0;r=D+200|0;w=D+160|0;A=D+144|0;v=D+104|0;y=D+92|0;B=D+80|0;s=c+64|0;t=c+68|0;d=f[s>>2]|0;q=(f[t>>2]|0)-d>>3;if(q>>>0>1){h=c+64|0;e=f[d+4>>2]|0;if(!e)p=4;else if((f[343]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0))d=0;else p=4;do if((p|0)==4){g=q+-1|0;d=f[d+(g<<3)+4>>2]|0;if(d|0)if((f[343]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){d=0;break}i=$7(e)|0;if(!i)d=0;else{j=$7(f[(f[h>>2]|0)+(g<<3)+4>>2]|0)|0;if(!j)d=0;else{e=j+64|0;k=b[e+11>>0]|0;l=k<<24>>24<0;if(l)d=f[j+68>>2]|0;else d=k&255;if(!d)d=0;else{g=i+64|0;i=(b[g+11>>0]|0)<0;if(i)d=f[g>>2]|0;else d=g;if((b[d>>0]|0)==34){if(l){d=f[j+68>>2]|0;h=f[e>>2]|0}else{d=k&255;h=e}d=(b[h+(d+-1)>>0]|0)==34&1}else d=0;if(i)g=f[g>>2]|0;if((b[g>>0]|0)==39){if(l){g=f[j+68>>2]|0;e=f[e>>2]|0}else g=k&255;d=(b[e+(g+-1)>>0]|0)==39?1:d}}}}d=(d&1)!=0}while(0);f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;e=E+11|0;l=E;p=31}else{e=E+11|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;if(!q){l=E;p=32}else{d=0;l=E;p=31}}a:do if((p|0)==31){m=c+64|0;n=a+8|0;o=z+4|0;k=0;j=0;h=0;while(1){i=f[(f[m>>2]|0)+(k<<3)+4>>2]|0;if(!i)g=0;else g=(f[343]|0)==(f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0)?i:0;g=(g|0)==0;if(h)if(j|(b[i+54>>0]|0)!=0)p=39;else{x=0;sa(991,E|0,53148)|0;j=x;x=0;if(j&1){p=38;break}}else p=39;if((p|0)==39){p=0;if(!((k|0)==0|g))if(!(j|(b[i+54>>0]|0)!=0)){x=0;sa(991,E|0,53148)|0;j=x;x=0;if(j&1){p=38;break}}}g=f[(f[m>>2]|0)+(k<<3)+4>>2]|0;x=0;g=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a|0)|0;j=x;x=0;if(j&1){p=49;break}x=0;Ga(462,z|0,g|0);j=x;x=0;if(j&1){p=49;break}f[z>>2]=7696;g=f[n>>2]|0;x=0;Ga(462,r|0,f[o>>2]|0);j=x;x=0;if(j&1){p=50;break}f[r>>2]=7696;x=0;La(24,a|0,g|0,E|0,r|0,d|0,(b[(f[o>>2]|0)+54>>0]|0)!=0|0);j=x;x=0;if(j&1){p=51;break}_P(r);g=f[(f[m>>2]|0)+(k<<3)+4>>2]|0;if(!g)h=0;else h=(f[343]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;j=(b[g+54>>0]|0)!=0;_P(z);k=k+1|0;if(k>>>0>=q>>>0){p=32;break a}else h=(h|0)!=0}if((p|0)==38){d=Ya()|0;break}else if((p|0)==49)d=Ya()|0;else if((p|0)==50){d=Ya()|0;p=52}else if((p|0)==51){d=Ya()|0;_P(r);p=52}if((p|0)==52)_P(z)}while(0);b:do if((p|0)==32){m=c+54|0;c:do if(!(b[m>>0]|0)){if((f[t>>2]|0)-(f[s>>2]|0)>>3>>>0>1){B=b[e>>0]|0;if(!((B<<24>>24<0?f[E+4>>2]|0:B&255)|0)){x=0;d=wa(21,E|0,0,-1,89823,0)|0;B=x;x=0;if(B&1){B=Za(0)|0;soa(B)}if(!d){x=0;d=qa(318,60)|0;C=x;x=0;if(!(C&1)){i=z;j=c+12|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);C=x;x=0;if(C&1){D=Ya()|0;Hta(d);d=D;break b}else{i=d+12|0;j=z;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=13152;f[d+56>>2]=8;break}}}else p=64}else p=64}else p=64;if((p|0)==64){x=0;g=qa(318,80)|0;B=x;x=0;if(!(B&1)){i=w;j=c+12|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(459,A|0,E|0);B=x;x=0;if(B&1)d=Ya()|0;else{d=b[c+80>>0]|0;i=C;j=w;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,g|0);B=x;x=0;do if(B&1)d=Ya()|0;else{d=d<<24>>24!=0;i=g+12|0;j=C;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=4;f[g>>2]=11668;b[g+60>>0]=0;b[g+61>>0]=0;x=0;Ia(101,g+64|0,A|0,d|0);C=x;x=0;if(C&1){d=Ya()|0;break}f[g+76>>2]=0;if((b[A+11>>0]|0)>=0){d=g;break c}Hta(f[A>>2]|0);d=g;break c}while(0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0)}Hta(g);break b}}d=Ya()|0;break b}else{x=0;h=qa(318,80)|0;A=x;x=0;d:do if(A&1)d=Ya()|0;else{i=v;j=c+12|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(459,y|0,E|0);A=x;x=0;do if(A&1)d=Ya()|0;else{d=(b[c+80>>0]|0)!=0;x=0;i=z;j=v;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Na(1,h|0,z|0,y|0,0,0,0,0,d|0);A=x;x=0;if(A&1)g=1;else{x=0;Ga(462,C|0,h|0);A=x;x=0;if(A&1)g=0;else{f[C>>2]=17048;if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);g=C+4|0;h=f[g>>2]|0;d=h+60|0;e:do if(!(b[d>>0]|0)){if(!(b[a+17>>0]|0)){d=h+64|0;x=0;Ga(648,B|0,d|0);A=x;x=0;do if(A&1)d=Ya()|0;else{f[h+76>>2]=0;x=0;sa(986,d|0,B|0)|0;A=x;x=0;if(A&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}else{if((b[B+11>>0]|0)>=0)break e;Hta(f[B>>2]|0);break e}}while(0);_P(C);break d}}else b[d>>0]=42;while(0);d=f[g>>2]|0;b[d+54>>0]=b[m>>0]|0;if(!d)d=0;else b[d+8>>0]=1;_P(C);break c}}d=Ya()|0;if((b[y+11>>0]|0)<0){Hta(f[y>>2]|0);if(g)break;else break d}else if(g)break;else break d}while(0);Hta(h)}while(0);break b}while(0);if((b[e>>0]|0)>=0){u=D;return d|0}Hta(f[E>>2]|0);u=D;return d|0}while(0);if((b[e>>0]|0)>=0)jb(d|0);Hta(f[E>>2]|0);jb(d|0);return 0}function Pf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;A=0;y=u;u=u+192|0;w=y+172|0;z=y+160|0;E=y+16|0;B=y;F=E+64|0;e=E+8|0;f[e>>2]=16496;D=E+12|0;f[E>>2]=2284;f[F>>2]=2304;f[E+4>>2]=0;x=0;Ga(531,E+64|0,D|0);C=x;x=0;if(C&1){E=Ya()|0;uma(F);jb(E|0)}f[E+136>>2]=0;f[E+140>>2]=-1;f[E>>2]=16476;f[F>>2]=16516;f[e>>2]=16496;x=0;Fa(437,D|0);C=x;x=0;do if(C&1)e=Ya()|0;else{f[D>>2]=16336;C=E+44|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[E+60>>2]=24;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;Ga(532,D|0,w|0);v=x;x=0;if(v&1){e=Ya()|0;if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);Bca(D);break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);x=0;Fa(440,B|0);v=x;x=0;if(v&1)e=Ya()|0;else{e=f[c>>2]|0;g=(f[c+4>>2]|0)-e|0;a:do if(!g){h=E+8|0;i=h;e=h;g=h;A=20}else{s=w+11|0;v=E+8|0;n=d+11|0;o=d+4|0;t=z+11|0;p=z+4|0;q=w+8|0;r=w+4|0;g=((g|0)/52|0)+-1|0;i=f[e+(g*52|0)+12>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;h=hL(i)|0;b:do if(h>>>0>4294967279)A=27;else{m=g;k=1;l=e+(g*52|0)|0;j=h;while(1){if(j>>>0<11){b[s>>0]=j;if(!j)g=w;else{g=w;A=32}}else{h=j+16&-16;x=0;g=qa(318,h|0)|0;A=x;x=0;if(A&1){A=42;break b}f[w>>2]=g;f[q>>2]=h|-2147483648;f[r>>2]=j;A=32}if((A|0)==32){A=0;Lu(g|0,i|0,j|0)|0}b[g+j>>0]=0;x=0;Ja(17,z|0,w|0,B|0,B|0);j=x;x=0;if(j&1){A=43;break}if((b[s>>0]|0)<0)Hta(f[w>>2]|0);if(k){k=b[n>>0]|0;j=k<<24>>24<0;x=0;ta(44,v|0,(j?f[d>>2]|0:d)|0,(j?f[o>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){A=46;break}x=0;ta(44,v|0,52237,8)|0;k=x;x=0;if(k&1){A=46;break}x=0;sa(993,v|0,(f[l>>2]|0)+1|0)|0;l=x;x=0;if(l&1){A=46;break}x=0;e=ta(44,v|0,53449,4)|0;l=x;x=0;if(l&1){A=46;break}l=b[t>>0]|0;k=l<<24>>24<0;x=0;ta(44,e|0,(k?f[z>>2]|0:z)|0,(k?f[p>>2]|0:l&255)|0)|0;l=x;x=0;if(l&1){A=46;break}}else{j=e+(m*52|0)|0;h=j+40|0;k=b[h+11>>0]|0;i=k<<24>>24<0;x=0;ta(44,v|0,(i?f[h>>2]|0:h)|0,(i?f[j+44>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){A=46;break}x=0;Ga(536,w|0,v+(f[(f[v>>2]|0)+-12>>2]|0)|0);k=x;x=0;if(k&1){A=46;break}x=0;e=sa(994,w|0,83320)|0;k=x;x=0;if(k&1){A=53;break}x=0;e=sa(f[(f[e>>2]|0)+28>>2]|0,e|0,10)|0;k=x;x=0;if(k&1){A=53;break}uga(w);x=0;sa(1012,v|0,e|0)|0;k=x;x=0;if(k&1){A=46;break}x=0;qa(341,v|0)|0;k=x;x=0;if(k&1){A=46;break}k=b[n>>0]|0;j=k<<24>>24<0;x=0;ta(44,v|0,(j?f[d>>2]|0:d)|0,(j?f[o>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){A=46;break}x=0;ta(44,v|0,52246,10)|0;k=x;x=0;if(k&1){A=46;break}x=0;sa(993,v|0,(f[l>>2]|0)+1|0)|0;l=x;x=0;if(l&1){A=46;break}x=0;e=ta(44,v|0,53449,4)|0;l=x;x=0;if(l&1){A=46;break}l=b[t>>0]|0;k=l<<24>>24<0;x=0;ta(44,e|0,(k?f[z>>2]|0:z)|0,(k?f[p>>2]|0:l&255)|0)|0;l=x;x=0;if(l&1){A=46;break}}if((b[t>>0]|0)<0)Hta(f[z>>2]|0);if(!m){i=v;e=v;g=v;h=v;A=20;break a}e=f[c>>2]|0;g=m+-1|0;i=f[e+(g*52|0)+12>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;j=hL(i)|0;if(j>>>0>4294967279){A=27;break b}else{m=g;k=0;l=e+(g*52|0)|0}}if((A|0)==43){e=Ya()|0;if((b[s>>0]|0)>=0){A=45;break}Hta(f[w>>2]|0);A=45;break}else if((A|0)==46)e=Ya()|0;else if((A|0)==53){e=Ya()|0;uga(w)}if((b[t>>0]|0)<0)Hta(f[z>>2]|0)}while(0);if((A|0)==27){x=0;Fa(428,w|0);x=0;A=42}if((A|0)==42){e=Ya()|0;A=45}}while(0);if((A|0)==20){x=0;Ga(536,z|0,g+(f[(f[e>>2]|0)+-12>>2]|0)|0);w=x;x=0;do if(w&1)A=72;else{x=0;e=sa(994,z|0,83320)|0;w=x;x=0;if(!(w&1)){x=0;e=sa(f[(f[e>>2]|0)+28>>2]|0,e|0,10)|0;w=x;x=0;if(!(w&1)){uga(z);x=0;sa(1012,i|0,e|0)|0;A=x;x=0;if(A&1){A=72;break}x=0;qa(341,i|0)|0;A=x;x=0;if(A&1){A=72;break}x=0;Ga(533,a|0,D|0);A=x;x=0;if(A&1){A=72;break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);f[E>>2]=16476;f[F>>2]=16516;f[h>>2]=16496;f[D>>2]=16336;if((b[C+11>>0]|0)>=0){Bca(D);KU(E,16528);uma(F);u=y;return}Hta(f[C>>2]|0);Bca(D);KU(E,16528);uma(F);u=y;return}}e=Ya()|0;uga(z)}while(0);if((A|0)==72)e=Ya()|0}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}f[E>>2]=16476;f[F>>2]=16516;f[E+8>>2]=16496;f[D>>2]=16336;if((b[C+11>>0]|0)>=0){Bca(D);KU(E,16528);uma(F);jb(e|0)}Hta(f[C>>2]|0);Bca(D);KU(E,16528);uma(F);jb(e|0)}while(0);KU(E,16528);E=e;uma(F);jb(E|0)}function Qf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;y=0;C=u;u=u+16|0;B=C;r=B+4|0;s=B+4|0;t=B+4|0;v=B+4|0;w=B+4|0;a:while(1){q=b;z=b+-8|0;o=b+-16|0;A=b+-4|0;p=(B|0)==(z|0);while(1){n=a;b:while(1){m=n;a=q-m|0;d=a>>3;switch(d|0){case 2:{y=5;break a}case 3:{y=18;break a}case 4:{y=19;break a}case 5:{y=20;break a}case 1:case 0:{y=108;break a}default:{}}if((a|0)<56){y=22;break a}g=(d|0)/2|0;j=n+(g<<3)|0;if((a|0)>7992){a=(d|0)/4|0;a=tk(n,n+(a<<3)|0,j,j+(a<<3)|0,z,c)|0}else a=Lj(n,j,z,c)|0;k=n+4|0;d=f[k>>2]|0;if(d|0){e=f[n+(g<<3)+4>>2]|0;if(e|0)if(Tt(d,e)|0){d=z;break}}if((n|0)!=(o|0)){i=n+(g<<3)+4|0;d=z;h=o;while(1){d=d+-4|0;e=f[d>>2]|0;if(e|0){g=f[i>>2]|0;if(g|0)if(Tt(e,g)|0){y=65;break b}}d=h+-8|0;if((n|0)==(d|0))break;else{l=h;h=d;d=l}}}a=n+8|0;d=f[k>>2]|0;if(!d)y=34;else{e=f[A>>2]|0;if(!e)y=34;else if(!(Tt(d,e)|0))y=34}if((y|0)==34){y=0;if((a|0)==(z|0)){y=108;break a}while(1){d=f[k>>2]|0;if(d|0){e=a+4|0;g=f[e>>2]|0;if(g|0)if(Tt(d,g)|0)break}a=a+8|0;if((a|0)==(z|0)){y=108;break a}}qV(B,f[e>>2]|0);f[B>>2]=13852;if(f[e>>2]|0){x=0;Fa(429,a|0);n=x;x=0;if(n&1){y=42;break a}}f[e>>2]=f[A>>2];f[A>>2]=0;if(!p){f[A>>2]=f[s>>2];f[s>>2]=0}_P(B);a=a+8|0}if((a|0)==(z|0)){y=108;break a}else g=z;while(1){while(1){d=f[k>>2]|0;if(d|0){i=a+4|0;e=f[i>>2]|0;if(e|0)if(Tt(d,e)|0){d=g;break}}a=a+8|0}while(1){h=d+-8|0;e=f[k>>2]|0;if(!e)break;g=f[d+-4>>2]|0;if(!g)break;if(Tt(e,g)|0)d=h;else break}if(a>>>0>=h>>>0){n=a;continue b}qV(B,f[i>>2]|0);f[B>>2]=13852;if(f[i>>2]|0){x=0;Fa(429,a|0);n=x;x=0;if(n&1){y=59;break a}}d=d+-4|0;f[i>>2]=f[d>>2];f[d>>2]=0;if((B|0)!=(h|0)){f[d>>2]=f[r>>2];f[r>>2]=0}_P(B);g=h;a=a+8|0}}if((y|0)==65){y=0;qV(B,f[k>>2]|0);f[B>>2]=13852;if(f[k>>2]|0){x=0;Fa(429,n|0);l=x;x=0;if(l&1){y=69;break a}}f[k>>2]=f[d>>2];f[d>>2]=0;if((B|0)!=(h|0)){f[d>>2]=f[w>>2];f[w>>2]=0}_P(B);d=h;a=a+1|0}e=n+8|0;c:do if(e>>>0>>0){l=j;while(1){k=l+4|0;i=e+4|0;g=f[i>>2]|0;d:do if(g)while(1){h=f[k>>2]|0;if(!h)break d;if(!(Tt(g,h)|0))break d;h=e+8|0;i=e+12|0;g=f[i>>2]|0;if(!g){e=h;break}else e=h}while(0);while(1){g=d;d=d+-8|0;g=g+-4|0;h=f[g>>2]|0;if(!h)continue;j=f[k>>2]|0;if(!j)continue;if(Tt(h,j)|0)break}if(e>>>0>d>>>0){i=l;j=e;break c}qV(B,f[i>>2]|0);f[B>>2]=13852;if((e|0)!=(d|0)){if(f[i>>2]|0){x=0;Fa(429,e|0);k=x;x=0;if(k&1){y=89;break a}}f[i>>2]=f[g>>2];f[g>>2]=0}if((B|0)!=(d|0)){if(f[g>>2]|0){x=0;Fa(429,d|0);k=x;x=0;if(k&1){y=89;break a}}f[g>>2]=f[v>>2];f[v>>2]=0}_P(B);l=(l|0)==(e|0)?d:l;e=e+8|0;a=a+1|0}}else{i=j;j=e}while(0);if((j|0)!=(i|0)){d=i+4|0;e=f[d>>2]|0;if(e){g=j+4|0;h=f[g>>2]|0;if(h)if(Tt(e,h)|0){qV(B,f[g>>2]|0);f[B>>2]=13852;if(f[g>>2]|0){x=0;Fa(429,j|0);l=x;x=0;if(l&1){y=99;break a}}f[g>>2]=f[d>>2];f[d>>2]=0;if((B|0)!=(i|0)){f[d>>2]=f[t>>2];f[t>>2]=0}_P(B);a=a+1|0}}}if(!a){d=Lk(n,j,c)|0;a=j+8|0;if(Lk(a,b,c)|0){y=107;break}if(d)continue}l=j;if((l-m|0)>=(q-l|0)){y=106;break}Qf(n,j,c);a=j+8|0}if((y|0)==106){y=0;Qf(j+8|0,b,c);a=n;b=j;continue}else if((y|0)==107){y=0;if(d){y=108;break}else{a=n;b=j;continue}}}switch(y|0){case 5:{a=f[A>>2]|0;if(!a){u=C;return}b=n+4|0;d=f[b>>2]|0;if(!d){u=C;return}if(!(Tt(a,d)|0)){u=C;return}qV(B,f[b>>2]|0);f[B>>2]=13852;if((n|0)!=(z|0)){if(f[b>>2]|0){x=0;Fa(429,n|0);y=x;x=0;if(y&1){C=Ya()|0;_P(B);jb(C|0)}}f[b>>2]=f[A>>2];f[A>>2]=0}if((B|0)!=(z|0)){if(f[A>>2]|0){x=0;Fa(429,z|0);z=x;x=0;if(z&1){C=Ya()|0;_P(B);jb(C|0)}}z=B+4|0;f[A>>2]=f[z>>2];f[z>>2]=0}_P(B);u=C;return}case 18:{Lj(n,n+8|0,z,c)|0;u=C;return}case 19:{Fm(n,n+8|0,n+16|0,z,c)|0;u=C;return}case 20:{tk(n,n+8|0,n+16|0,n+24|0,z,c)|0;u=C;return}case 22:{Ur(n,b,c);u=C;return}case 42:{C=Ya()|0;_P(B);jb(C|0)}case 59:{C=Ya()|0;_P(B);jb(C|0)}case 69:{C=Ya()|0;_P(B);jb(C|0)}case 89:{C=Ya()|0;_P(B);jb(C|0)}case 99:{C=Ya()|0;_P(B);jb(C|0)}case 108:{u=C;return}}}function Rf(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,v=0,w=0,y=0,z=0,A=0,B=0;z=u;u=u+160|0;A=z+56|0;B=z;s=z+120|0;o=z+144|0;v=z+128|0;y=z+104|0;t=z+96|0;n=f[c+80>>2]|0;if((n|0)!=2){if(b[c+53>>0]|0){B=c;u=z;return B|0}o=VN(88)|0;h=c+64|0;m=c+68|0;d=f[m>>2]|0;e=f[h>>2]|0;k=b[c+84>>0]|0;l=b[c+85>>0]|0;p=A;q=c+12|0;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));x=0;Fa(427,o|0);y=x;x=0;a:do if(y&1){d=Ya()|0;w=76}else{g=d-e>>3;p=o+12|0;q=A;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;d=o+56|0;f[d>>2]=0;f[o>>2]=6516;e=o+60|0;f[e>>2]=9660;i=o+64|0;j=o+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,g|0);A=x;x=0;if(A&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{B=g+-8|0;f[j>>2]=B;Kc[f[f[B>>2]>>2]&511](B);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}w=76;break}f[o>>2]=9488;f[e>>2]=9620;f[o+80>>2]=n;b[o+84>>0]=k;b[o+85>>0]=l;b[o+86>>0]=0;f[d>>2]=5;qV(B,o);f[B>>2]=7584;g=f[h>>2]|0;j=(f[m>>2]|0)-g>>3;k=B+4|0;d=f[k>>2]|0;b:do if(j){l=c+64|0;e=0;while(1){h=d+60|0;i=f[(f[h>>2]|0)+20>>2]|0;d=f[g+(e<<3)+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;A=x;x=0;if(A&1){w=77;break}x=0;Ga(462,t|0,d|0);A=x;x=0;if(A&1){w=77;break}f[t>>2]=7696;x=0;Ga(i|0,h|0,t|0);A=x;x=0;if(A&1){w=83;break}_P(t);e=e+1|0;d=f[k>>2]|0;if(e>>>0>=j>>>0)break b;g=f[l>>2]|0}if((w|0)==77)d=Ya()|0;else if((w|0)==83){d=Ya()|0;_P(t)}_P(B);break a}while(0);b[d+54>>0]=b[c+54>>0]|0;b[d+86>>0]=b[c+86>>0]|0;b[d+53>>0]=1;if(!d)d=0;else b[d+8>>0]=1;_P(B);B=d;u=z;return B|0}while(0);if((w|0)==76)Hta(o);B=d;jb(B|0)}j=VN(108)|0;n=c+12|0;h=c+64|0;i=c+68|0;d=f[i>>2]|0;e=f[h>>2]|0;p=B;q=n;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));x=0;Fa(427,j|0);w=x;x=0;do if(w&1){d=Ya()|0;w=9}else{g=d-e>>3>>>1;p=j+12|0;q=B;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;d=j+56|0;f[d>>2]=0;f[j>>2]=6516;e=j+60|0;x=0;Ga(560,e|0,g|0);w=x;x=0;if(w&1){d=Ya()|0;w=9;break}f[j>>2]=9700;f[e>>2]=9828;f[d>>2]=6;qV(A,j);f[A>>2]=16784;e=f[h>>2]|0;g=(f[i>>2]|0)-e>>3;c:do if(!g){k=A+4|0;w=28}else{h=c+64|0;i=B+4|0;k=A+4|0;j=o+8|0;l=s+4|0;m=o+8|0;d=0;while(1){e=f[e+(d<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;w=x;x=0;if(w&1){w=20;break}x=0;Ga(462,B|0,e|0);w=x;x=0;if(w&1){w=20;break}f[B>>2]=7696;e=f[(f[h>>2]|0)+((d|1)<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;w=x;x=0;if(w&1){w=21;break}x=0;Ga(462,s|0,e|0);w=x;x=0;if(w&1){w=21;break}f[s>>2]=7696;w=f[i>>2]|0;b[w+52>>0]=1;e=f[k>>2]|0;x=0;Ga(462,o|0,w|0);w=x;x=0;if(w&1){w=22;break}f[o>>2]=7696;x=0;Ga(462,j|0,f[l>>2]|0);w=x;x=0;if(w&1){w=16;break}f[j>>2]=7696;x=0;sa(1007,e+60|0,o|0)|0;w=x;x=0;if(w&1){w=24;break}_P(m);_P(o);_P(s);_P(B);d=d+2|0;if(d>>>0>=g>>>0){w=28;break c}e=f[h>>2]|0}if((w|0)==16){d=Ya()|0;_P(o);w=23}else if((w|0)==20)d=Ya()|0;else if((w|0)==21){d=Ya()|0;w=26}else if((w|0)==22){d=Ya()|0;w=23}else if((w|0)==24){d=Ya()|0;_P(m);_P(o);w=25}if((w|0)==23)w=25;if((w|0)==25){_P(s);w=26}if((w|0)==26)_P(B)}while(0);d:do if((w|0)==28){d=f[k>>2]|0;if(!(f[d+104>>2]|0)){b[d+54>>0]=b[c+54>>0]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;B=x;x=0;if(B&1){d=Ya()|0;break}_P(A);B=d;u=z;return B|0}i=a+12|0;h=f[i>>2]|0;j=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;p=B;q=n;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));g=B+40|0;x=0;Ga(459,g|0,v|0);z=x;x=0;do if(z&1)d=Ya()|0;else{d=h+4|0;e=f[d>>2]|0;if(e>>>0<(f[h+8>>2]|0)>>>0){p=e;q=B;r=p+40|0;do{f[p>>2]=f[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));B=e+40|0;f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,h|0,B|0);B=x;x=0;if(B&1){d=Ya()|0;if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}}if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);if((b[j>>0]|0)<0)Hta(f[v>>2]|0);l=Ta(92)|0;x=0;Ga(511,y|0,f[i>>2]|0);B=x;x=0;do if(B&1)d=Ya()|0;else{x=0;Ja(44,l|0,y|0,f[k>>2]|0,c|0);B=x;x=0;if(B&1)k=1;else{x=0;Ia(77,l|0,3912,181);x=0;k=0}d=Ya()|0;i=I;e=f[y>>2]|0;if(!e)if(k)break;else break d;j=y+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[y>>2]|0}Hta(e);if(!k)break d}while(0);bb(l|0);break d}while(0);if((b[j>>0]|0)<0)Hta(f[v>>2]|0)}while(0);_P(A)}while(0);if((w|0)==9)Hta(j);B=d;jb(B|0);return 0}function Sf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;D=0;A=u;u=u+208|0;B=A+40|0;r=A;n=A+192|0;k=A+152|0;q=A+136|0;h=A+128|0;s=A+120|0;v=A+112|0;w=A+96|0;z=A+88|0;t=A+80|0;C=VN(88)|0;y=c+108|0;i=r;l=y;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));x=0;Fa(427,C|0);p=x;x=0;do if(p&1)d=Ya()|0;else{i=C+12|0;l=r;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));b[C+52>>0]=0;b[C+53>>0]=0;b[C+54>>0]=0;d=C+56|0;f[C>>2]=11536;f[d>>2]=4;p=C+60|0;f[p>>2]=9660;i=C+64|0;j=C+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,3);o=x;x=0;if(o&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{D=g+-8|0;f[j>>2]=D;Kc[f[f[D>>2]>>2]&511](D);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[C>>2]=11364;f[p>>2]=11496;b[C+80>>0]=1;f[C+84>>2]=0;f[d>>2]=4;a:do if(!(gx(c,1,0)|0)){yu(c,1,0)|0;d=f[(f[p>>2]|0)+20>>2]|0;e=VN(80)|0;g=c+168|0;x=0;i=B;l=y;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));Ja(29,e|0,B|0,g|0,1);r=x;x=0;if(r&1){D=Ya()|0;Hta(e);jb(D|0)}qV(h,e);f[h>>2]=7696;x=0;Ga(d|0,p|0,h|0);r=x;x=0;if(!(r&1)){_P(h);j=p;k=p;break}D=Ya()|0;_P(h);jb(D|0)}else{j=f[(f[p>>2]|0)+20>>2]|0;o=VN(72)|0;i=k;l=y;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,r|0);x=0;D=32}else{if(i>>>0<11){b[r+11>>0]=i;d=r}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;m=x;x=0;if(m&1){D=32;break}f[r>>2]=d;f[r+8>>2]=g|-2147483648;f[r+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,q|0,r|0);m=x;x=0;if(m&1){d=Ya()|0;e=1}else{i=B;l=k;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));x=0;Fa(427,o|0);m=x;x=0;do if(m&1){d=1;D=34}else{i=o+12|0;l=B;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;d=o+56|0;f[d>>2]=0;f[o>>2]=10992;x=0;Ga(459,o+60|0,q|0);m=x;x=0;if(m&1){d=Ya()|0;e=1;D=35;break}f[d>>2]=13;x=0;Ga(462,n|0,o|0);m=x;x=0;if(m&1){d=0;D=34}else{f[n>>2]=7696;x=0;Ga(j|0,p|0,n|0);m=x;x=0;if(m&1){d=Ya()|0;_P(n);e=0;break}_P(n);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);j=p;g=c+168|0;k=p;break a}}while(0);if((D|0)==34){C=Ya()|0;e=d;d=C;D=35}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}if((b[r+11>>0]|0)<0){Hta(f[r>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((D|0)==32)d=Ya()|0;Hta(o);D=d;jb(D|0)}while(0);jv(c,1,0)|0;d=f[(f[j>>2]|0)+20>>2]|0;e=VN(80)|0;x=0;i=B;l=y;m=i+40|0;do{f[i>>2]=f[l>>2];i=i+4|0;l=l+4|0}while((i|0)<(m|0));Ja(29,e|0,B|0,g|0,1);r=x;x=0;if(r&1){D=Ya()|0;Hta(e);jb(D|0)}qV(s,e);f[s>>2]=7696;x=0;Ga(d|0,k|0,s|0);r=x;x=0;if(r&1){D=Ya()|0;_P(s);jb(D|0)}_P(s);d=c+76|0;s=f[d>>2]|0;e=VX(s)|0;s=PO(e|0?e:s)|0;e=c+80|0;if(!((s|0)==0?1:s>>>0>(f[e>>2]|0)>>>0)){D=f[(f[j>>2]|0)+20>>2]|0;Tq(v,c,0);x=0;Ga(D|0,k|0,v|0);D=x;x=0;if(D&1){D=Ya()|0;_P(v);jb(D|0)}else{_P(v);qV(a,C);f[a>>2]=7904;u=A;return}}if(!(wx(c,1,0)|0)){D=f[d>>2]|0;B=VX(D)|0;D=Rt(B|0?B:D)|0;if((D|0)==0?1:D>>>0>(f[e>>2]|0)>>>0){qV(a,C);f[a>>2]=7904;u=A;return}D=f[(f[j>>2]|0)+20>>2]|0;Tq(t,c,0);x=0;Ga(D|0,k|0,t|0);D=x;x=0;if(D&1){D=Ya()|0;_P(t);jb(D|0)}else{_P(t);qV(a,C);f[a>>2]=7904;u=A;return}}e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{c=i+16&-16;d=VN(c)|0;f[B>>2]=d;f[B+8>>2]=c|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(598,w|0,B|0);c=x;x=0;do if(c&1)D=74;else{if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);e=f[(f[j>>2]|0)+20>>2]|0;x=0;d=sa(1026,y|0,B|0)|0;y=x;x=0;if(y&1)D=74;else{x=0;Ga(462,z|0,d|0);y=x;x=0;if(y&1)D=74;else{f[z>>2]=7696;x=0;Ga(e|0,k|0,z|0);y=x;x=0;if(y&1){d=Ya()|0;_P(z);break}_P(z);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);qV(a,C);f[a>>2]=7904;u=A;return}}}while(0);if((D|0)==74)d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);D=d;jb(D|0)}while(0);Hta(C);D=d;jb(D|0)}function Tf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=0;D=u;u=u+32|0;y=D+4|0;o=D;B=a+8|0;j=f[B>>2]|0;C=a+4|0;d=f[C>>2]|0;i=((j|0)==(d|0)&1)+b|0;i=((i>>>0)/146|0)+(((i>>>0)%146|0|0)!=0&1)|0;w=a+16|0;e=f[w>>2]|0;k=(e>>>0)/146|0;b=i>>>0>>0?i:k;c=i-b|0;h=j;if(!c){z=(X(b,-146)|0)+e|0;f[w>>2]=z;if(!b){u=D;return}m=a+12|0;a:while(1){l=f[d>>2]|0;k=d+4|0;f[C>>2]=k;z=f[m>>2]|0;e=z;do if((j|0)==(z|0)){d=f[a>>2]|0;c=d;if(k>>>0>d>>>0){d=k;g=((d-c>>2)+1|0)/-2|0;h=k+(g<<2)|0;c=e-d|0;d=c>>2;if(!d)c=k;else{DP(h|0,k|0,c|0)|0;c=f[C>>2]|0}z=h+(d<<2)|0;f[B>>2]=z;f[C>>2]=c+(g<<2);c=z;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823)break a;g=VN(c<<2)|0;h=g;e=g+(c>>>2<<2)|0;i=e;g=g+(c<<2)|0;if((k|0)==(j|0))c=i;else{c=i;d=k;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0));d=f[a>>2]|0}f[a>>2]=h;f[C>>2]=i;f[B>>2]=c;f[m>>2]=g;if(d){Hta(d);c=f[B>>2]|0}}else c=j;while(0);f[c>>2]=l;c=(f[B>>2]|0)+4|0;f[B>>2]=c;b=b+-1|0;if(!b){A=91;break}d=f[C>>2]|0;j=c}if((A|0)==91){u=D;return}b=Ta(8)|0;x=0;Ga(461,b|0,60050);D=x;x=0;if(D&1){D=Ya()|0;bb(b|0);jb(D|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}z=a+12|0;e=f[z>>2]|0;g=e-(f[a>>2]|0)|0;d=h-d>>2;if(c>>>0<=((g>>2)-d|0)>>>0){b:do if((e|0)==(h|0)){n=c;A=23}else{while(1){v=VN(4088)|0;f[y>>2]=v;Yt(a,y);c=c+-1|0;if(!c)break;if((f[z>>2]|0)==(f[B>>2]|0)){n=c;A=23;break b}}m=b;l=f[w>>2]|0}while(0);if((A|0)==23){c=~(i>>>0>k>>>0?k:i);b=n;do{d=VN(4088)|0;f[y>>2]=d;Ct(a,y);b=b+-1|0;d=(f[w>>2]|0)+146+((((f[B>>2]|0)-(f[C>>2]|0)|0)==4)<<31>>31)|0;f[w>>2]=d}while((b|0)!=0);m=n+-1-c|0;l=d}y=l+(X(m,-146)|0)|0;f[w>>2]=y;if(!m){u=D;return}k=m;g=f[B>>2]|0;c:while(1){j=f[C>>2]|0;l=f[j>>2]|0;j=j+4|0;f[C>>2]=j;y=f[z>>2]|0;d=y;do if((g|0)==(y|0)){c=f[a>>2]|0;b=c;if(j>>>0>c>>>0){c=j;e=((c-b>>2)+1|0)/-2|0;g=j+(e<<2)|0;b=d-c|0;c=b>>2;if(!c)b=j;else{DP(g|0,j|0,b|0)|0;b=f[C>>2]|0}y=g+(c<<2)|0;f[B>>2]=y;f[C>>2]=b+(e<<2);b=y;break}b=d-b>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823)break c;e=VN(b<<2)|0;h=e;d=e+(b>>>2<<2)|0;i=d;e=e+(b<<2)|0;if((j|0)==(g|0))b=i;else{b=i;c=j;do{f[d>>2]=f[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(g|0));c=f[a>>2]|0}f[a>>2]=h;f[C>>2]=i;f[B>>2]=b;f[z>>2]=e;if(c){Hta(c);b=f[B>>2]|0}}else b=g;while(0);f[b>>2]=l;g=(f[B>>2]|0)+4|0;f[B>>2]=g;k=k+-1|0;if(!k){A=91;break}}if((A|0)==91){u=D;return}b=Ta(8)|0;x=0;Ga(461,b|0,60050);D=x;x=0;if(D&1){D=Ya()|0;bb(b|0);jb(D|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}g=g>>1;A=d+c|0;g=g>>>0>>0?A:g;d=d-b|0;f[y+12>>2]=0;f[y+16>>2]=a+12;do if(!g)e=0;else{if(g>>>0<=1073741823){e=VN(g<<2)|0;break}b=Ta(8)|0;x=0;Ga(461,b|0,60050);D=x;x=0;if(D&1){D=Ya()|0;bb(b|0);jb(D|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}while(0);f[y>>2]=e;q=e+(d<<2)|0;s=y+8|0;f[s>>2]=q;r=y+4|0;f[r>>2]=q;q=y+12|0;f[q>>2]=e+(g<<2);while(1){x=0;d=qa(318,4088)|0;A=x;x=0;if(A&1){A=57;break}f[o>>2]=d;x=0;Ga(517,y|0,o|0);A=x;x=0;if(A&1){A=57;break}c=c+-1|0;if(!c){A=52;break}}d:do if((A|0)==52){e:do if(b|0){m=b;j=f[s>>2]|0;n=f[C>>2]|0;f:while(1){p=f[q>>2]|0;d=p;do if((j|0)==(p|0)){l=f[r>>2]|0;k=f[y>>2]|0;c=k;if(l>>>0>k>>>0){p=l;e=((p-c>>2)+1|0)/-2|0;g=l+(e<<2)|0;c=d-p|0;d=c>>2;if(!d)c=l;else{DP(g|0,l|0,c|0)|0;c=f[r>>2]|0}p=g+(d<<2)|0;f[s>>2]=p;f[r>>2]=c+(e<<2);c=p;break}c=d-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){A=66;break f}x=0;d=qa(318,c<<2|0)|0;p=x;x=0;if(p&1){A=75;break f}h=d;e=d+(c>>>2<<2)|0;i=e;g=d+(c<<2)|0;if((l|0)==(j|0))c=i;else{c=i;d=l;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(j|0))}f[y>>2]=h;f[r>>2]=i;f[s>>2]=c;f[q>>2]=g;if(k){Hta(k);c=f[s>>2]|0}}else c=j;while(0);f[c>>2]=f[n>>2];j=(f[s>>2]|0)+4|0;f[s>>2]=j;n=(f[C>>2]|0)+4|0;f[C>>2]=n;m=m+-1|0;if(!m)break e}do if((A|0)==66){b=Ta(8)|0;x=0;Ga(461,b|0,60050);D=x;x=0;if(D&1){v=Ya()|0;bb(b|0);break}else{f[b>>2]=29784;x=0;Ia(77,b|0,6192,412);x=0;v=Ya()|0;break}}else if((A|0)==75)v=Ya()|0;while(0);p=v;break d}while(0);e=f[B>>2]|0;while(1){c=f[C>>2]|0;if((e|0)==(c|0))break;d=e+-4|0;x=0;Ga(518,y|0,d|0);v=x;x=0;if(v&1){A=85;break}else e=d}if((A|0)==85){p=Ya()|0;break}d=f[a>>2]|0;f[a>>2]=f[y>>2];f[y>>2]=d;f[C>>2]=f[r>>2];f[r>>2]=c;C=f[B>>2]|0;f[B>>2]=f[s>>2];f[s>>2]=C;B=f[z>>2]|0;f[z>>2]=f[q>>2];f[q>>2]=B;b=(f[w>>2]|0)+(X(b,-146)|0)|0;f[w>>2]=b;b=C;if((e|0)!=(b|0))f[s>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Hta(d);u=D;return}else if((A|0)==57){b=Za(0)|0;Ua(b|0)|0;b=f[r>>2]|0;if((b|0)!=(f[s>>2]|0))do{Hta(f[b>>2]|0);b=b+4|0}while((b|0)!=(f[s>>2]|0));x=0;Ea(3);x=0;b=Ya()|0;x=0;Ea(4);D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}else p=b}while(0);b=f[r>>2]|0;c=f[s>>2]|0;if((c|0)!=(b|0))f[s>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[y>>2]|0;if(!b)jb(p|0);Hta(b);jb(p|0)}function Uf(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.0,k=0,l=0.0,m=0.0,n=0.0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0;v=u;u=u+304|0;w=v+264|0;A=v+64|0;c=v+224|0;r=v+208|0;z=v;t=v+24|0;y=v+12|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;s=A+11|0;b[s>>0]=6;b[A>>0]=b[39245]|0;b[A+1>>0]=b[39246]|0;b[A+2>>0]=b[39247]|0;b[A+3>>0]=b[39248]|0;b[A+4>>0]=b[39249]|0;b[A+5>>0]=b[39250]|0;b[A+6>>0]=0;k=c;o=g;q=k+40|0;do{f[k>>2]=f[o>>2];k=k+4|0;o=o+4|0}while((k|0)<(q|0));x=0;Ga(511,r|0,h|0);q=x;x=0;do if(q&1)c=Ya()|0;else{x=0;k=w;o=c;q=k+40|0;do{f[k>>2]=f[o>>2];k=k+4|0;o=o+4|0}while((k|0)<(q|0));h=wa(26,A|0,a|0,e|0,w|0,r|0)|0;q=x;x=0;if(q&1){c=Ya()|0;h=I;i=f[r>>2]|0;if(!i)break;k=r+4|0;a=f[k>>2]|0;if((a|0)!=(i|0)){do{e=a+-52|0;f[k>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[k>>2]|0}else a=e}while((a|0)!=(i|0));i=f[r>>2]|0}Hta(i);break}c=f[r>>2]|0;if(c|0){e=r+4|0;i=f[e>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[A>>2]|0);l=+p[h+64>>3];l=l>255.0?255.0:l<0.0?0.0:l;m=+p[h+72>>3];m=m>255.0?255.0:m<0.0?0.0:m;n=+p[h+80>>3];n=n>255.0?255.0:n<0.0?0.0:n;j=+p[h+88>>3];j=j>1.0?255.0:(j<0.0?0.0:j)*255.0;s=A+64|0;c=A+8|0;f[c>>2]=16496;r=A+12|0;f[A>>2]=2284;f[s>>2]=2304;f[A+4>>2]=0;x=0;Ga(531,A+64|0,r|0);q=x;x=0;if(q&1){A=Ya()|0;uma(s);jb(A|0)}f[A+136>>2]=0;f[A+140>>2]=-1;f[A>>2]=16476;f[s>>2]=16516;f[c>>2]=16496;x=0;Fa(437,r|0);q=x;x=0;do if(q&1)c=Ya()|0;else{f[r>>2]=16336;h=A+44|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[A+60>>2]=24;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;Ga(532,r|0,w|0);q=x;x=0;if(q&1){c=Ya()|0;if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(r);break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);e=A+8|0;b[w>>0]=35;x=0;c=ta(44,e|0,w|0,1)|0;q=x;x=0;a:do if(q&1)c=Ya()|0;else{f[c+(f[(f[c>>2]|0)+-12>>2]|0)+12>>2]=2;f[c+(f[(f[c>>2]|0)+-12>>2]|0)+76>>2]=48;c=e+(f[(f[e>>2]|0)+-12>>2]|0)+4|0;f[c>>2]=f[c>>2]&-75|8;f[e+(f[(f[e>>2]|0)+-12>>2]|0)+12>>2]=2;c=d+16|0;x=0;j=+fa(1,+j,f[(f[c>>2]|0)+4>>2]|0);d=x;x=0;if(!(d&1)){x=0;sa(1001,e|0,~~j>>>0|0)|0;d=x;x=0;if(!(d&1)){d=e+(f[(f[e>>2]|0)+-12>>2]|0)+4|0;f[d>>2]=f[d>>2]&-75|8;f[e+(f[(f[e>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;j=+fa(1,+l,f[(f[c>>2]|0)+4>>2]|0);d=x;x=0;if(!(d&1)){x=0;sa(1001,e|0,~~j>>>0|0)|0;d=x;x=0;if(!(d&1)){d=e+(f[(f[e>>2]|0)+-12>>2]|0)+4|0;f[d>>2]=f[d>>2]&-75|8;f[e+(f[(f[e>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;j=+fa(1,+m,f[(f[c>>2]|0)+4>>2]|0);d=x;x=0;do if(!(d&1)){x=0;sa(1001,e|0,~~j>>>0|0)|0;d=x;x=0;if(d&1)break;d=e+(f[(f[e>>2]|0)+-12>>2]|0)+4|0;f[d>>2]=f[d>>2]&-75|8;f[e+(f[(f[e>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;j=+fa(1,+n,f[(f[c>>2]|0)+4>>2]|0);d=x;x=0;do if(!(d&1)){x=0;sa(1001,e|0,~~j>>>0|0)|0;d=x;x=0;if(d&1)break;x=0;Ga(533,z|0,r|0);d=x;x=0;do if(d&1)c=Ya()|0;else{a=z+11|0;c=b[a>>0]|0;i=c<<24>>24<0?f[z+4>>2]|0:c&255;do if(i|0){d=c<<24>>24<0?f[z>>2]|0:z;q=(Dma(b[d>>0]|0)|0)&255;b[d>>0]=q;if((i|0)==1)break;else c=1;do{d=((b[a>>0]|0)<0?f[z>>2]|0:z)+c|0;q=(Dma(b[d>>0]|0)|0)&255;b[d>>0]=q;c=c+1|0}while((c|0)!=(i|0))}while(0);x=0;i=qa(318,80)|0;d=x;x=0;if(d&1)c=Ya()|0;else{k=t;o=g;q=k+40|0;do{f[k>>2]=f[o>>2];k=k+4|0;o=o+4|0}while((k|0)<(q|0));x=0;Ga(459,y|0,z|0);g=x;x=0;do if(g&1)c=Ya()|0;else{x=0;k=w;o=t;q=k+40|0;do{f[k>>2]=f[o>>2];k=k+4|0;o=o+4|0}while((k|0)<(q|0));Na(1,i|0,w|0,y|0,0,0,0,1,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[a>>0]|0)<0)Hta(f[z>>2]|0);f[A>>2]=16476;f[s>>2]=16516;f[e>>2]=16496;f[r>>2]=16336;if((b[h+11>>0]|0)>=0){Bca(r);KU(A,16528);uma(s);u=v;return i|0}Hta(f[h>>2]|0);Bca(r);KU(A,16528);uma(s);u=v;return i|0}while(0);Hta(i)}if((b[a>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);break a}while(0);c=Ya()|0;break a}while(0);c=Ya()|0;break}}c=Ya()|0;break}}c=Ya()|0}while(0);f[A>>2]=16476;f[s>>2]=16516;f[e>>2]=16496;f[r>>2]=16336;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(r);KU(A,16528);uma(s);A=c;jb(A|0)}while(0);KU(A,16528);A=c;uma(s);jb(A|0)}while(0);if((b[s>>0]|0)<0)Hta(f[A>>2]|0);A=c;jb(A|0);return 0}function Vf(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;f[a>>2]=16264;q=a+228|0;s=a+232|0;c=f[q>>2]|0;if((f[s>>2]|0)!=(c|0)){d=0;do{$h(f[c+(d<<3)>>2]|0);$h(f[(f[q>>2]|0)+(d<<3)+4>>2]|0);d=d+1|0;c=f[q>>2]|0}while(d>>>0<(f[s>>2]|0)-c>>3>>>0)}p=a+216|0;r=a+220|0;c=f[p>>2]|0;if((f[r>>2]|0)!=(c|0)){d=0;do{$h(f[c+(d<<2)>>2]|0);d=d+1|0;c=f[p>>2]|0}while(d>>>0<(f[r>>2]|0)-c>>2>>>0)}n=a+276|0;o=a+280|0;c=f[o>>2]|0;m=f[n>>2]|0;d=m;a:do if((c|0)==(m|0)){g=c;h=d}else{e=0;c=d;while(1){x=0;qa(323,f[c+(e<<2)>>2]|0)|0;m=x;x=0;if(m&1)break;x=0;qa(324,f[(f[n>>2]|0)+(e<<2)>>2]|0)|0;m=x;x=0;if(m&1)break;x=0;Fa(434,f[(f[n>>2]|0)+(e<<2)>>2]|0);m=x;x=0;if(m&1)break;e=e+1|0;d=f[o>>2]|0;m=f[n>>2]|0;c=m;if(e>>>0>=d-m>>2>>>0){g=d;h=c;break a}}m=Za(0)|0;Aaa(a+472|0);Aaa(a+460|0);Aaa(a+448|0);Aaa(a+436|0);Aaa(a+424|0);Aaa(a+412|0);GR(a+400|0);FR(a+388|0);FR(a+376|0);gM(a+364|0);gM(a+352|0);gM(a+340|0);gM(a+328|0);gM(a+316|0);zL(a+300|0);UQ(a+288|0);QR(a+276|0);ZG(a+252|0);JO(a+240|0);HR(q);qS(a+216|0);EM(a+204|0);zM(a+72|0);ut(a+36|0);Aaa(a+20|0);Aaa(a+4|0);soa(m)}while(0);c=g;d=f[q>>2]|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-8-d|0)>>>3)<<3);if((h|0)!=(c|0))f[o>>2]=c+(~((c+-4-h|0)>>>2)<<2);l=a+252|0;d=f[l>>2]|0;m=a+256|0;c=f[m>>2]|0;if((c|0)!=(d|0))do{k=c+-16|0;f[m>>2]=k;_P(c+-8|0);_P(k);c=f[m>>2]|0}while((c|0)!=(d|0));j=a+264|0;i=a+268|0;EA(j,f[i>>2]|0);f[a+272>>2]=0;f[j>>2]=i;f[i>>2]=0;j=a+240|0;k=a+244|0;XE(j,f[k>>2]|0);f[a+248>>2]=0;f[j>>2]=k;f[k>>2]=0;c=a+472|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+460|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+448|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+436|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+424|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+412|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=f[a+400>>2]|0;if(c|0){d=a+404|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}c=f[a+388>>2]|0;if(c|0){d=a+392|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}c=f[a+376>>2]|0;if(c|0){d=a+380|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Hta(c)}e=a+364|0;c=f[e>>2]|0;if(c|0){g=a+368|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}e=a+352|0;c=f[e>>2]|0;if(c|0){g=a+356|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}e=a+340|0;c=f[e>>2]|0;if(c|0){g=a+344|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}e=a+328|0;c=f[e>>2]|0;if(c|0){g=a+332|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}e=a+316|0;c=f[e>>2]|0;if(c|0){g=a+320|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[g>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}g=a+300|0;c=f[g>>2]|0;if(c|0){h=a+304|0;d=f[h>>2]|0;if((d|0)!=(c|0)){do{e=d+-52|0;f[h>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[h>>2]|0}else d=e}while((d|0)!=(c|0));c=f[g>>2]|0}Hta(c)}c=f[a+288>>2]|0;if(c|0){d=a+292|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);Hta(c)}c=f[n>>2]|0;if(c|0){d=f[o>>2]|0;if((d|0)!=(c|0))f[o>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}EA(a+264|0,f[i>>2]|0);c=f[l>>2]|0;if(c|0){d=f[m>>2]|0;if((d|0)!=(c|0)){do{o=d+-16|0;f[m>>2]=o;_P(d+-8|0);_P(o);d=f[m>>2]|0}while((d|0)!=(c|0));c=f[l>>2]|0}Hta(c)}XE(j,f[k>>2]|0);c=f[q>>2]|0;if(c|0){d=f[s>>2]|0;if((d|0)!=(c|0))f[s>>2]=d+(~((d+-8-c|0)>>>3)<<3);Hta(c)}c=f[p>>2]|0;if(c|0){d=f[r>>2]|0;if((d|0)!=(c|0))f[r>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}e=a+204|0;c=f[e>>2]|0;if(c|0){g=a+208|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{s=d+-8|0;f[g>>2]=s;Kc[f[f[s>>2]>>2]&511](s);d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Hta(c)}zM(a+72|0);ut(a+36|0);c=a+20|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+4|0;if((b[c+11>>0]|0)>=0)return;Hta(f[c>>2]|0);return}function Wf(a,b){a=a|0;b=b|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;if((ec|0)==1)ec=3}Vc(hc+51992|0)}function Xf(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.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;A=0;G=u;u=u+512|0;D=G;E=d+c|0;F=0-E|0;B=a+4|0;C=a+100|0;j=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;o=j;p=0;n=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;b=h[b>>0]|0;j=1;continue}else{b=ID(a)|0;j=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;b=h[b>>0]|0}else b=ID(a)|0;if((b|0)==48){j=0;b=0;while(1){j=w7(j|0,b|0,-1,-1)|0;n=I;b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;b=h[b>>0]|0}else b=ID(a)|0;if((b|0)==48)b=n;else{v=1;o=1;p=j;break}}}else{v=1;o=j;p=0;n=0}}f[D>>2]=0;m=b+-48|0;k=(b|0)==46;b:do if(k|m>>>0<10){A=D+496|0;w=0;j=0;s=0;x=v;y=o;z=m;o=0;m=0;c:while(1){do if(k)if(!x){x=1;p=o;n=m}else break c;else{o=w7(o|0,m|0,1,0)|0;m=I;v=(b|0)!=48;if((j|0)>=125){if(!v)break;f[A>>2]=f[A>>2]|1;break}k=D+(j<<2)|0;if(!w)b=z;else b=b+-48+((f[k>>2]|0)*10|0)|0;f[k>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;j=j+(y&1)|0;s=v?o:s;y=1}while(0);b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;b=h[b>>0]|0}else b=ID(a)|0;z=b+-48|0;k=(b|0)==46;if(!(k|z>>>0<10)){v=x;k=y;A=29;break b}}b=w;k=(y|0)!=0;A=37}else{w=0;j=0;s=0;k=o;o=0;m=0;A=29}while(0);do if((A|0)==29){z=(v|0)==0;p=z?o:p;n=z?m:n;k=(k|0)!=0;if(!(k&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}k=as(a,g)|0;b=I;if((k|0)==0&(b|0)==-2147483648){if(!g){PR(a,0);i=0.0;break}if(!(f[C>>2]|0)){k=0;b=0}else{f[B>>2]=(f[B>>2]|0)+-1;k=0;b=0}}y=w7(k|0,b|0,p|0,n|0)|0;b=w;n=I;A=41}while(0);if((A|0)==37)if(!(f[C>>2]|0))A=39;else{f[B>>2]=(f[B>>2]|0)+-1;if(k){y=p;A=41}else A=40}if((A|0)==39)if(k){y=p;A=41}else A=40;do if((A|0)==40){F=bua()|0;f[F>>2]=22;PR(a,0);i=0.0}else if((A|0)==41){k=f[D>>2]|0;if(!k){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&o>>>0<10)&((y|0)==(o|0)&(n|0)==(m|0)))if((c|0)>30|(k>>>c|0)==0){i=+(e|0)*+(k>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((n|0)>(C|0)|(n|0)==(C|0)&y>>>0>a>>>0){F=bua()|0;f[F>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((n|0)<(C|0)|(n|0)==(C|0)&y>>>0>>0){F=bua()|0;f[F>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){m=D+(j<<2)|0;k=f[m>>2]|0;while(1){k=k*10|0;if((b|0)>=8)break;else b=b+1|0}f[m>>2]=k}j=j+1|0}if((s|0)<9)if((s|0)<=(y|0)&(y|0)<18){if((y|0)==9){i=+(e|0)*+((f[D>>2]|0)>>>0);break}if((y|0)<9){i=+(e|0)*+((f[D>>2]|0)>>>0)/+(f[25496+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;b=f[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[25496+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;m=0}else{s=(y|0)>-1?b:b+9|0;o=f[25496+(8-s<<2)>>2]|0;if(!j){m=0;j=0;k=y}else{p=1e9/(o|0)|0;m=0;n=0;k=y;b=0;do{B=D+(b<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(o>>>0)|0)+m|0;f[B>>2]=a;m=X(p,(C>>>0)%(o>>>0)|0)|0;a=(b|0)==(n|0)&(a|0)==0;k=a?k+-9|0:k;n=a?n+1&127:n;b=b+1|0}while((b|0)!=(j|0));if(!m)m=n;else{f[D+(j<<2)>>2]=m;m=n;j=j+1|0}}b=0;y=9-s+k|0}d:while(1){s=(y|0)<18;v=(y|0)==18;w=D+(m<<2)|0;while(1){if(!s){if(!v){k=y;break d}if((f[w>>2]|0)>>>0>=9007199){k=18;break d}}k=0;x=j;j=j+127|0;while(1){n=j&127;o=D+(n<<2)|0;j=IW(f[o>>2]|0,0,29)|0;j=w7(j|0,I|0,k|0,0)|0;k=I;if(k>>>0>0|(k|0)==0&j>>>0>1e9){p=Mea(j|0,k|0,1e9,0)|0;j=lS(j|0,k|0,1e9,0)|0}else p=0;f[o>>2]=j;a=(n|0)==(m|0);x=(j|0)==0&(((n|0)!=(x+127&127|0)|a)^1)?n:x;if(a)break;else{k=p;j=n+-1|0}}b=b+-29|0;if(p|0)break;else j=x}m=m+127&127;j=x+127&127;k=D+((x+126&127)<<2)|0;if((m|0)==(x|0))f[k>>2]=f[k>>2]|f[D+(j<<2)>>2];else j=x;f[D+(m<<2)>>2]=p;y=y+9|0}e:while(1){x=j+1&127;y=D+((j+127&127)<<2)|0;v=k;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){n=0;while(1){k=n+z&127;if((k|0)==(j|0)){k=2;A=88;break}k=f[D+(k<<2)>>2]|0;m=f[25528+(n<<2)>>2]|0;if(k>>>0>>0){k=2;A=88;break}if(k>>>0>m>>>0)break;k=n+1|0;if((n|0)<1)n=k;else{A=88;break}}if((A|0)==88){A=0;if(o&(k|0)==2){i=0.0;n=0;break e}}b=w+b|0;if((z|0)==(j|0))z=j;else break}p=(1<>>w;o=0;m=z;k=v;n=z;do{B=D+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;k=a?k+-9|0:k;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(j|0));if(!o){v=k;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=k}f[D+(j<<2)>>2]=o;j=x}do{m=n+z&127;k=j+1&127;if((m|0)==(j|0)){f[D+(k+-1<<2)>>2]=0;j=k}i=i*1.0e9+ +((f[D+(m<<2)>>2]|0)>>>0);n=n+1|0}while((n|0)!=2);t=+(e|0);l=i*t;m=b+53|0;o=m-d|0;p=(o|0)<(c|0);n=p?((o|0)>0?o:0):c;if((n|0)<53){H=+Hra(+UH(1.0,105-n|0),l);q=+psa(l,+UH(1.0,53-n|0));r=H;i=q;q=H+(l-q)}else{r=0.0;i=0.0;q=l}k=z+2&127;if((k|0)==(j|0))l=i;else{k=f[D+(k<<2)>>2]|0;do if(k>>>0<5e8){if(!k)if((z+3&127|0)==(j|0))break;i=t*.25+i}else{if((k|0)!=5e8){i=t*.75+i;break}if((z+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}while(0);if((53-n|0)>1)if(+psa(i,1.0)!=0.0)l=i;else l=i+1.0;else l=i}i=q+l-r;do if((m&2147483647|0)>(-2-E|0)){j=!(+K(+i)>=9007199254740992.0);b=b+((j^1)&1)|0;i=j?i:i*.5;if((b+50|0)<=(F|0))if(!(l!=0.0&(p&((n|0)!=(o|0)|j))))break;F=bua()|0;f[F>>2]=34}while(0);i=+Mra(i,b)}while(0);u=G;return +i}function Yf(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;s=0;F=u;u=u+560|0;l=F+8|0;t=F;E=F+524|0;D=E;m=F+512|0;f[t>>2]=0;C=m+12|0;a3(c)|0;if((I|0)<0){c=-c;A=1;z=54862}else{A=(g&2049|0)!=0&1;z=(g&2048|0)==0?((g&1|0)==0?54863:54868):54865}a3(c)|0;do if(0==0&(I&2146435072|0)==2146435072){E=(i&32|0)!=0;j=A+3|0;hM(a,32,d,j,g&-65537);yfa(a,z,A);yfa(a,c!=c|0.0!=0.0?(E?56810:54889):E?54881:54885,3);hM(a,32,d,j,g^8192)}else{c=+Zra(c,t)*2.0;j=c!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;r=(p|0)==0?z:z+9|0;q=A|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){n=8.0;do{j=j+-1|0;n=n*16.0}while((j|0)!=0);if((b[r>>0]|0)==45){c=-(n+(-c-n));break}else{c=c+n-n;break}}while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=zJ(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;b[o>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;j=E;do{B=~~c;k=j+1|0;b[j>>0]=p|h[54893+B>>0];c=(c-+(B|0))*16.0;if((k-D|0)==1)if(m&(l&c==0.0))j=k;else{b[k>>0]=46;j=j+2|0}else j=k}while(c!=0.0);if(!e)s=24;else if((-2-D+j|0)<(e|0)){k=j-D|0;j=e+2|0}else s=24;if((s|0)==24){j=j-D|0;k=j}C=C-o|0;D=C+q+j|0;hM(a,32,d,D,g);yfa(a,r,q);hM(a,48,d,D,g^65536);yfa(a,E,k);hM(a,48,j-k|0,0,0);yfa(a,o,C);hM(a,32,d,D,g^8192);j=D;break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=c*268435456.0}else j=f[t>>2]|0;B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;p=l;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=m>>>0){l=0;do{x=IW(f[j>>2]|0,0,o|0)|0;x=w7(x|0,I|0,l|0,0)|0;y=I;v=lS(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Mea(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=p;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)p=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;q=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+q;q=X(y&o,p)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!q){m=j;j=l}else{f[l>>2]=q;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(o>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){m=m+9216|0;r=B+4+(((m|0)/9|0)+-1024<<2)|0;m=(m|0)%9|0;if((m|0)<8){o=10;while(1){o=o*10|0;if((m|0)<7)m=m+1|0;else break}}else o=10;p=f[r>>2]|0;q=(p>>>0)%(o>>>0)|0;m=(r+4|0)==(e|0);if(m&(q|0)==0)m=r;else{n=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=q>>>0>>0?.5:m&(q|0)==(x|0)?1.0:1.5;if(A){x=(b[z>>0]|0)==45;c=x?-c:c;n=x?-n:n}m=p-q|0;f[r>>2]=m;if(n+c!=n){x=m+o|0;f[r>>2]=x;if(x>>>0>999999999){l=r;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}else m=r;l=(y-j>>2)*9|0;p=f[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;l=l+1|0}while(p>>>0>=o>>>0)}}else m=r}m=m+4|0;m=e>>>0>m>>>0?m:e;x=j}else{m=e;x=j}w=m;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=k+((v^1)&1)|0;if((j|0)>(l|0)&(l|0)>-5){p=i+-1|0;k=j+-1-l|0}else{p=i+-2|0;k=j+-1|0}j=g&8;if(!j){if(t){o=f[w+-4>>2]|0;if(!o)m=9;else if(!((o>>>0)%10|0)){m=0;j=10;do{j=j*10|0;m=m+1|0}while(!((o>>>0)%(j>>>0)|0|0))}else m=0}else m=9;j=((w-y>>2)*9|0)+-9|0;if((p|32|0)==102){r=j-m|0;r=(r|0)>0?r:0;k=(k|0)<(r|0)?k:r;r=0;break}else{r=j+l-m|0;r=(r|0)>0?r:0;k=(k|0)<(r|0)?k:r;r=0;break}}else r=j}else{p=i;r=g&8}while(0);s=k|r;o=(s|0)!=0&1;q=(p|32|0)==102;if(q){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=zJ(j,((j|0)<0)<<31>>31,C)|0;m=C;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=p;v=j;j=m-j|0}j=A+1+k+o+j|0;hM(a,32,d,j,g);yfa(a,z,A);hM(a,48,d,j,g^65536);if(q){o=x>>>0>B>>>0?B:x;r=E+9|0;p=r;q=E+8|0;m=o;do{l=zJ(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[q>>0]=48;l=q}}else if(l>>>0>E>>>0){AD(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}yfa(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)yfa(a,56925,1);if(m>>>0>>0&(k|0)>0)while(1){l=zJ(f[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){AD(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}yfa(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}hM(a,48,k+9|0,9,0)}else{s=t?w:x+4|0;if((k|0)>-1){t=E+9|0;r=(r|0)==0;e=t;p=0-D|0;q=E+8|0;o=x;do{l=zJ(f[o>>2]|0,0,t)|0;if((l|0)==(t|0)){b[q>>0]=48;l=q}do if((o|0)==(x|0)){m=l+1|0;yfa(a,l,1);if(r&(k|0)<1){l=m;break}yfa(a,56925,1);l=m}else{if(l>>>0<=E>>>0)break;AD(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=e-l|0;yfa(a,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}hM(a,48,k+18|0,18,0);yfa(a,v,C-v|0)}hM(a,32,d,j,g^8192)}while(0);u=F;return ((j|0)<(d|0)?d:j)|0}function Zf(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;k=0;j=u;u=u+16|0;g=j;f[a+4>>2]=c+-1;f[a>>2]=29020;i=a+8|0;x=0;Ga(711,i|0,28);h=x;x=0;if(h&1)c=Ya()|0;else{h=a+144|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=yqa(57740)|0;do if(e>>>0>4294967279){x=0;Fa(428,h|0);x=0;k=66}else{if(e>>>0<11){b[h+11>>0]=e;c=h}else{d=e+16&-16;x=0;c=qa(318,d|0)|0;l=x;x=0;if(l&1){k=66;break}f[h>>2]=c;f[a+152>>2]=d|-2147483648;f[a+148>>2]=e}Naa(c,57740,e)|0;b[g>>0]=0;vga(c+e|0,g);c=f[i>>2]|0;d=a+12|0;e=f[d>>2]|0;while(1){if((e|0)==(c|0))break;l=e+-4|0;f[d>>2]=l;e=l}x=0;Ea(13);l=x;x=0;do if(!(l&1)){x=0;Ga(712,a|0,78608);l=x;x=0;if(!(l&1)){x=0;Ea(14);l=x;x=0;if(!(l&1)){x=0;Ga(713,a|0,78616);l=x;x=0;if(!(l&1)){zha();x=0;Ga(714,a|0,78624);l=x;x=0;if(!(l&1)){x=0;Ea(15);l=x;x=0;if(!(l&1)){x=0;Ga(715,a|0,78640);l=x;x=0;if(!(l&1)){x=0;Ea(16);l=x;x=0;if(!(l&1)){x=0;Ga(716,a|0,78648);l=x;x=0;if(!(l&1)){x=0;Ea(17);l=x;x=0;if(!(l&1)){x=0;Ga(717,a|0,78656);l=x;x=0;if(!(l&1)){x=0;Ea(18);l=x;x=0;if(!(l&1)){x=0;Ga(718,a|0,78672);l=x;x=0;if(!(l&1)){x=0;Ea(19);l=x;x=0;if(!(l&1)){x=0;Ga(719,a|0,78680);l=x;x=0;if(l&1)break;gma();x=0;Ga(720,a|0,78688);l=x;x=0;if(l&1)break;fma();x=0;Ga(721,a|0,78712);l=x;x=0;if(l&1)break;x=0;Ea(20);l=x;x=0;if(l&1)break;x=0;Ga(722,a|0,78744);l=x;x=0;if(l&1)break;x=0;Ea(21);l=x;x=0;if(l&1)break;x=0;Ga(723,a|0,78752);l=x;x=0;if(l&1)break;x=0;Ea(22);l=x;x=0;if(l&1)break;x=0;Ga(724,a|0,78760);l=x;x=0;if(l&1)break;x=0;Ea(23);l=x;x=0;if(l&1)break;x=0;Ga(725,a|0,78768);l=x;x=0;if(l&1)break;x=0;Ea(24);l=x;x=0;if(l&1)break;x=0;Ga(726,a|0,78776);l=x;x=0;if(l&1)break;x=0;Ea(25);l=x;x=0;if(l&1)break;x=0;Ga(727,a|0,78784);l=x;x=0;if(l&1)break;x=0;Ea(26);l=x;x=0;if(l&1)break;x=0;Ga(728,a|0,78792);l=x;x=0;if(l&1)break;x=0;Ea(27);l=x;x=0;if(l&1)break;x=0;Ga(729,a|0,78800);l=x;x=0;if(l&1)break;x=0;Ea(28);l=x;x=0;if(l&1)break;x=0;Ga(730,a|0,78808);l=x;x=0;if(l&1)break;x=0;Ea(29);l=x;x=0;if(l&1)break;x=0;Ga(731,a|0,78816);l=x;x=0;if(l&1)break;x=0;Ea(30);l=x;x=0;if(l&1)break;x=0;Ga(732,a|0,78824);l=x;x=0;if(l&1)break;x=0;Ea(31);l=x;x=0;if(l&1)break;x=0;Ga(733,a|0,78832);l=x;x=0;if(l&1)break;x=0;Ea(32);l=x;x=0;if(l&1)break;x=0;Ga(734,a|0,78840);l=x;x=0;if(l&1)break;x=0;Ea(33);l=x;x=0;if(l&1)break;x=0;Ga(735,a|0,78856);l=x;x=0;if(l&1)break;x=0;Ea(34);l=x;x=0;if(l&1)break;x=0;Ga(736,a|0,78872);l=x;x=0;if(l&1)break;x=0;Ea(35);l=x;x=0;if(l&1)break;x=0;Ga(737,a|0,78888);l=x;x=0;if(l&1)break;x=0;Ea(36);l=x;x=0;if(l&1)break;x=0;Ga(738,a|0,78904);l=x;x=0;if(l&1)break;x=0;Ea(37);l=x;x=0;if(l&1)break;x=0;Ga(739,a|0,78912);l=x;x=0;if(l&1)break;u=j;return}}}}}}}}}}}}}}while(0);c=Ya()|0;Aaa(h)}while(0);if((k|0)==66)c=Ya()|0;nN(i)}$sa(a);jb(c|0)}function _f(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,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;w=0;G=u;u=u+64|0;C=G+16|0;D=G;A=G+24|0;E=G+8|0;F=G+20|0;f[C>>2]=c;x=(a|0)!=0;y=A+40|0;z=y;A=A+39|0;B=E+4|0;j=0;i=0;n=0;a:while(1){do if((i|0)>-1)if((j|0)>(2147483647-i|0)){i=bua()|0;f[i>>2]=75;i=-1;break}else{i=j+i|0;break}while(0);j=b[c>>0]|0;if(!(j<<24>>24)){w=86;break}else k=c;b:while(1){switch(j<<24>>24){case 37:{j=k;w=9;break b}case 0:{j=k;break b}default:{}}v=k+1|0;f[C>>2]=v;j=b[v>>0]|0;k=v}c:do if((w|0)==9)while(1){w=0;if((b[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;f[C>>2]=k;if((b[k>>0]|0)==37)w=9;else break}while(0);j=j-c|0;if(x)yfa(a,c,j);if(j|0){c=k;continue}l=k+1|0;j=(b[l>>0]|0)+-48|0;if(j>>>0<10){v=(b[k+2>>0]|0)==36;s=v?j:-1;n=v?1:n;l=v?k+3|0:l}else s=-1;f[C>>2]=l;j=b[l>>0]|0;v=(j<<24>>24)+-32|0;if(v>>>0>31|(1<>24)+-32|k;l=l+1|0;f[C>>2]=l;j=b[l>>0]|0;v=(j<<24>>24)+-32|0}while(!(v>>>0>31|(1<>24==42){m=l+1|0;j=(b[m>>0]|0)+-48|0;if(j>>>0<10)if((b[l+2>>0]|0)==36){f[h+(j<<2)>>2]=10;j=f[g+((b[m>>0]|0)+-48<<3)>>2]|0;n=1;l=l+3|0}else w=22;else w=22;if((w|0)==22){w=0;if(n|0){i=-1;break}if(x){n=(f[e>>2]|0)+(4-1)&~(4-1);j=f[n>>2]|0;f[e>>2]=n+4;n=0;l=m}else{j=0;n=0;l=m}}f[C>>2]=l;t=(j|0)<0;j=t?0-j|0:j;t=t?k|8192:k}else{j=zQ(C)|0;if((j|0)<0){i=-1;break}t=k;l=f[C>>2]|0}do if((b[l>>0]|0)==46){if((b[l+1>>0]|0)!=42){f[C>>2]=l+1;k=zQ(C)|0;l=f[C>>2]|0;break}m=l+2|0;k=(b[m>>0]|0)+-48|0;if(k>>>0<10)if((b[l+3>>0]|0)==36){f[h+(k<<2)>>2]=10;k=f[g+((b[m>>0]|0)+-48<<3)>>2]|0;l=l+4|0;f[C>>2]=l;break}if(n|0){i=-1;break a}if(x){v=(f[e>>2]|0)+(4-1)&~(4-1);k=f[v>>2]|0;f[e>>2]=v+4}else k=0;f[C>>2]=m;l=m}else k=-1;while(0);r=0;while(1){if(((b[l>>0]|0)+-65|0)>>>0>57){i=-1;break a}v=l+1|0;f[C>>2]=v;m=b[(b[l>>0]|0)+-65+(54381+(r*58|0))>>0]|0;o=m&255;if((o+-1|0)>>>0<8){r=o;l=v}else break}if(!(m<<24>>24)){i=-1;break}q=(s|0)>-1;do if(m<<24>>24==19)if(q){i=-1;break a}else w=48;else{if(q){f[h+(s<<2)>>2]=o;q=g+(s<<3)|0;s=f[q+4>>2]|0;w=D;f[w>>2]=f[q>>2];f[w+4>>2]=s;w=48;break}if(!x){i=0;break a}Er(D,o,e)}while(0);if((w|0)==48){w=0;if(!x){j=0;c=v;continue}}l=b[l>>0]|0;l=(r|0)!=0&(l&15|0)==3?l&-33:l;s=t&-65537;t=(t&8192|0)==0?t:s;d:do switch(l|0){case 110:switch((r&255)<<24>>24){case 0:{f[f[D>>2]>>2]=i;j=0;c=v;continue a}case 1:{f[f[D>>2]>>2]=i;j=0;c=v;continue a}case 2:{j=f[D>>2]|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=0;c=v;continue a}case 3:{d[f[D>>2]>>1]=i;j=0;c=v;continue a}case 4:{b[f[D>>2]>>0]=i;j=0;c=v;continue a}case 6:{f[f[D>>2]>>2]=i;j=0;c=v;continue a}case 7:{j=f[D>>2]|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=0;c=v;continue a}default:{j=0;c=v;continue a}}case 112:{l=120;k=k>>>0>8?k:8;c=t|8;w=60;break}case 88:case 120:{c=t;w=60;break}case 111:{l=D;c=f[l>>2]|0;l=f[l+4>>2]|0;q=DS(c,l,y)|0;r=z-q|0;m=0;o=54845;k=(t&8|0)==0|(k|0)>(r|0)?k:r+1|0;r=t;w=66;break}case 105:case 100:{l=D;c=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)<0){c=AY(0,0,c|0,l|0)|0;l=I;m=D;f[m>>2]=c;f[m+4>>2]=l;m=1;o=54845;w=65;break d}else{m=(t&2049|0)!=0&1;o=(t&2048|0)==0?((t&1|0)==0?54845:54847):54846;w=65;break d}}case 117:{l=D;m=0;o=54845;c=f[l>>2]|0;l=f[l+4>>2]|0;w=65;break}case 99:{b[A>>0]=f[D>>2];c=A;m=0;o=54845;q=y;l=1;k=s;break}case 109:{l=bua()|0;l=dda(f[l>>2]|0)|0;w=70;break}case 115:{l=f[D>>2]|0;l=l|0?l:54855;w=70;break}case 67:{f[E>>2]=f[D>>2];f[B>>2]=0;f[D>>2]=E;q=-1;l=E;w=74;break}case 83:{c=f[D>>2]|0;if(!k){hM(a,32,j,0,t);c=0;w=83}else{q=k;l=c;w=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=Yf(a,+p[D>>3],j,k,t,l)|0;c=v;continue a}default:{m=0;o=54845;q=y;l=k;k=t}}while(0);e:do if((w|0)==60){t=D;s=f[t>>2]|0;t=f[t+4>>2]|0;q=LQ(s,t,y,l&32)|0;o=(c&8|0)==0|(s|0)==0&(t|0)==0;m=o?0:2;o=o?54845:54845+(l>>4)|0;r=c;c=s;l=t;w=66}else if((w|0)==65){q=zJ(c,l,y)|0;r=t;w=66}else if((w|0)==70){w=0;t=HB(l,0,k)|0;r=(t|0)==0;c=l;m=0;o=54845;q=r?l+k|0:t;l=r?k:t-l|0;k=s}else if((w|0)==74){w=0;o=l;c=0;k=0;while(1){m=f[o>>2]|0;if(!m)break;k=rja(F,m)|0;if((k|0)<0|k>>>0>(q-c|0)>>>0)break;c=k+c|0;if(q>>>0>c>>>0)o=o+4|0;else break}if((k|0)<0){i=-1;break a}hM(a,32,j,c,t);if(!c){c=0;w=83}else{m=0;while(1){k=f[l>>2]|0;if(!k){w=83;break e}k=rja(F,k)|0;m=k+m|0;if((m|0)>(c|0)){w=83;break e}yfa(a,F,k);if(m>>>0>=c>>>0){w=83;break}else l=l+4|0}}}while(0);if((w|0)==66){w=0;l=(c|0)!=0|(l|0)!=0;t=(k|0)!=0|l;l=z-q+((l^1)&1)|0;c=t?q:y;q=y;l=t?((k|0)>(l|0)?k:l):k;k=(k|0)>-1?r&-65537:r}else if((w|0)==83){w=0;hM(a,32,j,c,t^8192);j=(j|0)>(c|0)?j:c;c=v;continue}s=q-c|0;r=(l|0)<(s|0)?s:l;t=r+m|0;j=(j|0)<(t|0)?t:j;hM(a,32,j,t,k);yfa(a,o,m);hM(a,48,j,t,k^65536);hM(a,48,r,s,0);yfa(a,c,s);hM(a,32,j,t,k^8192);c=v}f:do if((w|0)==86)if(!a)if(!n)i=0;else{i=1;while(1){c=f[h+(i<<2)>>2]|0;if(!c)break;Er(g+(i<<3)|0,c,e);c=i+1|0;if((i|0)<9)i=c;else{i=c;break}}if((i|0)<10)while(1){if(f[h+(i<<2)>>2]|0){i=-1;break f}if((i|0)<9)i=i+1|0;else{i=1;break}}else i=1}while(0);u=G;return i|0}function $f(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,v=0,w=0,y=0,z=0;s=u;u=u+240|0;p=s;z=s+224|0;w=s+160|0;g=s+184|0;i=s+168|0;m=s+96|0;n=s+120|0;r=s+104|0;q=s+56|0;v=s+48|0;t=s+40|0;qV(z,f[c+64>>2]|0);f[z>>2]=7696;o=z+4|0;d=f[o>>2]|0;if(!d){d=0;y=3}else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;y=x;x=0;if(y&1)y=17;else y=3}do if((y|0)==3){x=0;Ga(462,p|0,d|0);l=x;x=0;if(l&1)y=17;else{f[p>>2]=7696;if(f[o>>2]|0){x=0;Fa(429,z|0);l=x;x=0;if(l&1){d=Ya()|0;_P(p);break}}d=p+4|0;f[o>>2]=f[d>>2];f[d>>2]=0;_P(p);d=f[o>>2]|0;a:do if(d|0){e=f[343]|0;if((e|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;h=qa(318,80)|0;l=x;x=0;b:do if(l&1)d=Ya()|0;else{j=g;k=d+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(459,i|0,((e|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0)+64|0);l=x;x=0;do if(l&1)d=Ya()|0;else{x=0;j=p;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Na(1,h|0,p|0,i|0,0,0,0,1,1);l=x;x=0;do if(l&1){d=1;y=22}else{x=0;Ga(462,w|0,h|0);l=x;x=0;if(l&1){d=0;y=22}else{f[w>>2]=7696;if(f[o>>2]|0){x=0;Fa(429,z|0);l=x;x=0;if(l&1){d=Ya()|0;_P(w);e=0;break}}y=w+4|0;f[o>>2]=f[y>>2];f[y>>2]=0;_P(w);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);break a}}while(0);if((y|0)==22){y=Ya()|0;e=d;d=y}if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);if(e)break;else break b}else if(e)break;else break b}while(0);Hta(h)}while(0);y=d;_P(z);jb(y|0)}}while(0);x=0;Ga(462,w|0,f[c+72>>2]|0);y=x;x=0;if(y&1)d=Ya()|0;else{f[w>>2]=7696;i=w+4|0;d=f[i>>2]|0;if(!d){d=0;y=32}else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;y=x;x=0;if(y&1)y=47;else y=32}c:do if((y|0)==32){x=0;Ga(462,p|0,d|0);l=x;x=0;if(l&1)y=47;else{f[p>>2]=7696;if(f[i>>2]|0){x=0;Fa(429,w|0);l=x;x=0;if(l&1){d=Ya()|0;_P(p);y=49;break}}d=p+4|0;f[i>>2]=f[d>>2];f[d>>2]=0;_P(p);d=f[i>>2]|0;d:do if(d|0){e=f[343]|0;if((e|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;g=qa(318,80)|0;l=x;x=0;e:do if(l&1)d=Ya()|0;else{j=n;k=d+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(459,r|0,((e|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0)+64|0);l=x;x=0;do if(l&1)d=Ya()|0;else{x=0;j=p;k=n;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Na(1,g|0,p|0,r|0,0,0,0,1,1);n=x;x=0;f:do if(n&1){d=1;y=53}else{x=0;Ga(462,m|0,g|0);n=x;x=0;if(n&1){d=0;y=53;break}f[m>>2]=7696;do if(f[i>>2]|0){x=0;Fa(429,w|0);n=x;x=0;if(!(n&1))break;d=Ya()|0;_P(m);e=0;break f}while(0);n=m+4|0;f[i>>2]=f[n>>2];f[n>>2]=0;_P(m);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);break d}while(0);if((y|0)==53){v=Ya()|0;e=d;d=v}if((b[r+11>>0]|0)<0){Hta(f[r>>2]|0);if(e)break;else break e}else if(e)break;else break e}while(0);Hta(g)}while(0);break c}}while(0);x=0;h=qa(318,80)|0;r=x;x=0;if(r&1){d=Ya()|0;break}j=q;k=c+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(462,v|0,f[o>>2]|0);r=x;x=0;if(r&1)d=Ya()|0;else{f[v>>2]=7696;x=0;Ga(462,t|0,f[i>>2]|0);r=x;x=0;if(r&1)d=Ya()|0;else{f[t>>2]=7696;g=b[c+76>>0]|0;j=p;k=q;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,h|0);r=x;x=0;if(r&1)d=Ya()|0;else{j=h+12|0;k=p;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h+56>>2]=0;f[h>>2]=12152;d=h+60|0;x=0;Ga(462,d|0,f[v+4>>2]|0);r=x;x=0;do if(r&1)d=Ya()|0;else{f[d>>2]=7696;e=h+68|0;x=0;Ga(462,e|0,f[t+4>>2]|0);r=x;x=0;if(r&1){s=Ya()|0;_P(d);d=s;break}else{f[e>>2]=7696;b[h+76>>0]=g;_P(t);_P(v);_P(w);_P(z);u=s;return h|0}}while(0)}_P(t)}_P(v)}Hta(h)}}while(0);if((y|0)==47){d=Ya()|0;y=49}_P(w)}y=d;_P(z);jb(y|0)}}while(0);if((y|0)==17)d=Ya()|0;y=d;_P(z);jb(y|0);return 0}function ag(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,v=0,w=0,y=0,z=0,A=0;v=u;u=u+160|0;y=v;k=v+136|0;m=v+112|0;A=v+128|0;p=v+104|0;r=v+96|0;s=v+80|0;w=v+64|0;z=v+52|0;if(b[c+53>>0]|0){A=c;u=v;return A|0}o=c+60|0;if(f[c+104>>2]|0){h=a+12|0;d=f[h>>2]|0;j=k+11|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;l=y;n=c+12|0;q=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(q|0));i=y+40|0;x=0;Ga(459,i|0,k|0);A=x;x=0;do if(A&1)d=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;if(g>>>0<(f[d+8>>2]|0)>>>0){l=g;n=y;q=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(q|0));A=g+40|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,y|0);A=x;x=0;if(A&1){d=Ya()|0;if((b[i+11>>0]|0)>=0)break;Hta(f[i>>2]|0);break}}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[j>>0]|0)<0)Hta(f[k>>2]|0);l=Ta(92)|0;x=0;Ga(511,m|0,f[h>>2]|0);A=x;x=0;do if(A&1)d=Ya()|0;else{x=0;Ja(44,l|0,m|0,c|0,c|0);A=x;x=0;if(A&1)k=1;else{x=0;Ia(77,l|0,3912,181);x=0;k=0}d=Ya()|0;i=I;e=f[m>>2]|0;if(!e){if(k)break;jb(d|0)}j=m+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!k){A=d;jb(A|0)}}while(0);bb(l|0);A=d;jb(A|0)}while(0);if((b[j>>0]|0)<0)Hta(f[k>>2]|0);A=d;jb(A|0)}j=VN(108)|0;t=c+12|0;h=c+84|0;i=c+88|0;d=f[i>>2]|0;e=f[h>>2]|0;l=y;n=t;q=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(q|0));x=0;Fa(427,j|0);q=x;x=0;do if(q&1){d=Ya()|0;m=37}else{g=d-e>>3;l=j+12|0;n=y;q=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(q|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;d=j+56|0;f[d>>2]=0;f[j>>2]=6516;e=j+60|0;x=0;Ga(560,e|0,g|0);q=x;x=0;if(q&1){d=Ya()|0;m=37;break}f[j>>2]=9700;f[e>>2]=9828;f[d>>2]=6;qV(A,j);f[A>>2]=16784;d=f[h>>2]|0;i=f[i>>2]|0;a:do if((d|0)==(i|0)){k=A+4|0;m=59}else{j=y+4|0;l=p+4|0;k=A+4|0;m=s+8|0;n=s+8|0;while(1){x=0;Ga(462,y|0,f[d+4>>2]|0);q=x;x=0;if(q&1){m=43;break}f[y>>2]=7696;h=f[j>>2]|0;x=0;h=sa(f[(f[h>>2]|0)+56>>2]|0,h|0,a|0)|0;q=x;x=0;if(q&1){m=44;break}x=0;Ga(462,r|0,f[j>>2]|0);q=x;x=0;if(q&1){m=45;break}f[r>>2]=7696;x=0;Ia(78,p|0,o|0,r|0);q=x;x=0;if(q&1){m=46;break}e=f[l>>2]|0;_P(p);_P(r);if(e|0){x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;q=x;x=0;if(q&1){m=45;break}g=(f[k>>2]|0)+60|0;x=0;Ga(462,s|0,h|0);q=x;x=0;if(q&1){m=54;break}f[s>>2]=7696;x=0;Ga(462,m|0,e|0);q=x;x=0;if(q&1){m=50;break}f[m>>2]=7696;x=0;sa(1007,g|0,s|0)|0;q=x;x=0;if(q&1){m=56;break}_P(n);_P(s)}_P(y);d=d+8|0;if((d|0)==(i|0)){m=59;break a}}if((m|0)==43)d=Ya()|0;else if((m|0)==44){d=Ya()|0;m=57}else if((m|0)==45){d=Ya()|0;m=57}else if((m|0)==46){d=Ya()|0;_P(r);m=57}else if((m|0)==50){d=Ya()|0;_P(s);m=55}else if((m|0)==54){d=Ya()|0;m=55}else if((m|0)==56){d=Ya()|0;_P(n);_P(s);m=57}if((m|0)==55)m=57;if((m|0)==57)_P(y)}while(0);b:do if((m|0)==59){d=f[k>>2]|0;if(!(f[d+104>>2]|0)){b[d+53>>0]=1;if(!d)d=0;else b[d+8>>0]=1;_P(A);A=d;u=v;return A|0}i=a+12|0;g=f[i>>2]|0;j=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;l=y;n=t;q=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(q|0));h=y+40|0;x=0;Ga(459,h|0,w|0);v=x;x=0;do if(v&1)d=Ya()|0;else{d=g+4|0;e=f[d>>2]|0;if(e>>>0<(f[g+8>>2]|0)>>>0){l=e;n=y;q=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(q|0));y=e+40|0;f[y>>2]=f[h>>2];f[y+4>>2]=f[h+4>>2];f[y+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,g|0,y|0);y=x;x=0;if(y&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[w>>2]|0);l=Ta(92)|0;x=0;Ga(511,z|0,f[i>>2]|0);y=x;x=0;do if(y&1)d=Ya()|0;else{x=0;Ja(44,l|0,z|0,f[k>>2]|0,c|0);y=x;x=0;if(y&1)k=1;else{x=0;Ia(77,l|0,3912,181);x=0;k=0}d=Ya()|0;i=I;e=f[z>>2]|0;if(!e)if(k)break;else break b;j=z+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[z>>2]|0}Hta(e);if(!k)break b}while(0);bb(l|0);break b}while(0);if((b[j>>0]|0)<0)Hta(f[w>>2]|0)}while(0);_P(A)}while(0);if((m|0)==37)Hta(j);A=d;jb(A|0);return 0}function bg(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.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0;G=0;F=u;u=u+240|0;D=F;l=F+200|0;m=F+184|0;H=F+120|0;t=F+64|0;k=F+144|0;A=F+132|0;v=F+80|0;C=F+52|0;E=F+40|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;i=D+11|0;b[i>>0]=6;b[D>>0]=b[39245]|0;b[D+1>>0]=b[39246]|0;b[D+2>>0]=b[39247]|0;b[D+3>>0]=b[39248]|0;b[D+4>>0]=b[39249]|0;b[D+5>>0]=b[39250]|0;b[D+6>>0]=0;x=0;c=sa(992,a|0,D|0)|0;z=x;x=0;if(z&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[D>>2]|0);H=c;jb(H|0)}c=f[c+4>>2]|0;if(!c)j=0;else j=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[i>>0]|0)<0)Hta(f[D>>2]|0);if(j|0){i=VN(80)|0;w=l;y=g;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));c=f[(f[j>>2]|0)+28>>2]|0;x=0;w=D;y=f[d+16>>2]|0;z=w+12|0;do{b[w>>0]=b[y>>0]|0;w=w+1|0;y=y+1|0}while((w|0)<(z|0));Ia(c|0,t|0,j|0,D|0);G=x;x=0;if(G&1)c=Ya()|0;else{x=0;Ia(92,H|0,39361,t|0);G=x;x=0;if(G&1)c=Ya()|0;else{x=0;c=sa(991,H|0,49838)|0;G=x;x=0;do if(G&1)c=Ya()|0;else{f[m>>2]=f[c>>2];f[m+4>>2]=f[c+4>>2];f[m+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;w=D;y=l;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));Na(1,i|0,D|0,m|0,0,0,0,1,1);G=x;x=0;if(G&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);H=i;u=F;return H|0}while(0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0)}Hta(i);H=c;jb(H|0)}f[H+8>>2]=0;t=H+11|0;b[t>>0]=7;b[H>>0]=b[39258]|0;b[H+1>>0]=b[39259]|0;b[H+2>>0]=b[39260]|0;b[H+3>>0]=b[39261]|0;b[H+4>>0]=b[39262]|0;b[H+5>>0]=b[39263]|0;b[H+6>>0]=b[39264]|0;b[H+7>>0]=0;w=k;y=g;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));x=0;Ga(511,A|0,h|0);z=x;x=0;do if(z&1)c=Ya()|0;else{x=0;w=D;y=k;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));B=+ka(1,H|0,a|0,e|0,D|0,A|0,-0.0,100.0);z=x;x=0;if(z&1){c=Ya()|0;l=I;i=f[A>>2]|0;if(!i)break;m=A+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[A>>2]|0}Hta(i);break}c=f[A>>2]|0;if(c|0){k=A+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){j=i;while(1){i=j+-52|0;f[k>>2]=i;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);i=f[k>>2]|0}if((i|0)==(c|0))break;else j=i}c=f[A>>2]|0}Hta(c)}if((b[t>>0]|0)<0)Hta(f[H>>2]|0);f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;t=H+11|0;b[t>>0]=6;b[H>>0]=b[39245]|0;b[H+1>>0]=b[39246]|0;b[H+2>>0]=b[39247]|0;b[H+3>>0]=b[39248]|0;b[H+4>>0]=b[39249]|0;b[H+5>>0]=b[39250]|0;b[H+6>>0]=0;w=v;y=g;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));x=0;Ga(511,C|0,h|0);A=x;x=0;do if(A&1)c=Ya()|0;else{x=0;w=D;y=v;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));l=wa(26,H|0,a|0,e|0,D|0,C|0)|0;A=x;x=0;if(A&1){c=Ya()|0;l=I;i=f[C>>2]|0;if(!i)break;m=C+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[C>>2]|0}Hta(i);break}c=f[C>>2]|0;if(c|0){k=C+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[C>>2]|0}Hta(c)}if((b[t>>0]|0)<0)Hta(f[H>>2]|0);j=VN(112)|0;n=+p[l+64>>3];o=+p[l+72>>3];q=+p[l+80>>3];s=+p[l+88>>3];k=E+11|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;w=D;y=g;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));x=0;Fa(427,j|0);C=x;x=0;do if(C&1){c=1;G=83}else{r=255.0-n;o=255.0-o;n=255.0-q;w=j+12|0;y=D;z=w+40|0;do{f[w>>2]=f[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;c=j+56|0;f[c>>2]=0;f[j>>2]=11116;p[j+64>>3]=r;p[j+72>>3]=o;p[j+80>>3]=n;p[j+88>>3]=s;x=0;Ga(459,j+96|0,E|0);D=x;x=0;if(D&1){c=Ya()|0;i=1;G=84;break}f[j+108>>2]=0;f[c>>2]=3;x=0;Ga(462,H|0,j|0);D=x;x=0;if(D&1){c=0;G=83}else{f[H>>2]=16668;if((b[k>>0]|0)<0)Hta(f[E>>2]|0);x=0;c=va(5,d|0,g|0,f[H+4>>2]|0,l|0,+B)|0;d=x;x=0;if(d&1){c=Ya()|0;_P(H);break}_P(H);H=c;u=F;return H|0}}while(0);if((G|0)==83){H=Ya()|0;i=c;c=H;G=84}do if((G|0)==84){if((b[k>>0]|0)<0){Hta(f[E>>2]|0);if(!i)break}else if(!i)break;Hta(j)}while(0);H=c;jb(H|0)}while(0);if((b[t>>0]|0)<0)Hta(f[H>>2]|0);H=c;jb(H|0)}while(0);if((b[t>>0]|0)<0)Hta(f[H>>2]|0);H=c;jb(H|0);return 0}function cg(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;p=u;u=u+80|0;o=p+60|0;i=p+48|0;r=p+24|0;h=p+36|0;q=p;n=p+12|0;ND(i,81604);x=0;Ga(538,a|0,i|0);s=x;x=0;do if(s&1)h=Ya()|0;else{f[a>>2]=6640;s=a+8|0;x=0;Ga(459,s|0,i|0);m=x;x=0;if(m&1){h=Ya()|0;dfa(a);break}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);f[a>>2]=21284;f[a+20>>2]=c;f[a+24>>2]=e;f[a+28>>2]=g;x=0;Ia(79,o|0,81604,53123);m=x;x=0;a:do if(m&1){h=Ya()|0;i=s+11|0}else{i=s+11|0;if((b[i>>0]|0)<0){b[f[s>>2]>>0]=0;f[a+12>>2]=0}else{b[s>>0]=0;b[i>>0]=0}x=0;Ga(501,s|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[s>>2]=f[o>>2];f[s+4>>2]=f[o+4>>2];f[s+8>>2]=f[o+8>>2];j=f[(f[c>>2]|0)+28>>2]|0;f[h>>2]=0;f[h+4>>2]=5;b[h+8>>0]=0;x=0;m=o;k=h;l=m+12|0;do{b[m>>0]=b[k>>0]|0;m=m+1|0;k=k+1|0}while((m|0)<(l|0));Ia(j|0,r|0,c|0,o|0);m=x;x=0;do if(m&1)h=Ya()|0;else{j=r+11|0;m=b[j>>0]|0;c=m<<24>>24<0;x=0;ta(41,s|0,(c?f[r>>2]|0:r)|0,(c?f[r+4>>2]|0:m&255)|0)|0;m=x;x=0;if(m&1){h=Ya()|0;if((b[j>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[j>>0]|0)<0)Hta(f[r>>2]|0);do switch(g|0){case 0:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53340]|0;b[q+1>>0]=b[53341]|0;b[q+2>>0]=b[53342]|0;h=q+3|0;break}case 1:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=2;d[q>>1]=29295;h=q+2|0;break}case 2:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=2;d[q>>1]=29029;h=q+2|0;break}case 3:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53344]|0;b[q+1>>0]=b[53345]|0;b[q+2>>0]=b[53346]|0;h=q+3|0;break}case 4:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=2;d[q>>1]=29799;h=q+2|0;break}case 5:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53348]|0;b[q+1>>0]=b[53349]|0;b[q+2>>0]=b[53350]|0;h=q+3|0;break}case 6:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=2;d[q>>1]=29804;h=q+2|0;break}case 7:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53352]|0;b[q+1>>0]=b[53353]|0;b[q+2>>0]=b[53354]|0;h=q+3|0;break}case 8:{h=q+4|0;g=h;f[g>>2]=0;f[g+4>>2]=0;b[q+11>>0]=4;f[q>>2]=1937075312;break}case 9:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53356]|0;b[q+1>>0]=b[53357]|0;b[q+2>>0]=b[53358]|0;h=q+3|0;break}case 10:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=5;b[q>>0]=b[53360]|0;b[q+1>>0]=b[53361]|0;b[q+2>>0]=b[53362]|0;b[q+3>>0]=b[53363]|0;b[q+4>>0]=b[53364]|0;h=q+5|0;break}case 11:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53366]|0;b[q+1>>0]=b[53367]|0;b[q+2>>0]=b[53368]|0;h=q+3|0;break}case 12:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=3;b[q>>0]=b[53370]|0;b[q+1>>0]=b[53371]|0;b[q+2>>0]=b[53372]|0;h=q+3|0;break}case 13:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=5;b[q>>0]=b[53374]|0;b[q+1>>0]=b[53375]|0;b[q+2>>0]=b[53376]|0;b[q+3>>0]=b[53377]|0;b[q+4>>0]=b[53378]|0;h=q+5|0;break}default:{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;b[q+11>>0]=7;b[q>>0]=b[53380]|0;b[q+1>>0]=b[53381]|0;b[q+2>>0]=b[53382]|0;b[q+3>>0]=b[53383]|0;b[q+4>>0]=b[53384]|0;b[q+5>>0]=b[53385]|0;b[q+6>>0]=b[53386]|0;h=q+7|0}}while(0);b[h>>0]=0;x=0;Ia(92,r|0,53148,q|0);g=x;x=0;if(g&1)h=Ya()|0;else{x=0;h=sa(991,r|0,53148)|0;g=x;x=0;do if(g&1)h=Ya()|0;else{f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];f[o+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=o+11|0;g=b[j>>0]|0;m=g<<24>>24<0;x=0;ta(41,s|0,(m?f[o>>2]|0:o)|0,(m?f[o+4>>2]|0:g&255)|0)|0;g=x;x=0;if(g&1){h=Ya()|0;if((b[j>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[j>>0]|0)<0)Hta(f[o>>2]|0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);h=f[(f[e>>2]|0)+28>>2]|0;f[n>>2]=5;f[n+4>>2]=5;b[n+8>>0]=0;x=0;m=o;k=n;l=m+12|0;do{b[m>>0]=b[k>>0]|0;m=m+1|0;k=k+1|0}while((m|0)<(l|0));Ia(h|0,r|0,e|0,o|0);q=x;x=0;do if(q&1)h=Ya()|0;else{j=r+11|0;q=b[j>>0]|0;o=q<<24>>24<0;x=0;ta(41,s|0,(o?f[r>>2]|0:r)|0,(o?f[r+4>>2]|0:q&255)|0)|0;q=x;x=0;if(q&1){h=Ya()|0;if((b[j>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[j>>0]|0)<0)Hta(f[r>>2]|0);x=0;sa(991,s|0,53419)|0;r=x;x=0;if(r&1){h=Ya()|0;break a}else{u=p;return}}while(0);break a}while(0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0)}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);break a}while(0)}while(0);f[a>>2]=6640;if((b[i>>0]|0)<0)Hta(f[s>>2]|0);dfa(a);s=h;jb(s|0)}while(0);if((b[i+11>>0]|0)>=0){s=h;jb(s|0)}Hta(f[i>>2]|0);s=h;jb(s|0)}function dg(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0;w=0;y=u;u=u+272|0;v=y+232|0;B=y+200|0;o=y+220|0;A=y;s=y+208|0;z=y+184|0;t=y+144|0;Gv(o,h);x=0;k=v;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));d=wa(25,c|0,d|0,e|0,v|0,o|0)|0;r=x;x=0;if(!(r&1)){x=0;Ga(462,B|0,d|0);r=x;x=0;if(!(r&1)){f[B>>2]=7696;d=f[o>>2]|0;if(d|0){l=o+4|0;j=f[l>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(d|0));d=f[o>>2]|0}Hta(d)}n=B+4|0;d=f[n>>2]|0;a:do if((f[d+56>>2]|0)==8){r=A+64|0;d=A+8|0;f[d>>2]=16496;q=A+12|0;f[A>>2]=2284;f[r>>2]=2304;f[A+4>>2]=0;x=0;Ga(531,A+64|0,q|0);p=x;x=0;b:do if(p&1){d=Ya()|0;w=46}else{f[A+136>>2]=0;f[A+140>>2]=-1;f[A>>2]=16476;f[r>>2]=16516;f[d>>2]=16496;x=0;Fa(437,q|0);p=x;x=0;do if(p&1)d=Ya()|0;else{f[q>>2]=16336;p=A+44|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[A+60>>2]=24;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;x=0;Ga(532,q|0,v|0);o=x;x=0;if(o&1){d=Ya()|0;if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Bca(q);break}if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);o=A+8|0;d=b[c+11>>0]|0;m=d<<24>>24<0;x=0;d=ta(44,o|0,(m?f[c>>2]|0:c)|0,(m?f[c+4>>2]|0:d&255)|0)|0;c=x;x=0;c:do if(c&1)w=47;else{x=0;ta(44,d|0,39065,53)|0;c=x;x=0;if(c&1)w=47;else{x=0;d=ta(44,o|0,39119,54)|0;c=x;x=0;if(c&1)w=47;else{x=0;Ga(562,v|0,e|0);e=x;x=0;if(e&1)d=Ya()|0;else{j=v+11|0;e=b[j>>0]|0;c=e<<24>>24<0;x=0;d=ta(44,d|0,(c?f[v>>2]|0:v)|0,(c?f[v+4>>2]|0:e&255)|0)|0;e=x;x=0;do if(!(e&1)){x=0;ta(44,d|0,53146,1)|0;e=x;x=0;if(e&1)break;if((b[j>>0]|0)<0)Hta(f[v>>2]|0);x=0;Ga(533,s|0,q|0);e=x;x=0;if(e&1){w=47;break c}x=0;k=v;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,s|0,v|0,h|0);g=x;x=0;if(g&1){d=Ya()|0;if((b[s+11>>0]|0)>=0)break c;Hta(f[s>>2]|0);break c}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);f[A>>2]=16476;f[r>>2]=16516;f[o>>2]=16496;f[q>>2]=16336;if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Bca(q);KU(A,16528);uma(r);d=f[n>>2]|0;w=58;break a}while(0);d=Ya()|0;if((b[j>>0]|0)<0)Hta(f[v>>2]|0)}}}}while(0);if((w|0)==47)d=Ya()|0;f[A>>2]=16476;f[r>>2]=16516;f[o>>2]=16496;f[q>>2]=16336;if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Bca(q);KU(A,16528);uma(r);break b}while(0);KU(A,16528);w=46}while(0);if((w|0)==46)uma(r)}else w=58;while(0);do if((w|0)==58){x=0;d=qa(334,d|0)|0;w=x;x=0;if(w&1){d=Ya()|0;break}if(d|0)b[d+60>>0]=0;d=f[n>>2]|0;j=f[(f[d>>2]|0)+28>>2]|0;x=0;k=v;l=f[i+16>>2]|0;m=k+12|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));Ia(j|0,A|0,d|0,v|0);w=x;x=0;if(w&1)d=Ya()|0;else{o=A+11|0;d=(b[o>>0]|0)<0?f[A>>2]|0:A;x=0;Ga(511,z|0,h|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;Ja(14,t|0,39174,0,-1);w=x;x=0;if(!(w&1)){x=0;k=v;l=t;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));La(14,a|0,d|0,i|0,z|0,v|0,0);w=x;x=0;if(!(w&1)){d=f[z>>2]|0;if(d|0){l=z+4|0;j=f[l>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(d|0));d=f[z>>2]|0}Hta(d)}if((b[o>>0]|0)>=0){_P(B);u=y;return}Hta(f[A>>2]|0);_P(B);u=y;return}}d=Ya()|0;m=I;j=f[z>>2]|0;if(j){n=z+4|0;k=f[n>>2]|0;if((k|0)!=(j|0)){do{l=k+-52|0;f[n>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[n>>2]|0}else k=l}while((k|0)!=(j|0));j=f[z>>2]|0}Hta(j)}}if((b[o>>0]|0)<0)Hta(f[A>>2]|0)}}while(0);_P(B);B=d;jb(B|0)}}n=Ya()|0;l=I;d=f[o>>2]|0;if(!d){B=n;jb(B|0)}m=o+4|0;j=f[m>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(d|0));d=f[o>>2]|0}Hta(d);B=n;jb(B|0)}function eg(a,b,c){a=a|0;b=b|0;c=c|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;if((ec|0)==1)ec=3}Vc(hc+54840|0)}function fg(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,t=0,v=0,w=0,y=0;o=0;y=u;u=u+32|0;g=y+4|0;m=y;w=a+8|0;e=f[w>>2]|0;t=a+4|0;h=f[t>>2]|0;j=(e|0)==(h|0);k=(j&1)+b|0;k=((k>>>0)/146|0)+(((k>>>0)%146|0|0)!=0&1)|0;i=e-h>>2;v=a+16|0;c=f[v>>2]|0;l=((((i|0)==0?0:(i*146|0)+-1|0)-((f[a+20>>2]|0)+c)|0)>>>0)/146|0;b=k>>>0>>0?k:l;d=k-b|0;if(!d){f[v>>2]=(b*146|0)+c;if(!b){u=y;return}v=e+-4|0;f[g>>2]=f[v>>2];f[w>>2]=v;Bt(a,g);b=b+-1|0;if(!b){u=y;return}do{v=(f[w>>2]|0)+-4|0;f[g>>2]=f[v>>2];f[w>>2]=v;Bt(a,g);b=b+-1|0}while((b|0)!=0);u=y;return}r=a+12|0;c=f[a>>2]|0;e=(f[r>>2]|0)-c|0;if(d>>>0<=((e>>2)-i|0)>>>0){a:do if((c|0)==(h|0))o=7;else while(1){e=VN(4088)|0;f[g>>2]=e;Ct(a,g);d=d+-1|0;e=f[t>>2]|0;c=(f[v>>2]|0)+146+((((f[w>>2]|0)-e|0)==4)<<31>>31)|0;f[v>>2]=c;if(!d)break a;if((e|0)==(f[a>>2]|0)){o=7;break}}while(0);if((o|0)==7){c=~(k>>>0>l>>>0?l:k);b=d;do{t=VN(4088)|0;f[g>>2]=t;Yt(a,g);b=b+-1|0}while((b|0)!=0);b=d+-1-c|0;c=f[v>>2]|0}f[v>>2]=c+(b*146|0);if(!b){u=y;return}do{v=(f[w>>2]|0)+-4|0;f[g>>2]=f[v>>2];f[w>>2]=v;Bt(a,g);b=b+-1|0}while((b|0)!=0);u=y;return}q=(k*146|0)+(j<<31>>31)|0;c=e>>1;s=i+d|0;c=c>>>0>>0?s:c;f[g+12>>2]=0;f[g+16>>2]=a+12;do if(!c)e=0;else{if(c>>>0<=1073741823){e=VN(c<<2)|0;break}b=Ta(8)|0;x=0;Ga(461,b|0,60050);y=x;x=0;if(y&1){y=Ya()|0;bb(b|0);jb(y|0)}else{f[b>>2]=29784;fb(b|0,6192,412)}}while(0);f[g>>2]=e;s=g+8|0;f[s>>2]=e;p=g+4|0;f[p>>2]=e;h=g+12|0;f[h>>2]=e+(c<<2);while(1){x=0;c=qa(318,4088)|0;o=x;x=0;if(o&1){o=28;break}f[m>>2]=c;x=0;Ga(517,g|0,m|0);o=x;x=0;if(o&1){o=28;break}d=d+-1|0;if(!d){o=22;break}}b:do if((o|0)==22){c:do if(!b)b=f[w>>2]|0;else{c=f[w>>2]|0;m=f[s>>2]|0;d:while(1){o=c+-4|0;n=f[h>>2]|0;d=n;do if((m|0)==(n|0)){n=f[p>>2]|0;l=f[g>>2]|0;c=l;if(n>>>0>l>>>0){m=n;e=((m-c>>2)+1|0)/-2|0;i=n+(e<<2)|0;c=d-m|0;d=c>>2;if(!d)c=n;else{DP(i|0,n|0,c|0)|0;c=f[p>>2]|0}n=i+(d<<2)|0;f[s>>2]=n;f[p>>2]=c+(e<<2);c=n;break}c=d-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=37;break d}x=0;d=qa(318,c<<2|0)|0;k=x;x=0;if(k&1){o=46;break d}j=d;e=d+(c>>>2<<2)|0;k=e;i=d+(c<<2)|0;if((n|0)==(m|0))c=k;else{c=k;d=n;do{f[e>>2]=f[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(m|0))}f[g>>2]=j;f[p>>2]=k;f[s>>2]=c;f[h>>2]=i;if(l){Hta(l);c=f[s>>2]|0}}else c=m;while(0);f[c>>2]=f[o>>2];m=(f[s>>2]|0)+4|0;f[s>>2]=m;c=(f[w>>2]|0)+-4|0;f[w>>2]=c;b=b+-1|0;if(!b){b=c;break c}}do if((o|0)==37){b=Ta(8)|0;x=0;Ga(461,b|0,60050);y=x;x=0;if(y&1){y=Ya()|0;bb(b|0);b=y;break}else{f[b>>2]=29784;x=0;Ia(77,b|0,6192,412);x=0;b=Ya()|0;break}}else if((o|0)==46)b=Ya()|0;while(0);n=b;break b}while(0);e=f[t>>2]|0;e:do if((e|0)==(b|0)){i=p;j=s;d=f[s>>2]|0}else{d=f[s>>2]|0;f:while(1){o=f[h>>2]|0;c=o;do if((d|0)==(o|0)){n=f[p>>2]|0;m=f[g>>2]|0;b=m;if(n>>>0>m>>>0){o=n;d=((o-b>>2)+1|0)/-2|0;i=n+(d<<2)|0;b=c-o|0;c=b>>2;if(!c)b=n;else{DP(i|0,n|0,b|0)|0;b=f[p>>2]|0}o=i+(c<<2)|0;f[s>>2]=o;f[p>>2]=b+(d<<2);b=o;break}b=c-b>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=63;break f}x=0;c=qa(318,b<<2|0)|0;o=x;x=0;if(o&1){o=72;break f}k=c;i=c+(b>>>2<<2)|0;l=i;j=c+(b<<2)|0;if((n|0)==(d|0))b=l;else{b=l;c=n;do{f[i>>2]=f[c>>2];i=b+4|0;b=i;c=c+4|0}while((c|0)!=(d|0))}f[g>>2]=k;f[p>>2]=l;f[s>>2]=b;f[h>>2]=j;if(m){Hta(m);b=f[s>>2]|0}}else b=d;while(0);f[b>>2]=f[e>>2];d=(f[s>>2]|0)+4|0;f[s>>2]=d;e=e+4|0;b=f[w>>2]|0;if((e|0)==(b|0)){o=51;break}}do if((o|0)==51){i=p;j=s;e=f[t>>2]|0;break e}else if((o|0)==63){b=Ta(8)|0;x=0;Ga(461,b|0,60050);y=x;x=0;if(y&1){y=Ya()|0;bb(b|0);b=y;break}else{f[b>>2]=29784;x=0;Ia(77,b|0,6192,412);x=0;b=Ya()|0;break}}else if((o|0)==72)b=Ya()|0;while(0);n=b;break b}while(0);c=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=c;f[t>>2]=f[i>>2];f[i>>2]=e;f[w>>2]=d;f[j>>2]=b;w=f[r>>2]|0;f[r>>2]=f[h>>2];f[h>>2]=w;f[v>>2]=q+(f[v>>2]|0);if((b|0)!=(e|0))f[s>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(c|0)Hta(c);u=y;return}else if((o|0)==28){b=Za(0)|0;Ua(b|0)|0;b=f[p>>2]|0;if((b|0)!=(f[s>>2]|0))do{Hta(f[b>>2]|0);b=b+4|0}while((b|0)!=(f[s>>2]|0));x=0;Ea(3);x=0;b=Ya()|0;x=0;Ea(4);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else n=b}while(0);b=f[p>>2]|0;c=f[s>>2]|0;if((c|0)!=(b|0))f[s>>2]=c+(~((c+-4-b|0)>>>2)<<2);b=f[g>>2]|0;if(!b)jb(n|0);Hta(b);jb(n|0)}function gg(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;n=0;l=u;u=u+80|0;o=l+56|0;k=l+52|0;j=l+48|0;r=l+36|0;q=l+24|0;p=l+12|0;m=l;xp(r);i=c+12|0;g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=66}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=7}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=66;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=7}if((n|0)==7)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(16,q|0,o|0,r|0,r|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=69;break}Hta(f[o>>2]|0);n=69;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=70}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=17}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=70;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=17}if((n|0)==17)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(17,p|0,o|0,r|0,r|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=73;break}Hta(f[o>>2]|0);n=73;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=74}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=27}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=74;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=27}if((n|0)==27)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(42,m|0,p|0,q|0,o|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=77;break}Hta(f[o>>2]|0);n=77;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);x=0;d=ta(44,82616,53422,16)|0;i=x;x=0;a:do if(i&1)n=78;else{x=0;d=sa(993,d|0,(f[c>>2]|0)+1|0)|0;i=x;x=0;if(i&1)n=78;else{x=0;d=ta(44,d|0,53439,9)|0;i=x;x=0;if(i&1)n=78;else{x=0;d=sa(993,d|0,(f[c+4>>2]|0)+1|0)|0;c=x;x=0;if(c&1)n=78;else{x=0;d=ta(44,d|0,53449,4)|0;c=x;x=0;if(c&1){n=78;break}e=m+11|0;c=b[e>>0]|0;i=c<<24>>24<0;x=0;d=ta(44,d|0,(i?f[m>>2]|0:m)|0,(i?f[m+4>>2]|0:c&255)|0)|0;c=x;x=0;if(c&1){n=78;break}x=0;g=ta(44,d|0,53454,1)|0;c=x;x=0;if(c&1){n=78;break}x=0;Ga(536,j|0,g+(f[(f[g>>2]|0)+-12>>2]|0)|0);c=x;x=0;if(c&1){n=78;break}x=0;d=sa(994,j|0,83320)|0;c=x;x=0;do if(!(c&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;c=x;x=0;if(c&1)break;uga(j);x=0;sa(1012,g|0,d|0)|0;j=x;x=0;if(j&1){n=78;break a}x=0;qa(341,g|0)|0;j=x;x=0;if(j&1){n=78;break a}g=b[a+11>>0]|0;j=g<<24>>24<0;x=0;g=ta(44,82616,(j?f[a>>2]|0:a)|0,(j?f[a+4>>2]|0:g&255)|0)|0;j=x;x=0;if(j&1){n=78;break a}x=0;Ga(536,k|0,g+(f[(f[g>>2]|0)+-12>>2]|0)|0);j=x;x=0;if(j&1){n=78;break a}x=0;d=sa(994,k|0,83320)|0;j=x;x=0;do if(!(j&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;j=x;x=0;if(j&1)break;uga(k);x=0;sa(1012,g|0,d|0)|0;k=x;x=0;if(k&1){n=78;break a}x=0;qa(341,g|0)|0;k=x;x=0;if(k&1){n=78;break a}x=0;Ga(536,o|0,g+(f[(f[g>>2]|0)+-12>>2]|0)|0);k=x;x=0;if(k&1){n=78;break a}x=0;d=sa(994,o|0,83320)|0;k=x;x=0;do if(!(k&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;k=x;x=0;if(k&1)break;uga(o);x=0;sa(1012,g|0,d|0)|0;o=x;x=0;if(o&1){n=78;break a}x=0;qa(341,g|0)|0;o=x;x=0;if(o&1){n=78;break a}if((b[e>>0]|0)<0)Hta(f[m>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[r+11>>0]|0)>=0){u=l;return}Hta(f[r>>2]|0);u=l;return}while(0);d=Ya()|0;uga(o);break a}while(0);d=Ya()|0;uga(k);break a}while(0);d=Ya()|0;uga(j)}}}}while(0);if((n|0)==78){d=Ya()|0;e=m+11|0}if((b[e>>0]|0)<0)Hta(f[m>>2]|0)}while(0);if((n|0)==74){d=Ya()|0;n=77}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}while(0);if((n|0)==70){d=Ya()|0;n=73}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}while(0);if((n|0)==66){d=Ya()|0;n=69}if((b[r+11>>0]|0)>=0)jb(d|0);Hta(f[r>>2]|0);jb(d|0)}function hg(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=0;y=u;u=u+320|0;t=y;E=y+296|0;w=y+248|0;o=y+208|0;k=y+288|0;C=y+152|0;n=y+168|0;q=y+160|0;r=y+144|0;m=y+124|0;p=y+112|0;B=y+136|0;s=y+104|0;v=y+64|0;A=y+48|0;z=y+40|0;Zw(c,1,0)|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(E);if(i>>>0<11){b[E+11>>0]=i;d=E}else{l=i+16&-16;d=VN(l)|0;f[E>>2]=d;f[E+8>>2]=l|-2147483648;f[E+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;d=c+108|0;i=w;j=d;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));x=0;ta(82,c|0,1,0)|0;l=x;x=0;if(l&1)d=Ya()|0;else{i=o;j=d;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));d=c+76|0;e=f[d>>2]|0;x=0;Ia(114,k|0,c|0,0);l=x;x=0;do if(l&1)d=Ya()|0;else{_P(k);d=f[d>>2]|0;x=0;ta(91,c|0,1,0)|0;l=x;x=0;if(l&1){d=Ya()|0;break}x=0;h=qa(318,88)|0;l=x;x=0;a:do if(l&1)d=Ya()|0;else{i=n;j=o;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));f[m>>2]=e;f[m+4>>2]=e;f[m+8>>2]=d;x=0;f[t>>2]=f[m>>2];f[t+4>>2]=f[m+4>>2];f[t+8>>2]=f[m+8>>2];Ka(9,r|0,c|0,t|0,0,1);m=x;x=0;do if(m&1)d=Ya()|0;else{x=0;Ga(462,q|0,f[r+4>>2]|0);m=x;x=0;if(m&1){d=Ya()|0;_P(r);break}f[q>>2]=7696;g=p+11|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;x=0;i=t;j=n;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));La(13,h|0,t|0,q|0,p|0,0,0);n=x;x=0;if(n&1)e=1;else{x=0;Ga(462,C|0,h|0);n=x;x=0;if(n&1)e=0;else{f[C>>2]=10408;if((b[g>>0]|0)<0)Hta(f[p>>2]|0);_P(q);_P(r);x=0;k=qa(318,84)|0;r=x;x=0;b:do if(r&1)D=51;else{i=t;j=o;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));x=0;Fa(427,k|0);r=x;x=0;do if(r&1)d=Ya()|0;else{i=k+12|0;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));f[k>>2]=10464;b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;f[k+56>>2]=0;d=k+60|0;f[d>>2]=10424;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(555,i|0,0);r=x;x=0;if(r&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{B=g+-8|0;f[j>>2]=B;Kc[f[f[B>>2]>>2]&511](B);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=10240;f[d>>2]=10368;b[k+80>>0]=0;b[k+81>>0]=0;b[k+82>>0]=0;x=0;Ga(462,B|0,k|0);r=x;x=0;if(r&1){D=51;break b}f[B>>2]=9376;g=B+4|0;d=(f[g>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,s|0,f[C+4>>2]|0);r=x;x=0;c:do if(r&1)D=54;else{f[s>>2]=10408;x=0;Ga(e|0,d|0,s|0);r=x;x=0;if(r&1){d=Ya()|0;_P(s);break}_P(s);x=0;h=qa(318,100)|0;s=x;x=0;if(s&1){D=54;break}i=v;j=w;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));x=0;Ga(459,A|0,E|0);w=x;x=0;do if(w&1)d=Ya()|0;else{x=0;Ga(462,z|0,f[g>>2]|0);w=x;x=0;if(w&1){d=Ya()|0;e=1}else{f[z>>2]=9376;x=0;i=t;j=v;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(22,h|0,t|0,A|0,z|0);w=x;x=0;do if(w&1)d=1;else{x=0;Ga(462,a|0,h|0);w=x;x=0;if(w&1){d=0;break}f[a>>2]=16816;_P(z);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);_P(B);_P(C);if((b[E+11>>0]|0)>=0){u=y;return}Hta(f[E>>2]|0);u=y;return}while(0);y=Ya()|0;_P(z);e=d;d=y}if((b[A+11>>0]|0)<0){Hta(f[A>>2]|0);if(e)break;else break c}else if(e)break;else break c}while(0);Hta(h)}while(0);if((D|0)==54)d=Ya()|0;_P(B);break b}while(0);Hta(k)}while(0);if((D|0)==51)d=Ya()|0;_P(C);break a}}d=Ya()|0;if((b[g>>0]|0)<0)Hta(f[p>>2]|0);_P(q);_P(r);if(!e)break a}while(0);Hta(h)}while(0)}while(0)}if((b[E+11>>0]|0)>=0)jb(d|0);Hta(f[E>>2]|0);jb(d|0)}function ig(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.0,l=0.0,m=0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,J=0,L=0,M=0;D=0;J=u;u=u+240|0;L=J+192|0;n=J+152|0;w=J+140|0;M=J+128|0;B=J+76|0;C=J+12|0;j=J+88|0;F=J+64|0;E=J+24|0;H=J;f[L+8>>2]=0;i=L+11|0;b[i>>0]=7;b[L>>0]=b[39332]|0;b[L+1>>0]=b[39333]|0;b[L+2>>0]=b[39334]|0;b[L+3>>0]=b[39335]|0;b[L+4>>0]=b[39336]|0;b[L+5>>0]=b[39337]|0;b[L+6>>0]=b[39338]|0;b[L+7>>0]=0;x=0;c=sa(992,a|0,L|0)|0;A=x;x=0;if(A&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[L>>2]|0);M=c;jb(M|0)}c=f[c+4>>2]|0;if(!c)c=0;else c=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[i>>0]|0)<0)Hta(f[L>>2]|0);if(!c){m=VN(80)|0;y=n;z=g;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;j=C+11|0;b[j>>0]=6;b[C>>0]=b[39245]|0;b[C+1>>0]=b[39246]|0;b[C+2>>0]=b[39247]|0;b[C+3>>0]=b[39248]|0;b[C+4>>0]=b[39249]|0;b[C+5>>0]=b[39250]|0;b[C+6>>0]=0;x=0;c=sa(992,a|0,C|0)|0;g=x;x=0;if(g&1)D=24;else{c=f[c+4>>2]|0;i=f[(f[c>>2]|0)+28>>2]|0;x=0;y=L;z=f[d+16>>2]|0;A=y+12|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));Ia(i|0,B|0,c|0,L|0);g=x;x=0;if(g&1)D=24;else{x=0;Ia(92,M|0,39340,B|0);g=x;x=0;if(g&1)c=Ya()|0;else{x=0;c=sa(991,M|0,49838)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[w>>2]=f[c>>2];f[w+4>>2]=f[c+4>>2];f[w+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;y=L;z=n;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));Na(1,m|0,L|0,w|0,0,0,0,1,1);L=x;x=0;if(L&1){c=Ya()|0;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[j>>0]|0)<0)Hta(f[C>>2]|0);M=m;u=J;return M|0}while(0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0)}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}}if((D|0)==24)c=Ya()|0;if((b[j>>0]|0)<0)Hta(f[C>>2]|0);Hta(m);M=c;jb(M|0)}f[M+8>>2]=0;w=M+11|0;b[w>>0]=7;b[M>>0]=b[39332]|0;b[M+1>>0]=b[39333]|0;b[M+2>>0]=b[39334]|0;b[M+3>>0]=b[39335]|0;b[M+4>>0]=b[39336]|0;b[M+5>>0]=b[39337]|0;b[M+6>>0]=b[39338]|0;b[M+7>>0]=0;y=j;z=g;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));x=0;Ga(511,F|0,h|0);D=x;x=0;do if(D&1)c=Ya()|0;else{x=0;y=L;z=j;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));G=+ka(1,M|0,a|0,e|0,L|0,F|0,-0.0,100.0);D=x;x=0;if(D&1){c=Ya()|0;n=I;i=f[F>>2]|0;if(!i)break;d=F+4|0;j=f[d>>2]|0;if((j|0)!=(i|0)){do{m=j+-52|0;f[d>>2]=m;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[d>>2]|0}else j=m}while((j|0)!=(i|0));i=f[F>>2]|0}Hta(i);break}c=f[F>>2]|0;if(c|0){m=F+4|0;i=f[m>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(c|0));c=f[F>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[M>>2]|0);f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;w=M+11|0;b[w>>0]=6;b[M>>0]=b[39245]|0;b[M+1>>0]=b[39246]|0;b[M+2>>0]=b[39247]|0;b[M+3>>0]=b[39248]|0;b[M+4>>0]=b[39249]|0;b[M+5>>0]=b[39250]|0;b[M+6>>0]=0;y=E;z=g;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));x=0;Ga(511,H|0,h|0);F=x;x=0;do if(F&1)c=Ya()|0;else{x=0;y=L;z=E;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));n=wa(26,M|0,a|0,e|0,L|0,H|0)|0;F=x;x=0;if(F&1){c=Ya()|0;n=I;i=f[H>>2]|0;if(!i)break;d=H+4|0;j=f[d>>2]|0;if((j|0)!=(i|0)){do{m=j+-52|0;f[d>>2]=m;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[d>>2]|0}else j=m}while((j|0)!=(i|0));i=f[H>>2]|0}Hta(i);break}c=f[H>>2]|0;if(c|0){m=H+4|0;i=f[m>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(c|0));c=f[H>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[M>>2]|0);q=+p[n+64>>3]/255.0;r=+p[n+72>>3]/255.0;s=+p[n+80>>3]/255.0;c=r100.0?100.0:l;k=+p[n+88>>3];y=L;z=g;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));M=Wo(q,l,o,k,0,L)|0;u=J;return M|0}while(0);if((b[w>>0]|0)<0)Hta(f[M>>2]|0);M=c;jb(M|0)}while(0);if((b[w>>0]|0)<0)Hta(f[M>>2]|0);M=c;jb(M|0);return 0}function jg(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,t=0,v=0,w=0,y=0;v=0;r=u;u=u+224|0;q=r+40|0;y=r;w=r+168|0;c=r+176|0;m=r+152|0;t=r+104|0;l=r+112|0;p=r+88|0;n=r+80|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;o=y+11|0;b[o>>0]=4;f[y>>2]=1885433124;b[y+4>>0]=0;d=c;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));x=0;Ga(511,m|0,h|0);k=x;x=0;if(k&1)j=Ya()|0;else{x=0;d=q;i=c;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));c=ya(40,y|0,a|0,e|0,q|0,m|0,0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,w|0,c|0);k=x;x=0;if(!(k&1)){f[w>>2]=16784;c=f[m>>2]|0;if(c|0){k=m+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[k>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=i}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[y>>2]|0);f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;m=y+11|0;b[m>>0]=4;f[y>>2]=2036689700;b[y+4>>0]=0;d=l;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));x=0;Ga(511,p|0,h|0);o=x;x=0;do if(o&1){j=Ya()|0;v=50}else{x=0;d=q;i=l;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));c=wa(25,y|0,a|0,e|0,q|0,p|0)|0;o=x;x=0;if(!(o&1)){x=0;Ga(462,t|0,c|0);o=x;x=0;if(!(o&1)){f[t>>2]=7696;c=f[p>>2]|0;if(c|0){k=p+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[k>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=i}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[y>>2]|0);c=f[w+4>>2]|0;x=0;Ga(462,n|0,f[t+4>>2]|0);p=x;x=0;do if(p&1){d=_a(6208,0)|0;c=I}else{f[n>>2]=7696;x=0;Ia(78,q|0,c+60|0,n|0);p=x;x=0;if(p&1){d=_a(6208,0)|0;c=I;_P(n);break}_P(n);c=q+4|0;d=f[c>>2]|0;do if(!d){x=0;c=qa(318,60)|0;p=x;x=0;if(p&1)v=55;else{d=y;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));x=0;Fa(427,c|0);p=x;x=0;if(p&1){d=_a(6208,0)|0;y=I;Hta(c);c=y;break}else{d=c+12|0;i=y;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=13152;f[c+56>>2]=8;j=c;v=60;break}}}else{x=0;Ga(f[(f[d>>2]|0)+100>>2]|0,d|0,0);y=x;x=0;if(y&1)v=55;else{j=f[c>>2]|0;if(!j){j=0;v=60;break}b[j+8>>0]=1;v=60}}while(0);if((v|0)==55){d=_a(6208,0)|0;c=I}else if((v|0)==60){_P(q);y=j;_P(t);_P(w);u=r;return y|0}_P(q)}while(0);y=(c|0)==(Sb(6208)|0);Ua(d|0)|0;a:do if(y){x=0;c=qa(318,60)|0;y=x;x=0;do if(y&1)c=Ya()|0;else{d=q;i=g;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));x=0;Fa(427,c|0);y=x;x=0;if(y&1){y=Ya()|0;Hta(c);c=y;break}d=c+12|0;i=q;k=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(k|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=13152;f[c+56>>2]=8;x=0;Ea(4);y=x;x=0;if(y&1){j=Ya()|0;break a}y=c;_P(t);_P(w);u=r;return y|0}while(0);x=0;Ea(4);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else j=c}else{x=0;Ea(3);x=0;c=Ya()|0;x=0;Ea(4);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else j=c}while(0);_P(t);break}}j=Ya()|0;k=I;c=f[p>>2]|0;if(!c)v=50;else{l=p+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c);v=50}}while(0);if((v|0)==50)if((b[m>>0]|0)<0)Hta(f[y>>2]|0);_P(w);y=j;jb(y|0)}}j=Ya()|0;k=I;c=f[m>>2]|0;if(c){l=m+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){i=d;while(1){d=i+-52|0;f[l>>2]=d;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);d=f[l>>2]|0}if((d|0)==(c|0))break;else i=d}c=f[m>>2]|0}Hta(c)}}if((b[o>>0]|0)<0)Hta(f[y>>2]|0);y=j;jb(y|0);return 0}function kg(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=u;u=u+272|0;z=B;A=B+256|0;v=B+200|0;w=B+160|0;d=B+216|0;m=B+144|0;h=B+88|0;y=B+104|0;E=B+80|0;D=B+64|0;r=B+56|0;s=B+48|0;t=B+40|0;F=c+164|0;G=f[F>>2]|0;C=G+1|0;f[F>>2]=C;if(C>>>0>512){l=Ta(84)|0;o=d;p=c+108|0;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(511,m|0,c+148|0);E=x;x=0;do if(E&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);E=x;x=0;if(E&1){d=Ya()|0;k=I;g=1}else{x=0;o=z;p=d;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ja(28,l|0,z|0,m|0,h|0);E=x;x=0;if(E&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[F>>2]=G;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){E=d;f[F>>2]=G;jb(E|0)}}while(0);bb(l|0);E=d;f[F>>2]=G;jb(E|0)}x=0;ta(52,c|0,0,0)|0;C=x;x=0;if(!(C&1)){i=c+128|0;x=0;Ga(576,c+108|0,i|0);C=x;x=0;if(!(C&1)){f[c+132>>2]=0;f[i>>2]=0;j=c+108|0;o=y;p=j;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(582,E|0,c|0);C=x;x=0;if(C&1)d=Ya()|0;else{f[D>>2]=0;C=D+4|0;f[C>>2]=0;f[D+8>>2]=0;k=c+168|0;l=c+76|0;m=c+84|0;n=c+96|0;e=D+8|0;g=z+4|0;while(1){f[z>>2]=f[k>>2];f[z+4>>2]=f[k+4>>2];f[z+8>>2]=f[k+8>>2];h=f[l>>2]|0;f[A>>2]=f[m>>2];f[A+4>>2]=f[m+4>>2];f[A+8>>2]=f[m+8>>2];f[v>>2]=f[n>>2];f[v+4>>2]=f[n+4>>2];f[v+8>>2]=f[n+8>>2];o=w;p=j;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;ta(52,c|0,1,0)|0;q=x;x=0;if(q&1){g=35;break}x=0;d=ta(72,c|0,1,0)|0;q=x;x=0;if(q&1){g=35;break}if(!d){g=26;break}x=0;Ga(582,z|0,c|0);q=x;x=0;if(q&1){g=36;break}d=f[C>>2]|0;if(d>>>0<(f[e>>2]|0)>>>0){x=0;Ga(462,d|0,f[g>>2]|0);q=x;x=0;if(q&1){g=37;break}f[d>>2]=7696;f[C>>2]=(f[C>>2]|0)+8}else{x=0;Ga(554,D|0,z|0);q=x;x=0;if(q&1){g=37;break}}_P(z)}a:do if((g|0)==26){o=j;p=w;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));f[k>>2]=f[z>>2];f[k+4>>2]=f[z+4>>2];f[k+8>>2]=f[z+8>>2];f[l>>2]=h;f[n>>2]=f[v>>2];f[n+4>>2]=f[v+4>>2];f[n+8>>2]=f[v+8>>2];f[m>>2]=f[A>>2];f[m+4>>2]=f[A+4>>2];f[m+8>>2]=f[A+8>>2];b:do if((f[C>>2]|0)==(f[D>>2]|0)){x=0;Ga(462,a|0,f[E+4>>2]|0);A=x;x=0;if(A&1){g=35;break a}f[a>>2]=7696}else{x=0;Ga(462,r|0,f[E+4>>2]|0);w=x;x=0;do if(w&1){d=Ya()|0;e=I}else{f[r>>2]=7696;f[s>>2]=1;b[s+4>>0]=0;b[s+5>>0]=0;x=0;b[z>>0]=b[s>>0]|0;b[z+1>>0]=b[s+1>>0]|0;b[z+2>>0]=b[s+2>>0]|0;b[z+3>>0]=b[s+3>>0]|0;b[z+4>>0]=b[s+4>>0]|0;b[z+5>>0]=b[s+5>>0]|0;b[z+6>>0]=b[s+6>>0]|0;b[z+7>>0]=b[s+7>>0]|0;Ka(10,A|0,0,r|0,D|0,z|0);w=x;x=0;if(w&1){d=Ya()|0;e=I;_P(r);break}_P(r);x=0;Ia(116,t|0,j|0,y|0);w=x;x=0;do if(w&1)g=49;else{x=0;Ia(117,z|0,t|0,i|0);w=x;x=0;if(w&1)g=49;else{v=z;w=f[v+4>>2]|0;z=y+20|0;f[z>>2]=f[v>>2];f[z+4>>2]=w;z=f[A+4>>2]|0;DP(z+12|0,y|0,40)|0;x=0;Ga(462,a|0,z|0);z=x;x=0;if(z&1){d=Ya()|0;e=I;break}else{f[a>>2]=7696;_P(A);break b}}}while(0);if((g|0)==49){d=Ya()|0;e=I}_P(A)}while(0);h=e;break a}while(0);d=f[D>>2]|0;if(!d){_P(E);f[F>>2]=G;u=B;return}e=f[C>>2]|0;if((e|0)!=(d|0)){do{A=e+-8|0;f[C>>2]=A;Kc[f[f[A>>2]>>2]&511](A);e=f[C>>2]|0}while((e|0)!=(d|0));d=f[D>>2]|0}Hta(d);_P(E);f[F>>2]=G;u=B;return}else if((g|0)==36){d=Ya()|0;e=I;g=38}else if((g|0)==37){d=Ya()|0;e=I;_P(z);g=38}while(0);if((g|0)==35){d=Ya()|0;h=I}else if((g|0)==38)h=e;e=f[D>>2]|0;if(e|0){g=f[C>>2]|0;if((g|0)!=(e|0)){do{B=g+-8|0;f[C>>2]=B;Kc[f[f[B>>2]>>2]&511](B);g=f[C>>2]|0}while((g|0)!=(e|0));e=f[D>>2]|0}Hta(e)}_P(E)}E=d;f[F>>2]=G;jb(E|0)}}E=Ya()|0;f[F>>2]=G;jb(E|0)}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,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=u;u=u+272|0;z=B;A=B+256|0;v=B+200|0;w=B+160|0;d=B+216|0;m=B+144|0;h=B+88|0;y=B+104|0;E=B+80|0;D=B+64|0;r=B+56|0;s=B+48|0;t=B+40|0;F=c+164|0;G=f[F>>2]|0;C=G+1|0;f[F>>2]=C;if(C>>>0>512){l=Ta(84)|0;o=d;p=c+108|0;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(511,m|0,c+148|0);E=x;x=0;do if(E&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);E=x;x=0;if(E&1){d=Ya()|0;k=I;g=1}else{x=0;o=z;p=d;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ja(28,l|0,z|0,m|0,h|0);E=x;x=0;if(E&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[F>>2]=G;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){E=d;f[F>>2]=G;jb(E|0)}}while(0);bb(l|0);E=d;f[F>>2]=G;jb(E|0)}x=0;ta(52,c|0,0,0)|0;C=x;x=0;if(!(C&1)){i=c+128|0;x=0;Ga(576,c+108|0,i|0);C=x;x=0;if(!(C&1)){f[c+132>>2]=0;f[i>>2]=0;j=c+108|0;o=y;p=j;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(583,E|0,c|0);C=x;x=0;if(C&1)d=Ya()|0;else{f[D>>2]=0;C=D+4|0;f[C>>2]=0;f[D+8>>2]=0;k=c+168|0;l=c+76|0;m=c+84|0;n=c+96|0;e=D+8|0;g=z+4|0;while(1){f[z>>2]=f[k>>2];f[z+4>>2]=f[k+4>>2];f[z+8>>2]=f[k+8>>2];h=f[l>>2]|0;f[A>>2]=f[m>>2];f[A+4>>2]=f[m+4>>2];f[A+8>>2]=f[m+8>>2];f[v>>2]=f[n>>2];f[v+4>>2]=f[n+4>>2];f[v+8>>2]=f[n+8>>2];o=w;p=j;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;ta(52,c|0,1,0)|0;q=x;x=0;if(q&1){g=35;break}x=0;d=ta(73,c|0,1,0)|0;q=x;x=0;if(q&1){g=35;break}if(!d){g=26;break}x=0;Ga(583,z|0,c|0);q=x;x=0;if(q&1){g=36;break}d=f[C>>2]|0;if(d>>>0<(f[e>>2]|0)>>>0){x=0;Ga(462,d|0,f[g>>2]|0);q=x;x=0;if(q&1){g=37;break}f[d>>2]=7696;f[C>>2]=(f[C>>2]|0)+8}else{x=0;Ga(554,D|0,z|0);q=x;x=0;if(q&1){g=37;break}}_P(z)}a:do if((g|0)==26){o=j;p=w;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));f[k>>2]=f[z>>2];f[k+4>>2]=f[z+4>>2];f[k+8>>2]=f[z+8>>2];f[l>>2]=h;f[n>>2]=f[v>>2];f[n+4>>2]=f[v+4>>2];f[n+8>>2]=f[v+8>>2];f[m>>2]=f[A>>2];f[m+4>>2]=f[A+4>>2];f[m+8>>2]=f[A+8>>2];b:do if((f[C>>2]|0)==(f[D>>2]|0)){x=0;Ga(462,a|0,f[E+4>>2]|0);A=x;x=0;if(A&1){g=35;break a}f[a>>2]=7696}else{x=0;Ga(462,r|0,f[E+4>>2]|0);w=x;x=0;do if(w&1){d=Ya()|0;e=I}else{f[r>>2]=7696;f[s>>2]=0;b[s+4>>0]=0;b[s+5>>0]=0;x=0;b[z>>0]=b[s>>0]|0;b[z+1>>0]=b[s+1>>0]|0;b[z+2>>0]=b[s+2>>0]|0;b[z+3>>0]=b[s+3>>0]|0;b[z+4>>0]=b[s+4>>0]|0;b[z+5>>0]=b[s+5>>0]|0;b[z+6>>0]=b[s+6>>0]|0;b[z+7>>0]=b[s+7>>0]|0;Ka(10,A|0,0,r|0,D|0,z|0);w=x;x=0;if(w&1){d=Ya()|0;e=I;_P(r);break}_P(r);x=0;Ia(116,t|0,j|0,y|0);w=x;x=0;do if(w&1)g=49;else{x=0;Ia(117,z|0,t|0,i|0);w=x;x=0;if(w&1)g=49;else{v=z;w=f[v+4>>2]|0;z=y+20|0;f[z>>2]=f[v>>2];f[z+4>>2]=w;z=f[A+4>>2]|0;DP(z+12|0,y|0,40)|0;x=0;Ga(462,a|0,z|0);z=x;x=0;if(z&1){d=Ya()|0;e=I;break}else{f[a>>2]=7696;_P(A);break b}}}while(0);if((g|0)==49){d=Ya()|0;e=I}_P(A)}while(0);h=e;break a}while(0);d=f[D>>2]|0;if(!d){_P(E);f[F>>2]=G;u=B;return}e=f[C>>2]|0;if((e|0)!=(d|0)){do{A=e+-8|0;f[C>>2]=A;Kc[f[f[A>>2]>>2]&511](A);e=f[C>>2]|0}while((e|0)!=(d|0));d=f[D>>2]|0}Hta(d);_P(E);f[F>>2]=G;u=B;return}else if((g|0)==36){d=Ya()|0;e=I;g=38}else if((g|0)==37){d=Ya()|0;e=I;_P(z);g=38}while(0);if((g|0)==35){d=Ya()|0;h=I}else if((g|0)==38)h=e;e=f[D>>2]|0;if(e|0){g=f[C>>2]|0;if((g|0)!=(e|0)){do{B=g+-8|0;f[C>>2]=B;Kc[f[f[B>>2]>>2]&511](B);g=f[C>>2]|0}while((g|0)!=(e|0));e=f[D>>2]|0}Hta(e)}_P(E)}E=d;f[F>>2]=G;jb(E|0)}}E=Ya()|0;f[F>>2]=G;jb(E|0)}function mg(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0;i=0;y=u;u=u+96|0;A=y+80|0;d=y+72|0;g=y+56|0;h=y+40|0;z=y+64|0;s=y+32|0;t=y+24|0;v=y+16|0;q=y+8|0;r=y;w=y+48|0;e=b+76|0;qV(d,f[e>>2]|0);f[d>>2]=7168;c=f[d+4>>2]|0;if(!c)c=0;else c=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,A|0,c|0);p=x;x=0;if(p&1){A=Ya()|0;_P(d);jb(A|0)}f[A>>2]=7168;_P(d);d=A+4|0;c=f[d>>2]|0;a:do if(!c)i=53;else{x=0;c=sa(1049,0,c|0)|0;p=x;x=0;if(!(p&1)){x=0;Ga(462,h|0,c|0);p=x;x=0;if(!(p&1)){f[h>>2]=7168;c=b+72|0;if(!(f[e>>2]|0))i=9;else{x=0;Fa(429,c|0);p=x;x=0;if(!(p&1))i=9}if((i|0)==9){f[e>>2]=f[h+4>>2];x=0;Fa(430,c|0);p=x;x=0;if(!(p&1)){x=0;Ga(462,g|0,f[e>>2]|0);p=x;x=0;if(!(p&1)){f[g>>2]=7168;_P(g);_P(h);j=f[d>>2]|0;c=f[j+76>>2]|0;j=f[j+80>>2]|0;if((c|0)==(j|0)){i=53;break}k=z+4|0;l=s+4|0;m=w+4|0;n=t+4|0;o=v+4|0;p=r+4|0;b:while(1){x=0;Ga(462,z|0,f[c+4>>2]|0);i=x;x=0;if(i&1){i=22;break}f[z>>2]=15556;d=f[k>>2]|0;if(d|0)do{x=0;Ga(462,s|0,f[d+80>>2]|0);i=x;x=0;if(i&1){i=23;break b}f[s>>2]=15572;i=(f[l>>2]|0)==0;_P(s);do if(!i){x=0;Ga(462,t|0,f[(f[k>>2]|0)+80>>2]|0);i=x;x=0;if(i&1){i=24;break b}f[t>>2]=15572;i=f[n>>2]|0;_P(t);d=f[i+76>>2]|0;i=f[i+80>>2]|0;if((d|0)==(i|0))break;do{g=f[d+4>>2]|0;c:do if(g|0){if((f[37]|0)!=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0))break;h=g+108|0;x=0;Ga(462,v|0,f[h>>2]|0);e=x;x=0;if(e&1){i=39;break b}f[v>>2]=7168;e=f[o>>2]|0;do if(e|0){if((f[517]|0)!=(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0))break;_P(v);x=0;e=sa(1049,0,e|0)|0;B=x;x=0;if(B&1){i=40;break b}x=0;Fa(431,e|0);B=x;x=0;if(B&1){i=40;break b}x=0;Ga(462,r|0,e|0);B=x;x=0;if(B&1){i=40;break b}f[r>>2]=7168;e=g+104|0;if(f[h>>2]|0){x=0;Fa(429,e|0);B=x;x=0;if(B&1){i=41;break b}}f[h>>2]=f[p>>2];x=0;Fa(430,e|0);B=x;x=0;if(B&1){i=41;break b}x=0;Ga(462,q|0,f[h>>2]|0);B=x;x=0;if(B&1){i=41;break b}f[q>>2]=7168;_P(q);_P(r);break c}while(0);_P(v)}while(0);d=d+8|0}while((d|0)!=(i|0))}while(0);x=0;Ga(462,w|0,f[(f[k>>2]|0)+88>>2]|0);B=x;x=0;if(B&1){i=47;break b}f[w>>2]=15556;if(f[k>>2]|0){x=0;Fa(429,z|0);B=x;x=0;if(B&1){i=48;break b}}f[k>>2]=f[m>>2];f[m>>2]=0;_P(w);d=f[k>>2]|0}while((d|0)!=0);_P(z);c=c+8|0;if((c|0)==(j|0)){i=53;break a}}if((i|0)==22)c=Ya()|0;else if((i|0)==23){c=Ya()|0;i=51}else if((i|0)==24){c=Ya()|0;i=51}else if((i|0)==39){c=Ya()|0;i=51}else if((i|0)==40){c=Ya()|0;i=51}else if((i|0)==41){c=Ya()|0;_P(r);i=51}else if((i|0)==47){c=Ya()|0;i=49}else if((i|0)==48){c=Ya()|0;_P(w);i=49}if((i|0)==49)i=51;if((i|0)==51)_P(z);break}}}c=Ya()|0;_P(h);break}}c=Ya()|0}while(0);if((i|0)==53){x=0;Ga(462,z|0,f[b+68>>2]|0);B=x;x=0;if(B&1)c=Ya()|0;else{f[z>>2]=7280;e=z+4|0;d=f[e>>2]|0;g=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>3;if(!g){_P(z);_P(A);u=y;return}h=w+4|0;c=0;while(1){d=d+64|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,c|0)|0;B=x;x=0;if(B&1){i=58;break}if(f[d+4>>2]|0){d=(f[e>>2]|0)+64|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,c|0)|0;B=x;x=0;if(B&1){i=65;break}x=0;Ga(462,w|0,f[d+4>>2]|0);B=x;x=0;if(B&1){i=65;break}f[w>>2]=6920;B=f[h>>2]|0;x=0;Ga(f[(f[B>>2]|0)+44>>2]|0,B|0,a|0);B=x;x=0;if(B&1){i=66;break}_P(w)}c=c+1|0;if(c>>>0>=g>>>0){i=56;break}d=f[e>>2]|0}if((i|0)==56){_P(z);_P(A);u=y;return}else if((i|0)==58)c=Ya()|0;else if((i|0)==65){c=Ya()|0;i=67}else if((i|0)==66){c=Ya()|0;_P(w);i=67}_P(z)}}_P(A);B=c;jb(B|0)}function ng(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;i=0;k=u;u=u+32|0;e=k+8|0;l=k+16|0;j=k;qV(e,f[c+72>>2]|0);f[e>>2]=7696;h=f[e+4>>2]|0;x=0;Ga(f[(f[h>>2]|0)+44>>2]|0,h|0,a|0);h=x;x=0;if(h&1){l=Ya()|0;_P(e);jb(l|0)}_P(e);h=a+4|0;e=a+103|0;if(!(b[e>>0]|0)){if((wna(h)|0)==4)i=8;else if((f[c+60+4>>2]&255)<<24>>24)if(!(b[c+54>>0]|0))if(vc[f[(f[c>>2]|0)+108>>2]&511](c)|0)i=8;else if(vc[f[(f[c>>2]|0)+112>>2]&511](c)|0)i=8}else i=8;do if((i|0)==8){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=32;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}while(0);a:do switch(f[c+60>>2]|0){case 0:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=2;d[l>>1]=9766;b[l+2>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 1:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=2;d[l>>1]=31868;b[l+2>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 2:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=2;d[l>>1]=15677;b[l+2>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 3:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=2;d[l>>1]=15649;b[l+2>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 4:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=62;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 5:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=2;d[l>>1]=15678;b[l+2>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 6:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=60;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 7:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=2;d[l>>1]=15676;b[l+2>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 8:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=43;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 9:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=45;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 10:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=42;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 11:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=47;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}case 12:{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=37;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break a}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}default:{}}while(0);if(!(b[e>>0]|0))if((wna(h)|0)==4)i=114;else{m=c+60|0;m=kX(f[m>>2]|0,f[m+4>>2]|0,40)|0;if((m&255)<<24>>24)if(!(b[c+54>>0]|0))if(vc[f[(f[c>>2]|0)+108>>2]&511](c)|0)i=114;else if(vc[f[(f[c>>2]|0)+112>>2]&511](c)|0)i=114}else i=114;do if((i|0)==114){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=1;b[l>>0]=32;b[l+1>>0]=0;x=0;Ga(682,h|0,l|0);m=x;x=0;if(!(m&1)){if((b[g>>0]|0)<0)Hta(f[l>>2]|0);break}e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[l>>2]|0);m=e;jb(m|0)}while(0);qV(j,f[c+80>>2]|0);f[j>>2]=7696;m=f[j+4>>2]|0;x=0;Ga(f[(f[m>>2]|0)+44>>2]|0,m|0,a|0);m=x;x=0;if(!(m&1)){_P(j);u=k;return}m=Ya()|0;_P(j);jb(m|0)}function og(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,v=0;q=0;o=u;u=u+272|0;m=o+232|0;s=o+224|0;e=o+216|0;r=o+204|0;n=o+192|0;p=o;k=o+180|0;t=a+18|0;v=b[t>>0]|0;b[t>>0]=1;l=a+8|0;b[(f[(f[l>>2]|0)+16>>2]|0)+8>>0]=1;x=0;Ga(462,e|0,f[c+56>>2]|0);j=x;x=0;if(j&1){s=Ya()|0;b[t>>0]=v;jb(s|0)}f[e>>2]=7904;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;j=x;x=0;if(!(j&1)){x=0;Ga(462,s|0,d|0);j=x;x=0;if(!(j&1)){f[s>>2]=7696;_P(e);d=f[s+4>>2]|0;e=f[(f[d>>2]|0)+28>>2]|0;x=0;h=m;i=f[(f[l>>2]|0)+16>>2]|0;j=h+12|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));Ia(e|0,r|0,d|0,m|0);j=x;x=0;if(j&1)d=Ya()|0;else{b[(f[(f[l>>2]|0)+16>>2]|0)+8>>0]=0;x=0;Ga(603,n|0,r|0);j=x;x=0;do if(j&1){d=Ya()|0;q=40}else{x=0;Ka(5,m|0,n|0,0,0,1);j=x;x=0;if(j&1){d=Ya()|0;if((b[n+11>>0]|0)>=0){q=40;break}Hta(f[n>>2]|0);q=40;break}e=r+11|0;if((b[e>>0]|0)<0){b[f[r>>2]>>0]=0;f[r+4>>2]=0}else{b[r>>0]=0;b[e>>0]=0}x=0;Ga(501,r|0,0);j=x;x=0;if(j&1){j=Za(0)|0;soa(j)}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]=0;f[m+4>>2]=0;f[m+8>>2]=0;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);x=0;d=qa(325,((b[e>>0]|0)<0?f[r>>2]|0:r)|0)|0;j=x;x=0;do if(j&1)q=41;else{f[n>>2]=d;g=f[l>>2]|0;h=g+220|0;i=f[h>>2]|0;if((i|0)==(f[g+224>>2]|0)){x=0;Ga(544,g+216|0,n|0);j=x;x=0;if(j&1){q=41;break}}else{f[i>>2]=d;f[h>>2]=(f[h>>2]|0)+4}d=f[n>>2]|0;g=f[l>>2]|0;x=0;Ga(511,k|0,f[a+12>>2]|0);j=x;x=0;do if(j&1)d=Ya()|0;else{x=0;h=m;i=c+12|0;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));La(12,p|0,d|0,g|0,k|0,m|0,0);j=x;x=0;if(j&1){d=Ya()|0;j=I;g=f[k>>2]|0;if(!g)break;c=k+4|0;h=f[c>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[c>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[c>>2]|0}else h=i}while((h|0)!=(g|0));g=f[k>>2]|0}Hta(g);break}d=f[k>>2]|0;if(d|0){i=k+4|0;g=f[i>>2]|0;if((g|0)!=(d|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(d|0));d=f[k>>2]|0}Hta(d)}f[p+68>>2]=f[c+64>>2];x=0;Ia(111,m|0,p|0,(b[c+60>>0]|0)==0|0);k=x;x=0;do if(k&1){d=Ya()|0;k=I}else{d=f[l>>2]|0;i=f[d+216>>2]|0;d=f[d+220>>2]|0;j=d;a:do if((i|0)!=(j|0)){h=f[n>>2]|0;g=j;do{g=g+-4|0;if((f[g>>2]|0)==(h|0))break a;d=g}while((g|0)!=(i|0))}while(0);if((i|0)!=(d|0)){f[d+-4>>2]=f[j+-4>>2];l=(f[l>>2]|0)+220|0;f[l>>2]=(f[l>>2]|0)+-4;$h(f[n>>2]|0)}b[t>>0]=v;x=0;c=sa(f[(f[a>>2]|0)+276>>2]|0,a|0,f[m+4>>2]|0)|0;n=x;x=0;if(n&1){d=Ya()|0;k=I;_P(m);break}_P(m);i=p+148|0;d=f[i>>2]|0;if(d|0){j=p+152|0;g=f[j>>2]|0;if((g|0)!=(d|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(d|0));d=f[i>>2]|0}Hta(d)}d=f[p+56>>2]|0;if(d|0){g=p+60|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);Hta(d)}i=p+44|0;d=f[i>>2]|0;if(d|0){h=p+48|0;g=f[h>>2]|0;if((g|0)!=(d|0)){do{q=g+-8|0;f[h>>2]=q;Kc[f[f[q>>2]>>2]&511](q);g=f[h>>2]|0}while((g|0)!=(d|0));d=f[i>>2]|0}Hta(d)}if((b[e>>0]|0)>=0){_P(s);b[t>>0]=v;u=o;return c|0}Hta(f[r>>2]|0);_P(s);b[t>>0]=v;u=o;return c|0}while(0);j=p+148|0;g=f[j>>2]|0;if(g|0){c=p+152|0;h=f[c>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[c>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[c>>2]|0}else h=i}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}g=f[p+56>>2]|0;if(g|0){h=p+60|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);Hta(g)}j=p+44|0;g=f[j>>2]|0;if(!g)break;i=p+48|0;h=f[i>>2]|0;if((h|0)!=(g|0)){do{p=h+-8|0;f[i>>2]=p;Kc[f[f[p>>2]>>2]&511](p);h=f[i>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}while(0)}while(0);if((q|0)==41)d=Ya()|0}while(0);if((q|0)==40)e=r+11|0;if((b[e>>0]|0)<0)Hta(f[r>>2]|0)}_P(s);s=d;b[t>>0]=v;jb(s|0)}}s=Ya()|0;_P(e);b[t>>0]=v;jb(s|0);return 0}function pg(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,v=0,w=0,y=0,z=0;s=0;w=u;u=u+96|0;v=w;z=w+80|0;h=w+88|0;y=w+56|0;m=w+72|0;p=w+64|0;q=w+48|0;r=w+40|0;a:do if($v(c,0,0)|0){k=VN(88)|0;t=c+108|0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));x=0;Fa(427,k|0);o=x;x=0;do if(o&1)d=Ya()|0;else{i=k+12|0;j=v;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[k>>2]=11536;f[d>>2]=4;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);o=x;x=0;if(o&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{z=g+-8|0;f[j>>2]=z;Kc[f[f[z>>2]>>2]&511](z);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=11364;f[e>>2]=11496;b[k+80>>0]=1;f[k+84>>2]=0;f[d>>2]=4;qV(z,k);f[z>>2]=13648;n=z+4|0;d=(f[n>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;o=x;x=0;b:do if(o&1)s=24;else{o=c+168|0;x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,g|0,v|0,o|0,1);l=x;x=0;if(l&1){d=Ya()|0;Hta(g);break}x=0;Ga(462,h|0,g|0);l=x;x=0;if(l&1)s=24;else{f[h>>2]=7696;x=0;Ga(e|0,d|0,h|0);l=x;x=0;if(l&1){d=Ya()|0;_P(h);break}_P(h);k=c+76|0;d=f[k>>2]|0;c:do if((b[d>>0]|0)==35)if((b[d+1>>0]|0)==123){x=0;Ga(629,y|0,c|0);l=x;x=0;if(l&1)d=Ya()|0;else{d=f[y+4>>2]|0;do if(!d)s=18;else{e=(f[n>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,m|0,d|0);l=x;x=0;if(l&1)s=28;else{f[m>>2]=7696;x=0;Ga(g|0,e|0,m|0);l=x;x=0;if(l&1){d=Ya()|0;_P(m);break}else{_P(m);s=18;break}}}while(0);d:do if((s|0)==18){h=v+4|0;while(1){x=0;d=ta(151,c|0,0,0)|0;s=x;x=0;if(s&1){s=28;break d}if(!d){d=0;s=55;break}e=(f[n>>2]|0)+60|0;d=f[(f[e>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;s=x;x=0;if(s&1){s=28;break d}x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,g|0,v|0,o|0,1);s=x;x=0;if(s&1){s=43;break}x=0;Ga(462,p|0,g|0);s=x;x=0;if(s&1){s=28;break d}f[p>>2]=7696;x=0;Ga(d|0,e|0,p|0);s=x;x=0;if(s&1){s=44;break}_P(p);d=f[k>>2]|0;if((b[d>>0]|0)!=35){s=51;break}if((b[d+1>>0]|0)!=123){s=51;break}x=0;Ga(629,v|0,c|0);s=x;x=0;if(s&1){s=45;break}d=f[h>>2]|0;if(d|0){e=(f[n>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,d|0);s=x;x=0;if(s&1){s=46;break}f[q>>2]=7696;x=0;Ga(g|0,e|0,q|0);s=x;x=0;if(s&1){s=47;break}_P(q)}_P(v)}do if((s|0)==43){d=Ya()|0;Hta(g);break d}else if((s|0)==44){d=Ya()|0;_P(p);break d}else if((s|0)==45)d=Ya()|0;else if((s|0)==46){d=Ya()|0;s=49}else if((s|0)==47){d=Ya()|0;_P(q);s=49}else if((s|0)==51){x=0;Ga(462,r|0,f[n>>2]|0);v=x;x=0;if(v&1){s=28;break d}f[r>>2]=13648;x=0;Ga(462,a|0,f[r+4>>2]|0);v=x;x=0;if(v&1){d=Ya()|0;_P(r);break d}else{f[a>>2]=7696;_P(r);d=1;s=55;break}}while(0);if((s|0)==49)_P(v);else if((s|0)==55){_P(y);break c}}while(0);if((s|0)==28)d=Ya()|0;_P(y)}break b}else s=58;else s=58;while(0);if((s|0)==58){x=0;d=qa(318,80)|0;y=x;x=0;if(y&1){s=24;break}x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,d|0,v|0,o|0,1);y=x;x=0;if(y&1){y=Ya()|0;Hta(d);d=y;break}x=0;Ga(462,a|0,d|0);y=x;x=0;if(y&1){s=24;break}f[a>>2]=7696;d=1}_P(z);if(!d)break a;u=w;return}}while(0);if((s|0)==24)d=Ya()|0;_P(z);z=d;jb(z|0)}while(0);Hta(k);z=d;jb(z|0)}while(0);qV(a,0);f[a>>2]=7696;u=w;return}function qg(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,v=0,w=0,y=0,z=0;s=0;w=u;u=u+96|0;v=w;z=w+80|0;h=w+88|0;y=w+56|0;m=w+72|0;p=w+64|0;q=w+48|0;r=w+40|0;a:do if(aw(c,0,0)|0){k=VN(88)|0;t=c+108|0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));x=0;Fa(427,k|0);o=x;x=0;do if(o&1)d=Ya()|0;else{i=k+12|0;j=v;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[k>>2]=11536;f[d>>2]=4;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);o=x;x=0;if(o&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{z=g+-8|0;f[j>>2]=z;Kc[f[f[z>>2]>>2]&511](z);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=11364;f[e>>2]=11496;b[k+80>>0]=1;f[k+84>>2]=0;f[d>>2]=4;qV(z,k);f[z>>2]=13648;n=z+4|0;d=(f[n>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;o=x;x=0;b:do if(o&1)s=24;else{o=c+168|0;x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,g|0,v|0,o|0,1);l=x;x=0;if(l&1){d=Ya()|0;Hta(g);break}x=0;Ga(462,h|0,g|0);l=x;x=0;if(l&1)s=24;else{f[h>>2]=7696;x=0;Ga(e|0,d|0,h|0);l=x;x=0;if(l&1){d=Ya()|0;_P(h);break}_P(h);k=c+76|0;d=f[k>>2]|0;c:do if((b[d>>0]|0)==35)if((b[d+1>>0]|0)==123){x=0;Ga(629,y|0,c|0);l=x;x=0;if(l&1)d=Ya()|0;else{d=f[y+4>>2]|0;do if(!d)s=18;else{e=(f[n>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,m|0,d|0);l=x;x=0;if(l&1)s=28;else{f[m>>2]=7696;x=0;Ga(g|0,e|0,m|0);l=x;x=0;if(l&1){d=Ya()|0;_P(m);break}else{_P(m);s=18;break}}}while(0);d:do if((s|0)==18){h=v+4|0;while(1){x=0;d=ta(150,c|0,0,0)|0;s=x;x=0;if(s&1){s=28;break d}if(!d){d=0;s=55;break}e=(f[n>>2]|0)+60|0;d=f[(f[e>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;s=x;x=0;if(s&1){s=28;break d}x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,g|0,v|0,o|0,1);s=x;x=0;if(s&1){s=43;break}x=0;Ga(462,p|0,g|0);s=x;x=0;if(s&1){s=28;break d}f[p>>2]=7696;x=0;Ga(d|0,e|0,p|0);s=x;x=0;if(s&1){s=44;break}_P(p);d=f[k>>2]|0;if((b[d>>0]|0)!=35){s=51;break}if((b[d+1>>0]|0)!=123){s=51;break}x=0;Ga(629,v|0,c|0);s=x;x=0;if(s&1){s=45;break}d=f[h>>2]|0;if(d|0){e=(f[n>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,d|0);s=x;x=0;if(s&1){s=46;break}f[q>>2]=7696;x=0;Ga(g|0,e|0,q|0);s=x;x=0;if(s&1){s=47;break}_P(q)}_P(v)}do if((s|0)==43){d=Ya()|0;Hta(g);break d}else if((s|0)==44){d=Ya()|0;_P(p);break d}else if((s|0)==45)d=Ya()|0;else if((s|0)==46){d=Ya()|0;s=49}else if((s|0)==47){d=Ya()|0;_P(q);s=49}else if((s|0)==51){x=0;Ga(462,r|0,f[n>>2]|0);v=x;x=0;if(v&1){s=28;break d}f[r>>2]=13648;x=0;Ga(462,a|0,f[r+4>>2]|0);v=x;x=0;if(v&1){d=Ya()|0;_P(r);break d}else{f[a>>2]=7696;_P(r);d=1;s=55;break}}while(0);if((s|0)==49)_P(v);else if((s|0)==55){_P(y);break c}}while(0);if((s|0)==28)d=Ya()|0;_P(y)}break b}else s=58;else s=58;while(0);if((s|0)==58){x=0;d=qa(318,80)|0;y=x;x=0;if(y&1){s=24;break}x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,d|0,v|0,o|0,1);y=x;x=0;if(y&1){y=Ya()|0;Hta(d);d=y;break}x=0;Ga(462,a|0,d|0);y=x;x=0;if(y&1){s=24;break}f[a>>2]=7696;d=1}_P(z);if(!d)break a;u=w;return}}while(0);if((s|0)==24)d=Ya()|0;_P(z);z=d;jb(z|0)}while(0);Hta(k);z=d;jb(z|0)}while(0);qV(a,0);f[a>>2]=7696;u=w;return}function rg(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,v=0,w=0,y=0,z=0;s=0;w=u;u=u+96|0;v=w;z=w+80|0;h=w+88|0;y=w+56|0;m=w+72|0;p=w+64|0;q=w+48|0;r=w+40|0;a:do if(lw(c,0,0)|0){k=VN(88)|0;t=c+108|0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));x=0;Fa(427,k|0);o=x;x=0;do if(o&1)d=Ya()|0;else{i=k+12|0;j=v;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[k>>2]=11536;f[d>>2]=4;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);o=x;x=0;if(o&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{z=g+-8|0;f[j>>2]=z;Kc[f[f[z>>2]>>2]&511](z);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=11364;f[e>>2]=11496;b[k+80>>0]=1;f[k+84>>2]=0;f[d>>2]=4;qV(z,k);f[z>>2]=13648;n=z+4|0;d=(f[n>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;o=x;x=0;b:do if(o&1)s=24;else{o=c+168|0;x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,g|0,v|0,o|0,1);l=x;x=0;if(l&1){d=Ya()|0;Hta(g);break}x=0;Ga(462,h|0,g|0);l=x;x=0;if(l&1)s=24;else{f[h>>2]=7696;x=0;Ga(e|0,d|0,h|0);l=x;x=0;if(l&1){d=Ya()|0;_P(h);break}_P(h);k=c+76|0;d=f[k>>2]|0;c:do if((b[d>>0]|0)==35)if((b[d+1>>0]|0)==123){x=0;Ga(629,y|0,c|0);l=x;x=0;if(l&1)d=Ya()|0;else{d=f[y+4>>2]|0;do if(!d)s=18;else{e=(f[n>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,m|0,d|0);l=x;x=0;if(l&1)s=28;else{f[m>>2]=7696;x=0;Ga(g|0,e|0,m|0);l=x;x=0;if(l&1){d=Ya()|0;_P(m);break}else{_P(m);s=18;break}}}while(0);d:do if((s|0)==18){h=v+4|0;while(1){x=0;d=ta(149,c|0,0,0)|0;s=x;x=0;if(s&1){s=28;break d}if(!d){d=0;s=55;break}e=(f[n>>2]|0)+60|0;d=f[(f[e>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;s=x;x=0;if(s&1){s=28;break d}x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,g|0,v|0,o|0,1);s=x;x=0;if(s&1){s=43;break}x=0;Ga(462,p|0,g|0);s=x;x=0;if(s&1){s=28;break d}f[p>>2]=7696;x=0;Ga(d|0,e|0,p|0);s=x;x=0;if(s&1){s=44;break}_P(p);d=f[k>>2]|0;if((b[d>>0]|0)!=35){s=51;break}if((b[d+1>>0]|0)!=123){s=51;break}x=0;Ga(629,v|0,c|0);s=x;x=0;if(s&1){s=45;break}d=f[h>>2]|0;if(d|0){e=(f[n>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,d|0);s=x;x=0;if(s&1){s=46;break}f[q>>2]=7696;x=0;Ga(g|0,e|0,q|0);s=x;x=0;if(s&1){s=47;break}_P(q)}_P(v)}do if((s|0)==43){d=Ya()|0;Hta(g);break d}else if((s|0)==44){d=Ya()|0;_P(p);break d}else if((s|0)==45)d=Ya()|0;else if((s|0)==46){d=Ya()|0;s=49}else if((s|0)==47){d=Ya()|0;_P(q);s=49}else if((s|0)==51){x=0;Ga(462,r|0,f[n>>2]|0);v=x;x=0;if(v&1){s=28;break d}f[r>>2]=13648;x=0;Ga(462,a|0,f[r+4>>2]|0);v=x;x=0;if(v&1){d=Ya()|0;_P(r);break d}else{f[a>>2]=7696;_P(r);d=1;s=55;break}}while(0);if((s|0)==49)_P(v);else if((s|0)==55){_P(y);break c}}while(0);if((s|0)==28)d=Ya()|0;_P(y)}break b}else s=58;else s=58;while(0);if((s|0)==58){x=0;d=qa(318,80)|0;y=x;x=0;if(y&1){s=24;break}x=0;i=v;j=t;l=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Ja(29,d|0,v|0,o|0,1);y=x;x=0;if(y&1){y=Ya()|0;Hta(d);d=y;break}x=0;Ga(462,a|0,d|0);y=x;x=0;if(y&1){s=24;break}f[a>>2]=7696;d=1}_P(z);if(!d)break a;u=w;return}}while(0);if((s|0)==24)d=Ya()|0;_P(z);z=d;jb(z|0)}while(0);Hta(k);z=d;jb(z|0)}while(0);qV(a,0);f[a>>2]=7696;u=w;return}function sg(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;s=0;o=u;u=u+80|0;n=o+60|0;i=o+48|0;q=o+36|0;h=o+24|0;p=o;m=o+12|0;ND(i,81604);x=0;Ga(538,a|0,i|0);r=x;x=0;do if(r&1)h=Ya()|0;else{f[a>>2]=6640;r=a+8|0;x=0;Ga(459,r|0,i|0);l=x;x=0;if(l&1){h=Ya()|0;dfa(a);break}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);f[a>>2]=21236;f[a+20>>2]=c;f[a+24>>2]=e;f[a+28>>2]=g;x=0;sa(1032,r|0,53309)|0;l=x;x=0;a:do if(l&1)s=45;else{i=f[(f[c>>2]|0)+28>>2]|0;f[h>>2]=0;f[h+4>>2]=5;b[h+8>>0]=0;x=0;l=n;j=h;k=l+12|0;do{b[l>>0]=b[j>>0]|0;l=l+1|0;j=j+1|0}while((l|0)<(k|0));Ia(i|0,q|0,c|0,n|0);l=x;x=0;do if(l&1)h=Ya()|0;else{i=q+11|0;l=b[i>>0]|0;c=l<<24>>24<0;x=0;ta(41,r|0,(c?f[q>>2]|0:q)|0,(c?f[q+4>>2]|0:l&255)|0)|0;l=x;x=0;if(l&1){h=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[q>>2]|0);do switch(g|0){case 0:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53340]|0;b[p+1>>0]=b[53341]|0;b[p+2>>0]=b[53342]|0;h=p+3|0;break}case 1:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=2;d[p>>1]=29295;h=p+2|0;break}case 2:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=2;d[p>>1]=29029;h=p+2|0;break}case 3:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53344]|0;b[p+1>>0]=b[53345]|0;b[p+2>>0]=b[53346]|0;h=p+3|0;break}case 4:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=2;d[p>>1]=29799;h=p+2|0;break}case 5:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53348]|0;b[p+1>>0]=b[53349]|0;b[p+2>>0]=b[53350]|0;h=p+3|0;break}case 6:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=2;d[p>>1]=29804;h=p+2|0;break}case 7:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53352]|0;b[p+1>>0]=b[53353]|0;b[p+2>>0]=b[53354]|0;h=p+3|0;break}case 8:{h=p+4|0;g=h;f[g>>2]=0;f[g+4>>2]=0;b[p+11>>0]=4;f[p>>2]=1937075312;break}case 9:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53356]|0;b[p+1>>0]=b[53357]|0;b[p+2>>0]=b[53358]|0;h=p+3|0;break}case 10:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=5;b[p>>0]=b[53360]|0;b[p+1>>0]=b[53361]|0;b[p+2>>0]=b[53362]|0;b[p+3>>0]=b[53363]|0;b[p+4>>0]=b[53364]|0;h=p+5|0;break}case 11:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53366]|0;b[p+1>>0]=b[53367]|0;b[p+2>>0]=b[53368]|0;h=p+3|0;break}case 12:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=3;b[p>>0]=b[53370]|0;b[p+1>>0]=b[53371]|0;b[p+2>>0]=b[53372]|0;h=p+3|0;break}case 13:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=5;b[p>>0]=b[53374]|0;b[p+1>>0]=b[53375]|0;b[p+2>>0]=b[53376]|0;b[p+3>>0]=b[53377]|0;b[p+4>>0]=b[53378]|0;h=p+5|0;break}default:{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[p+11>>0]=7;b[p>>0]=b[53380]|0;b[p+1>>0]=b[53381]|0;b[p+2>>0]=b[53382]|0;b[p+3>>0]=b[53383]|0;b[p+4>>0]=b[53384]|0;b[p+5>>0]=b[53385]|0;b[p+6>>0]=b[53386]|0;h=p+7|0}}while(0);b[h>>0]=0;x=0;Ia(92,q|0,53148,p|0);g=x;x=0;if(g&1)h=Ya()|0;else{x=0;h=sa(991,q|0,53148)|0;g=x;x=0;do if(g&1)h=Ya()|0;else{f[n>>2]=f[h>>2];f[n+4>>2]=f[h+4>>2];f[n+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=n+11|0;g=b[i>>0]|0;l=g<<24>>24<0;x=0;ta(41,r|0,(l?f[n>>2]|0:n)|0,(l?f[n+4>>2]|0:g&255)|0)|0;g=x;x=0;if(g&1){h=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[n>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);h=f[(f[e>>2]|0)+28>>2]|0;f[m>>2]=0;f[m+4>>2]=5;b[m+8>>0]=0;x=0;l=n;j=m;k=l+12|0;do{b[l>>0]=b[j>>0]|0;l=l+1|0;j=j+1|0}while((l|0)<(k|0));Ia(h|0,q|0,e|0,n|0);p=x;x=0;do if(p&1)h=Ya()|0;else{i=q+11|0;p=b[i>>0]|0;n=p<<24>>24<0;x=0;ta(41,r|0,(n?f[q>>2]|0:q)|0,(n?f[q+4>>2]|0:p&255)|0)|0;p=x;x=0;if(p&1){h=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[q>>2]|0);x=0;sa(991,r|0,56925)|0;s=x;x=0;if(s&1){s=45;break a}u=o;return}while(0);break a}while(0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);break a}while(0)}while(0);if((s|0)==45)h=Ya()|0;f[a>>2]=6640;if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);dfa(a);s=h;jb(s|0)}while(0);if((b[i+11>>0]|0)>=0){s=h;jb(s|0)}Hta(f[i>>2]|0);s=h;jb(s|0)}function tg(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;n=0;l=u;u=u+80|0;o=l+56|0;k=l+52|0;j=l+48|0;r=l+36|0;q=l+24|0;p=l+12|0;m=l;xp(r);i=c+12|0;g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=65}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=7}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=65;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=7}if((n|0)==7)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(16,q|0,o|0,r|0,r|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=68;break}Hta(f[o>>2]|0);n=68;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=69}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=17}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=69;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=17}if((n|0)==17)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(17,p|0,o|0,r|0,r|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=72;break}Hta(f[o>>2]|0);n=72;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=73}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=27}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=73;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=27}if((n|0)==27)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(42,m|0,p|0,q|0,o|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=76;break}Hta(f[o>>2]|0);n=76;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);x=0;d=ta(44,82616,53456,21)|0;i=x;x=0;a:do if(i&1)n=77;else{e=b[a+11>>0]|0;i=e<<24>>24<0;x=0;e=ta(44,d|0,(i?f[a>>2]|0:a)|0,(i?f[a+4>>2]|0:e&255)|0)|0;a=x;x=0;if(a&1)n=77;else{x=0;Ga(536,j|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);a=x;x=0;if(a&1)n=77;else{x=0;d=sa(994,j|0,83320)|0;a=x;x=0;do if(!(a&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;a=x;x=0;if(a&1)break;uga(j);x=0;sa(1012,e|0,d|0)|0;j=x;x=0;if(j&1){n=77;break a}x=0;qa(341,e|0)|0;j=x;x=0;if(j&1){n=77;break a}x=0;e=ta(44,82616,53478,44)|0;j=x;x=0;if(j&1){n=77;break a}x=0;Ga(536,k|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);j=x;x=0;if(j&1){n=77;break a}x=0;d=sa(994,k|0,83320)|0;j=x;x=0;do if(!(j&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;j=x;x=0;if(j&1)break;uga(k);x=0;sa(1012,e|0,d|0)|0;k=x;x=0;if(k&1){n=77;break a}x=0;qa(341,e|0)|0;k=x;x=0;if(k&1){n=77;break a}x=0;d=ta(44,82616,53523,16)|0;k=x;x=0;if(k&1){n=77;break a}x=0;d=sa(993,d|0,(f[c>>2]|0)+1|0)|0;c=x;x=0;if(c&1){n=77;break a}x=0;d=ta(44,d|0,53449,4)|0;c=x;x=0;if(c&1){n=77;break a}g=m+11|0;e=b[g>>0]|0;c=e<<24>>24<0;x=0;e=ta(44,d|0,(c?f[m>>2]|0:m)|0,(c?f[m+4>>2]|0:e&255)|0)|0;c=x;x=0;if(c&1){n=77;break a}x=0;Ga(536,o|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);c=x;x=0;if(c&1){n=77;break a}x=0;d=sa(994,o|0,83320)|0;c=x;x=0;do if(!(c&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;c=x;x=0;if(c&1)break;uga(o);x=0;sa(1012,e|0,d|0)|0;o=x;x=0;if(o&1){n=77;break a}x=0;qa(341,e|0)|0;o=x;x=0;if(o&1){n=77;break a}if((b[g>>0]|0)<0)Hta(f[m>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[r+11>>0]|0)>=0){u=l;return}Hta(f[r>>2]|0);u=l;return}while(0);d=Ya()|0;uga(o);break a}while(0);d=Ya()|0;uga(k);break a}while(0);d=Ya()|0;uga(j)}}}while(0);if((n|0)==77)d=Ya()|0;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}while(0);if((n|0)==73){d=Ya()|0;n=76}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}while(0);if((n|0)==69){d=Ya()|0;n=72}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}while(0);if((n|0)==65){d=Ya()|0;n=68}if((b[r+11>>0]|0)>=0)jb(d|0);Hta(f[r>>2]|0);jb(d|0)}function ug(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;n=0;l=u;u=u+80|0;o=l+56|0;k=l+52|0;j=l+48|0;r=l+36|0;q=l+24|0;p=l+12|0;m=l;xp(r);i=c+12|0;g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=65}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=7}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=65;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=7}if((n|0)==7)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(16,q|0,o|0,r|0,r|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=68;break}Hta(f[o>>2]|0);n=68;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=69}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=17}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=69;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=17}if((n|0)==17)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(17,p|0,o|0,r|0,r|0);h=x;x=0;if(h&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=72;break}Hta(f[o>>2]|0);n=72;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);g=f[i>>2]|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=hL(g)|0;do if(h>>>0>4294967279){x=0;Fa(428,o|0);x=0;n=73}else{if(h>>>0<11){b[o+11>>0]=h;if(!h)d=o;else{d=o;n=27}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;n=x;x=0;if(n&1){n=73;break}f[o>>2]=d;f[o+8>>2]=e|-2147483648;f[o+4>>2]=h;n=27}if((n|0)==27)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;x=0;Ja(42,m|0,p|0,q|0,o|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[o+11>>0]|0)>=0){n=76;break}Hta(f[o>>2]|0);n=76;break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);x=0;d=ta(44,82616,53569,9)|0;i=x;x=0;a:do if(i&1)n=77;else{e=b[a+11>>0]|0;i=e<<24>>24<0;x=0;e=ta(44,d|0,(i?f[a>>2]|0:a)|0,(i?f[a+4>>2]|0:e&255)|0)|0;a=x;x=0;if(a&1)n=77;else{x=0;Ga(536,j|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);a=x;x=0;if(a&1)n=77;else{x=0;d=sa(994,j|0,83320)|0;a=x;x=0;do if(!(a&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;a=x;x=0;if(a&1)break;uga(j);x=0;sa(1012,e|0,d|0)|0;j=x;x=0;if(j&1){n=77;break a}x=0;qa(341,e|0)|0;j=x;x=0;if(j&1){n=77;break a}x=0;d=ta(44,82616,53523,16)|0;j=x;x=0;if(j&1){n=77;break a}x=0;d=sa(993,d|0,(f[c>>2]|0)+1|0)|0;c=x;x=0;if(c&1){n=77;break a}x=0;d=ta(44,d|0,53449,4)|0;c=x;x=0;if(c&1){n=77;break a}g=m+11|0;e=b[g>>0]|0;c=e<<24>>24<0;x=0;e=ta(44,d|0,(c?f[m>>2]|0:m)|0,(c?f[m+4>>2]|0:e&255)|0)|0;c=x;x=0;if(c&1){n=77;break a}x=0;Ga(536,k|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);c=x;x=0;if(c&1){n=77;break a}x=0;d=sa(994,k|0,83320)|0;c=x;x=0;do if(!(c&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;c=x;x=0;if(c&1)break;uga(k);x=0;sa(1012,e|0,d|0)|0;k=x;x=0;if(k&1){n=77;break a}x=0;qa(341,e|0)|0;k=x;x=0;if(k&1){n=77;break a}x=0;e=ta(44,82616,53579,49)|0;k=x;x=0;if(k&1){n=77;break a}x=0;Ga(536,o|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);k=x;x=0;if(k&1){n=77;break a}x=0;d=sa(994,o|0,83320)|0;k=x;x=0;do if(!(k&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;k=x;x=0;if(k&1)break;uga(o);x=0;sa(1012,e|0,d|0)|0;o=x;x=0;if(o&1){n=77;break a}x=0;qa(341,e|0)|0;o=x;x=0;if(o&1){n=77;break a}if((b[g>>0]|0)<0)Hta(f[m>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[r+11>>0]|0)>=0){u=l;return}Hta(f[r>>2]|0);u=l;return}while(0);d=Ya()|0;uga(o);break a}while(0);d=Ya()|0;uga(k);break a}while(0);d=Ya()|0;uga(j)}}}while(0);if((n|0)==77)d=Ya()|0;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}while(0);if((n|0)==73){d=Ya()|0;n=76}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}while(0);if((n|0)==69){d=Ya()|0;n=72}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}while(0);if((n|0)==65){d=Ya()|0;n=68}if((b[r+11>>0]|0)>=0)jb(d|0);Hta(f[r>>2]|0);jb(d|0)}function vg(){var a=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;m=u;u=u+96|0;o=m+64|0;l=m+60|0;n=m;p[7671]=3.141592653589793;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;h=o+11|0;b[h>>0]=5;b[o>>0]=b[52897]|0;b[o+1>>0]=b[52898]|0;b[o+2>>0]=b[52899]|0;b[o+3>>0]=b[52900]|0;b[o+4>>0]=b[52901]|0;b[o+5>>0]=0;g=o+12|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=g+11|0;b[i>>0]=5;b[g>>0]=b[52903]|0;b[g+1>>0]=b[52904]|0;b[g+2>>0]=b[52905]|0;b[g+3>>0]=b[52906]|0;b[g+4>>0]=b[52907]|0;b[g+5>>0]=0;f[19847]=0;f[19848]=0;f[19849]=0;x=0;a=qa(318,24)|0;k=x;x=0;if(k&1)a=Ya()|0;else{f[19848]=a;f[19847]=a;f[19849]=a+24;x=0;Ga(459,a|0,o|0);k=x;x=0;if(!(k&1)){k=(f[19848]|0)+12|0;f[19848]=k;x=0;Ga(459,k|0,g|0);k=x;x=0;if(!(k&1)){f[19848]=(f[19848]|0)+12;if((b[i>>0]|0)<0)Hta(f[g>>2]|0);if((b[h>>0]|0)<0)Hta(f[o>>2]|0);f[19850]=0;f[19851]=0;f[19852]=0;a=VN(32)|0;f[19850]=a;f[19852]=-2147483616;f[19851]=21;i=a;j=52909;k=i+21|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+21>>0]=0;f[19853]=0;f[19854]=0;f[19855]=0;a=VN(32)|0;f[19853]=a;f[19855]=-2147483616;f[19854]=19;i=a;j=52931;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+19>>0]=0;f[19856]=0;f[19857]=0;f[19858]=0;a=VN(32)|0;f[19856]=a;f[19858]=-2147483616;f[19857]=22;i=a;j=52951;k=i+22|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+22>>0]=0;f[19859]=0;f[19860]=0;f[19861]=0;a=VN(32)|0;f[19859]=a;f[19861]=-2147483616;f[19860]=23;i=a;j=52974;k=i+23|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+23>>0]=0;f[19862]=0;f[19863]=0;f[19864]=0;b[79459]=6;b[79448]=b[52998]|0;b[79449]=b[52999]|0;b[79450]=b[53e3]|0;b[79451]=b[53001]|0;b[79452]=b[53002]|0;b[79453]=b[53003]|0;b[79454]=0;c=LC()|0;f[21312]=c;a=1;do{c=(X(c>>>30^c,1812433253)|0)+a|0;f[85248+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=624);f[21936]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;a=qa(318,32)|0;k=x;x=0;if(k&1){o=Ya()|0;jb(o|0)}f[n>>2]=a;f[n+8>>2]=-2147483616;f[n+4>>2]=25;i=a;j=38872;k=i+25|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+25>>0]=0;h=n+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;x=0;a=qa(318,32)|0;k=x;x=0;if(k&1)a=1;else{f[h>>2]=a;f[n+20>>2]=-2147483616;f[n+16>>2]=27;i=a;j=38898;k=i+27|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+27>>0]=0;d=n+24|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;g=d+11|0;b[g>>0]=8;e=d;f[e>>2]=1697477729;f[e+4>>2]=1919906418;b[n+32>>0]=0;e=n+36|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;a=qa(318,16)|0;k=x;x=0;if(k&1)a=3;else{f[e>>2]=a;f[n+44>>2]=-2147483632;f[n+40>>2]=13;i=a;j=38926;k=i+13|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+13>>0]=0;c=n+48|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;a=qa(318,16)|0;k=x;x=0;if(k&1)a=4;else{f[c>>2]=a;f[n+56>>2]=-2147483632;f[n+52>>2]=15;i=a;j=38940;k=i+15|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+15>>0]=0;f[19866]=0;f[19867]=0;f[19865]=79464;f[l>>2]=79464;x=0;f[o>>2]=f[l>>2];ua(11,79460,o|0,n|0,n|0)|0;k=x;x=0;if(!(k&1)){f[l>>2]=79464;x=0;f[o>>2]=f[l>>2];ua(11,79460,o|0,h|0,h|0)|0;k=x;x=0;if(!(k&1)){f[l>>2]=79464;x=0;f[o>>2]=f[l>>2];ua(11,79460,o|0,d|0,d|0)|0;k=x;x=0;if(!(k&1)){f[l>>2]=79464;x=0;f[o>>2]=f[l>>2];ua(11,79460,o|0,e|0,e|0)|0;k=x;x=0;if(!(k&1)){f[l>>2]=79464;x=0;f[o>>2]=f[l>>2];ua(11,79460,o|0,c|0,c|0)|0;o=x;x=0;if(!(o&1)){if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);if((b[g>>0]|0)<0)Hta(f[d>>2]|0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[n+11>>0]|0)>=0){u=m;return}Hta(f[n>>2]|0);u=m;return}}}}}a=Ya()|0;bJ(79460,f[19866]|0);if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);if((b[g>>0]|0)<0)Hta(f[d>>2]|0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[n+11>>0]|0)>=0){o=a;jb(o|0)}Hta(f[n>>2]|0);o=a;jb(o|0)}}}c=Ya()|0;d=I;a=n+(a*12|0)|0;do{a=a+-12|0;if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0)}while((a|0)!=(n|0));o=c;jb(o|0)}}a=Ya()|0;e=I;c=f[19847]|0;if(c){d=f[19848]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19848]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19848]|0}}while((d|0)!=(c|0));c=f[19847]|0}Hta(c)}}if((b[i>>0]|0)<0)Hta(f[g>>2]|0);if((b[h>>0]|0)>=0)jb(a|0);Hta(f[o>>2]|0);jb(a|0)}function wg(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.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0;z=u;u=u+288|0;y=z+240|0;j=z+200|0;k=z+184|0;B=z+120|0;r=z+144|0;s=z+132|0;v=z+12|0;t=z+80|0;m=z+40|0;A=z+24|0;w=z;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;i=y+11|0;b[i>>0]=6;b[y>>0]=b[39245]|0;b[y+1>>0]=b[39246]|0;b[y+2>>0]=b[39247]|0;b[y+3>>0]=b[39248]|0;b[y+4>>0]=b[39249]|0;b[y+5>>0]=b[39250]|0;b[y+6>>0]=0;x=0;c=sa(992,a|0,y|0)|0;q=x;x=0;if(!(q&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;q=x;x=0;if(!(q&1)){if((b[i>>0]|0)<0)Hta(f[y>>2]|0);if(c|0){i=VN(80)|0;n=j;o=g;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));x=0;Ia(92,B|0,39369,c+64|0);A=x;x=0;if(A&1)c=Ya()|0;else{x=0;c=sa(991,B|0,49838)|0;A=x;x=0;do if(A&1)c=Ya()|0;else{f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];f[k+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;n=y;o=j;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));Na(1,i|0,y|0,k|0,0,0,0,1,1);A=x;x=0;if(A&1){c=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=i;u=z;return B|0}while(0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}Hta(i);B=c;jb(B|0)}f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;i=y+11|0;b[i>>0]=6;b[y>>0]=b[39245]|0;b[y+1>>0]=b[39246]|0;b[y+2>>0]=b[39247]|0;b[y+3>>0]=b[39248]|0;b[y+4>>0]=b[39249]|0;b[y+5>>0]=b[39250]|0;b[y+6>>0]=0;x=0;c=sa(992,a|0,y|0)|0;q=x;x=0;if(q&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[y>>2]|0);B=c;jb(B|0)}c=f[c+4>>2]|0;if(!c)j=0;else j=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[i>>0]|0)<0)Hta(f[y>>2]|0);if(j|0){i=VN(80)|0;n=r;o=g;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));c=f[(f[j>>2]|0)+28>>2]|0;x=0;n=y;o=f[d+16>>2]|0;q=n+12|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(q|0));Ia(c|0,v|0,j|0,y|0);A=x;x=0;if(A&1)c=Ya()|0;else{x=0;Ia(92,B|0,39376,v|0);A=x;x=0;if(A&1)c=Ya()|0;else{x=0;c=sa(991,B|0,49838)|0;A=x;x=0;do if(A&1)c=Ya()|0;else{f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;n=y;o=r;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));Na(1,i|0,y|0,s|0,0,0,0,1,1);A=x;x=0;if(A&1){c=Ya()|0;if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0);break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);B=i;u=z;return B|0}while(0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0)}Hta(i);B=c;jb(B|0)}r=VN(104)|0;n=t;o=g;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;s=B+11|0;b[s>>0]=6;b[B>>0]=b[39245]|0;b[B+1>>0]=b[39246]|0;b[B+2>>0]=b[39247]|0;b[B+3>>0]=b[39248]|0;b[B+4>>0]=b[39249]|0;b[B+5>>0]=b[39250]|0;b[B+6>>0]=0;n=m;o=g;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));x=0;Ga(511,A|0,h|0);g=x;x=0;if(g&1)c=Ya()|0;else{x=0;n=y;o=m;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));c=wa(26,B|0,a|0,e|0,y|0,A|0)|0;g=x;x=0;do if(g&1){c=Ya()|0;n=I}else{l=+p[c+88>>3];j=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;n=y;o=t;q=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));Ha(1,r|0,y|0,+l,w|0,1);y=x;x=0;if(y&1){c=Ya()|0;i=I;if((b[j>>0]|0)>=0){n=i;break}Hta(f[w>>2]|0);n=i;break}if((b[j>>0]|0)<0)Hta(f[w>>2]|0);c=f[A>>2]|0;if(c|0){k=A+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[A>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[B>>2]|0);B=r;u=z;return B|0}while(0);i=f[A>>2]|0;if(i){m=A+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[A>>2]|0}Hta(i)}}if((b[s>>0]|0)<0)Hta(f[B>>2]|0);Hta(r);B=c;jb(B|0)}}c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[y>>2]|0);B=c;jb(B|0);return 0}function xg(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,v=0,w=0,y=0,z=0,A=0,B=0;B=0;p=u;u=u+240|0;q=p+192|0;y=p+176|0;z=p+164|0;m=p+112|0;A=p+44|0;j=p+152|0;n=p+96|0;w=p+8|0;o=p+56|0;v=p+32|0;t=p+24|0;s=p+16|0;r=p;f[q>>2]=4;l=c+60|0;d=f[l>>2]|0;if(d>>>0<(f[c+64>>2]|0)>>>0){f[d>>2]=4;f[l>>2]=d+4}else SA(c+56|0,q);e=m;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));k=(b[(f[(f[c+48>>2]|0)+-4>>2]|0)+84>>0]|0)!=0;Pk(q,c);e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(q);if(i>>>0<11){b[q+11>>0]=i;d=q}else{g=i+16&-16;d=VN(g)|0;f[q>>2]=d;f[q+8>>2]=g|-2147483648;f[q+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,A|0,q|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);B=d;jb(B|0)}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);x=0;d=ta(134,c|0,1,0)|0;i=x;x=0;a:do if(i&1)B=29;else{b:do if(!d){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;d=qa(318,48)|0;i=x;x=0;if(i&1){B=29;break a}f[j>>2]=d;f[j+8>>2]=-2147483600;f[j+4>>2]=41;e=d;g=47008;h=e+41|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+41>>0]=0;x=0;Ga(459,z|0,j|0);i=x;x=0;do if(i&1)d=Ya()|0;else{i=c+108|0;x=0;f[q>>2]=f[i>>2];f[q+4>>2]=f[i+4>>2];f[q+8>>2]=f[i+8>>2];Ia(113,c|0,z|0,q|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0);break}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[j+11>>0]|0)>=0)break b;Hta(f[j>>2]|0);break b}while(0);if((b[j+11>>0]|0)>=0)break a;Hta(f[j>>2]|0);break a}while(0);x=0;Ga(584,z|0,c|0);j=x;x=0;if(j&1)d=Ya()|0;else{x=0;d=ta(135,c|0,1,0)|0;j=x;x=0;c:do if(j&1)B=37;else{d:do if(!d){x=0;d=ta(136,c|0,1,0)|0;j=x;x=0;if(j&1){B=37;break c}if(!d){f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;d=qa(318,64)|0;j=x;x=0;if(j&1){B=37;break c}f[n>>2]=d;f[n+8>>2]=-2147483584;f[n+4>>2]=52;e=d;g=47050;h=e+52|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+52>>0]=0;x=0;Ga(459,y|0,n|0);j=x;x=0;do if(j&1)d=Ya()|0;else{j=c+108|0;x=0;f[q>>2]=f[j>>2];f[q+4>>2]=f[j+4>>2];f[q+8>>2]=f[j+8>>2];Ia(113,c|0,y|0,q|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[n+11>>0]|0)>=0){d=0;break d}Hta(f[n>>2]|0);d=0;break d}while(0);if((b[n+11>>0]|0)>=0)break c;Hta(f[n>>2]|0);break c}else d=0}else d=1;while(0);x=0;Ga(584,y|0,c|0);n=x;x=0;if(n&1)d=Ya()|0;else{x=0;Ia(123,w|0,c|0,k|0);n=x;x=0;if(n&1)d=Ya()|0;else{f[l>>2]=(f[l>>2]|0)+-4;x=0;i=qa(318,104)|0;n=x;x=0;e:do if(n&1)d=Ya()|0;else{e=o;g=m;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(459,v|0,A|0);n=x;x=0;do if(n&1)d=Ya()|0;else{x=0;Ga(462,t|0,f[z+4>>2]|0);n=x;x=0;if(n&1){d=Ya()|0;e=1}else{f[t>>2]=7696;x=0;Ga(462,s|0,f[y+4>>2]|0);n=x;x=0;if(n&1){d=Ya()|0;e=1}else{f[s>>2]=7696;x=0;Ga(462,r|0,f[w+4>>2]|0);n=x;x=0;if(n&1){d=Ya()|0;e=1}else{f[r>>2]=7280;x=0;e=q;g=o;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ma(5,i|0,q|0,v|0,t|0,s|0,r|0,d|0);q=x;x=0;do if(q&1)e=1;else{x=0;Ga(462,a|0,i|0);q=x;x=0;if(q&1){e=0;break}f[a>>2]=17288;_P(r);_P(s);_P(t);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);_P(w);_P(y);_P(z);if((b[A+11>>0]|0)>=0){u=p;return}Hta(f[A>>2]|0);u=p;return}while(0);d=Ya()|0;_P(r)}_P(s)}_P(t)}if((b[v+11>>0]|0)<0){Hta(f[v>>2]|0);if(e)break;else break e}else if(e)break;else break e}while(0);Hta(i)}while(0);_P(w)}_P(y)}}while(0);if((B|0)==37)d=Ya()|0;_P(z)}}while(0);if((B|0)==29)d=Ya()|0;if((b[A+11>>0]|0)>=0){B=d;jb(B|0)}Hta(f[A>>2]|0);B=d;jb(B|0)}function yg(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,v=0;s=0;p=u;u=u+144|0;j=p;d=p+104|0;m=p+84|0;h=p+72|0;r=p+96|0;q=p+64|0;l=p+56|0;n=p+48|0;o=p+40|0;t=c+164|0;v=f[t>>2]|0;k=v+1|0;f[t>>2]=k;if(k>>>0>512){l=Ta(84)|0;e=d;g=c+108|0;i=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(i|0));x=0;Ga(511,m|0,c+148|0);s=x;x=0;do if(s&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);s=x;x=0;if(s&1){d=Ya()|0;k=I;g=1}else{x=0;e=j;g=d;i=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(i|0));Ja(28,l|0,j|0,m|0,h|0);s=x;x=0;if(s&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[t>>2]=v;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){s=d;f[t>>2]=v;jb(s|0)}}while(0);bb(l|0);s=d;f[t>>2]=v;jb(s|0)}x=0;Ga(581,r|0,c|0);m=x;x=0;if(m&1)d=Ya()|0;else{h=c+76|0;x=0;d=qa(347,f[h>>2]|0)|0;m=x;x=0;do if(m&1)s=29;else{m=c+80|0;if((d|0)==0?1:d>>>0>(f[m>>2]|0)>>>0)d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;k=x;x=0;if(k&1)s=29;else{x=0;d=qa(358,(e|0?e:d)|0)|0;k=x;x=0;if(k&1)s=29;else{if(!((d|0)==0?1:d>>>0>(f[m>>2]|0)>>>0)){x=0;Ga(462,a|0,f[r+4>>2]|0);s=x;x=0;if(s&1){s=29;break}f[a>>2]=7696;_P(r);f[t>>2]=v;u=p;return}x=0;k=qa(318,88)|0;i=x;x=0;a:do if(i&1)s=57;else{e=j;g=c+108|0;i=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(i|0));x=0;Fa(427,k|0);i=x;x=0;do if(i&1)d=Ya()|0;else{e=k+12|0;g=j;i=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(i|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,2);g=x;x=0;if(g&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{q=g+-8|0;f[j>>2]=q;Kc[f[f[q>>2]>>2]&511](q);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=1;b[k+84>>0]=0;b[k+85>>0]=0;b[k+86>>0]=0;f[d>>2]=5;x=0;Ga(462,q|0,k|0);k=x;x=0;if(k&1){s=57;break a}f[q>>2]=7584;g=q+4|0;d=(f[g>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,l|0,f[r+4>>2]|0);k=x;x=0;b:do if(k&1)s=60;else{f[l>>2]=7696;x=0;Ga(e|0,d|0,l|0);k=x;x=0;if(k&1){d=Ya()|0;_P(l);break}_P(l);while(1){x=0;d=qa(347,f[h>>2]|0)|0;l=x;x=0;if(l&1){s=60;break b}if((d|0)==0?1:d>>>0>(f[m>>2]|0)>>>0)d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;l=x;x=0;if(l&1){s=60;break b}x=0;d=qa(358,(e|0?e:d)|0)|0;l=x;x=0;if(l&1){s=60;break b}if(!((d|0)==0?1:d>>>0>(f[m>>2]|0)>>>0))break;x=0;d=qa(347,f[h>>2]|0)|0;l=x;x=0;if(l&1){s=60;break b}if((d|0)==0?1:d>>>0>(f[m>>2]|0)>>>0)d=f[h>>2]|0;x=0;d=qa(348,d|0)|0;l=x;x=0;if(l&1){s=60;break b}l=f[m>>2]|0;if(((d>>>0<=l>>>0?d:0)|0)==(l|0))break;d=(f[g>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(581,n|0,c|0);l=x;x=0;if(l&1){s=60;break b}x=0;Ga(e|0,d|0,n|0);l=x;x=0;if(l&1){s=62;break}_P(n)}if((s|0)==62){d=Ya()|0;_P(n);break}x=0;Ga(462,o|0,f[g>>2]|0);c=x;x=0;if(c&1)s=60;else{f[o>>2]=7584;x=0;Ga(462,a|0,f[o+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;_P(o);break}f[a>>2]=7696;_P(o);_P(q);_P(r);f[t>>2]=v;u=p;return}}while(0);if((s|0)==60)d=Ya()|0;_P(q);break a}while(0);Hta(k)}while(0);if((s|0)==57)d=Ya()|0}}}while(0);if((s|0)==29)d=Ya()|0;_P(r)}s=d;f[t>>2]=v;jb(s|0)}function zg(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;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;T=0;U=u;u=u+144|0;k=U+128|0;j=U+112|0;R=U+124|0;S=U+120|0;l=U+116|0;m=U+108|0;n=U+104|0;o=U+100|0;p=U+96|0;q=U+92|0;r=U+88|0;s=U+84|0;t=U+80|0;v=U+76|0;w=U+72|0;y=U+68|0;z=U+64|0;A=U+60|0;B=U+56|0;C=U+52|0;D=U+48|0;E=U+44|0;F=U+40|0;G=U+36|0;H=U+32|0;I=U+28|0;J=U+24|0;K=U+20|0;L=U+16|0;M=U+12|0;N=U+8|0;O=U+4|0;P=U;f[g>>2]=0;kha(k,e);x=0;Q=sa(994,k|0,83352)|0;V=x;x=0;if(V&1){V=Ya()|0;uga(k);jb(V|0)}uga(k);do switch(i<<24>>24|0){case 65:case 97:{f[R>>2]=f[d>>2];f[k>>2]=f[R>>2];kG(a,h+24|0,c,k,g,Q);T=28;break}case 104:case 66:case 98:{f[S>>2]=f[d>>2];f[k>>2]=f[S>>2];eG(a,h+16|0,c,k,g,Q);T=28;break}case 99:{i=a+8|0;i=vc[f[(f[i>>2]|0)+12>>2]&511](i)|0;f[l>>2]=f[c>>2];f[m>>2]=f[d>>2];T=b[i+8+3>>0]|0;d=T<<24>>24<0;V=d?f[i>>2]|0:i;T=V+((d?f[i+4>>2]|0:T&255)<<2)|0;f[j>>2]=f[l>>2];f[k>>2]=f[m>>2];T=xh(a,j,k,e,g,h,V,T)|0;f[c>>2]=T;T=28;break}case 101:case 100:{f[n>>2]=f[d>>2];f[k>>2]=f[n>>2];gI(a,h+12|0,c,k,g,Q);T=28;break}case 68:{f[o>>2]=f[c>>2];f[p>>2]=f[d>>2];f[j>>2]=f[o>>2];f[k>>2]=f[p>>2];T=xh(a,j,k,e,g,h,28228,28260)|0;f[c>>2]=T;T=28;break}case 70:{f[q>>2]=f[c>>2];f[r>>2]=f[d>>2];f[j>>2]=f[q>>2];f[k>>2]=f[r>>2];T=xh(a,j,k,e,g,h,28260,28292)|0;f[c>>2]=T;T=28;break}case 72:{f[s>>2]=f[d>>2];f[k>>2]=f[s>>2];tI(a,h+8|0,c,k,g,Q);T=28;break}case 73:{f[t>>2]=f[d>>2];f[k>>2]=f[t>>2];cI(a,h+8|0,c,k,g,Q);T=28;break}case 106:{f[v>>2]=f[d>>2];f[k>>2]=f[v>>2];hI(a,h+28|0,c,k,g,Q);T=28;break}case 109:{f[w>>2]=f[d>>2];f[k>>2]=f[w>>2];lI(a,h+16|0,c,k,g,Q);T=28;break}case 77:{f[y>>2]=f[d>>2];f[k>>2]=f[y>>2];pI(a,h+4|0,c,k,g,Q);T=28;break}case 116:case 110:{f[z>>2]=f[d>>2];f[k>>2]=f[z>>2];xo(a,c,k,g,Q);T=28;break}case 112:{f[A>>2]=f[d>>2];f[k>>2]=f[A>>2];rB(a,h+8|0,c,k,g,Q);T=28;break}case 114:{f[B>>2]=f[c>>2];f[C>>2]=f[d>>2];f[j>>2]=f[B>>2];f[k>>2]=f[C>>2];T=xh(a,j,k,e,g,h,28292,28336)|0;f[c>>2]=T;T=28;break}case 82:{f[D>>2]=f[c>>2];f[E>>2]=f[d>>2];f[j>>2]=f[D>>2];f[k>>2]=f[E>>2];T=xh(a,j,k,e,g,h,28336,28356)|0;f[c>>2]=T;T=28;break}case 83:{f[F>>2]=f[d>>2];f[k>>2]=f[F>>2];oI(a,h,c,k,g,Q);T=28;break}case 84:{f[G>>2]=f[c>>2];f[H>>2]=f[d>>2];f[j>>2]=f[G>>2];f[k>>2]=f[H>>2];T=xh(a,j,k,e,g,h,28356,28388)|0;f[c>>2]=T;T=28;break}case 119:{f[I>>2]=f[d>>2];f[k>>2]=f[I>>2];nI(a,h+24|0,c,k,g,Q);T=28;break}case 120:{V=f[(f[a>>2]|0)+20>>2]|0;f[J>>2]=f[c>>2];f[K>>2]=f[d>>2];f[j>>2]=f[J>>2];f[k>>2]=f[K>>2];j=Dc[V&63](a,j,k,e,g,h)|0;break}case 88:{i=a+8|0;i=vc[f[(f[i>>2]|0)+24>>2]&511](i)|0;f[L>>2]=f[c>>2];f[M>>2]=f[d>>2];T=b[i+8+3>>0]|0;d=T<<24>>24<0;V=d?f[i>>2]|0:i;T=V+((d?f[i+4>>2]|0:T&255)<<2)|0;f[j>>2]=f[L>>2];f[k>>2]=f[M>>2];T=xh(a,j,k,e,g,h,V,T)|0;f[c>>2]=T;T=28;break}case 121:{f[N>>2]=f[d>>2];f[k>>2]=f[N>>2];JH(a,h+20|0,c,k,g,Q);T=28;break}case 89:{f[O>>2]=f[d>>2];f[k>>2]=f[O>>2];mJ(a,h+20|0,c,k,g,Q);T=28;break}case 37:{f[P>>2]=f[d>>2];f[k>>2]=f[P>>2];mo(a,c,k,g,Q);T=28;break}default:{f[g>>2]=f[g>>2]|4;T=28}}while(0);if((T|0)==28)j=f[c>>2]|0;u=U;return j|0}function Ag(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;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;T=0;U=u;u=u+144|0;k=U+128|0;j=U+112|0;R=U+124|0;S=U+120|0;l=U+116|0;m=U+108|0;n=U+104|0;o=U+100|0;p=U+96|0;q=U+92|0;r=U+88|0;s=U+84|0;t=U+80|0;v=U+76|0;w=U+72|0;y=U+68|0;z=U+64|0;A=U+60|0;B=U+56|0;C=U+52|0;D=U+48|0;E=U+44|0;F=U+40|0;G=U+36|0;H=U+32|0;I=U+28|0;J=U+24|0;K=U+20|0;L=U+16|0;M=U+12|0;N=U+8|0;O=U+4|0;P=U;f[g>>2]=0;kha(k,e);x=0;Q=sa(994,k|0,83320)|0;V=x;x=0;if(V&1){V=Ya()|0;uga(k);jb(V|0)}uga(k);do switch(i<<24>>24|0){case 65:case 97:{f[R>>2]=f[d>>2];f[k>>2]=f[R>>2];lG(a,h+24|0,c,k,g,Q);T=28;break}case 104:case 66:case 98:{f[S>>2]=f[d>>2];f[k>>2]=f[S>>2];fG(a,h+16|0,c,k,g,Q);T=28;break}case 99:{i=a+8|0;i=vc[f[(f[i>>2]|0)+12>>2]&511](i)|0;f[l>>2]=f[c>>2];f[m>>2]=f[d>>2];T=b[i+11>>0]|0;d=T<<24>>24<0;V=d?f[i>>2]|0:i;T=V+(d?f[i+4>>2]|0:T&255)|0;f[j>>2]=f[l>>2];f[k>>2]=f[m>>2];T=sh(a,j,k,e,g,h,V,T)|0;f[c>>2]=T;T=28;break}case 101:case 100:{f[n>>2]=f[d>>2];f[k>>2]=f[n>>2];iI(a,h+12|0,c,k,g,Q);T=28;break}case 68:{f[o>>2]=f[c>>2];f[p>>2]=f[d>>2];f[j>>2]=f[o>>2];f[k>>2]=f[p>>2];T=sh(a,j,k,e,g,h,58443,58451)|0;f[c>>2]=T;T=28;break}case 70:{f[q>>2]=f[c>>2];f[r>>2]=f[d>>2];f[j>>2]=f[q>>2];f[k>>2]=f[r>>2];T=sh(a,j,k,e,g,h,58451,58459)|0;f[c>>2]=T;T=28;break}case 72:{f[s>>2]=f[d>>2];f[k>>2]=f[s>>2];uI(a,h+8|0,c,k,g,Q);T=28;break}case 73:{f[t>>2]=f[d>>2];f[k>>2]=f[t>>2];dI(a,h+8|0,c,k,g,Q);T=28;break}case 106:{f[v>>2]=f[d>>2];f[k>>2]=f[v>>2];jI(a,h+28|0,c,k,g,Q);T=28;break}case 109:{f[w>>2]=f[d>>2];f[k>>2]=f[w>>2];mI(a,h+16|0,c,k,g,Q);T=28;break}case 77:{f[y>>2]=f[d>>2];f[k>>2]=f[y>>2];sI(a,h+4|0,c,k,g,Q);T=28;break}case 116:case 110:{f[z>>2]=f[d>>2];f[k>>2]=f[z>>2];oo(a,c,k,g,Q);T=28;break}case 112:{f[A>>2]=f[d>>2];f[k>>2]=f[A>>2];tB(a,h+8|0,c,k,g,Q);T=28;break}case 114:{f[B>>2]=f[c>>2];f[C>>2]=f[d>>2];f[j>>2]=f[B>>2];f[k>>2]=f[C>>2];T=sh(a,j,k,e,g,h,58459,58470)|0;f[c>>2]=T;T=28;break}case 82:{f[D>>2]=f[c>>2];f[E>>2]=f[d>>2];f[j>>2]=f[D>>2];f[k>>2]=f[E>>2];T=sh(a,j,k,e,g,h,58470,58475)|0;f[c>>2]=T;T=28;break}case 83:{f[F>>2]=f[d>>2];f[k>>2]=f[F>>2];rI(a,h,c,k,g,Q);T=28;break}case 84:{f[G>>2]=f[c>>2];f[H>>2]=f[d>>2];f[j>>2]=f[G>>2];f[k>>2]=f[H>>2];T=sh(a,j,k,e,g,h,58475,58483)|0;f[c>>2]=T;T=28;break}case 119:{f[I>>2]=f[d>>2];f[k>>2]=f[I>>2];qI(a,h+24|0,c,k,g,Q);T=28;break}case 120:{V=f[(f[a>>2]|0)+20>>2]|0;f[J>>2]=f[c>>2];f[K>>2]=f[d>>2];f[j>>2]=f[J>>2];f[k>>2]=f[K>>2];j=Dc[V&63](a,j,k,e,g,h)|0;break}case 88:{i=a+8|0;i=vc[f[(f[i>>2]|0)+24>>2]&511](i)|0;f[L>>2]=f[c>>2];f[M>>2]=f[d>>2];T=b[i+11>>0]|0;d=T<<24>>24<0;V=d?f[i>>2]|0:i;T=V+(d?f[i+4>>2]|0:T&255)|0;f[j>>2]=f[L>>2];f[k>>2]=f[M>>2];T=sh(a,j,k,e,g,h,V,T)|0;f[c>>2]=T;T=28;break}case 121:{f[N>>2]=f[d>>2];f[k>>2]=f[N>>2];KH(a,h+20|0,c,k,g,Q);T=28;break}case 89:{f[O>>2]=f[d>>2];f[k>>2]=f[O>>2];nJ(a,h+20|0,c,k,g,Q);T=28;break}case 37:{f[P>>2]=f[d>>2];f[k>>2]=f[P>>2];no(a,c,k,g,Q);T=28;break}default:{f[g>>2]=f[g>>2]|4;T=28}}while(0);if((T|0)==28)j=f[c>>2]|0;u=U;return j|0}function Bg(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;m=u;u=u+48|0;o=m+32|0;p=m+24|0;l=m+8|0;k=m;qV(o,f[c+80>>2]|0);f[o>>2]=15572;x=0;Ga(462,p|0,f[c+88>>2]|0);n=x;x=0;if(n&1){p=Ya()|0;_P(o);jb(p|0)}f[p>>2]=15556;j=f[c+72>>2]|0;do if(!j){d=f[o+4>>2]|0;if(d|0)if((f[d+76>>2]|0)!=(f[d+80>>2]|0)){n=9;break}d=f[p+4>>2]|0;if(!d){_P(p);_P(o);u=m;return}x=0;Ga(f[(f[d>>2]|0)+44>>2]|0,d|0,a|0);n=x;x=0;if(n&1)n=8;else{_P(p);_P(o);u=m;return}}else n=9;while(0);a:do if((n|0)==9){if(b[c+60>>0]|0){x=0;d=qa(f[(f[c>>2]|0)+124>>2]|0,c|0)|0;i=x;x=0;if(i&1){n=8;break}if(!d){d=a+4|0;x=0;Fa(457,d|0);i=x;x=0;if(i&1){n=8;break}x=0;Fa(456,d|0);i=x;x=0;if(i&1){n=8;break}}}e=o+4|0;d=f[e>>2]|0;do if(!d){g=1;e=0}else{if((f[d+80>>2]|0)!=(f[d+76>>2]|0)){x=0;Ga(f[(f[d>>2]|0)+44>>2]|0,d|0,a|0);i=x;x=0;if(i&1){n=8;break a}d=f[e>>2]|0;if(!d){g=1;e=0;break}}e=f[d+80>>2]|0;g=f[d+76>>2]|0;if((e|0)==(g|0))g=1;else if((e-g|0)==8){e=f[g+4>>2]|0;if(!e)g=0;else g=(f[463]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)}else g=0;e=f[d+76>>2]|0;if(((f[d+80>>2]|0)-e|0)==8){d=f[e+4>>2]|0;if(d|0)if((f[463]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){e=0;break}}e=(f[p+4>>2]|0)!=0}while(0);i=a+4|0;x=0;d=qa(399,i|0)|0;h=x;x=0;b:do if(!(h&1)){h=(j|0)!=0;if(h&(d|0)==3)f[a+80>>2]=0;c:do switch(j|0){case 0:{if(e){x=0;Fa(458,i|0);l=x;x=0;if(l&1)break b}break}case 1:{x=0;Fa(461,i|0);k=x;x=0;if(k&1)break b;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=62;b[l+1>>0]=0;x=0;Ga(682,i|0,l|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);break a}else{if((b[e>>0]|0)<0)Hta(f[l>>2]|0);x=0;Fa(461,i|0);l=x;x=0;if(l&1)break b;else break c}}case 3:{x=0;Fa(461,i|0);k=x;x=0;if(k&1)break b;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=43;b[l+1>>0]=0;x=0;Ga(682,i|0,l|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);break a}else{if((b[e>>0]|0)<0)Hta(f[l>>2]|0);x=0;Fa(461,i|0);l=x;x=0;if(l&1)break b;else break c}}case 4:{x=0;Fa(458,i|0);j=x;x=0;if(j&1)break b;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=47;b[l+1>>0]=0;x=0;Ga(682,i|0,l|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);break a}if((b[e>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(462,k|0,f[c+96>>2]|0);j=x;x=0;if(j&1)break b;f[k>>2]=7904;j=f[k+4>>2]|0;x=0;Ga(f[(f[j>>2]|0)+44>>2]|0,j|0,a|0);j=x;x=0;if(j&1){d=Ya()|0;_P(k);break a}_P(k);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=47;b[l+1>>0]=0;x=0;Ga(682,i|0,l|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);break a}else{if((b[e>>0]|0)<0)Hta(f[l>>2]|0);x=0;Fa(458,i|0);l=x;x=0;if(l&1)break b;else break c}}case 2:{if(g){x=0;Fa(461,i|0);k=x;x=0;if(k&1)break b}else{x=0;Fa(458,i|0);k=x;x=0;if(k&1)break b}f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;e=l+11|0;b[e>>0]=1;b[l>>0]=126;b[l+1>>0]=0;x=0;Ga(682,i|0,l|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[l>>2]|0);break a}if((b[e>>0]|0)<0)Hta(f[l>>2]|0);if(!(f[p+4>>2]|0)){x=0;Fa(461,i|0);l=x;x=0;if(l&1)break b;else break c}else{x=0;Fa(458,i|0);l=x;x=0;if(l&1)break b;else break c}}default:{}}while(0);g=p+4|0;d=f[g>>2]|0;if(h&(d|0)!=0)if(!(b[c+61>>0]|0))n=83;else{x=0;Fa(457,i|0);l=x;x=0;if(l&1)break;d=f[g>>2]|0;e=d;n=82}else{e=d;n=82}if((n|0)==82)if(e|0)n=83;if((n|0)==83){x=0;Ga(f[(f[d>>2]|0)+44>>2]|0,d|0,a|0);a=x;x=0;if(a&1)break;if(f[g>>2]|0){_P(p);_P(o);u=m;return}}if(!(b[c+61>>0]|0)){_P(p);_P(o);u=m;return}x=0;d=qa(399,i|0)|0;a=x;x=0;if(!(a&1)){if((d|0)!=2){_P(p);_P(o);u=m;return}x=0;Fa(458,i|0);a=x;x=0;if(!(a&1)){_P(p);_P(o);u=m;return}}}while(0);d=Ya()|0}while(0);if((n|0)==8)d=Ya()|0;_P(p);p=d;_P(o);jb(p|0)}function Cg(a,c,d,e,g,h,i,j,k,l){a=a|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,n=0,o=0,p=0;p=u;u=u+16|0;n=p+12|0;o=p;if(a){m=b_(d,85040)|0;if(c){Lc[f[(f[m>>2]|0)+44>>2]&1023](n,m);a=f[n>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[m>>2]|0)+32>>2]&1023](o,m);a=k+11|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;b[n>>0]=0;vga(e,n);f[k+4>>2]=0}else{b[n>>0]=0;vga(k,n);b[a>>0]=0}x=0;Ga(501,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);d=m}else{Lc[f[(f[m>>2]|0)+40>>2]&1023](n,m);a=f[n>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[m>>2]|0)+28>>2]&1023](o,m);a=k+11|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;b[n>>0]=0;vga(e,n);f[k+4>>2]=0}else{b[n>>0]=0;vga(k,n);b[a>>0]=0}x=0;Ga(501,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);d=m}a=vc[f[(f[m>>2]|0)+12>>2]&511](m)|0;b[g>>0]=a;a=vc[f[(f[m>>2]|0)+16>>2]&511](m)|0;b[h>>0]=a;Lc[f[(f[d>>2]|0)+20>>2]&1023](o,m);a=i+11|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;b[n>>0]=0;vga(h,n);f[i+4>>2]=0}else{b[n>>0]=0;vga(i,n);b[a>>0]=0}x=0;Ga(501,i|0,0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);Lc[f[(f[d>>2]|0)+24>>2]&1023](o,m);a=j+11|0;if((b[a>>0]|0)<0){i=f[j>>2]|0;b[n>>0]=0;vga(i,n);f[j+4>>2]=0}else{b[n>>0]=0;vga(j,n);b[a>>0]=0}x=0;Ga(501,j|0,0);n=x;x=0;if(n&1){n=Za(0)|0;soa(n)}f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[j+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);a=vc[f[(f[m>>2]|0)+36>>2]&511](m)|0}else{m=b_(d,85032)|0;if(c){Lc[f[(f[m>>2]|0)+44>>2]&1023](n,m);a=f[n>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[m>>2]|0)+32>>2]&1023](o,m);a=k+11|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;b[n>>0]=0;vga(e,n);f[k+4>>2]=0}else{b[n>>0]=0;vga(k,n);b[a>>0]=0}x=0;Ga(501,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);d=m}else{Lc[f[(f[m>>2]|0)+40>>2]&1023](n,m);a=f[n>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[m>>2]|0)+28>>2]&1023](o,m);a=k+11|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;b[n>>0]=0;vga(e,n);f[k+4>>2]=0}else{b[n>>0]=0;vga(k,n);b[a>>0]=0}x=0;Ga(501,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);d=m}a=vc[f[(f[m>>2]|0)+12>>2]&511](m)|0;b[g>>0]=a;a=vc[f[(f[m>>2]|0)+16>>2]&511](m)|0;b[h>>0]=a;Lc[f[(f[d>>2]|0)+20>>2]&1023](o,m);a=i+11|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;b[n>>0]=0;vga(h,n);f[i+4>>2]=0}else{b[n>>0]=0;vga(i,n);b[a>>0]=0}x=0;Ga(501,i|0,0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);Lc[f[(f[d>>2]|0)+24>>2]&1023](o,m);a=j+11|0;if((b[a>>0]|0)<0){i=f[j>>2]|0;b[n>>0]=0;vga(i,n);f[j+4>>2]=0}else{b[n>>0]=0;vga(j,n);b[a>>0]=0}x=0;Ga(501,j|0,0);n=x;x=0;if(n&1){n=Za(0)|0;soa(n)}f[j>>2]=f[o>>2];f[j+4>>2]=f[o+4>>2];f[j+8>>2]=f[o+8>>2];a=0;while(1){if((a|0)==3)break;f[o+(a<<2)>>2]=0;a=a+1|0}Aaa(o);a=vc[f[(f[m>>2]|0)+36>>2]&511](m)|0}f[l>>2]=a;u=p;return}function Dg(a,c,d,e,g,h,i,j,k,l){a=a|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,n=0,o=0;o=u;u=u+16|0;m=o+12|0;n=o;if(a){d=b_(d,85056)|0;if(c){Lc[f[(f[d>>2]|0)+44>>2]&1023](m,d);a=f[m>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[d>>2]|0)+32>>2]&1023](n,d);a=k+8+3|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;f[m>>2]=0;$ga(e,m);f[k+4>>2]=0}else{f[m>>2]=0;$ga(k,m);b[a>>0]=0}x=0;Ga(710,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n)}else{Lc[f[(f[d>>2]|0)+40>>2]&1023](m,d);a=f[m>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[d>>2]|0)+28>>2]&1023](n,d);a=k+8+3|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;f[m>>2]=0;$ga(e,m);f[k+4>>2]=0}else{f[m>>2]=0;$ga(k,m);b[a>>0]=0}x=0;Ga(710,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n)}a=vc[f[(f[d>>2]|0)+12>>2]&511](d)|0;f[g>>2]=a;a=vc[f[(f[d>>2]|0)+16>>2]&511](d)|0;f[h>>2]=a;Lc[f[(f[d>>2]|0)+20>>2]&1023](n,d);a=i+11|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;b[m>>0]=0;vga(h,m);f[i+4>>2]=0}else{b[m>>0]=0;vga(i,m);b[a>>0]=0}x=0;Ga(501,i|0,0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[d>>2]|0)+24>>2]&1023](n,d);a=j+8+3|0;if((b[a>>0]|0)<0){i=f[j>>2]|0;f[m>>2]=0;$ga(i,m);f[j+4>>2]=0}else{f[m>>2]=0;$ga(j,m);b[a>>0]=0}x=0;Ga(710,j|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);a=vc[f[(f[d>>2]|0)+36>>2]&511](d)|0}else{d=b_(d,85048)|0;if(c){Lc[f[(f[d>>2]|0)+44>>2]&1023](m,d);a=f[m>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[d>>2]|0)+32>>2]&1023](n,d);a=k+8+3|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;f[m>>2]=0;$ga(e,m);f[k+4>>2]=0}else{f[m>>2]=0;$ga(k,m);b[a>>0]=0}x=0;Ga(710,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n)}else{Lc[f[(f[d>>2]|0)+40>>2]&1023](m,d);a=f[m>>2]|0;b[e>>0]=a;b[e+1>>0]=a>>8;b[e+2>>0]=a>>16;b[e+3>>0]=a>>24;Lc[f[(f[d>>2]|0)+28>>2]&1023](n,d);a=k+8+3|0;if((b[a>>0]|0)<0){e=f[k>>2]|0;f[m>>2]=0;$ga(e,m);f[k+4>>2]=0}else{f[m>>2]=0;$ga(k,m);b[a>>0]=0}x=0;Ga(710,k|0,0);e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n)}a=vc[f[(f[d>>2]|0)+12>>2]&511](d)|0;f[g>>2]=a;a=vc[f[(f[d>>2]|0)+16>>2]&511](d)|0;f[h>>2]=a;Lc[f[(f[d>>2]|0)+20>>2]&1023](n,d);a=i+11|0;if((b[a>>0]|0)<0){h=f[i>>2]|0;b[m>>0]=0;vga(h,m);f[i+4>>2]=0}else{b[m>>0]=0;vga(i,m);b[a>>0]=0}x=0;Ga(501,i|0,0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}Aaa(n);Lc[f[(f[d>>2]|0)+24>>2]&1023](n,d);a=j+8+3|0;if((b[a>>0]|0)<0){i=f[j>>2]|0;f[m>>2]=0;$ga(i,m);f[j+4>>2]=0}else{f[m>>2]=0;$ga(j,m);b[a>>0]=0}x=0;Ga(710,j|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}f[j>>2]=f[n>>2];f[j+4>>2]=f[n+4>>2];f[j+8>>2]=f[n+8>>2];a=0;while(1){if((a|0)==3)break;f[n+(a<<2)>>2]=0;a=a+1|0}jaa(n);a=vc[f[(f[d>>2]|0)+36>>2]&511](d)|0}f[l>>2]=a;u=o;return}function Eg(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,t=0,v=0;s=0;q=u;u=u+208|0;o=q+40|0;v=q;t=q+160|0;c=q+168|0;m=q+144|0;r=q+96|0;l=q+104|0;p=q+80|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;n=v+11|0;b[n>>0]=9;i=v;j=40736;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[v+9>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,m|0,h|0);k=x;x=0;if(k&1)c=Ya()|0;else{x=0;i=o;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,v|0,a|0,e|0,o|0,m|0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,t|0,c|0);k=x;x=0;if(!(k&1)){f[t>>2]=16744;c=f[m>>2]|0;if(c|0){j=m+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[v>>2]|0);f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;m=v+11|0;b[m>>0]=9;i=v;j=40746;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[v+9>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);n=x;x=0;do if(n&1){c=Ya()|0;s=51}else{x=0;i=o;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c=wa(28,v|0,a|0,e|0,o|0,p|0)|0;n=x;x=0;if(!(n&1)){x=0;Ga(462,r|0,c|0);n=x;x=0;if(!(n&1)){f[r>>2]=16744;c=f[p>>2]|0;if(c|0){j=p+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[v>>2]|0);i=t+4|0;x=0;c=qa(338,(f[i>>2]|0)+60|0)|0;p=x;x=0;a:do if(p&1)s=54;else{if(!c){c=r+4|0;x=0;d=qa(338,(f[c>>2]|0)+60|0)|0;p=x;x=0;if(p&1){s=54;break}if(!d){x=0;Fa(444,f[i>>2]|0);v=x;x=0;if(v&1){s=54;break}x=0;Fa(444,f[c>>2]|0);v=x;x=0;if(v&1){s=54;break}x=0;c=sa(984,(f[i>>2]|0)+60|0,(f[c>>2]|0)+60|0)|0;v=x;x=0;do if(!(v&1)){x=0;d=qa(318,68)|0;v=x;x=0;if(v&1)break;i=o;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,d|0);v=x;x=0;if(v&1){c=Ya()|0;Hta(d);break a}c=c&1;i=d+12|0;j=o;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=c;f[d+64>>2]=0;f[d+56>>2]=1;v=d;_P(r);_P(t);u=q;return v|0}while(0);c=Ya()|0;break}}x=0;c=qa(318,68)|0;p=x;x=0;if(p&1)s=54;else{i=v;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,c|0);g=x;x=0;if(g&1){v=Ya()|0;Hta(c);c=v;break}i=c+12|0;j=v;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=11240;b[c+60>>0]=1;f[c+64>>2]=0;f[c+56>>2]=1;v=c;_P(r);_P(t);u=q;return v|0}}while(0);if((s|0)==54)c=Ya()|0;_P(r);break}}c=Ya()|0;k=I;d=f[p>>2]|0;if(!d)s=51;else{l=p+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d);s=51}}while(0);if((s|0)==51)if((b[m>>0]|0)<0)Hta(f[v>>2]|0);_P(t);v=c;jb(v|0)}}c=Ya()|0;k=I;d=f[m>>2]|0;if(d){l=m+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){j=i;while(1){i=j+-52|0;f[l>>2]=i;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);i=f[l>>2]|0}if((i|0)==(d|0))break;else j=i}d=f[m>>2]|0}Hta(d)}}if((b[n>>0]|0)<0)Hta(f[v>>2]|0);v=c;jb(v|0);return 0}function Fg(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,t=0,v=0,w=0,y=0;w=0;q=u;u=u+144|0;r=q;y=q+128|0;v=q+64|0;o=q+120|0;m=q+80|0;t=q+52|0;s=q+40|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;d=r+11|0;b[d>>0]=5;b[r>>0]=b[40395]|0;b[r+1>>0]=b[40396]|0;b[r+2>>0]=b[40397]|0;b[r+3>>0]=b[40398]|0;b[r+4>>0]=b[40399]|0;b[r+5>>0]=0;x=0;c=sa(992,a|0,r|0)|0;p=x;x=0;if(!(p&1)){x=0;c=qa(340,f[c+4>>2]|0)|0;p=x;x=0;if(!(p&1)){x=0;Ga(462,y|0,c|0);p=x;x=0;if(!(p&1)){f[y>>2]=7584;if((b[d>>0]|0)<0)Hta(f[r>>2]|0);p=y+4|0;a:do if(!(f[p>>2]|0)){x=0;n=qa(318,88)|0;l=x;x=0;b:do if(l&1)w=37;else{c=r;j=g;k=c+40|0;do{f[c>>2]=f[j>>2];c=c+4|0;j=j+4|0}while((c|0)<(k|0));x=0;Fa(427,n|0);l=x;x=0;do if(l&1)c=Ya()|0;else{c=n+12|0;j=r;k=c+40|0;do{f[c>>2]=f[j>>2];c=c+4|0;j=j+4|0}while((c|0)<(k|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;c=n+56|0;f[c>>2]=0;f[n>>2]=6516;d=n+60|0;f[d>>2]=9660;k=n+64|0;l=n+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,1);j=x;x=0;if(j&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){i=f[l>>2]|0;if((i|0)!=(d|0)){do{v=i+-8|0;f[l>>2]=v;Kc[f[f[v>>2]>>2]&511](v);i=f[l>>2]|0}while((i|0)!=(d|0));d=f[k>>2]|0}Hta(d)}break}f[n>>2]=9488;f[d>>2]=9620;f[n+80>>2]=1;b[n+84>>0]=0;b[n+85>>0]=0;b[n+86>>0]=0;f[c>>2]=5;x=0;Ga(462,v|0,n|0);n=x;x=0;if(n&1){w=37;break b}f[v>>2]=7584;if(f[p>>2]|0){x=0;Fa(429,y|0);n=x;x=0;if(n&1){c=Ya()|0;_P(v);break b}}d=v+4|0;f[p>>2]=f[d>>2];f[d>>2]=0;_P(v);d=(f[p>>2]|0)+60|0;i=f[(f[d>>2]|0)+20>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;n=v+11|0;b[n>>0]=5;b[v>>0]=b[40395]|0;b[v+1>>0]=b[40396]|0;b[v+2>>0]=b[40397]|0;b[v+3>>0]=b[40398]|0;b[v+4>>0]=b[40399]|0;b[v+5>>0]=0;c=m;j=g;k=c+40|0;do{f[c>>2]=f[j>>2];c=c+4|0;j=j+4|0}while((c|0)<(k|0));x=0;Ga(511,t|0,h|0);h=x;x=0;if(h&1)c=Ya()|0;else{x=0;c=r;j=m;k=c+40|0;do{f[c>>2]=f[j>>2];c=c+4|0;j=j+4|0}while((c|0)<(k|0));c=wa(25,v|0,a|0,e|0,r|0,t|0)|0;h=x;x=0;do if(h&1)w=43;else{x=0;Ga(462,o|0,c|0);h=x;x=0;if(h&1)w=43;else{f[o>>2]=7696;x=0;Ga(i|0,d|0,o|0);h=x;x=0;if(h&1){c=Ya()|0;k=I;_P(o);break}_P(o);c=f[t>>2]|0;if(c|0){j=t+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[v>>2]|0);w=55;break a}}while(0);if((w|0)==43){c=Ya()|0;k=I}d=f[t>>2]|0;if(d){l=t+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[t>>2]|0}Hta(d)}}if((b[n>>0]|0)<0)Hta(f[v>>2]|0);break a}while(0);Hta(n)}while(0);if((w|0)==37)c=Ya()|0}else w=55;while(0);do if((w|0)==55){x=0;i=qa(318,80)|0;w=x;x=0;if(w&1){c=Ya()|0;break}c=(f[(f[p>>2]|0)+80>>2]|0)==0?40586:40580;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;d=s+11|0;b[d>>0]=5;b[s>>0]=b[c>>0]|0;b[s+1>>0]=b[c+1>>0]|0;b[s+2>>0]=b[c+2>>0]|0;b[s+3>>0]=b[c+3>>0]|0;b[s+4>>0]=b[c+4>>0]|0;b[s+5>>0]=0;x=0;c=r;j=g;k=c+40|0;do{f[c>>2]=f[j>>2];c=c+4|0;j=j+4|0}while((c|0)<(k|0));Na(1,i|0,r|0,s|0,0,0,0,1,1);w=x;x=0;if(w&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[s>>2]|0);Hta(i);break}if((b[d>>0]|0)>=0){_P(y);u=q;return i|0}Hta(f[s>>2]|0);_P(y);u=q;return i|0}while(0);_P(y);y=c;jb(y|0)}}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[r>>2]|0);y=c;jb(y|0);return 0} +function We(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=u;u=u+288|0;y=B+80|0;C=B+40|0;o=B+264|0;n=B;G=B+252|0;F=B+240|0;D=B+188|0;m=B+200|0;r=B+176|0;z=B+136|0;A=B+120|0;w=f[a>>2]|0;i=f[c>>2]|0;v=f[343]|0;s=(v|0)==(f[(f[i+-4>>2]|0)+4>>2]|0);p=s?c:0;v=(v|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0);t=v?d:0;if(s)ND(G,p+64|0);else{i=f[i+28>>2]|0;j=y;k=e;l=j+12|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));Nc[i&255](G,c,y)}if(v){x=0;Ga(459,F|0,t+64|0);E=x;x=0;if(E&1)E=10;else E=7}else{i=f[(f[d>>2]|0)+28>>2]|0;x=0;j=y;k=e;l=j+12|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));Ia(i|0,F|0,d|0,y|0);E=x;x=0;if(E&1)E=10;else E=7}if((E|0)==7){i=f[417]|0;do if((i|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){i=Ta(32)|0;x=0;Ja(57,i|0,c|0,d|0,w|0);D=x;x=0;if(D&1){D=Ya()|0;bb(i|0);i=D;break}else{x=0;Ia(77,i|0,4400,6);x=0;E=11;break}}else{if((i|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){i=Ta(32)|0;x=0;Ja(57,i|0,c|0,d|0,w|0);D=x;x=0;if(D&1){D=Ya()|0;bb(i|0);i=D;break}else{x=0;Ia(77,i|0,4400,6);x=0;E=11;break}}f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;a:do switch(w|0){case 8:{x=0;sa(1032,D|0,89823)|0;A=x;x=0;if(A&1)E=19;else{x=0;e=qa(318,80)|0;A=x;x=0;if(A&1)E=19;else{j=m;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ia(80,r|0,G|0,F|0);A=x;x=0;if(A&1)i=Ya()|0;else{j=n;k=m;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(459,o|0,r|0);A=x;x=0;if(A&1)i=Ya()|0;else{j=C;k=n;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,e|0);A=x;x=0;do if(A&1)i=Ya()|0;else{j=e+12|0;k=C;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e+56>>2]=4;f[e>>2]=11668;b[e+60>>0]=0;b[e+61>>0]=0;x=0;Ia(101,e+64|0,o|0,1);C=x;x=0;if(C&1){i=Ya()|0;break}f[e+76>>2]=0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);f[e>>2]=11800;if((b[r+11>>0]|0)>=0){i=e;E=112;break a}Hta(f[r>>2]|0);i=e;E=112;break a}while(0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0)}Hta(e)}}break}case 9:{x=0;sa(1032,D|0,52295)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 11:{x=0;sa(1032,D|0,52297)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 2:{x=0;sa(1032,D|0,52299)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 3:{x=0;sa(1032,D|0,52302)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 6:{x=0;sa(1032,D|0,52305)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 4:{x=0;sa(1032,D|0,52307)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 7:{x=0;sa(1032,D|0,52309)|0;E=x;x=0;if(E&1)E=19;else E=49;break}case 5:{x=0;sa(1032,D|0,52312)|0;E=x;x=0;if(E&1)E=19;else E=49;break}default:{i=Ta(32)|0;x=0;Ja(56,i|0,c|0,d|0,w|0);C=x;x=0;if(C&1){C=Ya()|0;bb(i|0);i=C;break a}else{x=0;Ia(77,i|0,4384,6);x=0;E=19;break a}}}while(0);b:do if((E|0)==49){i=D+11|0;d=b[i>>0]|0;e=D+4|0;do if(!((d<<24>>24<0?f[e>>2]|0:d&255)|0)){x=0;j=wa(21,D|0,0,-1,89823,0)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}else{q=(j|0)!=0;break}}else q=1;while(0);do if(!(q^1|h)){do if(b[a+4>>0]|0){x=0;Ia(92,y|0,53148,D|0);h=x;x=0;if(h&1){i=Ya()|0;break b}if((b[i>>0]|0)<0){b[f[D>>2]>>0]=0;f[e>>2]=0}else{b[D>>0]=0;b[i>>0]=0}x=0;Ga(501,D|0,0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else{f[D>>2]=f[y>>2];f[D+4>>2]=f[y+4>>2];f[D+8>>2]=f[y+8>>2];break}}while(0);if(b[a+5>>0]|0){x=0;Ia(79,y|0,D|0,53148);h=x;x=0;if(h&1){i=Ya()|0;break b}if((b[i>>0]|0)<0){b[f[D>>2]>>0]=0;f[e>>2]=0}else{b[D>>0]=0;b[i>>0]=0}x=0;Ga(501,D|0,0);h=x;x=0;if(h&1){h=Za(0)|0;soa(h)}else{f[D>>2]=f[y>>2];f[D+4>>2]=f[y+4>>2];f[D+8>>2]=f[y+8>>2];break}}}while(0);do if((w|2|0)==11){do if(s)if(b[p+60>>0]|0){x=0;Ia(105,y|0,G|0,0);w=x;x=0;if(w&1){i=Ya()|0;break b}i=G+11|0;if((b[i>>0]|0)<0){b[f[G>>2]>>0]=0;f[G+4>>2]=0}else{b[G>>0]=0;b[i>>0]=0}x=0;Ga(501,G|0,0);w=x;x=0;if(w&1){w=Za(0)|0;soa(w)}else{f[G>>2]=f[y>>2];f[G+4>>2]=f[y+4>>2];f[G+8>>2]=f[y+8>>2];break}}while(0);if(v)if(b[t+60>>0]|0){x=0;Ia(105,y|0,F|0,0);w=x;x=0;if(w&1){i=Ya()|0;break b}i=F+11|0;if((b[i>>0]|0)<0){b[f[F>>2]>>0]=0;f[F+4>>2]=0}else{b[F>>0]=0;b[i>>0]=0}x=0;Ga(501,F|0,0);w=x;x=0;if(w&1){w=Za(0)|0;soa(w)}else{f[F>>2]=f[y>>2];f[F+4>>2]=f[y+4>>2];f[F+8>>2]=f[y+8>>2];break}}}while(0);x=0;e=qa(318,80)|0;w=x;x=0;if(w&1)E=19;else{j=z;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ia(80,C|0,G|0,D|0);g=x;x=0;if(g&1)i=Ya()|0;else{i=b[F+11>>0]|0;g=i<<24>>24<0;x=0;i=ta(41,C|0,(g?f[F>>2]|0:F)|0,(g?f[F+4>>2]|0:i&255)|0)|0;g=x;x=0;if(g&1)i=Ya()|0;else{f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;j=y;k=z;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,e|0);g=x;x=0;do if(g&1)i=Ya()|0;else{j=e+12|0;k=y;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e+56>>2]=4;f[e>>2]=11668;b[e+60>>0]=0;b[e+61>>0]=0;x=0;Ia(101,e+64|0,A|0,1);g=x;x=0;if(g&1){i=Ya()|0;break}f[e+76>>2]=0;if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);i=e;E=112;break b}while(0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0)}if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}Hta(e)}}while(0);if((E|0)==19)i=Ya()|0;else if((E|0)==112){if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);if((b[G+11>>0]|0)>=0){u=B;return i|0}Hta(f[G>>2]|0);u=B;return i|0}if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0)}while(0);if((E|0)==11)i=Ya()|0;if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0)}else if((E|0)==10)i=Ya()|0;if((b[G+11>>0]|0)>=0)jb(i|0);Hta(f[G>>2]|0);jb(i|0);return 0}function Xe(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;l=0;G=u;u=u+224|0;E=G+176|0;K=G+164|0;J=G+152|0;A=G+88|0;M=G+72|0;z=G+140|0;D=G+128|0;B=G+32|0;H=G+16|0;F=G+8|0;C=G;f[E>>2]=4;y=c+60|0;d=f[y>>2]|0;if(d>>>0<(f[c+64>>2]|0)>>>0){f[d>>2]=4;f[y>>2]=d+4}else SA(c+56|0,E);e=A;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));w=(b[(f[(f[c+48>>2]|0)+-4>>2]|0)+84>>0]|0)!=0;f[M>>2]=0;L=M+4|0;f[L>>2]=0;f[M+8>>2]=0;x=0;Ga(621,E|0,c|0);v=x;x=0;a:do if(v&1)l=36;else{t=c+172|0;e=f[t>>2]|0;v=c+176|0;h=f[v>>2]|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,K|0);x=0;l=37}else{if(i>>>0<11){b[K+11>>0]=i;d=K}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;s=x;x=0;if(s&1){l=37;break}f[K>>2]=d;f[K+8>>2]=g|-2147483648;f[K+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,E|0,K|0);s=x;x=0;b:do if(s&1)d=Ya()|0;else{d=f[L>>2]|0;n=M+8|0;do if(d>>>0<(f[n>>2]|0)>>>0){f[d>>2]=f[E>>2];f[d+4>>2]=f[E+4>>2];f[d+8>>2]=f[E+8>>2];f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[L>>2]=(f[L>>2]|0)+12}else{x=0;Ga(542,M|0,E|0);s=x;x=0;if(s&1){d=Ya()|0;if((b[E+11>>0]|0)>=0)break b;Hta(f[E>>2]|0);break b}else{if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0);break}}while(0);if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);j=z+8|0;k=z+4|0;q=c+108|0;o=J+11|0;r=z+11|0;s=K+11|0;p=E+11|0;l=K+8|0;m=K+4|0;c:while(1){x=0;d=ta(53,c|0,1,0)|0;i=x;x=0;if(i&1){l=36;break a}if(!d){l=72;break}x=0;d=ta(100,c|0,1,0)|0;i=x;x=0;if(i&1){l=36;break a}do if(!d){f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;d=qa(318,48)|0;i=x;x=0;if(i&1){l=36;break a}f[z>>2]=d;f[j>>2]=-2147483600;f[k>>2]=46;e=d;g=46868;h=e+46|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+46>>0]=0;x=0;Ga(459,J|0,z|0);i=x;x=0;if(i&1){l=44;break c}x=0;f[E>>2]=f[q>>2];f[E+4>>2]=f[q+4>>2];f[E+8>>2]=f[q+8>>2];Ia(113,c|0,J|0,E|0);i=x;x=0;if(i&1){l=32;break c}if((b[o>>0]|0)<0)Hta(f[J>>2]|0);if((b[r>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);e=f[t>>2]|0;h=f[v>>2]|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;i=h-e|0;if(i>>>0>4294967279){l=48;break}if(i>>>0<11){b[s>>0]=i;d=K}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;N=x;x=0;if(N&1){l=65;break}f[K>>2]=d;f[l>>2]=g|-2147483648;f[m>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,E|0,K|0);N=x;x=0;if(N&1){l=66;break}d=f[L>>2]|0;do if(d>>>0<(f[n>>2]|0)>>>0){f[d>>2]=f[E>>2];f[d+4>>2]=f[E+4>>2];f[d+8>>2]=f[E+8>>2];f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[L>>2]=(f[L>>2]|0)+12}else{x=0;Ga(542,M|0,E|0);N=x;x=0;if(N&1){l=67;break c}if((b[p>>0]|0)>=0)break;Hta(f[E>>2]|0)}while(0);if((b[s>>0]|0)<0)Hta(f[K>>2]|0)}if((l|0)==32){d=Ya()|0;if((b[o>>0]|0)<0){Hta(f[J>>2]|0);l=45}else l=45}else if((l|0)==44){d=Ya()|0;l=45}else if((l|0)==48){x=0;Fa(428,K|0);x=0;l=65}else if((l|0)==66){d=Ya()|0;l=69}else if((l|0)==67){d=Ya()|0;if((b[p>>0]|0)<0){Hta(f[E>>2]|0);l=69}else l=69}else if((l|0)==72){x=0;d=ta(137,c|0,1,0)|0;N=x;x=0;if(N&1){l=36;break a}d:do if(!d){f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;x=0;d=qa(318,48)|0;N=x;x=0;if(N&1){l=36;break a}f[D>>2]=d;f[D+8>>2]=-2147483600;f[D+4>>2]=40;e=d;g=46915;h=e+40|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+40>>0]=0;x=0;Ga(459,K|0,D|0);N=x;x=0;do if(N&1)d=Ya()|0;else{x=0;f[E>>2]=f[q>>2];f[E+4>>2]=f[q+4>>2];f[E+8>>2]=f[q+8>>2];Ia(113,c|0,K|0,E|0);N=x;x=0;if(N&1){d=Ya()|0;if((b[K+11>>0]|0)>=0)break;Hta(f[K>>2]|0);break}if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);if((b[D+11>>0]|0)>=0)break d;Hta(f[D>>2]|0);break d}while(0);if((b[D+11>>0]|0)>=0){g=d;break a}Hta(f[D>>2]|0);g=d;break a}while(0);x=0;Ia(114,K|0,c|0,0);N=x;x=0;if(N&1)d=Ya()|0;else{x=0;Ia(123,J|0,c|0,w|0);N=x;x=0;if(N&1)d=Ya()|0;else{f[y>>2]=(f[y>>2]|0)+-4;x=0;k=qa(318,92)|0;N=x;x=0;e:do if(N&1)d=Ya()|0;else{e=B;g=A;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(458,H|0,M|0);N=x;x=0;do if(N&1)d=Ya()|0;else{x=0;Ga(462,F|0,f[K+4>>2]|0);N=x;x=0;if(N&1){d=Ya()|0;j=1;g=I}else{f[F>>2]=7696;x=0;Ga(462,C|0,f[J+4>>2]|0);N=x;x=0;if(N&1){d=Ya()|0;e=1;g=I}else{f[C>>2]=7280;x=0;e=E;g=B;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));Ka(12,k|0,E|0,H|0,F|0,C|0);N=x;x=0;do if(N&1)d=1;else{x=0;Ga(462,a|0,k|0);N=x;x=0;if(N&1){d=0;break}f[a>>2]=17272;_P(C);_P(F);d=f[H>>2]|0;if(d|0){g=H+4|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[g>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[g>>2]|0}}while((e|0)!=(d|0));d=f[H>>2]|0}Hta(d)}_P(J);_P(K);d=f[M>>2]|0;if(!d){u=G;return}e=f[L>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[L>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[L>>2]|0}}while((e|0)!=(d|0));d=f[M>>2]|0}Hta(d);u=G;return}while(0);N=Ya()|0;g=I;_P(C);e=d;d=N}_P(F);j=e}e=f[H>>2]|0;if(!e)if(j)break;else break e;i=H+4|0;h=f[i>>2]|0;if((h|0)!=(e|0)){do{h=h+-12|0;f[i>>2]=h;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[i>>2]|0}}while((h|0)!=(e|0));e=f[H>>2]|0}Hta(e);if(!j)break e}while(0);Hta(k)}while(0);_P(J)}_P(K)}g=d;break a}if((l|0)==45){if((b[r>>0]|0)>=0){g=d;break a}Hta(f[z>>2]|0);g=d;break a}else if((l|0)==65)d=Ya()|0;else if((l|0)==69)if((b[s>>0]|0)<0)Hta(f[K>>2]|0);g=d;break a}while(0);if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0)}while(0);if((l|0)==37)d=Ya()|0;g=d}while(0);if((l|0)==36)g=Ya()|0;d=f[M>>2]|0;if(!d)jb(g|0);e=f[L>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[L>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[L>>2]|0}}while((e|0)!=(d|0));d=f[M>>2]|0}Hta(d);jb(g|0)}function Ye(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;s=0;p=u;u=u+96|0;r=p+80|0;q=p+72|0;l=p+64|0;i=p+56|0;h=p+48|0;o=p+40|0;n=p+32|0;m=p+24|0;j=p+16|0;k=p+8|0;g=p;e=NW(f[a+4>>2]|0)|0;ND(r,c+64|0);d=(b[c+84>>0]|0)!=0;a:do if(!(b[c+85>>0]|0)){if(!d){x=0;Ga(462,g|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[g>>2]=7696;d=f[g+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=129;else{x=0;Ga(462,q|0,d|0);c=x;x=0;if(c&1)s=129;else{f[q>>2]=6664;x=0;Ia(129,e|0,r|0,q|0);c=x;x=0;if(c&1){d=Ya()|0;_P(q);break}else{_P(q);_P(g);s=133;break a}}}while(0);if((s|0)==129)d=Ya()|0;_P(g)}break}x=0;d=sa(1014,e|0,r|0)|0;l=x;x=0;if(l&1)s=14;else{if(d){b:do if(!e)s=75;else{while(1){x=0;d=qa(383,e|0)|0;m=x;x=0;if(m&1)break b;if(!d){s=75;break b}x=0;d=sa(1016,e|0,r|0)|0;m=x;x=0;if(m&1)break b;if(d)break;d=f[e+12>>2]|0;if(!d){s=75;break b}else e=d}x=0;d=sa(1035,e|0,r|0)|0;m=x;x=0;if(m&1)s=61;else{x=0;Ga(462,q|0,f[d+4>>2]|0);m=x;x=0;if(m&1)s=61;else{f[q>>2]=6664;d=f[q+4>>2]|0;c:do if(!d){d=Ta(8)|0;x=0;Ga(496,d|0,48895);p=x;x=0;if(p&1){p=Ya()|0;bb(d|0);d=p;break}else{x=0;Ia(77,d|0,6176,414);x=0;d=Ya()|0;break}}else{x=0;d=qa(336,d|0)|0;m=x;x=0;if(m&1){d=Ya()|0;break}if(!d)s=55;else if((f[d+56>>2]|0)==8)s=55;d:do if((s|0)==55){x=0;Ga(462,n|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[n>>2]=7696;d=f[n+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=64;else{x=0;Ga(462,o|0,d|0);c=x;x=0;if(c&1){s=64;break}f[o>>2]=6664;x=0;Ia(128,e|0,r|0,o|0);c=x;x=0;if(c&1){d=Ya()|0;_P(o);break}else{_P(o);_P(n);break d}}while(0);if((s|0)==64)d=Ya()|0;_P(n)}break c}while(0);_P(q);s=133;break a}while(0);_P(q)}}if((s|0)==61)d=Ya()|0;break a}while(0);do if((s|0)==75){d=Ta(8)|0;x=0;Ga(496,d|0,48895);q=x;x=0;if(q&1){q=Ya()|0;bb(d|0);d=q;break a}else{x=0;Ia(77,d|0,6176,414);x=0;break}}while(0);d=Ya()|0;break}x=0;d=sa(1010,e|0,r|0)|0;n=x;x=0;if(n&1)s=14;else{if(d){x=0;d=sa(1034,e|0,r|0)|0;n=x;x=0;e:do if(n&1)s=91;else{x=0;Ga(462,q|0,f[d+4>>2]|0);n=x;x=0;if(n&1)s=91;else{f[q>>2]=6664;d=f[q+4>>2]|0;f:do if(d|0){x=0;d=qa(336,d|0)|0;n=x;x=0;if(n&1)d=Ya()|0;else{if(d|0)if((f[d+56>>2]|0)!=8)break;x=0;Ga(462,m|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[m>>2]=7696;d=f[m+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=94;else{x=0;Ga(462,o|0,d|0);c=x;x=0;if(c&1){s=94;break}f[o>>2]=6664;x=0;Ia(127,e|0,r|0,o|0);c=x;x=0;if(c&1){d=Ya()|0;_P(o);break}else{_P(o);_P(m);break f}}while(0);if((s|0)==94)d=Ya()|0;_P(m)}}_P(q);break e}while(0);_P(q);s=133;break a}}while(0);if((s|0)==91)d=Ya()|0;break}x=0;d=qa(383,e|0)|0;o=x;x=0;if(o&1)s=14;else if(d){x=0;Ga(462,j|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[j>>2]=7696;d=f[j+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=109;else{x=0;Ga(462,q|0,d|0);c=x;x=0;if(c&1)s=109;else{f[q>>2]=6664;x=0;Ia(128,e|0,r|0,q|0);c=x;x=0;if(c&1){d=Ya()|0;_P(q);break}else{_P(q);_P(j);s=133;break a}}}while(0);if((s|0)==109)d=Ya()|0;_P(j)}break}else{x=0;Ga(462,k|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[k>>2]=7696;d=f[k+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=119;else{x=0;Ga(462,q|0,d|0);c=x;x=0;if(c&1)s=119;else{f[q>>2]=6664;x=0;Ia(128,e|0,r|0,q|0);c=x;x=0;if(c&1){d=Ya()|0;_P(q);break}else{_P(q);_P(k);s=133;break a}}}while(0);if((s|0)==119)d=Ya()|0;_P(k)}break}}}}else{if(!d){x=0;Ga(462,h|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[h>>2]=7696;d=f[h+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=37;else{x=0;Ga(462,q|0,d|0);c=x;x=0;if(c&1)s=37;else{f[q>>2]=6664;x=0;Ia(127,e|0,r|0,q|0);c=x;x=0;if(c&1){d=Ya()|0;_P(q);break}else{_P(q);_P(h);s=133;break a}}}while(0);if((s|0)==37)d=Ya()|0;_P(h)}break}x=0;d=sa(1010,e|0,r|0)|0;o=x;x=0;if(o&1)s=14;else{if(!d){x=0;Ga(462,i|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[i>>2]=7696;d=f[i+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=27;else{x=0;Ga(462,q|0,d|0);c=x;x=0;if(c&1)s=27;else{f[q>>2]=6664;x=0;Ia(127,e|0,r|0,q|0);c=x;x=0;if(c&1){d=Ya()|0;_P(q);break}else{_P(q);_P(i);s=133;break a}}}while(0);if((s|0)==27)d=Ya()|0;_P(i)}break}x=0;d=sa(1034,e|0,r|0)|0;o=x;x=0;if(!(o&1)){x=0;d=qa(336,f[d+4>>2]|0)|0;o=x;x=0;if(!(o&1)){if(d|0)if((f[d+56>>2]|0)!=8){s=133;break}x=0;Ga(462,l|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[l>>2]=7696;d=f[l+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;c=x;x=0;do if(c&1)s=17;else{x=0;Ga(462,q|0,d|0);c=x;x=0;if(c&1)s=17;else{f[q>>2]=6664;x=0;Ia(127,e|0,r|0,q|0);c=x;x=0;if(c&1){d=Ya()|0;_P(q);break}else{_P(q);_P(l);s=133;break a}}}while(0);if((s|0)==17)d=Ya()|0;_P(l)}break}}d=Ya()|0}}while(0);if((s|0)==14)d=Ya()|0;else if((s|0)==133){if((b[r+11>>0]|0)>=0){u=p;return 0}Hta(f[r>>2]|0);u=p;return 0}if((b[r+11>>0]|0)>=0)jb(d|0);Hta(f[r>>2]|0);jb(d|0);return 0}function Ze(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,v=0,w=0;p=0;t=u;u=u+128|0;s=t;i=t+120|0;w=t+112|0;e=t+104|0;v=t+64|0;m=t+88|0;o=t+76|0;n=t+52|0;q=a+8|0;d=f[(f[q>>2]|0)+16>>2]|0;r=f[d>>2]|0;f[d>>2]=0;qV(e,f[c+68>>2]|0);f[e>>2]=7696;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;l=x;x=0;if(!(l&1)){x=0;Ga(462,w|0,d|0);l=x;x=0;if(!(l&1)){f[w>>2]=7696;_P(e);x=0;h=qa(384,f[a+4>>2]|0)|0;l=x;x=0;do if(l&1)d=Ya()|0;else{f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=8;d=s;f[d>>2]=1918990144;f[d+4>>2]=1566989166;b[s+8>>0]=0;x=0;d=sa(1009,h|0,s|0)|0;l=x;x=0;if(l&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);break}if((b[e>>0]|0)<0)Hta(f[s>>2]|0);if(d){g=f[q>>2]|0;f[s>>2]=52119;f[s+4>>2]=f[c+24>>2];f[s+8>>2]=(f[c+12>>2]|0)+1;f[s+12>>2]=(f[c+16>>2]|0)+1;f[s+16>>2]=1;f[s+20>>2]=h;d=g+292|0;e=f[d>>2]|0;if(e>>>0<(f[g+296>>2]|0)>>>0){f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[e+12>>2]=f[s+12>>2];f[e+16>>2]=f[s+16>>2];f[e+20>>2]=f[s+20>>2];f[d>>2]=(f[d>>2]|0)+24}else{x=0;Ga(645,g+288|0,s|0);v=x;x=0;if(v&1){d=Ya()|0;break}}f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;e=s+11|0;b[e>>0]=8;d=s;f[d>>2]=1918990144;f[d+4>>2]=1566989166;b[s+8>>0]=0;x=0;d=sa(992,h|0,s|0)|0;v=x;x=0;if(v&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);break}d=f[d+4>>2]|0;if(!d)d=0;else d=(f[215]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;if((b[e>>0]|0)<0)Hta(f[s>>2]|0);e=f[d+104>>2]|0;x=0;g=qa(385,e|0)|0;v=x;x=0;if(v&1){d=Ya()|0;break}f[s>>2]=20468;x=0;h=ta(155,1,0,0)|0;v=x;x=0;do if(!(v&1)){d=f[w+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+68>>2]|0,d|0,s|0)|0;v=x;x=0;if(!(v&1)){x=0;Ia(130,h|0,0,d|0);v=x;x=0;if(!(v&1)){x=0;d=ta(g|0,h|0,e|0,f[(f[q>>2]|0)+312>>2]|0)|0;v=x;x=0;if(!(v&1)){f[f[(f[q>>2]|0)+16>>2]>>2]=r;v=(f[q>>2]|0)+292|0;f[v>>2]=(f[v>>2]|0)+-24;x=0;Fa(449,h|0);v=x;x=0;if(!(v&1)){x=0;Fa(449,d|0);v=x;x=0;if(v&1)break;_P(w);u=t;return 0}}}}}while(0);d=Ya()|0;break}l=f[w+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+24>>2]|0,s|0,l|0);l=x;x=0;do if(l&1){d=Ya()|0;p=85}else{x=0;Ka(5,v|0,s|0,0,0,1);l=x;x=0;if(l&1){d=Ya()|0;if((b[s+11>>0]|0)>=0){p=85;break}Hta(f[s>>2]|0);p=85;break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);x=0;d=ta(44,82616,53569,9)|0;l=x;x=0;a:do if(l&1)p=86;else{e=v+11|0;g=b[e>>0]|0;l=g<<24>>24<0;x=0;g=ta(44,d|0,(l?f[v>>2]|0:v)|0,(l?f[v+4>>2]|0:g&255)|0)|0;l=x;x=0;if(l&1)p=86;else{x=0;Ga(536,i|0,g+(f[(f[g>>2]|0)+-12>>2]|0)|0);l=x;x=0;if(l&1)p=86;else{x=0;d=sa(994,i|0,83320)|0;l=x;x=0;if(!(l&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;l=x;x=0;if(!(l&1)){uga(i);x=0;sa(1012,g|0,d|0)|0;l=x;x=0;if(l&1){p=86;break}x=0;qa(341,g|0)|0;l=x;x=0;if(l&1){p=86;break}l=a+12|0;h=f[l>>2]|0;k=m+11|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;j=s;i=c+12|0;c=j+40|0;do{f[j>>2]=f[i>>2];j=j+4|0;i=i+4|0}while((j|0)<(c|0));a=s+40|0;x=0;Ga(459,a|0,m|0);j=x;x=0;b:do if(j&1)d=Ya()|0;else{d=h+4|0;g=f[d>>2]|0;do if(g>>>0<(f[h+8>>2]|0)>>>0){j=g;i=s;c=j+40|0;do{f[j>>2]=f[i>>2];j=j+4|0;i=i+4|0}while((j|0)<(c|0));j=g+40|0;f[j>>2]=f[a>>2];f[j+4>>2]=f[a+4>>2];f[j+8>>2]=f[a+8>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,h|0,s|0);j=x;x=0;if(!(j&1))break;d=Ya()|0;if((b[a+11>>0]|0)>=0)break b;Hta(f[a>>2]|0);break b}while(0);if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);if((b[k>>0]|0)<0)Hta(f[m>>2]|0);x=0;Ga(511,o|0,f[l>>2]|0);m=x;x=0;do if(m&1)d=Ya()|0;else{f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;a=n+11|0;b[a>>0]=9;j=n;i=48125;c=j+9|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(c|0));b[n+9>>0]=0;x=0;Ia(131,s|0,o|0,n|0);m=x;x=0;do if(m&1){d=Ya()|0;c=I}else{h=s+11|0;m=b[h>>0]|0;k=m<<24>>24<0;x=0;ta(44,82616,(k?f[s>>2]|0:s)|0,(k?f[s+4>>2]|0:m&255)|0)|0;m=x;x=0;if(m&1){d=Ya()|0;g=I;if((b[h>>0]|0)>=0){c=g;break}Hta(f[s>>2]|0);c=g;break}if((b[h>>0]|0)<0)Hta(f[s>>2]|0);if((b[a>>0]|0)<0)Hta(f[n>>2]|0);d=f[o>>2]|0;if(d|0){a=o+4|0;g=f[a>>2]|0;if((g|0)!=(d|0)){do{h=g+-52|0;f[a>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[a>>2]|0}else g=h}while((g|0)!=(d|0));d=f[o>>2]|0}Hta(d)}x=0;Ga(536,s|0,82616+(f[(f[20654]|0)+-12>>2]|0)|0);p=x;x=0;if(p&1){p=86;break a}x=0;d=sa(994,s|0,83320)|0;p=x;x=0;do if(!(p&1)){x=0;d=sa(f[(f[d>>2]|0)+28>>2]|0,d|0,10)|0;p=x;x=0;if(p&1)break;uga(s);x=0;sa(1012,82616,d|0)|0;s=x;x=0;if(s&1){p=86;break a}x=0;qa(341,82616)|0;s=x;x=0;if(s&1){p=86;break a}f[f[(f[q>>2]|0)+16>>2]>>2]=r;h=(f[l>>2]|0)+4|0;g=f[h>>2]|0;a=g+-52|0;while(1){d=g+-52|0;f[h>>2]=d;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);d=f[h>>2]|0}if((d|0)==(a|0))break;else g=d}if((b[e>>0]|0)<0)Hta(f[v>>2]|0);_P(w);u=t;return 0}while(0);d=Ya()|0;uga(s);p=87;break a}while(0);if((b[a>>0]|0)<0)Hta(f[n>>2]|0);g=f[o>>2]|0;if(!g)break;i=o+4|0;h=f[i>>2]|0;if((h|0)!=(g|0)){do{a=h+-52|0;f[i>>2]=a;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[i>>2]|0}else h=a}while((h|0)!=(g|0));g=f[o>>2]|0}Hta(g)}while(0);break a}while(0);if((b[k>>0]|0)<0)Hta(f[m>>2]|0);break}}d=Ya()|0;uga(i);p=87}}}while(0);if((p|0)==86){d=Ya()|0;e=v+11|0;p=87}if((b[e>>0]|0)<0)Hta(f[v>>2]|0)}while(0)}while(0);_P(w);w=d;jb(w|0)}}w=Ya()|0;_P(e);jb(w|0);return 0}function _e(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;z=0;s=u;u=u+256|0;p=s+240|0;E=s+228|0;F=s+216|0;C=s+72|0;v=s+12|0;n=s;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;G=F+11|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;D=C+64|0;d=C+8|0;f[d>>2]=16496;B=C+12|0;f[C>>2]=2284;f[D>>2]=2304;f[C+4>>2]=0;x=0;Ga(531,C+64|0,B|0);A=x;x=0;a:do if(A&1){d=Ya()|0;z=43}else{f[C+136>>2]=0;f[C+140>>2]=-1;f[C>>2]=16476;f[D>>2]=16516;f[d>>2]=16496;x=0;Fa(437,B|0);A=x;x=0;do if(A&1)d=Ya()|0;else{f[B>>2]=16336;A=C+44|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[C+60>>2]=24;x=0;Ga(532,B|0,a|0);y=x;x=0;if(y&1){d=Ya()|0;if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);Bca(B);break}w=v+8|0;y=v+24|0;d=y;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));t=v+4|0;m=v+20|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;b[t+16>>0]=0;x=0;sa(1032,w|0,89823)|0;t=x;x=0;b:do if(t&1)z=46;else{x=0;sa(1032,y|0,89823)|0;t=x;x=0;if(t&1)z=46;else{r=v+36|0;g=v+44|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;j=f[g>>2]|0;t=v+40|0;i=f[t>>2]|0;q=j-i>>2;e=v+52|0;a=f[e>>2]|0;o=v+56|0;d=f[o>>2]|0;do if((((q|0)==0?0:(q*341|0)+-1|0)|0)==(d+a|0)){x=0;Fa(467,r|0);q=x;x=0;if(q&1){d=Ya()|0;m=I;l=t;break b}else{d=f[o>>2]|0;a=f[e>>2]|0;j=f[g>>2]|0;i=f[t>>2]|0;break}}while(0);d=d+a|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[p+4>>2];f[d+8>>2]=f[p+8>>2];f[o>>2]=(f[o>>2]|0)+1;f[v>>2]=c;q=E+11|0;a=E+4|0;l=p+11|0;i=p+4|0;c:while(1){if((b[q>>0]|0)<0){b[f[E>>2]>>0]=0;f[a>>2]=0}else{b[E>>0]=0;b[q>>0]=0}x=0;Ia(152,p|0,C|0,1);k=x;x=0;if(k&1){z=45;break}j=f[C+(f[(f[C>>2]|0)+-12>>2]|0)+24>>2]|0;c=j+12|0;k=j+16|0;d:while(1){d=f[c>>2]|0;if((d|0)==(f[k>>2]|0)){x=0;d=qa(f[(f[j>>2]|0)+40>>2]|0,j|0)|0;H=x;x=0;if(H&1){z=44;break c}}else{f[c>>2]=d+1;d=h[d>>0]|0}switch(d|0){case 10:break d;case 13:{z=27;break d}case -1:{z=34;break d}default:{}}x=0;Ga(534,E|0,d&255|0);H=x;x=0;if(H&1){z=44;break c}}do if((z|0)==27){z=0;d=f[c>>2]|0;if((d|0)==(f[k>>2]|0)){x=0;d=qa(f[(f[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1){z=45;break c}}else d=h[d>>0]|0;if((d|0)==10){d=f[c>>2]|0;if((d|0)==(f[k>>2]|0)){x=0;qa(f[(f[j>>2]|0)+40>>2]|0,j|0)|0;H=x;x=0;if(H&1){z=45;break c}else break}else{f[c>>2]=d+1;break}}}else if((z|0)==34){z=0;H=b[q>>0]|0;if(!((H<<24>>24<0?f[a>>2]|0:H&255)|0)){H=C+(f[(f[C>>2]|0)+-12>>2]|0)|0;x=0;Ga(537,H|0,f[H+16>>2]|2|0);H=x;x=0;if(H&1){z=45;break c}}}while(0);if(f[C+(f[(f[C>>2]|0)+-12>>2]|0)+16>>2]&7|0){z=53;break}x=0;Ia(153,p|0,E|0,v|0);H=x;x=0;if(H&1){z=49;break}H=b[l>>0]|0;k=H<<24>>24<0;x=0;ta(41,F|0,(k?f[p>>2]|0:p)|0,(k?f[i>>2]|0:H&255)|0)|0;H=x;x=0;if(H&1){z=50;break}if((b[l>>0]|0)<0)Hta(f[p>>2]|0)}if((z|0)==44){d=Ya()|0;i=t;a=I;z=47;break}else if((z|0)==45){d=Ya()|0;i=t;a=I;z=47;break}else if((z|0)==49){d=Ya()|0;a=I}else if((z|0)==50){d=Ya()|0;a=I;if((b[l>>0]|0)<0)Hta(f[p>>2]|0)}else if((z|0)==53){j=p+11|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;b[m>>0]=1;x=0;Ia(153,n|0,p|0,v|0);H=x;x=0;do if(H&1){d=Ya()|0;a=I}else{i=n+11|0;H=b[i>>0]|0;m=H<<24>>24<0;x=0;ta(41,F|0,(m?f[n>>2]|0:n)|0,(m?f[n+4>>2]|0:H&255)|0)|0;H=x;x=0;if(H&1){d=Ya()|0;a=I;if((b[i>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[n>>2]|0);d=b[G>>0]|0;if(d<<24>>24<0){c=Rd((f[F+4>>2]|0)+1|0)|0;d=f[F>>2]|0}else{c=Rd((d&255)+1|0)|0;d=F}Upa(c,d)|0;if((b[j>>0]|0)<0)Hta(f[p>>2]|0);d=f[t>>2]|0;a=f[e>>2]|0;i=d+(((a>>>0)/341|0)<<2)|0;if((f[g>>2]|0)==(d|0)){j=0;d=0}else{j=(f[o>>2]|0)+a|0;j=(f[d+(((j>>>0)/341|0)<<2)>>2]|0)+(((j>>>0)%341|0)*12|0)|0;d=(f[i>>2]|0)+(((a>>>0)%341|0)*12|0)|0}e:while(1){do{a=d;if((j|0)==(a|0))break e;if((b[d+11>>0]|0)<0)Hta(f[a>>2]|0);d=a+12|0}while((d-(f[i>>2]|0)|0)!=4092);d=i+4|0;i=d;d=f[d>>2]|0}f[o>>2]=0;a=f[g>>2]|0;i=f[t>>2]|0;j=a-i>>2;d=i;if(j>>>0>2){d=i;do{Hta(f[d>>2]|0);d=(f[t>>2]|0)+4|0;f[t>>2]=d;a=f[g>>2]|0;i=a-d>>2}while(i>>>0>2)}else i=j;j=a;switch(i|0){case 1:{a=170;z=76;break}case 2:{a=341;z=76;break}default:{}}if((z|0)==76)f[e>>2]=a;do if((d|0)!=(j|0)){do{Hta(f[d>>2]|0);d=d+4|0}while((d|0)!=(j|0));d=f[t>>2]|0;a=f[g>>2]|0;if((a|0)==(d|0))break;f[g>>2]=a+(~((a+-4-d|0)>>>2)<<2)}while(0);d=f[r>>2]|0;if(d|0)Hta(d);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);f[C>>2]=16476;f[D>>2]=16516;f[C+8>>2]=16496;f[B>>2]=16336;if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);Bca(B);KU(C,16528);uma(D);if((b[G>>0]|0)<0)Hta(f[F>>2]|0);if((b[q>>0]|0)>=0){u=s;return c|0}Hta(f[E>>2]|0);u=s;return c|0}while(0);if((b[j>>0]|0)<0)Hta(f[p>>2]|0);m=a;l=t;break}m=a;l=t}}while(0);if((z|0)==46){d=Ya()|0;i=v+40|0;e=v+52|0;g=v+44|0;a=I;z=47}if((z|0)==47){m=a;l=i}a=f[l>>2]|0;i=f[e>>2]|0;j=a+(((i>>>0)/341|0)<<2)|0;if((f[g>>2]|0)==(a|0)){c=0;k=v+56|0;a=0}else{k=v+56|0;c=(f[k>>2]|0)+i|0;c=(f[a+(((c>>>0)/341|0)<<2)>>2]|0)+(((c>>>0)%341|0)*12|0)|0;a=(f[j>>2]|0)+(((i>>>0)%341|0)*12|0)|0}f:while(1){do{i=a;if((c|0)==(i|0))break f;if((b[a+11>>0]|0)<0)Hta(f[i>>2]|0);a=i+12|0}while((a-(f[j>>2]|0)|0)!=4092);a=j+4|0;j=a;a=f[a>>2]|0}f[k>>2]=0;i=f[g>>2]|0;j=f[l>>2]|0;c=i-j>>2;a=j;if(c>>>0>2){a=j;do{Hta(f[a>>2]|0);a=(f[l>>2]|0)+4|0;f[l>>2]=a;i=f[g>>2]|0;j=i-a>>2}while(j>>>0>2)}else j=c;c=i;switch(j|0){case 1:{i=170;z=115;break}case 2:{i=341;z=115;break}default:{}}if((z|0)==115)f[e>>2]=i;if((a|0)!=(c|0)){do{Hta(f[a>>2]|0);a=a+4|0}while((a|0)!=(c|0));a=f[l>>2]|0;e=f[g>>2]|0;if((e|0)!=(a|0))f[g>>2]=e+(~((e+-4-a|0)>>>2)<<2)}a=f[v+36>>2]|0;if(a|0)Hta(a);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);f[C>>2]=16476;f[D>>2]=16516;f[C+8>>2]=16496;f[B>>2]=16336;if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);Bca(B);KU(C,16528);uma(D);break a}while(0);KU(C,16528);z=43}while(0);if((z|0)==43)uma(D);if((b[G>>0]|0)<0)Hta(f[F>>2]|0);if((b[E+11>>0]|0)>=0)jb(d|0);Hta(f[E>>2]|0);jb(d|0);return 0}function $e(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=u;u=u+352|0;q=y+80|0;D=y+40|0;w=y;E=y+288|0;l=y+336|0;e=y+296|0;k=y+280|0;j=y+272|0;o=y+264|0;m=y+256|0;A=y+248|0;p=y+240|0;r=y+200|0;s=y+192|0;t=y+184|0;v=y+144|0;B=y+136|0;C=y+128|0;z=y+120|0;d=f[a+28>>2]|0;if((d|0)==(f[a+24>>2]|0))a=f[a+12>>2]|0;else a=d+-4|0;a=f[a>>2]|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;if(!a)a=0;else a=(f[101]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)?a:0;qV(E,a);f[E>>2]=17176;x=0;n=qa(318,88)|0;i=x;x=0;if(i&1){D=Ya()|0;_P(E);jb(D|0)}d=E+4|0;x=0;Ga(462,l|0,f[(f[d>>2]|0)+68>>2]|0);i=x;x=0;if(i&1)a=Ya()|0;else{f[l>>2]=7280;g=D;h=(f[l+4>>2]|0)+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,n|0);i=x;x=0;do if(i&1)a=Ya()|0;else{g=n+12|0;h=D;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[n>>2]=6976;f[n+52>>2]=0;f[n+56>>2]=0;b[n+60>>0]=0;a=n+64|0;f[a>>2]=6936;h=n+68|0;i=n+72|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(568,h|0,0);g=x;x=0;if(g&1){a=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{D=e+-8|0;f[i>>2]=D;Kc[f[f[D>>2]>>2]&511](D);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[n>>2]=6780;f[a>>2]=6880;b[n+84>>0]=0;_P(l);x=0;l=qa(318,84)|0;i=x;x=0;a:do if(!(i&1)){a=f[d>>2]|0;g=e;h=a+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,k|0,f[a+76>>2]|0);i=x;x=0;if(i&1)a=Ya()|0;else{f[k>>2]=7168;x=0;Ga(462,j|0,n|0);n=x;x=0;do if(n&1)a=Ya()|0;else{f[j>>2]=7280;x=0;g=q;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ja(38,l|0,q|0,k|0,j|0);n=x;x=0;if(n&1){a=Ya()|0;_P(j);break}_P(j);_P(k);f[l+56>>2]=f[(f[d>>2]|0)+56>>2];x=0;Ga(462,o|0,f[l+68>>2]|0);n=x;x=0;if(n&1)break a;f[o>>2]=7280;a=(f[o+4>>2]|0)+64|0;d=f[(f[a>>2]|0)+24>>2]|0;e=c+68|0;x=0;Ga(462,m|0,f[e>>2]|0);n=x;x=0;do if(n&1)a=Ya()|0;else{f[m>>2]=7280;n=f[m+4>>2]|0;x=0;Ga(d|0,a|0,((n|0)==0?0:n+64|0)|0);n=x;x=0;if(n&1){a=Ya()|0;_P(m);break}_P(m);_P(o);x=0;j=qa(318,88)|0;o=x;x=0;b:do if(!(o&1)){x=0;Ga(462,A|0,f[e>>2]|0);o=x;x=0;if(o&1)a=Ya()|0;else{f[A>>2]=7280;g=q;h=(f[A+4>>2]|0)+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,j|0);o=x;x=0;do if(o&1)a=Ya()|0;else{g=j+12|0;h=q;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[j>>2]=6976;f[j+52>>2]=0;f[j+56>>2]=0;b[j+60>>0]=0;d=j+64|0;f[d>>2]=6936;h=j+68|0;i=j+72|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(568,h|0,0);o=x;x=0;if(o&1){a=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{D=e+-8|0;f[i>>2]=D;Kc[f[f[D>>2]>>2]&511](D);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[j>>2]=6780;f[d>>2]=6880;b[j+84>>0]=0;_P(A);a=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,p|0,l|0);A=x;x=0;if(A&1)break b;f[p>>2]=6920;x=0;Ga(a|0,d|0,p|0);A=x;x=0;if(A&1){D=Ya()|0;_P(p);_P(E);jb(D|0)}_P(p);x=0;e=qa(318,80)|0;A=x;x=0;c:do if(A&1)a=Ya()|0;else{g=r;h=c+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,s|0,f[c+76>>2]|0);A=x;x=0;do if(A&1)a=Ya()|0;else{f[s>>2]=7584;x=0;Ga(462,t|0,j|0);A=x;x=0;if(A&1){a=Ya()|0;_P(s);break}f[t>>2]=7280;x=0;g=q;h=r;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ja(39,e|0,q|0,s|0,t|0);A=x;x=0;do if(A&1)d=1;else{x=0;Ga(462,D|0,e|0);A=x;x=0;if(A&1){d=0;break}f[D>>2]=17208;_P(t);_P(s);a=f[D+4>>2]|0;f[a+56>>2]=f[c+56>>2];x=0;d=qa(318,76)|0;A=x;x=0;if(A&1)a=Ya()|0;else{g=v;h=a+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,C|0,a|0);A=x;x=0;if(A&1)a=Ya()|0;else{f[C>>2]=17208;x=0;Ga(462,B|0,f[C+4>>2]|0);A=x;x=0;if(A&1)a=Ya()|0;else{f[B>>2]=6920;x=0;Ga(462,z|0,0);A=x;x=0;if(A&1)a=Ya()|0;else{f[z>>2]=6920;g=w;h=v;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,d|0);A=x;x=0;do if(A&1)a=Ya()|0;else{g=d+12|0;h=w;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[d+52>>2]=6;f[d+56>>2]=0;b[d+60>>0]=0;f[d>>2]=7296;a=d+64|0;x=0;Ga(462,a|0,f[B+4>>2]|0);A=x;x=0;if(A&1){a=Ya()|0;break}else{f[a>>2]=6920;b[d+72>>0]=(f[z+4>>2]|0)==0&1;_P(z);_P(B);_P(C);_P(D);_P(E);u=y;return d|0}}while(0);_P(z)}_P(B)}_P(C)}Hta(d)}_P(D);break c}while(0);a=Ya()|0;_P(t);_P(s);if(!d)break c}while(0);Hta(e)}while(0);D=a;_P(E);jb(D|0)}while(0);_P(A)}Hta(j);D=a;_P(E);jb(D|0)}while(0);D=Ya()|0;_P(E);jb(D|0)}while(0);_P(o);D=a;_P(E);jb(D|0)}while(0);_P(k)}Hta(l);D=a;_P(E);jb(D|0)}while(0);D=Ya()|0;_P(E);jb(D|0)}while(0);_P(l)}Hta(n);D=a;_P(E);jb(D|0);return 0}function af(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=0;E=u;u=u+240|0;t=E+200|0;p=E+160|0;F=E+108|0;j=E+188|0;m=E+176|0;k=E+120|0;q=E+96|0;o=E+88|0;n=E+80|0;l=E+72|0;r=E+64|0;s=E+56|0;w=E+48|0;y=E+40|0;z=E+32|0;A=E+24|0;B=E+16|0;C=E+8|0;D=E;v=c+168|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(F);if(i>>>0<11){b[F+11>>0]=i;d=F}else{g=i+16&-16;d=VN(g)|0;f[F>>2]=d;f[F+8>>2]=g|-2147483648;f[F+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;f[j>>2]=45818;f[j+4>>2]=45818;f[j+8>>2]=45823;x=0;f[t>>2]=f[j>>2];f[t+4>>2]=f[j+4>>2];f[t+8>>2]=f[j+8>>2];d=sa(1033,v|0,t|0)|0;j=x;x=0;a:do if(j&1)G=20;else{b:do if(d){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,48)|0;j=x;x=0;if(j&1){G=20;break a}f[m>>2]=d;f[m+8>>2]=-2147483600;f[m+4>>2]=38;e=d;g=45824;h=e+38|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+38>>0]=0;x=0;Ga(459,p|0,m|0);j=x;x=0;do if(j&1)d=Ya()|0;else{j=c+108|0;x=0;f[t>>2]=f[j>>2];f[t+4>>2]=f[j+4>>2];f[t+8>>2]=f[j+8>>2];Ia(113,c|0,p|0,t|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);if((b[m+11>>0]|0)>=0)break b;Hta(f[m>>2]|0);break b}while(0);if((b[m+11>>0]|0)>=0)break a;Hta(f[m>>2]|0);break a}while(0);x=0;i=qa(318,100)|0;m=x;x=0;if(m&1)G=20;else{e=k;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(459,q|0,F|0);m=x;x=0;do if(m&1)d=Ya()|0;else{x=0;Ga(462,o|0,0);m=x;x=0;if(m&1){d=Ya()|0;e=1}else{f[o>>2]=7168;x=0;Ga(462,n|0,0);m=x;x=0;if(m&1){d=Ya()|0;e=1}else{f[n>>2]=7280;x=0;Ga(462,l|0,0);m=x;x=0;if(m&1){d=Ya()|0;e=1}else{f[l>>2]=7696;x=0;e=t;g=k;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));La(22,i|0,t|0,q|0,o|0,n|0,l|0);m=x;x=0;if(m&1)e=1;else{x=0;Ga(462,a|0,i|0);m=x;x=0;if(m&1)e=0;else{f[a>>2]=17128;_P(l);_P(n);_P(o);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);h=c+76|0;x=0;Ia(120,p|0,c|0,f[h>>2]|0);q=x;x=0;c:do if(q&1)G=60;else{g=f[p+8>>2]|0;do if(g|0){x=0;d=qa(348,g|0)|0;q=x;x=0;if(q&1){G=60;break c}q=d|0?d:g;q=(b[q>>0]|0)==59?q+1|0:0;d=c+80|0;if(!((q|0)==0?1:q>>>0>(f[d>>2]|0)>>>0)){f[p>>2]=g;break}x=0;e=qa(348,g|0)|0;q=x;x=0;if(q&1){G=60;break c}q=e|0?e:g;q=(b[q>>0]|0)==125?q+1|0:0;if((q|0)==0?1:q>>>0>(f[d>>2]|0)>>>0)break;f[p>>2]=g}while(0);d:do if(f[p>>2]|0){if(b[p+13>>0]|0)break;d=f[a+4>>2]|0;x=0;Ia(111,s|0,c|0,0);q=x;x=0;if(q&1){G=60;break c}e=d+84|0;d=d+88|0;if(!(f[d>>2]|0))G=46;else{x=0;Fa(429,e|0);q=x;x=0;if(!(q&1))G=46}do if((G|0)==46){f[d>>2]=f[s+4>>2];x=0;Fa(430,e|0);q=x;x=0;if(q&1)break;x=0;Ga(462,r|0,f[d>>2]|0);q=x;x=0;if(q&1)break;f[r>>2]=7168;_P(r);_P(s);break d}while(0);d=Ya()|0;_P(s);break c}while(0);x=0;ta(52,c|0,0,0)|0;s=x;x=0;if(s&1){G=60;break}x=0;d=ta(139,c|0,1,0)|0;s=x;x=0;if(s&1){G=60;break}e:do if(!d){d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;z=x;x=0;if(z&1){G=60;break c}z=e|0?e:d;y=b[z>>0]|0;z=z+1|0;y=y<<24>>24|0;z=(y|0)!=123&(y|0)!=125?((y|0)==59?z:0):z;if(!((z|0)==0?1:z>>>0>(f[c+80>>2]|0)>>>0))break;d=f[a+4>>2]|0;x=0;Ia(114,B|0,c|0,0);z=x;x=0;if(z&1){G=60;break c}e=d+92|0;d=d+96|0;if(!(f[d>>2]|0))G=80;else{x=0;Fa(429,e|0);z=x;x=0;if(!(z&1))G=80}do if((G|0)==80){f[d>>2]=f[B+4>>2];x=0;Fa(430,e|0);z=x;x=0;if(z&1)break;x=0;Ga(462,A|0,f[d>>2]|0);z=x;x=0;if(z&1)break;f[A>>2]=7696;_P(A);_P(B);break e}while(0);d=Ya()|0;_P(B);break c}else{d=f[a+4>>2]|0;x=0;f[t>>2]=f[v>>2];f[t+4>>2]=f[v+4>>2];f[t+8>>2]=f[v+8>>2];Ka(9,z|0,c|0,t|0,0,1);B=x;x=0;if(B&1){G=60;break c}x=0;Ga(462,y|0,f[z+4>>2]|0);B=x;x=0;if(B&1)d=Ya()|0;else{f[y>>2]=7696;e=d+92|0;d=d+96|0;if(!(f[d>>2]|0))G=69;else{x=0;Fa(429,e|0);B=x;x=0;if(!(B&1))G=69}do if((G|0)==69){f[d>>2]=f[y+4>>2];x=0;Fa(430,e|0);B=x;x=0;if(B&1)break;x=0;Ga(462,w|0,f[d>>2]|0);B=x;x=0;if(B&1)break;f[w>>2]=7696;_P(w);_P(y);_P(z);break e}while(0);d=Ya()|0;_P(y)}_P(z);break c}while(0);x=0;ta(52,c|0,0,0)|0;B=x;x=0;if(B&1){G=60;break}d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;B=x;x=0;if(B&1){G=60;break}B=e|0?e:d;B=(b[B>>0]|0)==123?B+1|0:0;f:do if(!((B|0)==0?1:B>>>0>(f[c+80>>2]|0)>>>0)){d=f[a+4>>2]|0;x=0;Ia(123,D|0,c|0,0);c=x;x=0;if(c&1){G=60;break c}e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))G=90;else{x=0;Fa(429,e|0);c=x;x=0;if(!(c&1))G=90}do if((G|0)==90){f[d>>2]=f[D+4>>2];x=0;Fa(430,e|0);c=x;x=0;if(c&1)break;x=0;Ga(462,C|0,f[d>>2]|0);c=x;x=0;if(c&1)break;f[C>>2]=7280;_P(C);_P(D);break f}while(0);d=Ya()|0;_P(D);break c}while(0);if((b[F+11>>0]|0)>=0){u=E;return}Hta(f[F>>2]|0);u=E;return}while(0);if((G|0)==60)d=Ya()|0;_P(a);break a}}d=Ya()|0;_P(l)}_P(n)}_P(o)}if((b[q+11>>0]|0)<0){Hta(f[q>>2]|0);if(e)break;else break a}else if(e)break;else break a}while(0);Hta(i)}}while(0);if((G|0)==20)d=Ya()|0;if((b[F+11>>0]|0)>=0)jb(d|0);Hta(f[F>>2]|0);jb(d|0)}function bf(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;j=0;p=u;u=u+112|0;r=p+80|0;s=p+72|0;e=p+64|0;q=p+48|0;o=p+36|0;n=p+24|0;m=p+12|0;i=p;k=a+8|0;d=f[(f[k>>2]|0)+16>>2]|0;l=f[d>>2]|0;f[d>>2]=0;qV(e,f[c+68>>2]|0);f[e>>2]=7696;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;h=x;x=0;if(!(h&1)){x=0;Ga(462,s|0,d|0);h=x;x=0;if(!(h&1)){f[s>>2]=7696;_P(e);x=0;h=qa(384,f[a+4>>2]|0)|0;g=x;x=0;do if(g&1)a=Ya()|0;else{f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;d=r+11|0;b[d>>0]=9;a=r;e=48096;g=a+9|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[r+9>>0]=0;x=0;a=sa(1009,h|0,r|0)|0;g=x;x=0;if(g&1){a=Ya()|0;if((b[d>>0]|0)<0)Hta(f[r>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[r>>2]|0);if(a){e=f[k>>2]|0;f[r>>2]=52125;f[r+4>>2]=f[c+24>>2];f[r+8>>2]=(f[c+12>>2]|0)+1;f[r+12>>2]=(f[c+16>>2]|0)+1;f[r+16>>2]=1;f[r+20>>2]=h;a=e+292|0;d=f[a>>2]|0;if(d>>>0<(f[e+296>>2]|0)>>>0){f[d>>2]=f[r>>2];f[d+4>>2]=f[r+4>>2];f[d+8>>2]=f[r+8>>2];f[d+12>>2]=f[r+12>>2];f[d+16>>2]=f[r+16>>2];f[d+20>>2]=f[r+20>>2];f[a>>2]=(f[a>>2]|0)+24}else{x=0;Ga(645,e+288|0,r|0);q=x;x=0;if(q&1){a=Ya()|0;break}}f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;d=r+11|0;b[d>>0]=9;a=r;e=48096;g=a+9|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[r+9>>0]=0;x=0;a=sa(992,h|0,r|0)|0;q=x;x=0;if(q&1){a=Ya()|0;if((b[d>>0]|0)<0)Hta(f[r>>2]|0);break}a=f[a+4>>2]|0;if(!a)a=0;else a=(f[215]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)?a:0;if((b[d>>0]|0)<0)Hta(f[r>>2]|0);d=f[a+104>>2]|0;x=0;e=qa(385,d|0)|0;q=x;x=0;if(q&1){a=Ya()|0;break}f[r>>2]=20468;x=0;g=ta(155,1,0,0)|0;q=x;x=0;do if(!(q&1)){a=f[s+4>>2]|0;x=0;a=sa(f[(f[a>>2]|0)+68>>2]|0,a|0,r|0)|0;r=x;x=0;if(!(r&1)){x=0;Ia(130,g|0,0,a|0);r=x;x=0;if(!(r&1)){x=0;a=ta(e|0,g|0,d|0,f[(f[k>>2]|0)+312>>2]|0)|0;r=x;x=0;if(!(r&1)){f[f[(f[k>>2]|0)+16>>2]>>2]=l;r=(f[k>>2]|0)+292|0;f[r>>2]=(f[r>>2]|0)+-24;x=0;Fa(449,g|0);r=x;x=0;if(!(r&1)){x=0;Fa(449,a|0);r=x;x=0;if(r&1)break;_P(s);u=p;return 0}}}}}while(0);a=Ya()|0;break}x=0;Ga(459,q|0,(f[k>>2]|0)+4|0);h=x;x=0;if(h&1)a=Ya()|0;else{h=f[s+4>>2]|0;x=0;Ga(f[(f[h>>2]|0)+24>>2]|0,r|0,h|0);h=x;x=0;do if(h&1){a=Ya()|0;j=96}else{x=0;Ka(5,o|0,r|0,0,0,1);h=x;x=0;if(h&1){a=Ya()|0;if((b[r+11>>0]|0)>=0){j=96;break}Hta(f[r>>2]|0);j=96;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);h=c+24|0;e=f[h>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,r|0);x=0;j=97}else{if(g>>>0<11){b[r+11>>0]=g;if(!g)a=r;else{a=r;j=46}}else{d=g+16&-16;x=0;a=qa(318,d|0)|0;j=x;x=0;if(j&1){j=97;break}f[r>>2]=a;f[r+8>>2]=d|-2147483648;f[r+4>>2]=g;j=46}if((j|0)==46)Lu(a|0,e|0,g|0)|0;b[a+g>>0]=0;x=0;Ja(16,n|0,r|0,q|0,q|0);g=x;x=0;if(g&1){a=Ya()|0;if((b[r+11>>0]|0)>=0){j=100;break}Hta(f[r>>2]|0);j=100;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);e=f[h>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,r|0);x=0;j=101}else{if(g>>>0<11){b[r+11>>0]=g;if(!g)a=r;else{a=r;j=56}}else{d=g+16&-16;x=0;a=qa(318,d|0)|0;j=x;x=0;if(j&1){j=101;break}f[r>>2]=a;f[r+8>>2]=d|-2147483648;f[r+4>>2]=g;j=56}if((j|0)==56)Lu(a|0,e|0,g|0)|0;b[a+g>>0]=0;x=0;Ja(17,m|0,r|0,q|0,q|0);g=x;x=0;if(g&1){a=Ya()|0;if((b[r+11>>0]|0)>=0){j=104;break}Hta(f[r>>2]|0);j=104;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);e=f[h>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,r|0);x=0;j=105}else{if(g>>>0<11){b[r+11>>0]=g;if(!g)a=r;else{a=r;j=66}}else{d=g+16&-16;x=0;a=qa(318,d|0)|0;j=x;x=0;if(j&1){j=105;break}f[r>>2]=a;f[r+8>>2]=d|-2147483648;f[r+4>>2]=g;j=66}if((j|0)==66)Lu(a|0,e|0,g|0)|0;b[a+g>>0]=0;x=0;Ja(42,i|0,m|0,n|0,r|0);h=x;x=0;if(h&1){a=Ya()|0;if((b[r+11>>0]|0)>=0){j=108;break}Hta(f[r>>2]|0);j=108;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);f[f[(f[k>>2]|0)+16>>2]>>2]=l;e=i+11|0;a=b[e>>0]|0;l=a<<24>>24<0;x=0;a=ta(44,82616,(l?f[i>>2]|0:i)|0,(l?f[i+4>>2]|0:a&255)|0)|0;l=x;x=0;a:do if(l&1)j=109;else{x=0;a=ta(44,a|0,53454,1)|0;l=x;x=0;if(l&1){j=109;break}x=0;a=sa(993,a|0,(f[c+12>>2]|0)+1|0)|0;l=x;x=0;do if(!(l&1)){x=0;a=ta(44,a|0,48106,8)|0;l=x;x=0;if(l&1)break;d=o+11|0;l=b[d>>0]|0;k=l<<24>>24<0;x=0;ta(44,a|0,(k?f[o>>2]|0:o)|0,(k?f[o+4>>2]|0:l&255)|0)|0;l=x;x=0;if(l&1)break;x=0;Ga(536,r|0,82616+(f[(f[20654]|0)+-12>>2]|0)|0);l=x;x=0;if(l&1){j=109;break a}x=0;a=sa(994,r|0,83320)|0;l=x;x=0;do if(!(l&1)){x=0;a=sa(f[(f[a>>2]|0)+28>>2]|0,a|0,10)|0;l=x;x=0;if(l&1)break;uga(r);x=0;sa(1012,82616,a|0)|0;r=x;x=0;if(r&1){j=109;break a}x=0;qa(341,82616)|0;r=x;x=0;if(r&1){j=109;break a}if((b[e>>0]|0)<0)Hta(f[i>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[d>>0]|0)<0)Hta(f[o>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);_P(s);u=p;return 0}while(0);a=Ya()|0;uga(r);break a}while(0);a=Ya()|0}while(0);if((j|0)==109)a=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[i>>2]|0)}while(0);if((j|0)==105){a=Ya()|0;j=108}if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0)}while(0);if((j|0)==101){a=Ya()|0;j=104}if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0)}while(0);if((j|0)==97){a=Ya()|0;j=100}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}while(0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0)}}while(0);_P(s);s=a;jb(s|0)}}s=Ya()|0;_P(e);jb(s|0);return 0}function cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;B=0;E=u;u=u+80|0;J=E+60|0;H=E+48|0;F=E+36|0;D=E+24|0;A=E+12|0;y=E;f[J>>2]=0;K=J+4|0;f[K>>2]=0;f[J+8>>2]=0;f[H>>2]=0;G=H+4|0;f[G>>2]=0;f[H+8>>2]=0;x=0;Ga(458,F|0,c|0);C=x;x=0;if(C&1)i=Ya()|0;else{x=0;Ga(458,D|0,c+12|0);C=x;x=0;if(C&1){i=Ya()|0;g=I}else{k=f[a>>2]|0;v=f[a+4>>2]|0;h=(k|0)==(v|0);if(h)C=(f[a+12>>2]|0)==(f[a+16>>2]|0);else C=0;if((f[c>>2]|0)==(f[c+4>>2]|0))z=(f[c+12>>2]|0)==(f[c+16>>2]|0);else z=0;a:do if(h){j=1.0;B=47}else{r=F+4|0;s=y+11|0;w=A+11|0;t=J+8|0;j=1.0;b:while(1){x=0;Ga(459,A|0,k|0);k=k+12|0;q=x;x=0;if(q&1){B=17;break}q=f[r>>2]|0;h=0;l=f[F>>2]|0;do{m=l;if((q|0)==(m|0))break;x=0;Ga(459,y|0,m|0);o=x;x=0;if(o&1){B=34;break b}p=+br(A,y);if(p==0.0){n=1;l=m+12|0}else{m=f[F>>2]|0;m=m+(((l-m|0)/12|0)*12|0)|0;h=m+12|0;o=f[r>>2]|0;if((h|0)==(o|0))B=26;else{do{n=m+11|0;if((b[n>>0]|0)<0){b[f[m>>2]>>0]=0;f[m+4>>2]=0}else{b[m>>0]=0;b[n>>0]=0}x=0;Ga(501,m|0,0);n=x;x=0;if(n&1){B=23;break b}f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;h=h+12|0;m=m+12|0}while((h|0)!=(o|0));h=f[r>>2]|0;if((h|0)!=(m|0))B=26}if((B|0)==26){B=0;do{h=h+-12|0;f[r>>2]=h;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[r>>2]|0}}while((h|0)!=(m|0))}n=0;h=1;j=j*p}if((b[s>>0]|0)<0)Hta(f[y>>2]|0)}while(n);do if(!h){h=f[K>>2]|0;if((h|0)==(f[t>>2]|0)){x=0;Ga(515,J|0,A|0);q=x;x=0;if(q&1){B=40;break b}else break}x=0;Ga(459,h|0,A|0);q=x;x=0;if(q&1){B=40;break b}f[K>>2]=(f[K>>2]|0)+12}while(0);if((b[w>>0]|0)<0)Hta(f[A>>2]|0);if((k|0)==(v|0)){B=47;break a}}if((B|0)==17){d=Ya()|0;e=I}else if((B|0)==23){E=Za(0)|0;soa(E)}else if((B|0)==34){d=Ya()|0;e=I;B=44}else if((B|0)==40){d=Ya()|0;e=I;B=44}if((B|0)==44)if((b[w>>0]|0)<0)Hta(f[A>>2]|0);i=d;g=e}while(0);c:do if((B|0)==47){d=f[a+12>>2]|0;o=f[a+16>>2]|0;d:do if((d|0)!=(o|0)){q=D+4|0;r=y+11|0;t=A+11|0;s=H+8|0;e:while(1){x=0;Ga(459,A|0,d|0);d=d+12|0;w=x;x=0;if(w&1){B=55;break}n=f[q>>2]|0;e=0;h=f[D>>2]|0;do{l=h;if((n|0)==(l|0))break;x=0;Ga(459,y|0,l|0);w=x;x=0;if(w&1){B=72;break e}p=+br(A,y);if(p==0.0){k=1;h=l+12|0}else{k=f[D>>2]|0;k=k+(((h-k|0)/12|0)*12|0)|0;e=k+12|0;m=f[q>>2]|0;if((e|0)==(m|0))B=64;else{do{l=k+11|0;if((b[l>>0]|0)<0){b[f[k>>2]>>0]=0;f[k+4>>2]=0}else{b[k>>0]=0;b[l>>0]=0}x=0;Ga(501,k|0,0);w=x;x=0;if(w&1){B=61;break e}f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];f[k+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0;k=k+12|0}while((e|0)!=(m|0));e=f[q>>2]|0;if((e|0)!=(k|0))B=64}if((B|0)==64){B=0;do{e=e+-12|0;f[q>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[q>>2]|0}}while((e|0)!=(k|0))}e=1;k=0;j=j/p}if((b[r>>0]|0)<0)Hta(f[y>>2]|0)}while(k);do if(!e){e=f[G>>2]|0;if((e|0)==(f[s>>2]|0)){x=0;Ga(515,H|0,A|0);w=x;x=0;if(w&1){B=78;break e}else break}x=0;Ga(459,e|0,A|0);w=x;x=0;if(w&1){B=78;break e}f[G>>2]=(f[G>>2]|0)+12}while(0);if((b[t>>0]|0)<0)Hta(f[A>>2]|0);if((d|0)==(o|0))break d}if((B|0)==55){i=Ya()|0;g=I}else if((B|0)==61){E=Za(0)|0;soa(E)}else if((B|0)==72){d=Ya()|0;e=I;B=82}else if((B|0)==78){d=Ya()|0;e=I;B=82}if((B|0)==82)if((b[t>>0]|0)<0){Hta(f[A>>2]|0);i=d;g=e}else{i=d;g=e}break c}while(0);do if(z|(f[K>>2]|0)==(f[J>>2]|0)){if(!(z|(f[G>>2]|0)==(f[H>>2]|0))){d=Ta(20)|0;x=0;Ia(76,d|0,c|0,a|0);E=x;x=0;if(E&1){i=Ya()|0;g=I;bb(d|0);break c}else{x=0;Ia(77,d|0,240,6);x=0;break}}k=F+4|0;B=f[F>>2]|0;d=B;if(!(C|(f[k>>2]|0)==(B|0))){d=Ta(20)|0;x=0;Ia(76,d|0,c|0,a|0);E=x;x=0;if(E&1){i=Ya()|0;g=I;bb(d|0);break c}else{x=0;Ia(77,d|0,240,6);x=0;break}}h=D+4|0;B=f[h>>2]|0;e=f[D>>2]|0;i=e;g=B;if(!(C|(B|0)==(e|0))){d=Ta(20)|0;x=0;Ia(76,d|0,c|0,a|0);E=x;x=0;if(E&1){i=Ya()|0;g=I;bb(d|0);break c}else{x=0;Ia(77,d|0,240,6);x=0;break}}if(e){if((g|0)==(i|0))d=e;else{d=g;do{d=d+-12|0;f[h>>2]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[h>>2]|0}}while((d|0)!=(i|0));d=f[D>>2]|0}Hta(d);d=f[F>>2]|0}if(d|0){e=f[k>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[k>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}}while((e|0)!=(d|0));d=f[F>>2]|0}Hta(d)}d=f[H>>2]|0;if(d|0){e=f[G>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[G>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[G>>2]|0}}while((e|0)!=(d|0));d=f[H>>2]|0}Hta(d)}d=f[J>>2]|0;if(!d){u=E;return +j}e=f[K>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[K>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[K>>2]|0}}while((e|0)!=(d|0));d=f[J>>2]|0}Hta(d);u=E;return +j}else{d=Ta(20)|0;x=0;Ia(76,d|0,c|0,a|0);E=x;x=0;if(E&1){i=Ya()|0;g=I;bb(d|0);break c}else{x=0;Ia(77,d|0,240,6);x=0;break}}while(0);i=Ya()|0;g=I}while(0);d=f[D>>2]|0;if(d){h=D+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(d|0));d=f[D>>2]|0}Hta(d)}}d=f[F>>2]|0;if(d){h=F+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[h>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}}while((e|0)!=(d|0));d=f[F>>2]|0}Hta(d)}}d=f[H>>2]|0;if(d|0){e=f[G>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[G>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[G>>2]|0}}while((e|0)!=(d|0));d=f[H>>2]|0}Hta(d)}d=f[J>>2]|0;if(!d)jb(i|0);e=f[K>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[K>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[K>>2]|0}}while((e|0)!=(d|0));d=f[J>>2]|0}Hta(d);jb(i|0);return 0.0}function df(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=0;t=u;u=u+144|0;s=t+120|0;w=t+108|0;m=t+92|0;o=t+88|0;q=t+84|0;F=t+72|0;E=t+60|0;v=t+96|0;z=t+48|0;A=t+36|0;C=t+24|0;B=t+12|0;y=t;i=a+80|0;l=f[i>>2]|0;while(1)if(!(b[l>>0]|0))break;else l=l+1|0;k=a+76|0;j=bW(f[k>>2]|0)|0;if((j|0)==0?1:j>>>0>(f[i>>2]|0)>>>0)j=f[k>>2]|0;p=j;r=a+72|0;k=f[r>>2]|0;do if(j>>>0>k>>>0){i=j;while(1){i=i+-1|0;if((b[i>>0]&-64)<<24>>24!=-128){D=9;break}if((i|0)==(k|0)){D=8;break}}if((D|0)==8){F=Ta(8)|0;E=b[k>>0]|0;f[F>>2]=16724;b[F+4>>0]=E;fb(F|0,2560,223)}else if((D|0)==9){f[s>>2]=i;HF(s,j)|0;break}}else i=p;while(0);a:do if(h){k=i;if(l>>>0>k>>>0?(f[r>>2]|0)>>>0>>0:0){b:while(1){if(!(Xaa(k)|0))break a;i=f[r>>2]|0;if((i|0)==(k|0)){D=17;break}else h=k;while(1){h=h+-1|0;if((b[h>>0]&-64)<<24>>24!=-128)break;if((h|0)==(i|0)){D=18;break b}}i=h;f[s>>2]=h;HF(s,k)|0;if(l>>>0>h>>>0?(f[r>>2]|0)>>>0>>0:0)k=h;else break a}if((D|0)==17){F=Ta(4)|0;f[F>>2]=16704;fb(F|0,2544,223)}else if((D|0)==18){F=Ta(8)|0;E=b[i>>0]|0;f[F>>2]=16724;b[F+4>>0]=E;fb(F|0,2560,223)}}}while(0);f[m>>2]=i;f[o>>2]=i;if(b[i>>0]|0){HF(m,l)|0;if(b[f[o>>2]>>0]|0)HF(o,l)|0}k=f[m>>2]|0;i=f[r>>2]|0;c:do if(k>>>0>i>>>0){d:while(1){h=f[o>>2]|0;f[s>>2]=k;if(k>>>0>>0){i=0;while(1){HF(s,h)|0;if((f[s>>2]|0)>>>0>>0)i=i+1|0;else break}if((i|0)>16){D=29;break}i=f[r>>2]|0;h=f[m>>2]|0}else h=k;if((h|0)==(i|0)){D=36;break}else k=h;while(1){k=k+-1|0;if((b[k>>0]&-64)<<24>>24!=-128)break;if((k|0)==(i|0)){D=39;break d}}f[s>>2]=k;HF(s,h)|0;switch(b[k>>0]|0){case 10:case 13:{h=0;break c}default:{}}f[m>>2]=k;i=f[r>>2]|0;if(k>>>0<=i>>>0){h=0;break c}}if((D|0)==29){i=f[r>>2]|0;k=f[m>>2]|0;if((k|0)==(i|0)){F=Ta(4)|0;f[F>>2]=16704;fb(F|0,2544,223)}else h=k;while(1){h=h+-1|0;f[m>>2]=h;if((b[h>>0]&-64)<<24>>24!=-128){D=34;break}if((h|0)==(i|0)){D=33;break}}if((D|0)==33){F=Ta(8)|0;E=b[f[m>>2]>>0]|0;f[F>>2]=16724;b[F+4>>0]=E;fb(F|0,2560,223)}else if((D|0)==34){f[s>>2]=h;HF(s,k)|0;h=b[f[m>>2]>>0]|0;HF(m,l)|0;h=h<<24>>24|0;h=(h|0)!=10&(h|0)!=13;break}}else if((D|0)==36){F=Ta(4)|0;f[F>>2]=16704;fb(F|0,2544,223)}else if((D|0)==39){F=Ta(8)|0;E=b[i>>0]|0;f[F>>2]=16724;b[F+4>>0]=E;fb(F|0,2560,223)}}else h=0;while(0);i=f[r>>2]|0;if((f[m>>2]|0)>>>0>>0)f[m>>2]=i;f[q>>2]=j;e:do if(j>>>0>>0){i=j;while(1){f[s>>2]=j;if(j>>>0>>0){k=0;while(1){HF(s,i)|0;if((f[s>>2]|0)>>>0>>0)k=k+1|0;else break}if((k|0)>17)break;i=f[q>>2]|0}switch(b[i>>0]|0){case 10:case 13:{n=h;break e}default:{}}HF(q,l)|0;i=f[q>>2]|0;if(i>>>0>=l>>>0){n=h;break e}}n=b[j>>0]|0;n=n<<24>>24|0;n=(n|0)!=10&(n|0)!=13}else n=h;while(0);k=f[m>>2]|0;l=f[o>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;m=l-k|0;if(m>>>0>4294967279)CO(F);if(m>>>0<11){b[F+11>>0]=m;i=F}else{o=m+16&-16;i=VN(o)|0;f[F>>2]=i;f[F+8>>2]=o|-2147483648;f[F+4>>2]=m}if((k|0)!=(l|0)){h=i;while(1){b[h>>0]=b[k>>0]|0;k=k+1|0;if((k|0)==(l|0))break;else h=h+1|0}i=i+m|0}b[i>>0]=0;l=f[q>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;h=l-p|0;do if(h>>>0>4294967279){x=0;Fa(428,E|0);x=0;D=84}else{if(h>>>0<11){b[E+11>>0]=h;i=E}else{k=h+16&-16;x=0;i=qa(318,k|0)|0;q=x;x=0;if(q&1){D=84;break}f[E>>2]=i;f[E+8>>2]=k|-2147483648;f[E+4>>2]=h}if((j|0)!=(l|0)){k=i;while(1){b[k>>0]=b[j>>0]|0;j=j+1|0;if((j|0)==(l|0))break;else k=k+1|0}i=i+h|0}b[i>>0]=0;i=F+11|0;j=b[i>>0]|0;m=F+4|0;j=j<<24>>24<0?f[m>>2]|0:j&255;f:do if(j>>>0>15){j=j+-15|0;k=E+11|0;if((j|0)==0|n^1)D=89;else{x=0;Ka(4,w|0,F|0,j|0,-1,F|0);q=x;x=0;do if(q&1)j=Ya()|0;else{x=0;l=ta(43,w|0,0,49844)|0;q=x;x=0;if(q&1){j=Ya()|0;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}j=f[l>>2]|0;h=l+4|0;f[s>>2]=f[h>>2];d[s+4>>1]=d[h+4>>1]|0;b[s+6>>0]=b[h+6>>0]|0;h=b[l+11>>0]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;if((b[i>>0]|0)<0){b[f[F>>2]>>0]=0;f[m>>2]=0}else{b[F>>0]=0;b[i>>0]=0}x=0;Ga(501,F|0,0);D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}f[F>>2]=j;f[m>>2]=f[s>>2];d[m+4>>1]=d[s+4>>1]|0;b[m+6>>0]=b[s+6>>0]|0;b[F+11>>0]=h;f[s>>2]=0;d[s+4>>1]=0;b[s+6>>0]=0;if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);D=89;break f}while(0)}}else{k=E+11|0;D=89}while(0);if((D|0)==89){j=f[r>>2]|0;if(!j)D=91;else if(!(b[j>>0]|0))D=91;if((D|0)==91)f[r>>2]=f[a+124>>2];x=0;Ia(80,C|0,c|0,e|0);e=x;x=0;do if(e&1)j=Ya()|0;else{x=0;Ia(105,B|0,F|0,0);e=x;x=0;do if(e&1)j=Ya()|0;else{l=B+11|0;j=b[l>>0]|0;e=j<<24>>24<0;x=0;j=ta(41,C|0,(e?f[B>>2]|0:B)|0,(e?f[B+4>>2]|0:j&255)|0)|0;e=x;x=0;do if(e&1)j=Ya()|0;else{f[A>>2]=f[j>>2];f[A+4>>2]=f[j+4>>2];f[A+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;j=b[g+11>>0]|0;e=j<<24>>24<0;x=0;j=ta(41,A|0,(e?f[g>>2]|0:g)|0,(e?f[g+4>>2]|0:j&255)|0)|0;g=x;x=0;do if(g&1)j=Ya()|0;else{f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2];f[z+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;Ia(105,y|0,E|0,0);g=x;x=0;do if(g&1)j=Ya()|0;else{h=y+11|0;j=b[h>>0]|0;g=j<<24>>24<0;x=0;j=ta(41,z|0,(g?f[y>>2]|0:y)|0,(g?f[y+4>>2]|0:j&255)|0)|0;g=x;x=0;do if(g&1)j=Ya()|0;else{f[v>>2]=f[j>>2];f[v+4>>2]=f[j+4>>2];f[v+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;Ga(459,w|0,v|0);g=x;x=0;do if(g&1)j=Ya()|0;else{g=a+108|0;x=0;f[s>>2]=f[g>>2];f[s+4>>2]=f[g+4>>2];f[s+8>>2]=f[g+8>>2];Ia(113,a|0,w|0,s|0);a=x;x=0;if(a&1){j=Ya()|0;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);if((b[h>>0]|0)<0)Hta(f[y>>2]|0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[l>>0]|0)<0)Hta(f[B>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);if((b[k>>0]|0)<0)Hta(f[E>>2]|0);if((b[i>>0]|0)>=0){u=t;return}Hta(f[F>>2]|0);u=t;return}while(0);if((b[v+11>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0);if((b[h>>0]|0)>=0)break;Hta(f[y>>2]|0)}while(0);if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0)}while(0);if((b[l>>0]|0)>=0)break;Hta(f[B>>2]|0)}while(0);if((b[C+11>>0]|0)>=0)break;Hta(f[C>>2]|0)}while(0)}if((b[k>>0]|0)<0)Hta(f[E>>2]|0)}while(0);if((D|0)==84){j=Ya()|0;i=F+11|0}if((b[i>>0]|0)>=0)jb(j|0);Hta(f[F>>2]|0);jb(j|0)}function ef(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.0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,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=0,K=0,L=0,M=0,N=0,O=0,P=0;N=0;P=u;u=u+288|0;J=P+8|0;K=P+17|0;L=P;M=P+16|0;if((f[a+76>>2]|0)>-1)O=Vta(a)|0;else O=0;e=b[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{A=a+4|0;B=a+100|0;C=a+108|0;D=a+8|0;E=K+10|0;F=K+33|0;z=J+4|0;G=K+1|0;H=K+1|0;j=c;s=0;c=0;i=0;g=0;b:while(1){c:do if(!(wpa(e&255)|0)){e=e<<24>>24==37;d:do if(e){m=j+1|0;k=b[m>>0]|0;e:do switch(k<<24>>24){case 37:break d;case 42:{y=0;j=j+2|0;break}default:{e=(k&255)+-48|0;if(e>>>0<10)if((b[j+2>>0]|0)==36){y=FP(d,e)|0;j=j+3|0;break e}j=(f[d>>2]|0)+(4-1)&~(4-1);y=f[j>>2]|0;f[d>>2]=j+4;j=m}}while(0);e=b[j>>0]|0;k=e&255;if((k+-48|0)>>>0<10){m=0;do{m=(m*10|0)+-48+k|0;j=j+1|0;e=b[j>>0]|0;k=e&255}while((k+-48|0)>>>0<10)}else m=0;e=e<<24>>24==109;x=(y|0)!=0;i=e?0:i;g=e?0:g;j=e?j+1|0:j;e=x&e;k=j+1|0;switch(b[j>>0]|0){case 104:{w=(b[k>>0]|0)==104;o=w?-2:-1;j=w?j+2|0:k;break}case 108:{w=(b[k>>0]|0)==108;o=w?3:1;j=w?j+2|0:k;break}case 106:{o=3;j=k;break}case 116:case 122:{o=1;j=k;break}case 76:{o=2;j=k;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{o=0;break}default:{N=135;break b}}r=h[j>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;q=r&255;switch(q<<24>>24){case 99:{m=(m|0)>1?m:1;w=s;break}case 91:{w=s;break}case 110:{TM(y,t,s,((s|0)<0)<<31>>31);k=s;break c}default:{PR(a,0);do{k=f[A>>2]|0;if(k>>>0<(f[B>>2]|0)>>>0){f[A>>2]=k+1;k=h[k>>0]|0}else k=ID(a)|0}while((wpa(k)|0)!=0);if(!(f[B>>2]|0))k=f[A>>2]|0;else{k=(f[A>>2]|0)+-1|0;f[A>>2]=k}w=(f[C>>2]|0)+s+k-(f[D>>2]|0)|0}}PR(a,m);k=f[A>>2]|0;o=f[B>>2]|0;if(k>>>0>>0)f[A>>2]=k+1;else{if((ID(a)|0)<0){N=135;break b}o=f[B>>2]|0}if(o|0)f[A>>2]=(f[A>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){AD(G|0,-1,256)|0;b[K>>0]=0;if((r|0)==115){b[F>>0]=0;b[E>>0]=0;b[E+1>>0]=0;b[E+2>>0]=0;b[E+3>>0]=0;b[E+4>>0]=0}}else{r=j+1|0;k=(b[r>>0]|0)==94;s=k&1;j=k?j+2|0:r;AD(H|0,k&1|0,256)|0;b[K>>0]=0;k=b[j>>0]|0;switch(k<<24>>24){case 45:{k=46;N=63;break}case 93:{k=94;N=63;break}default:{}}while(1){if((N|0)==63){N=0;b[K+k>>0]=s^1;k=j+1|0;j=k;k=b[k>>0]|0}h:do switch(k<<24>>24){case 0:{N=135;break b}case 93:break g;case 45:{r=j+1|0;k=b[r>>0]|0;switch(k<<24>>24){case 93:case 0:{k=45;break h}default:{}}j=b[j+-1>>0]|0;if((j&255)<(k&255)){q=(s^1)&255;j=j&255;do{j=j+1|0;b[K+j>>0]=q;k=b[r>>0]|0}while((j|0)<(k&255|0));j=r}else j=r;break}default:{}}while(0);k=(k&255)+1|0;N=63}}while(0);k=v?m+1|0:31;r=(t|0)==1;i:do if(r){if(e){g=Rd(k<<2)|0;if(!g){i=0;g=0;e=1;N=135;break b}}else g=y;f[J>>2]=0;f[z>>2]=0;q=k;i=0;j:while(1){o=(g|0)==0;do{k:while(1){k=f[A>>2]|0;if(k>>>0<(f[B>>2]|0)>>>0){f[A>>2]=k+1;k=h[k>>0]|0}else k=ID(a)|0;if(!(b[K+(k+1)>>0]|0))break j;b[M>>0]=k;switch(av(L,M,1,J)|0){case -1:{i=0;N=135;break b}case -2:break;default:break k}}if(!o){f[g+(i<<2)>>2]=f[L>>2];i=i+1|0}}while(!(e&(i|0)==(q|0)));i=q<<1|1;k=eJ(g,i<<2)|0;if(!k){i=0;e=1;N=135;break b}else{t=q;q=i;g=k;i=t}}if(!(Mma(J)|0)){i=0;N=135;break b}else{k=i;i=0;q=g}}else{if(e){i=Rd(k)|0;if(!i){i=0;g=0;e=1;N=135;break b}else{o=k;g=0}while(1){do{k=f[A>>2]|0;if(k>>>0<(f[B>>2]|0)>>>0){f[A>>2]=k+1;k=h[k>>0]|0}else k=ID(a)|0;if(!(b[K+(k+1)>>0]|0)){k=g;q=0;g=0;break i}b[i+g>>0]=k;g=g+1|0}while((g|0)!=(o|0));g=o<<1|1;k=eJ(i,g)|0;if(!k){g=0;e=1;N=135;break b}else{t=o;o=g;i=k;g=t}}}if(!y){i=o;while(1){g=f[A>>2]|0;if(g>>>0>>0){f[A>>2]=g+1;g=h[g>>0]|0}else g=ID(a)|0;if(!(b[K+(g+1)>>0]|0)){k=0;i=0;q=0;g=0;break i}i=f[B>>2]|0}}else{k=0;i=o;while(1){g=f[A>>2]|0;if(g>>>0>>0){f[A>>2]=g+1;g=h[g>>0]|0}else g=ID(a)|0;if(!(b[K+(g+1)>>0]|0)){i=y;q=0;g=0;break i}b[y+k>>0]=g;k=k+1|0;i=f[B>>2]|0}}}while(0);if(!(f[B>>2]|0))o=f[A>>2]|0;else{o=(f[A>>2]|0)+-1|0;f[A>>2]=o}o=o-(f[D>>2]|0)+(f[C>>2]|0)|0;if(!o){N=137;break b}if(!((o|0)==(m|0)|v^1)){N=137;break b}do if(e)if(r){f[y>>2]=q;break}else{f[y>>2]=i;break}while(0);if(!v){if(q|0)f[q+(k<<2)>>2]=0;if(!i){i=0;break f}b[i+k>>0]=0}break}case 120:case 88:case 112:{k=16;N=123;break}case 111:{k=8;N=123;break}case 117:case 100:{k=10;N=123;break}case 105:{k=0;N=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{l=+Yk(a,t,0);if((f[C>>2]|0)==((f[D>>2]|0)-(f[A>>2]|0)|0)){N=137;break b}if(y)switch(t|0){case 0:{n[y>>2]=l;break f}case 1:{p[y>>3]=l;break f}case 2:{p[y>>3]=l;break f}default:break f}break}default:{}}while(0);do if((N|0)==123){N=0;k=uh(a,k,0,-1,-1)|0;if((f[C>>2]|0)==((f[D>>2]|0)-(f[A>>2]|0)|0)){N=137;break b}if(x&(r|0)==112){f[y>>2]=k;break}else{TM(y,t,k,I);break}}while(0);c=c+(x&1)|0;k=(f[C>>2]|0)+w+(f[A>>2]|0)-(f[D>>2]|0)|0;break c}while(0);j=j+(e&1)|0;PR(a,0);e=f[A>>2]|0;if(e>>>0<(f[B>>2]|0)>>>0){f[A>>2]=e+1;e=h[e>>0]|0}else e=ID(a)|0;if((e|0)!=(h[j>>0]|0)){N=22;break b}k=s+1|0}else{while(1){e=j+1|0;if(!(wpa(h[e>>0]|0)|0))break;else j=e}PR(a,0);do{e=f[A>>2]|0;if(e>>>0<(f[B>>2]|0)>>>0){f[A>>2]=e+1;e=h[e>>0]|0}else e=ID(a)|0}while((wpa(e)|0)!=0);if(!(f[B>>2]|0))e=f[A>>2]|0;else{e=(f[A>>2]|0)+-1|0;f[A>>2]=e}k=(f[C>>2]|0)+s+e-(f[D>>2]|0)|0}while(0);j=j+1|0;e=b[j>>0]|0;if(!(e<<24>>24))break a;else s=k}if((N|0)==22){if(f[B>>2]|0)f[A>>2]=(f[A>>2]|0)+-1;if((c|0)!=0|(e|0)>-1)break;else{e=0;N=136}}else if((N|0)==135){e=e&1;if(!c)N=136}else if((N|0)==137)e=e&1;if((N|0)==136)c=-1;if(e){$h(i);$h(g)}}while(0);if(O|0)Uta(a);u=P;return c|0}function ff(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,v=0,w=0,y=0,z=0,A=0,B=0;t=u;u=u+304|0;z=t+272|0;A=t+264|0;y=t+140|0;w=t+104|0;v=t+68|0;s=t+16|0;q=t;if((f[c+232>>2]|0)==(f[c+228>>2]|0)){qV(a,0);f[a>>2]=7280;u=t;return}i=c+240|0;d=cu(i,z,c+20|0)|0;d=f[d>>2]|0;if(!d){d=Ta(8)|0;x=0;Ga(461,d|0,49428);A=x;x=0;if(A&1){A=Ya()|0;bb(d|0);jb(A|0)}else{f[d>>2]=29804;fb(d|0,6208,412)}}qV(A,f[d+28+12>>2]|0);f[A>>2]=7280;r=A+4|0;a:do if(!(f[r>>2]|0)){x=0;Ga(462,a|0,0);z=x;x=0;if(!(z&1)){f[a>>2]=7280;break}z=Ya()|0;_P(A);jb(z|0)}else{x=0;Ga(525,z|0,0);p=x;x=0;if(p&1)d=Ya()|0;else{x=0;Ga(526,c|0,z|0);p=x;x=0;b:do if(p&1)d=Ya()|0;else{g=c+400|0;e=f[g>>2]|0;h=(f[c+404>>2]|0)-e>>2;c:do if(h|0){d=0;while(1){x=0;Ia(89,c|0,z|0,f[e+(d<<2)>>2]|0);p=x;x=0;if(p&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c;e=f[g>>2]|0}d=Ya()|0;break b}while(0);x=0;Ja(15,y|0,c|0,z|0,0);p=x;x=0;if(p&1)d=Ya()|0;else{x=0;Ga(527,w|0,c|0);p=x;x=0;if(p&1)d=Ya()|0;else{x=0;Fa(435,v|0);p=x;x=0;if(p&1)d=Ya()|0;else{d=f[i>>2]|0;h=c+244|0;d:do if((d|0)==(h|0))g=26;else{i=s+12|0;j=s+20|0;k=q+8|0;l=s+24|0;m=q+12|0;n=q+8|0;o=s+20|0;p=s+11|0;g=d;while(1){x=0;Ga(459,s|0,g+16|0);e=x;x=0;if(e&1){g=44;break}B=g+28|0;d=f[B+4>>2]|0;e=i;f[e>>2]=f[B>>2];f[e+4>>2]=d;x=0;Ga(462,j|0,f[g+40>>2]|0);e=x;x=0;if(e&1){g=32;break}f[j>>2]=7280;d=i;e=f[d+4>>2]|0;B=q;f[B>>2]=f[d>>2];f[B+4>>2]=e;x=0;Ga(462,k|0,f[l>>2]|0);B=x;x=0;if(B&1){g=46;break}f[k>>2]=7280;x=0;sa(767,v|0,f[m>>2]|0)|0;B=x;x=0;if(B&1){g=47;break}_P(n);_P(o);if((b[p>>0]|0)<0)Hta(f[s>>2]|0);d=f[g+4>>2]|0;do if(!d){e=g+8|0;d=f[e>>2]|0;if((f[d>>2]|0)==(g|0))break;do{B=f[e>>2]|0;e=B+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(B|0))}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}while(0);if((d|0)==(h|0)){g=26;break d}else g=d}if((g|0)==32){d=Ya()|0;e=I;if((b[p>>0]|0)<0){Hta(f[s>>2]|0);g=45}else g=45}else if((g|0)==44){d=Ya()|0;e=I;g=45}else if((g|0)==46){d=Ya()|0;e=I;g=48}else if((g|0)==47){d=Ya()|0;e=I;_P(n);g=48}if((g|0)!=45)if((g|0)==48){_P(o);if((b[p>>0]|0)<0)Hta(f[s>>2]|0)}k=e}while(0);e:do if((g|0)==26){x=0;d=sa(563,y|0,f[r>>2]|0)|0;B=x;x=0;f:do if(B&1)g=64;else{x=0;Ga(462,s|0,d|0);B=x;x=0;if(B&1)g=64;else{f[s>>2]=7280;do if(f[r>>2]|0){x=0;Fa(429,A|0);B=x;x=0;if(!(B&1))break;d=Ya()|0;e=I;_P(s);break f}while(0);B=s+4|0;f[r>>2]=f[B>>2];f[B>>2]=0;_P(s);x=0;sa(767,v|0,f[r>>2]|0)|0;B=x;x=0;if(B&1){d=Ya()|0;k=I;break e}x=0;d=sa(699,w|0,f[r>>2]|0)|0;B=x;x=0;g:do if(B&1)g=68;else{x=0;Ga(462,s|0,d|0);B=x;x=0;if(B&1){g=68;break}f[s>>2]=7280;do if(f[r>>2]|0){x=0;Fa(429,A|0);B=x;x=0;if(!(B&1))break;d=Ya()|0;e=I;_P(s);break g}while(0);d=s+4|0;f[r>>2]=f[d>>2];f[d>>2]=0;_P(s);d=c+252|0;h:do if((f[d>>2]|0)!=(f[c+256>>2]|0)){x=0;Ga(528,s|0,d|0);B=x;x=0;if(B&1){d=Ya()|0;e=I}else{x=0;Ga(529,s|0,y+12|0);B=x;x=0;do if(!(B&1)){x=0;Ga(139,s|0,f[r>>2]|0);B=x;x=0;if(B&1)break;aG(s);break h}while(0);d=Ya()|0;e=I;aG(s)}k=e;break e}while(0);x=0;Fa(436,s|0);B=x;x=0;do if(!(B&1)){B=f[r>>2]|0;x=0;Ga(f[(f[B>>2]|0)+44>>2]|0,B|0,s|0);B=x;x=0;if(B&1)break;x=0;Ga(462,a|0,f[r>>2]|0);B=x;x=0;if(B&1)break;f[a>>2]=7280;f[v>>2]=19840;h=v+16|0;d=f[h>>2]|0;if(d|0){i=v+20|0;e=f[i>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[i>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}else e=g}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}g=f[v+4>>2]|0;if(g|0){d=v+8|0;e=f[d>>2]|0;if((e|0)!=(g|0))f[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Hta(g)}f[w>>2]=18320;d=f[w+24>>2]|0;if(d|0){e=w+28|0;g=f[e>>2]|0;if((g|0)!=(d|0))f[e>>2]=g+(~((g+-4-d|0)>>>2)<<2);Hta(d)}g=f[w+12>>2]|0;if(g|0){d=w+16|0;e=f[d>>2]|0;if((e|0)!=(g|0))f[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Hta(g)}dy(y);rE(z,f[z+4>>2]|0);break a}while(0);d=Ya()|0;k=I;break e}while(0);if((g|0)==68){d=Ya()|0;e=I}k=e;break e}}while(0);if((g|0)==64){d=Ya()|0;e=I}k=e}while(0);f[v>>2]=19840;i=v+16|0;e=f[i>>2]|0;if(e|0){j=v+20|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}h=f[v+4>>2]|0;if(h){e=v+8|0;g=f[e>>2]|0;if((g|0)!=(h|0))f[e>>2]=g+(~((g+-4-h|0)>>>2)<<2);Hta(h)}}f[w>>2]=18320;e=f[w+24>>2]|0;if(e|0){g=w+28|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-4-e|0)>>>2)<<2);Hta(e)}h=f[w+12>>2]|0;if(h){e=w+16|0;g=f[e>>2]|0;if((g|0)!=(h|0))f[e>>2]=g+(~((g+-4-h|0)>>>2)<<2);Hta(h)}}dy(y)}}while(0);rE(z,f[z+4>>2]|0)}B=d;_P(A);jb(B|0)}while(0);_P(A);u=t;return}function gf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;G=0;E=u;u=u+304|0;v=E+16|0;F=E+280|0;r=E+268|0;k=E+256|0;l=E+216|0;y=E+176|0;H=E+168|0;J=E+136|0;p=E;q=E+152|0;s=E+144|0;t=E+128|0;w=E+88|0;z=E+80|0;A=E+72|0;B=E+64|0;C=E+56|0;f[v>>2]=7;D=c+60|0;d=f[D>>2]|0;if(d>>>0<(f[c+64>>2]|0)>>>0){f[d>>2]=7;f[D>>2]=d+4}else SA(c+56|0,v);g=c+108|0;e=y;m=g;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));qV(H,0);f[H>>2]=7280;x=0;Ga(462,J|0,0);o=x;x=0;if(o&1){J=Ya()|0;_P(H);jb(J|0)}f[J>>2]=13136;h=c+168|0;f[F>>2]=f[h>>2];f[F+4>>2]=f[h+4>>2];f[F+8>>2]=f[h+8>>2];o=c+76|0;d=f[o>>2]|0;i=c+84|0;f[r>>2]=f[i>>2];f[r+4>>2]=f[i+4>>2];f[r+8>>2]=f[i+8>>2];j=c+96|0;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[k+8>>2]=f[j+8>>2];e=l;m=g;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));x=0;ta(52,c|0,1,0)|0;n=x;x=0;a:do if(n&1)G=14;else{x=0;e=ta(82,c|0,1,0)|0;n=x;x=0;if(n&1)G=14;else{b:do if(!e){e=g;m=l;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));f[h>>2]=f[F>>2];f[h+4>>2]=f[F+4>>2];f[h+8>>2]=f[F+8>>2];f[o>>2]=d;f[j>>2]=f[k>>2];f[j+4>>2]=f[k+4>>2];f[j+8>>2]=f[k+8>>2];f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2]}else{x=0;Ga(625,v|0,c|0);n=x;x=0;do if(n&1)d=Ya()|0;else{d=J+4|0;if(f[d>>2]|0){x=0;Fa(429,J|0);n=x;x=0;if(n&1){d=Ya()|0;_P(v);break}}n=v+4|0;f[d>>2]=f[n>>2];f[n>>2]=0;_P(v);d=f[o>>2]|0;break b}while(0);break a}while(0);x=0;d=qa(347,d|0)|0;n=x;x=0;if(n&1)G=14;else{g=c+80|0;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)d=f[o>>2]|0;x=0;e=qa(348,d|0)|0;n=x;x=0;if(n&1)G=14;else{n=e|0?e:d;n=(b[n>>0]|0)==123?n+1|0:0;c:do if((n|0)==0?1:n>>>0>(f[g>>2]|0)>>>0){x=0;Ia(120,v|0,c|0,f[o>>2]|0);o=x;x=0;if(o&1){d=Ya()|0;break a}d=f[v>>2]|0;o=v+4|0;f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];f[p+8>>2]=f[o+8>>2];if(d|0){f[q>>2]=d;o=q+4|0;f[o>>2]=f[p>>2];f[o+4>>2]=f[p+4>>2];f[o+8>>2]=f[p+8>>2];x=0;f[v>>2]=f[q>>2];f[v+4>>2]=f[q+4>>2];f[v+8>>2]=f[q+8>>2];f[v+12>>2]=f[q+12>>2];Ia(121,F|0,c|0,v|0);q=x;x=0;if(q&1)d=Ya()|0;else{x=0;k=qa(318,88)|0;q=x;x=0;d:do if(q&1)G=52;else{g=F+4|0;e=v;m=(f[g>>2]|0)+12|0;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));x=0;Fa(427,k|0);q=x;x=0;do if(q&1)d=Ya()|0;else{e=k+12|0;m=v;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,1);q=x;x=0;if(q&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{G=g+-8|0;f[j>>2]=G;Kc[f[f[G>>2]>>2]&511](G);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=1;x=0;Ga(462,r|0,k|0);q=x;x=0;if(q&1){G=52;break d}f[r>>2]=7280;d=H+4|0;do if(f[d>>2]|0){x=0;Fa(429,H|0);q=x;x=0;if(!(q&1))break;d=Ya()|0;_P(r);G=56;break d}while(0);e=r+4|0;f[d>>2]=f[e>>2];f[e>>2]=0;_P(r);d=(f[d>>2]|0)+64|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,t|0,f[g>>2]|0);r=x;x=0;if(r&1){d=Ya()|0;break d}f[t>>2]=17176;x=0;Ga(462,s|0,f[t+4>>2]|0);r=x;x=0;do if(r&1)d=Ya()|0;else{f[s>>2]=6920;x=0;Ga(e|0,d|0,s|0);r=x;x=0;if(r&1){d=Ya()|0;_P(s);break}else{_P(s);_P(t);_P(F);break c}}while(0);_P(t);break d}while(0);Hta(k);G=56}while(0);if((G|0)==52){d=Ya()|0;G=56}_P(F)}break a}}else{x=0;ta(93,c|0,1,0)|0;F=x;x=0;if(F&1){G=14;break a}x=0;Ia(123,v|0,c|0,1);F=x;x=0;do if(F&1)d=Ya()|0;else{d=H+4|0;if(f[d>>2]|0){x=0;Fa(429,H|0);F=x;x=0;if(F&1){d=Ya()|0;_P(v);break}}F=v+4|0;f[d>>2]=f[F>>2];f[F>>2]=0;_P(v);break c}while(0);break a}while(0);x=0;g=qa(318,80)|0;F=x;x=0;if(F&1)G=14;else{e=w;m=y;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));x=0;Ga(462,z|0,f[H+4>>2]|0);F=x;x=0;do if(F&1)d=Ya()|0;else{f[z>>2]=7280;x=0;Ga(462,A|0,0);F=x;x=0;if(F&1){d=Ya()|0;_P(z);break}f[A>>2]=13136;x=0;e=v;m=w;n=e+40|0;do{f[e>>2]=f[m>>2];e=e+4|0;m=m+4|0}while((e|0)<(n|0));Ja(40,g|0,v|0,z|0,A|0);F=x;x=0;if(F&1)e=1;else{x=0;Ga(462,a|0,g|0);F=x;x=0;if(F&1)e=0;else{f[a>>2]=17192;_P(A);_P(z);d=f[J+4>>2]|0;if(!d){G=f[D>>2]|0;G=G+-4|0;f[D>>2]=G;_P(J);_P(H);u=E;return}e=f[a+4>>2]|0;x=0;Ga(462,C|0,d|0);F=x;x=0;if(F&1)d=Ya()|0;else{f[C>>2]=13136;g=e+72|0;d=e+76|0;if(!(f[d>>2]|0))G=72;else{x=0;Fa(429,g|0);F=x;x=0;if(!(F&1))G=72}do if((G|0)==72){f[d>>2]=f[C+4>>2];x=0;Fa(430,g|0);F=x;x=0;if(F&1)break;x=0;Ga(462,B|0,f[d>>2]|0);F=x;x=0;if(F&1)break;f[B>>2]=13136;_P(B);_P(C);G=f[D>>2]|0;G=G+-4|0;f[D>>2]=G;_P(J);_P(H);u=E;return}while(0);d=Ya()|0;_P(C)}_P(a);break a}}d=Ya()|0;_P(A);_P(z);if(!e)break a}while(0);Hta(g)}}}}}while(0);if((G|0)==14)d=Ya()|0;_P(J);J=d;_P(H);jb(J|0)}function hf(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,v=0,w=0;w=0;q=u;u=u+208|0;p=q;t=q+192|0;v=q+180|0;n=q+128|0;k=q+168|0;m=q+104|0;l=q+120|0;o=q+64|0;s=q+48|0;r=q+40|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(p);if(i>>>0<11){b[p+11>>0]=i;d=p}else{j=i+16&-16;d=VN(j)|0;f[p>>2]=d;f[p+8>>2]=j|-2147483648;f[p+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,v|0,p|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);w=d;jb(w|0)}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);g=n;i=c+108|0;j=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));x=0;d=ta(90,c|0,1,0)|0;j=x;x=0;a:do if(j&1)w=30;else{b:do if(!d){x=0;Ia(92,m|0,47260,v|0);j=x;x=0;if(j&1)d=Ya()|0;else{x=0;d=sa(991,m|0,47280)|0;j=x;x=0;if(j&1)d=Ya()|0;else{f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;Ga(459,t|0,k|0);j=x;x=0;do if(j&1)d=Ya()|0;else{j=c+108|0;x=0;f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];Ia(113,c|0,t|0,p|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0);break}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);break b}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0)}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}break a}while(0);h=c+76|0;x=0;d=qa(347,f[h>>2]|0)|0;k=x;x=0;if(k&1)w=30;else{k=c+80|0;if((d|0)==0?1:d>>>0>(f[k>>2]|0)>>>0)d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;j=x;x=0;if(j&1)w=30;else{d=e|0?e:d;if((b[d>>0]|0)==59)d=d+1|0;else{x=0;d=qa(349,d|0)|0;j=x;x=0;if(j&1){w=30;break}}c:do if(!((d|0)==0?1:d>>>0>(f[k>>2]|0)>>>0)){f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;x=0;d=qa(318,16)|0;j=x;x=0;if(j&1)d=Ya()|0;else{f[p>>2]=d;f[p+8>>2]=-2147483632;f[p+4>>2]=11;g=d;i=44242;j=g+11|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+11>>0]=0;f[t+8>>2]=0;e=t+11|0;b[e>>0]=7;b[t>>0]=b[44254]|0;b[t+1>>0]=b[44255]|0;b[t+2>>0]=b[44256]|0;b[t+3>>0]=b[44257]|0;b[t+4>>0]=b[44258]|0;b[t+5>>0]=b[44259]|0;b[t+6>>0]=b[44260]|0;b[t+7>>0]=0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,48)|0;j=x;x=0;do if(j&1)d=Ya()|0;else{f[m>>2]=d;f[m+8>>2]=-2147483600;f[m+4>>2]=44;g=d;i=44621;j=g+44|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+44>>0]=0;x=0;Ka(8,c|0,p|0,t|0,m|0,1);j=x;x=0;if(j&1){d=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[e>>0]|0)<0)Hta(f[t>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);break c}while(0);if((b[e>>0]|0)<0)Hta(f[t>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}break a}while(0);x=0;Ga(462,t|0,0);j=x;x=0;if(j&1)d=Ya()|0;else{f[t>>2]=7696;x=0;Ia(124,m|0,c|0,f[h>>2]|0);j=x;x=0;d:do if(j&1)d=Ya()|0;else{e:do if(!(b[m+13>>0]|0))w=81;else{d=f[m>>2]|0;if(!d)w=81;else{x=0;Ia(118,l|0,c|0,d|0);m=x;x=0;if(m&1)d=Ya()|0;else{x=0;Ga(462,p|0,f[l+4>>2]|0);m=x;x=0;f:do if(m&1)d=Ya()|0;else{f[p>>2]=7696;d=t+4|0;do if(f[d>>2]|0){x=0;Fa(429,t|0);m=x;x=0;if(!(m&1))break;d=Ya()|0;_P(p);break f}while(0);m=p+4|0;f[d>>2]=f[m>>2];f[m>>2]=0;_P(p);_P(l);d=0;l=0;break e}while(0);_P(l)}break d}}while(0);g:do if((w|0)==81){x=0;Ia(114,p|0,c|0,0);m=x;x=0;h:do if(m&1)d=Ya()|0;else{d=t+4|0;do if(f[d>>2]|0){x=0;Fa(429,t|0);m=x;x=0;if(!(m&1))break;d=Ya()|0;_P(p);break h}while(0);l=p+4|0;f[d>>2]=f[l>>2];f[l>>2]=0;_P(p);d=0;l=0;break g}while(0);break d}while(0);i:while(1)while(1){e=f[h>>2]|0;x=0;g=qa(348,e|0)|0;m=x;x=0;if(m&1)break i;g=g|0?g:e;x=0;e=qa(381,g|0)|0;m=x;x=0;if(m&1)break i;if(!e){x=0;e=qa(382,g|0)|0;m=x;x=0;if(m&1)break i}if((e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0){w=99;break i}x=0;e=ta(130,c|0,1,0)|0;m=x;x=0;if(m&1)break i;if(e|0){l=1;continue i}x=0;e=ta(131,c|0,1,0)|0;m=x;x=0;if(m&1)break i;d=d|(e|0)!=0}if((w|0)==99){x=0;k=qa(318,88)|0;c=x;x=0;if(!(c&1)){g=o;i=n;j=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));x=0;Ga(459,s|0,v|0);n=x;x=0;do if(n&1)d=Ya()|0;else{x=0;Ga(462,r|0,f[t+4>>2]|0);n=x;x=0;if(n&1){d=Ya()|0;e=1}else{f[r>>2]=7696;g=p;i=o;j=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));h=d&1;x=0;Fa(427,k|0);o=x;x=0;j:do if(o&1){d=1;w=117}else{g=k+12|0;i=p;j=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));d=k+52|0;f[d>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;f[k>>2]=7920;g=k+64|0;x=0;Ga(459,g|0,s|0);p=x;x=0;do if(p&1)d=Ya()|0;else{e=k+76|0;x=0;Ga(462,e|0,f[r+4>>2]|0);p=x;x=0;if(p&1){d=Ya()|0;if((b[k+75>>0]|0)>=0)break;Hta(f[g>>2]|0);break}f[e>>2]=7696;b[k+84>>0]=l;b[k+85>>0]=h;f[d>>2]=10;x=0;Ga(462,a|0,k|0);w=x;x=0;if(w&1){d=0;w=117;break j}f[a>>2]=17368;_P(r);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);_P(t);if((b[v+11>>0]|0)>=0){u=q;return}Hta(f[v>>2]|0);u=q;return}while(0);e=1}while(0);if((w|0)==117){q=Ya()|0;e=d;d=q}_P(r)}if((b[s+11>>0]|0)<0){Hta(f[s>>2]|0);if(e)break;else break d}else if(e)break;else break d}while(0);Hta(k);break}}d=Ya()|0}while(0);_P(t)}}}}while(0);if((w|0)==30)d=Ya()|0;if((b[v+11>>0]|0)>=0){w=d;jb(w|0)}Hta(f[v>>2]|0);w=d;jb(w|0)}function jf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=u;u=u+336|0;r=z+80|0;e=z+40|0;y=z;D=z+280|0;k=z+328|0;j=z+288|0;m=z+272|0;l=z+264|0;p=z+256|0;n=z+248|0;C=z+240|0;q=z+232|0;s=z+192|0;v=z+184|0;t=z+176|0;w=z+136|0;B=z+128|0;A=z+120|0;d=f[a+28>>2]|0;if((d|0)==(f[a+24>>2]|0))a=f[a+12>>2]|0;else a=d+-4|0;a=f[a>>2]|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;if(!a)a=0;else a=(f[101]|0)==(f[(f[(f[a>>2]|0)+-4>>2]|0)+4>>2]|0)?a:0;qV(D,a);f[D>>2]=17176;x=0;o=qa(318,88)|0;i=x;x=0;if(i&1){C=Ya()|0;_P(D);jb(C|0)}d=D+4|0;x=0;Ga(462,k|0,f[(f[d>>2]|0)+68>>2]|0);i=x;x=0;if(i&1)a=Ya()|0;else{f[k>>2]=7280;g=e;h=(f[k+4>>2]|0)+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,o|0);i=x;x=0;do if(i&1)a=Ya()|0;else{g=o+12|0;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[o>>2]=6976;f[o+52>>2]=0;f[o+56>>2]=0;b[o+60>>0]=0;a=o+64|0;f[a>>2]=6936;h=o+68|0;i=o+72|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(568,h|0,0);g=x;x=0;if(g&1){a=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{C=e+-8|0;f[i>>2]=C;Kc[f[f[C>>2]>>2]&511](C);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[o>>2]=6780;f[a>>2]=6880;b[o+84>>0]=0;_P(k);x=0;k=qa(318,84)|0;i=x;x=0;a:do if(!(i&1)){a=f[d>>2]|0;g=j;h=a+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,m|0,f[a+76>>2]|0);i=x;x=0;if(i&1)a=Ya()|0;else{f[m>>2]=7168;x=0;Ga(462,l|0,o|0);o=x;x=0;do if(o&1)a=Ya()|0;else{f[l>>2]=7280;x=0;g=r;h=j;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ja(38,k|0,r|0,m|0,l|0);o=x;x=0;if(o&1){a=Ya()|0;_P(l);break}_P(l);_P(m);f[k+56>>2]=f[(f[d>>2]|0)+56>>2];x=0;Ga(462,p|0,f[k+68>>2]|0);o=x;x=0;if(o&1)break a;f[p>>2]=7280;a=(f[p+4>>2]|0)+64|0;d=f[(f[a>>2]|0)+24>>2]|0;e=c+68|0;x=0;Ga(462,n|0,f[e>>2]|0);o=x;x=0;do if(o&1)a=Ya()|0;else{f[n>>2]=7280;o=f[n+4>>2]|0;x=0;Ga(d|0,a|0,((o|0)==0?0:o+64|0)|0);o=x;x=0;if(o&1){a=Ya()|0;_P(n);break}_P(n);_P(p);x=0;j=qa(318,88)|0;p=x;x=0;b:do if(!(p&1)){x=0;Ga(462,C|0,f[e>>2]|0);p=x;x=0;if(p&1)a=Ya()|0;else{f[C>>2]=7280;g=r;h=(f[C+4>>2]|0)+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,j|0);p=x;x=0;do if(p&1)a=Ya()|0;else{g=j+12|0;h=r;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[j>>2]=6976;f[j+52>>2]=0;f[j+56>>2]=0;b[j+60>>0]=0;d=j+64|0;f[d>>2]=6936;h=j+68|0;i=j+72|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(568,h|0,0);p=x;x=0;if(p&1){a=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{B=e+-8|0;f[i>>2]=B;Kc[f[f[B>>2]>>2]&511](B);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[j>>2]=6780;f[d>>2]=6880;b[j+84>>0]=0;_P(C);a=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,k|0);C=x;x=0;if(C&1)break b;f[q>>2]=6920;x=0;Ga(a|0,d|0,q|0);C=x;x=0;if(C&1){C=Ya()|0;_P(q);_P(D);jb(C|0)}_P(q);x=0;e=qa(318,80)|0;C=x;x=0;if(C&1){C=Ya()|0;_P(D);jb(C|0)}g=s;h=c+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,v|0,f[c+76>>2]|0);C=x;x=0;if(C&1)a=Ya()|0;else{f[v>>2]=12372;x=0;Ga(462,t|0,j|0);C=x;x=0;do if(C&1)a=Ya()|0;else{f[t>>2]=7280;x=0;g=r;h=s;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ja(41,e|0,r|0,v|0,t|0);C=x;x=0;if(C&1){a=Ya()|0;_P(t);break}_P(t);_P(v);f[e+56>>2]=f[c+56>>2];x=0;d=qa(318,76)|0;C=x;x=0;if(C&1){C=Ya()|0;_P(D);jb(C|0)}g=w;h=e+12|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,B|0,e|0);C=x;x=0;if(C&1)a=Ya()|0;else{f[B>>2]=6920;x=0;Ga(462,A|0,0);C=x;x=0;if(C&1)a=Ya()|0;else{f[A>>2]=6920;g=y;h=w;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,d|0);C=x;x=0;do if(C&1)a=Ya()|0;else{g=d+12|0;h=y;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[d+52>>2]=6;f[d+56>>2]=0;b[d+60>>0]=0;f[d>>2]=7296;a=d+64|0;x=0;Ga(462,a|0,f[B+4>>2]|0);C=x;x=0;if(C&1){a=Ya()|0;break}else{f[a>>2]=6920;b[d+72>>0]=(f[A+4>>2]|0)==0&1;_P(A);_P(B);_P(D);u=z;return d|0}}while(0);_P(A)}_P(B)}Hta(d);C=a;_P(D);jb(C|0)}while(0);_P(v)}Hta(e);C=a;_P(D);jb(C|0)}while(0);_P(C)}Hta(j);C=a;_P(D);jb(C|0)}while(0);C=Ya()|0;_P(D);jb(C|0)}while(0);_P(p);C=a;_P(D);jb(C|0)}while(0);_P(m)}Hta(k);C=a;_P(D);jb(C|0)}while(0);C=Ya()|0;_P(D);jb(C|0)}while(0);_P(k)}Hta(o);C=a;_P(D);jb(C|0);return 0}function kf(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=f[c+16>>2]|0;if(h>>>0>=6)Ra(43834,43692,1051,43923);switch(h|0){case 0:{l=a+4|0;j=f[l>>2]|0;g=f[a>>2]|0;c=g;do if((j-g|0)<4){k=a+8|0;h=f[k>>2]|0;i=g-h|0;c=i+4|0;g=j-h|0;do g=g<<1;while(g>>>0>>0);c=eJ(h,g|1)|0;f[k>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{m=c+i|0;f[a>>2]=m;f[l>>2]=c+g;break}}else m=c;while(0);b[m>>0]=110;b[m+1>>0]=117;b[m+2>>0]=108;b[m+3>>0]=108;f[a>>2]=(f[a>>2]|0)+4;return}case 1:{m=(b[c+24>>0]|0)!=0;l=m?59838:59832;m=m?4:5;n=a+4|0;h=f[n>>2]|0;g=f[a>>2]|0;c=g;do if((h-g|0)<(m|0)){k=a+8|0;i=f[k>>2]|0;j=g-i|0;c=j+m|0;g=h-i|0;do g=g<<1;while(g>>>0>>0);c=eJ(i,g|1)|0;f[k>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{r=c+j|0;f[a>>2]=r;f[n>>2]=c+g;break}}else r=c;while(0);Lu(r|0,l|0,m|0)|0;f[a>>2]=(f[a>>2]|0)+m;return}case 2:{Sm(a,f[c+24>>2]|0);return}case 3:{tp(a,+p[c+24>>3]);return}case 4:{n=f[c+24>>2]|0;r=a+4|0;m=f[r>>2]|0;l=f[a>>2]|0;c=(m-l|0)<2;h=l;if(!n){do if(c){j=a+8|0;h=f[j>>2]|0;i=l-h|0;c=i+2|0;g=m-h|0;do g=g<<1;while(g>>>0>>0);c=eJ(h,g|1)|0;f[j>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{k=c+i|0;f[a>>2]=k;f[r>>2]=c+g;break}}else k=h;while(0);b[k>>0]=91;b[k+1>>0]=93;f[a>>2]=(f[a>>2]|0)+2;return}do if(c){k=a+8|0;i=f[k>>2]|0;j=l-i|0;c=j+2|0;h=m-i|0;do h=h<<1;while(h>>>0>>0);c=eJ(i,h|1)|0;f[k>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{o=c+j|0;f[a>>2]=o;f[r>>2]=c+h;break}}else o=h;while(0);b[o>>0]=91;b[o+1>>0]=10;h=(f[a>>2]|0)+2|0;f[a>>2]=h;o=e+1|0;q=a+8|0;a:do if((e|0)<0){l=n;while(1){kf(a,l,d,o);l=f[l+8>>2]|0;n=(l|0)!=0;m=n?43943:51444;n=n?2:1;i=f[r>>2]|0;h=f[a>>2]|0;c=h;if((i-h|0)<(n|0)){j=f[q>>2]|0;k=h-j|0;c=k+n|0;h=i-j|0;do h=h<<1;while(h>>>0>>0);c=eJ(j,h|1)|0;f[q>>2]=c;if(!c){c=57;break}y=c+k|0;f[a>>2]=y;f[r>>2]=c+h;c=y}Lu(c|0,m|0,n|0)|0;s=(f[a>>2]|0)+n|0;f[a>>2]=s;if(!l){c=43;break}}if((c|0)==43){g=s;u=s;break}else if((c|0)==57){y=f[5414]|0;vO(50780,15,1,y)|0;Pb(1)}}else{b:while(1){m=0;while(1){l=hL(d)|0;i=f[r>>2]|0;c=h;if((i-h|0)<(l|0)){j=f[q>>2]|0;k=h-j|0;c=k+l|0;h=i-j|0;do h=h<<1;while(h>>>0>>0);c=eJ(j,h|1)|0;f[q>>2]=c;if(!c){c=50;break b}y=c+k|0;f[a>>2]=y;f[r>>2]=c+h;c=y}Lu(c|0,d|0,l|0)|0;h=(f[a>>2]|0)+l|0;f[a>>2]=h;if((m|0)>=(e|0))break;else m=m+1|0}kf(a,n,d,o);n=f[n+8>>2]|0;m=(n|0)!=0;l=m?43943:51444;m=m?2:1;i=f[r>>2]|0;h=f[a>>2]|0;c=h;if((i-h|0)<(m|0)){j=f[q>>2]|0;k=h-j|0;c=k+m|0;h=i-j|0;do h=h<<1;while(h>>>0>>0);c=eJ(j,h|1)|0;f[q>>2]=c;if(!c){c=57;break}y=c+k|0;f[a>>2]=y;f[r>>2]=c+h;c=y}Lu(c|0,l|0,m|0)|0;c=(f[a>>2]|0)+m|0;f[a>>2]=c;h=c;if(!n){g=h;u=c;break a}}if((c|0)==50){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else if((c|0)==57){y=f[5414]|0;vO(50780,15,1,y)|0;Pb(1)}}while(0);c:do if((e|0)>0){m=a+8|0;l=0;while(1){k=hL(d)|0;h=f[r>>2]|0;c=g;if((h-g|0)<(k|0)){i=f[m>>2]|0;j=g-i|0;c=j+k|0;g=h-i|0;do g=g<<1;while(g>>>0>>0);c=eJ(i,g|1)|0;f[m>>2]=c;if(!c)break;y=c+j|0;f[a>>2]=y;f[r>>2]=c+g;c=y}Lu(c|0,d|0,k|0)|0;c=(f[a>>2]|0)+k|0;f[a>>2]=c;l=l+1|0;g=c;if((l|0)>=(e|0)){x=c;z=g;break c}}vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{x=u;z=g}while(0);g=f[r>>2]|0;do if(x>>>0>>0)A=x;else{j=a+8|0;h=f[j>>2]|0;i=z-h|0;c=i+1|0;g=g-h|0;do g=g<<1;while(g>>>0>>0);c=eJ(h,g|1)|0;f[j>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{A=c+i|0;f[a>>2]=A;f[r>>2]=c+g;break}}while(0);f[a>>2]=A+1;b[A>>0]=93;return}case 5:{l=f[c+24>>2]|0;s=a+4|0;k=f[s>>2]|0;i=f[a>>2]|0;c=(k-i|0)<2;g=i;if(!l){do if(c){j=a+8|0;h=f[j>>2]|0;i=i-h|0;c=i+2|0;g=k-h|0;do g=g<<1;while(g>>>0>>0);c=eJ(h,g|1)|0;f[j>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{n=c+i|0;f[a>>2]=n;f[s>>2]=c+g;break}}else n=g;while(0);b[n>>0]=123;b[n+1>>0]=125;f[a>>2]=(f[a>>2]|0)+2;return}do if(c){j=a+8|0;h=f[j>>2]|0;i=i-h|0;c=i+2|0;g=k-h|0;do g=g<<1;while(g>>>0>>0);c=eJ(h,g|1)|0;f[j>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{q=c+i|0;f[a>>2]=q;f[s>>2]=c+g;break}}else q=g;while(0);b[q>>0]=123;b[q+1>>0]=10;g=(f[a>>2]|0)+2|0;f[a>>2]=g;o=(e|0)<0;q=e+1|0;r=a+8|0;n=l;d:while(1){if(!o){l=0;h=g;while(1){m=hL(d)|0;i=f[s>>2]|0;c=h;if((i-h|0)<(m|0)){j=f[r>>2]|0;k=h-j|0;c=k+m|0;h=i-j|0;do h=h<<1;while(h>>>0>>0);c=eJ(j,h|1)|0;f[r>>2]=c;if(!c){c=96;break d}A=c+k|0;f[a>>2]=A;f[s>>2]=c+h;c=A}Lu(c|0,d|0,m|0)|0;h=(f[a>>2]|0)+m|0;f[a>>2]=h;if((l|0)>=(e|0))break;else l=l+1|0}}Sm(a,f[n+12>>2]|0);i=f[s>>2]|0;h=f[a>>2]|0;c=h;if((i-h|0)<2){j=f[r>>2]|0;k=h-j|0;c=k+2|0;h=i-j|0;do h=h<<1;while(h>>>0>>0);c=eJ(j,h|1)|0;f[r>>2]=c;if(!c){c=103;break}A=c+k|0;f[a>>2]=A;f[s>>2]=c+h;c=A}b[c>>0]=58;b[c+1>>0]=32;f[a>>2]=(f[a>>2]|0)+2;kf(a,n,d,q);n=f[n+8>>2]|0;m=(n|0)!=0;l=m?43943:51444;m=m?2:1;i=f[s>>2]|0;h=f[a>>2]|0;c=h;if((i-h|0)<(m|0)){j=f[r>>2]|0;k=h-j|0;c=k+m|0;h=i-j|0;do h=h<<1;while(h>>>0>>0);c=eJ(j,h|1)|0;f[r>>2]=c;if(!c){c=109;break}A=c+k|0;f[a>>2]=A;f[s>>2]=c+h;c=A}Lu(c|0,l|0,m|0)|0;t=(f[a>>2]|0)+m|0;f[a>>2]=t;g=t;if(!n){c=90;break}}if((c|0)==90){e:do if((e|0)>0){m=a+8|0;l=0;while(1){k=hL(d)|0;h=f[s>>2]|0;c=g;if((h-g|0)<(k|0)){i=f[m>>2]|0;j=g-i|0;c=j+k|0;g=h-i|0;do g=g<<1;while(g>>>0>>0);c=eJ(i,g|1)|0;f[m>>2]=c;if(!c)break;A=c+j|0;f[a>>2]=A;f[s>>2]=c+g;c=A}Lu(c|0,d|0,k|0)|0;c=(f[a>>2]|0)+k|0;f[a>>2]=c;l=l+1|0;g=c;if((l|0)>=(e|0)){v=c;w=g;break e}}vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{v=t;w=g}while(0);g=f[s>>2]|0;do if(v>>>0>>0)y=v;else{j=a+8|0;h=f[j>>2]|0;i=w-h|0;c=i+1|0;g=g-h|0;do g=g<<1;while(g>>>0>>0);c=eJ(h,g|1)|0;f[j>>2]=c;if(!c){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{y=c+i|0;f[a>>2]=y;f[s>>2]=c+g;break}}while(0);f[a>>2]=y+1;b[y>>0]=125;return}else if((c|0)==96){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else if((c|0)==103){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else if((c|0)==109){vO(50780,15,1,f[5414]|0)|0;Pb(1)}break}default:Ra(59832,43692,1072,43923)}}function lf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;N=u;u=u+272|0;K=N;F=N+252|0;G=N+240|0;H=N+160|0;d=N+200|0;m=N+144|0;h=N+80|0;J=N+104|0;Q=N+96|0;P=N+68|0;L=N+56|0;D=N+48|0;E=N+40|0;R=c+164|0;S=f[R>>2]|0;O=S+1|0;f[R>>2]=O;if(O>>>0>512){l=Ta(84)|0;i=d;j=c+108|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,m|0,c+148|0);Q=x;x=0;do if(Q&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);Q=x;x=0;if(Q&1){d=Ya()|0;k=I;g=1}else{x=0;i=K;j=d;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ja(28,l|0,K|0,m|0,h|0);Q=x;x=0;if(Q&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[R>>2]=S;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){Q=d;f[R>>2]=S;jb(Q|0)}}while(0);bb(l|0);Q=d;f[R>>2]=S;jb(Q|0)}x=0;ta(52,c|0,0,0)|0;O=x;x=0;if(!(O&1)){w=c+128|0;x=0;Ga(576,c+108|0,w|0);O=x;x=0;if(!(O&1)){f[c+132>>2]=0;f[w>>2]=0;y=c+108|0;i=J;j=y;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(587,Q|0,c|0);O=x;x=0;if(O&1)d=Ya()|0;else{f[P>>2]=0;O=P+4|0;f[O>>2]=0;f[P+8>>2]=0;f[L>>2]=0;M=L+4|0;f[M>>2]=0;f[L+8>>2]=0;z=c+76|0;x=0;d=qa(347,f[z>>2]|0)|0;C=x;x=0;a:do if(C&1)g=32;else{h=c+80|0;A=c+168|0;B=c+84|0;C=c+96|0;l=c+172|0;m=K+4|0;n=K+5|0;o=L+8|0;p=P+8|0;q=K+4|0;r=K+4|0;s=K+5|0;t=K+4|0;v=K+5|0;b:while(1){g=d>>>0<=(f[h>>2]|0)>>>0?d:0;f[K>>2]=f[A>>2];f[K+4>>2]=f[A+4>>2];f[K+8>>2]=f[A+8>>2];e=f[z>>2]|0;f[F>>2]=f[B>>2];f[F+4>>2]=f[B+4>>2];f[F+8>>2]=f[B+8>>2];f[G>>2]=f[C>>2];f[G+4>>2]=f[C+4>>2];f[G+8>>2]=f[C+8>>2];i=H;j=y;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;ta(52,c|0,1,0)|0;k=x;x=0;if(k&1){g=32;break a}x=0;d=ta(81,c|0,1,0)|0;k=x;x=0;if(k&1){g=32;break a}if(!d){g=27;break}x=0;d=qa(347,f[z>>2]|0)|0;k=x;x=0;if(k&1){g=33;break}d=d>>>0<=(f[h>>2]|0)>>>0?d:0;switch(b[f[l>>2]>>0]|0){case 42:{f[K>>2]=10;b[m>>0]=(g|0)!=0&1;b[n>>0]=(d|0)!=0&1;d=f[M>>2]|0;if(d>>>0<(f[o>>2]|0)>>>0){i=K;j=f[i+4>>2]|0;k=d;f[k>>2]=f[i>>2];f[k+4>>2]=j;f[M>>2]=(f[M>>2]|0)+8}else{x=0;Ga(585,L|0,K|0);k=x;x=0;if(k&1){g=38;break b}}break}case 47:{f[K>>2]=11;b[r>>0]=(g|0)!=0&1;b[s>>0]=(d|0)!=0&1;d=f[M>>2]|0;if(d>>>0<(f[o>>2]|0)>>>0){i=K;j=f[i+4>>2]|0;k=d;f[k>>2]=f[i>>2];f[k+4>>2]=j;f[M>>2]=(f[M>>2]|0)+8}else{x=0;Ga(585,L|0,K|0);k=x;x=0;if(k&1){g=43;break b}}break}case 37:{f[K>>2]=12;b[t>>0]=(g|0)!=0&1;b[v>>0]=(d|0)!=0&1;d=f[M>>2]|0;if(d>>>0<(f[o>>2]|0)>>>0){i=K;j=f[i+4>>2]|0;k=d;f[k>>2]=f[i>>2];f[k+4>>2]=j;f[M>>2]=(f[M>>2]|0)+8}else{x=0;Ga(585,L|0,K|0);k=x;x=0;if(k&1){g=48;break b}}break}default:{g=49;break b}}x=0;Ga(587,K|0,c|0);k=x;x=0;if(k&1){g=58;break}d=f[O>>2]|0;if(d>>>0<(f[p>>2]|0)>>>0){x=0;Ga(462,d|0,f[q>>2]|0);k=x;x=0;if(k&1){g=59;break}f[d>>2]=7696;f[O>>2]=(f[O>>2]|0)+8}else{x=0;Ga(554,P|0,K|0);k=x;x=0;if(k&1){g=59;break}}_P(K);x=0;d=qa(347,f[z>>2]|0)|0;k=x;x=0;if(k&1){g=33;break}}do if((g|0)==27){i=y;j=H;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f[A>>2]=f[K>>2];f[A+4>>2]=f[K+4>>2];f[A+8>>2]=f[K+8>>2];f[z>>2]=e;f[C>>2]=f[G>>2];f[C+4>>2]=f[G+4>>2];f[C+8>>2]=f[G+8>>2];f[B>>2]=f[F>>2];f[B+4>>2]=f[F+4>>2];f[B+8>>2]=f[F+8>>2];x=0;Ga(462,D|0,f[Q+4>>2]|0);H=x;x=0;if(H&1){g=32;break a}f[D>>2]=7696;x=0;La(21,a|0,c|0,D|0,P|0,L|0,0);c=x;x=0;if(c&1){d=Ya()|0;h=I;_P(D);break a}_P(D);x=0;Ia(116,E|0,y|0,J|0);c=x;x=0;if(!(c&1)){x=0;Ia(117,K|0,E|0,w|0);c=x;x=0;if(!(c&1)){c=f[K+4>>2]|0;d=J+20|0;f[d>>2]=f[K>>2];f[d+4>>2]=c;DP((f[a+4>>2]|0)+12|0,J|0,40)|0;d=f[L>>2]|0;if(d|0){e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-8-d|0)>>>3)<<3);Hta(d)}d=f[P>>2]|0;if(!d){_P(Q);f[R>>2]=S;u=N;return}e=f[O>>2]|0;if((e|0)!=(d|0)){do{M=e+-8|0;f[O>>2]=M;Kc[f[f[M>>2]>>2]&511](M);e=f[O>>2]|0}while((e|0)!=(d|0));d=f[P>>2]|0}Hta(d);_P(Q);f[R>>2]=S;u=N;return}}d=Ya()|0;h=I;_P(a);break a}else if((g|0)==38){d=Ya()|0;h=I;break a}else if((g|0)==43){d=Ya()|0;h=I;break a}else if((g|0)==48){d=Ya()|0;h=I;break a}else if((g|0)==49){d=Ta(8)|0;x=0;Ga(496,d|0,44715);N=x;x=0;if(N&1){N=Ya()|0;h=I;bb(d|0);d=N;break a}else{x=0;Ia(77,d|0,6176,414);x=0;g=33;break}}else if((g|0)==58){d=Ya()|0;e=I;g=60}else if((g|0)==59){d=Ya()|0;e=I;_P(K);g=60}while(0);if((g|0)==33){d=Ya()|0;h=I;break}else if((g|0)==60){h=e;break}}while(0);if((g|0)==32){d=Ya()|0;h=I}e=f[L>>2]|0;if(e|0){g=f[M>>2]|0;if((g|0)!=(e|0))f[M>>2]=g+(~((g+-8-e|0)>>>3)<<3);Hta(e)}e=f[P>>2]|0;if(e|0){g=f[O>>2]|0;if((g|0)!=(e|0)){do{N=g+-8|0;f[O>>2]=N;Kc[f[f[N>>2]>>2]&511](N);g=f[O>>2]|0}while((g|0)!=(e|0));e=f[P>>2]|0}Hta(e)}_P(Q)}Q=d;f[R>>2]=S;jb(Q|0)}}Q=Ya()|0;f[R>>2]=S;jb(Q|0)}function mf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;z=0;A=u;u=u+64|0;B=A+48|0;y=A+36|0;r=A+24|0;v=A+12|0;t=A;s=d+16|0;q=(b[(f[s>>2]|0)+22>>0]|0)==0;hz(B,d+328|0);x=0;w=la(1)|0;o=x;x=0;a:do if(o&1)z=12;else{x=0;g=ma(2,3.0)|0;o=x;x=0;if(o&1)z=12;else{x=0;Ia(150,w|0,52693,g|0);o=x;x=0;if(o&1)z=12;else{g=c+36|0;if((b[g+11>>0]|0)<0)g=f[g>>2]|0;x=0;g=qa(403,g|0)|0;o=x;x=0;if(!(o&1)){x=0;Ia(150,w|0,52701,g|0);o=x;x=0;if(!(o&1)){g=d+472|0;o=b[g+11>>0]|0;h=o<<24>>24<0;do if((h?f[d+476>>2]|0:o&255)|0){x=0;g=qa(403,(h?f[g>>2]|0:g)|0)|0;o=x;x=0;if(!(o&1)){x=0;Ia(150,w|0,52706,g|0);o=x;x=0;if(!(o&1))break}i=Ya()|0;break a}while(0);x=0;i=la(2)|0;o=x;x=0;if(!(o&1)){o=c+4|0;g=f[c>>2]|0;b:do if((f[o>>2]|0)!=(g|0)){n=y+11|0;m=v+11|0;j=v+1|0;k=y+4|0;l=t+11|0;h=0;c:while(1){x=0;Ga(459,y|0,(f[B>>2]|0)+((f[g+(h<<2)>>2]|0)*12|0)|0);g=x;x=0;if(g&1){z=41;break}do if(b[(f[s>>2]|0)+23>>0]|0){f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;b[m>>0]=1;b[v>>0]=46;b[j>>0]=0;x=0;Fa(440,t|0);g=x;x=0;if(g&1){z=42;break c}x=0;Ja(16,r|0,y|0,v|0,t|0);g=x;x=0;if(g&1){z=43;break c}if((b[n>>0]|0)<0){b[f[y>>2]>>0]=0;f[k>>2]=0}else{b[y>>0]=0;b[n>>0]=0}x=0;Ga(501,y|0,0);g=x;x=0;if(g&1){z=28;break c}f[y>>2]=f[r>>2];f[y+4>>2]=f[r+4>>2];f[y+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;if((b[l>>0]|0)<0)Hta(f[t>>2]|0);if((b[m>>0]|0)<0)Hta(f[v>>2]|0);if((b[((b[n>>0]|0)<0?f[y>>2]|0:y)>>0]|0)==47){x=0;Ia(92,r|0,52725,y|0);g=x;x=0;if(g&1){z=48;break c}if((b[n>>0]|0)<0){b[f[y>>2]>>0]=0;f[k>>2]=0}else{b[y>>0]=0;b[n>>0]=0}x=0;Ga(501,y|0,0);g=x;x=0;if(g&1){z=39;break c}f[y>>2]=f[r>>2];f[y+4>>2]=f[r+4>>2];f[y+8>>2]=f[r+8>>2];break}else{x=0;Ia(92,r|0,52733,y|0);g=x;x=0;if(g&1){z=56;break c}if((b[n>>0]|0)<0){b[f[y>>2]>>0]=0;f[k>>2]=0}else{b[y>>0]=0;b[n>>0]=0}x=0;Ga(501,y|0,0);g=x;x=0;if(g&1){z=54;break c}f[y>>2]=f[r>>2];f[y+4>>2]=f[r+4>>2];f[y+8>>2]=f[r+8>>2];break}}while(0);x=0;g=qa(403,((b[n>>0]|0)<0?f[y>>2]|0:y)|0)|0;C=x;x=0;if(C&1){z=62;break}x=0;Ga(702,i|0,g|0);C=x;x=0;if(C&1){z=62;break}if((b[n>>0]|0)<0)Hta(f[y>>2]|0);h=h+1|0;g=f[c>>2]|0;if(h>>>0>=(f[o>>2]|0)-g>>2>>>0)break b}if((z|0)==28){C=Za(0)|0;soa(C)}else if((z|0)==39){C=Za(0)|0;soa(C)}else if((z|0)==41)e=Ya()|0;else if((z|0)==42){e=Ya()|0;z=45}else if((z|0)==43){e=Ya()|0;if((b[l>>0]|0)<0){Hta(f[t>>2]|0);z=45}else z=45}else if((z|0)==48){e=Ya()|0;z=63}else if((z|0)==54){C=Za(0)|0;soa(C)}else if((z|0)==56){e=Ya()|0;z=63}else if((z|0)==62){e=Ya()|0;z=63}if((z|0)==45){if((b[m>>0]|0)<0)Hta(f[v>>2]|0);z=63}if((z|0)==63)if((b[n>>0]|0)<0)Hta(f[y>>2]|0);i=e;break a}while(0);x=0;Ia(150,w|0,52717,i|0);C=x;x=0;if(!(C&1)){d:do if(!q)if((f[o>>2]|0)!=(f[c>>2]|0)){x=0;i=la(2)|0;C=x;x=0;e:do if(!(C&1)){e=f[c>>2]|0;if((f[o>>2]|0)!=(e|0)){h=d+228|0;g=0;do{x=0;e=qa(403,f[(f[h>>2]|0)+(f[e+(g<<2)>>2]<<3)>>2]|0)|0;C=x;x=0;if(C&1)break e;x=0;Ga(702,i|0,e|0);C=x;x=0;if(C&1)break e;g=g+1|0;e=f[c>>2]|0}while(g>>>0<(f[o>>2]|0)-e>>2>>>0)}x=0;Ia(150,w|0,52742,i|0);C=x;x=0;if(!(C&1))break d}while(0);i=Ya()|0;break a}while(0);x=0;e=la(2)|0;C=x;x=0;if(!(C&1)){x=0;Ia(150,w|0,52757,e|0);C=x;x=0;if(!(C&1)){x=0;Ga(703,y|0,c|0);C=x;x=0;do if(C&1)e=Ya()|0;else{j=y+11|0;x=0;e=qa(403,((b[j>>0]|0)<0?f[y>>2]|0:y)|0)|0;C=x;x=0;f:do if(C&1)z=92;else{x=0;Ia(150,w|0,52763,e|0);C=x;x=0;if(C&1){z=92;break}x=0;h=sa(1054,w|0,52772)|0;C=x;x=0;do if(!(C&1)){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;i=hL(h)|0;if(i>>>0>4294967279){x=0;Fa(428,a|0);x=0;break}if(i>>>0<11){b[a+11>>0]=i;if(!i)e=a;else{e=a;z=88}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;C=x;x=0;if(C&1)break;f[a>>2]=e;f[a+8>>2]=g|-2147483648;f[a+4>>2]=i;z=88}if((z|0)==88)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;$h(h);x=0;Fa(466,w|0);C=x;x=0;if(C&1){e=Ya()|0;if((b[a+11>>0]|0)>=0)break f;Hta(f[a>>2]|0);break f}if((b[j>>0]|0)<0)Hta(f[y>>2]|0);e=f[B>>2]|0;if(!e){u=A;return}h=B+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[B>>2]|0}Hta(e);u=A;return}while(0);e=Ya()|0}while(0);if((z|0)==92)e=Ya()|0;if((b[j>>0]|0)>=0)break;Hta(f[y>>2]|0)}while(0);i=e;break}}i=Ya()|0;break}}i=Ya()|0;break}}i=Ya()|0}}}while(0);if((z|0)==12)i=Ya()|0;e=f[B>>2]|0;if(!e)jb(i|0);h=B+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[B>>2]|0}Hta(e);jb(i|0)}function nf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=0;W=u;u=u+144|0;Y=W+112|0;i=W+104|0;h=W+64|0;R=W+72|0;S=W+56|0;T=W+48|0;U=W+40|0;V=W+32|0;M=W+24|0;N=W+16|0;O=W+8|0;P=W;if(!c){b[a>>0]=0;f[a+4>>2]=3;f[a+8>>2]=0;Y=a+12|0;qV(Y,0);f[Y>>2]=15556;f[a+20>>2]=0;f[a+24>>2]=0;u=W;return}g=VN(36)|0;f[g+4>>2]=0;f[g+8>>2]=0;f[g>>2]=16236;e=g+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;f[e+20>>2]=0;b[Y>>0]=0;f[Y+4>>2]=2;f[Y+8>>2]=0;d=Y+12|0;x=0;Ga(462,d|0,0);X=x;x=0;if(X&1){Y=Ya()|0;QZ(g);jb(Y|0)}f[d>>2]=15556;Q=Y+20|0;f[Q>>2]=e;X=Y+24|0;f[X>>2]=g;ega(g);QZ(g);e=c+60|0;g=b[e>>0]|0;b[Y>>0]=g;g=g<<24>>24!=0;d=c+80|0;x=0;Ga(462,i|0,f[d>>2]|0);L=x;x=0;a:do if(L&1)j=14;else{f[i>>2]=15572;b:do if(!(f[i+4>>2]|0)){_P(i);j=20}else{x=0;Ga(462,h|0,f[d>>2]|0);L=x;x=0;do if(L&1)c=Ya()|0;else{f[h>>2]=15572;d=f[h+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+124>>2]|0,d|0)|0;L=x;x=0;if(L&1){c=Ya()|0;_P(h);break}_P(h);_P(i);if(!d){j=20;break b}x=0;Ga(462,R|0,f[c+88>>2]|0);L=x;x=0;if(L&1){d=Ya()|0;break a}f[R>>2]=15556;c=f[R+4>>2]|0;if(c|0)b[c+60>>0]=b[e>>0]|0;_P(R);if(!c)break b;else{j=20;break b}}while(0);_P(i);d=c;break a}while(0);c:do if((j|0)==20){s=S+4|0;t=U+4|0;v=P+4|0;w=R+4|0;y=R+8|0;z=R+12|0;A=R+20|0;I=R+24|0;B=R+16|0;K=R+12|0;C=R+16|0;D=R+20|0;J=R+24|0;L=R+12|0;E=V+4|0;F=M+4|0;G=N+4|0;H=T+4|0;d=g;d:while(1){r=c+80|0;x=0;Ga(462,S|0,f[r>>2]|0);q=x;x=0;if(q&1){j=46;break}f[S>>2]=15572;if(!(f[s>>2]|0))e=0;else{x=0;Ga(462,T|0,f[r>>2]|0);q=x;x=0;if(q&1){j=47;break}f[T>>2]=15572;q=f[H>>2]|0;e=f[q+76>>2]|0;if(((f[q+80>>2]|0)-e|0)==8){e=f[e+4>>2]|0;if(!e)e=0;else e=(f[463]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)}else e=0;_P(T)}_P(S);x=0;Ga(462,U|0,f[r>>2]|0);q=x;x=0;if(q&1){j=46;break}f[U>>2]=15572;q=(f[t>>2]|0)==0;_P(U);do if(!(e|q)){g=f[Q>>2]|0;p=f[X>>2]|0;q=(p|0)==0;if(!q)ega(p);x=0;Ga(520,R|0,c|0);o=x;x=0;if(o&1){j=48;break d}m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;Z=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;if((((Z|0)==0?0:(Z*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);Z=x;x=0;if(Z&1){j=49;break d}j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0}else g=l;g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[R>>2];f[g+4>>2]=f[R+4>>2];f[g+8>>2]=f[R+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[C>>2]|0);Z=x;x=0;if(Z&1){j=49;break d}f[h>>2]=15556;f[g+20>>2]=f[D>>2];f[g+24>>2]=f[J>>2];f[D>>2]=0;f[J>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(L);if(!q)QZ(p);do if(d){d=f[Q>>2]|0;g=f[X>>2]|0;h=(g|0)==0;if(!h)ega(g);Z=(f[d+20>>2]|0)+-1+(f[d+16>>2]|0)|0;b[(f[(f[d+4>>2]|0)+(((Z>>>0)/146|0)<<2)>>2]|0)+(((Z>>>0)%146|0)*28|0)>>0]=1;if(h)break;QZ(g)}while(0);x=0;Ga(462,V|0,f[r>>2]|0);Z=x;x=0;if(Z&1){j=46;break d}f[V>>2]=15572;Z=(f[E>>2]|0)==0;_P(V);if(Z){d=0;break}d=c+88|0;x=0;Ga(462,M|0,f[d>>2]|0);Z=x;x=0;if(Z&1){j=46;break d}f[M>>2]=15556;Z=(f[F>>2]|0)==0;_P(M);if(Z){d=0;break}x=0;Ga(462,N|0,f[d>>2]|0);Z=x;x=0;if(Z&1){j=46;break d}f[N>>2]=15556;b[(f[G>>2]|0)+60>>0]=b[c+60>>0]|0;_P(N);d=0}while(0);h=c+72|0;g=f[h>>2]|0;do if(g){m=f[Q>>2]|0;p=f[X>>2]|0;q=(p|0)==0;if(!q){ega(p);g=f[h>>2]|0}b[R>>0]=0;f[w>>2]=1;f[y>>2]=g;x=0;Ga(462,z|0,0);Z=x;x=0;if(Z&1){j=77;break d}f[z>>2]=15556;f[A>>2]=0;f[I>>2]=0;l=m+8|0;i=f[l>>2]|0;n=m+4|0;h=f[n>>2]|0;Z=i-h>>2;k=m+16|0;j=f[k>>2]|0;o=m+20|0;g=f[o>>2]|0;if((((Z|0)==0?0:(Z*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,m|0);Z=x;x=0;if(Z&1){j=78;break d}g=f[o>>2]|0;j=f[k>>2]|0;i=f[l>>2]|0;h=f[n>>2]|0}g=g+j|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[R>>2];f[g+4>>2]=f[R+4>>2];f[g+8>>2]=f[R+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[B>>2]|0);Z=x;x=0;if(Z&1){j=78;break d}f[h>>2]=15556;f[g+20>>2]=f[A>>2];f[g+24>>2]=f[I>>2];f[A>>2]=0;f[I>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(K);if(!q)QZ(p);if(d){d=f[Q>>2]|0;g=f[X>>2]|0;h=(g|0)==0;if(!h)ega(g);Z=(f[d+20>>2]|0)+-1+(f[d+16>>2]|0)|0;b[(f[(f[d+4>>2]|0)+(((Z>>>0)/146|0)<<2)>>2]|0)+(((Z>>>0)%146|0)*28|0)>>0]=1;if(h){d=0;break}QZ(g);d=0}else d=0}while(0);c=c+88|0;if(e){x=0;Ga(462,O|0,f[c>>2]|0);Z=x;x=0;if(Z&1){j=46;break}f[O>>2]=15556;_P(O)}x=0;Ga(462,P|0,f[c>>2]|0);Z=x;x=0;if(Z&1){j=46;break}f[P>>2]=15556;c=f[v>>2]|0;_P(P);if(!c)break c}if((j|0)==46){d=Ya()|0;break a}else if((j|0)==47){d=Ya()|0;_P(S);break a}else if((j|0)==48){d=Ya()|0;j=52}else if((j|0)==49){d=Ya()|0;c=f[J>>2]|0;if(c|0)QZ(c);_P(L);j=52}else if((j|0)==77){d=Ya()|0;j=81}else if((j|0)==78){d=Ya()|0;c=f[I>>2]|0;if(c|0)QZ(c);_P(K);j=81}if((j|0)==52){if(q)break a;QZ(p);break a}else if((j|0)==81){if(q)break a;QZ(p);break a}}while(0);f[a>>2]=f[Y>>2];f[a+4>>2]=f[Y+4>>2];f[a+8>>2]=f[Y+8>>2];c=a+12|0;x=0;Ga(462,c|0,f[Y+16>>2]|0);Z=x;x=0;if(Z&1)j=14;else{f[c>>2]=15556;f[a+20>>2]=f[Q>>2];f[a+24>>2]=f[X>>2];f[Q>>2]=0;f[X>>2]=0;_P(Y+12|0);u=W;return}}while(0);if((j|0)==14)d=Ya()|0;c=f[X>>2]|0;if(!c){Z=Y+12|0;_P(Z);jb(d|0)}QZ(c);Z=Y+12|0;_P(Z);jb(d|0)}function of(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;t=0;r=u;u=u+96|0;s=r+80|0;q=r+72|0;l=r+64|0;j=r+56|0;k=r+48|0;o=r+32|0;n=r+40|0;m=r+24|0;g=r+16|0;h=r+8|0;i=r;d=f[a+60>>2]|0;if((d|0)==(f[a+56>>2]|0))e=0;else e=f[d+-4>>2]|0;p=c+64|0;d=(b[c+84>>0]|0)!=0;if(b[c+85>>0]|0){if(!d){qV(k,f[c+80>>2]|0);f[k>>2]=7696;d=f[k+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;q=x;x=0;do if(q&1)t=30;else{x=0;Ga(462,s|0,d|0);q=x;x=0;if(q&1)t=30;else{f[s>>2]=6664;x=0;Ia(127,e|0,p|0,s|0);q=x;x=0;if(q&1){d=Ya()|0;_P(s);break}_P(s);_P(k);u=r;return 0}}while(0);if((t|0)==30)d=Ya()|0;_P(k);t=d;jb(t|0)}if(!($F(e,p)|0)){qV(j,f[c+80>>2]|0);f[j>>2]=7696;d=f[j+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;q=x;x=0;do if(q&1)t=23;else{x=0;Ga(462,s|0,d|0);q=x;x=0;if(q&1)t=23;else{f[s>>2]=6664;x=0;Ia(127,e|0,p|0,s|0);q=x;x=0;if(q&1){d=Ya()|0;_P(s);break}_P(s);_P(j);u=r;return 0}}while(0);if((t|0)==23)d=Ya()|0;_P(j);t=d;jb(t|0)}d=(rt(e,p)|0)+4|0;qV(s,Hba(f[d>>2]|0)|0);f[s>>2]=7696;d=f[s+4>>2]|0;if(!d)t=8;else if((f[d+56>>2]|0)==8)t=8;a:do if((t|0)==8){x=0;Ga(462,l|0,f[c+80>>2]|0);o=x;x=0;if(o&1)d=Ya()|0;else{f[l>>2]=7696;d=f[l+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;o=x;x=0;do if(o&1)t=14;else{x=0;Ga(462,q|0,d|0);o=x;x=0;if(o&1)t=14;else{f[q>>2]=6664;x=0;Ia(127,e|0,p|0,q|0);p=x;x=0;if(p&1){d=Ya()|0;_P(q);break}else{_P(q);_P(l);break a}}}while(0);if((t|0)==14)d=Ya()|0;_P(l)}_P(s);t=d;jb(t|0)}while(0);_P(s);u=r;return 0}if(!d){qV(i,f[c+80>>2]|0);f[i>>2]=7696;d=f[i+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;q=x;x=0;do if(q&1)t=103;else{x=0;Ga(462,s|0,d|0);q=x;x=0;if(q&1)t=103;else{f[s>>2]=6664;x=0;Ia(129,e|0,p|0,s|0);q=x;x=0;if(q&1){d=Ya()|0;_P(s);break}_P(s);_P(i);u=r;return 0}}while(0);if((t|0)==103)d=Ya()|0;_P(i);t=d;jb(t|0)}if(kF(e,p)|0){b:do if(e|0){while(1){if(!(bX(e)|0))break b;if(bN(e,p)|0)break;d=f[e+12>>2]|0;if(!d)break b;else e=d}d=(UG(e,p)|0)+4|0;qV(s,f[d>>2]|0);f[s>>2]=6664;d=f[s+4>>2]|0;do if(!d){d=Ta(8)|0;x=0;Ga(496,d|0,48895);t=x;x=0;if(t&1){t=Ya()|0;bb(d|0);d=t;break}else{x=0;Ia(77,d|0,6176,414);x=0;d=Ya()|0;break}}else{x=0;d=qa(336,d|0)|0;m=x;x=0;c:do if(m&1)t=48;else{x=0;Ga(462,q|0,d|0);m=x;x=0;if(m&1)t=48;else{f[q>>2]=7696;d=f[q+4>>2]|0;if(!d)t=43;else if((f[d+56>>2]|0)==8)t=43;d:do if((t|0)==43){x=0;Ga(462,n|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[n>>2]=7696;d=f[n+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;c=x;x=0;do if(c&1)t=50;else{x=0;Ga(462,o|0,d|0);c=x;x=0;if(c&1)t=50;else{f[o>>2]=6664;x=0;Ia(128,e|0,p|0,o|0);p=x;x=0;if(p&1){d=Ya()|0;_P(o);break}else{_P(o);_P(n);break d}}}while(0);if((t|0)==50)d=Ya()|0;_P(n)}_P(q);break c}while(0);_P(q);_P(s);u=r;return 0}}while(0);if((t|0)==48)d=Ya()|0}while(0);_P(s);t=d;jb(t|0)}while(0);d=Ta(8)|0;x=0;Ga(496,d|0,48895);t=x;x=0;if(!(t&1))fb(d|0,6176,414);t=Ya()|0;bb(d|0);jb(t|0)}if(!($F(e,p)|0))if(bX(e)|0){qV(g,f[c+80>>2]|0);f[g>>2]=7696;d=f[g+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;q=x;x=0;do if(q&1)t=89;else{x=0;Ga(462,s|0,d|0);q=x;x=0;if(q&1)t=89;else{f[s>>2]=6664;x=0;Ia(128,e|0,p|0,s|0);q=x;x=0;if(q&1){d=Ya()|0;_P(s);break}_P(s);_P(g);u=r;return 0}}while(0);if((t|0)==89)d=Ya()|0;_P(g);t=d;jb(t|0)}else{qV(h,f[c+80>>2]|0);f[h>>2]=7696;d=f[h+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;q=x;x=0;do if(q&1)t=96;else{x=0;Ga(462,s|0,d|0);q=x;x=0;if(q&1)t=96;else{f[s>>2]=6664;x=0;Ia(128,e|0,p|0,s|0);q=x;x=0;if(q&1){d=Ya()|0;_P(s);break}_P(s);_P(h);u=r;return 0}}while(0);if((t|0)==96)d=Ya()|0;_P(h);t=d;jb(t|0)}d=(rt(e,p)|0)+4|0;qV(s,f[d>>2]|0);f[s>>2]=6664;d=f[s+4>>2]|0;e:do if(d|0){x=0;d=qa(336,d|0)|0;n=x;x=0;f:do if(n&1)t=75;else{x=0;Ga(462,q|0,d|0);n=x;x=0;if(n&1)t=75;else{f[q>>2]=7696;d=f[q+4>>2]|0;if(!d)t=70;else if((f[d+56>>2]|0)==8)t=70;g:do if((t|0)==70){x=0;Ga(462,m|0,f[c+80>>2]|0);c=x;x=0;if(c&1)d=Ya()|0;else{f[m>>2]=7696;d=f[m+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a+12|0)|0;c=x;x=0;do if(c&1)t=77;else{x=0;Ga(462,o|0,d|0);c=x;x=0;if(c&1)t=77;else{f[o>>2]=6664;x=0;Ia(127,e|0,p|0,o|0);p=x;x=0;if(p&1){d=Ya()|0;_P(o);break}else{_P(o);_P(m);break g}}}while(0);if((t|0)==77)d=Ya()|0;_P(m)}_P(q);break f}while(0);_P(q);break e}}while(0);if((t|0)==75)d=Ya()|0;_P(s);t=d;jb(t|0)}while(0);_P(s);u=r;return 0}function pf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=0;E=u;u=u+240|0;t=E+200|0;q=E+160|0;F=E+108|0;j=E+188|0;m=E+176|0;l=E+120|0;p=E+96|0;o=E+88|0;n=E+80|0;k=E+72|0;r=E+64|0;s=E+56|0;w=E+48|0;y=E+40|0;z=E+32|0;A=E+24|0;B=E+16|0;C=E+8|0;D=E;v=c+168|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(F);if(i>>>0<11){b[F+11>>0]=i;d=F}else{g=i+16&-16;d=VN(g)|0;f[F>>2]=d;f[F+8>>2]=g|-2147483648;f[F+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;f[j>>2]=45818;f[j+4>>2]=45818;f[j+8>>2]=45823;x=0;f[t>>2]=f[j>>2];f[t+4>>2]=f[j+4>>2];f[t+8>>2]=f[j+8>>2];d=sa(1033,v|0,t|0)|0;j=x;x=0;a:do if(j&1)G=20;else{b:do if(d){f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;x=0;d=qa(318,48)|0;j=x;x=0;if(j&1){G=20;break a}f[m>>2]=d;f[m+8>>2]=-2147483600;f[m+4>>2]=38;e=d;g=45824;h=e+38|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+38>>0]=0;x=0;Ga(459,q|0,m|0);j=x;x=0;do if(j&1)d=Ya()|0;else{j=c+108|0;x=0;f[t>>2]=f[j>>2];f[t+4>>2]=f[j+4>>2];f[t+8>>2]=f[j+8>>2];Ia(113,c|0,q|0,t|0);j=x;x=0;if(j&1){d=Ya()|0;if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[m+11>>0]|0)>=0)break b;Hta(f[m>>2]|0);break b}while(0);if((b[m+11>>0]|0)>=0)break a;Hta(f[m>>2]|0);break a}while(0);x=0;i=qa(318,100)|0;m=x;x=0;if(m&1){d=Ya()|0;break}e=l;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(459,p|0,F|0);m=x;x=0;if(m&1)d=Ya()|0;else{x=0;Ga(462,o|0,0);m=x;x=0;if(m&1)d=Ya()|0;else{f[o>>2]=7168;x=0;Ga(462,n|0,0);m=x;x=0;if(m&1)d=Ya()|0;else{f[n>>2]=7280;x=0;Ga(462,k|0,0);m=x;x=0;do if(m&1)d=Ya()|0;else{f[k>>2]=7696;x=0;e=t;g=l;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));La(22,i|0,t|0,p|0,o|0,n|0,k|0);m=x;x=0;if(m&1){d=Ya()|0;_P(k);break}_P(k);_P(n);_P(o);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);h=c+76|0;x=0;Ia(120,q|0,c|0,f[h>>2]|0);p=x;x=0;c:do if(p&1)G=59;else{g=f[q+8>>2]|0;do if(g|0){x=0;d=qa(348,g|0)|0;p=x;x=0;if(p&1){G=59;break c}p=d|0?d:g;p=(b[p>>0]|0)==59?p+1|0:0;d=c+80|0;if(!((p|0)==0?1:p>>>0>(f[d>>2]|0)>>>0)){f[q>>2]=g;break}x=0;e=qa(348,g|0)|0;p=x;x=0;if(p&1){G=59;break c}p=e|0?e:g;p=(b[p>>0]|0)==125?p+1|0:0;if((p|0)==0?1:p>>>0>(f[d>>2]|0)>>>0)break;f[q>>2]=g}while(0);d:do if(f[q>>2]|0){if(b[q+13>>0]|0)break;x=0;Ia(111,s|0,c|0,0);q=x;x=0;if(q&1){G=59;break c}d=i+84|0;e=i+88|0;if(!(f[e>>2]|0))G=45;else{x=0;Fa(429,d|0);q=x;x=0;if(!(q&1))G=45}do if((G|0)==45){f[e>>2]=f[s+4>>2];x=0;Fa(430,d|0);q=x;x=0;if(q&1)break;x=0;Ga(462,r|0,f[e>>2]|0);q=x;x=0;if(q&1)break;f[r>>2]=7168;_P(r);_P(s);break d}while(0);d=Ya()|0;_P(s);break c}while(0);x=0;ta(52,c|0,0,0)|0;s=x;x=0;if(s&1){G=59;break}x=0;d=ta(139,c|0,1,0)|0;s=x;x=0;if(s&1){G=59;break}e:do if(!d){d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;z=x;x=0;if(z&1){G=59;break c}z=e|0?e:d;y=b[z>>0]|0;z=z+1|0;y=y<<24>>24|0;z=(y|0)!=123&(y|0)!=125?((y|0)==59?z:0):z;if(!((z|0)==0?1:z>>>0>(f[c+80>>2]|0)>>>0))break;x=0;Ia(114,B|0,c|0,0);z=x;x=0;if(z&1){G=59;break c}d=i+92|0;e=i+96|0;if(!(f[e>>2]|0))G=79;else{x=0;Fa(429,d|0);z=x;x=0;if(!(z&1))G=79}do if((G|0)==79){f[e>>2]=f[B+4>>2];x=0;Fa(430,d|0);z=x;x=0;if(z&1)break;x=0;Ga(462,A|0,f[e>>2]|0);z=x;x=0;if(z&1)break;f[A>>2]=7696;_P(A);_P(B);break e}while(0);d=Ya()|0;_P(B);break c}else{x=0;f[t>>2]=f[v>>2];f[t+4>>2]=f[v+4>>2];f[t+8>>2]=f[v+8>>2];Ka(9,z|0,c|0,t|0,0,1);B=x;x=0;if(B&1){G=59;break c}x=0;Ga(462,y|0,f[z+4>>2]|0);B=x;x=0;if(B&1)d=Ya()|0;else{f[y>>2]=7696;d=i+92|0;e=i+96|0;if(!(f[e>>2]|0))G=68;else{x=0;Fa(429,d|0);B=x;x=0;if(!(B&1))G=68}do if((G|0)==68){f[e>>2]=f[y+4>>2];x=0;Fa(430,d|0);B=x;x=0;if(B&1)break;x=0;Ga(462,w|0,f[e>>2]|0);B=x;x=0;if(B&1)break;f[w>>2]=7696;_P(w);_P(y);_P(z);break e}while(0);d=Ya()|0;_P(y)}_P(z);break c}while(0);x=0;ta(52,c|0,0,0)|0;B=x;x=0;if(B&1){G=59;break}d=f[h>>2]|0;x=0;e=qa(348,d|0)|0;B=x;x=0;if(B&1){G=59;break}B=e|0?e:d;B=(b[B>>0]|0)==123?B+1|0:0;f:do if(!((B|0)==0?1:B>>>0>(f[c+80>>2]|0)>>>0)){x=0;Ia(123,D|0,c|0,0);c=x;x=0;if(c&1){G=59;break c}d=i+64|0;e=i+68|0;if(!(f[e>>2]|0))G=89;else{x=0;Fa(429,d|0);c=x;x=0;if(!(c&1))G=89}do if((G|0)==89){f[e>>2]=f[D+4>>2];x=0;Fa(430,d|0);c=x;x=0;if(c&1)break;x=0;Ga(462,C|0,f[e>>2]|0);c=x;x=0;if(c&1)break;f[C>>2]=7280;_P(C);_P(D);break f}while(0);d=Ya()|0;_P(D);break c}while(0);x=0;Ga(462,a|0,i|0);G=x;x=0;if(G&1){G=59;break}f[a>>2]=17128;if((b[F+11>>0]|0)>=0){u=E;return}Hta(f[F>>2]|0);u=E;return}while(0);if((G|0)==59)d=Ya()|0;break a}while(0);_P(n)}_P(o)}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0)}Hta(i)}while(0);if((G|0)==20)d=Ya()|0;if((b[F+11>>0]|0)>=0)jb(d|0);Hta(f[F>>2]|0);jb(d|0)}function qf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;l=0;B=u;u=u+240|0;C=B;H=B+224|0;J=B+160|0;c=B+184|0;j=B+172|0;G=B+152|0;F=B+144|0;E=B+128|0;y=B+112|0;z=B+96|0;A=B+56|0;D=B+40|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;k=J+11|0;b[k>>0]=5;b[J>>0]=b[40730]|0;b[J+1>>0]=b[40731]|0;b[J+2>>0]=b[40732]|0;b[J+3>>0]=b[40733]|0;b[J+4>>0]=b[40734]|0;b[J+5>>0]=0;q=c;r=g;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));x=0;Ga(511,j|0,h|0);w=x;x=0;if(w&1)c=Ya()|0;else{x=0;q=C;r=c;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));c=wa(29,J|0,a|0,e|0,C|0,j|0)|0;w=x;x=0;if(!(w&1)){x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;w=x;x=0;if(!(w&1)){x=0;Ga(462,H|0,c|0);w=x;x=0;if(!(w&1)){f[H>>2]=7584;c=f[j>>2]|0;if(c|0){a=j+4|0;d=f[a>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[a>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[a>>2]|0}else d=i}while((d|0)!=(c|0));c=f[j>>2]|0}Hta(c)}if((b[k>>0]|0)<0)Hta(f[J>>2]|0);x=0;i=qa(318,108)|0;w=x;x=0;a:do if(w&1)l=37;else{q=C;r=g;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));x=0;Fa(427,i|0);w=x;x=0;do if(w&1)c=Ya()|0;else{q=i+12|0;r=C;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=6516;d=i+60|0;x=0;Ga(560,d|0,1);w=x;x=0;if(w&1){c=Ya()|0;break}f[i>>2]=9700;f[d>>2]=9828;f[c>>2]=6;x=0;Ga(462,J|0,i|0);w=x;x=0;if(w&1){l=37;break a}f[J>>2]=16784;n=H+4|0;d=f[n>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+120>>2]|0,d|0)|0;w=x;x=0;b:do if(w&1)c=Ya()|0;else{i=f[n>>2]|0;a=(f[i+68>>2]|0)-(f[i+64>>2]|0)>>3;c:do if(d>>>0>>0){e=G+4|0;h=F+4|0;c=J+4|0;j=z+4|0;k=C+4|0;l=y+8|0;m=z+8|0;o=y+8|0;t=z+4|0;v=D+11|0;w=E+11|0;while(1){i=i+60|0;x=0;i=sa(f[(f[i>>2]|0)+16>>2]|0,i|0,d|0)|0;s=x;x=0;if(s&1){l=62;break}x=0;Ga(462,G|0,f[i+4>>2]|0);s=x;x=0;if(s&1){l=62;break}f[G>>2]=7696;x=0;Ga(462,F|0,f[e>>2]|0);s=x;x=0;if(s&1){l=63;break}f[F>>2]=10408;x=0;Ga(459,E|0,(f[h>>2]|0)+68|0);s=x;x=0;if(s&1){l=64;break}x=0;i=ta(40,E|0,0,1)|0;s=x;x=0;if(s&1){l=65;break}x=0;sa(986,E|0,i|0)|0;s=x;x=0;if(s&1){l=65;break}i=(f[c>>2]|0)+60|0;x=0;p=qa(318,80)|0;s=x;x=0;if(s&1){l=66;break}q=A;r=g;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));x=0;Ga(459,D|0,E|0);s=x;x=0;if(s&1){l=67;break}x=0;q=C;r=A;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));Na(1,p|0,C|0,D|0,0,0,0,1,1);s=x;x=0;if(s&1){l=68;break}x=0;Ga(462,C|0,f[(f[h>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){l=69;break}f[C>>2]=7696;f[z>>2]=p;x=0;Ga(462,j|0,f[k>>2]|0);s=x;x=0;if(s&1){l=70;break}f[j>>2]=7696;x=0;Ga(462,y|0,f[z>>2]|0);s=x;x=0;if(s&1){l=71;break}f[y>>2]=7696;x=0;Ga(462,l|0,f[m>>2]|0);s=x;x=0;if(s&1){l=54;break}f[l>>2]=7696;x=0;sa(1007,i|0,y|0)|0;s=x;x=0;if(s&1){l=73;break}_P(o);_P(y);_P(t);_P(C);if((b[v>>0]|0)<0)Hta(f[D>>2]|0);if((b[w>>0]|0)<0)Hta(f[E>>2]|0);_P(F);_P(G);d=d+1|0;if(d>>>0>=a>>>0)break c;i=f[n>>2]|0}switch(l|0){case 54:{c=Ya()|0;_P(y);l=72;break}case 62:{c=Ya()|0;break}case 63:{c=Ya()|0;l=85;break}case 64:{c=Ya()|0;l=84;break}case 65:{c=Ya()|0;l=82;break}case 66:{c=Ya()|0;l=81;break}case 67:{c=Ya()|0;l=80;break}case 68:{d=1;c=Ya()|0;l=77;break}case 69:{c=Ya()|0;l=76;break}case 70:{c=Ya()|0;l=75;break}case 71:{c=Ya()|0;l=72;break}case 73:{c=Ya()|0;_P(o);_P(y);l=74;break}}if((l|0)==72)l=74;if((l|0)==74){_P(t);l=75}if((l|0)==75){_P(C);l=76}if((l|0)==76){d=0;l=77}do if((l|0)==77)if((b[v>>0]|0)<0){Hta(f[D>>2]|0);if(d){l=80;break}else{l=81;break}}else if(d){l=80;break}else{l=81;break}while(0);if((l|0)==80){Hta(p);l=81}if((l|0)==81)l=82;if((l|0)==82)if((b[w>>0]|0)<0){Hta(f[E>>2]|0);l=84}else l=84;if((l|0)==84){_P(F);l=85}if((l|0)==85)_P(G);break b}else c=J+4|0;while(0);c=f[c>>2]|0;if(!c){G=0;_P(J);_P(H);u=B;return G|0}b[c+8>>0]=1;G=c;_P(J);_P(H);u=B;return G|0}while(0);_P(J);break a}while(0);Hta(i)}while(0);if((l|0)==37)c=Ya()|0;_P(H);J=c;jb(J|0)}}}c=Ya()|0;e=I;d=f[j>>2]|0;if(d){h=j+4|0;i=f[h>>2]|0;if((i|0)!=(d|0)){do{a=i+-52|0;f[h>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[h>>2]|0}else i=a}while((i|0)!=(d|0));d=f[j>>2]|0}Hta(d)}}if((b[k>>0]|0)<0)Hta(f[J>>2]|0);J=c;jb(J|0);return 0}function rf(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,v=0,w=0,y=0,z=0;t=u;u=u+32|0;w=t+12|0;v=t;z=a+11|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;do if((f[d>>2]&-249|0)>0){x=0;Ga(459,w|0,d+24|0);y=x;x=0;if(y&1){e=Ya()|0;y=16;break}else{e=w+11|0;i=e;e=b[e>>0]|0;g=f[w+4>>2]|0;y=5;break}}else{f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=w+11|0;e=0;g=0;y=5}while(0);do if((y|0)==5){s=e<<24>>24<0;x=0;ta(41,a|0,(s?f[w>>2]|0:w)|0,(s?g:e&255)|0)|0;s=x;x=0;if(s&1){e=Ya()|0;if((b[i>>0]|0)>=0){y=16;break}Hta(f[w>>2]|0);y=16;break}if((b[i>>0]|0)<0)Hta(f[w>>2]|0);q=d+24|0;x=0;sa(1032,q|0,89823)|0;s=x;x=0;if(s&1){e=Ya()|0;break}r=c+11|0;e=b[r>>0]|0;p=e<<24>>24<0;s=c+4|0;g=p?f[c>>2]|0:c;e=g+(p?f[s>>2]|0:e&255)|0;do{if((e|0)==(g|0)){y=116;break}e=e+-1|0;p=b[e>>0]|0}while(!((p&255)>15|(1<<(p&255)&9216)==0));if((y|0)==116){u=t;return}e=e-g|0;if((e|0)==-1){u=t;return}e=e+1|0;x=0;Ka(4,w|0,c|0,e|0,-1,c|0);p=x;x=0;if(p&1)e=Ya()|0;else{x=0;Ka(4,v|0,c|0,0,e|0,c|0);p=x;x=0;a:do if(p&1)e=Ya()|0;else{if((b[r>>0]|0)<0){b[f[c>>2]>>0]=0;f[s>>2]=0}else{b[c>>0]=0;b[r>>0]=0}x=0;Ga(501,c|0,0);p=x;x=0;if(p&1){p=Za(0)|0;soa(p)}f[c>>2]=f[v>>2];f[c+4>>2]=f[v+4>>2];f[c+8>>2]=f[v+8>>2];m=0;n=0;o=0;p=0;l=0;b:while(1){k=b[r>>0]|0;i=k<<24>>24<0;e=i?f[c>>2]|0:c;k=i?f[s>>2]|0:k&255;i=e+k|0;g=e;if(k>>>0<=l>>>0){y=87;break}e=e+l|0;c:while(1){switch(b[e>>0]|0){case 41:case 40:case 42:case 92:case 47:case 39:case 34:break c;default:{}}e=e+1|0;if((e|0)==(i|0)){y=87;break b}}l=e-g|0;if((e|0)==(i|0)|(l|0)==-1){y=87;break}x=0;e=sa(1055,c|0,l|0)|0;k=x;x=0;if(k&1)break;e=b[e>>0]|0;d:do switch(e<<24>>24){case 40:{g=m+(((o|p)^1)&1)|0;i=n;j=o;k=p;e=l;break}case 41:{g=m+(((o|p)^1)<<31>>31)|0;i=n;j=o;k=p;e=l;break}case 34:{g=m;i=n;j=o^((n|p)^1);k=p;e=l;break}case 39:{g=m;i=n;j=o;k=p^((n|o)^1);e=l;break}default:{g=(l|0)!=0;if(!(g&e<<24>>24==47)){if(e<<24>>24==92){g=m;i=n;j=o;k=p;e=l+((o|p)&1)|0;break d}if(!(g&e<<24>>24==42)){g=m;i=n;j=o;k=p;e=l;break d}x=0;e=sa(1055,c|0,l+-1|0)|0;k=x;x=0;if(k&1)break b;g=m;i=n|(b[e>>0]|0)==47&((o|p)^1);j=o;k=p;e=l;break d}g=l+-1|0;x=0;e=sa(1055,c|0,g|0)|0;k=x;x=0;if(k&1)break b;if((b[e>>0]|0)==42){g=m;i=0;j=o;k=p;e=l}else{x=0;e=sa(1055,c|0,g|0)|0;k=x;x=0;if(k&1)break b;if((b[e>>0]|0)!=47){g=m;i=n;j=o;k=p;e=l;break d}if(o){g=m;i=n;j=1;k=p;e=l;break d}if(p){g=m;i=n;j=0;k=1;e=l;break d}if((m|0)==0&(n^1)){y=51;break b}else{g=m;i=n;j=0;k=0;e=l}}}}while(0);l=e+1|0;if((l|0)==-1){y=87;break}else{m=g;n=i;o=j;p=k}}do if((y|0)==51){if(f[d>>2]&128|0){e=d+8|0;p=b[e+11>>0]|0;if(!((p<<24>>24<0?f[d+12>>2]|0:p&255)|0)){x=0;e=wa(21,e|0,0,-1,89823,0)|0;p=x;x=0;if(p&1){p=Za(0)|0;soa(p)}if(!e){x=0;e=sa(1055,c|0,l|0)|0;p=x;x=0;if(p&1)break;b[e>>0]=42;x=0;sa(991,c|0,51440)|0;p=x;x=0;if(p&1)break}}}if(!g)e=0;else{e=b[r>>0]|0;j=e<<24>>24<0;k=j?f[c>>2]|0:c;e=j?f[s>>2]|0:e&255;j=b[81207]|0;p=j<<24>>24<0;i=p?f[20299]|0:81196;j=p?f[20300]|0:j&255;g=e>>>0>(l+-2|0)>>>0?g:e;e=k+g|0;e:do if(!j)if(!g)e=-1;else{e=e+-1|0;y=67}else while(1){if((e|0)==(k|0)){e=-1;break e}e=e+-1|0;if(!(HB(i,h[e>>0]|0,j)|0)){y=67;break}}while(0);if((y|0)==67)e=e-k|0;e=e+1|0}f:do if(!(f[d>>2]&64)){x=0;Ka(4,v|0,c|0,e|0,-1,c|0);p=x;x=0;do if(p&1)e=Ya()|0;else{g=v+11|0;p=b[g>>0]|0;o=p<<24>>24<0;x=0;ta(41,q|0,(o?f[v>>2]|0:v)|0,(o?f[v+4>>2]|0:p&255)|0)|0;p=x;x=0;if(p&1){e=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[v>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[v>>2]|0);break f}while(0);break a}while(0);x=0;Ka(4,v|0,c|0,0,e|0,c|0);p=x;x=0;if(p&1){e=Ya()|0;break a}if((b[r>>0]|0)<0){b[f[c>>2]>>0]=0;f[s>>2]=0}else{b[c>>0]=0;b[r>>0]=0}x=0;Ga(501,c|0,0);p=x;x=0;if(p&1){v=Za(0)|0;soa(v)}else{f[c>>2]=f[v>>2];f[c+4>>2]=f[v+4>>2];f[c+8>>2]=f[v+8>>2];y=87;break}}while(0);g:do if((y|0)==87){x=0;Ia(79,v|0,w|0,51444);p=x;x=0;do if(p&1)e=Ya()|0;else{g=v+11|0;p=b[g>>0]|0;o=p<<24>>24<0;x=0;ta(41,q|0,(o?f[v>>2]|0:v)|0,(o?f[v+4>>2]|0:p&255)|0)|0;q=x;x=0;if(q&1){e=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[v>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[v>>2]|0);h:do if(!(f[d>>2]&-249)){e=b[r>>0]|0;j=e<<24>>24<0;k=j?f[c>>2]|0:c;e=j?f[s>>2]|0:e&255;j=b[81207]|0;d=j<<24>>24<0;i=d?f[20299]|0:81196;j=d?f[20300]|0:j&255;if(e|0){g=k+e|0;i:do if(!j)e=k;else{e=k;while(1){if(!(HB(i,h[e>>0]|0,j)|0))break i;e=e+1|0;if((e|0)==(g|0))break h}}while(0);e=e-k|0;if((e|0)==-1)break;x=0;Ka(4,v|0,c|0,e|0,-1,c|0);d=x;x=0;if(d&1){e=Ya()|0;break a}if((b[r>>0]|0)<0){b[f[c>>2]>>0]=0;f[s>>2]=0}else{b[c>>0]=0;b[r>>0]=0}x=0;Ga(501,c|0,0);d=x;x=0;if(d&1){v=Za(0)|0;soa(v)}else{f[c>>2]=f[v>>2];f[c+4>>2]=f[v+4>>2];f[c+8>>2]=f[v+8>>2];break}}}while(0);v=b[r>>0]|0;r=v<<24>>24<0;x=0;ta(41,a|0,(r?f[c>>2]|0:c)|0,(r?f[s>>2]|0:v&255)|0)|0;v=x;x=0;if(v&1)break g;if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);u=t;return}while(0);break a}while(0);e=Ya()|0}while(0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0)}}while(0);if((b[z>>0]|0)>=0)jb(e|0);Hta(f[a>>2]|0);jb(e|0)}function sf(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,v=0;q=0;o=u;u=u+80|0;r=o+68|0;n=o+56|0;m=o+52|0;l=o+48|0;v=o+36|0;t=o+24|0;s=o+12|0;p=o;xp(v);k=e+12|0;i=f[k>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;j=hL(i)|0;do if(j>>>0>4294967279){x=0;Fa(428,r|0);x=0;q=45}else{if(j>>>0<11){b[r+11>>0]=j;if(!j)g=r;else{g=r;q=7}}else{h=j+16&-16;x=0;g=qa(318,h|0)|0;q=x;x=0;if(q&1){q=45;break}f[r>>2]=g;f[r+8>>2]=h|-2147483648;f[r+4>>2]=j;q=7}if((q|0)==7)Lu(g|0,i|0,j|0)|0;b[g+j>>0]=0;x=0;Ja(16,t|0,r|0,v|0,v|0);j=x;x=0;if(j&1){g=Ya()|0;if((b[r+11>>0]|0)>=0){q=48;break}Hta(f[r>>2]|0);q=48;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);i=f[k>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;j=hL(i)|0;do if(j>>>0>4294967279){x=0;Fa(428,r|0);x=0;q=49}else{if(j>>>0<11){b[r+11>>0]=j;if(!j)g=r;else{g=r;q=17}}else{h=j+16&-16;x=0;g=qa(318,h|0)|0;q=x;x=0;if(q&1){q=49;break}f[r>>2]=g;f[r+8>>2]=h|-2147483648;f[r+4>>2]=j;q=17}if((q|0)==17)Lu(g|0,i|0,j|0)|0;b[g+j>>0]=0;x=0;Ja(17,s|0,r|0,v|0,v|0);j=x;x=0;if(j&1){g=Ya()|0;if((b[r+11>>0]|0)>=0){q=52;break}Hta(f[r>>2]|0);q=52;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);i=f[k>>2]|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;j=hL(i)|0;a:do if(j>>>0>4294967279){x=0;Fa(428,r|0);x=0;q=53}else{if(j>>>0<11){b[r+11>>0]=j;if(!j)g=r;else{g=r;q=27}}else{h=j+16&-16;x=0;g=qa(318,h|0)|0;q=x;x=0;if(q&1){q=53;break}f[r>>2]=g;f[r+8>>2]=h|-2147483648;f[r+4>>2]=j;q=27}if((q|0)==27)Lu(g|0,i|0,j|0)|0;b[g+j>>0]=0;i=f[k>>2]|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;j=hL(i)|0;do if(j>>>0>4294967279){x=0;Fa(428,n|0);x=0;q=54}else{if(j>>>0<11){b[n+11>>0]=j;if(!j)g=n;else{g=n;q=34}}else{h=j+16&-16;x=0;g=qa(318,h|0)|0;q=x;x=0;if(q&1){q=54;break}f[n>>2]=g;f[n+8>>2]=h|-2147483648;f[n+4>>2]=j;q=34}if((q|0)==34)Lu(g|0,i|0,j|0)|0;b[g+j>>0]=0;x=0;Ja(42,p|0,s|0,r|0,n|0);k=x;x=0;if(k&1){g=Ya()|0;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);x=0;g=ta(44,82616,53540,28)|0;k=x;x=0;b:do if(k&1)q=60;else{x=0;sa(993,g|0,(f[e>>2]|0)+1|0)|0;k=x;x=0;if(k&1){q=60;break}if(d){x=0;g=ta(44,82616,53439,9)|0;d=x;x=0;if(d&1){q=60;break}x=0;sa(993,g|0,(f[e+4>>2]|0)+1+(f[e+24>>2]|0)|0)|0;e=x;x=0;if(e&1){q=60;break}}h=p+11|0;e=b[h>>0]|0;g=p+4|0;if((e<<24>>24<0?f[g>>2]|0:e&255)|0){x=0;i=ta(44,82616,53449,4)|0;e=x;x=0;if(e&1){q=60;break}e=b[h>>0]|0;d=e<<24>>24<0;x=0;ta(44,i|0,(d?f[p>>2]|0:p)|0,(d?f[g>>2]|0:e&255)|0)|0;e=x;x=0;if(e&1){q=60;break}}x=0;i=ta(44,82616,53454,1)|0;e=x;x=0;if(e&1){q=60;break}x=0;Ga(536,l|0,i+(f[(f[i>>2]|0)+-12>>2]|0)|0);e=x;x=0;if(e&1){q=60;break}x=0;g=sa(994,l|0,83320)|0;e=x;x=0;do if(!(e&1)){x=0;g=sa(f[(f[g>>2]|0)+28>>2]|0,g|0,10)|0;e=x;x=0;if(e&1)break;uga(l);x=0;sa(1012,i|0,g|0)|0;l=x;x=0;if(l&1){q=60;break b}x=0;qa(341,i|0)|0;l=x;x=0;if(l&1){q=60;break b}i=b[a+11>>0]|0;l=i<<24>>24<0;x=0;i=ta(44,82616,(l?f[a>>2]|0:a)|0,(l?f[a+4>>2]|0:i&255)|0)|0;l=x;x=0;if(l&1){q=60;break b}x=0;Ga(536,m|0,i+(f[(f[i>>2]|0)+-12>>2]|0)|0);l=x;x=0;if(l&1){q=60;break b}x=0;g=sa(994,m|0,83320)|0;l=x;x=0;do if(!(l&1)){x=0;g=sa(f[(f[g>>2]|0)+28>>2]|0,g|0,10)|0;l=x;x=0;if(l&1)break;uga(m);x=0;sa(1012,i|0,g|0)|0;m=x;x=0;if(m&1){q=60;break b}x=0;qa(341,i|0)|0;m=x;x=0;if(m&1){q=60;break b}g=b[c+11>>0]|0;i=g<<24>>24<0;if(i)j=f[c+4>>2]|0;else j=g&255;c:do if(j|0){x=0;i=ta(44,82616,(i?f[c>>2]|0:c)|0,(i?f[c+4>>2]|0:g&255)|0)|0;c=x;x=0;if(c&1){q=60;break b}x=0;Ga(536,n|0,i+(f[(f[i>>2]|0)+-12>>2]|0)|0);c=x;x=0;if(c&1){q=60;break b}x=0;g=sa(994,n|0,83320)|0;c=x;x=0;do if(!(c&1)){x=0;g=sa(f[(f[g>>2]|0)+28>>2]|0,g|0,10)|0;c=x;x=0;if(c&1)break;uga(n);x=0;sa(1012,i|0,g|0)|0;n=x;x=0;if(n&1){q=60;break b}x=0;qa(341,i|0)|0;n=x;x=0;if(n&1){q=60;break b}else break c}while(0);g=Ya()|0;uga(n);break b}while(0);x=0;Ga(536,r|0,82616+(f[(f[20654]|0)+-12>>2]|0)|0);n=x;x=0;if(n&1){q=60;break b}x=0;g=sa(994,r|0,83320)|0;n=x;x=0;do if(!(n&1)){x=0;g=sa(f[(f[g>>2]|0)+28>>2]|0,g|0,10)|0;n=x;x=0;if(n&1)break;uga(r);x=0;sa(1012,82616,g|0)|0;r=x;x=0;if(r&1){q=60;break b}x=0;qa(341,82616)|0;r=x;x=0;if(r&1){q=60;break b}if((b[h>>0]|0)<0)Hta(f[p>>2]|0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[v+11>>0]|0)>=0){u=o;return}Hta(f[v>>2]|0);u=o;return}while(0);g=Ya()|0;uga(r);break b}while(0);g=Ya()|0;uga(m);break b}while(0);g=Ya()|0;uga(l)}while(0);if((q|0)==60){g=Ya()|0;h=p+11|0}if((b[h>>0]|0)>=0)break a;Hta(f[p>>2]|0);break a}while(0);if((q|0)==54)g=Ya()|0;if((b[r+11>>0]|0)<0){Hta(f[r>>2]|0);q=59}else q=59}while(0);if((q|0)==53){g=Ya()|0;q=59}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}while(0);if((q|0)==49){g=Ya()|0;q=52}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0)}while(0);if((q|0)==45){g=Ya()|0;q=48}if((b[v+11>>0]|0)>=0)jb(g|0);Hta(f[v>>2]|0);jb(g|0)}function tf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=0;y=u;u=u+304|0;z=y+256|0;E=y+224|0;o=y+244|0;D=y+80|0;s=y+232|0;A=y+8|0;B=y+64|0;t=y+24|0;v=y+16|0;w=y;Gv(o,h);x=0;k=z;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));d=wa(25,c|0,d|0,e|0,z|0,o|0)|0;r=x;x=0;if(!(r&1)){x=0;Ga(462,E|0,d|0);r=x;x=0;if(!(r&1)){f[E>>2]=7696;d=f[o>>2]|0;if(d|0){l=o+4|0;j=f[l>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(d|0));d=f[o>>2]|0}Hta(d)}n=E+4|0;d=f[n>>2]|0;a:do if((f[d+56>>2]|0)==8){r=D+64|0;d=D+8|0;f[d>>2]=16496;q=D+12|0;f[D>>2]=2284;f[r>>2]=2304;f[D+4>>2]=0;x=0;Ga(531,D+64|0,q|0);p=x;x=0;b:do if(p&1){d=Ya()|0;C=45}else{f[D+136>>2]=0;f[D+140>>2]=-1;f[D>>2]=16476;f[r>>2]=16516;f[d>>2]=16496;x=0;Fa(437,q|0);p=x;x=0;do if(p&1)d=Ya()|0;else{f[q>>2]=16336;p=D+44|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[D+60>>2]=24;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;Ga(532,q|0,z|0);o=x;x=0;if(o&1){d=Ya()|0;if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Bca(q);break}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);o=D+8|0;d=b[c+11>>0]|0;m=d<<24>>24<0;x=0;d=ta(44,o|0,(m?f[c>>2]|0:c)|0,(m?f[c+4>>2]|0:d&255)|0)|0;c=x;x=0;do if(c&1)C=46;else{x=0;d=ta(44,d|0,39185,28)|0;c=x;x=0;if(c&1)C=46;else{x=0;Ga(562,z|0,e|0);e=x;x=0;if(e&1)d=Ya()|0;else{j=z+11|0;e=b[j>>0]|0;c=e<<24>>24<0;x=0;d=ta(44,d|0,(c?f[z>>2]|0:z)|0,(c?f[z+4>>2]|0:e&255)|0)|0;e=x;x=0;if(!(e&1)){x=0;ta(44,d|0,53146,1)|0;e=x;x=0;if(!(e&1)){if((b[j>>0]|0)<0)Hta(f[z>>2]|0);x=0;Ga(533,s|0,q|0);e=x;x=0;if(e&1){C=46;break}x=0;k=z;l=g;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,s|0,z|0,h|0);g=x;x=0;if(g&1){d=Ya()|0;if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0);break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);f[D>>2]=16476;f[r>>2]=16516;f[o>>2]=16496;f[q>>2]=16336;if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Bca(q);KU(D,16528);uma(r);d=f[n>>2]|0;C=57;break a}}d=Ya()|0;if((b[j>>0]|0)<0)Hta(f[z>>2]|0)}}}while(0);if((C|0)==46)d=Ya()|0;f[D>>2]=16476;f[r>>2]=16516;f[o>>2]=16496;f[q>>2]=16336;if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);Bca(q);KU(D,16528);uma(r);break b}while(0);KU(D,16528);C=45}while(0);if((C|0)==45)uma(r)}else C=57;while(0);do if((C|0)==57){x=0;d=qa(334,d|0)|0;s=x;x=0;if(s&1){d=Ya()|0;break}if(d|0)b[d+60>>0]=0;d=f[n>>2]|0;j=f[(f[d>>2]|0)+28>>2]|0;x=0;k=z;l=f[i+16>>2]|0;m=k+12|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));Ia(j|0,D|0,d|0,z|0);s=x;x=0;if(s&1)d=Ya()|0;else{o=D+11|0;d=(b[o>>0]|0)<0?f[D>>2]|0:D;x=0;Ga(511,B|0,h|0);h=x;x=0;do if(h&1)d=Ya()|0;else{x=0;Ja(14,t|0,39174,0,-1);h=x;x=0;if(!(h&1)){x=0;k=z;l=t;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));La(14,A|0,d|0,i|0,B|0,z|0,0);i=x;x=0;if(!(i&1)){d=f[B>>2]|0;if(d|0){l=B+4|0;j=f[l>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(d|0));d=f[B>>2]|0}Hta(d)}B=f[A+4>>2]|0;d=f[B+76>>2]|0;c:do if((f[B+80>>2]|0)==(d|0)){x=0;Ga(462,a|0,0);B=x;x=0;if(B&1){d=Ya()|0;C=102;break}else{f[a>>2]=15572;break}}else{x=0;Ga(462,z|0,f[d+4>>2]|0);B=x;x=0;if(B&1)d=Ya()|0;else{f[z>>2]=15556;d=z+4|0;x=0;Ga(462,v|0,f[(f[d>>2]|0)+88>>2]|0);B=x;x=0;d:do if(B&1)C=91;else{f[v>>2]=15556;B=(f[v+4>>2]|0)==0;_P(v);d=f[d>>2]|0;do if(B){x=0;Ga(462,a|0,f[d+80>>2]|0);B=x;x=0;if(B&1){C=91;break d}f[a>>2]=15572}else{x=0;Ga(462,w|0,f[d+88>>2]|0);B=x;x=0;if(B&1){C=91;break d}f[w>>2]=15556;x=0;Ga(462,a|0,f[(f[w+4>>2]|0)+80>>2]|0);B=x;x=0;if(B&1){d=Ya()|0;_P(w);break d}else{f[a>>2]=15572;_P(w);break}}while(0);_P(z);break c}while(0);if((C|0)==91)d=Ya()|0;_P(z)}C=102}while(0);if((C|0)==102){_P(A);break}_P(A);if((b[o>>0]|0)>=0){_P(E);u=y;return}Hta(f[D>>2]|0);_P(E);u=y;return}}d=Ya()|0;m=I;j=f[B>>2]|0;if(j){n=B+4|0;k=f[n>>2]|0;if((k|0)!=(j|0)){do{l=k+-52|0;f[n>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[n>>2]|0}else k=l}while((k|0)!=(j|0));j=f[B>>2]|0}Hta(j)}}while(0);if((b[o>>0]|0)<0)Hta(f[D>>2]|0)}}while(0);_P(E);E=d;jb(E|0)}}n=Ya()|0;l=I;d=f[o>>2]|0;if(!d){E=n;jb(E|0)}m=o+4|0;j=f[m>>2]|0;if((j|0)!=(d|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(d|0));d=f[o>>2]|0}Hta(d);E=n;jb(E|0)}function uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=u;u=u+368|0;z=A+80|0;y=A+40|0;C=A;j=A+328|0;k=A+316|0;D=A+304|0;B=A+252|0;l=A+264|0;o=A+240|0;n=A+200|0;r=A+184|0;t=A+120|0;q=A+144|0;s=A+132|0;d=c+11|0;if((b[((b[d>>0]|0)<0?f[c>>2]|0:c)>>0]|0)!=35){e=VN(80)|0;w=j;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));x=0;Ga(459,k|0,c|0);D=x;x=0;do if(D&1)d=Ya()|0;else{x=0;w=z;a=j;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));Na(1,e|0,z|0,k|0,0,0,0,1,1);D=x;x=0;if(D&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)>=0){D=e;u=A;return D|0}Hta(f[k>>2]|0);D=e;u=A;return D|0}while(0);Hta(e);D=d;jb(D|0)}FC(D,c,1,-1,c);w=b[d>>0]|0;d=w<<24>>24<0;a:do switch((d?f[c+4>>2]|0:w&255)|0){case 4:{e=d?f[c>>2]|0:c;w=b[e+1>>0]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;b[z+11>>0]=2;AD(z|0,w|0,2)|0;b[z+2>>0]=0;w=b[e+2>>0]|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;b[y+11>>0]=2;AD(y|0,w|0,2)|0;b[y+2>>0]=0;e=b[e+3>>0]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;b[B+11>>0]=2;AD(B|0,e|0,2)|0;b[B+2>>0]=0;x=0;e=qa(318,112)|0;w=x;x=0;if(w&1)d=Ya()|0;else{w=l;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));i=+(Lea(z,0,16)|0);h=+(Lea(y,0,16)|0);d=Lea(B,0,16)|0;x=0;Ga(459,o|0,c|0);B=x;x=0;if(B&1)d=Ya()|0;else{w=C;a=l;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));x=0;Fa(427,e|0);B=x;x=0;do if(B&1)d=Ya()|0;else{g=+(d|0);w=e+12|0;a=C;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;d=e+56|0;f[d>>2]=0;f[e>>2]=11116;p[e+64>>3]=i;p[e+72>>3]=h;p[e+80>>3]=g;p[e+88>>3]=1.0;x=0;Ga(459,e+96|0,o|0);C=x;x=0;if(C&1){d=Ya()|0;break}f[e+108>>2]=0;f[d>>2]=3;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);d=e;e=98;break a}while(0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}Hta(e)}e=101;break}case 7:{x=0;Ka(4,y|0,c|0,1,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;Ka(4,C|0,c|0,3,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;Ka(4,B|0,c|0,5,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;l=qa(318,112)|0;w=x;x=0;if(w&1){d=Ya()|0;e=B+11|0}else{w=n;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));j=y+11|0;h=+(Lea((b[j>>0]|0)<0?f[y>>2]|0:y,0,16)|0);k=C+11|0;i=+(Lea((b[k>>0]|0)<0?f[C>>2]|0:C,0,16)|0);e=B+11|0;d=Lea((b[e>>0]|0)<0?f[B>>2]|0:B,0,16)|0;x=0;Ga(459,r|0,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{w=z;a=n;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));x=0;Fa(427,l|0);w=x;x=0;do if(w&1)d=Ya()|0;else{g=+(d|0);w=l+12|0;a=z;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;d=l+56|0;f[d>>2]=0;f[l>>2]=11116;p[l+64>>3]=h;p[l+72>>3]=i;p[l+80>>3]=g;p[l+88>>3]=1.0;x=0;Ga(459,l+96|0,r|0);z=x;x=0;if(z&1){d=Ya()|0;break}f[l+108>>2]=0;f[d>>2]=3;if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[e>>0]|0)<0)Hta(f[B>>2]|0);if((b[k>>0]|0)<0)Hta(f[C>>2]|0);if((b[j>>0]|0)<0)Hta(f[y>>2]|0);d=l;e=98;break a}while(0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0)}Hta(l)}if((b[e>>0]|0)<0)Hta(f[B>>2]|0)}if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0)}e=101;break}case 9:{x=0;Ka(4,z|0,c|0,1,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;Ka(4,C|0,c|0,3,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;Ka(4,B|0,c|0,5,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;Ka(4,t|0,c|0,7,2,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{x=0;n=qa(318,112)|0;w=x;x=0;if(w&1){d=Ya()|0;e=t+11|0}else{w=q;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));j=z+11|0;h=+(Lea((b[j>>0]|0)<0?f[z>>2]|0:z,0,16)|0);k=C+11|0;i=+(Lea((b[k>>0]|0)<0?f[C>>2]|0:C,0,16)|0);l=B+11|0;m=+(Lea((b[l>>0]|0)<0?f[B>>2]|0:B,0,16)|0);e=t+11|0;d=Lea((b[e>>0]|0)<0?f[t>>2]|0:t,0,16)|0;x=0;Ga(459,s|0,c|0);w=x;x=0;if(w&1)d=Ya()|0;else{w=y;a=q;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));x=0;Fa(427,n|0);w=x;x=0;do if(w&1)d=Ya()|0;else{g=+(d|0)/255.0;w=n+12|0;a=y;v=w+40|0;do{f[w>>2]=f[a>>2];w=w+4|0;a=a+4|0}while((w|0)<(v|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;d=n+56|0;f[d>>2]=0;f[n>>2]=11116;p[n+64>>3]=h;p[n+72>>3]=i;p[n+80>>3]=m;p[n+88>>3]=g;x=0;Ga(459,n+96|0,s|0);y=x;x=0;if(y&1){d=Ya()|0;break}f[n+108>>2]=0;f[d>>2]=3;if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[e>>0]|0)<0)Hta(f[t>>2]|0);if((b[l>>0]|0)<0)Hta(f[B>>2]|0);if((b[k>>0]|0)<0)Hta(f[C>>2]|0);if((b[j>>0]|0)<0)Hta(f[z>>2]|0);d=n;e=98;break a}while(0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0)}Hta(n)}if((b[e>>0]|0)<0)Hta(f[t>>2]|0)}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0)}e=101;break}default:{d=0;e=98}}while(0);if((e|0)==98){b[d+54>>0]=0;b[d+52>>0]=0;if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);D=d;u=A;return D|0}else if((e|0)==101){if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);D=d;jb(D|0)}return 0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;if((ec|0)==1)ec=3}Vc(hc+45912|0)}function wf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;J=0;E=u;u=u+304|0;v=E+80|0;H=E+40|0;D=E;d=E+288|0;o=E+280|0;l=E+272|0;m=E+264|0;t=E+256|0;r=E+248|0;s=E+240|0;w=E+232|0;y=E+192|0;B=E+184|0;z=E+176|0;C=E+136|0;G=E+128|0;F=E+120|0;if(!c){J=0;u=E;return J|0}q=c+68|0;qV(d,f[q>>2]|0);f[d>>2]=7280;A=(f[d+4>>2]|0)==0;_P(d);if(A){J=0;u=E;return J|0}p=VN(88)|0;n=a+24|0;k=a+28|0;d=f[k>>2]|0;if((d|0)==(f[n>>2]|0))d=f[a+12>>2]|0;else d=d+-4|0;i=H;d=(f[d>>2]|0)+12|0;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Fa(427,p|0);A=x;x=0;do if(A&1)d=Ya()|0;else{i=p+12|0;d=H;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));f[p>>2]=6976;f[p+52>>2]=0;f[p+56>>2]=0;b[p+60>>0]=0;d=p+64|0;f[d>>2]=6936;i=p+68|0;j=p+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);A=x;x=0;if(A&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{J=g+-8|0;f[j>>2]=J;Kc[f[f[J>>2]>>2]&511](J);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[p>>2]=6780;f[d>>2]=6880;b[p+84>>0]=0;d=f[k>>2]|0;if((d|0)==(f[n>>2]|0))d=f[a+12>>2]|0;else d=d+-4|0;A=f[d>>2]|0;qV(H,Wba(vc[f[(f[A>>2]|0)+12>>2]&511](A)|0)|0);f[H>>2]=18608;x=0;A=qa(318,88)|0;j=x;x=0;a:do if(j&1)J=45;else{x=0;Ga(462,o|0,f[q>>2]|0);j=x;x=0;if(j&1)d=Ya()|0;else{f[o>>2]=7280;i=v;d=(f[o+4>>2]|0)+12|0;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Fa(427,A|0);j=x;x=0;do if(j&1)d=Ya()|0;else{i=A+12|0;d=v;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));f[A>>2]=6976;f[A+52>>2]=0;f[A+56>>2]=0;b[A+60>>0]=0;h=A+64|0;f[h>>2]=6936;i=A+68|0;j=A+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);g=x;x=0;if(g&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{G=g+-8|0;f[j>>2]=G;Kc[f[f[G>>2]>>2]&511](G);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[A>>2]=6780;f[h>>2]=6880;b[A+84>>0]=0;_P(o);g=H+4|0;d=f[g>>2]|0;b:do if(d|0){x=0;Ga(462,m|0,p|0);p=x;x=0;if(p&1){J=45;break a}f[m>>2]=7280;e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))J=31;else{x=0;Fa(429,e|0);p=x;x=0;if(!(p&1))J=31}do if((J|0)==31){f[d>>2]=f[m+4>>2];x=0;Fa(430,e|0);p=x;x=0;if(!(p&1)){x=0;Ga(462,l|0,f[d>>2]|0);p=x;x=0;if(p&1)break;f[l>>2]=7280;_P(l);_P(m);e=f[g>>2]|0;d=f[k>>2]|0;if((d|0)==(f[n>>2]|0))d=f[a+12>>2]|0;else d=d+-4|0;f[e+56>>2]=f[(f[d>>2]|0)+56>>2];x=0;Ga(462,t|0,f[e+68>>2]|0);p=x;x=0;if(p&1){J=45;break a}f[t>>2]=7280;d=(f[t+4>>2]|0)+64|0;e=f[(f[d>>2]|0)+24>>2]|0;x=0;Ga(462,r|0,f[q>>2]|0);q=x;x=0;do if(q&1)d=Ya()|0;else{f[r>>2]=7280;q=f[r+4>>2]|0;x=0;Ga(e|0,d|0,((q|0)==0?0:q+64|0)|0);q=x;x=0;if(q&1){d=Ya()|0;_P(r);break}_P(r);_P(t);d=f[(f[h>>2]|0)+20>>2]|0;x=0;Ga(462,w|0,f[g>>2]|0);t=x;x=0;if(t&1){J=45;break a}f[w>>2]=18608;x=0;Ga(462,s|0,f[w+4>>2]|0);t=x;x=0;do if(t&1)d=Ya()|0;else{f[s>>2]=6920;x=0;Ga(d|0,h|0,s|0);t=x;x=0;if(t&1){d=Ya()|0;_P(s);break}else{_P(s);_P(w);break b}}while(0);_P(w);break a}while(0);_P(t);break a}}while(0);d=Ya()|0;_P(m);break a}while(0);x=0;g=qa(318,80)|0;w=x;x=0;if(w&1){d=Ya()|0;break a}i=y;d=c+12|0;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Ga(462,B|0,A|0);A=x;x=0;if(A&1)d=Ya()|0;else{f[B>>2]=7280;x=0;Ga(462,z|0,f[c+76>>2]|0);A=x;x=0;do if(A&1)d=Ya()|0;else{f[z>>2]=13136;x=0;i=v;d=y;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));Ja(40,g|0,v|0,B|0,z|0);A=x;x=0;if(A&1){d=Ya()|0;_P(z);break}_P(z);_P(B);x=0;e=qa(318,76)|0;B=x;x=0;if(B&1){d=Ya()|0;break a}i=C;d=g+12|0;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Ga(462,G|0,g|0);B=x;x=0;if(B&1)d=Ya()|0;else{f[G>>2]=6920;x=0;Ga(462,F|0,0);B=x;x=0;if(B&1)d=Ya()|0;else{f[F>>2]=6920;i=D;d=C;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Fa(427,e|0);C=x;x=0;do if(C&1)d=Ya()|0;else{i=e+12|0;d=D;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));f[e+52>>2]=6;f[e+56>>2]=0;b[e+60>>0]=0;f[e>>2]=7296;d=e+64|0;x=0;Ga(462,d|0,f[G+4>>2]|0);D=x;x=0;if(D&1){d=Ya()|0;break}f[d>>2]=6920;b[e+72>>0]=(f[F+4>>2]|0)==0&1;_P(F);_P(G);_P(H);J=e;u=E;return J|0}while(0);_P(F)}_P(G)}Hta(e);break a}while(0);_P(B)}Hta(g);break a}while(0);_P(o)}Hta(A)}while(0);if((J|0)==45)d=Ya()|0;_P(H);J=d;jb(J|0)}while(0);Hta(p);J=d;jb(J|0);return 0}function xf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,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=0;H=u;u=u+256|0;w=H+208|0;Y=H+184|0;z=H+200|0;V=H+160|0;A=H+172|0;U=H+148|0;C=H+136|0;E=H+124|0;G=H+112|0;J=H+100|0;L=H+88|0;N=H+76|0;P=H+64|0;R=H+52|0;T=H+40|0;y=H;e=c+64|0;g=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>3;a:do if(g|0){h=w+4|0;d=0;while(1){X=(xc[f[(f[e>>2]|0)+16>>2]&2047](e,d)|0)+4|0;qV(w,f[X>>2]|0);f[w>>2]=6920;X=f[h>>2]|0;x=0;Ga(f[(f[X>>2]|0)+44>>2]|0,X|0,a|0);X=x;x=0;if(X&1)break;_P(w);d=d+1|0;if(d>>>0>=g>>>0)break a}Y=Ya()|0;_P(w);jb(Y|0)}while(0);if(!(b[c+84>>0]|0)){u=H;return}ys(Y,f[a+4>>2]|0);d=f[Y>>2]|0;X=Y+4|0;o=f[X>>2]|0;b:do if((d|0)!=(o|0)){S=V+11|0;p=V+4|0;q=C+4|0;r=C+8|0;Q=U+11|0;s=U+4|0;k=a+8|0;t=E+11|0;v=G+11|0;B=J+11|0;D=L+11|0;F=N+11|0;K=P+11|0;M=R+11|0;O=T+11|0;l=A+4|0;m=A+8|0;n=z+4|0;while(1){c=f[d+4>>2]|0;if(!c){g=0;e=0}else{x=0;Ga(652,z|0,c|0);j=x;x=0;if(j&1){W=19;break}e=f[n>>2]|0;_P(z);g=e}c=f[d+12>>2]|0;if(!c){i=0;j=0;W=23}else if(!(b[c+104>>0]|0))if(!(b[c+62>>0]|0)){i=c;j=1;W=23}if((W|0)==23){W=0;if(!g){f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;b[S>>0]=4;f[V>>2]=1280070990;b[p>>0]=0}else{c=f[(f[e>>2]|0)+28>>2]|0;f[A>>2]=0;f[l>>2]=5;b[m>>0]=0;x=0;e=w;h=A;a=e+12|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(a|0));Ia(c|0,V|0,g|0,w|0);a=x;x=0;if(a&1){W=63;break}}if(j){c=f[(f[i>>2]|0)+28>>2]|0;f[C>>2]=0;f[q>>2]=5;b[r>>0]=0;x=0;e=w;h=C;a=e+12|0;do{b[e>>0]=b[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(a|0));Ia(c|0,U|0,i|0,w|0);a=x;x=0;if(a&1){W=64;break}}else{f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;b[Q>>0]=4;f[U>>2]=1280070990;b[s>>0]=0}x=0;Ia(92,T|0,53046,V|0);a=x;x=0;if(a&1){W=65;break}x=0;c=sa(991,T|0,49585)|0;a=x;x=0;if(a&1){W=66;break}f[R>>2]=f[c>>2];f[R+4>>2]=f[c+4>>2];f[R+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=b[Q>>0]|0;a=c<<24>>24<0;x=0;c=ta(41,R|0,(a?f[U>>2]|0:U)|0,(a?f[s>>2]|0:c&255)|0)|0;a=x;x=0;if(a&1){W=67;break}f[P>>2]=f[c>>2];f[P+4>>2]=f[c+4>>2];f[P+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,P|0,49607)|0;a=x;x=0;if(a&1){W=68;break}f[N>>2]=f[c>>2];f[N+4>>2]=f[c+4>>2];f[N+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=b[Q>>0]|0;a=c<<24>>24<0;x=0;c=ta(41,N|0,(a?f[U>>2]|0:U)|0,(a?f[s>>2]|0:c&255)|0)|0;a=x;x=0;if(a&1){W=69;break}f[L>>2]=f[c>>2];f[L+4>>2]=f[c+4>>2];f[L+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,L|0,49625)|0;a=x;x=0;if(a&1){W=70;break}f[J>>2]=f[c>>2];f[J+4>>2]=f[c+4>>2];f[J+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=b[Q>>0]|0;a=c<<24>>24<0;x=0;c=ta(41,J|0,(a?f[U>>2]|0:U)|0,(a?f[s>>2]|0:c&255)|0)|0;a=x;x=0;if(a&1){W=71;break}f[G>>2]=f[c>>2];f[G+4>>2]=f[c+4>>2];f[G+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,G|0,49656)|0;a=x;x=0;if(a&1){W=72;break}f[E>>2]=f[c>>2];f[E+4>>2]=f[c+4>>2];f[E+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;if(j){e=y;h=i+12|0;a=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(a|0))}else{x=0;Ja(14,y|0,0,0,-1);j=x;x=0;if(j&1){W=73;break}}c=f[(f[(f[k>>2]|0)+4>>2]|0)+8>>2]|0;x=0;e=w;h=y;a=e+40|0;do{f[e>>2]=f[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(a|0));Ia(100,E|0,w|0,c|0);j=x;x=0;if(j&1){W=73;break}if((b[t>>0]|0)<0)Hta(f[E>>2]|0);if((b[v>>0]|0)<0)Hta(f[G>>2]|0);if((b[B>>0]|0)<0)Hta(f[J>>2]|0);if((b[D>>0]|0)<0)Hta(f[L>>2]|0);if((b[F>>0]|0)<0)Hta(f[N>>2]|0);if((b[K>>0]|0)<0)Hta(f[P>>2]|0);if((b[M>>0]|0)<0)Hta(f[R>>2]|0);if((b[O>>0]|0)<0)Hta(f[T>>2]|0);if((b[Q>>0]|0)<0)Hta(f[U>>2]|0);if((b[S>>0]|0)<0)Hta(f[V>>2]|0)}d=d+16|0;if((d|0)==(o|0)){W=9;break}}switch(W|0){case 9:{d=f[Y>>2]|0;break b}case 19:{g=Ya()|0;c=I;break}case 63:{d=Ya()|0;c=I;W=93;break}case 64:{d=Ya()|0;c=I;W=91;break}case 65:{d=Ya()|0;c=I;W=89;break}case 66:{d=Ya()|0;c=I;W=87;break}case 67:{d=Ya()|0;c=I;W=85;break}case 68:{d=Ya()|0;c=I;W=83;break}case 69:{d=Ya()|0;c=I;W=81;break}case 70:{d=Ya()|0;c=I;W=79;break}case 71:{d=Ya()|0;c=I;W=77;break}case 72:{d=Ya()|0;c=I;W=75;break}case 73:{d=Ya()|0;c=I;if((b[t>>0]|0)<0){Hta(f[E>>2]|0);W=75}else W=75;break}}if((W|0)==75)if((b[v>>0]|0)<0){Hta(f[G>>2]|0);W=77}else W=77;if((W|0)==77)if((b[B>>0]|0)<0){Hta(f[J>>2]|0);W=79}else W=79;if((W|0)==79)if((b[D>>0]|0)<0){Hta(f[L>>2]|0);W=81}else W=81;if((W|0)==81)if((b[F>>0]|0)<0){Hta(f[N>>2]|0);W=83}else W=83;if((W|0)==83)if((b[K>>0]|0)<0){Hta(f[P>>2]|0);W=85}else W=85;if((W|0)==85)if((b[M>>0]|0)<0){Hta(f[R>>2]|0);W=87}else W=87;if((W|0)==87)if((b[O>>0]|0)<0){Hta(f[T>>2]|0);W=89}else W=89;if((W|0)==89)if((b[Q>>0]|0)<0){Hta(f[U>>2]|0);W=91}else W=91;if((W|0)==91)if((b[S>>0]|0)<0){Hta(f[V>>2]|0);W=93}else W=93;if((W|0)==93)g=d;d=f[Y>>2]|0;if(d|0){e=f[X>>2]|0;if((e|0)!=(d|0)){do{W=e+-16|0;f[X>>2]=W;_P(e+-8|0);_P(W);e=f[X>>2]|0}while((e|0)!=(d|0));d=f[Y>>2]|0}Hta(d)}Y=g;jb(Y|0)}while(0);if(d|0){c=f[X>>2]|0;if((c|0)!=(d|0)){do{W=c+-16|0;f[X>>2]=W;_P(c+-8|0);_P(W);c=f[X>>2]|0}while((c|0)!=(d|0));d=f[Y>>2]|0}Hta(d)}u=H;return}function yf(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0;w=0;r=u;u=u+224|0;v=r;A=r+208|0;z=r+144|0;c=r+168|0;l=r+156|0;y=r+92|0;k=r+104|0;n=r+80|0;s=r+72|0;p=r+64|0;q=r+48|0;t=r+40|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;m=z+11|0;b[m>>0]=4;f[z>>2]=1885433124;b[z+4>>0]=0;d=c;i=g;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));x=0;Ga(511,l|0,h|0);o=x;x=0;if(o&1)c=Ya()|0;else{x=0;d=v;i=c;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));c=ya(40,z|0,a|0,e|0,v|0,l|0,0)|0;o=x;x=0;if(!(o&1)){x=0;Ga(462,A|0,c|0);o=x;x=0;if(!(o&1)){f[A>>2]=16784;c=f[l>>2]|0;if(c|0){j=l+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[l>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[z>>2]|0);f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;l=y+11|0;b[l>>0]=5;b[y>>0]=b[40724]|0;b[y+1>>0]=b[40725]|0;b[y+2>>0]=b[40726]|0;b[y+3>>0]=b[40727]|0;b[y+4>>0]=b[40728]|0;b[y+5>>0]=0;d=k;i=g;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));x=0;Ga(511,n|0,h|0);o=x;x=0;do if(o&1){c=Ya()|0;w=51}else{x=0;d=v;i=k;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));c=wa(29,y|0,a|0,e|0,v|0,n|0)|0;o=x;x=0;if(!(o&1)){x=0;Ga(462,z|0,c|0);o=x;x=0;if(!(o&1)){f[z>>2]=7584;c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[l>>0]|0)<0)Hta(f[y>>2]|0);x=0;o=qa(318,108)|0;n=x;x=0;a:do if(n&1)c=Ya()|0;else{d=v;i=g;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));x=0;Fa(427,o|0);n=x;x=0;do if(n&1)c=Ya()|0;else{d=o+12|0;i=v;j=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(j|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;c=o+56|0;f[c>>2]=0;f[o>>2]=6516;n=o+60|0;x=0;Ga(560,n|0,1);g=x;x=0;if(g&1){c=Ya()|0;break}f[o>>2]=9700;f[n>>2]=9828;f[c>>2]=6;k=A+4|0;a=f[k>>2]|0;c=f[a+84>>2]|0;a=f[a+88>>2]|0;if((c|0)==(a|0)){_P(z);_P(A);u=r;return o|0}e=z+4|0;h=v+4|0;l=q+8|0;m=y+4|0;g=q+8|0;b:while(1){x=0;Ga(462,v|0,f[c+4>>2]|0);j=x;x=0;if(j&1){w=60;break}f[v>>2]=7696;i=f[e>>2]|0;i=(f[i+68>>2]|0)-(f[i+64>>2]|0)>>3;if(!i)w=69;else{d=0;do{x=0;Ga(462,s|0,f[h>>2]|0);j=x;x=0;if(j&1){w=61;break b}f[s>>2]=7696;x=0;Ia(106,p|0,f[e>>2]|0,d|0);j=x;x=0;if(j&1){w=66;break b}x=0;j=sa(1004,s|0,p|0)|0;B=x;x=0;if(B&1){w=67;break b}_P(p);_P(s);d=d+1|0}while(!(d>>>0>=i>>>0|j));if(!j)w=69}if((w|0)==69){w=0;d=f[k>>2]|0;x=0;Ga(462,t|0,f[h>>2]|0);B=x;x=0;if(B&1){w=76;break}f[t>>2]=7696;x=0;Ia(78,y|0,d+60|0,t|0);B=x;x=0;if(B&1){w=77;break}x=0;Ga(462,q|0,f[h>>2]|0);B=x;x=0;if(B&1){w=78;break}f[q>>2]=7696;x=0;Ga(462,l|0,f[m>>2]|0);B=x;x=0;if(B&1){w=73;break}f[l>>2]=7696;x=0;sa(1007,n|0,q|0)|0;B=x;x=0;if(B&1){w=80;break}_P(g);_P(q);_P(y);_P(t)}_P(v);c=c+8|0;if((c|0)==(a|0)){w=31;break}}switch(w|0){case 31:{_P(z);_P(A);u=r;return o|0}case 60:{c=Ya()|0;break}case 61:{c=Ya()|0;w=85;break}case 66:{c=Ya()|0;w=68;break}case 67:{c=Ya()|0;_P(p);w=68;break}case 73:{c=Ya()|0;_P(q);w=79;break}case 76:{c=Ya()|0;w=83;break}case 77:{c=Ya()|0;w=82;break}case 78:{c=Ya()|0;w=79;break}case 80:{c=Ya()|0;_P(g);_P(q);w=81;break}}if((w|0)==68){_P(s);w=85}else if((w|0)==79)w=81;if((w|0)==81){_P(y);w=82}if((w|0)==82){_P(t);w=83}if((w|0)==83)w=85;if((w|0)==85)_P(v);break a}while(0);Hta(o)}while(0);_P(z);break}}c=Ya()|0;k=I;d=f[n>>2]|0;if(!d)w=51;else{a=n+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d);w=51}}while(0);if((w|0)==51)if((b[l>>0]|0)<0)Hta(f[y>>2]|0);_P(A);B=c;jb(B|0)}}c=Ya()|0;k=I;d=f[l>>2]|0;if(d){a=l+4|0;i=f[a>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[a>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[a>>2]|0}else i=j}while((i|0)!=(d|0));d=f[l>>2]|0}Hta(d)}}if((b[m>>0]|0)<0)Hta(f[z>>2]|0);B=c;jb(B|0);return 0}function zf(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,v=0,w=0,y=0;r=0;y=u;u=u+128|0;s=y+60|0;w=y+64|0;q=y+48|0;p=y+40|0;j=y+32|0;m=y+24|0;n=y+8|0;o=y;f[s>>2]=c;t=a+28|0;v=f[t>>2]|0;h=c;do if(!c){g=0;d=0;r=79}else{l=f[407]|0;if((l|0)!=(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)){do if(vc[f[(f[c>>2]|0)+80>>2]&511](c)|0)if(!v)d=1;else{d=f[(f[(f[v>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[101]|0)!=(d|0)&(f[81]|0)==(d|0))if(b[v+84>>0]|0){d=0;break}d=(f[407]|0)!=(d|0)}else d=0;while(0);e=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[167]|0)==(e|0)|(f[199]|0)==(e|0)|(f[195]|0)==(e|0)|(f[191]|0)==(e|0)|(f[203]|0)==(e|0))break;g=d;d=(f[125]|0)==(e|0);r=79;break}n=a+4|0;BC(w,n);f[q>>2]=0;o=q+4|0;f[o>>2]=0;f[q+8>>2]=0;k=a+8|0;d=f[k>>2]|0;e=f[n>>2]|0;h=d-e>>2;a:do if(!h)r=5;else{i=q+8|0;b:do if((d|0)==(e|0))r=7;else{g=0;d=e;while(1){e=f[d+(g<<2)>>2]|0;f[p>>2]=e;x=0;Ga(462,j|0,e|0);e=x;x=0;if(e&1){r=14;break b}f[j>>2]=6920;x=0;d=sa(1043,c|0,j|0)|0;e=x;x=0;if(e&1)break;_P(j);do if(!d){d=f[o>>2]|0;if((d|0)==(f[i>>2]|0)){x=0;Ga(694,q|0,p|0);e=x;x=0;if(e&1){r=14;break b}else break}else{f[d>>2]=f[p>>2];f[o>>2]=(f[o>>2]|0)+4;break}}while(0);g=g+1|0;if(g>>>0>=h>>>0){r=5;break a}d=f[n>>2]|0;if((f[k>>2]|0)-d>>2>>>0<=g>>>0){r=7;break b}}d=Ya()|0;_P(j)}while(0);if((r|0)==7){x=0;Fa(432,n|0);x=0;r=14}if((r|0)==14)d=Ya()|0;h=d}while(0);c:do if((r|0)==5){if((n|0)!=(q|0)){x=0;Ia(148,n|0,f[q>>2]|0,f[o>>2]|0);c=x;x=0;if(c&1){h=Ya()|0;break}}d=f[k>>2]|0;g=f[n>>2]|0;e=d-g>>2;d:do if(e|0){h=e+-1|0;d=d-g>>2;e:do if(d>>>0>h>>>0){i=d;while(1){j=f[g+(h<<2)>>2]|0;if(e>>>0>1){d=e+-2|0;if(i>>>0<=d>>>0){r=26;break}e=f[g+(d<<2)>>2]|0;g=e}else{g=0;e=0}if(!j){d=0;e=0;r=37}else{x=0;d=qa(f[(f[j>>2]|0)+80>>2]|0,j|0)|0;c=x;x=0;if(c&1)break e;do if(d)if(!g)d=1;else{d=f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[101]|0)!=(d|0)&(f[81]|0)==(d|0))if(b[g+84>>0]|0){d=0;break}d=(l|0)!=(d|0)}else d=0;while(0);e=f[(f[(f[j>>2]|0)+-4>>2]|0)+4>>2]|0;if(!((f[167]|0)==(e|0)|(f[199]|0)==(e|0)|(f[195]|0)==(e|0)|(f[191]|0)==(e|0)|(f[203]|0)==(e|0))){e=(f[125]|0)==(e|0);r=37}}if((r|0)==37){r=0;if(!(d|e)){r=40;break}}if(!h)break d;g=f[n>>2]|0;d=h+-1|0;i=(f[k>>2]|0)-g>>2;if(i>>>0<=d>>>0){r=22;break e}else{e=h;h=d}}if((r|0)==26){x=0;Fa(432,n|0);x=0;break}else if((r|0)==40){f[t>>2]=j;break d}}else r=22;while(0);if((r|0)==22){x=0;Fa(432,n|0);x=0}h=Ya()|0;break c}while(0);s=f[s>>2]|0;x=0;Ga(462,m|0,f[((l|0)==(f[(f[(f[s>>2]|0)+-4>>2]|0)+4>>2]|0)?s:0)+68>>2]|0);s=x;x=0;do if(!(s&1)){f[m>>2]=7280;h=f[m+4>>2]|0;_P(m);f:do if(h|0){d=f[h+68>>2]|0;e=f[h+72>>2]|0;if((d|0)!=(e|0)){g=p+4|0;while(1){x=0;Ga(462,p|0,f[d+4>>2]|0);s=x;x=0;if(s&1){r=49;break}f[p>>2]=6920;s=f[g>>2]|0;x=0;sa(f[(f[s>>2]|0)+52>>2]|0,s|0,a|0)|0;s=x;x=0;if(s&1){r=50;break}_P(p);d=d+8|0;if((d|0)==(e|0))break f}if((r|0)==49)d=Ya()|0;else if((r|0)==50){d=Ya()|0;_P(p)}h=d;break c}}while(0);f[t>>2]=v;if((n|0)!=(w|0)){x=0;Ia(148,n|0,f[w>>2]|0,f[w+4>>2]|0);a=x;x=0;if(a&1)break}d=f[q>>2]|0;if(d|0){e=f[o>>2]|0;if((e|0)!=(d|0))f[o>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}g=f[w>>2]|0;if(g|0){d=w+4|0;e=f[d>>2]|0;if((e|0)!=(g|0))f[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Hta(g)}w=h;u=y;return w|0}while(0);h=Ya()|0}while(0);d=f[q>>2]|0;if(d|0){e=f[o>>2]|0;if((e|0)!=(d|0))f[o>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}g=f[w>>2]|0;if(g|0){d=w+4|0;e=f[d>>2]|0;if((e|0)!=(g|0))f[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Hta(g)}y=h;jb(y|0)}while(0);if((r|0)==79)if(!(g|d))f[t>>2]=h;m=a+8|0;d=f[m>>2]|0;if((d|0)==(f[a+12>>2]|0))RA(a+4|0,s);else{f[d>>2]=h;f[m>>2]=(f[m>>2]|0)+4}d=f[s>>2]|0;if(!d){d=0;r=104}else{r=f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0;e=(f[81]|0)==(r|0);g:do if((f[125]|0)==(r|0))if((b[d+72>>0]|0)==105){l=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;DP(w|0,d+12|0,40)|0;k=w+40|0;x=0;Ga(459,k|0,n|0);r=x;x=0;h:do if(r&1)d=Ya()|0;else{g=a+20|0;h=f[g>>2]|0;do if(h>>>0<(f[a+24>>2]|0)>>>0){i=h;j=w;c=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(c|0));r=h+40|0;f[r>>2]=f[k>>2];f[r+4>>2]=f[k+4>>2];f[r+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,a+16|0,w|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break h;Hta(f[k>>2]|0);break h}else{if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}}while(0);if((b[l>>0]|0)<0)Hta(f[n>>2]|0);break g}while(0);if((b[l>>0]|0)<0)Hta(f[n>>2]|0);y=d;jb(y|0)}while(0);if(e)r=106;else{d=f[s>>2]|0;r=104}}if((r|0)==104){d=Wba(d)|0;if(!d)d=0;else{qV(o,f[d+68>>2]|0);f[o>>2]=7280;d=f[o+4>>2]|0;_P(o);if(!d)d=0;else r=106}}i:do if((r|0)==106){e=f[d+68>>2]|0;g=f[d+72>>2]|0;if((e|0)!=(g|0)){h=w+4|0;while(1){qV(w,f[e+4>>2]|0);f[w>>2]=6920;r=f[h>>2]|0;x=0;sa(f[(f[r>>2]|0)+52>>2]|0,r|0,a|0)|0;r=x;x=0;if(r&1)break;_P(w);e=e+8|0;if((e|0)==(g|0))break i}y=Ya()|0;_P(w);jb(y|0)}}while(0);f[t>>2]=v;f[m>>2]=(f[m>>2]|0)+-4;e=f[s>>2]|0;if(!e){w=d;u=y;return w|0}if((f[125]|0)!=(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){w=d;u=y;return w|0}if((b[e+72>>0]|0)!=105){w=d;u=y;return w|0}h=a+20|0;g=f[h>>2]|0;i=g+-52|0;while(1){e=g+-52|0;f[h>>2]=e;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);e=f[h>>2]|0}if((e|0)==(i|0))break;else g=e}u=y;return d|0}function Af(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0;A=0;p=u;u=u+224|0;q=p+176|0;t=p+136|0;z=p+112|0;B=p+88|0;m=p+124|0;n=p+100|0;y=p+24|0;w=p;o=p+48|0;v=p+36|0;s=p+16|0;r=p+8|0;k=c+172|0;g=f[k>>2]|0;l=c+176|0;i=f[l>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;j=i-g|0;if(j>>>0>4294967279)CO(B);if(j>>>0<11){b[B+11>>0]=j;e=B}else{h=j+16&-16;e=VN(h)|0;f[B>>2]=e;f[B+8>>2]=h|-2147483648;f[B+4>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;e=ta(47,c|0,1,0)|0;j=x;x=0;a:do if(j&1)e=Ya()|0;else{b:do if(!e){x=0;Ia(92,t|0,45863,B|0);j=x;x=0;if(j&1)e=Ya()|0;else{x=0;e=sa(991,t|0,45880)|0;j=x;x=0;if(j&1)e=Ya()|0;else{f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;Ga(459,z|0,m|0);j=x;x=0;do if(j&1)e=Ya()|0;else{j=c+108|0;x=0;f[q>>2]=f[j>>2];f[q+4>>2]=f[j+4>>2];f[q+8>>2]=f[j+8>>2];Ia(113,c|0,z|0,q|0);j=x;x=0;if(j&1){e=Ya()|0;if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0);break}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);break b}while(0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0)}break a}while(0);g=f[k>>2]|0;i=f[l>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;j=i-g|0;do if(j>>>0>4294967279){x=0;Fa(428,q|0);x=0;A=73}else{if(j>>>0<11){b[q+11>>0]=j;e=q}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;m=x;x=0;if(m&1){A=73;break}f[q>>2]=e;f[q+8>>2]=h|-2147483648;f[q+4>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;Ga(558,z|0,q|0);m=x;x=0;if(m&1){e=Ya()|0;if((b[q+11>>0]|0)>=0){A=76;break}Hta(f[q>>2]|0);A=76;break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);c:do if((d|0)==1){g=z+11|0;h=b[g>>0]|0;i=z+4|0;e=f[i>>2]|0;if(((h<<24>>24<0?e:h&255)|0)==3){x=0;e=wa(21,z|0,0,-1,53340,3)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(e|0){h=b[g>>0]|0;e=f[i>>2]|0;A=51}}else A=51;do if((A|0)==51){if(((h<<24>>24<0?e:h&255)|0)==2){x=0;e=wa(21,z|0,0,-1,45892,2)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(!e)break;h=b[g>>0]|0;e=f[i>>2]|0}if(((h<<24>>24<0?e:h&255)|0)!=3){A=85;break c}x=0;e=wa(21,z|0,0,-1,49860,3)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}else if(!e)break;else{A=85;break c}}while(0);x=0;Ia(92,y|0,45895,z|0);m=x;x=0;if(m&1)e=Ya()|0;else{x=0;e=sa(991,y|0,53419)|0;m=x;x=0;do if(m&1)e=Ya()|0;else{f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;Ga(459,t|0,n|0);m=x;x=0;do if(m&1)e=Ya()|0;else{m=c+108|0;x=0;f[q>>2]=f[m>>2];f[q+4>>2]=f[m+4>>2];f[q+8>>2]=f[m+8>>2];Ia(113,c|0,t|0,q|0);m=x;x=0;if(m&1){e=Ya()|0;if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0);break}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);A=85;break c}while(0);if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0)}while(0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0)}}else A=85;while(0);if((A|0)==85){e=t;g=c+108|0;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(559,y|0,c|0);n=x;x=0;if(n&1)e=Ya()|0;else{h=c+56|0;d:do if(!d){f[q>>2]=1;e=c+60|0;g=f[e>>2]|0;do if(g>>>0<(f[c+64>>2]|0)>>>0){f[g>>2]=1;f[e>>2]=g+4}else{x=0;Ga(574,h|0,q|0);n=x;x=0;if(!(n&1))break;e=Ya()|0;break d}while(0);A=98}else{f[q>>2]=2;e=c+60|0;g=f[e>>2]|0;do if(g>>>0<(f[c+64>>2]|0)>>>0){f[g>>2]=2;f[e>>2]=g+4}else{x=0;Ga(574,h|0,q|0);n=x;x=0;if(!(n&1))break;e=Ya()|0;break d}while(0);A=98}while(0);if((A|0)==98){x=0;Ia(123,w|0,c|0,0);n=x;x=0;if(n&1)e=Ya()|0;else{i=c+60|0;f[i>>2]=(f[i>>2]|0)+-4;x=0;i=qa(318,120)|0;c=x;x=0;e:do if(c&1)e=Ya()|0;else{e=o;g=t;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));x=0;Ga(459,v|0,z|0);t=x;x=0;do if(t&1)e=Ya()|0;else{x=0;Ga(462,s|0,f[y+4>>2]|0);t=x;x=0;if(t&1){e=Ya()|0;g=1}else{f[s>>2]=9264;x=0;Ga(462,r|0,f[w+4>>2]|0);t=x;x=0;if(t&1){e=Ya()|0;g=1}else{f[r>>2]=7280;x=0;e=q;g=o;h=e+40|0;do{f[e>>2]=f[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));La(15,i|0,q|0,v|0,s|0,r|0,d|0);t=x;x=0;do if(t&1)e=1;else{x=0;Ga(462,a|0,i|0);t=x;x=0;if(t&1){e=0;break}f[a>>2]=10712;_P(r);_P(s);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);_P(w);_P(y);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[B+11>>0]|0)>=0){u=p;return}Hta(f[B>>2]|0);u=p;return}while(0);t=Ya()|0;_P(r);g=e;e=t}_P(s)}if((b[v+11>>0]|0)<0){Hta(f[v>>2]|0);if(g)break;else break e}else if(g)break;else break e}while(0);Hta(i)}while(0);_P(w)}}_P(y)}g=z+11|0}if((b[g>>0]|0)<0)Hta(f[z>>2]|0)}while(0);if((A|0)==73){e=Ya()|0;A=76}}while(0);if((b[B+11>>0]|0)>=0)jb(e|0);Hta(f[B>>2]|0);jb(e|0)}function Bf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,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=0;M=u;u=u+64|0;N=M+28|0;K=M;UE(a);L=a+20|0;i=f[L>>2]|0;O=a+24|0;n=f[O>>2]|0;o=(n|0)==0;if(!o)ega(n);x=0;Fa(451,N|0);J=x;x=0;do if(J&1){e=Ya()|0;p=32}else{k=i+8|0;g=f[k>>2]|0;l=i+4|0;e=f[l>>2]|0;J=g-e>>2;j=i+16|0;h=f[j>>2]|0;m=i+20|0;d=f[m>>2]|0;if((((J|0)==0?0:(J*146|0)+-1|0)|0)==(d+h|0)){x=0;Fa(433,i|0);J=x;x=0;if(!(J&1)){d=f[m>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0;e=f[l>>2]|0;p=7}}else p=7;if((p|0)==7){d=d+h|0;if((g|0)==(e|0))d=0;else d=(f[e+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[d>>2]=f[N>>2];f[d+4>>2]=f[N+4>>2];f[d+8>>2]=f[N+8>>2];e=d+12|0;x=0;Ga(462,e|0,f[N+16>>2]|0);J=x;x=0;if(!(J&1)){f[e>>2]=15556;I=N+20|0;f[d+20>>2]=f[I>>2];J=N+24|0;f[d+24>>2]=f[J>>2];f[I>>2]=0;f[J>>2]=0;f[m>>2]=(f[m>>2]|0)+1;_P(N+12|0);if(!o)QZ(n);i=c+20|0;e=f[i>>2]|0;j=c+24|0;g=f[j>>2]|0;h=(g|0)==0;if(!h)ega(g);J=f[e+4>>2]|0;d=f[e+16>>2]|0;l=J+(((d>>>0)/146|0)<<2)|0;if((f[e+8>>2]|0)==(J|0))k=0;else k=(f[l>>2]|0)+(((d>>>0)%146|0)*28|0)|0;if(!h)QZ(g);g=f[i>>2]|0;h=f[j>>2]|0;i=(h|0)==0;if(!i)ega(h);d=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;e=f[g+4>>2]|0;if((f[g+8>>2]|0)==(e|0))F=0;else F=(f[e+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;if(!i)QZ(h);y=K+20|0;G=K+24|0;z=N+20|0;I=N+24|0;A=K+16|0;H=K+12|0;B=a+12|0;C=a+16|0;D=N+16|0;E=N+20|0;J=N+12|0;w=l;d=k;a:while(1){do{if((F|0)==(d|0)){p=27;break a}x=0;Fa(451,N|0);v=x;x=0;if(v&1){p=57;break a}h=d+20|0;e=f[h>>2]|0;k=d+24|0;i=f[k>>2]|0;j=(i|0)==0;if(!j)ega(i);v=f[e+4>>2]|0;g=f[e+16>>2]|0;l=v+(((g>>>0)/146|0)<<2)|0;if((f[e+8>>2]|0)==(v|0))e=0;else e=(f[l>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!j)QZ(i);i=f[h>>2]|0;j=f[k>>2]|0;k=(j|0)==0;if(!k)ega(j);g=(f[i+16>>2]|0)+(f[i+20>>2]|0)|0;h=f[i+4>>2]|0;if((f[i+8>>2]|0)==(h|0))v=0;else v=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!k)QZ(j);t=l;b:while(1){do{if((v|0)==(e|0))break b;g=f[L>>2]|0;i=f[O>>2]|0;j=(i|0)==0;if(!j)ega(i);s=f[g+4>>2]|0;h=f[g+16>>2]|0;m=s+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(s|0))g=0;else g=(f[m>>2]|0)+(((h>>>0)%146|0)*28|0)|0;if(!j)QZ(i);h=f[L>>2]|0;k=f[O>>2]|0;l=(k|0)==0;if(!l)ega(k);i=(f[h+16>>2]|0)+(f[h+20>>2]|0)|0;j=f[h+4>>2]|0;if((f[h+8>>2]|0)==(j|0))s=0;else s=(f[j+(((i>>>0)/146|0)<<2)>>2]|0)+(((i>>>0)%146|0)*28|0)|0;if(!l)QZ(k);c:while(1){do{if((s|0)==(g|0))break c;x=0;Fa(451,K|0);r=x;x=0;if(r&1){p=97;break a}b[K>>0]=b[d>>0]|0;x=0;Ga(507,K|0,g|0);r=x;x=0;if(r&1){p=98;break a}h=f[y>>2]|0;i=f[G>>2]|0;j=(i|0)==0;if(!j)ega(i);x=0;Ga(524,h|0,e|0);r=x;x=0;if(r&1){p=99;break a}if(!j)QZ(i);h=f[z>>2]|0;q=f[I>>2]|0;r=(q|0)==0;if(!r)ega(q);n=h+8|0;j=f[n>>2]|0;o=h+4|0;i=f[o>>2]|0;P=j-i>>2;l=h+16|0;c=f[l>>2]|0;p=h+20|0;k=f[p>>2]|0;if((((P|0)==0?0:(P*146|0)+-1|0)|0)==(k+c|0)){x=0;Fa(433,h|0);P=x;x=0;if(P&1){p=101;break a}k=f[p>>2]|0;h=f[l>>2]|0;j=f[n>>2]|0;i=f[o>>2]|0}else h=c;h=k+h|0;if((j|0)==(i|0))i=0;else i=(f[i+(((h>>>0)/146|0)<<2)>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[i>>2]=f[K>>2];f[i+4>>2]=f[K+4>>2];f[i+8>>2]=f[K+8>>2];h=i+12|0;x=0;Ga(462,h|0,f[A>>2]|0);P=x;x=0;if(P&1){p=101;break a}f[h>>2]=15556;f[i+20>>2]=f[y>>2];h=f[G>>2]|0;f[i+24>>2]=h;if(h|0)ega(h);f[p>>2]=(f[p>>2]|0)+1;if(!r)QZ(q);h=f[G>>2]|0;if(h|0)QZ(h);_P(H);g=g+28|0}while((g-(f[m>>2]|0)|0)!=4088);g=m+4|0;m=g;g=f[g>>2]|0}e=e+28|0}while((e-(f[t>>2]|0)|0)!=4088);e=t+4|0;t=e;e=f[e>>2]|0}f[a>>2]=f[N>>2];f[a+4>>2]=f[N+4>>2];f[a+8>>2]=f[N+8>>2];if(f[C>>2]|0){x=0;Fa(429,B|0);P=x;x=0;if(P&1){p=111;break a}}f[C>>2]=f[D>>2];x=0;Fa(430,B|0);P=x;x=0;if(P&1){p=111;break a}e=f[E>>2]|0;g=f[I>>2]|0;if(g|0)ega(g);f[L>>2]=e;e=f[O>>2]|0;f[O>>2]=g;if(e|0)QZ(e);e=f[I>>2]|0;if(e|0)QZ(e);_P(J);d=d+28|0}while((d-(f[w>>2]|0)|0)!=4088);d=w+4|0;w=d;d=f[d>>2]|0}if((p|0)==27){u=M;return}else if((p|0)==57)d=Ya()|0;else if((p|0)==97){d=Ya()|0;p=106}else if((p|0)==98){d=Ya()|0;p=103}else if((p|0)==99){d=Ya()|0;if(j)p=103;else{QZ(i);p=103}}else if((p|0)==101){d=Ya()|0;if(r)p=103;else{QZ(q);p=103}}else if((p|0)==111){d=Ya()|0;p=112}if((p|0)==103){e=f[G>>2]|0;if(e|0)QZ(e);_P(H);p=106}if((p|0)==106)p=112;if((p|0)==112){e=f[I>>2]|0;if(e|0)QZ(e);_P(J)}e=d;break}}e=Ya()|0;d=f[N+24>>2]|0;if(d|0)QZ(d);_P(N+12|0);p=32}while(0);if((p|0)==32)if(!o)QZ(n);d=f[O>>2]|0;if(!d){P=a+12|0;_P(P);jb(e|0)}QZ(d);P=a+12|0;_P(P);jb(e|0)}function Cf(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,v=0,w=0,y=0,z=0,A=0,B=0;B=0;t=u;u=u+320|0;l=t+40|0;z=t+296|0;y=t;A=t+232|0;d=t+256|0;j=t+240|0;e=t+192|0;m=t+184|0;n=t+144|0;r=t+136|0;s=t+128|0;o=t+120|0;p=t+112|0;q=t+104|0;v=t+96|0;w=t+80|0;k=VN(104)|0;x=0;Ja(14,d|0,49421,0,-1);i=x;x=0;do if(i&1)d=Ya()|0;else{f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=j+11|0;b[g>>0]=4;f[j>>2]=1886217588;b[j+4>>0]=0;i=y;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Ga(459,z|0,j|0);i=x;x=0;do if(i&1){d=1;B=47}else{x=0;i=l;d=y;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));Ia(88,k|0,l|0,z|0);i=x;x=0;if(i&1){d=Ya()|0;if((b[z+11>>0]|0)>=0){e=1;break}Hta(f[z>>2]|0);e=1;break}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);f[k>>2]=14212;x=0;Ga(462,A|0,k|0);i=x;x=0;if(i&1){d=0;B=47}else{f[A>>2]=16832;if((b[g>>0]|0)<0)Hta(f[j>>2]|0);x=0;k=qa(318,108)|0;j=x;x=0;a:do if(j&1)B=52;else{x=0;Ja(14,e|0,49421,0,-1);j=x;x=0;do if(j&1)B=53;else{i=l;d=e;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));x=0;Fa(427,k|0);j=x;x=0;if(j&1)B=53;else{i=k+12|0;d=l;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;f[k>>2]=15620;b[k+60>>0]=0;b[k+61>>0]=0;b[k+62>>0]=0;f[k+64>>2]=0;f[k+68>>2]=0;f[k+56>>2]=7;d=k+72|0;f[d>>2]=15516;i=k+76|0;j=k+80|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(513,i|0,1);h=x;x=0;if(h&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{z=g+-8|0;f[j>>2]=z;Kc[f[f[z>>2]>>2]&511](z);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=15300;f[d>>2]=15476;j=k+96|0;f[j>>2]=0;f[k+100>>2]=0;f[k+92>>2]=j;b[k+104>>0]=0;b[k+105>>0]=0;x=0;Ga(462,z|0,k|0);k=x;x=0;if(k&1){B=52;break a}f[z>>2]=15572;i=z+4|0;d=f[i>>2]|0;e=d+76|0;x=0;Ga(462,m|0,f[A+4>>2]|0);k=x;x=0;b:do if(k&1){d=Ya()|0;B=59}else{f[m>>2]=16832;x=0;Ga(462,l|0,f[m+4>>2]|0);k=x;x=0;do if(k&1)d=Ya()|0;else{f[l>>2]=13852;g=d+80|0;h=f[g>>2]|0;do if(h>>>0<(f[d+84>>2]|0)>>>0){x=0;Ga(462,h|0,f[l+4>>2]|0);k=x;x=0;if(k&1){B=57;break}f[h>>2]=13852;f[g>>2]=(f[g>>2]|0)+8}else{x=0;Ga(521,e|0,l|0);k=x;x=0;if(k&1)B=57}while(0);if((B|0)==57){d=Ya()|0;_P(l);break}_P(l);_P(m);x=0;g=qa(318,100)|0;m=x;x=0;c:do if(m&1)d=Ya()|0;else{x=0;Ja(14,n|0,49421,0,-1);m=x;x=0;do if(m&1)B=61;else{x=0;Ga(462,r|0,f[i>>2]|0);m=x;x=0;if(m&1){B=61;break}f[r>>2]=15572;x=0;Ga(462,s|0,0);m=x;x=0;if(m&1){d=Ya()|0;_P(r);break}f[s>>2]=15556;x=0;Ga(462,o|0,0);m=x;x=0;if(m&1){d=Ya()|0;e=1}else{f[o>>2]=7904;x=0;i=l;d=n;h=i+40|0;do{f[i>>2]=f[d>>2];i=i+4|0;d=d+4|0}while((i|0)<(h|0));La(10,g|0,l|0,0,r|0,s|0,o|0);n=x;x=0;do if(n&1)d=1;else{x=0;Ga(462,y|0,g|0);n=x;x=0;if(n&1){d=0;break}f[y>>2]=15556;_P(o);_P(s);_P(r);d=y+4|0;x=0;Ga(462,p|0,f[d>>2]|0);s=x;x=0;d:do if(s&1)B=67;else{f[p>>2]=15556;x=0;Ia(86,a|0,p|0,0);s=x;x=0;if(s&1){d=Ya()|0;_P(p);break}_P(p);x=0;Ga(462,q|0,f[d>>2]|0);s=x;x=0;if(s&1){B=67;break}f[q>>2]=15556;x=0;Ia(86,c|0,q|0,0);s=x;x=0;if(s&1){d=Ya()|0;_P(q);break}_P(q);d=f[(f[a>>2]|0)+144>>2]|0;x=0;Ga(462,v|0,c|0);s=x;x=0;do if(!(s&1)){f[v>>2]=15556;e=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;d=ta(d|0,a|0,v|0,w|0)|0;s=x;x=0;if(s&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[w>>2]|0);_P(v);break d}if((b[e>>0]|0)<0)Hta(f[w>>2]|0);_P(v);x=0;qa(322,a|0)|0;w=x;x=0;if(w&1)break;x=0;qa(322,c|0)|0;w=x;x=0;if(w&1)break;_P(y);_P(z);_P(A);u=t;return d|0}while(0);d=Ya()|0}while(0);if((B|0)==67)d=Ya()|0;_P(y);break c}while(0);y=Ya()|0;_P(o);e=d;d=y}_P(s);_P(r);if(!e)break c}while(0);if((B|0)==61)d=Ya()|0;Hta(g)}while(0);break b}while(0);_P(m);B=59}while(0);_P(z);break a}}while(0);if((B|0)==53)d=Ya()|0;Hta(k)}while(0);if((B|0)==52)d=Ya()|0;_P(A);B=d;jb(B|0)}}while(0);if((B|0)==47){B=Ya()|0;e=d;d=B}if((b[g>>0]|0)<0){Hta(f[j>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);Hta(k);B=d;jb(B|0);return 0}function Df(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.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;v=0;C=u;u=u+224|0;A=C+184|0;w=C;c=C+144|0;p=C+128|0;o=C+88|0;s=C+76|0;t=C+52|0;z=C+64|0;B=C+40|0;f[w+8>>2]=0;r=w+11|0;b[r>>0]=7;b[w>>0]=b[39749]|0;b[w+1>>0]=b[39750]|0;b[w+2>>0]=b[39751]|0;b[w+3>>0]=b[39752]|0;b[w+4>>0]=b[39753]|0;b[w+5>>0]=b[39754]|0;b[w+6>>0]=b[39755]|0;b[w+7>>0]=0;l=c;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;Ga(511,p|0,i|0);q=x;x=0;a:do if(q&1){c=Za(0)|0;v=56}else{x=0;l=A;m=c;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));q=wa(27,w|0,a|0,e|0,A|0,p|0)|0;n=x;x=0;if(n&1){c=Za(0)|0;d=f[p>>2]|0;if(!d){v=56;break}m=p+4|0;j=f[m>>2]|0;if((j|0)!=(d|0)){do{l=j+-52|0;f[m>>2]=l;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=l}while((j|0)!=(d|0));d=f[p>>2]|0}Hta(d);v=56;break}c=f[p>>2]|0;if(c|0){l=p+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{j=d+-52|0;f[l>>2]=j;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=j}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[r>>0]|0)<0)Hta(f[w>>2]|0);p=w+11|0;b[p>>0]=10;l=w;m=40062;n=l+10|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[w+10>>0]=0;l=o;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;Ga(511,s|0,i|0);r=x;x=0;do if(r&1)c=Za(0)|0;else{x=0;l=A;m=o;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=wa(27,w|0,a|0,e|0,A|0,s|0)|0;r=x;x=0;if(r&1){c=Za(0)|0;d=f[s>>2]|0;if(!d)break;m=s+4|0;j=f[m>>2]|0;if((j|0)!=(d|0)){do{l=j+-52|0;f[m>>2]=l;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=l}while((j|0)!=(d|0));d=f[s>>2]|0}Hta(d);break}c=f[s>>2]|0;if(c|0){l=s+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{j=d+-52|0;f[l>>2]=j;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=j}while((d|0)!=(c|0));c=f[s>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[w>>2]|0);x=0;Ga(459,A|0,q+64|0);s=x;x=0;if(s&1)c=Za(0)|0;else{x=0;Ka(5,w|0,A|0,0,0,1);s=x;x=0;if(s&1){c=Za(0)|0;d=A+11|0}else{d=A+11|0;if((b[d>>0]|0)<0){b[f[A>>2]>>0]=0;f[A+4>>2]=0}else{b[A>>0]=0;b[d>>0]=0}x=0;Ga(501,A|0,0);s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}f[A>>2]=f[w>>2];f[A+4>>2]=f[w+4>>2];f[A+8>>2]=f[w+8>>2];x=0;Ga(459,t|0,m+64|0);s=x;x=0;if(s&1)c=Za(0)|0;else{x=0;Ka(5,w|0,t|0,0,0,1);s=x;x=0;b:do if(s&1){c=Za(0)|0;j=t+11|0}else{q=t+11|0;if((b[q>>0]|0)<0){b[f[t>>2]>>0]=0;f[t+4>>2]=0}else{b[t>>0]=0;b[q>>0]=0}x=0;Ga(501,t|0,0);s=x;x=0;if(s&1){s=Za(0)|0;soa(s)}f[t>>2]=f[w>>2];f[t+4>>2]=f[w+4>>2];f[t+8>>2]=f[w+8>>2];c=b[d>>0]|0;p=b[q>>0]|0;j=c<<24>>24<0;l=j?f[A>>2]|0:A;s=p<<24>>24<0;e=s?f[t>>2]|0:t;p=s?f[t+4>>2]|0:p&255;c:do if(!p){c=0;v=76}else{c=j?f[A+4>>2]|0:c&255;a=l+c|0;m=a;n=l;d:do if((c|0)>=(p|0)){o=h[e>>0]|0;j=l;while(1){c=c-p+1|0;if(!c)break d;j=HB(j,o,c)|0;if(!j)break d;if(!(lO(j,e,p)|0))break;j=j+1|0;c=m-j|0;if((c|0)<(p|0))break d}c=j-n|0;if(!((j|0)==(a|0)|(c|0)==-1)){v=76;break c}}while(0);x=0;c=qa(318,60)|0;s=x;x=0;if(s&1){v=74;break}l=w;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;Fa(427,c|0);s=x;x=0;if(s&1){j=Za(0)|0;Hta(c);c=j;j=q;break b}else{l=c+12|0;m=w;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=13152;f[c+56>>2]=8;l=0;j=-1;break}}while(0);do if((v|0)==76){x=0;j=ta(49,A|0,0,c|0)|0;w=x;x=0;if(w&1){v=74;break}l=1;c=0;j=j+1|0}while(0);if((v|0)==74){c=Za(0)|0;j=q;break}if((b[q>>0]|0)<0)Hta(f[t>>2]|0);if((b[d>>0]|0)<0)Hta(f[A>>2]|0);if(l){y=j;break a}u=C;return c|0}while(0);if((b[j>>0]|0)<0)Hta(f[t>>2]|0)}}if((b[d>>0]|0)<0)Hta(f[A>>2]|0)}v=89;break a}while(0);if((b[p>>0]|0)<0)Hta(f[w>>2]|0);v=89}while(0);if((v|0)==56){if((b[r>>0]|0)<0)Hta(f[w>>2]|0);v=89}e:do if((v|0)==89){Ua(c|0)|0;x=0;Ga(511,z|0,i|0);i=x;x=0;do if(i&1)c=Ya()|0;else{x=0;Ga(564,g|0,z|0);i=x;x=0;if(i&1){c=Ya()|0;m=I;d=f[z>>2]|0;if(!d)break;n=z+4|0;j=f[n>>2]|0;if((j|0)!=(d|0)){do{l=j+-52|0;f[n>>2]=l;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[n>>2]|0}else j=l}while((j|0)!=(d|0));d=f[z>>2]|0}Hta(d);break}c=f[z>>2]|0;if(c|0){l=z+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{j=d+-52|0;f[l>>2]=j;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=j}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}Wa();y=-1;break e}while(0);x=0;Ea(4);z=x;x=0;if(z&1){z=Za(0)|0;soa(z)}else{g=c;jb(g|0)}}while(0);d=VN(104)|0;j=B+11|0;k=+(y>>>0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;l=A;m=g;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Ha(1,d|0,A|0,+k,B|0,1);g=x;x=0;if(g&1){c=Ya()|0;if((b[j>>0]|0)<0)Hta(f[B>>2]|0);Hta(d);g=c;jb(g|0)}else{if((b[j>>0]|0)>=0){g=d;u=C;return g|0}Hta(f[B>>2]|0);g=d;u=C;return g|0}return 0}function Ef(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=0;w=u;u=u+320|0;y=w+280|0;D=w+272|0;C=w+220|0;c=w+232|0;n=w+208|0;B=w+152|0;l=w+168|0;p=w+140|0;z=w+88|0;m=w+48|0;v=w+32|0;q=w+24|0;t=w+16|0;r=w;s=w+8|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;o=C+11|0;b[o>>0]=9;i=C;j=41458;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[C+9>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,n|0,h|0);k=x;x=0;do if(k&1)c=Ya()|0;else{x=0;i=y;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,D|0,C|0,a|0,e|0,y|0,n|0,d|0);k=x;x=0;if(k&1){c=Ya()|0;l=I;i=f[n>>2]|0;if(!i)break;m=n+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[n>>2]|0}Hta(i);break}c=f[n>>2]|0;if(c|0){k=n+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[C>>2]|0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;n=B+11|0;b[n>>0]=9;i=B;j=41488;k=i+9|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[B+9>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,p|0,h|0);o=x;x=0;do if(o&1){c=Ya()|0;A=68}else{x=0;i=y;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,C|0,B|0,a|0,e|0,y|0,p|0,d|0);o=x;x=0;if(o&1){c=Ya()|0;l=I;i=f[p>>2]|0;if(!i){A=68;break}m=p+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[p>>2]|0}Hta(i);A=68;break}c=f[p>>2]|0;if(c|0){k=p+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[B>>2]|0);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;c=qa(318,16)|0;p=x;x=0;a:do if(p&1){c=Ya()|0;A=82}else{f[z>>2]=c;f[z+8>>2]=-2147483632;f[z+4>>2]=12;i=c;j=41498;k=i+12|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+12>>0]=0;i=m;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,v|0,h|0);p=x;x=0;do if(p&1)c=Ya()|0;else{x=0;i=y;j=m;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ma(3,B|0,z|0,a|0,e|0,y|0,v|0,d|0);p=x;x=0;if(p&1){c=Ya()|0;l=I;i=f[v>>2]|0;if(!i)break;m=v+4|0;j=f[m>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(i|0));i=f[v>>2]|0}Hta(i);break}c=f[v>>2]|0;if(c|0){k=v+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[v>>2]|0}Hta(c)}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);f[y>>2]=0;m=y+4|0;f[m>>2]=0;f[y+8>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;l=y+16|0;f[y+12>>2]=l;c=f[B+4>>2]|0;x=0;Ga(462,q|0,f[C+4>>2]|0);v=x;x=0;do if(v&1){c=Ya()|0;k=I}else{f[q>>2]=7168;x=0;Ia(109,c|0,q|0,y|0);v=x;x=0;if(v&1){c=Ya()|0;k=I;_P(q);break}_P(q);x=0;Ga(528,z|0,y|0);v=x;x=0;if(v&1){c=Ya()|0;i=I}else{x=0;Ga(462,r|0,f[D+4>>2]|0);v=x;x=0;b:do if(v&1){c=Ya()|0;i=I}else{f[r>>2]=7168;x=0;c=ta(50,z|0,r|0,1)|0;v=x;x=0;do if(!(v&1)){x=0;Ga(462,t|0,c|0);v=x;x=0;if(v&1)break;f[t>>2]=7168;_P(r);x=0;Fa(443,s|0);v=x;x=0;do if(!(v&1)){j=f[t+4>>2]|0;x=0;j=sa(f[(f[j>>2]|0)+56>>2]|0,j|0,s|0)|0;v=x;x=0;if(v&1)break;_P(t);aG(z);EA(y+12|0,f[l>>2]|0);c=f[y>>2]|0;if(!c){_P(B);_P(C);_P(D);u=w;return j|0}i=f[m>>2]|0;if((i|0)!=(c|0)){do{A=i+-16|0;f[m>>2]=A;_P(i+-8|0);_P(A);i=f[m>>2]|0}while((i|0)!=(c|0));c=f[y>>2]|0}Hta(c);_P(B);_P(C);_P(D);u=w;return j|0}while(0);c=Ya()|0;i=I;_P(t);break b}while(0);c=Ya()|0;i=I;_P(r)}while(0);aG(z)}k=i}while(0);EA(y+12|0,f[l>>2]|0);i=f[y>>2]|0;if(i|0){j=f[m>>2]|0;if((j|0)!=(i|0)){do{z=j+-16|0;f[m>>2]=z;_P(j+-8|0);_P(z);j=f[m>>2]|0}while((j|0)!=(i|0));i=f[y>>2]|0}Hta(i)}_P(B);break a}while(0);if((b[z+11>>0]|0)<0){Hta(f[z>>2]|0);A=82}else A=82}while(0);_P(C)}while(0);if((A|0)==68)if((b[n>>0]|0)<0)Hta(f[B>>2]|0);_P(D);D=c;jb(D|0)}while(0);if((b[o>>0]|0)<0)Hta(f[C>>2]|0);D=c;jb(D|0);return 0}function Ff(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.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,y=0,z=0,A=0,B=0,C=0,D=0,E=0;w=0;D=u;u=u+352|0;E=D+312|0;k=D+296|0;C=D+120|0;i=D+256|0;y=D+240|0;v=D+200|0;z=D+184|0;l=D+144|0;o=D+132|0;m=D+80|0;p=D+68|0;n=D+56|0;A=D+16|0;B=D;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;d=E+11|0;b[d>>0]=5;b[E>>0]=b[40395]|0;b[E+1>>0]=b[40396]|0;b[E+2>>0]=b[40397]|0;b[E+3>>0]=b[40398]|0;b[E+4>>0]=b[40399]|0;b[E+5>>0]=0;x=0;c=sa(992,a|0,E|0)|0;t=x;x=0;if(t&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[E>>2]|0);E=c;jb(E|0)}c=f[c+4>>2]|0;if(!c)c=0;else c=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[E>>2]|0);if(c|0){d=VN(104)|0;i=k+11|0;j=+((f[c+80>>2]|0)-(f[c+76>>2]|0)>>3>>>0);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;r=E;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));Ha(1,d|0,E|0,+j,k|0,1);E=x;x=0;if(E&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[k>>2]|0);Hta(d);E=c;jb(E|0)}else{if((b[i>>0]|0)>=0){E=d;u=D;return E|0}Hta(f[k>>2]|0);E=d;u=D;return E|0}}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;q=C+11|0;b[q>>0]=5;b[C>>0]=b[40395]|0;b[C+1>>0]=b[40396]|0;b[C+2>>0]=b[40397]|0;b[C+3>>0]=b[40398]|0;b[C+4>>0]=b[40399]|0;b[C+5>>0]=0;r=i;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Ga(511,y|0,h|0);t=x;x=0;do if(t&1)c=Ya()|0;else{x=0;r=E;s=i;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));h=wa(25,C|0,a|0,e|0,E|0,y|0)|0;t=x;x=0;if(t&1){c=Ya()|0;h=I;d=f[y>>2]|0;if(!d)break;k=y+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{e=i+-52|0;f[k>>2]=e;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=e}while((i|0)!=(d|0));d=f[y>>2]|0}Hta(d);break}c=f[y>>2]|0;if(c|0){e=y+4|0;d=f[e>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[e>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[e>>2]|0}else d=i}while((d|0)!=(c|0));c=f[y>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[C>>2]|0);a:do switch(f[h+56>>2]|0){case 6:{f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;i=E+11|0;b[i>>0]=5;b[E>>0]=b[40395]|0;b[E+1>>0]=b[40396]|0;b[E+2>>0]=b[40397]|0;b[E+3>>0]=b[40398]|0;b[E+4>>0]=b[40399]|0;b[E+5>>0]=0;x=0;c=sa(992,a|0,E|0)|0;C=x;x=0;if(C&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[E>>2]|0);E=c;jb(E|0)}c=f[c+4>>2]|0;if(!c)d=0;else d=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[i>>0]|0)<0)Hta(f[E>>2]|0);c=VN(104)|0;r=v;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));if(!d)j=1.0;else j=+((f[d+88>>2]|0)-(f[d+84>>2]|0)>>3>>>0);i=z+11|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;r=E;s=v;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));Ha(1,c|0,E|0,+j,z|0,1);E=x;x=0;if(!(E&1)){if((b[i>>0]|0)>=0)break a;Hta(f[z>>2]|0);break a}d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[z>>2]|0);Hta(c);E=d;jb(E|0)}case 7:{c=f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[479]|0)==(c|0)){c=VN(104)|0;r=l;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));i=o+11|0;j=+((f[h+80>>2]|0)-(f[h+76>>2]|0)>>3>>>0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;r=E;s=l;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));Ha(1,c|0,E|0,+j,o|0,1);E=x;x=0;if(!(E&1)){if((b[i>>0]|0)>=0)break a;Hta(f[o>>2]|0);break a}d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[o>>2]|0);Hta(c);E=d;jb(E|0)}C=(f[517]|0)==(c|0);c=VN(104)|0;if(C){r=m;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));i=p+11|0;j=+((f[h+80>>2]|0)-(f[h+76>>2]|0)>>3>>>0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;x=0;r=E;s=m;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));Ha(1,c|0,E|0,+j,p|0,1);E=x;x=0;if(!(E&1)){if((b[i>>0]|0)>=0)break a;Hta(f[p>>2]|0);break a}d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[p>>2]|0);Hta(c);E=d;jb(E|0)}else{i=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;r=E;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));Ha(1,c|0,E|0,1.0,n|0,1);E=x;x=0;if(!(E&1)){if((b[i>>0]|0)>=0)break a;Hta(f[n>>2]|0);break a}d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[n>>2]|0);Hta(c);E=d;jb(E|0)}}default:{f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;d=E+11|0;b[d>>0]=5;b[E>>0]=b[40395]|0;b[E+1>>0]=b[40396]|0;b[E+2>>0]=b[40397]|0;b[E+3>>0]=b[40398]|0;b[E+4>>0]=b[40399]|0;b[E+5>>0]=0;x=0;c=sa(992,a|0,E|0)|0;C=x;x=0;if(!(C&1)){x=0;i=qa(340,f[c+4>>2]|0)|0;C=x;x=0;if(!(C&1)){if((b[d>>0]|0)<0)Hta(f[E>>2]|0);c=VN(104)|0;r=A;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));if(!i){d=1;w=81}else{x=0;d=qa(f[(f[i>>2]|0)+120>>2]|0,i|0)|0;g=x;x=0;if(g&1)d=Ya()|0;else w=81}do if((w|0)==81){i=B+11|0;j=+(d>>>0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;r=E;s=A;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));Ha(1,c|0,E|0,+j,B|0,1);E=x;x=0;if(E&1){d=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[B>>2]|0);break}else{if((b[i>>0]|0)>=0)break a;Hta(f[B>>2]|0);break a}}while(0);Hta(c);E=d;jb(E|0)}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[E>>2]|0);E=c;jb(E|0)}}while(0);E=c;u=D;return E|0}while(0);if((b[q>>0]|0)<0)Hta(f[C>>2]|0);E=c;jb(E|0);return 0}function Gf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=0;t=u;u=u+224|0;p=t;C=t+208|0;D=t+200|0;B=t+192|0;A=t+184|0;y=t+168|0;w=t+120|0;h=t+128|0;n=t+104|0;q=t+64|0;v=t+56|0;s=t+48|0;r=t+40|0;qV(C,f[c+68>>2]|0);f[C>>2]=7280;x=0;Ga(462,D|0,f[c+76>>2]|0);o=x;x=0;if(o&1){D=Ya()|0;_P(C);jb(D|0)}f[D>>2]=7904;g=D+4|0;d=f[g>>2]|0;j=a+12|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,j|0)|0;o=x;x=0;if(o&1)z=22;else{x=0;Ga(462,B|0,d|0);o=x;x=0;if(o&1)z=22;else{f[B>>2]=7696;e=B+4|0;x=0;d=qa(319,f[e>>2]|0)|0;o=x;x=0;if(o&1)z=23;else{x=0;Ga(462,A|0,d|0);o=x;x=0;if(o&1)z=23;else{f[A>>2]=7904;o=A+4|0;a:do if(!(f[o>>2]|0)){d=f[e>>2]|0;e=f[(f[d>>2]|0)+28>>2]|0;x=0;k=p;l=f[(f[a+4>>2]|0)+16>>2]|0;m=k+12|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));Ia(e|0,y|0,d|0,p|0);m=x;x=0;if(m&1)d=Ya()|0;else{x=0;i=qa(318,80)|0;m=x;x=0;b:do if(m&1)d=Ya()|0;else{k=h;l=(f[g>>2]|0)+12|0;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(459,n|0,y|0);m=x;x=0;do if(m&1)d=Ya()|0;else{k=p;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Fa(427,i|0);m=x;x=0;c:do if(m&1){d=1;z=27}else{k=i+12|0;l=p;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=4;f[i>>2]=11668;b[i+60>>0]=0;b[i+61>>0]=0;x=0;Ia(101,i+64|0,n|0,1);m=x;x=0;if(m&1){d=Ya()|0;e=1;z=28;break}f[i+76>>2]=0;x=0;Ga(462,w|0,i|0);m=x;x=0;if(m&1){d=0;z=27}else{f[w>>2]=7904;do if(f[o>>2]|0){x=0;Fa(429,A|0);m=x;x=0;if(!(m&1))break;d=Ya()|0;_P(w);e=0;break c}while(0);z=w+4|0;f[o>>2]=f[z>>2];f[z>>2]=0;_P(w);if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);z=37;break a}}while(0);if((z|0)==27){w=Ya()|0;e=d;d=w;z=28}if((b[n+11>>0]|0)<0){Hta(f[n>>2]|0);if(e)break;else break b}else if(e)break;else break b}while(0);Hta(i)}while(0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0)}}else z=37;while(0);if((z|0)==37){x=0;Ga(462,y|0,f[c+84>>2]|0);n=x;x=0;if(n&1)d=Ya()|0;else{f[y>>2]=7696;e=y+4|0;d=f[e>>2]|0;d:do if(!d)z=48;else{x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,j|0)|0;n=x;x=0;do if(n&1)z=45;else{x=0;Ga(462,p|0,d|0);n=x;x=0;if(n&1)z=45;else{f[p>>2]=7696;if(f[e>>2]|0){x=0;Fa(429,y|0);n=x;x=0;if(n&1){d=Ya()|0;_P(p);break}}z=p+4|0;f[e>>2]=f[z>>2];f[z>>2]=0;_P(p);z=48;break d}}while(0);if((z|0)==45)d=Ya()|0}while(0);if((z|0)==48){d=f[C+4>>2]|0;if(!d){d=0;z=50}else{x=0;d=sa(f[(f[a>>2]|0)+12>>2]|0,a|0,d|0)|0;z=x;x=0;if(z&1)z=56;else z=50}if((z|0)==50){x=0;Ga(462,w|0,d|0);n=x;x=0;if(n&1)z=56;else{f[w>>2]=7280;g=w+4|0;do if(!(f[g>>2]|0)){d=f[e>>2]|0;if(!d){z=0;_P(w);_P(y);_P(A);_P(B);_P(D);_P(C);u=t;return z|0}x=0;d=qa(f[(f[d>>2]|0)+84>>2]|0,d|0)|0;n=x;x=0;if(n&1){d=Ya()|0;break}if(!d){z=58;break}if(!(b[c+88>>0]|0))d=0;else{z=58;break}_P(w);_P(y);_P(A);_P(B);_P(D);_P(C);u=t;return d|0}else z=58;while(0);do if((z|0)==58){x=0;h=qa(318,92)|0;n=x;x=0;if(n&1){d=Ya()|0;break}k=q;l=c+12|0;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(462,v|0,f[o>>2]|0);o=x;x=0;if(o&1)d=Ya()|0;else{f[v>>2]=7904;x=0;Ga(462,s|0,f[e>>2]|0);o=x;x=0;if(o&1)d=Ya()|0;else{f[s>>2]=7696;e=b[c+88>>0]|0;d=b[c+89>>0]|0;x=0;Ga(462,r|0,f[g>>2]|0);o=x;x=0;do if(o&1)d=Ya()|0;else{g=d<<24>>24!=0;d=e<<24>>24!=0;f[r>>2]=7280;x=0;k=p;l=q;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ma(7,h|0,p|0,v|0,s|0,d|0,g|0,r|0);q=x;x=0;if(q&1){d=Ya()|0;_P(r);break}_P(r);_P(s);_P(v);f[h+56>>2]=f[c+56>>2];z=h;_P(w);_P(y);_P(A);_P(B);_P(D);_P(C);u=t;return z|0}while(0);_P(s)}_P(v)}Hta(h)}while(0);_P(w)}}if((z|0)==56)d=Ya()|0}_P(y)}}_P(A)}}if((z|0)==23)d=Ya()|0;_P(B)}}if((z|0)==22)d=Ya()|0;_P(D);D=d;_P(C);jb(D|0);return 0}function Hf(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=0;A=u;u=u+288|0;C=A+272|0;D=A+260|0;B=A+248|0;z=A+208|0;s=A+192|0;t=A+180|0;v=A+168|0;w=A+128|0;g=A+112|0;h=A+100|0;k=A+88|0;l=A+48|0;d=A;r=A+40|0;m=VN(84)|0;y=c+108|0;i=d;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;Fa(427,m|0);q=x;x=0;do if(q&1)d=Ya()|0;else{i=m+12|0;j=d;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=10464;b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;f[m+56>>2]=0;d=m+60|0;f[d>>2]=10424;i=m+64|0;j=m+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(555,i|0,0);q=x;x=0;if(q&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{E=g+-8|0;f[j>>2]=E;Kc[f[f[E>>2]>>2]&511](E);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[m>>2]=10240;f[d>>2]=10368;b[m+80>>0]=0;b[m+81>>0]=0;b[m+82>>0]=0;qV(a,m);f[a>>2]=9376;m=c+168|0;f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];o=c+76|0;e=f[o>>2]|0;p=c+84|0;f[h>>2]=f[p>>2];f[h+4>>2]=f[p+4>>2];f[h+8>>2]=f[p+8>>2];q=c+96|0;f[k>>2]=f[q>>2];f[k+4>>2]=f[q+4>>2];f[k+8>>2]=f[q+8>>2];i=l;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;ta(52,c|0,1,0)|0;n=x;x=0;a:do if(n&1)E=24;else{x=0;d=ta(82,c|0,1,0)|0;n=x;x=0;if(n&1)E=24;else{if(!d){i=y;j=l;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[o>>2]=e;f[q>>2]=f[k>>2];f[q+4>>2]=f[k+4>>2];f[q+8>>2]=f[k+8>>2];f[p>>2]=f[h>>2];f[p+4>>2]=f[h+4>>2];f[p+8>>2]=f[h+8>>2];u=A;return}x=0;d=qa(347,f[o>>2]|0)|0;n=x;x=0;if(n&1)E=24;else{h=c+80|0;if((d|0)==0?1:d>>>0>(f[h>>2]|0)>>>0)d=f[o>>2]|0;x=0;e=qa(348,d|0)|0;n=x;x=0;if(n&1)E=24;else{n=e|0?e:d;n=(b[n>>0]|0)==41?n+1|0:0;b:do if((n|0)==0?1:n>>>0>(f[h>>2]|0)>>>0){g=a+4|0;while(1){d=f[o>>2]|0;x=0;e=qa(348,d|0)|0;n=x;x=0;if(n&1){E=24;break a}n=e|0?e:d;n=(b[n>>0]|0)==41?n+1|0:0;if(!((n|0)==0?1:n>>>0>(f[h>>2]|0)>>>0))break b;d=(f[g>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(602,r|0,c|0);n=x;x=0;if(n&1){E=24;break a}x=0;Ga(e|0,d|0,r|0);n=x;x=0;if(n&1){E=31;break}_P(r);f[s>>2]=f[m>>2];f[s+4>>2]=f[m+4>>2];f[s+8>>2]=f[m+8>>2];e=f[o>>2]|0;f[t>>2]=f[p>>2];f[t+4>>2]=f[p+4>>2];f[t+8>>2]=f[p+8>>2];f[v>>2]=f[q>>2];f[v+4>>2]=f[q+4>>2];f[v+8>>2]=f[q+8>>2];i=w;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;ta(52,c|0,1,0)|0;n=x;x=0;if(n&1){E=24;break a}x=0;d=ta(53,c|0,1,0)|0;n=x;x=0;if(n&1){E=24;break a}if(!d){E=30;break}}if((E|0)==30){i=y;j=w;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=f[s>>2];f[m+4>>2]=f[s+4>>2];f[m+8>>2]=f[s+8>>2];f[o>>2]=e;f[q>>2]=f[v>>2];f[q+4>>2]=f[v+4>>2];f[q+8>>2]=f[v+8>>2];f[p>>2]=f[t>>2];f[p+4>>2]=f[t+4>>2];f[p+8>>2]=f[t+8>>2];break}else if((E|0)==31){d=Ya()|0;_P(r);break a}}while(0);f[C>>2]=f[m>>2];f[C+4>>2]=f[m+4>>2];f[C+8>>2]=f[m+8>>2];e=f[o>>2]|0;f[D>>2]=f[p>>2];f[D+4>>2]=f[p+4>>2];f[D+8>>2]=f[p+8>>2];f[B>>2]=f[q>>2];f[B+4>>2]=f[q+4>>2];f[B+8>>2]=f[q+8>>2];i=z;j=y;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));x=0;ta(52,c|0,1,0)|0;w=x;x=0;if(w&1)E=24;else{x=0;d=ta(66,c|0,1,0)|0;w=x;x=0;if(w&1)E=24;else{if(d|0){u=A;return}i=y;j=z;n=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0));f[m>>2]=f[C>>2];f[m+4>>2]=f[C+4>>2];f[m+8>>2]=f[C+8>>2];f[o>>2]=e;f[q>>2]=f[B>>2];f[q+4>>2]=f[B+4>>2];f[q+8>>2]=f[B+8>>2];f[p>>2]=f[D>>2];f[p+4>>2]=f[D+4>>2];f[p+8>>2]=f[D+8>>2];f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;x=0;d=qa(318,16)|0;z=x;x=0;if(z&1)d=Ya()|0;else{f[C>>2]=d;f[C+8>>2]=-2147483632;f[C+4>>2]=11;i=d;j=44242;n=i+11|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(n|0));b[d+11>>0]=0;f[D+8>>2]=0;e=D+11|0;b[e>>0]=7;b[D>>0]=b[44254]|0;b[D+1>>0]=b[44255]|0;b[D+2>>0]=b[44256]|0;b[D+3>>0]=b[44257]|0;b[D+4>>0]=b[44258]|0;b[D+5>>0]=b[44259]|0;b[D+6>>0]=b[44260]|0;b[D+7>>0]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;d=qa(318,48)|0;z=x;x=0;do if(z&1)d=Ya()|0;else{f[B>>2]=d;f[B+8>>2]=-2147483600;f[B+4>>2]=44;i=d;j=44621;n=i+44|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(n|0));b[d+44>>0]=0;x=0;Ka(8,c|0,C|0,D|0,B|0,1);c=x;x=0;if(c&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[e>>0]|0)<0)Hta(f[D>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);u=A;return}while(0);if((b[e>>0]|0)<0)Hta(f[D>>2]|0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}}}}}}}while(0);if((E|0)==24)d=Ya()|0;_P(a);E=d;jb(E|0)}while(0);Hta(m);E=d;jb(E|0)}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;f[fc+32>>2]=d;if((ec|0)==1)ec=3}Vc(hc+48932|0)} +function te(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=0;I=u;u=u+272|0;E=I+232|0;P=I+216|0;Q=I+196|0;O=I+184|0;N=I+164|0;k=I+208|0;j=I+176|0;M=I+152|0;K=I+128|0;q=I+144|0;l=I+120|0;C=I+80|0;D=I+72|0;G=I+64|0;H=I+56|0;F=I+16|0;J=I;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;if(!(b[c+89>>0]|0))h=b[c+88>>0]|0?49860:89823;else h=49204;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;i=hL(h)|0;do if(i>>>0>4294967279){x=0;Fa(428,O|0);x=0;L=33}else{if(i>>>0<11){b[O+11>>0]=i;if(!i)e=O;else{e=O;L=9}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;L=x;x=0;if(L&1){L=33;break}f[O>>2]=e;f[O+8>>2]=g|-2147483648;f[O+4>>2]=i;L=9}if((L|0)==9)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;e=c+84|0;x=0;Ga(462,k|0,f[e>>2]|0);w=x;x=0;a:do if(w&1)e=Ya()|0;else{f[k>>2]=7904;b:do if(!(f[k+4>>2]|0)){f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0}else{x=0;Ga(462,j|0,f[e>>2]|0);w=x;x=0;do if(w&1)e=Ya()|0;else{f[j>>2]=7904;e=f[j+4>>2]|0;g=f[(f[e>>2]|0)+28>>2]|0;x=0;h=E;o=f[(f[a+4>>2]|0)+16>>2]|0;p=h+12|0;do{b[h>>0]=b[o>>0]|0;h=h+1|0;o=o+1|0}while((h|0)<(p|0));Ia(g|0,N|0,e|0,E|0);w=x;x=0;if(w&1){e=Ya()|0;_P(j);break}else{_P(j);break b}}while(0);_P(k);break a}while(0);_P(k);if(!(b[d+89>>0]|0))h=b[d+88>>0]|0?49860:89823;else h=49204;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;i=hL(h)|0;do if(i>>>0>4294967279){x=0;Fa(428,M|0);x=0;L=38}else{if(i>>>0<11){b[M+11>>0]=i;if(!i)e=M;else{e=M;L=24}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;L=x;x=0;if(L&1){L=38;break}f[M>>2]=e;f[M+8>>2]=g|-2147483648;f[M+4>>2]=i;L=24}if((L|0)==24)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;e=d+84|0;x=0;Ga(462,q|0,f[e>>2]|0);w=x;x=0;c:do if(w&1)e=Ya()|0;else{f[q>>2]=7904;d:do if(!(f[q+4>>2]|0)){f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0}else{x=0;Ga(462,l|0,f[e>>2]|0);w=x;x=0;do if(w&1)e=Ya()|0;else{f[l>>2]=7904;g=f[l+4>>2]|0;e=f[(f[g>>2]|0)+28>>2]|0;x=0;h=E;o=f[(f[a+4>>2]|0)+16>>2]|0;p=h+12|0;do{b[h>>0]=b[o>>0]|0;h=h+1|0;o=o+1|0}while((h|0)<(p|0));Ia(e|0,K|0,g|0,E|0);w=x;x=0;if(w&1){e=Ya()|0;_P(l);break}else{_P(l);break d}}while(0);_P(q);break c}while(0);_P(q);v=N+11|0;L=b[v>>0]|0;i=N+4|0;if(!((L<<24>>24<0?f[i>>2]|0:L&255)|0)){x=0;sa(986,N|0,K|0)|0;L=x;x=0;if(L&1)L=43;else L=44}else L=44;e:do if((L|0)==44){g=K+11|0;w=b[g>>0]|0;j=K+4|0;if(!((w<<24>>24<0?f[j>>2]|0:w&255)|0)){x=0;sa(986,K|0,N|0)|0;w=x;x=0;if(w&1){L=43;break}}w=O+11|0;q=b[w>>0]|0;o=O+4|0;do if(((q<<24>>24<0?f[o>>2]|0:q&255)|0)==3){x=0;e=wa(21,O|0,0,-1,49860,3)|0;q=x;x=0;if(q&1){q=Za(0)|0;soa(q)}else{r=(e|0)==0;break}}else r=0;while(0);q=M+11|0;p=b[q>>0]|0;h=M+4|0;do if(((p<<24>>24<0?f[h>>2]|0:p&255)|0)==3){x=0;e=wa(21,M|0,0,-1,49860,3)|0;p=x;x=0;if(p&1){J=Za(0)|0;soa(J)}else if(r^(e|0)==0){L=55;break}else{L=73;break}}else if(r)L=55;else L=73;while(0);f:do if((L|0)==55){h=b[v>>0]|0;l=h<<24>>24<0;h=h&255;a=l?f[i>>2]|0:h;m=b[g>>0]|0;e=m<<24>>24<0;do if((a|0)==((e?f[j>>2]|0:m&255)|0)){j=f[N>>2]|0;k=l?j:N;e=e?f[K>>2]|0:K;i=(a|0)==0;if(l){if(i){n=0;break f}if(!(lO(k,e,a)|0)){n=0;break f}else break}if(i){n=0;break f}if((b[e>>0]|0)==(j&255)<<24>>24)i=N;else break;do{h=h+-1|0;i=i+1|0;if(!h){n=0;break f}e=e+1|0}while((b[i>>0]|0)==(b[e>>0]|0))}while(0);L=b[w>>0]|0;do if(((L<<24>>24<0?f[o>>2]|0:L&255)|0)==3){x=0;e=wa(21,O|0,0,-1,49860,3)|0;L=x;x=0;if(L&1){L=Za(0)|0;soa(L)}else{s=(e|0)==0?K:N;break}}else s=N;while(0);x=0;sa(986,P|0,s|0)|0;L=x;x=0;if(L&1){L=43;break e}L=b[w>>0]|0;do if(((L<<24>>24<0?f[o>>2]|0:L&255)|0)==3){x=0;e=wa(21,O|0,0,-1,49860,3)|0;L=x;x=0;if(L&1){L=Za(0)|0;soa(L)}else{t=(e|0)==0?M:O;break}}else t=O;while(0);x=0;sa(986,Q|0,t|0)|0;L=x;x=0;if(L&1){L=43;break e}else L=101}else if((L|0)==73){t=b[w>>0]|0;do if(((t<<24>>24<0?f[o>>2]|0:t&255)|0)==3){x=0;e=wa(21,O|0,0,-1,49860,3)|0;t=x;x=0;if(t&1){t=Za(0)|0;soa(t)}if(e|0)break;t=b[q>>0]|0;if(((t<<24>>24<0?f[h>>2]|0:t&255)|0)!=3)break;x=0;e=wa(21,M|0,0,-1,49860,3)|0;t=x;x=0;if(t&1){t=Za(0)|0;soa(t)}if(e|0)break;h=b[v>>0]|0;l=h<<24>>24<0;h=h&255;a=l?f[i>>2]|0:h;m=b[g>>0]|0;e=m<<24>>24<0;if((a|0)!=((e?f[j>>2]|0:m&255)|0)){n=0;break f}j=f[N>>2]|0;k=l?j:N;e=e?f[K>>2]|0:K;i=(a|0)==0;g:do if(l){if(i)break;if(lO(k,e,a)|0){n=0;break f}}else{if(i)break;if((b[e>>0]|0)==(j&255)<<24>>24)i=N;else{n=0;break f}while(1){h=h+-1|0;i=i+1|0;if(!h)break g;e=e+1|0;if((b[i>>0]|0)!=(b[e>>0]|0)){n=0;break f}}}while(0);x=0;sa(986,P|0,N|0)|0;L=x;x=0;if(L&1){L=43;break e}x=0;sa(1032,Q|0,49860)|0;L=x;x=0;if(L&1){L=43;break e}else{L=101;break f}}while(0);h=b[v>>0]|0;l=h<<24>>24<0;h=h&255;a=l?f[i>>2]|0:h;m=b[g>>0]|0;e=m<<24>>24<0;if((a|0)!=((e?f[j>>2]|0:m&255)|0)){n=0;break}j=f[N>>2]|0;k=l?j:N;e=e?f[K>>2]|0:K;i=(a|0)==0;h:do if(l){if(i)break;if(lO(k,e,a)|0){n=0;break f}}else{if(i)break;if((b[e>>0]|0)==(j&255)<<24>>24)i=N;else{n=0;break f}while(1){h=h+-1|0;i=i+1|0;if(!h)break h;e=e+1|0;if((b[i>>0]|0)!=(b[e>>0]|0)){n=0;break f}}}while(0);x=0;sa(986,P|0,N|0)|0;L=x;x=0;if(L&1){L=43;break e}L=b[w>>0]|0;x=0;sa(986,Q|0,(((L<<24>>24<0?f[o>>2]|0:L&255)|0)==0?M:O)|0)|0;L=x;x=0;if(L&1){L=43;break e}else L=101}while(0);i:do if((L|0)==101){x=0;n=qa(318,92)|0;t=x;x=0;j:do if(!(t&1)){a=c+12|0;h=C;o=a;p=h+40|0;do{f[h>>2]=f[o>>2];h=h+4|0;o=o+4|0}while((h|0)<(p|0));x=0;Ga(462,D|0,0);t=x;x=0;do if(t&1)e=Ya()|0;else{f[D>>2]=7904;l=c+60|0;m=d+60|0;k=((f[d+68>>2]|0)-(f[d+64>>2]|0)>>3)+((f[c+68>>2]|0)-(f[c+64>>2]|0)>>3)|0;i=Q+11|0;e=b[i>>0]|0;j=Q+4|0;h=f[j>>2]|0;do if(((e<<24>>24<0?h:e&255)|0)==3){x=0;e=wa(21,Q|0,0,-1,49860,3)|0;d=x;x=0;if(d&1){d=Za(0)|0;soa(d)}else{A=(e|0)==0;y=b[i>>0]|0;z=f[j>>2]|0;break}}else{A=0;y=e;z=h}while(0);do if(((y<<24>>24<0?z:y&255)|0)==4){x=0;e=wa(21,Q|0,0,-1,49204,4)|0;z=x;x=0;if(z&1){z=Za(0)|0;soa(z)}else{B=(e|0)==0;break}}else B=0;while(0);x=0;h=E;o=C;p=h+40|0;do{f[h>>2]=f[o>>2];h=h+4|0;o=o+4|0}while((h|0)<(p|0));La(23,n|0,E|0,D|0,k|0,A|0,B|0);C=x;x=0;if(C&1){e=Ya()|0;_P(D);break}_P(D);D=b[P+11>>0]|0;k:do if((D<<24>>24<0?f[P+4>>2]|0:D&255)|0){x=0;i=qa(318,80)|0;D=x;x=0;if(D&1)break j;h=F;o=a;p=h+40|0;do{f[h>>2]=f[o>>2];h=h+4|0;o=o+4|0}while((h|0)<(p|0));x=0;Ga(459,J|0,P|0);D=x;x=0;do if(D&1)e=Ya()|0;else{x=0;h=E;o=F;p=h+40|0;do{f[h>>2]=f[o>>2];h=h+4|0;o=o+4|0}while((h|0)<(p|0));Na(1,i|0,E|0,J|0,0,0,0,1,1);F=x;x=0;do if(F&1){e=1;L=128}else{x=0;Ga(462,H|0,i|0);F=x;x=0;if(F&1){e=0;L=128;break}f[H>>2]=7904;e=n+80|0;h=n+84|0;if(!(f[h>>2]|0))L=119;else{x=0;Fa(429,e|0);F=x;x=0;if(!(F&1))L=119}do if((L|0)==119){f[h>>2]=f[H+4>>2];x=0;Fa(430,e|0);F=x;x=0;if(F&1)break;x=0;Ga(462,G|0,f[h>>2]|0);F=x;x=0;if(F&1)break;f[G>>2]=7904;_P(G);_P(H);if((b[J+11>>0]|0)>=0)break k;Hta(f[J>>2]|0);break k}while(0);e=Ya()|0;_P(H);h=0}while(0);if((L|0)==128){I=Ya()|0;h=e;e=I}if((b[J+11>>0]|0)<0){Hta(f[J>>2]|0);if(h)break;else break e}else if(h)break;else break e}while(0);Hta(i);break e}while(0);e=n+60|0;x=0;Ga(f[(f[e>>2]|0)+24>>2]|0,e|0,m|0);J=x;x=0;if(J&1)break j;x=0;Ga(f[(f[e>>2]|0)+24>>2]|0,e|0,l|0);J=x;x=0;if(J&1)break j;m=b[g>>0]|0;break i}while(0);Hta(n);break e}while(0);e=Ya()|0;break e}while(0);if(m<<24>>24<0)Hta(f[K>>2]|0);if((b[q>>0]|0)<0)Hta(f[M>>2]|0);if((b[v>>0]|0)<0)Hta(f[N>>2]|0);if((b[w>>0]|0)<0)Hta(f[O>>2]|0);if((b[Q+11>>0]|0)<0)Hta(f[Q>>2]|0);if((b[P+11>>0]|0)>=0){u=I;return n|0}Hta(f[P>>2]|0);u=I;return n|0}while(0);if((L|0)==43){e=Ya()|0;g=K+11|0}if((b[g>>0]|0)<0)Hta(f[K>>2]|0)}while(0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0)}while(0);if((L|0)==38)e=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0)}while(0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0)}while(0);if((L|0)==33)e=Ya()|0;if((b[Q+11>>0]|0)<0)Hta(f[Q>>2]|0);if((b[P+11>>0]|0)>=0)jb(e|0);Hta(f[P>>2]|0);jb(e|0);return 0}function ue(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;z=0;E=u;u=u+96|0;H=E+72|0;J=E+60|0;F=E+40|0;C=E+32|0;B=E+16|0;t=E;v=H+4|0;f[v>>2]=0;D=H+8|0;f[D>>2]=0;G=H+4|0;f[H>>2]=G;q=J+4|0;f[q>>2]=0;r=J+8|0;f[r>>2]=0;d=J+4|0;f[J>>2]=d;e=f[a>>2]|0;b=f[a+4>>2]|0;f[F>>2]=b;a:do if((e|0)!=(b|0)){k=C+4|0;l=B+4|0;m=B+8|0;s=B+4|0;A=B+4|0;n=B+8|0;o=t+4|0;w=t+8|0;p=t+12|0;y=t+4|0;b:while(1){j=e+4|0;x=0;Ga(462,C|0,f[j>>2]|0);i=x;x=0;if(i&1){z=63;break}f[C>>2]=15556;i=f[k>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+8>>2]|0,i|0)|0;h=x;x=0;if(h&1){z=64;break}g=f[d>>2]|0;do if(!g)z=16;else{a=d;c:while(1){h=g;while(1){if((f[h+16>>2]|0)>>>0>=i>>>0)break;g=f[h+4>>2]|0;if(!g)break c;else h=g}g=f[h>>2]|0;if(!g){a=h;break}else a=h}if((a|0)==(d|0))z=16;else if(i>>>0<(f[a+16>>2]|0)>>>0)z=16;else{i=f[k>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+8>>2]|0,i|0)|0;h=x;x=0;if(h&1){z=101;break b}a=f[d>>2]|0;if(!a){z=92;break b}h=a;while(1){g=f[h+16>>2]|0;if(i>>>0>>0){a=f[h>>2]|0;if(!a){z=92;break b}}else{if(g>>>0>=i>>>0)break;a=f[h+4>>2]|0;if(!a){z=92;break b}}h=a}if(!a){z=92;break b}a=a+20|0;g=a+4|0;h=f[g>>2]|0;if((h|0)==(f[a+8>>2]|0)){x=0;Ga(679,a|0,e|0);j=x;x=0;if(j&1){z=103;break b}else break}x=0;Ga(462,h|0,f[j>>2]|0);j=x;x=0;if(j&1){z=103;break b}f[h>>2]=15556;a=h+8|0;x=0;Ga(462,a|0,f[e+12>>2]|0);j=x;x=0;if(j&1){z=98;break b}f[a>>2]=15572;f[g>>2]=(f[g>>2]|0)+16}}while(0);if((z|0)==16){z=0;f[B>>2]=f[D>>2];x=0;Ga(462,l|0,f[k>>2]|0);j=x;x=0;if(j&1){z=65;break}f[l>>2]=15556;b=f[G>>2]|0;do if(!b){h=G;g=G}else{h=f[B>>2]|0;g=v;while(1){a=f[b+16>>2]|0;if(h>>>0>>0){a=f[b>>2]|0;if(!a){z=22;break}else{g=b;b=a}}else{if(a>>>0>=h>>>0){z=26;break}g=b+4|0;a=f[g>>2]|0;if(!a){z=25;break}else b=a}}if((z|0)==22){z=0;h=b;g=b;break}else if((z|0)==25){z=0;h=b;break}else if((z|0)==26){z=0;h=b;break}}while(0);if(!(f[g>>2]|0)){x=0;b=qa(318,28)|0;j=x;x=0;if(j&1){z=66;break}f[b+16>>2]=f[B>>2];a=b+20|0;x=0;Ga(462,a|0,f[m>>2]|0);j=x;x=0;if(j&1){z=30;break}f[a>>2]=15556;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=h;f[g>>2]=b;a=f[f[H>>2]>>2]|0;if(a){f[H>>2]=a;b=f[g>>2]|0}Ip(f[v>>2]|0,b);f[D>>2]=(f[D>>2]|0)+1}_P(s);f[B>>2]=0;f[A>>2]=0;f[n>>2]=0;x=0;Ga(679,B|0,e|0);j=x;x=0;if(j&1){z=69;break}b=f[k>>2]|0;x=0;b=qa(f[(f[b>>2]|0)+8>>2]|0,b|0)|0;j=x;x=0;if(j&1){z=70;break}f[t>>2]=b;x=0;Ga(680,o|0,B|0);j=x;x=0;if(j&1){z=70;break}b=f[d>>2]|0;do if(!b){a=d;g=d}else{h=f[t>>2]|0;g=q;while(1){a=f[b+16>>2]|0;if(h>>>0>>0){a=f[b>>2]|0;if(!a){z=42;break}else{g=b;b=a}}else{if(a>>>0>=h>>>0){z=46;break}g=b+4|0;a=f[g>>2]|0;if(!a){z=45;break}else b=a}}if((z|0)==42){z=0;a=b;g=b;break}else if((z|0)==45){z=0;a=b;break}else if((z|0)==46){z=0;a=b;break}}while(0);if(!(f[g>>2]|0)){x=0;b=qa(318,32)|0;j=x;x=0;if(j&1){z=71;break}f[b+16>>2]=f[t>>2];f[b+20>>2]=f[o>>2];f[b+24>>2]=f[w>>2];f[b+28>>2]=f[p>>2];f[p>>2]=0;f[w>>2]=0;f[o>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=a;f[g>>2]=b;a=f[f[J>>2]>>2]|0;if(a){f[J>>2]=a;b=f[g>>2]|0}Ip(f[q>>2]|0,b);f[r>>2]=(f[r>>2]|0)+1}b=f[y>>2]|0;if(b|0){a=f[w>>2]|0;if((a|0)!=(b|0)){do{j=a+-16|0;f[w>>2]=j;_P(a+-8|0);_P(j);a=f[w>>2]|0}while((a|0)!=(b|0));b=f[y>>2]|0}Hta(b)}b=f[B>>2]|0;if(b|0){a=f[A>>2]|0;if((a|0)!=(b|0)){do{j=a+-16|0;f[A>>2]=j;_P(a+-8|0);_P(j);a=f[A>>2]|0}while((a|0)!=(b|0));b=f[B>>2]|0}Hta(b)}b=f[F>>2]|0}_P(C);e=e+16|0;if((e|0)==(b|0)){z=4;break}}switch(z|0){case 4:{if(!(f[D>>2]|0))break a;i=F+8|0;j=c+4|0;k=c+8|0;n=F+8|0;o=F+12|0;l=F+4|0;m=0;d:while(1){b=f[G>>2]|0;if(!b){z=117;break}e=b;while(1){a=f[e+16>>2]|0;if(m>>>0>>0){b=f[e>>2]|0;if(!b){z=117;break d}}else{if(a>>>0>=m>>>0)break;b=f[e+4>>2]|0;if(!b){z=117;break d}}e=b}if(!b){z=117;break}g=b+20+4|0;h=f[g>>2]|0;x=0;h=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;C=x;x=0;if(C&1){z=148;break}b=f[d>>2]|0;if(!b){z=129;break}e=b;while(1){a=f[e+16>>2]|0;if(h>>>0>>0){b=f[e>>2]|0;if(!b){z=129;break d}}else{if(a>>>0>=h>>>0)break;b=f[e+4>>2]|0;if(!b){z=129;break d}}e=b}if(!b){z=129;break}x=0;Ga(462,F|0,f[g>>2]|0);C=x;x=0;if(C&1){z=150;break}f[F>>2]=15556;x=0;Ga(680,i|0,b+20|0);C=x;x=0;if(C&1){z=134;break}b=f[j>>2]|0;if((b|0)==(f[k>>2]|0)){x=0;Ga(681,c|0,F|0);C=x;x=0;if(C&1){z=152;break}}else{x=0;Ga(462,b|0,f[l>>2]|0);C=x;x=0;if(C&1){z=152;break}f[b>>2]=15556;x=0;Ga(680,b+8|0,i|0);C=x;x=0;if(C&1){z=138;break}f[j>>2]=(f[j>>2]|0)+20}b=f[n>>2]|0;if(b|0){a=f[o>>2]|0;if((a|0)!=(b|0)){do{C=a+-16|0;f[o>>2]=C;_P(a+-8|0);_P(C);a=f[o>>2]|0}while((a|0)!=(b|0));b=f[n>>2]|0}Hta(b)}_P(F);m=m+1|0;if(m>>>0>=(f[D>>2]|0)>>>0){b=G;z=108;break}}do if((z|0)==108){G=f[d>>2]|0;MA(J,G);J=f[b>>2]|0;XG(H,J);u=E;return}else if((z|0)==117){b=Ta(8)|0;x=0;Ga(461,b|0,49428);F=x;x=0;if(F&1){F=Ya()|0;bb(b|0);b=F}else{f[b>>2]=29804;x=0;Ia(77,b|0,6208,412);x=0;b=Ya()|0}F=b;E=d;E=f[E>>2]|0;MA(J,E);J=f[G>>2]|0;XG(H,J);jb(F|0)}else if((z|0)==129){b=Ta(8)|0;x=0;Ga(461,b|0,49428);F=x;x=0;if(F&1){z=Ya()|0;bb(b|0);b=z;z=149;break}else{f[b>>2]=29804;x=0;Ia(77,b|0,6208,412);x=0;b=Ya()|0;z=149;break}}else if((z|0)==134){b=Ya()|0;_P(F);z=151}else if((z|0)==138){E=Ya()|0;g=I;_P(b);b=E;z=153}else if((z|0)==148){b=Ya()|0;z=149}else if((z|0)==150){b=Ya()|0;z=151}else if((z|0)==152){b=Ya()|0;g=I;z=153}while(0);if((z|0)==149){F=b;E=d;E=f[E>>2]|0;MA(J,E);J=f[G>>2]|0;XG(H,J);jb(F|0)}else if((z|0)!=151)if((z|0)==153){a=f[n>>2]|0;if(a|0){e=f[o>>2]|0;if((e|0)!=(a|0)){do{E=e+-16|0;f[o>>2]=E;_P(e+-8|0);_P(E);e=f[o>>2]|0}while((e|0)!=(a|0));a=f[n>>2]|0}Hta(a)}_P(F)}F=b;E=d;E=f[E>>2]|0;MA(J,E);J=f[G>>2]|0;XG(H,J);jb(F|0)}case 30:{F=Ya()|0;Hta(b);b=F;z=67;break}case 63:{b=Ya()|0;break}case 64:{b=Ya()|0;z=106;break}case 65:{b=Ya()|0;z=68;break}case 66:{b=Ya()|0;z=67;break}case 69:{b=Ya()|0;g=I;z=77;break}case 70:{b=Ya()|0;a=I;z=76;break}case 71:{b=Ya()|0;g=I;a=f[y>>2]|0;if(!a){a=g;z=76}else{e=f[w>>2]|0;if((e|0)!=(a|0)){do{F=e+-16|0;f[w>>2]=F;_P(e+-8|0);_P(F);e=f[w>>2]|0}while((e|0)!=(a|0));a=f[y>>2]|0}Hta(a);a=g;z=76}break}case 92:{b=Ta(8)|0;x=0;Ga(461,b|0,49428);F=x;x=0;if(F&1){z=Ya()|0;bb(b|0);b=z;z=102;break}else{f[b>>2]=29804;x=0;Ia(77,b|0,6208,412);x=0;b=Ya()|0;z=102;break}}case 98:{b=Ya()|0;_P(h);z=104;break}case 101:{b=Ya()|0;z=102;break}case 103:{b=Ya()|0;z=104;break}}if((z|0)==67){_P(s);z=68}else if((z|0)==76){g=a;z=77}else if((z|0)==102)z=106;else if((z|0)==104)z=106;if((z|0)==68)z=106;else if((z|0)==77){a=f[B>>2]|0;if(a|0){e=f[A>>2]|0;if((e|0)!=(a|0)){do{F=e+-16|0;f[A>>2]=F;_P(e+-8|0);_P(F);e=f[A>>2]|0}while((e|0)!=(a|0));a=f[B>>2]|0}Hta(a)}z=106}if((z|0)==106)_P(C);F=b;E=d;E=f[E>>2]|0;MA(J,E);J=f[G>>2]|0;XG(H,J);jb(F|0)}while(0);F=d;F=f[F>>2]|0;MA(J,F);J=f[G>>2]|0;XG(H,J);u=E;return}function ve(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;M=0;C=u;u=u+400|0;E=C+380|0;H=C+368|0;B=C+356|0;z=C+344|0;A=C+304|0;w=C+40|0;l=C;L=C+288|0;K=C+276|0;h=C+264|0;i=C+240|0;j=C+200|0;N=C+160|0;e=C+252|0;k=C+184|0;t=C+176|0;v=C+120|0;G=C+112|0;D=C+104|0;J=C+96|0;F=C+80|0;y=c+76|0;s=f[y>>2]|0;g=VX(s)|0;s=g|0?g:s;s=(b[s>>0]|0)==41?s+1|0:0;g=c+80|0;a:do if(!((s|0)==0?1:s>>>0>(f[g>>2]|0)>>>0)){d=VN(48)|0;f[e>>2]=d;f[e+8>>2]=-2147483600;f[e+4>>2]=46;m=d;n=46324;o=m+46|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+46>>0]=0;x=0;Ga(459,N|0,e|0);s=x;x=0;do if(s&1)d=Ya()|0;else{s=c+108|0;x=0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];Ia(113,c|0,N|0,E|0);s=x;x=0;if(s&1){d=Ya()|0;if((b[N+11>>0]|0)>=0)break;Hta(f[N>>2]|0);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[e+11>>0]|0)>=0)break a;Hta(f[e>>2]|0);break a}while(0);if((b[e+11>>0]|0)>=0){N=d;jb(N|0)}Hta(f[e>>2]|0);N=d;jb(N|0)}while(0);e=f[y>>2]|0;d=VX(e)|0;e=d|0?d:e;d=FM(e)|0;if(!d)d=vM(e)|0;b:do if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0){d=VN(16)|0;f[E>>2]=d;f[E+8>>2]=-2147483632;f[E+4>>2]=11;m=d;n=44242;o=m+11|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+11>>0]=0;f[H+8>>2]=0;e=H+11|0;b[e>>0]=7;b[H>>0]=b[44254]|0;b[H+1>>0]=b[44255]|0;b[H+2>>0]=b[44256]|0;b[H+3>>0]=b[44257]|0;b[H+4>>0]=b[44258]|0;b[H+5>>0]=b[44259]|0;b[H+6>>0]=b[44260]|0;b[H+7>>0]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;d=qa(318,48)|0;s=x;x=0;do if(s&1)d=Ya()|0;else{f[B>>2]=d;f[B+8>>2]=-2147483600;f[B+4>>2]=36;m=d;n=46371;o=m+36|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+36>>0]=0;x=0;Ka(8,c|0,E|0,H|0,B|0,1);s=x;x=0;if(s&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[e>>0]|0)<0)Hta(f[H>>2]|0);if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);break b}while(0);if((b[e>>0]|0)<0)Hta(f[H>>2]|0);if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);N=d;jb(N|0)}while(0);Tq(N,c,0);p=c+168|0;f[K>>2]=f[p>>2];f[K+4>>2]=f[p+4>>2];f[K+8>>2]=f[p+8>>2];e=f[y>>2]|0;q=c+84|0;f[h>>2]=f[q>>2];f[h+4>>2]=f[q+4>>2];f[h+8>>2]=f[q+8>>2];r=c+96|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];s=c+108|0;m=j;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;ta(52,c|0,1,0)|0;o=x;x=0;c:do if(o&1)M=45;else{x=0;d=ta(90,c|0,1,0)|0;o=x;x=0;if(o&1)M=45;else{d:do if(!d){m=s;n=j;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[p>>2]=f[K>>2];f[p+4>>2]=f[K+4>>2];f[p+8>>2]=f[K+8>>2];f[y>>2]=e;f[r>>2]=f[i>>2];f[r+4>>2]=f[i+4>>2];f[r+8>>2]=f[i+8>>2];f[q>>2]=f[h>>2];f[q+4>>2]=f[h+4>>2];f[q+8>>2]=f[h+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;x=0;d=qa(318,48)|0;o=x;x=0;if(o&1){M=45;break c}f[k>>2]=d;f[k+8>>2]=-2147483600;f[k+4>>2]=38;m=d;n=45715;o=m+38|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+38>>0]=0;x=0;Ga(459,L|0,k|0);o=x;x=0;do if(o&1)d=Ya()|0;else{o=c+108|0;x=0;f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];f[E+8>>2]=f[o+8>>2];Ia(113,c|0,L|0,E|0);o=x;x=0;if(o&1){d=Ya()|0;if((b[L+11>>0]|0)>=0)break;Hta(f[L>>2]|0);break}if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);if((b[k+11>>0]|0)>=0)break d;Hta(f[k>>2]|0);break d}while(0);if((b[k+11>>0]|0)>=0)break c;Hta(f[k>>2]|0);break c}while(0);x=0;Ia(114,L|0,c|0,0);o=x;x=0;if(o&1)d=Ya()|0;else{x=0;k=qa(318,88)|0;o=x;x=0;e:do if(o&1)M=68;else{h=N+4|0;m=l;n=(f[h>>2]|0)+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,k|0);o=x;x=0;do if(o&1)d=Ya()|0;else{m=k+12|0;n=l;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,1);o=x;x=0;if(o&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{K=g+-8|0;f[j>>2]=K;Kc[f[f[K>>2]>>2]&511](K);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=1;b[k+84>>0]=0;b[k+85>>0]=0;b[k+86>>0]=0;f[d>>2]=5;x=0;Ga(462,K|0,k|0);o=x;x=0;if(o&1){M=68;break e}f[K>>2]=7584;d=f[L+4>>2]|0;f:do if((f[d+56>>2]|0)==5){x=0;d=qa(340,d|0)|0;t=x;x=0;g:do if(t&1)M=72;else{x=0;Ga(462,E|0,d|0);t=x;x=0;if(t&1)M=72;else{f[E>>2]=7584;d=K+4|0;do if(f[d>>2]|0){x=0;Fa(429,K|0);t=x;x=0;if(!(t&1))break;d=Ya()|0;_P(E);break g}while(0);M=E+4|0;f[d>>2]=f[M>>2];f[M>>2]=0;_P(E);M=79;break f}}while(0);if((M|0)==72)d=Ya()|0}else{e=(f[K+4>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,t|0,d|0);o=x;x=0;if(o&1)M=71;else{f[t>>2]=7696;x=0;Ga(g|0,e|0,t|0);o=x;x=0;if(o&1){d=Ya()|0;_P(t);break}else{_P(t);M=79;break}}}while(0);h:do if((M|0)==79){x=0;g=qa(318,76)|0;t=x;x=0;if(t&1)M=71;else{d=K+4|0;m=v;n=(f[d>>2]|0)+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(462,G|0,f[h>>2]|0);t=x;x=0;do if(t&1)d=Ya()|0;else{f[G>>2]=7696;x=0;Ga(462,J|0,f[d>>2]|0);t=x;x=0;if(t&1){d=Ya()|0;_P(G);break}f[J>>2]=7584;x=0;Ga(462,D|0,f[J+4>>2]|0);t=x;x=0;if(t&1){d=Ya()|0;e=1}else{f[D>>2]=7696;m=w;n=v;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,g|0);v=x;x=0;i:do if(v&1){d=1;M=105}else{m=g+12|0;n=w;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=12916;d=g+60|0;x=0;Ga(462,d|0,f[G+4>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[d>>2]=7696;e=g+68|0;x=0;Ga(462,e|0,f[D+4>>2]|0);w=x;x=0;if(w&1){H=Ya()|0;_P(d);d=H;break}f[e>>2]=7696;x=0;Ga(462,a|0,g|0);w=x;x=0;if(w&1){d=0;M=105;break i}f[a>>2]=13136;_P(D);_P(J);_P(G);f[E>>2]=f[p>>2];f[E+4>>2]=f[p+4>>2];f[E+8>>2]=f[p+8>>2];e=f[y>>2]|0;f[B>>2]=f[q>>2];f[B+4>>2]=f[q+4>>2];f[B+8>>2]=f[q+8>>2];f[z>>2]=f[r>>2];f[z+4>>2]=f[r+4>>2];f[z+8>>2]=f[r+8>>2];m=A;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;ta(52,c|0,1,0)|0;J=x;x=0;do if(J&1)M=109;else{x=0;d=ta(66,c|0,1,0)|0;J=x;x=0;if(J&1){M=109;break}if(d|0){_P(K);_P(L);_P(N);u=C;return}m=s;n=A;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[p>>2]=f[E>>2];f[p+4>>2]=f[E+4>>2];f[p+8>>2]=f[E+8>>2];f[y>>2]=e;f[r>>2]=f[z>>2];f[r+4>>2]=f[z+4>>2];f[r+8>>2]=f[z+8>>2];f[q>>2]=f[B>>2];f[q+4>>2]=f[B+4>>2];f[q+8>>2]=f[B+8>>2];f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;x=0;d=qa(318,48)|0;J=x;x=0;if(J&1){M=109;break}f[F>>2]=d;f[F+8>>2]=-2147483600;f[F+4>>2]=43;m=d;n=46408;o=m+43|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+43>>0]=0;x=0;Ga(459,H|0,F|0);J=x;x=0;do if(J&1)d=Ya()|0;else{J=c+108|0;x=0;f[E>>2]=f[J>>2];f[E+4>>2]=f[J+4>>2];f[E+8>>2]=f[J+8>>2];Ia(113,c|0,H|0,E|0);J=x;x=0;if(J&1){d=Ya()|0;if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0);break}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[F+11>>0]|0)>=0){_P(K);_P(L);_P(N);u=C;return}Hta(f[F>>2]|0);_P(K);_P(L);_P(N);u=C;return}while(0);if((b[F+11>>0]|0)>=0)break;Hta(f[F>>2]|0)}while(0);if((M|0)==109)d=Ya()|0;_P(a);break h}while(0);e=1}while(0);if((M|0)==105){H=Ya()|0;e=d;d=H}_P(D)}_P(J);_P(G);if(!e)break h}while(0);Hta(g)}}while(0);if((M|0)==71)d=Ya()|0;_P(K);break e}while(0);Hta(k)}while(0);if((M|0)==68)d=Ya()|0;_P(L)}}}while(0);if((M|0)==45)d=Ya()|0;_P(N);N=d;jb(N|0)}function we(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=0;K=u;u=u+416|0;t=K+80|0;Q=K+40|0;H=K;h=K+400|0;k=K+392|0;q=K+384|0;p=K+368|0;P=K+376|0;d=K+320|0;D=K+312|0;E=K+304|0;s=K+296|0;v=K+288|0;O=K+360|0;w=K+248|0;J=K+232|0;F=K+224|0;A=K+216|0;y=K+208|0;z=K+200|0;B=K+192|0;C=K+184|0;G=K+144|0;M=K+136|0;N=K+128|0;L=K+120|0;o=VN(88)|0;n=a+24|0;m=a+28|0;e=f[m>>2]|0;if((e|0)==(f[n>>2]|0))e=f[a+12>>2]|0;else e=e+-4|0;l=Q;i=(f[e>>2]|0)+12|0;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));x=0;Fa(427,o|0);r=x;x=0;do if(r&1)d=Ya()|0;else{l=o+12|0;i=Q;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));f[o>>2]=6976;f[o+52>>2]=0;f[o+56>>2]=0;b[o+60>>0]=0;e=o+64|0;f[e>>2]=6936;i=o+68|0;j=o+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);r=x;x=0;if(r&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{R=g+-8|0;f[j>>2]=R;Kc[f[f[R>>2]>>2]&511](R);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[o>>2]=6780;f[e>>2]=6880;b[o+84>>0]=0;e=f[m>>2]|0;if((e|0)==(f[n>>2]|0))e=f[a+12>>2]|0;else e=e+-4|0;r=f[e>>2]|0;qV(Q,Wba(vc[f[(f[r>>2]|0)+12>>2]&511](r)|0)|0);f[Q>>2]=18608;r=Q+4|0;e=f[r>>2]|0;x=0;Ga(462,k|0,o|0);o=x;x=0;a:do if(o&1)R=65;else{f[k>>2]=7280;g=e+64|0;e=e+68|0;if(!(f[e>>2]|0))R=18;else{x=0;Fa(429,g|0);o=x;x=0;if(!(o&1))R=18}if((R|0)==18){f[e>>2]=f[k+4>>2];x=0;Fa(430,g|0);o=x;x=0;if(!(o&1)){x=0;Ga(462,h|0,f[e>>2]|0);o=x;x=0;if(!(o&1)){f[h>>2]=7280;_P(h);_P(k);g=f[r>>2]|0;e=f[m>>2]|0;if((e|0)==(f[n>>2]|0))e=f[a+12>>2]|0;else e=e+-4|0;f[g+56>>2]=f[(f[e>>2]|0)+56>>2];x=0;Ga(462,q|0,f[g+68>>2]|0);o=x;x=0;if(o&1){R=65;break}f[q>>2]=7280;e=(f[q+4>>2]|0)+64|0;g=f[(f[e>>2]|0)+24>>2]|0;h=c+68|0;x=0;Ga(462,p|0,f[h>>2]|0);o=x;x=0;do if(o&1)d=Ya()|0;else{f[p>>2]=7280;o=f[p+4>>2]|0;x=0;Ga(g|0,e|0,((o|0)==0?0:o+64|0)|0);o=x;x=0;if(o&1){d=Ya()|0;_P(p);break}_P(p);_P(q);x=0;m=qa(318,88)|0;q=x;x=0;b:do if(q&1)d=Ya()|0;else{x=0;Ga(462,D|0,f[h>>2]|0);q=x;x=0;c:do if(q&1)d=Ya()|0;else{f[D>>2]=7280;do if(!(f[D+4>>2]|0)){l=d;i=c+12|0;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));k=0}else{x=0;Ga(462,E|0,f[h>>2]|0);q=x;x=0;if(q&1){d=Ya()|0;_P(D);break c}else{f[E>>2]=7280;l=d;i=(f[E+4>>2]|0)+12|0;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));k=1;break}}while(0);l=t;i=d;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));x=0;Fa(427,m|0);q=x;x=0;do if(q&1){d=1;R=73}else{l=m+12|0;i=t;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));f[m>>2]=6976;f[m+52>>2]=0;f[m+56>>2]=0;b[m+60>>0]=0;d=m+64|0;f[d>>2]=6936;i=m+68|0;j=m+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);q=x;x=0;if(q&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{P=g+-8|0;f[j>>2]=P;Kc[f[f[P>>2]>>2]&511](P);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}e=1;break}f[m>>2]=6780;f[d>>2]=6880;b[m+84>>0]=0;x=0;Ga(462,P|0,m|0);q=x;x=0;if(q&1){d=0;R=73;break}f[P>>2]=7280;if(k)_P(E);_P(D);g=P+4|0;d=(f[g>>2]|0)+64|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,v|0,f[r>>2]|0);E=x;x=0;d:do if(E&1)d=Ya()|0;else{f[v>>2]=18608;x=0;Ga(462,s|0,f[v+4>>2]|0);E=x;x=0;do if(E&1)d=Ya()|0;else{f[s>>2]=6920;x=0;Ga(e|0,d|0,s|0);E=x;x=0;if(E&1){d=Ya()|0;_P(s);break}_P(s);_P(v);x=0;h=qa(318,100)|0;E=x;x=0;e:do if(E&1)d=Ya()|0;else{l=w;i=c+12|0;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));x=0;Ga(459,J|0,c+72|0);E=x;x=0;do if(E&1)d=Ya()|0;else{x=0;Ga(462,F|0,f[c+88>>2]|0);E=x;x=0;if(E&1){d=Ya()|0;e=1}else{f[F>>2]=7168;x=0;Ga(462,A|0,f[g>>2]|0);E=x;x=0;if(E&1){d=Ya()|0;e=1}else{f[A>>2]=7280;x=0;Ga(462,y|0,0);E=x;x=0;if(E&1){d=Ya()|0;e=1}else{f[y>>2]=7696;x=0;l=t;i=w;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));La(22,h|0,t|0,J|0,F|0,A|0,y|0);E=x;x=0;do if(E&1)e=1;else{x=0;Ga(462,O|0,h|0);E=x;x=0;if(E&1){e=0;break}f[O>>2]=17128;_P(y);_P(A);_P(F);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);d=c+96|0;x=0;Ga(462,z|0,f[d>>2]|0);J=x;x=0;f:do if(J&1)R=94;else{f[z>>2]=7696;J=(f[z+4>>2]|0)==0;_P(z);g:do if(!J){e=f[O+4>>2]|0;x=0;Ga(462,C|0,f[d>>2]|0);J=x;x=0;if(J&1){R=94;break f}f[C>>2]=7696;g=e+92|0;d=e+96|0;if(!(f[d>>2]|0))R=60;else{x=0;Fa(429,g|0);J=x;x=0;if(!(J&1))R=60}do if((R|0)==60){f[d>>2]=f[C+4>>2];x=0;Fa(430,g|0);J=x;x=0;if(J&1)break;x=0;Ga(462,B|0,f[d>>2]|0);J=x;x=0;if(J&1)break;f[B>>2]=7696;_P(B);_P(C);break g}while(0);d=Ya()|0;_P(C);break f}while(0);x=0;e=qa(318,76)|0;J=x;x=0;if(J&1){d=Ya()|0;break}d=f[O+4>>2]|0;l=G;i=d+12|0;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));x=0;Ga(462,N|0,d|0);J=x;x=0;if(J&1)d=Ya()|0;else{f[N>>2]=17128;x=0;Ga(462,M|0,f[N+4>>2]|0);J=x;x=0;if(J&1)d=Ya()|0;else{f[M>>2]=6920;x=0;Ga(462,L|0,0);J=x;x=0;if(J&1)d=Ya()|0;else{f[L>>2]=6920;l=H;i=G;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));x=0;Fa(427,e|0);J=x;x=0;do if(J&1)d=Ya()|0;else{l=e+12|0;i=H;j=l+40|0;do{f[l>>2]=f[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(j|0));f[e+52>>2]=6;f[e+56>>2]=0;b[e+60>>0]=0;f[e>>2]=7296;d=e+64|0;x=0;Ga(462,d|0,f[M+4>>2]|0);J=x;x=0;if(J&1){d=Ya()|0;break}else{f[d>>2]=6920;b[e+72>>0]=(f[L+4>>2]|0)==0&1;_P(L);_P(M);_P(N);_P(O);_P(P);_P(Q);u=K;return e|0}}while(0);_P(L)}_P(M)}_P(N)}Hta(e)}while(0);if((R|0)==94)d=Ya()|0;_P(O);break e}while(0);d=Ya()|0;_P(y)}_P(A)}_P(F)}if((b[J+11>>0]|0)<0){Hta(f[J>>2]|0);if(e)break;else break e}else if(e)break;else break e}while(0);Hta(h)}while(0);break d}while(0);_P(v)}while(0);_P(P);break b}while(0);if((R|0)==73){P=Ya()|0;e=d;d=P}if(k){_P(E);_P(D);if(e)break;else break b}else{_P(D);if(e)break;else break b}}while(0);Hta(m)}while(0);break a}while(0);_P(q);break}}}d=Ya()|0;_P(k)}while(0);if((R|0)==65)d=Ya()|0;_P(Q);R=d;jb(R|0)}while(0);Hta(o);R=d;jb(R|0);return 0}function xe(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=0;D=u;u=u+416|0;w=D+368|0;K=D+344|0;i=D+360|0;j=D+352|0;k=D+336|0;J=D+328|0;l=D+320|0;H=D+308|0;m=D+304|0;E=D+124|0;t=D+112|0;o=D+104|0;p=D+88|0;q=D+80|0;s=D+72|0;C=D+96|0;v=D+64|0;y=D+24|0;A=D+16|0;B=D+8|0;z=D;qV(K,vc[f[(f[c>>2]|0)+12>>2]&511](c)|0);f[K>>2]=17208;n=a+4|0;d=f[n>>2]|0;e=d+204|0;r=K+4|0;x=0;Ga(462,i|0,f[r>>2]|0);G=x;x=0;if(G&1)d=Ya()|0;else{f[i>>2]=17208;x=0;Ga(462,w|0,f[i+4>>2]|0);G=x;x=0;do if(G&1)d=Ya()|0;else{f[w>>2]=6664;g=d+208|0;h=f[g>>2]|0;if(h>>>0<(f[d+212>>2]|0)>>>0){x=0;Ga(462,h|0,f[w+4>>2]|0);G=x;x=0;if(G&1)F=71;else{f[h>>2]=6664;f[g>>2]=(f[g>>2]|0)+8}}else{x=0;Ga(657,e|0,w|0);G=x;x=0;if(G&1)F=71}if((F|0)==71){d=Ya()|0;_P(w);break}_P(w);_P(i);d=f[r>>2]|0;x=0;Ga(462,k|0,0);G=x;x=0;if(G&1){J=Ya()|0;_P(K);jb(J|0)}f[k>>2]=7280;e=d+64|0;d=d+68|0;if(!(f[d>>2]|0))F=10;else{x=0;Fa(429,e|0);G=x;x=0;if(!(G&1))F=10}if((F|0)==10){f[d>>2]=f[k+4>>2];x=0;Fa(430,e|0);G=x;x=0;if(!(G&1)){x=0;Ga(462,j|0,f[d>>2]|0);G=x;x=0;if(!(G&1)){f[j>>2]=7280;_P(j);_P(k);x=0;Ga(462,l|0,f[c+76>>2]|0);G=x;x=0;do if(G&1)d=Ya()|0;else{f[l>>2]=7584;x=0;d=sa(521,a+12|0,f[l+4>>2]|0)|0;G=x;x=0;if(!(G&1)){x=0;Ga(462,J|0,d|0);G=x;x=0;if(!(G&1)){f[J>>2]=7696;_P(l);l=J+4|0;d=f[l>>2]|0;e=f[(f[d>>2]|0)+28>>2]|0;x=0;h=w;i=f[(f[n>>2]|0)+16>>2]|0;j=h+12|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));Ia(e|0,H|0,d|0,w|0);G=x;x=0;if(G&1)d=Ya()|0;else{G=H+11|0;x=0;d=qa(325,((b[G>>0]|0)<0?f[H>>2]|0:H)|0)|0;k=x;x=0;do if(k&1)F=79;else{f[m>>2]=d;e=f[n>>2]|0;g=e+220|0;h=f[g>>2]|0;if((h|0)==(f[e+224>>2]|0)){x=0;Ga(544,e+216|0,m|0);k=x;x=0;if(k&1){F=79;break}}else{f[h>>2]=d;f[g>>2]=(f[g>>2]|0)+4}e=f[m>>2]|0;d=f[n>>2]|0;x=0;Ga(511,t|0,f[a+8>>2]|0);n=x;x=0;do if(n&1)d=Ya()|0;else{x=0;h=w;i=(f[l>>2]|0)+12|0;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));La(12,E|0,e|0,d|0,t|0,w|0,0);n=x;x=0;if(n&1){d=Ya()|0;i=I;e=f[t>>2]|0;if(!e)break;j=t+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[t>>2]|0}Hta(e);break}d=f[t>>2]|0;if(d|0){h=t+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(d|0));d=f[t>>2]|0}Hta(d)}x=0;Ga(623,o|0,E|0);t=x;x=0;a:do if(t&1){d=Ya()|0;e=I;F=92}else{x=0;Ga(462,w|0,f[o+4>>2]|0);t=x;x=0;b:do if(t&1){d=Ya()|0;e=I}else{f[w>>2]=7696;do if(f[l>>2]|0){x=0;Fa(429,J|0);t=x;x=0;if(!(t&1))break;d=Ya()|0;e=I;_P(w);break b}while(0);d=w+4|0;f[l>>2]=f[d>>2];f[d>>2]=0;_P(w);_P(o);d=f[r>>2]|0;x=0;Ga(462,s|0,f[l>>2]|0);t=x;x=0;if(t&1){d=Ya()|0;k=I;break a}f[s>>2]=7696;x=0;Ga(462,q|0,f[s+4>>2]|0);t=x;x=0;if(t&1){d=Ya()|0;e=I}else{f[q>>2]=7584;e=d+72|0;d=d+76|0;if(!(f[d>>2]|0))F=37;else{x=0;Fa(429,e|0);t=x;x=0;if(!(t&1))F=37}do if((F|0)==37){f[d>>2]=f[q+4>>2];x=0;Fa(430,e|0);t=x;x=0;if(t&1)break;x=0;Ga(462,p|0,f[d>>2]|0);t=x;x=0;if(t&1)break;f[p>>2]=7584;_P(p);_P(q);_P(s);d=f[r>>2]|0;f[w>>2]=d;g=a+108|0;e=f[g>>2]|0;do if(e>>>0<(f[a+112>>2]|0)>>>0){f[e>>2]=d;f[g>>2]=(f[g>>2]|0)+4}else{x=0;Ga(658,a+104|0,w|0);t=x;x=0;if(!(t&1))break;d=Ya()|0;k=I;break a}while(0);d=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,v|0,f[c+68>>2]|0);t=x;x=0;c:do if(t&1){d=Ya()|0;e=I}else{f[v>>2]=7280;x=0;d=sa(d|0,a|0,f[v+4>>2]|0)|0;t=x;x=0;do if(!(t&1)){x=0;Ga(462,C|0,d|0);t=x;x=0;if(t&1)break;f[C>>2]=7280;_P(v);x=0;k=qa(318,80)|0;v=x;x=0;if(v&1){d=Ya()|0;e=I}else{h=y;i=c+12|0;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));x=0;Ga(462,B|0,f[l>>2]|0);v=x;x=0;if(v&1){d=Ya()|0;e=I}else{f[B>>2]=7696;x=0;Ga(462,A|0,f[B+4>>2]|0);v=x;x=0;if(v&1){d=Ya()|0;e=I}else{f[A>>2]=7584;x=0;Ga(462,z|0,f[C+4>>2]|0);v=x;x=0;do if(v&1){d=Ya()|0;e=I}else{f[z>>2]=7280;x=0;h=w;i=y;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));Ja(39,k|0,w|0,A|0,z|0);y=x;x=0;if(y&1){d=Ya()|0;e=I;_P(z);break}_P(z);_P(A);_P(B);f[g>>2]=(f[g>>2]|0)+-4;f[k+56>>2]=f[c+56>>2];_P(C);h=E+148|0;d=f[h>>2]|0;if(d|0){i=E+152|0;e=f[i>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[i>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}else e=g}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}d=f[E+56>>2]|0;if(d|0){e=E+60|0;g=f[e>>2]|0;if((g|0)!=(d|0))f[e>>2]=g+(~((g+-4-d|0)>>>2)<<2);Hta(d)}h=E+44|0;d=f[h>>2]|0;if(d|0){g=E+48|0;e=f[g>>2]|0;if((e|0)!=(d|0)){do{F=e+-8|0;f[g>>2]=F;Kc[f[f[F>>2]>>2]&511](F);e=f[g>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}if((b[G>>0]|0)>=0){_P(J);_P(K);u=D;return k|0}Hta(f[H>>2]|0);_P(J);_P(K);u=D;return k|0}while(0);_P(A)}_P(B)}Hta(k)}_P(C);break c}while(0);d=Ya()|0;e=I;_P(v)}while(0);k=e;break a}while(0);d=Ya()|0;e=I;_P(q)}_P(s);k=e;break a}while(0);_P(o);F=92}while(0);if((F|0)==92)k=e;i=E+148|0;e=f[i>>2]|0;if(e|0){j=E+152|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}e=f[E+56>>2]|0;if(e|0){g=E+60|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~((h+-4-e|0)>>>2)<<2);Hta(e)}i=E+44|0;e=f[i>>2]|0;if(!e)break;h=E+48|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{E=g+-8|0;f[h>>2]=E;Kc[f[f[E>>2]>>2]&511](E);g=f[h>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}while(0)}while(0);if((F|0)==79)d=Ya()|0;if((b[G>>0]|0)<0)Hta(f[H>>2]|0)}_P(J);break}}d=Ya()|0;_P(l)}while(0);J=d;_P(K);jb(J|0)}}}J=Ya()|0;_P(k);_P(K);jb(J|0)}while(0);_P(i)}J=d;_P(K);jb(J|0);return 0}function ye(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.0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0;T=0;U=u;u=u+336|0;V=U+104|0;S=U;O=U+332|0;m=U+320|0;n=U+280|0;o=U+268|0;W=U+224|0;A=U+264|0;B=U+260|0;C=U+256|0;D=U+252|0;E=U+248|0;F=U+244|0;G=U+240|0;H=U+236|0;J=U+232|0;K=U+216|0;L=U+212|0;M=U+208|0;N=c+88|0;R=+p[N>>3];P=d+88|0;l=+p[P>>3];e=l==0.0;if((a|0)==12&e){h=VN(80)|0;i=m+4|0;f[i>>2]=0;f[i+4>>2]=0;i=m+11|0;b[i>>0]=3;b[m>>0]=b[52433]|0;b[m+1>>0]=b[52434]|0;b[m+2>>0]=b[52435]|0;b[m+3>>0]=0;x=0;e=V;j=g;k=e+40|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));Na(1,h|0,V|0,m|0,0,0,0,1,1);W=x;x=0;if(W&1){e=Ya()|0;if((b[i>>0]|0)<0)Hta(f[m>>2]|0);Hta(h);W=e;jb(W|0)}else{if((b[i>>0]|0)>=0){W=h;u=U;return W|0}Hta(f[m>>2]|0);W=h;u=U;return W|0}}w=(a|0)==11;if(w&e){W=R!=0.0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;h=W?8:3;i=S+11|0;b[i>>0]=h;Lu(S|0,(W?52437:52433)|0,h|0)|0;b[S+h>>0]=0;x=0;h=qa(318,80)|0;W=x;x=0;if(W&1)e=Ya()|0;else{e=n;j=g;k=e+40|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));x=0;Ga(459,o|0,S|0);W=x;x=0;do if(W&1)e=Ya()|0;else{x=0;e=V;j=n;k=e+40|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));Na(1,h|0,V|0,o|0,0,0,0,1,1);W=x;x=0;if(W&1){e=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[i>>0]|0)<0)Hta(f[S>>2]|0);W=h;u=U;return W|0}while(0);Hta(h)}if((b[i>>0]|0)<0)Hta(f[S>>2]|0);W=e;jb(W|0)}v=c+60|0;h=f[c+64>>2]|0;e=f[v>>2]|0;i=h-e|0;r=(i|0)/12|0;y=d+60|0;Q=d+72|0;z=d+76|0;t=f[Q>>2]|0;s=(f[z>>2]|0)-t|0;q=(s|0)/12|0;a:do if((r|0)==(q|0)&((q|r)&2147483647|0)==0){j=f[y>>2]|0;if((i|0)==((f[d+64>>2]|0)-j|0)){if((e|0)!=(h|0)){r=j;while(1){j=b[e+11>>0]|0;m=j<<24>>24<0;j=j&255;n=m?f[e+4>>2]|0:j;q=b[r+11>>0]|0;i=q<<24>>24<0;if((n|0)!=((i?f[r+4>>2]|0:q&255)|0)){T=51;break a}o=f[e>>2]|0;q=m?o:e;i=i?f[r>>2]|0:r;k=(n|0)==0;b:do if(m){if(!k)if(lO(q,i,n)|0){T=51;break a}}else if(!k){if((b[i>>0]|0)==(o&255)<<24>>24)k=e;else{T=51;break a}while(1){j=j+-1|0;k=k+1|0;if(!j)break b;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){T=51;break a}}}while(0);e=e+12|0;if((e|0)==(h|0))break;else r=r+12|0}}o=f[c+76>>2]|0;q=f[c+72>>2]|0;e=q;r=o;if((o-q|0)==(s|0)){if((e|0)!=(r|0)){q=t;while(1){i=b[e+11>>0]|0;k=i<<24>>24<0;i=i&255;m=k?f[e+4>>2]|0:i;t=b[q+11>>0]|0;h=t<<24>>24<0;if((m|0)!=((h?f[q+4>>2]|0:t&255)|0)){T=51;break a}n=f[e>>2]|0;o=k?n:e;h=h?f[q>>2]|0:q;j=(m|0)==0;c:do if(k){if(!j)if(lO(o,h,m)|0){T=51;break a}}else if(!j){if((b[h>>0]|0)==(n&255)<<24>>24)j=e;else{T=51;break a}while(1){i=i+-1|0;j=j+1|0;if(!i)break c;h=h+1|0;if((b[j>>0]|0)!=(b[h>>0]|0)){T=51;break a}}}while(0);e=e+12|0;if((e|0)==(r|0))break;else q=q+12|0}}e=vc[f[(f[c>>2]|0)+12>>2]&511](c)|0;R=+jc[f[20408+(a<<2)>>2]&7](R,l);f[e+100>>2]=0;p[e+88>>3]=R}else T=51}else T=51}else T=51;while(0);d:do if((T|0)==51){qV(W,vc[f[(f[c>>2]|0)+12>>2]&511](c)|0);f[W>>2]=16744;x=0;e=qa(338,v|0)|0;T=x;x=0;e:do if(T&1)T=59;else{f:do if(e){switch(a|0){case 10:{T=61;break f}case 8:case 9:case 12:break;default:{T=67;break f}}h=W+4|0;e=f[h>>2]|0;i=e+60|0;if((i|0)!=(y|0)){x=0;Ia(155,i|0,f[y>>2]|0,f[d+64>>2]|0);T=x;x=0;if(T&1){T=59;break e}e=f[h>>2]|0}if((e|0)==(d|0))T=60;else{x=0;Ia(155,e+72|0,f[Q>>2]|0,f[z>>2]|0);T=x;x=0;if(T&1){T=59;break e}else T=60}}else T=60;while(0);if((T|0)==60)if((a|0)==10)T=61;else T=67;g:do if((T|0)==61){e=W+4|0;h=f[e>>2]|0;x=0;l=+ea(f[20408+(a<<2)>>2]|0,+R,+l);a=x;x=0;if(a&1){T=59;break e}f[h+100>>2]=0;p[h+88>>3]=l;a=f[e>>2]|0;f[A>>2]=f[a+64>>2];f[B>>2]=f[y>>2];f[C>>2]=f[d+64>>2];x=0;f[O>>2]=f[A>>2];f[S>>2]=f[B>>2];f[V>>2]=f[C>>2];ua(20,a+60|0,O|0,S|0,V|0)|0;d=x;x=0;if(d&1){e=Ya()|0;break e}d=f[e>>2]|0;f[D>>2]=f[d+76>>2];f[E>>2]=f[Q>>2];f[F>>2]=f[z>>2];x=0;f[O>>2]=f[D>>2];f[S>>2]=f[E>>2];f[V>>2]=f[F>>2];ua(20,d+72|0,O|0,S|0,V|0)|0;V=x;x=0;if(V&1){e=Ya()|0;break e}else{x=0;Fa(442,f[e>>2]|0);V=x;x=0;if(V&1){T=59;break e}else break}}else if((T|0)==67){if(w){e=W+4|0;h=f[e>>2]|0;x=0;l=+ea(4,+R,+l);a=x;x=0;if(a&1){T=59;break e}f[h+100>>2]=0;p[h+88>>3]=l;a=f[e>>2]|0;f[G>>2]=f[a+64>>2];f[H>>2]=f[Q>>2];f[J>>2]=f[z>>2];x=0;f[O>>2]=f[G>>2];f[S>>2]=f[H>>2];f[V>>2]=f[J>>2];ua(20,a+60|0,O|0,S|0,V|0)|0;a=x;x=0;if(a&1){e=Ya()|0;break e}a=f[e>>2]|0;f[K>>2]=f[a+76>>2];f[L>>2]=f[y>>2];f[M>>2]=f[d+64>>2];x=0;f[O>>2]=f[K>>2];f[S>>2]=f[L>>2];f[V>>2]=f[M>>2];ua(20,a+72|0,O|0,S|0,V|0)|0;V=x;x=0;if(V&1){e=Ya()|0;break e}else{x=0;Fa(442,f[e>>2]|0);V=x;x=0;if(V&1){T=59;break e}else break}}e=V+4|0;j=c+4|0;f[e>>2]=f[j>>2];b[e+4>>0]=b[j+4>>0]|0;e=V+12|0;j=c+12|0;k=e+40|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));M=c+52|0;O=f[M+4>>2]|0;o=V+52|0;f[o>>2]=f[M>>2];f[o+4>>2]=O;f[V>>2]=6516;o=V+60|0;x=0;Ga(458,o|0,c+60|0);O=x;x=0;do if(O&1){e=Ya()|0;T=127}else{x=0;Ga(458,V+72|0,c+72|0);c=x;x=0;if(c&1){e=Ya()|0;k=I;h=f[o>>2]|0;if(!h){T=127;break}j=V+64|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[j>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[j>>2]|0}}while((i|0)!=(h|0));h=f[o>>2]|0}Hta(h);T=127;break}f[V>>2]=6384;e=V+88|0;f[e>>2]=f[N>>2];f[e+4>>2]=f[N+4>>2];f[e+8>>2]=f[N+8>>2];f[e+12>>2]=f[N+12>>2];e=S+4|0;j=d+4|0;f[e>>2]=f[j>>2];b[e+4>>0]=b[j+4>>0]|0;e=S+12|0;j=d+12|0;k=e+40|0;do{f[e>>2]=f[j>>2];e=e+4|0;j=j+4|0}while((e|0)<(k|0));O=d+52|0;c=f[O+4>>2]|0;n=S+52|0;f[n>>2]=f[O>>2];f[n+4>>2]=c;f[S>>2]=6516;n=S+60|0;x=0;Ga(458,n|0,d+60|0);d=x;x=0;do if(d&1){e=Ya()|0;h=I;T=128}else{x=0;Ga(458,S+72|0,Q|0);d=x;x=0;if(d&1){e=Ya()|0;k=I;h=f[n>>2]|0;if(!h){h=k;T=128;break}j=S+64|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[j>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[j>>2]|0}}while((i|0)!=(h|0));h=f[n>>2]|0}Hta(h);h=k;T=128;break}f[S>>2]=6384;h=S+88|0;f[h>>2]=f[P>>2];f[h+4>>2]=f[P+4>>2];f[h+8>>2]=f[P+8>>2];f[h+12>>2]=f[P+12>>2];x=0;Fa(442,V|0);d=x;x=0;if(!(d&1)){x=0;Fa(442,S|0);d=x;x=0;if(!(d&1)){x=0;l=+ha(1,n|0,o|0);d=x;x=0;if(!(d&1)){e=W+4|0;i=f[e>>2]|0;x=0;l=+ea(f[20408+(a<<2)>>2]|0,+R,+(l*+p[h>>3]));d=x;x=0;if(!(d&1)){f[i+100>>2]=0;p[i+88>>3]=l;j=S+72|0;h=f[j>>2]|0;if(h|0){k=S+76|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[k>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}}while((i|0)!=(h|0));h=f[j>>2]|0}Hta(h)}h=f[n>>2]|0;if(h|0){j=S+64|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[j>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[j>>2]|0}}while((i|0)!=(h|0));h=f[n>>2]|0}Hta(h)}j=V+72|0;h=f[j>>2]|0;if(h|0){k=V+76|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[k>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}}while((i|0)!=(h|0));h=f[j>>2]|0}Hta(h)}h=f[o>>2]|0;if(h|0){j=V+64|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[j>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[j>>2]|0}}while((i|0)!=(h|0));h=f[o>>2]|0}Hta(h)}break g}}}}e=Ya()|0;m=I;j=S+72|0;h=f[j>>2]|0;if(h|0){k=S+76|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[k>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}}while((i|0)!=(h|0));h=f[j>>2]|0}Hta(h)}h=f[n>>2]|0;if(h|0){j=S+64|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[j>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[j>>2]|0}}while((i|0)!=(h|0));h=f[n>>2]|0}Hta(h)}}while(0);if((T|0)==128)m=h;j=V+72|0;h=f[j>>2]|0;if(h|0){k=V+76|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[k>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}}while((i|0)!=(h|0));h=f[j>>2]|0}Hta(h)}h=f[o>>2]|0;if(h|0){j=V+64|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{i=i+-12|0;f[j>>2]=i;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[j>>2]|0}}while((i|0)!=(h|0));h=f[o>>2]|0}Hta(h)}}while(0);break e}while(0);e=f[e>>2]|0;DP(e+12|0,g|0,40)|0;if(!e)e=0;else b[e+8>>0]=1;_P(W);break d}while(0);if((T|0)==59)e=Ya()|0;_P(W);W=e;jb(W|0)}while(0);W=e;u=U;return W|0}function ze(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;E=0;D=u;u=u+432|0;C=D+80|0;B=D+40|0;F=D;G=D+376|0;e=D+424|0;g=D+384|0;s=D+288|0;t=D+336|0;v=D+320|0;h=D+312|0;l=D+304|0;m=D+280|0;o=D+264|0;n=D+224|0;w=D+208|0;q=D+200|0;r=D+192|0;i=D+184|0;j=D+176|0;z=D+136|0;A=D+120|0;y=c+68|0;qV(e,f[y>>2]|0);f[e>>2]=7696;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;k=x;x=0;if(!(k&1)){x=0;Ga(462,G|0,d|0);k=x;x=0;if(!(k&1)){f[G>>2]=7696;_P(e);e=c+60|0;do if((f[e>>2]|0)==2){x=0;e=qa(318,68)|0;E=x;x=0;if(E&1){d=Ya()|0;break}j=g;h=c+12|0;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));d=f[G+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+76>>2]|0,d|0)|0;E=x;x=0;if(!(E&1)){j=F;h=g;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));x=0;Fa(427,e|0);E=x;x=0;if(!(E&1)){j=e+12|0;h=F;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e>>2]=11240;f[e+56>>2]=1;f[e+64>>2]=0;b[e+60>>0]=(d^1)&1;F=e;_P(G);u=D;return F|0}}d=Ya()|0;Hta(e)}else{k=G+4|0;d=f[k>>2]|0;if(!d)d=0;else d=(f[49]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,F|0,d|0);g=x;x=0;do if(g&1)d=Ya()|0;else{f[F>>2]=16744;d=f[F+4>>2]|0;a:do if(!d){d=f[k>>2]|0;b:do if((f[d+56>>2]|0)==8){x=0;Ga(462,h|0,f[y>>2]|0);v=x;x=0;if(!(v&1)){f[h>>2]=7696;d=f[h+4>>2]|0;if(d|0)if((f[315]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(h);x=0;g=qa(318,80)|0;B=x;x=0;if(B&1)break;a=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;j=C;h=c+12|0;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));Na(1,g|0,C|0,o|0,0,0,0,1,1);B=x;x=0;if(B&1){d=1;E=74}else{x=0;Ga(462,m|0,g|0);B=x;x=0;if(B&1){d=0;E=74}else{f[m>>2]=7696;f[c+72>>2]=0;d=c+64|0;if(!(f[y>>2]|0))E=70;else{x=0;Fa(429,d|0);B=x;x=0;if(!(B&1))E=70}do if((E|0)==70){f[y>>2]=f[m+4>>2];x=0;Fa(430,d|0);B=x;x=0;if(B&1)break;x=0;Ga(462,l|0,f[y>>2]|0);B=x;x=0;if(B&1)break;f[l>>2]=7696;_P(l);_P(m);if((b[a>>0]|0)>=0){E=121;break b}Hta(f[o>>2]|0);E=121;break b}while(0);d=Ya()|0;_P(m);e=0}}if((E|0)==74){E=Ya()|0;e=d;d=E}if((b[a>>0]|0)<0){Hta(f[o>>2]|0);if(!e){E=131;break a}}else if(!e){E=131;break a}Hta(g);E=131;break a}_P(h);e=f[k>>2]|0;E=80}}else{e=d;E=80}while(0);c:do if((E|0)==80){d:do if(!e)E=114;else if((f[319]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){g=e+96|0;d=b[g+11>>0]|0;if(d<<24>>24<0)d=f[g+4>>2]|0;else d=d&255;if(!d){E=121;break c}x=0;a=qa(318,80)|0;v=x;x=0;e:do if(v&1)d=Ya()|0;else{j=n;h=e+12|0;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));x=0;Ga(459,w|0,g|0);v=x;x=0;do if(v&1)d=Ya()|0;else{j=B;h=n;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));x=0;Fa(427,a|0);v=x;x=0;f:do if(v&1){d=1;E=105}else{j=a+12|0;h=B;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));b[a+52>>0]=0;b[a+53>>0]=0;b[a+54>>0]=0;f[a+56>>2]=4;f[a>>2]=11668;b[a+60>>0]=0;b[a+61>>0]=0;x=0;Ia(101,a+64|0,w|0,1);B=x;x=0;if(B&1){d=Ya()|0;e=1;E=106;break}f[a+76>>2]=0;x=0;Ga(462,C|0,a|0);B=x;x=0;if(B&1){d=0;E=105;break}f[C>>2]=7696;do if(f[k>>2]|0){x=0;Fa(429,G|0);B=x;x=0;if(!(B&1))break;d=Ya()|0;_P(C);e=0;break f}while(0);B=C+4|0;f[k>>2]=f[B>>2];f[B>>2]=0;_P(C);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);x=0;Ga(462,r|0,f[k>>2]|0);B=x;x=0;if(B&1)break d;f[r>>2]=7696;f[c+72>>2]=0;d=c+64|0;if(!(f[y>>2]|0))E=99;else{x=0;Fa(429,d|0);B=x;x=0;if(!(B&1))E=99}do if((E|0)==99){f[y>>2]=f[r+4>>2];x=0;Fa(430,d|0);E=x;x=0;if(E&1)break;x=0;Ga(462,q|0,f[y>>2]|0);E=x;x=0;if(E&1)break;f[q>>2]=7696;_P(q);_P(r);E=121;break c}while(0);d=Ya()|0;_P(r);E=131;break a}while(0);if((E|0)==105){D=Ya()|0;e=d;d=D;E=106}if((b[w+11>>0]|0)<0){Hta(f[w>>2]|0);if(e)break;else break e}else if(e)break;else break e}while(0);Hta(a)}while(0);E=131;break a}else E=114;while(0);if((E|0)==114){x=0;Ga(462,j|0,e|0);B=x;x=0;if(!(B&1)){f[j>>2]=7696;f[c+72>>2]=0;d=c+64|0;if(!(f[y>>2]|0))E=117;else{x=0;Fa(429,d|0);B=x;x=0;if(!(B&1))E=117}if((E|0)==117){f[y>>2]=f[j+4>>2];x=0;Fa(430,d|0);E=x;x=0;if(!(E&1)){x=0;Ga(462,i|0,f[y>>2]|0);E=x;x=0;if(!(E&1)){f[i>>2]=7696;_P(i);_P(j);E=121;break}}}d=Ya()|0;_P(j);E=131;break a}}d=Ya()|0;E=131;break a}while(0);if((E|0)==121){x=0;e=qa(318,80)|0;B=x;x=0;if(!(B&1)){j=z;h=c+12|0;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));x=0;Ga(f[(f[c>>2]|0)+20>>2]|0,A|0,c|0);c=x;x=0;do if(c&1)d=Ya()|0;else{x=0;j=C;h=z;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));Na(1,e|0,C|0,A|0,0,0,0,1,1);C=x;x=0;if(C&1){d=Ya()|0;if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0);break}else{if((b[A+11>>0]|0)>=0){d=e;break a}Hta(f[A>>2]|0);d=e;break a}}while(0);Hta(e);E=131;break}}d=Ya()|0;E=131}else switch(f[e>>2]|0){case 1:{x=0;d=qa(f[(f[d>>2]|0)+12>>2]|0,d|0)|0;c=x;x=0;if(!(c&1)){x=0;Ga(462,C|0,d|0);c=x;x=0;if(!(c&1)){f[C>>2]=16744;d=f[C+4>>2]|0;c=d+88|0;H=-+p[c>>3];f[d+100>>2]=0;p[c>>3]=H;if(!d)d=0;else b[d+8>>0]=1;_P(C);break a}}d=Ya()|0;E=131;break a}case 3:{e=f[(f[d>>2]|0)+28>>2]|0;x=0;j=C;h=f[(f[a+8>>2]|0)+16>>2]|0;i=j+12|0;do{b[j>>0]=b[h>>0]|0;j=j+1|0;h=h+1|0}while((j|0)<(i|0));Ia(e|0,s|0,d|0,C|0);A=x;x=0;g:do if(A&1){d=Ya()|0;E=49}else{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;h=s+11|0;a=b[h>>0]|0;g=a<<24>>24<0;a=g?f[s+4>>2]|0:a&255;d=a+1|0;do if(d>>>0>4294967279){x=0;Fa(428,B|0);x=0}else{if(d>>>0<11){b[B+11>>0]=1;d=B}else{e=a+17&-16;x=0;d=qa(318,e|0)|0;A=x;x=0;if(A&1)break;f[B>>2]=d;f[B+8>>2]=e|-2147483648;f[B+4>>2]=1}b[d>>0]=47;b[d+1>>0]=0;x=0;ta(41,B|0,(g?f[s>>2]|0:s)|0,a|0)|0;A=x;x=0;if(!(A&1)){if((b[h>>0]|0)<0)Hta(f[s>>2]|0);x=0;e=qa(318,80)|0;A=x;x=0;if(A&1)d=Ya()|0;else{j=t;h=c+12|0;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));x=0;Ga(459,v|0,B|0);c=x;x=0;do if(c&1)d=Ya()|0;else{j=C;h=t;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));x=0;Fa(427,e|0);c=x;x=0;do if(c&1)d=Ya()|0;else{j=e+12|0;h=C;i=j+40|0;do{f[j>>2]=f[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(i|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e+56>>2]=4;f[e>>2]=11668;b[e+60>>0]=0;b[e+61>>0]=0;x=0;Ia(101,e+64|0,v|0,1);C=x;x=0;if(C&1){d=Ya()|0;break}f[e+76>>2]=0;if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);d=e;break a}while(0);if((b[v+11>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0);Hta(e)}if((b[B+11>>0]|0)>=0)break g;Hta(f[B>>2]|0);break g}}while(0);d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[h>>0]|0)<0){Hta(f[s>>2]|0);E=49}else E=49}while(0);E=131;break a}default:{b[d+8>>0]=1;break a}}while(0);if((E|0)==131){_P(F);break}_P(F);F=d;_P(G);u=D;return F|0}while(0)}while(0);_P(G);G=d;jb(G|0)}}G=Ya()|0;_P(e);jb(G|0);return 0}function Ae(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,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=0;K=u;u=u+320|0;E=K;N=K+304|0;P=K+280|0;g=K+296|0;h=K+288|0;L=K+232|0;o=K+240|0;B=K+224|0;q=K+188|0;M=K+212|0;z=K+200|0;t=K+176|0;n=K+168|0;p=K+128|0;v=K+120|0;w=K+112|0;r=K+104|0;F=K+96|0;e=K+88|0;G=K+80|0;C=K+72|0;H=K+64|0;J=K+56|0;I=K+48|0;D=K+40|0;i=c+76|0;qV(g,f[i>>2]|0);f[g>>2]=7904;x=0;d=qa(319,f[g+4>>2]|0)|0;A=x;x=0;if(!(A&1)){x=0;Ga(462,P|0,d|0);A=x;x=0;if(!(A&1)){f[P>>2]=7904;_P(g);s=a+24|0;A=a+28|0;d=f[A>>2]|0;if((d|0)==(f[s>>2]|0))d=f[a+12>>2]|0;else d=d+-4|0;m=f[d>>2]|0;a:do if(!m)O=61;else if((f[153]|0)==(f[(f[(f[m>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;Ga(462,h|0,f[m+76>>2]|0);y=x;x=0;do if(y&1)d=Ya()|0;else{f[h>>2]=7904;x=0;d=qa(319,f[h+4>>2]|0)|0;y=x;x=0;if(!(y&1)){x=0;Ga(462,N|0,d|0);y=x;x=0;if(!(y&1)){f[N>>2]=7904;_P(h);x=0;y=qa(318,80)|0;l=x;x=0;b:do if(l&1){d=Ya()|0;O=56}else{x=0;Ga(462,B|0,f[i>>2]|0);l=x;x=0;if(l&1)d=Ya()|0;else{f[B>>2]=7904;j=o;k=(f[B+4>>2]|0)+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));l=f[N+4>>2]|0;x=0;Ga(f[(f[l>>2]|0)+32>>2]|0,z|0,l|0);l=x;x=0;if(l&1){d=Ya()|0;e=1}else{x=0;Ia(79,M|0,z|0,52295);l=x;x=0;do if(l&1){d=Ya()|0;e=1}else{g=P+4|0;l=f[g>>2]|0;x=0;Ga(f[(f[l>>2]|0)+32>>2]|0,t|0,l|0);l=x;x=0;do if(l&1){d=Ya()|0;e=1}else{h=t+11|0;d=b[h>>0]|0;l=d<<24>>24<0;x=0;d=ta(41,M|0,(l?f[t>>2]|0:t)|0,(l?f[t+4>>2]|0:d&255)|0)|0;l=x;x=0;do if(l&1){d=Ya()|0;e=1}else{f[q>>2]=f[d>>2];f[q+4>>2]=f[d+4>>2];f[q+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=E;k=o;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,y|0);o=x;x=0;c:do if(o&1){e=1;O=43}else{j=y+12|0;k=E;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[y+52>>0]=0;b[y+53>>0]=0;b[y+54>>0]=0;f[y+56>>2]=4;f[y>>2]=11668;b[y+60>>0]=0;b[y+61>>0]=0;x=0;Ia(101,y+64|0,q|0,1);o=x;x=0;if(o&1){d=Ya()|0;e=1;O=44;break}f[y+76>>2]=0;x=0;Ga(462,L|0,y|0);o=x;x=0;if(o&1){e=0;O=43;break}f[L>>2]=7904;do if(f[g>>2]|0){x=0;Fa(429,P|0);o=x;x=0;if(!(o&1))break;d=Ya()|0;_P(L);e=0;break c}while(0);y=L+4|0;f[g>>2]=f[y>>2];f[y>>2]=0;_P(L);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[h>>0]|0)<0)Hta(f[t>>2]|0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);_P(B);x=0;Ga(462,n|0,f[m+84>>2]|0);B=x;x=0;if(B&1){d=Ya()|0;break b}f[n>>2]=7696;O=(f[n+4>>2]|0)==0;_P(n);if(O)f[c+56>>2]=(f[m+56>>2]|0)+1;_P(N);O=61;break a}while(0);if((O|0)==43){d=Ya()|0;O=44}if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0)}while(0);if((b[h>>0]|0)>=0)break;Hta(f[t>>2]|0)}while(0);if((b[M+11>>0]|0)>=0)break;Hta(f[M>>2]|0)}while(0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0)}_P(B);if(!e){O=56;break}}Hta(y);O=56}while(0);_P(N);break}}d=Ya()|0;_P(h)}while(0)}else O=61;while(0);if((O|0)==61){x=0;i=qa(318,92)|0;B=x;x=0;d:do if(B&1)d=Ya()|0;else{j=p;k=c+12|0;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(462,v|0,f[P+4>>2]|0);B=x;x=0;do if(B&1)d=Ya()|0;else{f[v>>2]=7904;x=0;Ga(462,w|0,f[c+84>>2]|0);B=x;x=0;if(B&1){d=Ya()|0;_P(v);break}f[w>>2]=7696;g=b[c+88>>0]|0;d=b[c+89>>0]|0;x=0;Ga(462,r|0,0);B=x;x=0;if(B&1){d=Ya()|0;e=1}else{h=d<<24>>24!=0;d=g<<24>>24!=0;f[r>>2]=7280;x=0;j=E;k=p;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ma(7,i|0,E|0,v|0,w|0,d|0,h|0,r|0);B=x;x=0;if(B&1)e=1;else{x=0;Ga(462,L|0,i|0);B=x;x=0;if(B&1)e=0;else{f[L>>2]=17112;_P(r);_P(w);_P(v);h=L+4|0;d=f[h>>2]|0;b[d+90>>0]=b[c+90>>0]|0;f[d+56>>2]=f[c+56>>2];f[E>>2]=d;g=f[A>>2]|0;if(g>>>0<(f[a+32>>2]|0)>>>0){f[g>>2]=d;f[A>>2]=(f[A>>2]|0)+4;O=70}else{x=0;Ga(662,s|0,E|0);B=x;x=0;if(B&1)d=Ya()|0;else O=70}if((O|0)==70){d=c+68|0;x=0;Ga(462,F|0,f[d>>2]|0);B=x;x=0;e:do if(B&1)d=Ya()|0;else{f[F>>2]=7280;do if(!(f[F+4>>2]|0)){g=0;d=0;O=75}else{g=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,e|0,f[d>>2]|0);B=x;x=0;if(B&1){d=Ya()|0;break}f[e>>2]=7280;x=0;d=sa(g|0,a|0,f[e+4>>2]|0)|0;O=x;x=0;if(!(O&1)){g=1;O=75;break}d=Ya()|0;O=102}while(0);do if((O|0)==75){x=0;Ga(462,M|0,d|0);B=x;x=0;if(B&1){d=Ya()|0;if(!g)break;O=102;break}f[M>>2]=7280;if(g)_P(e);_P(F);f[A>>2]=(f[A>>2]|0)+-4;e=M+4|0;d=f[e>>2]|0;f:do if(!d)O=113;else{if((f[d+72>>2]|0)==(f[d+68>>2]|0)){O=113;break}x=0;Ga(462,G|0,f[(f[h>>2]|0)+84>>2]|0);I=x;x=0;if(I&1){O=104;break}f[G>>2]=7696;g:do if(!(f[G+4>>2]|0))_P(G);else{x=0;Ga(462,C|0,f[(f[h>>2]|0)+84>>2]|0);I=x;x=0;do if(I&1)d=Ya()|0;else{f[C>>2]=7696;d=f[C+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+84>>2]|0,d|0)|0;I=x;x=0;if(I&1){d=Ya()|0;_P(C);break}_P(C);_P(G);if(d)break g;d=f[e>>2]|0;x=0;Ga(462,J|0,f[h>>2]|0);I=x;x=0;if(I&1){O=104;break f}f[J>>2]=17112;x=0;Ga(462,H|0,f[J+4>>2]|0);I=x;x=0;do if(I&1)d=Ya()|0;else{f[H>>2]=6920;I=d+68|0;f[N>>2]=f[I>>2];x=0;f[E>>2]=f[N>>2];ta(157,I|0,E|0,H|0)|0;N=x;x=0;if(N&1){d=Ya()|0;_P(H);break}else{_P(H);_P(J);break g}}while(0);_P(J);break f}while(0);_P(G);break f}while(0);d=f[e>>2]|0;if(!d){O=0;_P(M);_P(L);_P(P);u=K;return O|0}b[d+8>>0]=1;O=d;_P(M);_P(L);_P(P);u=K;return O|0}while(0);do if((O|0)==113){x=0;Ga(462,I|0,f[(f[h>>2]|0)+84>>2]|0);N=x;x=0;if(N&1){O=104;break}f[I>>2]=7696;if(!(f[I+4>>2]|0)){_P(I);O=0;_P(M);_P(L);_P(P);u=K;return O|0}x=0;Ga(462,D|0,f[(f[h>>2]|0)+84>>2]|0);N=x;x=0;do if(N&1)d=Ya()|0;else{f[D>>2]=7696;d=f[D+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+84>>2]|0,d|0)|0;N=x;x=0;if(N&1){d=Ya()|0;_P(D);break}_P(D);_P(I);if(d){O=0;_P(M);_P(L);_P(P);u=K;return O|0}d=f[h>>2]|0;if(!d){O=0;_P(M);_P(L);_P(P);u=K;return O|0}b[d+8>>0]=1;O=d;_P(M);_P(L);_P(P);u=K;return O|0}while(0);_P(I)}while(0);if((O|0)==104)d=Ya()|0;_P(M);break e}while(0);if((O|0)==102)_P(e);_P(F)}while(0)}_P(L);break d}}d=Ya()|0;_P(r)}_P(w);_P(v);if(!e)break d}while(0);Hta(i)}while(0)}_P(P);P=d;jb(P|0)}}P=Ya()|0;_P(g);jb(P|0);return 0}function Be(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,v=0,w=0,y=0,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=0;E=u;u=u+464|0;H=E+40|0;B=E+452|0;w=E+440|0;y=E+400|0;z=E+384|0;A=E+344|0;p=E+328|0;q=E+316|0;r=E+304|0;o=E+264|0;I=E+212|0;J=E+200|0;d=E;e=E+224|0;i=E+192|0;j=E+184|0;h=E+176|0;g=E+160|0;n=E+148|0;C=E+136|0;D=E+96|0;F=E+88|0;G=E+80|0;if(qw(c,1,0)|0){je(H,c);x=0;g=qa(318,80)|0;J=x;x=0;a:do if(J&1)d=Ya()|0;else{s=e;t=c+108|0;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Ga(462,j|0,f[H+4>>2]|0);J=x;x=0;do if(J&1)d=Ya()|0;else{f[j>>2]=7904;x=0;Ga(462,i|0,f[j+4>>2]|0);J=x;x=0;if(J&1){d=Ya()|0;_P(j);break}f[i>>2]=7696;x=0;Ga(462,h|0,0);J=x;x=0;if(J&1){d=Ya()|0;e=1}else{f[h>>2]=7696;s=d;t=e;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Fa(427,g|0);J=x;x=0;b:do if(J&1){e=1;K=18}else{s=g+12|0;t=d;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=12152;d=g+60|0;x=0;Ga(462,d|0,f[i+4>>2]|0);J=x;x=0;do if(J&1)d=Ya()|0;else{f[d>>2]=7696;e=g+68|0;x=0;Ga(462,e|0,f[h+4>>2]|0);J=x;x=0;if(J&1){J=Ya()|0;_P(d);d=J;break}f[e>>2]=7696;b[g+76>>0]=1;x=0;Ga(462,a|0,g|0);K=x;x=0;if(K&1){e=0;K=18;break b}f[a>>2]=12096;_P(h);_P(i);_P(j);_P(H);u=E;return}while(0);e=1}while(0);if((K|0)==18)d=Ya()|0;_P(h)}_P(i);_P(j);if(!e)break a}while(0);Hta(g)}while(0);_P(H);K=d;jb(K|0)}i=c+168|0;f[H>>2]=f[i>>2];f[H+4>>2]=f[i+4>>2];f[H+8>>2]=f[i+8>>2];j=c+76|0;d=f[j>>2]|0;k=c+84|0;f[B>>2]=f[k>>2];f[B+4>>2]=f[k+4>>2];f[B+8>>2]=f[k+8>>2];l=c+96|0;f[w>>2]=f[l>>2];f[w+4>>2]=f[l+4>>2];f[w+8>>2]=f[l+8>>2];m=c+108|0;s=y;t=m;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));Fy(c,1,0)|0;c:do if(!(rv(c,1,0)|0)){s=m;t=y;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));f[i>>2]=f[H>>2];f[i+4>>2]=f[H+4>>2];f[i+8>>2]=f[H+8>>2];f[j>>2]=d;f[l>>2]=f[w>>2];f[l+4>>2]=f[w+4>>2];f[l+8>>2]=f[w+8>>2];f[k>>2]=f[B>>2];f[k+4>>2]=f[B+4>>2];f[k+8>>2]=f[B+8>>2];d=VN(48)|0;f[g>>2]=d;f[g+8>>2]=-2147483600;f[g+4>>2]=42;s=d;t=46452;v=s+42|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));b[d+42>>0]=0;x=0;Ga(459,J|0,g|0);v=x;x=0;do if(v&1)d=Ya()|0;else{v=c+108|0;x=0;f[H>>2]=f[v>>2];f[H+4>>2]=f[v+4>>2];f[H+8>>2]=f[v+8>>2];Ia(113,c|0,J|0,H|0);v=x;x=0;if(v&1){d=Ya()|0;if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0);break}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[g+11>>0]|0)>=0)break c;Hta(f[g>>2]|0);break c}while(0);if((b[g+11>>0]|0)>=0){K=d;jb(K|0)}Hta(f[g>>2]|0);K=d;jb(K|0)}while(0);qV(J,0);f[J>>2]=7696;x=0;d=qa(347,f[j>>2]|0)|0;v=x;x=0;d:do if(v&1)K=50;else{g=c+80|0;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)d=f[j>>2]|0;x=0;e=qa(348,d|0)|0;v=x;x=0;if(v&1)K=50;else{v=e|0?e:d;v=(b[v>>0]|0)==41?v+1|0:0;e:do if(!((v|0)==0?1:v>>>0>(f[g>>2]|0)>>>0)){f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;x=0;d=qa(318,64)|0;v=x;x=0;if(v&1){K=50;break d}f[n>>2]=d;f[n+8>>2]=-2147483584;f[n+4>>2]=48;s=d;t=46495;v=s+48|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));b[d+48>>0]=0;x=0;Ga(459,I|0,n|0);v=x;x=0;do if(v&1)d=Ya()|0;else{v=c+108|0;x=0;f[H>>2]=f[v>>2];f[H+4>>2]=f[v+4>>2];f[H+8>>2]=f[v+8>>2];Ia(113,c|0,I|0,H|0);v=x;x=0;if(v&1){d=Ya()|0;if((b[I+11>>0]|0)>=0)break;Hta(f[I>>2]|0);break}if((b[I+11>>0]|0)<0)Hta(f[I>>2]|0);if((b[n+11>>0]|0)>=0)break e;Hta(f[n>>2]|0);break e}while(0);if((b[n+11>>0]|0)>=0)break d;Hta(f[n>>2]|0);break d}while(0);x=0;Ga(584,H|0,c|0);v=x;x=0;do if(v&1)d=Ya()|0;else{h=J+4|0;if(f[h>>2]|0){x=0;Fa(429,J|0);v=x;x=0;if(v&1){d=Ya()|0;_P(H);break}}v=H+4|0;f[h>>2]=f[v>>2];f[v>>2]=0;_P(H);x=0;Ga(462,I|0,0);v=x;x=0;if(v&1)d=Ya()|0;else{f[I>>2]=7696;f[p>>2]=f[i>>2];f[p+4>>2]=f[i+4>>2];f[p+8>>2]=f[i+8>>2];e=f[j>>2]|0;f[q>>2]=f[k>>2];f[q+4>>2]=f[k+4>>2];f[q+8>>2]=f[k+8>>2];f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];f[r+8>>2]=f[l+8>>2];s=o;t=m;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;ta(52,c|0,1,0)|0;v=x;x=0;f:do if(v&1)K=70;else{x=0;d=ta(90,c|0,1,0)|0;v=x;x=0;if(v&1)K=70;else{g:do if(!d){s=m;t=o;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));f[i>>2]=f[p>>2];f[i+4>>2]=f[p+4>>2];f[i+8>>2]=f[p+8>>2];f[j>>2]=e;f[l>>2]=f[r>>2];f[l+4>>2]=f[r+4>>2];f[l+8>>2]=f[r+8>>2];f[k>>2]=f[q>>2];f[k+4>>2]=f[q+4>>2];f[k+8>>2]=f[q+8>>2]}else{x=0;Ia(114,H|0,c|0,1);v=x;x=0;h:do if(v&1)d=Ya()|0;else{d=I+4|0;do if(f[d>>2]|0){x=0;Fa(429,I|0);v=x;x=0;if(!(v&1))break;d=Ya()|0;_P(H);break h}while(0);e=H+4|0;f[d>>2]=f[e>>2];f[e>>2]=0;_P(H);e=f[j>>2]|0;break g}while(0);break f}while(0);f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[w+8>>2]=f[i+8>>2];f[y>>2]=f[k>>2];f[y+4>>2]=f[k+4>>2];f[y+8>>2]=f[k+8>>2];f[z>>2]=f[l>>2];f[z+4>>2]=f[l+4>>2];f[z+8>>2]=f[l+8>>2];s=A;t=m;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;ta(52,c|0,1,0)|0;v=x;x=0;if(v&1)K=70;else{x=0;d=ta(66,c|0,1,0)|0;v=x;x=0;if(v&1)K=70;else{i:do if(!d){s=m;t=A;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));f[i>>2]=f[w>>2];f[i+4>>2]=f[w+4>>2];f[i+8>>2]=f[w+8>>2];f[j>>2]=e;f[l>>2]=f[z>>2];f[l+4>>2]=f[z+4>>2];f[l+8>>2]=f[z+8>>2];f[k>>2]=f[y>>2];f[k+4>>2]=f[y+4>>2];f[k+8>>2]=f[y+8>>2];f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;x=0;d=qa(318,48)|0;A=x;x=0;if(A&1){K=70;break f}f[C>>2]=d;f[C+8>>2]=-2147483600;f[C+4>>2]=46;s=d;t=46544;v=s+46|0;do{b[s>>0]=b[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(v|0));b[d+46>>0]=0;x=0;Ga(459,B|0,C|0);A=x;x=0;do if(A&1)d=Ya()|0;else{A=c+108|0;x=0;f[H>>2]=f[A>>2];f[H+4>>2]=f[A+4>>2];f[H+8>>2]=f[A+8>>2];Ia(113,c|0,B|0,H|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[C+11>>0]|0)>=0)break i;Hta(f[C>>2]|0);break i}while(0);if((b[C+11>>0]|0)>=0)break f;Hta(f[C>>2]|0);break f}while(0);x=0;g=qa(318,80)|0;C=x;x=0;if(C&1)K=70;else{d=f[h>>2]|0;s=D;t=d+12|0;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Ga(462,F|0,d|0);C=x;x=0;do if(C&1)d=Ya()|0;else{f[F>>2]=7696;x=0;Ga(462,G|0,f[I+4>>2]|0);C=x;x=0;if(C&1){d=Ya()|0;_P(F);break}f[G>>2]=7696;s=H;t=D;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Fa(427,g|0);D=x;x=0;j:do if(D&1){d=1;K=103}else{s=g+12|0;t=H;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=12152;d=g+60|0;x=0;Ga(462,d|0,f[F+4>>2]|0);H=x;x=0;do if(H&1)d=Ya()|0;else{f[d>>2]=7696;e=g+68|0;x=0;Ga(462,e|0,f[G+4>>2]|0);H=x;x=0;if(H&1){H=Ya()|0;_P(d);d=H;break}f[e>>2]=7696;b[g+76>>0]=0;x=0;Ga(462,a|0,g|0);K=x;x=0;if(K&1){d=0;K=103;break j}f[a>>2]=12096;_P(G);_P(F);_P(I);_P(J);u=E;return}while(0);e=1}while(0);if((K|0)==103){H=Ya()|0;e=d;d=H}_P(G);_P(F);if(!e)break f}while(0);Hta(g)}}}}}while(0);if((K|0)==70)d=Ya()|0;_P(I)}break d}while(0)}}while(0);if((K|0)==50)d=Ya()|0;_P(J);K=d;jb(K|0)}function Ce(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=0;O=u;u=u+368|0;B=O;t=O+344|0;v=O+332|0;w=O+320|0;y=O+280|0;K=O+264|0;L=O+212|0;M=O+200|0;N=O+144|0;d=O+224|0;g=O+192|0;i=O+184|0;j=O+136|0;k=O+128|0;l=O+120|0;m=O+112|0;s=O+104|0;z=O+96|0;A=O+88|0;C=O+80|0;D=O+72|0;E=O+64|0;F=O+56|0;G=O+48|0;H=O+40|0;Fy(c,0,0)|0;h=c+128|0;zP(c+108|0,h);f[c+132>>2]=0;f[h>>2]=0;h=VN(92)|0;J=c+108|0;n=d;o=J;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Ga(462,g|0,0);r=x;x=0;if(r&1)d=Ya()|0;else{f[g>>2]=7904;x=0;n=B;o=d;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));La(23,h|0,B|0,g|0,0,0,0);r=x;x=0;if(r&1)e=1;else{x=0;Ga(462,a|0,h|0);r=x;x=0;if(r&1)e=0;else{f[a>>2]=17224;_P(g);x=0;d=ta(153,c|0,1,0)|0;r=x;x=0;a:do if(r&1)P=10;else{if(!d){x=0;d=ta(154,c|0,1,0)|0;r=x;x=0;if(r&1){P=10;break}if(d|0){b[(f[a+4>>2]|0)+89>>0]=1;x=0;ta(52,c|0,0,0)|0;r=x;x=0;if(r&1){P=10;break}}}else{b[(f[a+4>>2]|0)+88>>0]=1;x=0;ta(52,c|0,0,0)|0;r=x;x=0;if(r&1){P=10;break}}x=0;d=ta(86,c|0,1,0)|0;r=x;x=0;if(r&1)P=10;else{do if(!d){x=0;d=ta(47,c|0,1,0)|0;r=x;x=0;if(r&1){P=10;break a}h=a+4|0;g=f[h>>2]|0;if(!d){d=g+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(643,m|0,c|0);r=x;x=0;if(r&1){P=10;break a}x=0;Ga(e|0,d|0,m|0);r=x;x=0;if(r&1){d=Ya()|0;_P(m);break a}else{_P(m);break}}r=c+168|0;x=0;f[B>>2]=f[r>>2];f[B+4>>2]=f[r+4>>2];f[B+8>>2]=f[r+8>>2];Ka(9,l|0,c|0,B|0,0,1);r=x;x=0;if(r&1){P=10;break a}e=g+80|0;d=g+84|0;if(!(f[d>>2]|0))P=29;else{x=0;Fa(429,e|0);r=x;x=0;if(!(r&1))P=29}if((P|0)==29){f[d>>2]=f[l+4>>2];x=0;Fa(430,e|0);r=x;x=0;if(!(r&1)){x=0;Ga(462,k|0,f[d>>2]|0);r=x;x=0;if(!(r&1)){f[k>>2]=7904;_P(k);_P(l);break}}}d=Ya()|0;_P(l);break a}else{e=a+4|0;d=f[e>>2]|0;x=0;Ga(594,j|0,c|0);r=x;x=0;if(r&1){P=10;break a}g=d+80|0;d=d+84|0;if(!(f[d>>2]|0))P=19;else{x=0;Fa(429,g|0);r=x;x=0;if(!(r&1))P=19}if((P|0)==19){f[d>>2]=f[j+4>>2];x=0;Fa(430,g|0);r=x;x=0;if(!(r&1)){x=0;Ga(462,i|0,f[d>>2]|0);r=x;x=0;if(!(r&1)){f[i>>2]=7904;_P(i);_P(j);h=e;break}}}d=Ya()|0;_P(j);break a}while(0);l=c+168|0;m=c+76|0;q=c+84|0;r=c+96|0;while(1){f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];f[t+8>>2]=f[l+8>>2];e=f[m>>2]|0;f[v>>2]=f[q>>2];f[v+4>>2]=f[q+4>>2];f[v+8>>2]=f[q+8>>2];f[w>>2]=f[r>>2];f[w+4>>2]=f[r+4>>2];f[w+8>>2]=f[r+8>>2];n=y;o=J;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;p=x;x=0;if(p&1){P=10;break a}x=0;d=ta(73,c|0,1,0)|0;p=x;x=0;if(p&1){P=10;break a}if(!d)break;d=(f[h>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(643,s|0,c|0);p=x;x=0;if(p&1){P=10;break a}x=0;Ga(e|0,d|0,s|0);p=x;x=0;if(p&1){P=44;break}_P(s)}if((P|0)==44){d=Ya()|0;_P(s);break}n=J;o=y;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[l>>2]=f[t>>2];f[l+4>>2]=f[t+4>>2];f[l+8>>2]=f[t+8>>2];f[m>>2]=e;f[r>>2]=f[w>>2];f[r+4>>2]=f[w+4>>2];f[r+8>>2]=f[w+8>>2];f[q>>2]=f[v>>2];f[q+4>>2]=f[v+4>>2];f[q+8>>2]=f[v+8>>2];x=0;d=ta(86,c|0,1,0)|0;y=x;x=0;if(y&1)P=10;else{b:do if(d|0){x=0;k=qa(318,88)|0;y=x;x=0;c:do if(!(y&1)){n=B;o=J;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,k|0);y=x;x=0;do if(y&1)d=Ya()|0;else{n=k+12|0;o=B;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[k>>2]=11536;f[d>>2]=4;g=k+60|0;f[g>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);y=x;x=0;if(y&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{O=g+-8|0;f[j>>2]=O;Kc[f[f[O>>2]>>2]&511](O);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=11364;f[g>>2]=11496;b[k+80>>0]=1;f[k+84>>2]=0;f[d>>2]=4;d=f[2879]|0;x=0;Ga(462,A|0,f[(f[h>>2]|0)+84>>2]|0);y=x;x=0;if(y&1)break c;f[A>>2]=7904;x=0;Ga(462,z|0,f[A+4>>2]|0);y=x;x=0;do if(y&1)d=Ya()|0;else{f[z>>2]=7696;x=0;Ga(d|0,g|0,z|0);y=x;x=0;if(y&1){d=Ya()|0;_P(z);break}_P(z);_P(A);d=f[(f[g>>2]|0)+20>>2]|0;x=0;e=qa(318,80)|0;A=x;x=0;if(A&1)break c;x=0;n=B;o=J;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(33,e|0,B|0,53148,1);B=x;x=0;if(B&1){d=Ya()|0;Hta(e);break a}x=0;Ga(462,C|0,e|0);B=x;x=0;if(B&1)break c;f[C>>2]=7696;x=0;Ga(d|0,g|0,C|0);B=x;x=0;if(B&1){d=Ya()|0;_P(C);break a}_P(C);d=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(594,E|0,c|0);C=x;x=0;if(C&1)break c;x=0;Ga(462,D|0,f[E+4>>2]|0);C=x;x=0;do if(C&1)d=Ya()|0;else{f[D>>2]=7696;x=0;Ga(d|0,g|0,D|0);C=x;x=0;if(C&1){d=Ya()|0;_P(D);break}_P(D);_P(E);d=f[h>>2]|0;x=0;Ga(462,G|0,k|0);E=x;x=0;if(E&1)break c;f[G>>2]=7904;e=d+80|0;d=d+84|0;if(!(f[d>>2]|0))P=69;else{x=0;Fa(429,e|0);E=x;x=0;if(!(E&1))P=69}do if((P|0)==69){f[d>>2]=f[G+4>>2];x=0;Fa(430,e|0);E=x;x=0;if(E&1)break;x=0;Ga(462,F|0,f[d>>2]|0);E=x;x=0;if(E&1)break;f[F>>2]=7904;_P(F);_P(G);break b}while(0);d=Ya()|0;_P(G);break a}while(0);_P(E);break a}while(0);_P(A);break a}while(0);Hta(k);break a}while(0);d=Ya()|0;break a}while(0);while(1){f[K>>2]=f[l>>2];f[K+4>>2]=f[l+4>>2];f[K+8>>2]=f[l+8>>2];e=f[m>>2]|0;f[L>>2]=f[q>>2];f[L+4>>2]=f[q+4>>2];f[L+8>>2]=f[q+8>>2];f[M>>2]=f[r>>2];f[M+4>>2]=f[r+4>>2];f[M+8>>2]=f[r+8>>2];n=N;o=J;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;G=x;x=0;if(G&1){P=10;break a}x=0;d=ta(73,c|0,1,0)|0;G=x;x=0;if(G&1){P=10;break a}g=(d|0)==0;if(g){n=J;o=N;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[l>>2]=f[K>>2];f[l+4>>2]=f[K+4>>2];f[l+8>>2]=f[K+8>>2];f[m>>2]=e;f[r>>2]=f[M>>2];f[r+4>>2]=f[M+4>>2];f[r+8>>2]=f[M+8>>2];f[q>>2]=f[L>>2];f[q+4>>2]=f[L+4>>2];f[q+8>>2]=f[L+8>>2]}d=f[h>>2]|0;if(g)break;d=d+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(643,H|0,c|0);G=x;x=0;if(G&1){P=10;break a}x=0;Ga(e|0,d|0,H|0);G=x;x=0;if(G&1){P=92;break}_P(H)}if((P|0)==92){d=Ya()|0;_P(H);break}x=0;Ga(575,d|0,J|0);P=x;x=0;if(P&1)P=10;else{u=O;return}}}}while(0);if((P|0)==10)d=Ya()|0;_P(a);P=d;jb(P|0)}}d=Ya()|0;_P(g);if(!e){P=d;jb(P|0)}}Hta(h);P=d;jb(P|0)}function De(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0;ka=0;W=u;u=u+352|0;$=W+304|0;ra=W+296|0;pa=W+288|0;oa=W+272|0;ma=W+256|0;T=W+248|0;U=W+240|0;V=W+88|0;ia=W+96|0;A=W+64|0;da=W+72|0;aa=W+52|0;X=W+40|0;B=W;qV(ra,c);f[ra>>2]=15556;C=ra+4|0;D=pa+4|0;E=$+4|0;F=a+4|0;na=oa+4|0;G=ma+8|0;H=ma+12|0;la=ma+8|0;ja=ia+64|0;J=ia+8|0;ga=ia+12|0;K=ia+4|0;L=ia+64|0;M=ia+136|0;N=ia+140|0;ha=ia+44|0;O=ia+60|0;Y=$+11|0;Z=$+11|0;ea=ia+8|0;_=$+11|0;P=$+4|0;ba=aa+11|0;Q=aa+4|0;z=c+12|0;n=a+8|0;R=X+11|0;ca=da+11|0;fa=ha+11|0;o=$+8|0;p=$+4|0;q=T+4|0;r=U+4|0;s=V+4|0;t=A+4|0;S=$+11|0;v=$+4|0;w=ia+11|0;y=ia+4|0;a:while(1){d=f[C>>2]|0;if(!d){d=0;ka=141;break}x=0;Ga(462,pa|0,f[d+80>>2]|0);m=x;x=0;if(m&1){ka=14;break}f[pa>>2]=15572;if(!(f[D>>2]|0))d=0;else{x=0;Ia(141,oa|0,f[F>>2]|0,pa|0);m=x;x=0;if(m&1){ka=15;break}d=f[oa>>2]|0;a=f[na>>2]|0;if((d|0)==(a|0)){c=d;e=d}else{m=d;do{x=0;Ga(462,ma|0,f[m+4>>2]|0);l=x;x=0;if(l&1){ka=20;break a}f[ma>>2]=15556;x=0;Ga(462,G|0,f[m+12>>2]|0);l=x;x=0;if(l&1){ka=18;break a}f[G>>2]=15572;d=f[(f[H>>2]|0)+64>>2]|0;b:do if(d|0){do if(f[(f[D>>2]|0)+64>>2]|0){x=0;Ga(462,T|0,f[d+76>>2]|0);l=x;x=0;if(l&1){ka=22;break a}f[T>>2]=7584;if(!(f[q>>2]|0)){_P(T);break}x=0;Ga(462,U|0,f[(f[(f[D>>2]|0)+64>>2]|0)+76>>2]|0);l=x;x=0;if(l&1){ka=47;break a}f[U>>2]=7584;l=(f[r>>2]|0)==0;_P(U);_P(T);if(!l){x=0;Ga(462,V|0,f[(f[(f[H>>2]|0)+64>>2]|0)+76>>2]|0);l=x;x=0;if(l&1){ka=48;break a}f[V>>2]=7584;l=f[s>>2]|0;x=0;Ga(f[(f[l>>2]|0)+32>>2]|0,$|0,l|0);l=x;x=0;if(l&1){ka=49;break a}_P(V);x=0;Ga(462,A|0,f[(f[(f[D>>2]|0)+64>>2]|0)+76>>2]|0);l=x;x=0;if(l&1){ka=50;break a}f[A>>2]=7584;l=f[t>>2]|0;x=0;Ga(f[(f[l>>2]|0)+32>>2]|0,ia|0,l|0);l=x;x=0;if(l&1){ka=51;break a}_P(A);d=b[S>>0]|0;g=d<<24>>24<0;e=d&255;h=g?f[v>>2]|0:e;k=b[w>>0]|0;l=k<<24>>24<0;c:do if((h|0)==((l?f[y>>2]|0:k&255)|0)){i=f[$>>2]|0;j=g?i:$;c=l?f[ia>>2]|0:ia;k=(h|0)==0;d:do if(g){if(k)break;if(lO(j,c,h)|0){c=1;break c}}else{if(k)break;if((b[c>>0]|0)==(i&255)<<24>>24)g=$;else{c=1;break c}while(1){e=e+-1|0;g=g+1|0;if(!e)break d;c=c+1|0;if((b[g>>0]|0)!=(b[c>>0]|0)){c=1;break c}}}while(0);c=0}else c=1;while(0);if(l){Hta(f[ia>>2]|0);d=b[S>>0]|0}if(d<<24>>24<0)Hta(f[$>>2]|0);if(!c)break b}}while(0);f[J>>2]=16496;f[ia>>2]=2284;f[ja>>2]=2304;f[K>>2]=0;x=0;Ga(531,L|0,ga|0);l=x;x=0;if(l&1){ka=65;break a}f[M>>2]=0;f[N>>2]=-1;f[ia>>2]=16476;f[ja>>2]=16516;f[J>>2]=16496;x=0;Fa(437,ga|0);l=x;x=0;if(l&1){ka=66;break a}f[ga>>2]=16336;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;f[O>>2]=24;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;x=0;Ga(532,ga|0,$|0);l=x;x=0;if(l&1){ka=60;break a}if((b[Y>>0]|0)<0)Hta(f[$>>2]|0);x=0;Fa(440,da|0);l=x;x=0;if(l&1){ka=105;break a}e=f[H>>2]|0;h=f[e+12>>2]|0;e=f[e+24>>2]|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279){ka=70;break a}if(g>>>0<11){b[Z>>0]=g;if(!g)d=$;else{d=$;ka=75}}else{c=g+16&-16;x=0;d=qa(318,c|0)|0;ka=x;x=0;if(ka&1){ka=106;break a}f[$>>2]=d;f[o>>2]=c|-2147483648;f[p>>2]=g;ka=75}if((ka|0)==75){ka=0;Lu(d|0,e|0,g|0)|0}b[d+g>>0]=0;x=0;Ja(17,aa|0,$|0,da|0,da|0);l=x;x=0;if(l&1){ka=107;break a}if((b[Z>>0]|0)<0)Hta(f[$>>2]|0);x=0;ta(44,ea|0,49452,58)|0;l=x;x=0;if(l&1){ka=110;break a}x=0;ta(44,ea|0,49511,58)|0;l=x;x=0;if(l&1){ka=110;break a}x=0;d=ta(44,ea|0,49570,14)|0;l=x;x=0;if(l&1){ka=110;break a}l=f[H>>2]|0;x=0;Ga(f[(f[l>>2]|0)+32>>2]|0,$|0,l|0);l=x;x=0;if(l&1){ka=111;break a}l=b[_>>0]|0;k=l<<24>>24<0;x=0;d=ta(44,d|0,(k?f[$>>2]|0:$)|0,(k?f[P>>2]|0:l&255)|0)|0;l=x;x=0;if(l&1){ka=112;break a}x=0;ta(44,d|0,53046,1)|0;l=x;x=0;if(l&1){ka=112;break a}if((b[_>>0]|0)<0)Hta(f[$>>2]|0);x=0;d=ta(44,ea|0,51140,9)|0;l=x;x=0;if(l&1){ka=110;break a}x=0;d=sa(993,d|0,h+1|0)|0;l=x;x=0;if(l&1){ka=110;break a}x=0;d=ta(44,d|0,53449,4)|0;l=x;x=0;if(l&1){ka=110;break a}l=b[ba>>0]|0;k=l<<24>>24<0;x=0;d=ta(44,d|0,(k?f[aa>>2]|0:aa)|0,(k?f[Q>>2]|0:l&255)|0)|0;l=x;x=0;if(l&1){ka=110;break a}x=0;ta(44,d|0,51444,1)|0;l=x;x=0;if(l&1){ka=110;break a}x=0;Ga(533,X|0,ga|0);l=x;x=0;if(l&1){ka=110;break a}c=B;e=z;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=f[(f[(f[n>>2]|0)+4>>2]|0)+8>>2]|0;x=0;c=$;e=B;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));Ia(100,X|0,$|0,d|0);l=x;x=0;if(l&1){ka=115;break a}if((b[R>>0]|0)<0)Hta(f[X>>2]|0);if((b[ba>>0]|0)<0)Hta(f[aa>>2]|0);if((b[ca>>0]|0)<0)Hta(f[da>>2]|0);f[ia>>2]=16476;f[ja>>2]=16516;f[ea>>2]=16496;f[ga>>2]=16336;if((b[fa>>0]|0)<0)Hta(f[ha>>2]|0);Bca(ga);KU(ia,16528);uma(ja)}while(0);_P(la);_P(ma);m=m+16|0}while((m|0)!=(a|0));e=f[na>>2]|0;a=e;c=f[oa>>2]|0}d=(a|0)!=(c|0);a=c;if(c|0){if((e|0)!=(a|0)){c=e;do{m=c+-16|0;f[na>>2]=m;_P(c+-8|0);_P(m);c=f[na>>2]|0}while((c|0)!=(a|0));c=f[oa>>2]|0}Hta(c)}}x=0;Ga(462,$|0,f[(f[C>>2]|0)+88>>2]|0);m=x;x=0;if(m&1){ka=136;break}f[$>>2]=15556;if(f[C>>2]|0){x=0;Fa(429,ra|0);m=x;x=0;if(m&1){ka=137;break}}f[C>>2]=f[E>>2];f[E>>2]=0;_P($);_P(pa);if(d){d=1;ka=141;break}}switch(ka|0){case 14:{pa=Ya()|0;_P(ra);jb(pa|0)}case 15:{d=Ya()|0;ka=131;break}case 18:{d=Ya()|0;c=I;_P(ma);ka=21;break}case 20:{d=Ya()|0;c=I;ka=21;break}case 22:{d=Ya()|0;c=I;ka=125;break}case 47:{d=Ya()|0;c=I;_P(T);ka=125;break}case 48:{d=Ya()|0;c=I;ka=54;break}case 49:{d=Ya()|0;c=I;_P(V);ka=54;break}case 50:{d=Ya()|0;c=I;ka=52;break}case 51:{d=Ya()|0;c=I;_P(A);ka=52;break}case 60:{d=Ya()|0;c=I;if((b[Y>>0]|0)<0)Hta(f[$>>2]|0);if((b[fa>>0]|0)<0)Hta(f[ha>>2]|0);Bca(ga);ka=67;break}case 65:{d=Ya()|0;c=I;ka=104;break}case 66:{d=Ya()|0;c=I;ka=67;break}case 70:{x=0;Fa(428,$|0);x=0;ka=106;break}case 105:{d=Ya()|0;c=I;ka=121;break}case 107:{d=Ya()|0;c=I;if((b[Z>>0]|0)<0){Hta(f[$>>2]|0);ka=109}else ka=109;break}case 110:{d=Ya()|0;c=I;ka=117;break}case 111:{d=Ya()|0;c=I;ka=114;break}case 112:{d=Ya()|0;c=I;if((b[_>>0]|0)<0){Hta(f[$>>2]|0);ka=114}else ka=114;break}case 115:{d=Ya()|0;c=I;if((b[R>>0]|0)<0){Hta(f[X>>2]|0);ka=117}else ka=117;break}case 136:{d=Ya()|0;ka=138;break}case 137:{d=Ya()|0;_P($);ka=138;break}case 141:{_P(ra);u=W;return d|0}}if((ka|0)==21){e=c;ka=126}else if((ka|0)==52)if((b[S>>0]|0)<0){Hta(f[$>>2]|0);ka=54}else ka=54;else if((ka|0)==67){KU(ia,16528);ka=104}else if((ka|0)==106){d=Ya()|0;c=I;ka=109}else if((ka|0)==114)ka=117;if((ka|0)==54)ka=125;else if((ka|0)==104){uma(ja);ka=124}else if((ka|0)==109)ka=119;else if((ka|0)==117)if((b[ba>>0]|0)<0){Hta(f[aa>>2]|0);ka=119}else ka=119;if((ka|0)==119)if((b[ca>>0]|0)<0){Hta(f[da>>2]|0);ka=121}else ka=121;if((ka|0)==121){f[ia>>2]=16476;f[ja>>2]=16516;f[ea>>2]=16496;f[ga>>2]=16336;if((b[fa>>0]|0)<0)Hta(f[ha>>2]|0);Bca(ga);KU(ia,16528);uma(ja);ka=124}if((ka|0)==124)ka=125;if((ka|0)==125){_P(la);_P(ma);e=c;ka=126}if((ka|0)==126){c=f[oa>>2]|0;if(!c)ka=131;else{a=f[na>>2]|0;if((a|0)!=(c|0)){do{ma=a+-16|0;f[na>>2]=ma;_P(a+-8|0);_P(ma);a=f[na>>2]|0}while((a|0)!=(c|0));c=f[oa>>2]|0}Hta(c);ka=131}}_P(pa);pa=d;_P(ra);jb(pa|0);return 0}function Ee(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.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=0;w=u;u=u+256|0;y=w+40|0;z=w;D=w+248|0;C=w+176|0;B=w+128|0;i=w+208|0;o=w+192|0;q=w+184|0;p=w+136|0;r=w+112|0;t=w+104|0;s=w+96|0;v=w+80|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;d=y+11|0;b[d>>0]=5;b[y>>0]=b[40395]|0;b[y+1>>0]=b[40396]|0;b[y+2>>0]=b[40397]|0;b[y+3>>0]=b[40398]|0;b[y+4>>0]=b[40399]|0;b[y+5>>0]=0;x=0;c=sa(992,a|0,y|0)|0;n=x;x=0;if(!(n&1)){c=f[c+4>>2]|0;if(!c)c=0;else c=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,D|0,c|0);n=x;x=0;if(!(n&1)){f[D>>2]=16784;if((b[d>>0]|0)<0)Hta(f[y>>2]|0);f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;d=y+11|0;b[d>>0]=5;b[y>>0]=b[40395]|0;b[y+1>>0]=b[40396]|0;b[y+2>>0]=b[40397]|0;b[y+3>>0]=b[40398]|0;b[y+4>>0]=b[40399]|0;b[y+5>>0]=0;x=0;c=sa(992,a|0,y|0)|0;n=x;x=0;if(n&1)A=54;else{x=0;c=qa(340,f[c+4>>2]|0)|0;n=x;x=0;if(n&1)A=54;else{x=0;Ga(462,C|0,c|0);n=x;x=0;if(n&1)A=54;else{f[C>>2]=7584;if((b[d>>0]|0)<0)Hta(f[y>>2]|0);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;n=z+11|0;b[n>>0]=6;b[z>>0]=b[40507]|0;b[z+1>>0]=b[40508]|0;b[z+2>>0]=b[40509]|0;b[z+3>>0]=b[40510]|0;b[z+4>>0]=b[40511]|0;b[z+5>>0]=b[40512]|0;b[z+6>>0]=0;j=i;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,o|0,h|0);l=x;x=0;do if(l&1){c=Ya()|0;A=65}else{x=0;j=y;k=i;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c=wa(25,z|0,a|0,e|0,y|0,o|0)|0;l=x;x=0;if(!(l&1)){x=0;Ga(462,B|0,c|0);l=x;x=0;if(!(l&1)){f[B>>2]=7696;c=f[o>>2]|0;if(c|0){j=o+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[z>>2]|0);o=C+4|0;a:do if(!(f[o>>2]|0)){x=0;n=qa(318,88)|0;l=x;x=0;b:do if(l&1)A=69;else{j=z;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,n|0);l=x;x=0;do if(l&1)c=Ya()|0;else{j=n+12|0;k=z;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;c=n+56|0;f[c>>2]=0;f[n>>2]=6516;d=n+60|0;f[d>>2]=9660;k=n+64|0;l=n+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,1);j=x;x=0;if(j&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){i=f[l>>2]|0;if((i|0)!=(d|0)){do{z=i+-8|0;f[l>>2]=z;Kc[f[f[z>>2]>>2]&511](z);i=f[l>>2]|0}while((i|0)!=(d|0));d=f[k>>2]|0}Hta(d)}break}f[n>>2]=9488;f[d>>2]=9620;f[n+80>>2]=1;b[n+84>>0]=0;b[n+85>>0]=0;b[n+86>>0]=0;f[c>>2]=5;x=0;Ga(462,y|0,n|0);n=x;x=0;if(n&1){A=69;break b}f[y>>2]=7584;do if(f[o>>2]|0){x=0;Fa(429,C|0);n=x;x=0;if(!(n&1))break;c=Ya()|0;_P(y);break b}while(0);d=y+4|0;f[o>>2]=f[d>>2];f[d>>2]=0;_P(y);d=(f[o>>2]|0)+60|0;i=f[(f[d>>2]|0)+20>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;n=z+11|0;b[n>>0]=5;b[z>>0]=b[40395]|0;b[z+1>>0]=b[40396]|0;b[z+2>>0]=b[40397]|0;b[z+3>>0]=b[40398]|0;b[z+4>>0]=b[40399]|0;b[z+5>>0]=0;j=p;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Ga(511,r|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;j=y;k=p;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c=wa(25,z|0,a|0,e|0,y|0,r|0)|0;h=x;x=0;do if(h&1)A=75;else{x=0;Ga(462,q|0,c|0);h=x;x=0;if(h&1){A=75;break}f[q>>2]=7696;x=0;Ga(i|0,d|0,q|0);h=x;x=0;if(h&1){c=Ya()|0;k=I;_P(q);break}_P(q);c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[z>>2]|0);A=87;break a}while(0);if((A|0)==75){c=Ya()|0;k=I}d=f[r>>2]|0;if(!d)break;l=r+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d)}while(0);if((b[n>>0]|0)<0)Hta(f[z>>2]|0);break a}while(0);Hta(n)}while(0);if((A|0)==69)c=Ya()|0}else A=87;while(0);c:do if((A|0)==87){c=f[D+4>>2]|0;d:do if(c|0){x=0;Ia(107,y|0,c|0,g|0);z=x;x=0;e:do if(z&1)c=Ya()|0;else{do if(f[o>>2]|0){x=0;Fa(429,C|0);z=x;x=0;if(!(z&1))break;c=Ya()|0;_P(y);break e}while(0);z=y+4|0;f[o>>2]=f[z>>2];f[z>>2]=0;_P(y);break d}while(0);break c}while(0);d=f[o>>2]|0;i=(f[d+68>>2]|0)-(f[d+64>>2]|0)>>3;f:do if(i|0){j=B+4|0;c=0;while(1){x=0;Ia(106,t|0,d|0,c|0);z=x;x=0;if(z&1){A=97;break}x=0;Ga(462,s|0,f[j>>2]|0);z=x;x=0;if(z&1){A=106;break}f[s>>2]=7696;x=0;d=sa(1004,t|0,s|0)|0;z=x;x=0;if(z&1){A=107;break}_P(s);_P(t);if(d){A=102;break}c=c+1|0;if(c>>>0>=i>>>0)break f;d=f[o>>2]|0}do if((A|0)==102){x=0;d=qa(318,104)|0;z=x;x=0;if(z&1){A=97;break}i=v+11|0;m=+((c+1|0)>>>0);f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;x=0;j=y;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Ha(1,d|0,y|0,+m,v|0,1);z=x;x=0;if(z&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[v>>2]|0);Hta(d);break c}if((b[i>>0]|0)>=0){A=d;_P(B);_P(C);_P(D);u=w;return A|0}Hta(f[v>>2]|0);A=d;_P(B);_P(C);_P(D);u=w;return A|0}else if((A|0)==106){c=Ya()|0;A=108}else if((A|0)==107){c=Ya()|0;_P(s);A=108}while(0);if((A|0)==97){c=Ya()|0;break c}else if((A|0)==108){_P(t);break c}}while(0);x=0;c=qa(318,60)|0;z=x;x=0;if(z&1){c=Ya()|0;break}j=y;k=g;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));x=0;Fa(427,c|0);z=x;x=0;if(z&1){z=Ya()|0;Hta(c);c=z;break}j=c+12|0;k=y;l=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=13152;f[c+56>>2]=8;A=c;_P(B);_P(C);_P(D);u=w;return A|0}while(0);_P(B);break}}c=Ya()|0;k=I;d=f[o>>2]|0;if(!d)A=65;else{l=o+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[o>>2]|0}Hta(d);A=65}}while(0);if((A|0)==65)if((b[n>>0]|0)<0)Hta(f[z>>2]|0);_P(C)}}}if((A|0)==54){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[y>>2]|0)}_P(D);D=c;jb(D|0)}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[y>>2]|0);D=c;jb(D|0);return 0}function Fe(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,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;D=F+16|0;B=F+8|0;C=F;i=d;r=f[i>>2]|0;i=f[i+4>>2]|0;s=e;k=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)==(i|0))q=0;else q=((s-(f[k>>2]|0)|0)/28|0)+((k-r>>2)*146|0)+((i-(f[r>>2]|0)|0)/-28|0)|0;z=b+4|0;h=f[z>>2]|0;A=b+16|0;p=f[A>>2]|0;j=h+(((p>>>0)/146|0)<<2)|0;E=b+8|0;g=f[E>>2]|0;n=g;o=h;if((g|0)==(h|0))m=0;else m=(f[j>>2]|0)+(((p>>>0)%146|0)*28|0)|0;l=f[c+4>>2]|0;if((l|0)==(m|0))y=0;else{y=f[c>>2]|0;y=((y-j>>2)*146|0)+((l-(f[y>>2]|0)|0)/28|0)+((m-(f[j>>2]|0)|0)/-28|0)|0}x=b+20|0;l=f[x>>2]|0;if(y>>>0<(l-y|0)>>>0){if(q>>>0>p>>>0){fg(b,q-p|0);j=f[A>>2]|0;h=f[z>>2]|0;g=f[E>>2]|0}else j=p;v=h+(((j>>>0)/146|0)<<2)|0;if((g|0)==(h|0))t=0;else t=(f[v>>2]|0)+(((j>>>0)%146|0)*28|0)|0;h=v;g=t;if(q>>>0>y>>>0){if(y>>>0>>1>>>0)if(!y)i=s;else{j=k;i=((s-(f[k>>2]|0)|0)/28|0)-y|0;if((i|0)>0){k=j+(((i>>>0)/146|0)<<2)|0;i=(f[k>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;k=j+(((i|0)/-146|0)<<2)|0;i=(f[k>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}}else{j=q-y|0;if(!j)k=r;else{k=r;i=((i-(f[r>>2]|0)|0)/28|0)+j|0;if((i|0)>0){k=k+(((i>>>0)/146|0)<<2)|0;i=(f[k>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;k=k+(((i|0)/-146|0)<<2)|0;i=(f[k>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}}}l=i;p=f[d+4>>2]|0;if((p|0)==(l|0)){q=y;s=i;n=h;l=g}else{c=k;n=h;j=g;while(1){m=n;if((f[m>>2]|0)==(j|0)){j=m+-4|0;n=j;j=(f[j>>2]|0)+4088|0}o=j+-28|0;b=o;m=c;if((f[m>>2]|0)==(l|0)){m=m+-4|0;c=m;m=(f[m>>2]|0)+4088|0}else m=l;l=m+-28|0;f[o>>2]=f[l>>2];f[o+4>>2]=f[l+4>>2];f[o+8>>2]=f[l+8>>2];d=j+-16|0;qV(d,f[m+-12>>2]|0);f[d>>2]=15556;f[j+-8>>2]=f[m+-8>>2];m=f[m+-4>>2]|0;f[j+-4>>2]=m;if(m|0)ega(m);f[A>>2]=(f[A>>2]|0)+-1;f[x>>2]=(f[x>>2]|0)+1;if((p|0)==(l|0)){q=y;s=i;l=b;break}else j=b}}}else{k=r;s=i;n=h;l=g}if(q|0){i=((g-(f[v>>2]|0)|0)/28|0)+q|0;if((i|0)>0){c=v+(((i>>>0)/146|0)<<2)|0;j=(f[c>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{j=145-i|0;c=v+(((j|0)/-146|0)<<2)|0;j=(f[c>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}b=c;r=j;if((t|0)!=(j|0)){m=b;p=j;while(1){i=n;if((f[i>>2]|0)==(l|0)){o=i+-4|0;n=o;o=(f[o>>2]|0)+4088|0}else o=l;l=o+-28|0;i=m;if((f[i>>2]|0)==(p|0)){m=i+-4|0;i=m;m=(f[m>>2]|0)+4088|0}else{i=m;m=p}p=m+-28|0;f[l>>2]=f[p>>2];f[l+4>>2]=f[p+4>>2];f[l+8>>2]=f[p+8>>2];w=o+-16|0;qV(w,f[m+-12>>2]|0);f[w>>2]=15556;w=m+-8|0;f[o+-8>>2]=f[w>>2];d=m+-4|0;f[o+-4>>2]=f[d>>2];f[w>>2]=0;f[d>>2]=0;f[A>>2]=(f[A>>2]|0)+-1;f[x>>2]=(f[x>>2]|0)+1;if((t|0)==(p|0))break;else m=i}}if(q>>>0>>0){i=((g-(f[v>>2]|0)|0)/28|0)+y|0;if((i|0)>0){l=v+(((i>>>0)/146|0)<<2)|0;i=(f[l>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;l=v+(((i|0)/-146|0)<<2)|0;i=(f[l>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}if((i|0)!=(j|0)){m=f[c>>2]|0;i=((i-(f[l>>2]|0)|0)/28|0)+((l-b>>2)*146|0)+((r-m|0)/-28|0)|0;if((i|0)>0){n=i;l=r;while(1){m=m+4088|0;i=(m-j|0)/28|0;x=(i|0)>(n|0);i=x?n:i;d=C;f[d>>2]=h;f[d+4>>2]=g;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];Sq(B,j,x?j+(n*28|0)|0:m,D,0);g=B;h=f[g>>2]|0;g=f[g+4>>2]|0;m=n-i|0;if(!i)i=c;else{i=((l-(f[c>>2]|0)|0)/28|0)+i|0;if((i|0)>0){x=c+(((i>>>0)/146|0)<<2)|0;j=(f[x>>2]|0)+(((i>>>0)%146|0)*28|0)|0;i=x}else{j=145-i|0;i=c+(((j|0)/-146|0)<<2)|0;j=(f[i>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}l=j}if((m|0)<=0)break;n=m;m=f[i>>2]|0;c=i}}}l=h}else l=h;i=e;h=f[i>>2]|0;i=f[i+4>>2]|0;j=s;if((i|0)!=(j|0)){h=((i-(f[h>>2]|0)|0)/28|0)+((h-k>>2)*146|0)+((s-(f[k>>2]|0)|0)/-28|0)|0;if((h|0)>0){c=l;m=g;i=s;while(1){x=(f[k>>2]|0)+4088|0;g=(x-j|0)/28|0;e=(g|0)>(h|0);g=e?h:g;d=C;f[d>>2]=c;f[d+4>>2]=m;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];Ar(B,j,e?j+(h*28|0)|0:x,D,0);x=B;c=f[x>>2]|0;m=f[x+4>>2]|0;h=h-g|0;if(!g){l=i;g=k;i=j}else{g=((i-(f[k>>2]|0)|0)/28|0)+g|0;if((g|0)>0){x=k+(((g>>>0)/146|0)<<2)|0;i=(f[x>>2]|0)+(((g>>>0)%146|0)*28|0)|0;g=x}else{i=145-g|0;g=k+(((i|0)/-146|0)<<2)|0;i=(f[g>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}l=i}if((h|0)<=0)break;else{k=g;j=i;i=l}}}}}}else{j=n-o>>2;j=((j|0)==0?0:(j*146|0)+-1|0)-(l+p)|0;if(q>>>0>j>>>0){Tf(b,q-j|0);j=f[A>>2]|0;m=f[x>>2]|0;l=f[z>>2]|0;g=f[E>>2]|0}else{j=p;m=l;l=h}h=j+m|0;w=l+(((h>>>0)/146|0)<<2)|0;if((g|0)==(l|0))v=0;else v=(f[w>>2]|0)+(((h>>>0)%146|0)*28|0)|0;h=w;g=v;t=m-y|0;if(q>>>0>t>>>0){if(t>>>0>>1>>>0)if(!t)k=r;else{j=r;i=((i-(f[r>>2]|0)|0)/28|0)+t|0;if((i|0)>0){k=j+(((i>>>0)/146|0)<<2)|0;i=(f[k>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;k=j+(((i|0)/-146|0)<<2)|0;i=(f[k>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}}else{i=q-t|0;if(!i)i=s;else{j=k;i=((s-(f[k>>2]|0)|0)/28|0)-i|0;if((i|0)>0){k=j+(((i>>>0)/146|0)<<2)|0;i=(f[k>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;k=j+(((i|0)/-146|0)<<2)|0;i=(f[k>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}}}j=i;o=f[e+4>>2]|0;if((o|0)==(j|0)){s=i;n=t;c=h;l=g}else{n=k;c=h;l=g;while(1){f[l>>2]=f[j>>2];f[l+4>>2]=f[j+4>>2];f[l+8>>2]=f[j+8>>2];m=l+12|0;qV(m,f[j+16>>2]|0);f[m>>2]=15556;f[l+20>>2]=f[j+20>>2];m=f[j+24>>2]|0;f[l+24>>2]=m;if(m|0)ega(m);l=l+28|0;if((l-(f[c>>2]|0)|0)==4088){l=c+4|0;c=l;l=f[l>>2]|0}j=j+28|0;if((j-(f[n>>2]|0)|0)==4088){j=n+4|0;m=j;j=f[j>>2]|0}else m=n;f[x>>2]=(f[x>>2]|0)+1;if((o|0)==(j|0)){s=i;n=t;break}else n=m}}}else{n=q;c=h;l=g}if(n|0){i=((g-(f[w>>2]|0)|0)/28|0)-n|0;if((i|0)>0){b=w+(((i>>>0)/146|0)<<2)|0;j=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{j=145-i|0;b=w+(((j|0)/-146|0)<<2)|0;j=(f[b>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}o=b;p=j;if((v|0)!=(j|0)){m=o;i=j;do{f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];f[l+8>>2]=f[i+8>>2];r=l+12|0;qV(r,f[i+16>>2]|0);f[r>>2]=15556;r=i+20|0;f[l+20>>2]=f[r>>2];e=i+24|0;f[l+24>>2]=f[e>>2];f[r>>2]=0;f[e>>2]=0;l=l+28|0;if((l-(f[c>>2]|0)|0)==4088){l=c+4|0;c=l;l=f[l>>2]|0}i=i+28|0;if((i-(f[m>>2]|0)|0)==4088){i=m+4|0;m=i;i=f[i>>2]|0}f[x>>2]=(f[x>>2]|0)+1}while((v|0)!=(i|0))}if(n>>>0>>0){i=((g-(f[w>>2]|0)|0)/28|0)-t|0;if((i|0)>0){m=w+(((i>>>0)/146|0)<<2)|0;i=(f[m>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;m=w+(((i|0)/-146|0)<<2)|0;i=(f[m>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}if((j|0)!=(i|0)){l=f[b>>2]|0;i=((p-l|0)/28|0)+((o-m>>2)*146|0)+((i-(f[m>>2]|0)|0)/-28|0)|0;if((i|0)>0){m=b;while(1){if((j|0)==(l|0)){m=m+-4|0;l=f[m>>2]|0;j=l+4088|0}c=j+-28|0;x=(j-l|0)/28|0;e=(x|0)>(i|0);x=e?i:x;w=C;f[w>>2]=h;f[w+4>>2]=g;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];op(B,e?j+((0-i|0)*28|0)|0:l,j,D,0);g=B;h=f[g>>2]|0;g=f[g+4>>2]|0;i=i-x|0;j=x+-1|0;do if(!j)j=c;else{j=((c-(f[m>>2]|0)|0)/28|0)-j|0;if((j|0)>0){x=m+(((j>>>0)/146|0)<<2)|0;m=x;j=(f[x>>2]|0)+(((j>>>0)%146|0)*28|0)|0;break}else{j=145-j|0;x=m+(((j|0)/-146|0)<<2)|0;m=x;j=(f[x>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0;break}}while(0);if((i|0)<=0)break;l=f[m>>2]|0}}}l=h;j=g}else{l=h;j=g}i=d;g=f[i>>2]|0;i=f[i+4>>2]|0;h=s;if((h|0)!=(i|0)){g=((s-(f[k>>2]|0)|0)/28|0)+((k-g>>2)*146|0)+((i-(f[g>>2]|0)|0)/-28|0)|0;if((g|0)>0){m=j;while(1){i=f[k>>2]|0;if((h|0)==(i|0)){k=k+-4|0;i=f[k>>2]|0;h=i+4088|0}j=h+-28|0;x=(h-i|0)/28|0;e=(x|0)>(g|0);x=e?g:x;d=C;f[d>>2]=l;f[d+4>>2]=m;f[D>>2]=f[C>>2];f[D+4>>2]=f[C+4>>2];Cp(B,e?h+((0-g|0)*28|0)|0:i,h,D,0);h=B;l=f[h>>2]|0;m=f[h+4>>2]|0;g=g-x|0;h=x+-1|0;do if(!h){i=k;h=j}else{h=((j-(f[k>>2]|0)|0)/28|0)-h|0;if((h|0)>0){x=k+(((h>>>0)/146|0)<<2)|0;i=x;h=(f[x>>2]|0)+(((h>>>0)%146|0)*28|0)|0;break}else{h=145-h|0;x=k+(((h|0)/-146|0)<<2)|0;i=x;h=(f[x>>2]|0)+((145-((h|0)%146|0)|0)*28|0)|0;break}}while(0);if((g|0)<=0)break;else k=i}}}}}D=f[z>>2]|0;g=f[A>>2]|0;i=D+(((g>>>0)/146|0)<<2)|0;if((f[E>>2]|0)==(D|0)){h=0;g=0}else{h=0;g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0}E=a;f[E>>2]=h|i;f[E+4>>2]=g;if(!y){u=F;return}g=((g-(f[i>>2]|0)|0)/28|0)+y|0;if((g|0)>0){E=i+(((g>>>0)/146|0)<<2)|0;f[a>>2]=E;g=(f[E>>2]|0)+(((g>>>0)%146|0)*28|0)|0}else{g=145-g|0;E=i+(((g|0)/-146|0)<<2)|0;f[a>>2]=E;g=(f[E>>2]|0)+((145-((g|0)%146|0)|0)*28|0)|0}f[a+4>>2]=g;u=F;return}function Ge(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,v=0,w=0,y=0,z=0;v=0;s=u;u=u+304|0;y=s+192|0;w=s+80|0;t=s+16|0;q=s;r=c+4|0;o=c+72|0;AF(y,f[o>>2]|0);x=0;Ga(456,w|0,y|0);p=x;x=0;if(p&1)e=Ya()|0;else{i=c+120|0;h=f[i>>2]|0;j=(f[c+124>>2]|0)-h>>2;a:do if(!j){g=w+4|0;v=5}else{g=w+4|0;e=0;while(1){p=f[h+(e<<2)>>2]|0;x=0;Ga(f[(f[p>>2]|0)+44>>2]|0,p|0,w|0);p=x;x=0;if(p&1)break;x=0;Fa(463,g|0);p=x;x=0;if(p&1)break;e=e+1|0;if(e>>>0>=j>>>0){v=5;break a}h=f[i>>2]|0}e=Ya()|0}while(0);b:do if((v|0)==5){p=c+8|0;n=p+11|0;e=b[n>>0]|0;if(e<<24>>24<0)e=f[c+12>>2]|0;else e=e&255;x=0;Ga(686,g|0,(e|0)==0|0);m=x;x=0;c:do if(m&1)v=92;else{x=0;Ga(459,t|0,w+8|0);m=x;x=0;d:do if(m&1){e=Ya()|0;v=95}else{l=t+12|0;f[l>>2]=0;m=t+16|0;f[m>>2]=0;f[t+20>>2]=0;e=f[w+20>>2]|0;g=(f[w+24>>2]|0)-e|0;h=g>>2;do if(!h)v=26;else{if(h>>>0>1073741823){x=0;Fa(426,l|0);x=0}else{x=0;i=qa(318,g|0)|0;k=x;x=0;if(!(k&1)){f[m>>2]=i;f[l>>2]=i;f[t+20>>2]=i+(h<<2);if((g|0)<=0){v=26;break}Lu(i|0,e|0,g|0)|0;f[m>>2]=i+(g>>>2<<2);v=26;break}}e=Ya()|0;g=f[l>>2]|0;if(g){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);Hta(g)}}while(0);if((v|0)==26){j=t+24|0;f[j>>2]=0;k=t+28|0;f[k>>2]=0;f[t+32>>2]=0;e=f[w+32>>2]|0;g=(f[w+36>>2]|0)-e|0;h=(g|0)/24|0;do if(!g)v=36;else{if(h>>>0>178956970){x=0;Fa(426,j|0);x=0}else{x=0;i=qa(318,g|0)|0;z=x;x=0;if(!(z&1)){f[k>>2]=i;f[j>>2]=i;f[t+32>>2]=i+(h*24|0);if((g|0)<=0){v=36;break}Lu(i|0,e|0,g|0)|0;f[k>>2]=i+(((g>>>0)/24|0)*24|0);v=36;break}}e=Ya()|0;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0))f[k>>2]=h+(~(((h+-24-g|0)>>>0)/24|0)*24|0);Hta(g)}}while(0);do if((v|0)==36){g=t+36|0;z=w+44|0;f[g>>2]=f[z>>2];f[g+4>>2]=f[z+4>>2];f[g+8>>2]=f[z+8>>2];g=t+48|0;x=0;Ga(459,g|0,w+56|0);z=x;x=0;if(z&1){e=Ya()|0;g=f[j>>2]|0;if(!g)break;h=f[k>>2]|0;if((h|0)!=(g|0))f[k>>2]=h+(~(((h+-24-g|0)>>>0)/24|0)*24|0);Hta(g);break}x=0;Ga(687,r|0,t|0);z=x;x=0;if(z&1){e=Ya()|0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);g=f[t+24>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0))f[k>>2]=h+(~(((h+-24-g|0)>>>0)/24|0)*24|0);Hta(g)}g=f[t+12>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);Hta(g)}if((b[t+11>>0]|0)>=0)break d;Hta(f[t>>2]|0);break d}if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);e=f[t+24>>2]|0;if(e|0){g=f[k>>2]|0;if((g|0)!=(e|0))f[k>>2]=g+(~(((g+-24-e|0)>>>0)/24|0)*24|0);Hta(e)}e=f[t+12>>2]|0;if(e|0){g=f[m>>2]|0;if((g|0)!=(e|0))f[m>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);h=f[(f[o>>2]|0)+16>>2]|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;i=hL(h)|0;do if(i>>>0>4294967279){x=0;Fa(428,t|0);x=0}else{if(i>>>0<11){e=t+11|0;b[e>>0]=i;if(!i)g=t;else{g=t;v=68}}else{e=i+16&-16;x=0;g=qa(318,e|0)|0;z=x;x=0;if(z&1)break;f[t>>2]=g;f[t+8>>2]=e|-2147483648;f[t+4>>2]=i;e=t+11|0;v=68}if((v|0)==68)Lu(g|0,h|0,i|0)|0;b[g+i>>0]=0;g=b[e>>0]|0;k=g<<24>>24<0;e=f[t+4>>2]|0;g=g&255;j=b[n>>0]|0;i=j<<24>>24<0;l=c+12|0;j=i?f[l>>2]|0:j&255;e:do if((k?e:g)>>>0>j>>>0)e=0;else{h=f[t>>2]|0;e=k?h+e|0:t+g|0;h=k?h:t;if((h|0)==(e|0)){e=1;break}g=e;e=(i?f[p>>2]|0:p)+j|0;while(1){g=g+-1|0;e=e+-1|0;if((b[g>>0]|0)!=(b[e>>0]|0)){e=0;break e}if((g|0)==(h|0)){e=1;break}}}while(0);if(k)Hta(f[t>>2]|0);f:do if(!e){e=b[n>>0]|0;if(e<<24>>24<0)e=f[l>>2]|0;else e=e&255;if(!e)break;h=f[(f[o>>2]|0)+16>>2]|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;i=hL(h)|0;do if(i>>>0>4294967279){x=0;Fa(428,t|0);x=0;v=110}else{if(i>>>0<11){b[t+11>>0]=i;if(!i)e=t;else{e=t;v=87}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;z=x;x=0;if(z&1){v=110;break}f[t>>2]=e;f[t+8>>2]=g|-2147483648;f[t+4>>2]=i;v=87}if((v|0)==87)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;x=0;Ga(682,r|0,t|0);z=x;x=0;if(z&1){e=Ya()|0;if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0);break}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);break f}while(0);if((v|0)==110)e=Ya()|0;break b}while(0);g=b[n>>0]|0;if(g<<24>>24<0){e=f[p>>2]|0;g=f[l>>2]|0}else{e=p;g=g&255}h=e+g|0;g:do if(g|0){while(1){if((b[e>>0]|0)<=-1)break;e=e+1|0;if((e|0)==(h|0))break g}x=0;e=qa(399,r|0)|0;z=x;x=0;do if(!(z&1)){if((e|0)==3){x=0;sa(1032,c+108|0,50046)|0;z=x;x=0;if(z&1)break;else break g}h=f[(f[o>>2]|0)+16>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;i=hL(h)|0;do if(i>>>0>4294967279){x=0;Fa(428,q|0);x=0;v=139}else{if(i>>>0<11){b[q+11>>0]=i;if(!i)e=q;else{e=q;v=128}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;z=x;x=0;if(z&1){v=139;break}f[q>>2]=e;f[q+8>>2]=g|-2147483648;f[q+4>>2]=i;v=128}if((v|0)==128)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;x=0;e=ta(43,q|0,0,49818)|0;z=x;x=0;if(z&1){e=Ya()|0;if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0);break}h=f[e>>2]|0;i=e+4|0;f[t>>2]=f[i>>2];d[t+4>>1]=d[i+4>>1]|0;b[t+6>>0]=b[i+6>>0]|0;i=b[e+11>>0]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=c+108|0;g=e+11|0;if((b[g>>0]|0)<0){b[f[e>>2]>>0]=0;f[c+112>>2]=0}else{b[e>>0]=0;b[g>>0]=0}x=0;Ga(501,e|0,0);z=x;x=0;if(z&1){z=Za(0)|0;soa(z)}f[c+108>>2]=h;z=c+112|0;f[z>>2]=f[t>>2];d[z+4>>1]=d[t+4>>1]|0;b[z+6>>0]=b[t+6>>0]|0;b[c+119>>0]=i;f[t>>2]=0;d[t+4>>1]=0;b[t+6>>0]=0;if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);break g}while(0);if((v|0)==139)e=Ya()|0;break b}while(0);e=Ya()|0;break b}while(0);g=c+108|0;e=b[g+11>>0]|0;if(e<<24>>24<0)e=f[c+112>>2]|0;else e=e&255;if(e|0){x=0;Ga(688,r|0,g|0);z=x;x=0;if(z&1){v=92;break c}}x=0;Ga(459,a|0,p|0);z=x;x=0;if(z&1){v=92;break c}j=a+12|0;x=0;Ga(689,j|0,c+20|0);z=x;x=0;do if(z&1)e=Ya()|0;else{g=a+24|0;x=0;Ga(690,g|0,c+32|0);z=x;x=0;do if(z&1)e=Ya()|0;else{z=a+36|0;t=c+44|0;f[z>>2]=f[t>>2];f[z+4>>2]=f[t+4>>2];f[z+8>>2]=f[t+8>>2];x=0;Ga(459,a+48|0,c+56|0);z=x;x=0;if(z&1){e=Ya()|0;g=f[g>>2]|0;if(!g)break;h=a+28|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~(((i+-24-g|0)>>>0)/24|0)*24|0);Hta(g);break}Spa(w);f[y>>2]=6680;i=y+4|0;e=y+52|0;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);e=f[y+28>>2]|0;if(e|0){g=y+32|0;h=f[g>>2]|0;if((h|0)!=(e|0))f[g>>2]=h+(~(((h+-24-e|0)>>>0)/24|0)*24|0);Hta(e)}h=f[y+16>>2]|0;if(h|0){e=y+20|0;g=f[e>>2]|0;if((g|0)!=(h|0))f[e>>2]=g+(~((g+-4-h|0)>>>2)<<2);Hta(h)}if((b[i+11>>0]|0)>=0){u=s;return}Hta(f[i>>2]|0);u=s;return}while(0);g=f[j>>2]|0;if(!g)break;h=a+16|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);Hta(g)}while(0);if((b[a+11>>0]|0)>=0)break c;Hta(f[a>>2]|0);break c}while(0);e=Ya()|0;break b}while(0);g=f[l>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);Hta(g)}}if((b[t+11>>0]|0)<0){Hta(f[t>>2]|0);v=95}else v=95}while(0);break b}while(0);if((v|0)==92)e=Ya()|0}while(0);Spa(w)}f[y>>2]=6680;j=y+4|0;g=y+52|0;if((b[g+11>>0]|0)<0)Hta(f[g>>2]|0);g=f[y+28>>2]|0;if(g|0){h=y+32|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~(((i+-24-g|0)>>>0)/24|0)*24|0);Hta(g)}i=f[y+16>>2]|0;if(i|0){g=y+20|0;h=f[g>>2]|0;if((h|0)!=(i|0))f[g>>2]=h+(~((h+-4-i|0)>>>2)<<2);Hta(i)}if((b[j+11>>0]|0)>=0)jb(e|0);Hta(f[j>>2]|0);jb(e|0)}function He(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,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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=u;u=u+112|0;M=O+96|0;I=O+72|0;H=O+56|0;J=O;A=O+40|0;B=O+32|0;C=O+88|0;E=O+16|0;D=O+8|0;s=f[d+8>>2]|0;y=d+12|0;k=f[y>>2]|0;t=f[e+8>>2]|0;z=e+12|0;v=f[z>>2]|0;r=k;x=v;i=t;w=s;if((r|0)==(x|0))q=0;else q=((k-(f[s>>2]|0)|0)/28|0)+((s-t>>2)*146|0)+((v-(f[t>>2]|0)|0)/-28|0)|0;K=b+4|0;l=f[K>>2]|0;L=b+16|0;j=f[L>>2]|0;h=l+(((j>>>0)/146|0)<<2)|0;N=b+8|0;g=f[N>>2]|0;o=g;p=l;if((g|0)==(l|0))n=0;else n=(f[h>>2]|0)+(((j>>>0)%146|0)*28|0)|0;m=f[c+4>>2]|0;if((m|0)==(n|0))G=0;else{G=f[c>>2]|0;G=((G-h>>2)*146|0)+((m-(f[G>>2]|0)|0)/28|0)+((n-(f[h>>2]|0)|0)/-28|0)|0}F=b+20|0;m=f[F>>2]|0;if(G>>>0<(m-G|0)>>>0){if(q>>>0>j>>>0){fg(b,q-j|0);j=f[L>>2]|0;h=f[K>>2]|0;g=f[N>>2]|0}else h=l;z=h+(((j>>>0)/146|0)<<2)|0;if((g|0)==(h|0))x=0;else x=(f[z>>2]|0)+(((j>>>0)%146|0)*28|0)|0;h=z;g=x;j=d;l=f[j>>2]|0;j=f[j+4>>2]|0;d=J;f[d>>2]=l;f[d+4>>2]=j;if(q>>>0>G>>>0){if(G>>>0>>1>>>0){m=e;l=f[m>>2]|0;m=f[m+4>>2]|0;if(!G){k=v;j=m}else{j=((v-(f[t>>2]|0)|0)/28|0)+G|0;if((j|0)>0){i=i+(((j>>>0)/146|0)<<2)|0;j=(f[i>>2]|0)+(((j>>>0)%146|0)*28|0)|0}else{j=145-j|0;i=i+(((j|0)/-146|0)<<2)|0;j=(f[i>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}k=j;j=m}}else{i=q-G|0;if(!i)i=w;else{i=((k-(f[s>>2]|0)|0)/28|0)-i|0;if((i|0)>0){d=w+(((i>>>0)/146|0)<<2)|0;k=(f[d>>2]|0)+(((i>>>0)%146|0)*28|0)|0;i=d}else{k=145-i|0;i=w+(((k|0)/-146|0)<<2)|0;k=(f[i>>2]|0)+((145-((k|0)%146|0)|0)*28|0)|0}}}d=J;f[d>>2]=l;f[d+4>>2]=j;l=k;if((r|0)==(l|0)){b=G;n=h;s=i;r=k;k=g}else{n=h;c=i;j=g;while(1){m=n;if((f[m>>2]|0)==(j|0)){j=m+-4|0;n=j;j=(f[j>>2]|0)+4088|0}o=j+-28|0;p=o;l=l+28|0;m=f[c>>2]|0;if((l-m|0)==4088){c=c+4|0;l=f[c>>2]|0;m=l}if((m|0)==(l|0))m=(f[c+-4>>2]|0)+4088|0;else m=l;d=m+-28|0;f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];d=j+-16|0;qV(d,f[m+-12>>2]|0);f[d>>2]=15556;f[j+-8>>2]=f[m+-8>>2];m=f[m+-4>>2]|0;f[j+-4>>2]=m;if(m|0)ega(m);f[L>>2]=(f[L>>2]|0)+-1;f[F>>2]=(f[F>>2]|0)+1;if((f[y>>2]|0)==(l|0)){b=G;s=i;r=k;k=p;break}else j=p}}}else{b=q;n=h;s=w;r=k;k=g}if(b|0){i=((g-(f[z>>2]|0)|0)/28|0)+b|0;if((i|0)>0){m=z+(((i>>>0)/146|0)<<2)|0;j=(f[m>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{j=145-i|0;m=z+(((j|0)/-146|0)<<2)|0;j=(f[m>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}p=m;q=j;if((x|0)!=(j|0)){l=p;o=j;while(1){i=n;if((f[i>>2]|0)==(k|0)){c=i+-4|0;n=c;c=(f[c>>2]|0)+4088|0}else c=k;k=c+-28|0;i=l;if((f[i>>2]|0)==(o|0)){l=i+-4|0;i=l;l=(f[l>>2]|0)+4088|0}else{i=l;l=o}o=l+-28|0;f[k>>2]=f[o>>2];f[k+4>>2]=f[o+4>>2];f[k+8>>2]=f[o+8>>2];E=c+-16|0;qV(E,f[l+-12>>2]|0);f[E>>2]=15556;E=l+-8|0;f[c+-8>>2]=f[E>>2];d=l+-4|0;f[c+-4>>2]=f[d>>2];f[E>>2]=0;f[d>>2]=0;f[L>>2]=(f[L>>2]|0)+-1;f[F>>2]=(f[F>>2]|0)+1;if((x|0)==(o|0))break;else l=i}}if(b>>>0>>0){i=((g-(f[z>>2]|0)|0)/28|0)+G|0;if((i|0)>0){k=z+(((i>>>0)/146|0)<<2)|0;i=(f[k>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;k=z+(((i|0)/-146|0)<<2)|0;i=(f[k>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}if((i|0)!=(j|0)){l=f[m>>2]|0;i=((i-(f[k>>2]|0)|0)/28|0)+((k-p>>2)*146|0)+((q-l|0)/-28|0)|0;if((i|0)>0){n=i;k=q;while(1){l=l+4088|0;i=(l-j|0)/28|0;F=(i|0)>(n|0);i=F?n:i;d=H;f[d>>2]=h;f[d+4>>2]=g;f[M>>2]=f[H>>2];f[M+4>>2]=f[H+4>>2];Sq(I,j,F?j+(n*28|0)|0:l,M,0);g=I;h=f[g>>2]|0;g=f[g+4>>2]|0;l=n-i|0;if(!i)i=m;else{i=((k-(f[m>>2]|0)|0)/28|0)+i|0;if((i|0)>0){F=m+(((i>>>0)/146|0)<<2)|0;j=(f[F>>2]|0)+(((i>>>0)%146|0)*28|0)|0;i=F}else{j=145-i|0;i=m+(((j|0)/-146|0)<<2)|0;j=(f[i>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}k=j}if((l|0)<=0)break;n=l;l=f[i>>2]|0;m=i}}}}d=J;F=f[d+4>>2]|0;J=A;f[J>>2]=f[d>>2];f[J+4>>2]=F;f[A+8>>2]=s;f[A+12>>2]=r;f[B>>2]=h;f[B+4>>2]=g;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[I>>2]=f[e>>2];f[I+4>>2]=f[e+4>>2];f[I+8>>2]=f[e+8>>2];f[I+12>>2]=f[e+12>>2];f[M>>2]=f[B>>2];f[M+4>>2]=f[B+4>>2];Ol(C,H,I,M,0)}}else{h=o-p>>2;h=((h|0)==0?0:(h*146|0)+-1|0)-(m+j)|0;if(q>>>0>h>>>0){Tf(b,q-h|0);j=f[L>>2]|0;m=f[F>>2]|0;l=f[K>>2]|0;h=f[N>>2]|0}else h=g;g=j+m|0;B=l+(((g>>>0)/146|0)<<2)|0;if((h|0)==(l|0))A=0;else A=(f[B>>2]|0)+(((g>>>0)%146|0)*28|0)|0;h=B;g=A;n=e;l=f[n>>2]|0;n=f[n+4>>2]|0;y=m-G|0;if(q>>>0>y>>>0){if(y>>>0>>1>>>0){m=d;l=f[m>>2]|0;m=f[m+4>>2]|0;if(!y){i=w;j=k;b=l;p=m}else{i=((k-(f[s>>2]|0)|0)/28|0)-y|0;if((i|0)>0){e=w+(((i>>>0)/146|0)<<2)|0;j=(f[e>>2]|0)+(((i>>>0)%146|0)*28|0)|0;i=e}else{j=145-i|0;i=w+(((j|0)/-146|0)<<2)|0;j=(f[i>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}b=l;p=m}}else{j=q-y|0;if(!j){j=v;b=l;p=n}else{j=((v-(f[t>>2]|0)|0)/28|0)+j|0;if((j|0)>0){i=i+(((j>>>0)/146|0)<<2)|0;j=(f[i>>2]|0)+(((j>>>0)%146|0)*28|0)|0}else{j=145-j|0;i=i+(((j|0)/-146|0)<<2)|0;j=(f[i>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}b=l;p=n}}if((x|0)==(j|0)){q=y;c=h;r=i;k=g;n=p}else{c=h;o=i;m=j;k=g;l=f[i>>2]|0;while(1){n=k;if((m|0)==(l|0))k=(f[o+-4>>2]|0)+4088|0;else k=m;e=k+-28|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];e=n+12|0;qV(e,f[k+-12>>2]|0);f[e>>2]=15556;f[n+20>>2]=f[k+-8>>2];k=f[k+-4>>2]|0;f[n+24>>2]=k;if(k|0)ega(k);k=n+28|0;if((k-(f[c>>2]|0)|0)==4088){k=c+4|0;c=k;k=f[k>>2]|0}l=f[o>>2]|0;if((m|0)==(l|0)){n=o+-4|0;l=f[n>>2]|0;m=l+4088|0}else n=o;m=m+-28|0;f[F>>2]=(f[F>>2]|0)+1;if((m|0)==(f[z>>2]|0)){q=y;r=i;x=j;n=p;break}else o=n}}}else{c=h;r=i;k=g;b=l}if(q|0){i=((g-(f[B>>2]|0)|0)/28|0)-q|0;if((i|0)>0){p=B+(((i>>>0)/146|0)<<2)|0;j=(f[p>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{j=145-i|0;p=B+(((j|0)/-146|0)<<2)|0;j=(f[p>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0}m=p;o=j;if((A|0)!=(j|0)){l=m;i=j;do{f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];C=k+12|0;qV(C,f[i+16>>2]|0);f[C>>2]=15556;C=i+20|0;f[k+20>>2]=f[C>>2];e=i+24|0;f[k+24>>2]=f[e>>2];f[C>>2]=0;f[e>>2]=0;k=k+28|0;if((k-(f[c>>2]|0)|0)==4088){k=c+4|0;c=k;k=f[k>>2]|0}i=i+28|0;if((i-(f[l>>2]|0)|0)==4088){i=l+4|0;l=i;i=f[i>>2]|0}f[F>>2]=(f[F>>2]|0)+1}while((A|0)!=(i|0))}if(q>>>0>>0){i=((g-(f[B>>2]|0)|0)/28|0)-y|0;if((i|0)>0){l=B+(((i>>>0)/146|0)<<2)|0;i=(f[l>>2]|0)+(((i>>>0)%146|0)*28|0)|0}else{i=145-i|0;l=B+(((i|0)/-146|0)<<2)|0;i=(f[l>>2]|0)+((145-((i|0)%146|0)|0)*28|0)|0}if((j|0)!=(i|0)){k=f[p>>2]|0;i=((o-k|0)/28|0)+((m-l>>2)*146|0)+((i-(f[l>>2]|0)|0)/-28|0)|0;if((i|0)>0){l=p;while(1){if((j|0)==(k|0)){l=l+-4|0;k=f[l>>2]|0;j=k+4088|0}m=j+-28|0;F=(j-k|0)/28|0;e=(F|0)>(i|0);F=e?i:F;C=H;f[C>>2]=h;f[C+4>>2]=g;f[M>>2]=f[H>>2];f[M+4>>2]=f[H+4>>2];op(I,e?j+((0-i|0)*28|0)|0:k,j,M,0);g=I;h=f[g>>2]|0;g=f[g+4>>2]|0;i=i-F|0;j=F+-1|0;do if(!j)j=m;else{j=((m-(f[l>>2]|0)|0)/28|0)-j|0;if((j|0)>0){F=l+(((j>>>0)/146|0)<<2)|0;l=F;j=(f[F>>2]|0)+(((j>>>0)%146|0)*28|0)|0;break}else{j=145-j|0;F=l+(((j|0)/-146|0)<<2)|0;l=F;j=(f[F>>2]|0)+((145-((j|0)%146|0)|0)*28|0)|0;break}}while(0);if((i|0)<=0)break;k=f[l>>2]|0}}}}F=E;f[F>>2]=b;f[F+4>>2]=n;f[E+8>>2]=r;f[E+12>>2]=x;f[D>>2]=h;f[D+4>>2]=g;f[H>>2]=f[d>>2];f[H+4>>2]=f[d+4>>2];f[H+8>>2]=f[d+8>>2];f[H+12>>2]=f[d+12>>2];f[I>>2]=f[E>>2];f[I+4>>2]=f[E+4>>2];f[I+8>>2]=f[E+8>>2];f[I+12>>2]=f[E+12>>2];f[M>>2]=f[D>>2];f[M+4>>2]=f[D+4>>2];$k(J,H,I,M,0)}}M=f[K>>2]|0;g=f[L>>2]|0;i=M+(((g>>>0)/146|0)<<2)|0;if((f[N>>2]|0)==(M|0)){h=0;g=0}else{h=0;g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0}N=a;f[N>>2]=h|i;f[N+4>>2]=g;if(!G){u=O;return}g=((g-(f[i>>2]|0)|0)/28|0)+G|0;if((g|0)>0){N=i+(((g>>>0)/146|0)<<2)|0;f[a>>2]=N;g=(f[N>>2]|0)+(((g>>>0)%146|0)*28|0)|0}else{g=145-g|0;N=i+(((g|0)/-146|0)<<2)|0;f[a>>2]=N;g=(f[N>>2]|0)+((145-((g|0)%146|0)|0)*28|0)|0}f[a+4>>2]=g;u=O;return}function Ie(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;s=0;t=u;u=u+224|0;q=t+184|0;C=t+176|0;D=t+168|0;B=t+160|0;A=t+152|0;z=t+136|0;l=t+144|0;m=t+128|0;o=t+88|0;n=t+48|0;y=t+96|0;w=t+56|0;v=t+16|0;r=t+8|0;p=t;if(!a)e=0;else{g=q+4|0;e=a;while(1){qV(q,f[e+88>>2]|0);f[q>>2]=15556;h=f[g>>2]|0;_P(q);if(!h)break;else e=h}}qV(C,e);f[C>>2]=15556;a:do if(!c){e=0;s=8}else{g=q+4|0;e=c;while(1){x=0;Ga(462,q|0,f[e+88>>2]|0);k=x;x=0;if(k&1)break a;f[q>>2]=15556;h=f[g>>2]|0;_P(q);if(!h){s=8;break}else e=h}}while(0);if((s|0)==8){x=0;Ga(462,D|0,e|0);k=x;x=0;if(!(k&1)){f[D>>2]=15556;j=C+4|0;e=f[j>>2]|0;do if(!e){x=0;Ja(11,34643,34667,991,34679);x=0;s=12}else{k=D+4|0;g=f[k>>2]|0;if(!g){x=0;Ja(11,34690,34667,992,34679);x=0;s=12;break}if(f[e+72>>2]|0){B=0;_P(D);_P(C);u=t;return B|0}if(f[g+72>>2]|0){B=0;_P(D);_P(C);u=t;return B|0}x=0;Ga(462,B|0,f[e+80>>2]|0);i=x;x=0;if(i&1)d=Ya()|0;else{f[B>>2]=15572;x=0;Ga(462,A|0,f[(f[k>>2]|0)+80>>2]|0);i=x;x=0;if(i&1)d=Ya()|0;else{f[A>>2]=15572;h=B+4|0;e=f[h>>2]|0;do if(!e){x=0;Ja(11,34714,34667,1005,34679);x=0;s=23}else{i=A+4|0;g=f[i>>2]|0;if(!g){x=0;Ja(11,34748,34667,1006,34679);x=0;s=23;break}x=0;e=sa(988,g|0,e|0)|0;g=x;x=0;b:do if(g&1)s=29;else{x=0;Ga(462,z|0,e|0);g=x;x=0;if(g&1)s=29;else{f[z>>2]=15572;g=z+4|0;c:do if(!(f[g>>2]|0))d=0;else{h=f[h>>2]|0;e=f[h+76>>2]|0;do if(((f[h+80>>2]|0)-e|0)==8){E=f[e+4>>2]|0;e=E+84|0;h=b[e+11>>0]|0;if(((h<<24>>24<0?f[E+88>>2]|0:h&255)|0)!=1){s=35;break}x=0;e=wa(21,e|0,0,-1,41390,1)|0;E=x;x=0;if(E&1){E=Za(0)|0;soa(E)}else if(!e){s=40;break}else{s=35;break}}else s=35;while(0);do if((s|0)==35){E=f[i>>2]|0;e=f[E+76>>2]|0;if(((f[E+80>>2]|0)-e|0)!=8){d=0;s=54;break}i=f[e+4>>2]|0;e=i+84|0;E=b[e+11>>0]|0;if(((E<<24>>24<0?f[i+88>>2]|0:E&255)|0)!=1){d=0;s=54;break}x=0;e=wa(21,e|0,0,-1,41390,1)|0;E=x;x=0;if(E&1){E=Za(0)|0;soa(E)}else if(!e){s=40;break}else{d=0;s=54;break}}while(0);d:do if((s|0)==40){d=f[j>>2]|0;x=0;Ga(462,m|0,0);E=x;x=0;e:do if(!(E&1)){f[m>>2]=15572;f[d+68>>2]=0;e=d+76|0;d=d+80|0;if(!(f[d>>2]|0))s=43;else{x=0;Fa(429,e|0);E=x;x=0;if(!(E&1))s=43}do if((s|0)==43){f[d>>2]=f[m+4>>2];x=0;Fa(430,e|0);E=x;x=0;if(E&1)break;x=0;Ga(462,l|0,f[d>>2]|0);E=x;x=0;if(E&1)break;f[l>>2]=15572;_P(l);_P(m);d=f[k>>2]|0;x=0;Ga(462,n|0,f[g>>2]|0);E=x;x=0;if(E&1)break e;f[n>>2]=15572;f[d+68>>2]=0;e=d+76|0;d=d+80|0;if(!(f[d>>2]|0))s=48;else{x=0;Fa(429,e|0);E=x;x=0;if(!(E&1))s=48}do if((s|0)==48){f[d>>2]=f[n+4>>2];x=0;Fa(430,e|0);E=x;x=0;if(E&1)break;x=0;Ga(462,o|0,f[d>>2]|0);E=x;x=0;if(E&1)break;f[o>>2]=15572;_P(o);_P(n);d=1;s=54;break d}while(0);d=Ya()|0;_P(n);break d}while(0);d=Ya()|0;_P(m);break d}while(0);d=Ya()|0}while(0);if((s|0)==54){x=0;Ga(505,y|0,a|0);E=x;x=0;if(E&1)d=Ya()|0;else{x=0;Ga(505,w|0,c|0);E=x;x=0;if(E&1)d=Ya()|0;else{f:do if(d)s=72;else{x=0;Ga(506,q|0,f[g>>2]|0);E=x;x=0;if(E&1)d=Ya()|0;else{x=0;Ga(505,v|0,f[q+4>>2]|0);E=x;x=0;do if(E&1)d=Ya()|0;else{x=0;Ga(507,w|0,v|0);E=x;x=0;if(E&1){d=Ya()|0;e=f[v+24>>2]|0;if(e|0)QZ(e);_P(v+12|0);break}else{d=f[v+24>>2]|0;if(d|0)QZ(d);_P(v+12|0);_P(q);s=72;break f}}while(0);_P(q)}}while(0);if((s|0)==72){x=0;Ia(83,v|0,y|0,w|0);E=x;x=0;if(E&1)d=Ya()|0;else{x=0;g=qa(318,112)|0;E=x;x=0;do if(E&1)s=85;else{x=0;h=q;d=a+12|0;e=h+40|0;do{f[h>>2]=f[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));Ia(84,g|0,q|0,0);E=x;x=0;if(E&1){d=Ya()|0;Hta(g);break}x=0;Ga(462,r|0,g|0);E=x;x=0;if(E&1){s=85;break}f[r>>2]=7168;d=f[v+20>>2]|0;n=v+24|0;o=f[n>>2]|0;c=(o|0)==0;if(!c)ega(o);e=f[d+4>>2]|0;g=f[d+16>>2]|0;h=e+(((g>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(e|0)){k=0;d=0}else{k=g+(f[d+20>>2]|0)|0;k=(f[e+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;d=(f[h>>2]|0)+(((g>>>0)%146|0)*28|0)|0}j=r+4|0;l=q+24|0;m=q+12|0;g:while(1){do{i=d;d=f[j>>2]|0;g=d+72|0;if((k|0)==(i|0)){s=83;break g}d=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(508,q|0,i|0);E=x;x=0;if(E&1){s=95;break g}x=0;e=qa(321,q|0)|0;E=x;x=0;if(E&1){s=96;break g}x=0;Ga(462,p|0,e|0);E=x;x=0;if(E&1){s=96;break g}f[p>>2]=15556;x=0;Ga(d|0,g|0,p|0);E=x;x=0;if(E&1){s=97;break g}_P(p);d=f[l>>2]|0;if(d|0)QZ(d);_P(m);d=i+28|0}while((d-(f[h>>2]|0)|0)!=4088);d=h+4|0;h=d;d=f[d>>2]|0}if((s|0)==83){if((f[d+80>>2]|0)==(f[d+76>>2]|0))d=0;else b[d+8>>0]=1;if(!c)QZ(o);_P(r);e=f[n>>2]|0;if(e|0)QZ(e);_P(v+12|0);e=f[w+24>>2]|0;if(e|0)QZ(e);_P(w+12|0);e=f[y+24>>2]|0;if(e|0)QZ(e);_P(y+12|0);break c}else if((s|0)==95)d=Ya()|0;else if((s|0)==96){d=Ya()|0;s=98}else if((s|0)==97){d=Ya()|0;_P(p);s=98}if((s|0)==98){e=f[l>>2]|0;if(e|0)QZ(e);_P(m)}if(!c)QZ(o);_P(r)}while(0);if((s|0)==85)d=Ya()|0;e=f[v+24>>2]|0;if(e|0)QZ(e);_P(v+12|0)}}e=f[w+24>>2]|0;if(e|0)QZ(e);_P(w+12|0)}e=f[y+24>>2]|0;if(e|0)QZ(e);_P(y+12|0)}}_P(z);break b}while(0);_P(z);_P(A);_P(B);E=d;_P(D);_P(C);u=t;return E|0}}while(0);if((s|0)==29)d=Ya()|0}while(0);if((s|0)==23)d=Ya()|0;_P(A)}_P(B)}}while(0);if((s|0)==12)d=Ya()|0;_P(D);E=d;_P(C);jb(E|0)}}E=Ya()|0;_P(C);jb(E|0);return 0}function Je(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;y=0;A=u;u=u+240|0;w=A+224|0;C=A+216|0;d=A+208|0;B=A+200|0;z=A+56|0;k=A+40|0;j=A+28|0;i=A+16|0;s=A+8|0;t=A;qV(d,f[c+76>>2]|0);f[d>>2]=7168;x=0;Ga(462,C|0,f[d+4>>2]|0);v=x;x=0;if(v&1){C=Ya()|0;_P(d);jb(C|0)}f[C>>2]=15588;_P(d);x=0;Ga(462,B|0,f[c+68>>2]|0);v=x;x=0;if(v&1)d=Ya()|0;else{f[B>>2]=7280;v=a+4|0;x=0;d=qa(399,v|0)|0;r=x;x=0;a:do if(r&1)y=10;else{x=0;d=sa(1021,c|0,d|0)|0;r=x;x=0;if(r&1)y=10;else{if(!d){h=B+4|0;e=f[h>>2]|0;i=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;if(!i){_P(B);_P(C);u=A;return}d=0;while(1){e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;z=x;x=0;if(z&1){y=16;break}e=e+4|0;x=0;g=qa(346,f[e>>2]|0)|0;z=x;x=0;if(z&1){y=16;break}if(g|0){e=f[e>>2]|0;g=f[e>>2]|0;if((f[153]|0)!=(f[(f[g+-4>>2]|0)+4>>2]|0)){x=0;Ga(f[g+44>>2]|0,e|0,a|0);z=x;x=0;if(z&1){y=16;break}}}d=d+1|0;if(d>>>0>=i>>>0){y=137;break}e=f[h>>2]|0}if((y|0)==16){d=Ya()|0;break}else if((y|0)==137){_P(B);_P(C);u=A;return}}x=0;d=qa(399,v|0)|0;r=x;x=0;if(r&1)y=10;else{if(!d){r=a+76|0;f[r>>2]=(f[r>>2]|0)+(f[c+56>>2]|0)}b:do if(b[(f[a+72>>2]|0)+20>>0]|0){n=z+64|0;d=z+8|0;f[d>>2]=16496;m=z+12|0;f[z>>2]=2284;f[n>>2]=2304;f[z+4>>2]=0;x=0;Ga(531,z+64|0,m|0);r=x;x=0;c:do if(r&1){d=Ya()|0;y=67}else{f[z+136>>2]=0;f[z+140>>2]=-1;f[z>>2]=16476;f[n>>2]=16516;f[d>>2]=16496;x=0;Fa(437,m|0);r=x;x=0;do if(r&1)d=Ya()|0;else{f[m>>2]=16336;l=z+44|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[z+60>>2]=24;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;Ga(532,m|0,w|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);Bca(m);break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);x=0;Fa(456,v|0);r=x;x=0;if(r&1)d=Ya()|0;else{g=f[c+24>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=hL(g)|0;d:do if(h>>>0>4294967279){x=0;Fa(428,k|0);x=0;y=69}else{if(h>>>0<11){b[k+11>>0]=h;if(!h)d=k;else{d=k;y=43}}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;y=x;x=0;if(y&1){y=69;break}f[k>>2]=d;f[k+8>>2]=e|-2147483648;f[k+4>>2]=h;y=43}if((y|0)==43)Lu(d|0,g|0,h|0)|0;b[d+h>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=j+11|0;b[e>>0]=1;b[j>>0]=46;b[j+1>>0]=0;x=0;Fa(440,i|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ja(17,w|0,k|0,j|0,i|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[i+11>>0]|0)>=0)break;Hta(f[i>>2]|0);break}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[e>>0]|0)<0)Hta(f[j>>2]|0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);g=z+8|0;x=0;d=ta(44,g|0,49791,8)|0;r=x;x=0;e:do if(r&1)y=78;else{x=0;d=sa(993,d|0,(f[c+12>>2]|0)+1|0)|0;r=x;x=0;do if(!(r&1)){x=0;d=ta(44,d|0,49800,2)|0;r=x;x=0;if(r&1)break;e=w+11|0;r=b[e>>0]|0;q=r<<24>>24<0;x=0;d=ta(44,d|0,(q?f[w>>2]|0:w)|0,(q?f[w+4>>2]|0:r&255)|0)|0;r=x;x=0;if(r&1)break;x=0;ta(44,d|0,51440,3)|0;r=x;x=0;if(r&1)break;x=0;Ga(533,k|0,m|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ga(682,v|0,k|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);x=0;Fa(457,v|0);r=x;x=0;if(r&1){y=78;break e}if((b[e>>0]|0)<0)Hta(f[w>>2]|0);f[z>>2]=16476;f[n>>2]=16516;f[g>>2]=16496;f[m>>2]=16336;if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);Bca(m);KU(z,16528);uma(n);break b}while(0);break e}while(0);d=Ya()|0}while(0);if((y|0)==78)d=Ya()|0;if((b[w+11>>0]|0)>=0)break d;Hta(f[w>>2]|0);break d}while(0);if((b[e>>0]|0)<0)Hta(f[j>>2]|0);if((b[k+11>>0]|0)>=0){y=77;break}Hta(f[k>>2]|0);y=77}while(0);if((y|0)==69){d=Ya()|0;y=77}}f[z>>2]=16476;f[n>>2]=16516;f[z+8>>2]=16496;f[m>>2]=16336;if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);Bca(m);KU(z,16528);uma(n);break c}while(0);KU(z,16528);y=67}while(0);if((y|0)==67)uma(n);break a}while(0);d=f[C+4>>2]|0;f[a+92>>2]=d;if(d|0){x=0;Ga(f[(f[d>>2]|0)+44>>2]|0,d|0,a|0);r=x;x=0;if(r&1){y=10;break}}r=B+4|0;x=0;Ga(683,v|0,f[r>>2]|0);q=x;x=0;if(q&1)y=10;else{e=f[r>>2]|0;l=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;f:do if(l|0){m=w+4|0;n=s+4|0;o=t+4|0;p=z+11|0;q=z+4|0;d=0;g:while(1){e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;k=x;x=0;if(k&1){y=108;break}x=0;Ga(462,w|0,f[e+4>>2]|0);k=x;x=0;if(k&1){y=108;break}f[w>>2]=6920;e=f[m>>2]|0;do if(!e)y=128;else if((f[153]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){e=e+84|0;x=0;Ga(462,s|0,f[e>>2]|0);k=x;x=0;if(k&1){y=109;break g}f[s>>2]=7696;x=0;g=qa(334,f[n>>2]|0)|0;k=x;x=0;if(k&1){y=110;break g}_P(s);if(g|0){x=0;Ga(459,z|0,g+64|0);k=x;x=0;if(k&1){y=114;break g}do if((f[343]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)){if(b[g+60>>0]|0){e=1;break}e=b[p>>0]|0;e=((e<<24>>24<0?f[q>>2]|0:e&255)|0)!=0}else e=1;while(0);if((b[p>>0]|0)<0)Hta(f[z>>2]|0);if(e){y=128;break}else break}x=0;Ga(462,t|0,f[e>>2]|0);k=x;x=0;if(k&1){y=121;break g}f[t>>2]=7696;x=0;i=qa(340,f[o>>2]|0)|0;k=x;x=0;if(k&1){y=122;break g}_P(t);if(!i){y=128;break}j=i+60|0;k=(f[i+68>>2]|0)-(f[i+64>>2]|0)>>3;if(k|0){g=0;h=1;do{x=0;e=sa(f[(f[j>>2]|0)+16>>2]|0,j|0,g|0)|0;D=x;x=0;if(D&1){y=126;break g}e=f[e+4>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+84>>2]|0,e|0)|0;D=x;x=0;if(D&1){y=126;break g}h=h&e;g=g+1|0}while(g>>>0>>0);if(!h){y=128;break}}if(b[i+85>>0]|0)y=128}else y=128;while(0);if((y|0)==128){y=0;D=f[m>>2]|0;x=0;Ga(f[(f[D>>2]|0)+44>>2]|0,D|0,a|0);D=x;x=0;if(D&1){y=129;break}}_P(w);d=d+1|0;if(d>>>0>=l>>>0)break f;e=f[r>>2]|0}if((y|0)==108)d=Ya()|0;else if((y|0)==109){d=Ya()|0;y=132}else if((y|0)==110){d=Ya()|0;_P(s);y=132}else if((y|0)==114){d=Ya()|0;y=132}else if((y|0)==121){d=Ya()|0;y=132}else if((y|0)==122){d=Ya()|0;_P(t);y=132}else if((y|0)==126){d=Ya()|0;y=132}else if((y|0)==129){d=Ya()|0;y=132}if((y|0)==132)_P(w);break a}while(0);x=0;d=qa(399,v|0)|0;D=x;x=0;if(D&1)y=10;else{if(!d){D=a+76|0;f[D>>2]=(f[D>>2]|0)-(f[c+56>>2]|0)}x=0;Ga(684,v|0,f[r>>2]|0);D=x;x=0;if(D&1)y=10;else{_P(B);_P(C);u=A;return}}}}}}while(0);if((y|0)==10)d=Ya()|0;_P(B)}_P(C);D=d;jb(D|0)}function Ke(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.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=u;u=u+320|0;y=A+272|0;E=A+216|0;w=A+192|0;c=A+232|0;o=A+204|0;l=A+152|0;r=A+136|0;v=A+56|0;q=A+96|0;t=A+80|0;D=A+68|0;z=A+16|0;B=A;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[w+8>>2]=0;p=w+11|0;b[p>>0]=7;b[w>>0]=b[39749]|0;b[w+1>>0]=b[39750]|0;b[w+2>>0]=b[39751]|0;b[w+3>>0]=b[39752]|0;b[w+4>>0]=b[39753]|0;b[w+5>>0]=b[39754]|0;b[w+6>>0]=b[39755]|0;b[w+7>>0]=0;i=c;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,o|0,h|0);s=x;x=0;a:do if(s&1){c=Za(0)|0;o=60}else{x=0;i=y;j=c;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));s=wa(27,w|0,a|0,e|0,y|0,o|0)|0;k=x;x=0;if(k&1){c=Za(0)|0;d=f[o>>2]|0;if(!d){o=60;break}k=o+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[o>>2]|0}Hta(d);o=60;break}c=f[o>>2]|0;if(c|0){j=o+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[w>>2]|0);x=0;sa(986,E|0,s+64|0)|0;p=x;x=0;if(p&1){c=Za(0)|0;o=129;break}x=0;Ka(5,y|0,E|0,0,0,1);p=x;x=0;if(p&1){c=Za(0)|0;o=129;break}p=E+11|0;if((b[p>>0]|0)<0){b[f[E>>2]>>0]=0;f[E+4>>2]=0}else{b[E>>0]=0;b[p>>0]=0}x=0;Ga(501,E|0,0);o=x;x=0;if(o&1){o=Za(0)|0;soa(o)}f[E>>2]=f[y>>2];f[E+4>>2]=f[y+4>>2];f[E+8>>2]=f[y+8>>2];f[w+8>>2]=0;o=w+11|0;b[o>>0]=7;b[w>>0]=b[40047]|0;b[w+1>>0]=b[40048]|0;b[w+2>>0]=b[40049]|0;b[w+3>>0]=b[40050]|0;b[w+4>>0]=b[40051]|0;b[w+5>>0]=b[40052]|0;b[w+6>>0]=b[40053]|0;b[w+7>>0]=0;i=l;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,r|0,h|0);k=x;x=0;do if(k&1)c=Za(0)|0;else{x=0;i=y;j=l;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));k=wa(27,w|0,a|0,e|0,y|0,r|0)|0;l=x;x=0;if(l&1){c=Za(0)|0;d=f[r>>2]|0;if(!d)break;k=r+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[r>>2]|0}Hta(d);break}c=f[r>>2]|0;if(c|0){j=r+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[r>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[w>>2]|0);x=0;Ga(459,w|0,k+64|0);r=x;x=0;if(r&1)c=Za(0)|0;else{x=0;Ka(5,y|0,w|0,0,0,1);r=x;x=0;b:do if(r&1){c=Za(0)|0;d=w+11|0}else{d=w+11|0;if((b[d>>0]|0)<0){b[f[w>>2]>>0]=0;f[w+4>>2]=0}else{b[w>>0]=0;b[d>>0]=0}x=0;Ga(501,w|0,0);r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}f[w>>2]=f[y>>2];f[w+4>>2]=f[y+4>>2];f[w+8>>2]=f[y+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;o=v+11|0;b[o>>0]=6;b[v>>0]=b[40055]|0;b[v+1>>0]=b[40056]|0;b[v+2>>0]=b[40057]|0;b[v+3>>0]=b[40058]|0;b[v+4>>0]=b[40059]|0;b[v+5>>0]=b[40060]|0;b[v+6>>0]=0;i=q;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,t|0,h|0);r=x;x=0;do if(r&1)c=Za(0)|0;else{x=0;i=y;j=q;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));n=+ja(3,v|0,a|0,e|0,y|0,t|0);r=x;x=0;if(r&1){c=Za(0)|0;i=f[t>>2]|0;if(!i)break;l=t+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[t>>2]|0}Hta(i);break}c=f[t>>2]|0;if(c|0){k=t+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[v>>2]|0);c=b[p>>0]|0;i=E+4|0;x=0;c=ta(49,E|0,0,(c<<24>>24<0?f[i>>2]|0:c&255)|0)|0;v=x;x=0;c:do if(!(v&1)){m=+(c>>>0);do if(!(n>0.0)|!(n<=m)){if(n>m){v=b[d>>0]|0;t=v<<24>>24<0;x=0;ta(41,E|0,(t?f[w>>2]|0:w)|0,(t?f[w+4>>2]|0:v&255)|0)|0;v=x;x=0;if(v&1)break c;else break}if(n==0.0){x=0;Ia(80,y|0,w|0,E|0);v=x;x=0;if(v&1){c=Za(0)|0;break b}if((b[p>>0]|0)<0){b[f[E>>2]>>0]=0;f[i>>2]=0}else{b[E>>0]=0;b[p>>0]=0}x=0;Ga(501,E|0,0);v=x;x=0;if(v&1){v=Za(0)|0;soa(v)}else{f[E>>2]=f[y>>2];f[E+4>>2]=f[y+4>>2];f[E+8>>2]=f[y+8>>2];break}}if(+K(+n)<=m){x=0;c=sa(1002,E|0,~~(n+ +((c+1|0)>>>0))>>>0|0)|0;v=x;x=0;if(v&1)break c;v=b[d>>0]|0;t=v<<24>>24<0;x=0;ua(12,E|0,c|0,(t?f[w>>2]|0:w)|0,(t?f[w+4>>2]|0:v&255)|0)|0;v=x;x=0;if(v&1)break c;else break}x=0;Ia(80,y|0,w|0,E|0);v=x;x=0;if(v&1){c=Za(0)|0;break b}if((b[p>>0]|0)<0){b[f[E>>2]>>0]=0;f[i>>2]=0}else{b[E>>0]=0;b[p>>0]=0}x=0;Ga(501,E|0,0);v=x;x=0;if(v&1){v=Za(0)|0;soa(v)}else{f[E>>2]=f[y>>2];f[E+4>>2]=f[y+4>>2];f[E+8>>2]=f[y+8>>2];break}}else{x=0;c=sa(1002,E|0,(~~n>>>0)+-1|0)|0;v=x;x=0;if(v&1)break c;v=b[d>>0]|0;t=v<<24>>24<0;x=0;ua(12,E|0,c|0,(t?f[w>>2]|0:w)|0,(t?f[w+4>>2]|0:v&255)|0)|0;v=x;x=0;if(v&1)break c}while(0);do if(s|0){if((f[343]|0)!=(f[(f[(f[s>>2]|0)+-4>>2]|0)+4>>2]|0))break;if(!(b[s+60>>0]|0))break;x=0;Ia(105,y|0,E|0,0);v=x;x=0;if(v&1){c=Za(0)|0;break b}if((b[p>>0]|0)<0){b[f[E>>2]>>0]=0;f[i>>2]=0}else{b[E>>0]=0;b[p>>0]=0}x=0;Ga(501,E|0,0);D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}else{f[E>>2]=f[y>>2];f[E+4>>2]=f[y+4>>2];f[E+8>>2]=f[y+8>>2];break}}while(0);if((b[d>>0]|0)<0)Hta(f[w>>2]|0);o=139;break a}while(0);c=Za(0)|0;break b}while(0);if((b[o>>0]|0)<0)Hta(f[v>>2]|0)}while(0);if((b[d>>0]|0)<0)Hta(f[w>>2]|0)}o=129;break a}while(0);if((b[o>>0]|0)<0)Hta(f[w>>2]|0);o=129}while(0);if((o|0)==60){if((b[p>>0]|0)<0)Hta(f[w>>2]|0);o=129}d:do if((o|0)==129){Ua(c|0)|0;x=0;Ga(511,D|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;Ga(564,g|0,D|0);h=x;x=0;if(h&1){c=Ya()|0;k=I;d=f[D>>2]|0;if(!d)break;l=D+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[D>>2]|0}Hta(d);break}c=f[D>>2]|0;if(c|0){j=D+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[D>>2]|0}Hta(c)}x=0;Ea(4);D=x;x=0;if(D&1){o=155;break d}else{o=139;break d}}while(0);x=0;Ea(4);D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}else C=c}while(0);if((o|0)==139){x=0;d=qa(318,80)|0;D=x;x=0;if(D&1)o=155;else{i=z;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(459,B|0,E|0);D=x;x=0;do if(D&1)c=Ya()|0;else{x=0;i=y;j=z;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Na(1,d|0,y|0,B|0,0,0,0,1,1);D=x;x=0;if(D&1){c=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[E+11>>0]|0)>=0){u=A;return d|0}Hta(f[E>>2]|0);u=A;return d|0}while(0);Hta(d);C=c}}if((o|0)==155)C=Ya()|0;if((b[E+11>>0]|0)>=0)jb(C|0);Hta(f[E>>2]|0);jb(C|0);return 0}function Le(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=0;B=u;u=u+208|0;A=B+160|0;z=B+148|0;y=B+136|0;v=B+56|0;e=B+96|0;n=B+44|0;i=B+32|0;D=B+24|0;C=B+16|0;q=B+8|0;w=B;E=c+164|0;F=f[E>>2]|0;t=F+1|0;f[E>>2]=t;if(t>>>0>512){m=Ta(84)|0;l=e;o=c+108|0;p=l+40|0;do{f[l>>2]=f[o>>2];l=l+4|0;o=o+4|0}while((l|0)<(p|0));x=0;Ga(511,n|0,c+148|0);D=x;x=0;do if(D&1)e=Ya()|0;else{x=0;Ga(459,i|0,80148);D=x;x=0;if(D&1){e=Ya()|0;l=I;h=1}else{x=0;l=A;o=e;p=l+40|0;do{f[l>>2]=f[o>>2];l=l+4|0;o=o+4|0}while((l|0)<(p|0));Ja(28,m|0,A|0,n|0,i|0);D=x;x=0;if(D&1)h=1;else{x=0;Ia(77,m|0,3328,181);x=0;h=0}e=Ya()|0;g=I;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);l=g}else l=g}g=f[n>>2]|0;if(!g){if(h)break;f[E>>2]=F;jb(e|0)}k=n+4|0;i=f[k>>2]|0;if((i|0)!=(g|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(g|0));g=f[n>>2]|0}Hta(g);if(!h){D=e;f[E>>2]=F;jb(D|0)}}while(0);bb(m|0);D=e;f[E>>2]=F;jb(D|0)}x=0;Ga(462,D|0,0);t=x;x=0;if(t&1)e=Ya()|0;else{f[D>>2]=15556;x=0;e=qa(318,112)|0;t=x;x=0;do if(t&1)h=43;else{s=c+108|0;x=0;l=A;o=s;p=l+40|0;do{f[l>>2]=f[o>>2];l=l+4|0;o=o+4|0}while((l|0)<(p|0));Ia(84,e|0,A|0,0);t=x;x=0;if(t&1){C=Ya()|0;Hta(e);e=C;break}x=0;Ga(462,C|0,e|0);t=x;x=0;if(t&1)h=43;else{f[C>>2]=7168;t=C+4|0;f[(f[t>>2]|0)+64>>2]=f[c+68>>2];r=c+76|0;x=0;e=qa(347,f[r>>2]|0)|0;p=x;x=0;a:do if(p&1)h=45;else{n=c+80|0;if((e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0)e=f[r>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1)h=45;else{g=g|0?g:e;x=0;e=qa(349,g|0)|0;p=x;x=0;if(p&1)h=45;else{if(!e){p=b[g>>0]|0;e=g+1|0;p=p<<24>>24|0;e=(p|0)!=123?((p|0)==44?e:0):e}b:do if(!((e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0)){f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;x=0;e=qa(318,16)|0;p=x;x=0;if(p&1)e=Ya()|0;else{f[A>>2]=e;f[A+8>>2]=-2147483632;f[A+4>>2]=11;l=e;o=44242;p=l+11|0;do{b[l>>0]=b[o>>0]|0;l=l+1|0;o=o+1|0}while((l|0)<(p|0));b[e+11>>0]=0;f[z+8>>2]=0;g=z+11|0;b[g>>0]=7;b[z>>0]=b[44254]|0;b[z+1>>0]=b[44255]|0;b[z+2>>0]=b[44256]|0;b[z+3>>0]=b[44257]|0;b[z+4>>0]=b[44258]|0;b[z+5>>0]=b[44259]|0;b[z+6>>0]=b[44260]|0;b[z+7>>0]=0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;x=0;e=qa(318,32)|0;p=x;x=0;do if(p&1)e=Ya()|0;else{f[y>>2]=e;f[y+8>>2]=-2147483616;f[y+4>>2]=25;l=e;o=44262;p=l+25|0;do{b[l>>0]=b[o>>0]|0;l=l+1|0;o=o+1|0}while((l|0)<(p|0));b[e+25>>0]=0;x=0;Ka(8,c|0,A|0,z|0,y|0,1);p=x;x=0;if(p&1){e=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[g>>0]|0)<0)Hta(f[z>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);break b}while(0);if((b[g>>0]|0)<0)Hta(f[z>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0)}break a}while(0);m=D+4|0;k=A+4|0;c:while(1){x=0;e=qa(350,f[r>>2]|0)|0;p=x;x=0;if(p&1){h=45;break a}if(e){x=0;e=qa(347,f[r>>2]|0)|0;p=x;x=0;if(p&1){h=45;break a}if((e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0)e=f[r>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1){h=45;break a}j=g|0?g:e;j=(b[j>>0]|0)==123?j+1|0:0;j=(j|0)==0?1:j>>>0>(f[n>>2]|0)>>>0}else j=0;while(1){x=0;e=qa(347,f[r>>2]|0)|0;p=x;x=0;if(p&1){h=45;break a}if((e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0)e=f[r>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1){h=45;break a}i=g|0?g:e;g=b[36411]|0;d:do if(!(g<<24>>24))e=0;else{e=b[i>>0]|0;h=36411;while(1){if(e<<24>>24==g<<24>>24)break d;h=h+1|0;g=b[h>>0]|0;if(!(g<<24>>24)){e=0;break}}}while(0);p=e<<24>>24?i+1|0:0;if(!((p|0)==0?1:p>>>0>(f[n>>2]|0)>>>0)){h=102;break c}x=0;Ia(112,A|0,c|0,d|0);p=x;x=0;if(p&1){h=79;break c}if(f[m>>2]|0){x=0;Fa(429,D|0);p=x;x=0;if(p&1){h=80;break c}}f[m>>2]=f[k>>2];f[k>>2]=0;_P(A);e=f[m>>2]|0;if(!e){h=76;break c}b[e+60>>0]=j&1;h=0;i=0;while(1){x=0;e=qa(347,f[r>>2]|0)|0;p=x;x=0;if(p&1){h=45;break a}if((e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0)e=f[r>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1){h=45;break a}p=g|0?g:e;p=(b[p>>0]|0)==44?p+1|0:0;if((p|0)==0?1:p>>>0>(f[n>>2]|0)>>>0)break;x=0;ta(52,c|0,0,0)|0;p=x;x=0;if(p&1){h=45;break a}x=0;e=ta(53,c|0,1,0)|0;p=x;x=0;if(p&1){h=45;break a}h=(e|0)!=0;do if(!(i<<24>>24)){x=0;e=qa(350,f[r>>2]|0)|0;p=x;x=0;if(p&1){h=45;break a}if(!e){e=0;break}x=0;e=qa(347,f[r>>2]|0)|0;p=x;x=0;if(p&1){h=45;break a}if((e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0)e=f[r>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1){h=45;break a}e=g|0?g:e;e=(b[e>>0]|0)==123?e+1|0:0;e=(e|0)==0?1:e>>>0>(f[n>>2]|0)>>>0}else e=1;while(0);i=e&1}e=(f[t>>2]|0)+72|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,f[m>>2]|0);p=x;x=0;if(p&1){h=45;break a}f[q>>2]=15556;x=0;Ga(g|0,e|0,q|0);p=x;x=0;if(p&1){h=109;break c}_P(q);if(!h){h=102;break c}if(!(i<<24>>24))continue c;else j=1}}if((h|0)==76){e=f[t>>2]|0;if(!e)e=0;else b[e+8>>0]=1;x=0;Ga(462,a|0,e|0);A=x;x=0;if(A&1){h=45;break}f[a>>2]=7168;_P(C);_P(D);f[E>>2]=F;u=B;return}else if((h|0)==79)e=Ya()|0;else if((h|0)==80){e=Ya()|0;_P(A)}else if((h|0)==102){i=c+168|0;j=c+84|0;k=c+96|0;while(1){f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];g=f[r>>2]|0;f[z>>2]=f[j>>2];f[z+4>>2]=f[j+4>>2];f[z+8>>2]=f[j+8>>2];f[y>>2]=f[k>>2];f[y+4>>2]=f[k+4>>2];f[y+8>>2]=f[k+8>>2];l=v;o=s;p=l+40|0;do{f[l>>2]=f[o>>2];l=l+4|0;o=o+4|0}while((l|0)<(p|0));x=0;ta(52,c|0,1,0)|0;d=x;x=0;if(d&1){h=45;break a}x=0;e=ta(54,c|0,1,0)|0;d=x;x=0;if(d&1){h=45;break a}h=(e|0)==0;if(h){l=s;o=v;p=l+40|0;do{f[l>>2]=f[o>>2];l=l+4|0;o=o+4|0}while((l|0)<(p|0));f[i>>2]=f[A>>2];f[i+4>>2]=f[A+4>>2];f[i+8>>2]=f[A+8>>2];f[r>>2]=g;f[k>>2]=f[y>>2];f[k+4>>2]=f[y+4>>2];f[k+8>>2]=f[y+8>>2];f[j>>2]=f[z>>2];f[j+4>>2]=f[z+4>>2];f[j+8>>2]=f[z+8>>2]}e=f[t>>2]|0;if(h)break;b[e+62>>0]=1}x=0;Ga(575,e|0,s|0);A=x;x=0;if(A&1){h=45;break}e=f[m>>2]|0;if(e|0){x=0;Ga(566,w|0,e|0);A=x;x=0;if(A&1){h=45;break}b[(f[w+4>>2]|0)+61>>0]=0;_P(w)}e=f[t>>2]|0;if(!e)e=0;else b[e+8>>0]=1;x=0;Ga(462,a|0,e|0);A=x;x=0;if(A&1){h=45;break}f[a>>2]=7168;_P(C);_P(D);f[E>>2]=F;u=B;return}else if((h|0)==109){e=Ya()|0;_P(q);break}}}}while(0);if((h|0)==45)e=Ya()|0;_P(C)}}while(0);if((h|0)==43)e=Ya()|0;_P(D)}D=e;f[E>>2]=F;jb(D|0)}function Me(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;C=u;u=u+320|0;A=C+40|0;E=C;j=C+300|0;H=C+240|0;l=C+288|0;k=C+248|0;p=C+232|0;G=C+168|0;t=C+192|0;w=C+176|0;v=C+160|0;y=C+152|0;z=C+144|0;D=C+92|0;B=a+8|0;d=f[B>>2]|0;s=c+12|0;i=j+11|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;m=A;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));h=A+40|0;x=0;Ga(459,h|0,j|0);F=x;x=0;do if(F&1)d=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;if(g>>>0<(f[d+8>>2]|0)>>>0){m=g;n=A;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));F=g+40|0;f[F>>2]=f[h>>2];f[F+4>>2]=f[h+4>>2];f[F+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,A|0);F=x;x=0;if(F&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[i>>0]|0)<0)Hta(f[j>>2]|0);qV(H,f[(f[a+84>>2]|0)+-4>>2]|0);f[H>>2]=6664;d=f[H+4>>2]|0;if(!d)F=11;else if((f[81]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))F=24;else F=11;do if((F|0)==11){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;x=0;d=qa(318,80)|0;r=x;x=0;if(r&1){d=Ya()|0;break}f[l>>2]=d;f[l+8>>2]=-2147483568;f[l+4>>2]=70;m=d;n=48824;o=m+70|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+70>>0]=0;m=k;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));d=f[B>>2]|0;x=0;m=A;n=k;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ia(100,l|0,A|0,d|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}else{if((b[l+11>>0]|0)>=0){F=24;break}Hta(f[l>>2]|0);F=24;break}}while(0);if((F|0)==24){l=c+64|0;x=0;Ga(459,A|0,l|0);r=x;x=0;a:do if(r&1){d=Ya()|0;F=99}else{i=A+11|0;d=b[i>>0]|0;e=f[A>>2]|0;r=c+100|0;x=0;Ga(459,E|0,r|0);q=x;x=0;do if(q&1)d=Ya()|0;else{g=E+11|0;x=0;h=ua(8,(d<<24>>24<0?e:A)|0,((b[g>>0]|0)<0?f[E>>2]|0:E)|0,0,0)|0;q=x;x=0;if(q&1){d=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[E>>2]|0);break}if((b[g>>0]|0)<0)Hta(f[E>>2]|0);if((b[i>>0]|0)<0)Hta(f[A>>2]|0);f[p>>2]=h;q=a+4|0;d=f[q>>2]|0;e=d+280|0;g=f[e>>2]|0;if((g|0)==(f[d+284>>2]|0)){x=0;Ga(539,d+276|0,p|0);p=x;x=0;if(p&1){d=Ya()|0;break a}}else{f[g>>2]=h;f[e>>2]=(f[e>>2]|0)+4}x=0;k=qa(318,88)|0;p=x;x=0;b:do if(p&1)F=101;else{m=E;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,k|0);p=x;x=0;do if(p&1)d=Ya()|0;else{m=k+12|0;n=E;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);p=x;x=0;if(p&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{G=g+-8|0;f[j>>2]=G;Kc[f[f[G>>2]>>2]&511](G);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,G|0,k|0);p=x;x=0;if(p&1){F=101;break b}f[G>>2]=7280;x=0;g=qa(318,88)|0;p=x;x=0;c:do if(p&1)d=Ya()|0;else{m=t;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(459,w|0,l|0);s=x;x=0;do if(s&1)d=Ya()|0;else{h=G+4|0;x=0;Ga(462,v|0,f[h>>2]|0);s=x;x=0;if(s&1){d=Ya()|0;e=1}else{f[v>>2]=7280;x=0;m=A;n=t;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ka(14,g|0,A|0,w|0,v|0,105);t=x;x=0;do if(t&1)d=1;else{x=0;Ga(462,E|0,g|0);t=x;x=0;if(t&1){d=0;break}f[E>>2]=18e3;_P(v);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);g=a+68|0;j=a+72|0;d=(f[(f[j>>2]|0)+-4>>2]|0)+64|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,z|0,f[E+4>>2]|0);w=x;x=0;d:do if(w&1)d=Ya()|0;else{f[z>>2]=18e3;x=0;Ga(462,y|0,f[z+4>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[y>>2]=6920;x=0;Ga(e|0,d|0,y|0);w=x;x=0;if(w&1){d=Ya()|0;_P(y);break}_P(y);_P(z);d=f[h>>2]|0;f[A>>2]=d;e=f[j>>2]|0;do if(e>>>0<(f[a+76>>2]|0)>>>0){f[e>>2]=d;f[j>>2]=(f[j>>2]|0)+4}else{x=0;Ga(655,g|0,A|0);z=x;x=0;if(!(z&1))break;d=Ya()|0;break d}while(0);x=0;Ga(459,D|0,l|0);z=x;x=0;e:do if(z&1)d=Ya()|0;else{l=D+12|0;x=0;Ga(459,l|0,c+76|0);z=x;x=0;do if(z&1)d=Ya()|0;else{k=D+24|0;x=0;Ga(459,k|0,c+88|0);z=x;x=0;if(z&1){d=Ya()|0;if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}i=D+36|0;x=0;Ga(459,i|0,r|0);z=x;x=0;if(z&1){d=Ya()|0;if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[D+11>>0]|0)>=0)break e;Hta(f[D>>2]|0);break e}b[D+48>>0]=b[c+112>>0]|0;x=0;d=ta(45,(f[q>>2]|0)+240|0,A|0,i|0)|0;A=x;x=0;do if(A&1)F=119;else{d=f[d>>2]|0;if(!d){d=Ta(8)|0;x=0;Ga(461,d|0,49428);C=x;x=0;if(C&1){C=Ya()|0;bb(d|0);d=C;break}else{f[d>>2]=29804;x=0;Ia(77,d|0,6208,412);x=0;F=119;break}}x=0;Ga(656,a|0,f[d+28+12>>2]|0);F=x;x=0;if(F&1){F=119;break}x=0;Fa(434,f[(f[(f[q>>2]|0)+280>>2]|0)+-4>>2]|0);F=x;x=0;if(F&1){F=119;break}g=(f[q>>2]|0)+280|0;f[g>>2]=(f[g>>2]|0)+-4;f[j>>2]=(f[j>>2]|0)+-4;g=(f[B>>2]|0)+4|0;e=f[g>>2]|0;h=e+-52|0;while(1){d=e+-52|0;f[g>>2]=d;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=f[g>>2]|0}if((d|0)==(h|0))break;else e=d}if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[D+11>>0]|0)>=0){_P(E);_P(G);_P(H);u=C;return 0}Hta(f[D>>2]|0);_P(E);_P(G);_P(H);u=C;return 0}while(0);if((F|0)==119)d=Ya()|0;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);break d}while(0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0)}while(0);break d}while(0);_P(z)}while(0);_P(E);break c}while(0);E=Ya()|0;_P(v);e=d;d=E}if((b[w+11>>0]|0)<0){Hta(f[w>>2]|0);if(e)break;else break c}else if(e)break;else break c}while(0);Hta(g)}while(0);_P(G);break b}while(0);Hta(k)}while(0);if((F|0)==101)d=Ya()|0;break a}while(0);if((b[i>>0]|0)<0){Hta(f[A>>2]|0);F=99}else F=99}while(0)}_P(H);H=d;jb(H|0)}while(0);if((b[i>>0]|0)<0)Hta(f[j>>2]|0);H=d;jb(H|0);return 0}function Ne(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=0;B=u;u=u+240|0;C=B;H=B+224|0;G=B+200|0;h=B+232|0;F=B+184|0;m=B+216|0;l=B+208|0;r=B+176|0;z=B+164|0;n=B+144|0;v=B+128|0;o=B+120|0;p=B+80|0;w=B+64|0;D=B+152|0;q=B+56|0;y=B+40|0;k=VN(88)|0;A=c+12|0;j=C;s=A;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));x=0;Fa(427,k|0);t=x;x=0;do if(t&1)d=Ya()|0;else{j=k+12|0;s=C;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,2);t=x;x=0;if(t&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{H=g+-8|0;f[j>>2]=H;Kc[f[f[H>>2]>>2]&511](H);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=1;b[k+84>>0]=0;b[k+85>>0]=0;b[k+86>>0]=0;f[d>>2]=5;qV(H,k);f[H>>2]=7584;k=H+4|0;b[(f[k>>2]|0)+86>>0]=1;x=0;Ga(462,G|0,f[c+80>>2]|0);t=x;x=0;if(t&1)d=Ya()|0;else{f[G>>2]=15572;e=f[G+4>>2]|0;do if(!e)E=24;else{d=f[e+76>>2]|0;if(((f[e+80>>2]|0)-d|0)==8){d=f[d+4>>2]|0;if(d|0)if((f[463]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){E=24;break}}x=0;d=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;t=x;x=0;if(!(t&1)){if(!d){E=24;break}e=(f[k>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,h|0,d|0);t=x;x=0;if(!(t&1)){f[h>>2]=7696;x=0;Ga(g|0,e|0,h|0);t=x;x=0;if(t&1){d=Ya()|0;_P(h);break}else{_P(h);E=24;break}}}d=Ya()|0}while(0);if((E|0)==24){d=c+96|0;x=0;Ga(462,m|0,f[d>>2]|0);t=x;x=0;a:do if(t&1)d=Ya()|0;else{f[m>>2]=7904;b:do if(!(f[m+4>>2]|0)){f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0}else{x=0;Ga(462,l|0,f[d>>2]|0);t=x;x=0;do if(t&1)d=Ya()|0;else{f[l>>2]=7904;t=f[l+4>>2]|0;x=0;Ga(f[(f[t>>2]|0)+32>>2]|0,F|0,t|0);t=x;x=0;if(t&1){d=Ya()|0;_P(l);break}else{_P(l);break b}}while(0);_P(m);break a}while(0);_P(m);c:do switch(f[c+72>>2]|0){case 1:{d=(f[k>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;y=x;x=0;if(y&1)E=35;else{f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;i=z+11|0;b[i>>0]=1;b[z>>0]=62;b[z+1>>0]=0;x=0;j=C;s=A;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));Na(1,h|0,C|0,z|0,0,0,0,1,1);A=x;x=0;do if(A&1){d=1;E=42}else{x=0;Ga(462,r|0,h|0);A=x;x=0;if(A&1){d=0;E=42}else{f[r>>2]=7696;x=0;Ga(e|0,d|0,r|0);A=x;x=0;if(A&1){d=Ya()|0;e=I;_P(r);g=0;break}_P(r);if((b[i>>0]|0)>=0){E=93;break c}Hta(f[z>>2]|0);E=93;break c}}while(0);if((E|0)==42){e=Ya()|0;g=d;d=e;e=I}if((b[i>>0]|0)<0){Hta(f[z>>2]|0);if(!g)break c}else if(!g)break c;Hta(h)}break}case 3:{d=(f[k>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;z=x;x=0;if(z&1)E=35;else{f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;i=v+11|0;b[i>>0]=1;b[v>>0]=43;b[v+1>>0]=0;x=0;j=C;s=A;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));Na(1,h|0,C|0,v|0,0,0,0,1,1);A=x;x=0;do if(A&1){d=1;E=54}else{x=0;Ga(462,n|0,h|0);A=x;x=0;if(A&1){d=0;E=54}else{f[n>>2]=7696;x=0;Ga(e|0,d|0,n|0);A=x;x=0;if(A&1){d=Ya()|0;e=I;_P(n);g=0;break}_P(n);if((b[i>>0]|0)>=0){E=93;break c}Hta(f[v>>2]|0);E=93;break c}}while(0);if((E|0)==54){e=Ya()|0;g=d;d=e;e=I}if((b[i>>0]|0)<0){Hta(f[v>>2]|0);if(!g)break c}else if(!g)break c;Hta(h)}break}case 4:{e=(f[k>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;z=x;x=0;if(z&1)E=35;else{j=p;s=A;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));x=0;Ia(92,D|0,52297,F|0);A=x;x=0;do if(A&1){d=Ya()|0;e=I}else{x=0;d=sa(991,D|0,52297)|0;A=x;x=0;if(A&1){d=Ya()|0;g=1;e=I}else{f[w>>2]=f[d>>2];f[w+4>>2]=f[d+4>>2];f[w+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;j=C;s=p;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));Na(1,h|0,C|0,w|0,0,0,0,1,1);A=x;x=0;do if(A&1){d=1;E=73}else{x=0;Ga(462,o|0,h|0);A=x;x=0;if(A&1){d=0;E=73}else{f[o>>2]=7696;x=0;Ga(g|0,e|0,o|0);A=x;x=0;if(A&1){d=Ya()|0;e=I;_P(o);g=0;break}_P(o);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);E=93;break c}}while(0);if((E|0)==73){e=Ya()|0;g=d;d=e;e=I}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0)}if((b[D+11>>0]|0)<0){Hta(f[D>>2]|0);if(g)break;else break c}else if(g)break;else break c}while(0);Hta(h)}break}case 2:{d=(f[k>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;z=x;x=0;if(z&1)E=35;else{f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;i=y+11|0;b[i>>0]=1;b[y>>0]=126;b[y+1>>0]=0;x=0;j=C;s=A;t=j+40|0;do{f[j>>2]=f[s>>2];j=j+4|0;s=s+4|0}while((j|0)<(t|0));Na(1,h|0,C|0,y|0,0,0,0,1,1);A=x;x=0;do if(A&1){d=1;E=87}else{x=0;Ga(462,q|0,h|0);A=x;x=0;if(A&1){d=0;E=87}else{f[q>>2]=7696;x=0;Ga(e|0,d|0,q|0);A=x;x=0;if(A&1){d=Ya()|0;e=I;_P(q);g=0;break}_P(q);if((b[i>>0]|0)>=0){E=93;break c}Hta(f[y>>2]|0);E=93;break c}}while(0);if((E|0)==87){e=Ya()|0;g=d;d=e;e=I}if((b[i>>0]|0)<0){Hta(f[y>>2]|0);if(!g)break c}else if(!g)break c;Hta(h)}break}default:E=93}while(0);if((E|0)==35)d=Ya()|0;else if((E|0)==93){x=0;Ga(462,C|0,f[c+88>>2]|0);c=x;x=0;d:do if(c&1)d=Ya()|0;else{f[C>>2]=15556;d=f[C+4>>2]|0;e:do if(d|0){x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;a=x;x=0;if(a&1)E=101;else{x=0;Ga(462,D|0,d|0);a=x;x=0;if(a&1)E=101;else{f[D>>2]=7696;x=0;d=qa(340,f[D+4>>2]|0)|0;a=x;x=0;do if(!(a&1)){if(d|0){a=(f[k>>2]|0)+60|0;x=0;Ga(f[(f[a>>2]|0)+24>>2]|0,a|0,d+60|0);a=x;x=0;if(a&1)break}_P(D);break e}while(0);d=Ya()|0;_P(D)}}if((E|0)==101)d=Ya()|0;_P(C);break d}while(0);d=f[k>>2]|0;if((f[d+68>>2]|0)==(f[d+64>>2]|0))d=0;else if(!d)d=0;else b[d+8>>0]=1;_P(C);if((b[F+11>>0]|0)>=0){_P(G);_P(H);u=B;return d|0}Hta(f[F>>2]|0);_P(G);_P(H);u=B;return d|0}while(0)}if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0)}while(0)}_P(G)}_P(H);H=d;jb(H|0)}while(0);Hta(k);H=d;jb(H|0);return 0}function Oe(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;U=0;R=u;u=u+112|0;V=R+84|0;N=R+56|0;T=R+48|0;S=R+32|0;Q=R+24|0;P=R+16|0;O=R;i=d+20|0;c=f[i>>2]|0;j=d+24|0;g=f[j>>2]|0;if(!g){if((f[c+20>>2]|0)>>>0>100)U=4}else{ega(g);M=(f[c+20>>2]|0)>>>0>100;QZ(g);if(M)U=4}if((U|0)==4){f[a>>2]=f[d>>2];f[a+4>>2]=f[d+4>>2];f[a+8>>2]=f[d+8>>2];c=a+12|0;qV(c,f[d+16>>2]|0);f[c>>2]=15556;f[a+20>>2]=f[i>>2];c=f[j>>2]|0;f[a+24>>2]=c;if(!c){u=R;return}ega(c);u=R;return}UE(V);x=0;Ga(507,V|0,d|0);M=x;x=0;a:do if(M&1){g=Ya()|0;c=V+24|0}else{c=f[i>>2]|0;d=f[j>>2]|0;h=(d|0)==0;if(!h)ega(d);M=f[c+4>>2]|0;g=f[c+16>>2]|0;l=M+(((g>>>0)/146|0)<<2)|0;if((f[c+8>>2]|0)==(M|0))k=0;else k=(f[l>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!h)QZ(d);d=f[i>>2]|0;h=f[j>>2]|0;i=(h|0)==0;if(!i)ega(h);c=(f[d+16>>2]|0)+(f[d+20>>2]|0)|0;g=f[d+4>>2]|0;if((f[d+8>>2]|0)==(g|0))J=0;else J=(f[g+(((c>>>0)/146|0)<<2)>>2]|0)+(((c>>>0)%146|0)*28|0)|0;if(!i)QZ(h);B=T+4|0;K=S+4|0;H=V+20|0;c=V+24|0;C=Q+4|0;I=O+11|0;D=N+20|0;L=N+24|0;E=V+20|0;F=N+16|0;G=N+20|0;M=N+12|0;d=0;A=l;g=k;b:while(1){z=d;do{if((J|0)==(g|0)){U=22;break b}x=0;Fa(451,N|0);y=x;x=0;if(y&1){U=48;break b}b[N>>0]=b[g>>0]|0;w=g+20|0;h=f[w>>2]|0;y=g+24|0;i=f[y>>2]|0;j=(i|0)==0;if(!j)ega(i);v=f[h+4>>2]|0;d=f[h+16>>2]|0;m=v+(((d>>>0)/146|0)<<2)|0;if((f[h+8>>2]|0)==(v|0))d=0;else d=(f[m>>2]|0)+(((d>>>0)%146|0)*28|0)|0;if(!j)QZ(i);h=f[w>>2]|0;k=f[y>>2]|0;l=(k|0)==0;if(!l)ega(k);i=(f[h+16>>2]|0)+(f[h+20>>2]|0)|0;j=f[h+4>>2]|0;if((f[h+8>>2]|0)==(j|0))v=0;else v=(f[j+(((i>>>0)/146|0)<<2)>>2]|0)+(((i>>>0)%146|0)*28|0)|0;if(l)t=m;else{QZ(k);t=m}c:while(1){do{if((v|0)==(d|0))break c;x=0;h=qa(321,d|0)|0;s=x;x=0;if(s&1){U=67;break b}x=0;Ga(462,T|0,h|0);s=x;x=0;if(s&1){U=67;break b}f[T>>2]=15556;if(e){h=f[B>>2]|0;x=0;h=qa(f[(f[h>>2]|0)+116>>2]|0,h|0)|0;s=x;x=0;if(s&1){U=68;break b}}else h=0;x=0;Ga(669,S|0,f[B>>2]|0);s=x;x=0;if(s&1){U=69;break b}i=f[S>>2]|0;if((i|0)!=(K|0))do{j=f[i+20>>2]|0;x=0;j=qa(f[(f[j>>2]|0)+116>>2]|0,j|0)|0;s=x;x=0;if(s&1){U=77;break b}h=h>>>0>>0?j:h;j=f[i+4>>2]|0;do if(!j){j=i+8|0;k=f[j>>2]|0;if((f[k>>2]|0)==(i|0)){i=k;break}do{s=f[j>>2]|0;j=s+8|0;i=f[j>>2]|0}while((f[i>>2]|0)!=(s|0))}else{i=j;while(1){j=f[i>>2]|0;if(!j)break;else i=j}}while(0)}while((i|0)!=(K|0));i=f[H>>2]|0;k=f[c>>2]|0;l=(k|0)==0;if(!l)ega(k);s=f[i+4>>2]|0;j=f[i+16>>2]|0;o=s+(((j>>>0)/146|0)<<2)|0;if((f[i+8>>2]|0)==(s|0))i=0;else i=(f[o>>2]|0)+(((j>>>0)%146|0)*28|0)|0;if(!l)QZ(k);j=f[H>>2]|0;m=f[c>>2]|0;n=(m|0)==0;if(!n)ega(m);k=(f[j+16>>2]|0)+(f[j+20>>2]|0)|0;l=f[j+4>>2]|0;if((f[j+8>>2]|0)==(l|0))s=0;else s=(f[l+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;if(n)r=o;else{QZ(m);r=o}d:while(1){do{if((s|0)==(i|0)){U=123;break d}j=f[w>>2]|0;m=f[y>>2]|0;n=(m|0)==0;if(!n)ega(m);o=i+20|0;k=f[o>>2]|0;p=i+24|0;l=f[p>>2]|0;if(!l)j=(j|0)==(k|0);else{ega(l);QZ(l);j=(j|0)==(k|0)}if(!n)QZ(m);e:do if(!j){j=f[o>>2]|0;l=f[p>>2]|0;m=(l|0)==0;if(!m)ega(l);n=f[j+4>>2]|0;k=f[j+16>>2]|0;q=n+(((k>>>0)/146|0)<<2)|0;if((f[j+8>>2]|0)==(n|0))j=0;else j=(f[q>>2]|0)+(((k>>>0)%146|0)*28|0)|0;if(!m)QZ(l);m=f[o>>2]|0;n=f[p>>2]|0;o=(n|0)==0;if(!o)ega(n);k=(f[m+16>>2]|0)+(f[m+20>>2]|0)|0;l=f[m+4>>2]|0;if((f[m+8>>2]|0)==(l|0))p=0;else p=(f[l+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;if(o)m=q;else{QZ(n);m=q}while(1){do{if((p|0)==(j|0))break e;x=0;k=qa(321,j|0)|0;q=x;x=0;if(q&1){U=111;break b}x=0;Ga(462,Q|0,k|0);q=x;x=0;if(q&1){U=111;break b}f[Q>>2]=15556;k=f[C>>2]|0;x=0;k=qa(f[(f[k>>2]|0)+116>>2]|0,k|0)|0;q=x;x=0;if(q&1){U=112;break b}if(k>>>0>>0)_P(Q);else{k=f[C>>2]|0;l=f[(f[k>>2]|0)+144>>2]|0;x=0;Ga(462,P|0,f[B>>2]|0);q=x;x=0;if(q&1){U=112;break b}f[P>>2]=15556;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;x=0;k=ta(l|0,k|0,P|0,O|0)|0;q=x;x=0;if(q&1){U=113;break b}if((b[I>>0]|0)<0)Hta(f[O>>2]|0);_P(P);_P(Q);if(k)break d}j=j+28|0}while((j-(f[m>>2]|0)|0)!=4088);j=m+4|0;m=j;j=f[j>>2]|0}}while(0);i=i+28|0}while((i-(f[r>>2]|0)|0)!=4088);i=r+4|0;r=i;i=f[i>>2]|0}do if((U|0)==123){U=0;h=f[D>>2]|0;i=f[L>>2]|0;j=(i|0)==0;if(!j)ega(i);x=0;Ga(524,h|0,d|0);s=x;x=0;if(s&1){U=128;break b}if(j)break;QZ(i)}while(0);WI(S,f[K>>2]|0);_P(T);d=d+28|0}while((d-(f[t>>2]|0)|0)!=4088);d=t+4|0;t=d;d=f[d>>2]|0}d=f[E>>2]|0;k=f[c>>2]|0;l=(k|0)==0;if(!l)ega(k);j=(f[d+16>>2]|0)+z|0;i=f[(f[d+4>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;h=i+(j*28|0)|0;d=h|0;f[d>>2]=f[N>>2];f[d+4>>2]=f[N+4>>2];f[d+8>>2]=f[N+8>>2];d=h+12|0;h=h+16|0;if(f[h>>2]|0){x=0;Fa(429,d|0);y=x;x=0;if(y&1){U=142;break b}}f[h>>2]=f[F>>2];x=0;Fa(430,d|0);y=x;x=0;if(y&1){U=142;break b}d=f[G>>2]|0;h=f[L>>2]|0;if(h|0)ega(h);y=i+(j*28|0)|0;f[y+20>>2]=d;y=y+24|0;d=f[y>>2]|0;f[y>>2]=h;if(d|0)QZ(d);if(!l)QZ(k);z=z+1|0;d=f[L>>2]|0;if(d|0)QZ(d);_P(M);g=g+28|0}while((g-(f[A>>2]|0)|0)!=4088);g=A+4|0;d=z;A=g;g=f[g>>2]|0}switch(U|0){case 22:{f[a>>2]=f[V>>2];f[a+4>>2]=f[V+4>>2];f[a+8>>2]=f[V+8>>2];g=a+12|0;x=0;Ga(462,g|0,f[V+16>>2]|0);U=x;x=0;if(U&1){g=Ya()|0;break a}f[g>>2]=15556;f[a+20>>2]=f[H>>2];f[a+24>>2]=f[c>>2];f[H>>2]=0;f[c>>2]=0;_P(V+12|0);u=R;return}case 48:{g=Ya()|0;break}case 67:{g=Ya()|0;U=135;break}case 68:{g=Ya()|0;U=134;break}case 69:{g=Ya()|0;U=133;break}case 77:{g=Ya()|0;U=132;break}case 111:{g=Ya()|0;U=122;break}case 112:{g=Ya()|0;U=118;break}case 113:{g=Ya()|0;if((b[I>>0]|0)<0)Hta(f[O>>2]|0);_P(P);U=118;break}case 128:{g=Ya()|0;if(j)U=132;else{QZ(i);U=132}break}case 142:{g=Ya()|0;if(l)U=144;else{QZ(k);U=144}break}}if((U|0)==118){_P(Q);U=122}if((U|0)==122)U=132;if((U|0)==132){WI(S,f[K>>2]|0);U=133}if((U|0)==133)U=134;if((U|0)==134){_P(T);U=135}if((U|0)==135)U=144;if((U|0)==144){d=f[L>>2]|0;if(d|0)QZ(d);_P(M)}}while(0);c=f[c>>2]|0;if(!c){V=V+12|0;_P(V);jb(g|0)}QZ(c);V=V+12|0;_P(V);jb(g|0)}function Pe(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;j=0;k=u;u=u+16|0;b=k;i=k+8|0;c=k+4|0;f[i>>2]=a;do if(a>>>0<212){a=jO(25592,25784,i,b)|0;a=f[a>>2]|0}else{if(a>>>0>4294967291){a=Ta(8)|0;x=0;Ga(496,a|0,56931);k=x;x=0;if(k&1){k=Ya()|0;bb(a|0);jb(k|0)}else{f[a>>2]=29824;fb(a|0,6224,414)}}h=(a>>>0)/210|0;e=h*210|0;f[c>>2]=a-e;a=0;g=(jO(25784,25976,c,b)|0)-25784>>2;b=e;a:while(1){e=(f[25784+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){d=211;j=12;break}c=f[25592+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){j=110;break a}if((e|0)==(X(d,c)|0))break;else b=b+1|0}b:do if((j|0)==12){c:while(1){j=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>>0){b=d;c=1;a=e}else if((e|0)==(X(b,d)|0)){b=d;c=9}else{b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e}else if((e|0)==(X(c,b)|0))c=9;else{b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e}else if((e|0)==(X(c,b)|0))c=9;else{b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e}else if((e|0)==(X(c,b)|0))c=9;else{b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e}else if((e|0)==(X(c,b)|0))c=9;else{b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e}else if((e|0)==(X(c,b)|0))c=9;else{b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e}else{if((e|0)==(X(c,b)|0)){c=9;break}b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(X(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;l=c>>>0>>0;c=(e|0)==(X(c,b)|0);b=l|c?b:d+210|0;c=l?1:c?9:0;a=l?e:a}}}}}}}while(0);switch(c&15){case 9:break b;case 0:{d=b;j=12;break}default:break c}}if(c){j=111;break a}}while(0);l=g+1|0;e=(l|0)==48;b=h+(e&1)|0;h=b;g=e?0:l;b=b*210|0}if((j|0)==110){f[i>>2]=e;a=e;break}else if((j|0)==111){f[i>>2]=e;break}}while(0);u=k;return a|0}function Qe(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,t=0,v=0,w=0,x=0,y=0,z=0;y=0;z=u;u=u+16|0;x=z;a:while(1){r=c;w=c+-12|0;s=c+-24|0;t=w+11|0;v=c+-8|0;while(1){b:while(1){q=a;e=r-q|0;switch((e|0)/12|0|0){case 2:{y=5;break a}case 3:{y=11;break a}case 4:{y=12;break a}case 5:{y=13;break a}case 1:case 0:{y=114;break a}default:{}}if((e|0)<84){y=15;break a}g=(e>>>0)/24|0;m=a+(g*12|0)|0;if((e|0)>11988){e=(e>>>0)/48|0;e=Vk(a,a+(e*12|0)|0,m,m+(e*12|0)|0,w,d)|0}else e=Sk(a,m,w,d)|0;k=b[m+11>>0]|0;h=k<<24>>24<0;k=h?f[a+(g*12|0)+4>>2]|0:k&255;o=a+11|0;n=b[o>>0]|0;l=n<<24>>24<0;p=a+4|0;n=l?f[p>>2]|0:n&255;g=k>>>0>>0?k:n;if(!g)y=21;else{g=lO(l?f[a>>2]|0:a,h?f[m>>2]|0:m,g)|0;if(!g)y=21;else if((g|0)<0){g=w;break}}if((y|0)==21){y=0;if(n>>>0>>0){g=w;break}}if((a|0)!=(s|0))if(h){h=w;g=s;while(1){j=b[g+11>>0]|0;i=j<<24>>24<0;j=i?f[h+-8>>2]|0:j&255;h=k>>>0>>0?k:j;if(!h)y=28;else{h=lO(i?f[g>>2]|0:g,f[m>>2]|0,h)|0;if(!h)y=28;else if((h|0)<0){y=76;break b}}if((y|0)==28){y=0;if(j>>>0>>0){y=76;break b}}h=g+-12|0;if((a|0)==(h|0))break;else{j=g;g=h;h=j}}}else{h=w;g=s;while(1){j=b[g+11>>0]|0;i=j<<24>>24<0;j=i?f[h+-8>>2]|0:j&255;h=k>>>0>>0?k:j;if(!h)y=73;else{h=lO(i?f[g>>2]|0:g,m,h)|0;if(!h)y=73;else if((h|0)<0){y=76;break b}}if((y|0)==73){y=0;if(j>>>0>>0){y=76;break b}}h=g+-12|0;if((a|0)==(h|0))break;else{j=g;g=h;h=j}}}e=a+12|0;i=b[t>>0]|0;h=i<<24>>24<0;i=h?f[v>>2]|0:i&255;g=i>>>0>>0?i:n;if(!g)y=32;else{g=lO(l?f[a>>2]|0:a,h?f[w>>2]|0:w,g)|0;if(!g)y=32;else if((g|0)>=0)y=34}if((y|0)==32){y=0;if(n>>>0>=i>>>0)y=34}if((y|0)==34){y=0;if((e|0)==(w|0)){y=114;break a}c:do if(l)while(1){i=b[e+11>>0]|0;h=i<<24>>24<0;i=h?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:n;if(!g)y=39;else{g=lO(f[a>>2]|0,h?f[e>>2]|0:e,g)|0;if(!g)y=39;else if((g|0)<0)break c}if((y|0)==39){y=0;if(n>>>0>>0)break c}e=e+12|0;if((e|0)==(w|0)){y=114;break a}}else while(1){i=b[e+11>>0]|0;h=i<<24>>24<0;i=h?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:n;if(!g)y=43;else{g=lO(a,h?f[e>>2]|0:e,g)|0;if(!g)y=43;else if((g|0)<0)break c}if((y|0)==43){y=0;if(n>>>0>>0)break c}e=e+12|0;if((e|0)==(w|0)){y=114;break a}}while(0);f[x>>2]=f[e>>2];f[x+4>>2]=f[e+4>>2];f[x+8>>2]=f[e+8>>2];f[e>>2]=f[w>>2];f[e+4>>2]=f[w+4>>2];f[e+8>>2]=f[w+8>>2];f[w>>2]=f[x>>2];f[w+4>>2]=f[x+4>>2];f[w+8>>2]=f[x+8>>2];e=e+12|0}if((e|0)==(w|0)){y=114;break a}g=w;while(1){l=b[o>>0]|0;k=l<<24>>24<0;l=k?f[p>>2]|0:l&255;d:do if(k)while(1){j=b[e+11>>0]|0;i=j<<24>>24<0;j=i?f[e+4>>2]|0:j&255;h=j>>>0>>0?j:l;if(!h)y=53;else{h=lO(f[a>>2]|0,i?f[e>>2]|0:e,h)|0;if(!h)y=53;else if((h|0)<0)break d}if((y|0)==53){y=0;if(l>>>0>>0)break d}e=e+12|0}else while(1){j=b[e+11>>0]|0;i=j<<24>>24<0;j=i?f[e+4>>2]|0:j&255;h=j>>>0>>0?j:l;if(!h)y=57;else{h=lO(a,i?f[e>>2]|0:e,h)|0;if(!h)y=57;else if((h|0)<0)break d}if((y|0)==57){y=0;if(l>>>0>>0)break d}e=e+12|0}while(0);e:do if(k)while(1){j=g+-12|0;i=b[j+11>>0]|0;h=i<<24>>24<0;i=h?f[g+-8>>2]|0:i&255;g=i>>>0>>0?i:l;if(g|0){g=lO(f[a>>2]|0,h?f[j>>2]|0:j,g)|0;if(g|0)if((g|0)<0){g=j;continue}else{g=j;break e}}if(l>>>0>>0)g=j;else{g=j;break}}else while(1){j=g+-12|0;i=b[j+11>>0]|0;h=i<<24>>24<0;i=h?f[g+-8>>2]|0:i&255;g=i>>>0>>0?i:l;if(g|0){g=lO(a,h?f[j>>2]|0:j,g)|0;if(g|0)if((g|0)<0){g=j;continue}else{g=j;break e}}if(l>>>0>>0)g=j;else{g=j;break}}while(0);if(e>>>0>=g>>>0){a=e;continue b}f[x>>2]=f[e>>2];f[x+4>>2]=f[e+4>>2];f[x+8>>2]=f[e+8>>2];f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[g>>2]=f[x>>2];f[g+4>>2]=f[x+4>>2];f[g+8>>2]=f[x+8>>2];e=e+12|0}}if((y|0)==76){y=0;f[x>>2]=f[a>>2];f[x+4>>2]=f[a+4>>2];f[x+8>>2]=f[a+8>>2];f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[g>>2]=f[x>>2];f[g+4>>2]=f[x+4>>2];f[g+8>>2]=f[x+8>>2];e=e+1|0}h=a+12|0;f:do if(h>>>0>>0){n=m;while(1){m=b[n+11>>0]|0;l=m<<24>>24<0;m=l?f[n+4>>2]|0:m&255;g:do if(l)while(1){k=b[h+11>>0]|0;j=k<<24>>24<0;k=j?f[h+4>>2]|0:k&255;i=m>>>0>>0?m:k;if(!i)y=82;else{i=lO(j?f[h>>2]|0:h,f[n>>2]|0,i)|0;if(!i)y=82;else if((i|0)>=0)break g}if((y|0)==82){y=0;if(k>>>0>=m>>>0)break g}h=h+12|0}else while(1){k=b[h+11>>0]|0;j=k<<24>>24<0;k=j?f[h+4>>2]|0:k&255;i=m>>>0>>0?m:k;if(!i)y=86;else{i=lO(j?f[h>>2]|0:h,n,i)|0;if(!i)y=86;else if((i|0)>=0)break g}if((y|0)==86){y=0;if(k>>>0>=m>>>0)break g}h=h+12|0}while(0);h:do if(l)while(1){k=g+-12|0;j=b[k+11>>0]|0;i=j<<24>>24<0;j=i?f[g+-8>>2]|0:j&255;g=m>>>0>>0?m:j;if(g|0){g=lO(i?f[k>>2]|0:k,f[n>>2]|0,g)|0;if(g|0)if((g|0)<0){g=k;break h}else{g=k;continue}}if(j>>>0>>0){g=k;break}else g=k}else while(1){k=g+-12|0;j=b[k+11>>0]|0;i=j<<24>>24<0;j=i?f[g+-8>>2]|0:j&255;g=m>>>0>>0?m:j;if(g|0){g=lO(i?f[k>>2]|0:k,n,g)|0;if(g|0)if((g|0)<0){g=k;break h}else{g=k;continue}}if(j>>>0>>0){g=k;break}else g=k}while(0);if(h>>>0>g>>>0){g=n;m=h;break f}f[x>>2]=f[h>>2];f[x+4>>2]=f[h+4>>2];f[x+8>>2]=f[h+8>>2];f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[g>>2]=f[x>>2];f[g+4>>2]=f[x+4>>2];f[g+8>>2]=f[x+8>>2];n=(n|0)==(h|0)?g:n;h=h+12|0;e=e+1|0}}else{g=m;m=h}while(0);do if((m|0)!=(g|0)){k=b[m+11>>0]|0;i=k<<24>>24<0;k=i?f[m+4>>2]|0:k&255;l=b[g+11>>0]|0;j=l<<24>>24<0;l=j?f[g+4>>2]|0:l&255;h=k>>>0>>0?k:l;if(!h)y=103;else{h=lO(j?f[g>>2]|0:g,i?f[m>>2]|0:m,h)|0;if(!h)y=103;else if((h|0)<0)h=m;else break}if((y|0)==103){y=0;if(l>>>0>=k>>>0)break;h=m}f[x>>2]=f[h>>2];f[x+4>>2]=f[h+4>>2];f[x+8>>2]=f[h+8>>2];f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[g>>2]=f[x>>2];f[g+4>>2]=f[x+4>>2];f[g+8>>2]=f[x+8>>2];e=e+1|0}while(0);if(!e){e=rj(a,m,d)|0;g=m+12|0;if(rj(g,c,d)|0){y=113;break}if(e){a=g;continue}}p=m;if(((p-q|0)/12|0|0)>=((r-p|0)/12|0|0)){y=112;break}Qe(a,m,d);a=m+12|0}if((y|0)==112){y=0;Qe(m+12|0,c,d);c=m;continue}else if((y|0)==113){y=0;if(e){y=114;break}else{c=m;continue}}}if((y|0)==5){i=b[a+11>>0]|0;h=i<<24>>24<0;i=h?f[a+4>>2]|0:i&255;g=b[t>>0]|0;e=g<<24>>24<0;g=e?f[v>>2]|0:g&255;c=i>>>0>>0?i:g;if(!c)y=7;else{c=lO(e?f[w>>2]|0:w,h?f[a>>2]|0:a,c)|0;if(!c)y=7;else if((c|0)>=0){u=z;return}}do if((y|0)==7)if(g>>>0>>0)break;else{u=z;return}while(0);f[x>>2]=f[a>>2];f[x+4>>2]=f[a+4>>2];f[x+8>>2]=f[a+8>>2];f[a>>2]=f[w>>2];f[a+4>>2]=f[w+4>>2];f[a+8>>2]=f[w+8>>2];f[w>>2]=f[x>>2];f[w+4>>2]=f[x+4>>2];f[w+8>>2]=f[x+8>>2];u=z;return}else if((y|0)==11){Sk(a,a+12|0,w,d)|0;u=z;return}else if((y|0)==12){qn(a,a+12|0,a+24|0,w,d)|0;u=z;return}else if((y|0)==13){Vk(a,a+12|0,a+24|0,a+36|0,w,d)|0;u=z;return}else if((y|0)==15){Tn(a,c,d);u=z;return}else if((y|0)==114){u=z;return}}function Re(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=0;t=u;u=u+320|0;z=t+40|0;B=t+304|0;A=t;E=t+296|0;h=t+256|0;i=t+240|0;j=t+200|0;m=t+192|0;n=t+152|0;p=t+144|0;q=t+136|0;o=t+128|0;r=t+120|0;y=t+112|0;s=t+104|0;v=t+96|0;w=t+80|0;d=c+20|0;g=f[d>>2]|0;e=c+24|0;c=f[e>>2]|0;if(!c)if(!(f[g+20>>2]|0)){H=0;u=t;return H|0}else{F=0;G=1;c=g}else{ega(c);G=(f[g+20>>2]|0)==0;QZ(c);if(G){H=0;u=t;return H|0}d=f[d>>2]|0;c=f[e>>2]|0;if(!c){F=0;G=1;c=d}else{ega(c);F=c;G=0;c=d}}k=f[c+16>>2]|0;k=(f[(f[c+4>>2]|0)+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;C=f[a>>2]|0;c=f[C+20>>2]|0;C=f[C+24>>2]|0;D=(C|0)==0;if(!D)ega(C);l=f[c+16>>2]|0;l=(f[(f[c+4>>2]|0)+(((l>>>0)/146|0)<<2)>>2]|0)+(((l>>>0)%146|0)*28|0)|0;x=0;a=qa(318,104)|0;g=x;x=0;if(g&1)c=Ya()|0;else{x=0;Ja(14,h|0,49421,0,-1);g=x;x=0;a:do if(g&1){c=Ya()|0;H=60}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=i+11|0;b[e>>0]=4;f[i>>2]=1886217588;b[i+4>>0]=0;g=A;c=h;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));x=0;Ga(459,B|0,i|0);h=x;x=0;do if(h&1){c=1;H=56}else{x=0;g=z;c=A;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));Ia(88,a|0,z|0,B|0);h=x;x=0;if(h&1){c=Ya()|0;if((b[B+11>>0]|0)>=0){d=1;break}Hta(f[B>>2]|0);d=1;break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);f[a>>2]=14212;x=0;Ga(462,E|0,a|0);h=x;x=0;if(h&1){c=0;H=56}else{f[E>>2]=16832;if((b[e>>0]|0)<0)Hta(f[i>>2]|0);x=0;i=qa(318,108)|0;h=x;x=0;b:do if(h&1)H=61;else{x=0;Ja(14,j|0,49421,0,-1);h=x;x=0;do if(h&1)H=62;else{g=z;c=j;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));x=0;Fa(427,i|0);j=x;x=0;if(j&1)H=62;else{g=i+12|0;c=z;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i>>2]=15620;b[i+60>>0]=0;b[i+61>>0]=0;b[i+62>>0]=0;f[i+64>>2]=0;f[i+68>>2]=0;f[i+56>>2]=7;c=i+72|0;f[c>>2]=15516;h=i+76|0;a=i+80|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(513,h|0,1);j=x;x=0;if(j&1){c=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[a>>2]|0;if((e|0)!=(d|0)){do{B=e+-8|0;f[a>>2]=B;Kc[f[f[B>>2]>>2]&511](B);e=f[a>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[i>>2]=15300;f[c>>2]=15476;j=i+96|0;f[j>>2]=0;f[i+100>>2]=0;f[i+92>>2]=j;b[i+104>>0]=0;b[i+105>>0]=0;x=0;Ga(462,B|0,i|0);j=x;x=0;if(j&1){H=61;break b}f[B>>2]=15572;a=B+4|0;c=f[a>>2]|0;d=c+76|0;x=0;Ga(462,m|0,f[E+4>>2]|0);j=x;x=0;c:do if(j&1){c=Ya()|0;H=68}else{f[m>>2]=16832;x=0;Ga(462,z|0,f[m+4>>2]|0);j=x;x=0;do if(j&1)c=Ya()|0;else{f[z>>2]=13852;e=c+80|0;g=f[e>>2]|0;do if(g>>>0<(f[c+84>>2]|0)>>>0){x=0;Ga(462,g|0,f[z+4>>2]|0);j=x;x=0;if(j&1){H=66;break}f[g>>2]=13852;f[e>>2]=(f[e>>2]|0)+8}else{x=0;Ga(521,d|0,z|0);j=x;x=0;if(j&1)H=66}while(0);if((H|0)==66){c=Ya()|0;_P(z);break}_P(z);_P(m);x=0;e=qa(318,100)|0;m=x;x=0;d:do if(m&1)c=Ya()|0;else{x=0;Ja(14,n|0,49421,0,-1);m=x;x=0;do if(m&1)H=70;else{x=0;Ga(462,p|0,f[a>>2]|0);m=x;x=0;if(m&1){H=70;break}f[p>>2]=15572;x=0;Ga(462,q|0,0);m=x;x=0;if(m&1){c=Ya()|0;_P(p);break}f[q>>2]=15556;x=0;Ga(462,o|0,0);m=x;x=0;if(m&1){c=Ya()|0;d=1}else{f[o>>2]=7904;x=0;g=z;c=n;d=g+40|0;do{f[g>>2]=f[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));La(10,e|0,z|0,0,p|0,q|0,o|0);n=x;x=0;do if(n&1)c=1;else{x=0;Ga(462,A|0,e|0);n=x;x=0;if(n&1){c=0;break}f[A>>2]=15556;_P(o);_P(q);_P(p);x=0;c=qa(321,k|0)|0;q=x;x=0;do if(q&1)H=76;else{x=0;Ga(462,z|0,c|0);q=x;x=0;if(q&1){H=76;break}f[z>>2]=15556;d=z+4|0;c=f[d>>2]|0;g=A+4|0;x=0;Ga(462,r|0,f[g>>2]|0);q=x;x=0;do if(q&1)c=Ya()|0;else{f[r>>2]=15556;x=0;Ia(86,c|0,r|0,0);q=x;x=0;if(q&1){c=Ya()|0;_P(r);break}_P(r);x=0;c=qa(321,l|0)|0;r=x;x=0;do if(r&1)H=79;else{x=0;Ga(462,y|0,c|0);r=x;x=0;if(r&1){H=79;break}f[y>>2]=15556;e=y+4|0;c=f[e>>2]|0;x=0;Ga(462,s|0,f[g>>2]|0);r=x;x=0;do if(r&1)H=80;else{f[s>>2]=15556;x=0;Ia(86,c|0,s|0,0);r=x;x=0;if(r&1){c=Ya()|0;_P(s);break}_P(s);c=f[d>>2]|0;d=f[(f[c>>2]|0)+144>>2]|0;x=0;Ga(462,v|0,f[e>>2]|0);s=x;x=0;if(s&1){H=80;break}f[v>>2]=15556;e=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;x=0;c=ta(d|0,c|0,v|0,w|0)|0;s=x;x=0;if(s&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[w>>2]|0);_P(v);break}if((b[e>>0]|0)<0)Hta(f[w>>2]|0);_P(v);_P(y);_P(z);_P(A);_P(B);_P(E);if(!D)QZ(C);if(G){H=c;u=t;return H|0}QZ(F);H=c;u=t;return H|0}while(0);if((H|0)==80)c=Ya()|0;_P(y)}while(0);if((H|0)==79)c=Ya()|0}while(0);_P(z)}while(0);if((H|0)==76)c=Ya()|0;_P(A);break d}while(0);A=Ya()|0;_P(o);d=c;c=A}_P(q);_P(p);if(!d)break d}while(0);if((H|0)==70)c=Ya()|0;Hta(e)}while(0);break c}while(0);_P(m);H=68}while(0);_P(B);break b}}while(0);if((H|0)==62)c=Ya()|0;Hta(i)}while(0);if((H|0)==61)c=Ya()|0;_P(E);break a}}while(0);if((H|0)==56){E=Ya()|0;d=c;c=E}if((b[e>>0]|0)<0){Hta(f[i>>2]|0);if(d){H=60;break}else break}else if(d){H=60;break}else break}while(0);if((H|0)==60)Hta(a)}if(!D)QZ(C);if(G)jb(c|0);QZ(F);jb(c|0);return 0}function Se(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=0;C=u;u=u+496|0;D=C+448|0;B=C+432|0;A=C+120|0;q=C+420|0;n=C+80|0;r=C+408|0;o=C+40|0;s=C+356|0;p=C;k=C+368|0;v=C+344|0;l=C+304|0;w=C+288|0;m=C+248|0;y=C+232|0;g=C+224|0;h=C+216|0;t=C+176|0;z=C+160|0;Fy(c,0,0)|0;if(_w(c,1,0)|0){j=VN(104)|0;g=k;h=c+108|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,v|0);x=0;E=20}else{if(i>>>0<11){b[v+11>>0]=i;d=v}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;c=x;x=0;if(c&1){E=20;break}f[v>>2]=d;f[v+8>>2]=g|-2147483648;f[v+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;g=p;h=k;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(459,s|0,v|0);c=x;x=0;do if(c&1){d=1;E=21}else{x=0;g=D;h=p;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(88,j|0,D|0,s|0);D=x;x=0;if(D&1){d=Ya()|0;if((b[s+11>>0]|0)>=0){e=1;break}Hta(f[s>>2]|0);e=1;break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);f[j>>2]=14400;x=0;Ga(462,a|0,j|0);E=x;x=0;if(E&1){d=0;E=21}else{f[a>>2]=13852;if((b[v+11>>0]|0)>=0){u=C;return}Hta(f[v>>2]|0);u=C;return}}while(0);if((E|0)==21){D=Ya()|0;e=d;d=D}if((b[v+11>>0]|0)<0){Hta(f[v>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((E|0)==20)d=Ya()|0;Hta(j);E=d;jb(E|0)}if(ux(c,1,0)|0){j=VN(104)|0;g=l;h=c+108|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,w|0);x=0;E=45}else{if(i>>>0<11){b[w+11>>0]=i;d=w}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;c=x;x=0;if(c&1){E=45;break}f[w>>2]=d;f[w+8>>2]=g|-2147483648;f[w+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;g=o;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(459,r|0,w|0);c=x;x=0;do if(c&1){d=1;E=46}else{x=0;g=D;h=o;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(88,j|0,D|0,r|0);D=x;x=0;if(D&1){d=Ya()|0;if((b[r+11>>0]|0)>=0){e=1;break}Hta(f[r>>2]|0);e=1;break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);f[j>>2]=14572;x=0;Ga(462,a|0,j|0);E=x;x=0;if(E&1){d=0;E=46}else{f[a>>2]=13852;if((b[w+11>>0]|0)>=0){u=C;return}Hta(f[w>>2]|0);u=C;return}}while(0);if((E|0)==46){D=Ya()|0;e=d;d=D}if((b[w+11>>0]|0)<0){Hta(f[w>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((E|0)==45)d=Ya()|0;Hta(j);E=d;jb(E|0)}if(Ft(c,1,0)|0){j=VN(104)|0;g=m;h=c+108|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,y|0);x=0;E=70}else{if(i>>>0<11){b[y+11>>0]=i;d=y}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;c=x;x=0;if(c&1){E=70;break}f[y>>2]=d;f[y+8>>2]=g|-2147483648;f[y+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;g=n;h=m;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(459,q|0,y|0);c=x;x=0;do if(c&1){d=1;E=71}else{x=0;g=D;h=n;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(88,j|0,D|0,q|0);D=x;x=0;if(D&1){d=Ya()|0;if((b[q+11>>0]|0)>=0){e=1;break}Hta(f[q>>2]|0);e=1;break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);f[j>>2]=14212;x=0;Ga(462,a|0,j|0);E=x;x=0;if(E&1){d=0;E=71}else{f[a>>2]=13852;if((b[y+11>>0]|0)>=0){u=C;return}Hta(f[y>>2]|0);u=C;return}}while(0);if((E|0)==71){D=Ya()|0;e=d;d=D}if((b[y+11>>0]|0)<0){Hta(f[y>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((E|0)==70)d=Ya()|0;Hta(j);E=d;jb(E|0)}d=c+76|0;y=f[d>>2]|0;e=VX(y)|0;y=VM(e|0?e:y)|0;e=c+80|0;if(!((y|0)==0?1:y>>>0>(f[e>>2]|0)>>>0)){Sj(g,c);x=0;Ga(462,a|0,f[g+4>>2]|0);E=x;x=0;if(E&1){E=Ya()|0;_P(g);jb(E|0)}else{f[a>>2]=13852;_P(g);u=C;return}}y=f[d>>2]|0;w=VX(y)|0;y=Ey(w|0?w:y)|0;if(!((y|0)==0?1:y>>>0>(f[e>>2]|0)>>>0)){he(a,c);u=C;return}y=f[d>>2]|0;w=VX(y)|0;y=w|0?w:y;y=(b[y>>0]|0)==58?y+1|0:0;if(!((y|0)==0?1:y>>>0>(f[e>>2]|0)>>>0)){he(a,c);u=C;return}if(hv(c,1,0)|0){yd(h,c);x=0;Ga(462,a|0,f[h+4>>2]|0);E=x;x=0;if(E&1){E=Ya()|0;_P(h);jb(E|0)}else{f[a>>2]=13852;_P(h);u=C;return}}if(!(Ow(c,1,0)|0)){d=VN(16)|0;f[D>>2]=d;f[D+8>>2]=-2147483632;f[D+4>>2]=11;g=d;h=44242;i=g+11|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[d+11>>0]=0;f[B+8>>2]=0;e=B+11|0;b[e>>0]=7;b[B>>0]=b[44254]|0;b[B+1>>0]=b[44255]|0;b[B+2>>0]=b[44256]|0;b[B+3>>0]=b[44257]|0;b[B+4>>0]=b[44258]|0;b[B+5>>0]=b[44259]|0;b[B+6>>0]=b[44260]|0;b[B+7>>0]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;x=0;d=qa(318,32)|0;E=x;x=0;do if(E&1)d=Ya()|0;else{f[A>>2]=d;f[A+8>>2]=-2147483616;f[A+4>>2]=25;g=d;h=44262;i=g+25|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[d+25>>0]=0;x=0;Ka(8,c|0,D|0,B|0,A|0,1);E=x;x=0;if(E&1){d=Ya()|0;if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0);break}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[e>>0]|0)<0)Hta(f[B>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);qV(a,0);f[a>>2]=13852;u=C;return}while(0);if((b[e>>0]|0)<0)Hta(f[B>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);E=d;jb(E|0)}j=VN(104)|0;g=t;h=c+108|0;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,z|0);x=0;E=107}else{if(i>>>0<11){b[z+11>>0]=i;d=z}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;y=x;x=0;if(y&1){E=107;break}f[z>>2]=d;f[z+8>>2]=g|-2147483648;f[z+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;g=A;h=t;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(459,B|0,z|0);y=x;x=0;do if(y&1)d=Ya()|0;else{x=0;g=D;h=A;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(88,j|0,D|0,B|0);D=x;x=0;if(D&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);f[j>>2]=14040;if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);f[j+64>>2]=f[c+68>>2];qV(a,j);f[a>>2]=13852;u=C;return}while(0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0)}while(0);if((E|0)==107)d=Ya()|0;Hta(j);E=d;jb(E|0)}function Te(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,s=0,t=0,v=0,w=0,y=0,z=0;w=0;n=u;u=u+192|0;q=n+172|0;z=n+160|0;v=n+16|0;o=n;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;Fa(442,c|0);y=x;x=0;if(y&1)d=Ya()|0;else{y=v+64|0;d=v+8|0;f[d>>2]=16496;t=v+12|0;f[v>>2]=2284;f[y>>2]=2304;f[v+4>>2]=0;x=0;Ga(531,v+64|0,t|0);s=x;x=0;a:do if(s&1){d=Ya()|0;w=31}else{f[v+136>>2]=0;f[v+140>>2]=-1;f[v>>2]=16476;f[y>>2]=16516;f[d>>2]=16496;x=0;Fa(437,t|0);s=x;x=0;do if(s&1)d=Ya()|0;else{f[t>>2]=16336;s=v+44|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[v+60>>2]=24;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;x=0;Ga(532,t|0,q|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);Bca(t);break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);f[v+(f[(f[v>>2]|0)+-12>>2]|0)+8>>2]=12;r=v+8|0;m=c+88|0;x=0;ra(1,r|0,+(+p[m>>3]))|0;l=x;x=0;b:do if(l&1)w=32;else{x=0;Ga(533,q|0,t|0);l=x;x=0;if(l&1){d=Ya()|0;break}d=b[q+11>>0]|0;k=d<<24>>24<0;l=f[q>>2]|0;g=k?l:q;d=k?f[q+4>>2]|0:d&255;if(!d)d=-1;else{e=g+d|0;d=g;while(1){if((b[d>>0]|0)==101)break;d=d+1|0;if((d|0)==(e|0)){d=e;break}}d=(d|0)==(e|0)?-1:d-g|0}if(k)Hta(l);do if((d|0)!=-1){x=0;Ga(537,v+(f[(f[v>>2]|0)+-12>>2]|0)|0,0);l=x;x=0;if(l&1){w=32;break b}f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;x=0;Ga(532,t|0,q|0);l=x;x=0;if(l&1){d=Ya()|0;if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);break b}else{if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);l=f[(f[a+72>>2]|0)+4>>2]|0;f[v+(f[(f[v>>2]|0)+-12>>2]|0)+8>>2]=(l|0)>12?l:12;l=r+(f[(f[r>>2]|0)+-12>>2]|0)+4|0;f[l>>2]=f[l>>2]&-261|4;x=0;ra(1,r|0,+(+p[m>>3]))|0;l=x;x=0;if(l&1){w=32;break b}else break}}while(0);x=0;Ga(533,q|0,t|0);l=x;x=0;if(l&1)d=Ya()|0;else{l=q+11|0;g=b[l>>0]|0;d=g<<24>>24<0;k=d?f[q>>2]|0:q;g=d?f[q+4>>2]|0:g&255;d=k+g|0;if(!g)g=-1;else{e=k;c:while(1){switch(b[e>>0]|0){case 44:case 46:break c;default:{}}e=e+1|0;if((e|0)==(d|0)){e=d;break}}g=(e|0)==(d|0)?-1:e-k|0}while(1){if((d|0)==(k|0)){d=-1;break}d=d+-1|0;if(!(HB(49870,h[d>>0]|0,1)|0)){w=44;break}}if((w|0)==44)d=d-k|0;e=(g|0)==-1|(d|0)==(g|0);x=0;Ga(537,v+(f[(f[v>>2]|0)+-12>>2]|0)|0,0);k=x;x=0;d:do if(k&1)w=59;else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;x=0;Ga(532,t|0,o|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);e:do if(e){f[v+(f[(f[v>>2]|0)+-12>>2]|0)+8>>2]=0;k=r+(f[(f[r>>2]|0)+-12>>2]|0)+4|0;f[k>>2]=f[k>>2]&-261|4;x=0;ra(1,r|0,+(+p[m>>3]))|0;m=x;x=0;if(m&1){w=59;break d}x=0;Ga(533,o|0,t|0);m=x;x=0;if(m&1){d=Ya()|0;break d}d=z+11|0;if((b[d>>0]|0)<0){b[f[z>>2]>>0]=0;f[z+4>>2]=0}else{b[z>>0]=0;b[d>>0]=0}x=0;Ga(501,z|0,0);m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}else{f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];i=d;j=z+4|0;break}}else{k=f[(f[a+72>>2]|0)+4>>2]|0;f[v+(f[(f[v>>2]|0)+-12>>2]|0)+8>>2]=d>>>0<(k+g|0)>>>0?d-g|0:k;k=r+(f[(f[r>>2]|0)+-12>>2]|0)+4|0;f[k>>2]=f[k>>2]&-261|4;x=0;ra(1,r|0,+(+p[m>>3]))|0;m=x;x=0;if(m&1){w=59;break d}x=0;Ga(533,o|0,t|0);m=x;x=0;if(m&1){d=Ya()|0;break d}i=z+11|0;if((b[i>>0]|0)<0){b[f[z>>2]>>0]=0;f[z+4>>2]=0}else{b[z>>0]=0;b[i>>0]=0}x=0;Ga(501,z|0,0);w=x;x=0;if(w&1){w=Za(0)|0;soa(w)}f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];d=b[i>>0]|0;j=z+4|0;w=d<<24>>24<0;e=w?f[z>>2]|0:z;d=e+(w?f[j>>2]|0:d&255)|0;while(1){if((d|0)==(e|0)){w=75;break}d=d+-1|0;g=b[d>>0]|0;if(!(HB(49870,g&255,1)|0)){w=74;break}}do if((w|0)==74){d=d-e|0;if((d|0)==-1){w=75;break}switch(g<<24>>24){case 44:case 46:{d=d+1|0;break}default:{}}x=0;Ia(93,z|0,d+1|0,0);m=x;x=0;if(!(m&1))break e}while(0);if((w|0)==75){x=0;sa(1032,z|0,49872)|0;m=x;x=0;if(!(m&1))break}d=Ya()|0;break d}while(0);e=b[i>>0]|0;d=f[j>>2]|0;do if(((e<<24>>24<0?d:e&255)|0)==3){x=0;d=wa(21,z|0,0,-1,49872,3)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(!d){x=0;sa(1032,z|0,49870)|0;m=x;x=0;if(m&1){w=59;break d}else break}else{e=b[i>>0]|0;d=f[j>>2]|0;w=87;break}}else w=87;while(0);f:do if((w|0)==87){do if(!((e<<24>>24<0?d:e&255)|0)){x=0;d=wa(21,z|0,0,-1,89823,0)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(!d){x=0;sa(1032,z|0,49870)|0;m=x;x=0;if(m&1){w=59;break d}else break f}else{e=b[i>>0]|0;d=f[j>>2]|0;break}}while(0);do if(((e<<24>>24<0?d:e&255)|0)==2){x=0;d=wa(21,z|0,0,-1,49876,2)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(!d){x=0;sa(1032,z|0,49870)|0;m=x;x=0;if(m&1){w=59;break d}else break f}else{e=b[i>>0]|0;d=f[j>>2]|0;break}}while(0);do if(((e<<24>>24<0?d:e&255)|0)==4){x=0;d=wa(21,z|0,0,-1,49879,4)|0;m=x;x=0;if(m&1){m=Za(0)|0;soa(m)}if(d|0)break;x=0;sa(1032,z|0,49870)|0;m=x;x=0;if(m&1){w=59;break d}else break f}while(0);if((f[f[a+72>>2]>>2]|0)!=3)break;d=(b[i>>0]|0)<0?f[z>>2]|0:z;e=(b[d>>0]|0)==45;g=e&1;if(!(b[c+96>>0]|0))break;if((b[d+g>>0]|0)!=48)break;if((b[d+(e?2:1)>>0]|0)!=46)break;x=0;ta(40,z|0,g|0,1)|0;m=x;x=0;if(!(m&1))break;d=Ya()|0;break d}while(0);x=0;Ga(561,o|0,c+60|0);m=x;x=0;do if(m&1)d=Ya()|0;else{e=o+11|0;m=b[e>>0]|0;k=m<<24>>24<0;x=0;ta(41,z|0,(k?f[o>>2]|0:o)|0,(k?f[o+4>>2]|0:m&255)|0)|0;m=x;x=0;if(m&1){d=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[e>>0]|0)<0)Hta(f[o>>2]|0);x=0;Ia(147,a+4|0,z|0,c|0);w=x;x=0;if(w&1){w=59;break d}if((b[l>>0]|0)<0)Hta(f[q>>2]|0);f[v>>2]=16476;f[y>>2]=16516;f[r>>2]=16496;f[t>>2]=16336;if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);Bca(t);KU(v,16528);uma(y);if((b[i>>0]|0)>=0){u=n;return}Hta(f[z>>2]|0);u=n;return}while(0)}while(0);if((w|0)==59)d=Ya()|0;if((b[l>>0]|0)<0)Hta(f[q>>2]|0)}}while(0);if((w|0)==32)d=Ya()|0;f[v>>2]=16476;f[y>>2]=16516;f[r>>2]=16496;f[t>>2]=16336;if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);Bca(t);KU(v,16528);uma(y);break a}while(0);KU(v,16528);w=31}while(0);if((w|0)==31)uma(y)}if((b[z+11>>0]|0)>=0)jb(d|0);Hta(f[z>>2]|0);jb(d|0)}function Ue(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0;A=0;w=u;u=u+32|0;B=w+12|0;y=w;s=c+60|0;g=c+64|0;p=c+68|0;v=a+4|0;do if((f[g>>2]|0)==(f[p>>2]|0)){if((wna(v)|0)!=5)if(!(b[c+85>>0]|0))break;Nc[f[(f[a>>2]|0)+280>>2]&255](B,a,c);x=0;Ga(682,v|0,B|0);A=x;x=0;if(A&1){d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);Nc[f[(f[a>>2]|0)+284>>2]&255](B,a,c);x=0;Ga(682,v|0,B|0);A=x;x=0;if(A&1){d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}else{if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=w;return}}while(0);t=c+80|0;e=(f[t>>2]|0)==1?53148:52774;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;z=B+11|0;b[z>>0]=1;b[B>>0]=b[e>>0]|0;b[B+1>>0]=0;x=0;e=qa(399,v|0)|0;r=x;x=0;a:do if(r&1)A=24;else{if((e|0)==3)A=25;else{r=b[z>>0]|0;if(((r<<24>>24<0?f[B+4>>2]|0:r&255)|0)==1){x=0;e=wa(21,B|0,0,-1,52774,1)|0;r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}if(!e){x=0;sa(991,B|0,53148)|0;r=x;x=0;if(r&1){A=24;break}}else A=25}else A=25}b:do if((A|0)==25)if(b[a+103>>0]|0){r=b[z>>0]|0;do if(((r<<24>>24<0?f[B+4>>2]|0:r&255)|0)==1){x=0;e=wa(21,B|0,0,-1,53148,1)|0;r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}else if(!e)break b;else break}while(0);x=0;sa(991,B|0,53148)|0;r=x;x=0;if(r&1){A=24;break a}}while(0);c:do if((f[g>>2]|0)!=(f[p>>2]|0)){q=a+105|0;l=b[q>>0]|0;r=a+106|0;m=b[r>>0]|0;n=c+85|0;d:do if(!(b[n>>0]|0)){x=0;e=qa(399,v|0)|0;k=x;x=0;if(!(k&1)){do if((e|0)==5)if(((f[p>>2]|0)-(f[c+64>>2]|0)|0)==8)if(!(b[c+86>>0]|0)){x=0;e=sa(f[(f[s>>2]|0)+16>>2]|0,s|0,0)|0;k=x;x=0;if(k&1)break d;x=0;e=qa(340,f[e+4>>2]|0)|0;k=x;x=0;if(k&1)break d;if(!e){x=0;e=sa(f[(f[s>>2]|0)+16>>2]|0,s|0,0)|0;k=x;x=0;if(k&1)break d;e=f[e+4>>2]|0;if(e|0)if((f[517]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0))break;x=0;Ia(f[(f[a>>2]|0)+280>>2]|0,y|0,a|0,c|0);k=x;x=0;do if(k&1)d=Ya()|0;else{x=0;Ga(682,v|0,y|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);A=75;break d}while(0);break a}}while(0);if(!(b[a+104>>0]|0)){e=f[t>>2]|0;switch(e|0){case 2:break;case 1:{if(!(b[q>>0]|0)){A=77;break d}break}case 0:{if(!(b[r>>0]|0)){A=75;break d}break}default:{A=76;break d}}x=0;Ia(f[(f[a>>2]|0)+280>>2]|0,y|0,a|0,c|0);k=x;x=0;do if(k&1)d=Ya()|0;else{x=0;Ga(682,v|0,y|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);A=75;break d}while(0);break a}else A=75}}else{x=0;Ia(f[(f[a>>2]|0)+280>>2]|0,y|0,a|0,c|0);k=x;x=0;do if(k&1)d=Ya()|0;else{x=0;Ga(682,v|0,y|0);k=x;x=0;if(k&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);A=75;break d}while(0);break a}while(0);if((A|0)==75){e=f[t>>2]|0;A=76}e:do if((A|0)==76){switch(e|0){case 1:{A=77;break e}case 0:break;default:{A=79;break e}}b[r>>0]=1;A=79}while(0);if((A|0)==77){b[q>>0]=1;A=79}f:do if((A|0)==79){x=0;i=qa(f[(f[c>>2]|0)+120>>2]|0,c|0)|0;k=x;x=0;if(k&1){d=Ya()|0;break a}g:do if(i|0){j=B+4|0;k=y+4|0;h=0;e=0;h:while(1){if((f[t>>2]|0)==2)b[((b[z>>0]|0)<0?f[B>>2]|0:B)>>0]=h&1|0?58:44;x=0;g=sa(f[(f[s>>2]|0)+16>>2]|0,s|0,h|0)|0;C=x;x=0;if(C&1){A=94;break}x=0;Ga(462,y|0,f[g+4>>2]|0);C=x;x=0;if(C&1){A=94;break}f[y>>2]=7696;x=0;g=qa(399,v|0)|0;C=x;x=0;if(C&1){A=95;break}if((g|0)==5)A=96;else{g=f[k>>2]|0;x=0;g=qa(f[(f[g>>2]|0)+84>>2]|0,g|0)|0;C=x;x=0;if(C&1){A=95;break}if(g){x=0;g=qa(334,f[k>>2]|0)|0;C=x;x=0;if(C&1){A=95;break}if(g)A=96}else A=96}if((A|0)==96){A=0;do if(e){x=0;Ga(682,v|0,B|0);C=x;x=0;if(C&1){A=95;break h}C=b[z>>0]|0;if(((C<<24>>24<0?f[j>>2]|0:C&255)|0)==1){x=0;e=wa(21,B|0,0,-1,53148,1)|0;C=x;x=0;if(C&1){A=100;break h}if(!e)break}x=0;Fa(461,v|0);C=x;x=0;if(C&1){A=95;break h}}while(0);C=f[k>>2]|0;x=0;Ga(f[(f[C>>2]|0)+44>>2]|0,C|0,a|0);C=x;x=0;if(C&1){A=95;break}else e=1}_P(y);h=h+1|0;if(h>>>0>=i>>>0)break g}if((A|0)==94)d=Ya()|0;else if((A|0)==95){d=Ya()|0;_P(y)}else if((A|0)==100){C=Za(0)|0;soa(C)}break a}while(0);b[r>>0]=m;b[q>>0]=l;if(b[n>>0]|0){do if(!(f[t>>2]|0)){x=0;d=qa(f[(f[c>>2]|0)+120>>2]|0,c|0)|0;C=x;x=0;if(C&1)break f;if((d|0)==1){f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;e=y+11|0;b[e>>0]=1;b[y>>0]=44;b[y+1>>0]=0;x=0;Ga(682,v|0,y|0);C=x;x=0;if(C&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[y>>2]|0);break a}else{if((b[e>>0]|0)<0)Hta(f[y>>2]|0);break}}}while(0);x=0;Ia(f[(f[a>>2]|0)+284>>2]|0,y|0,a|0,c|0);C=x;x=0;do if(C&1)d=Ya()|0;else{x=0;Ga(682,v|0,y|0);C=x;x=0;if(C&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);break c}while(0);break a}x=0;d=qa(399,v|0)|0;C=x;x=0;if(!(C&1)){do if((d|0)==5)if(((f[p>>2]|0)-(f[c+64>>2]|0)|0)==8)if(!(b[c+86>>0]|0)){x=0;d=sa(f[(f[s>>2]|0)+16>>2]|0,s|0,0)|0;C=x;x=0;if(C&1)break f;x=0;d=qa(340,f[d+4>>2]|0)|0;C=x;x=0;if(C&1)break f;if(!d){x=0;d=sa(f[(f[s>>2]|0)+16>>2]|0,s|0,0)|0;C=x;x=0;if(C&1)break f;d=f[d+4>>2]|0;if(d|0)if((f[517]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0))break;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;e=y+11|0;b[e>>0]=1;b[y>>0]=44;b[y+1>>0]=0;x=0;Ga(682,v|0,y|0);C=x;x=0;if(C&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[y>>2]|0);break a}if((b[e>>0]|0)<0)Hta(f[y>>2]|0);x=0;Ia(f[(f[a>>2]|0)+284>>2]|0,y|0,a|0,c|0);C=x;x=0;do if(C&1)d=Ya()|0;else{x=0;Ga(682,v|0,y|0);C=x;x=0;if(C&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);break c}while(0);break a}}while(0);if(b[a+104>>0]|0)break c;switch(f[t>>2]|0){case 2:break;case 1:{if(!(b[q>>0]|0))break c;break}case 0:{if(!(b[r>>0]|0))break c;break}default:break c}x=0;Ia(f[(f[a>>2]|0)+284>>2]|0,y|0,a|0,c|0);C=x;x=0;do if(C&1)d=Ya()|0;else{x=0;Ga(682,v|0,y|0);C=x;x=0;if(C&1){d=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);break c}while(0);break a}}while(0);d=Ya()|0;break a}while(0);if((b[z>>0]|0)<0)Hta(f[B>>2]|0);u=w;return}while(0);if((A|0)==24)d=Ya()|0;if((b[z>>0]|0)<0)Hta(f[B>>2]|0);C=d;jb(C|0)}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=0;B=u;u=u+288|0;z=B+248|0;v=B+236|0;w=B+224|0;y=B+184|0;j=B+40|0;D=B;g=B+144|0;p=B+128|0;i=B+104|0;A=B+120|0;m=B+96|0;s=B+88|0;t=B+80|0;E=c+164|0;F=f[E>>2]|0;r=F+1|0;f[E>>2]=r;if(r>>>0>512){m=Ta(84)|0;k=g;n=c+108|0;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));x=0;Ga(511,p|0,c+148|0);D=x;x=0;do if(D&1)g=Ya()|0;else{x=0;Ga(459,i|0,80148);D=x;x=0;if(D&1){g=Ya()|0;l=I;e=1}else{x=0;k=z;n=g;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));Ja(28,m|0,z|0,p|0,i|0);D=x;x=0;if(D&1)e=1;else{x=0;Ia(77,m|0,3328,181);x=0;e=0}g=Ya()|0;h=I;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);l=h}else l=h}h=f[p>>2]|0;if(!h){if(e)break;f[E>>2]=F;jb(g|0)}k=p+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[p>>2]|0}Hta(h);if(!e){D=g;f[E>>2]=F;jb(D|0)}}while(0);bb(m|0);D=g;f[E>>2]=F;jb(D|0)}q=c+76|0;x=0;g=qa(347,f[q>>2]|0)|0;r=x;x=0;do if(!(r&1)){r=c+80|0;if((g|0)==0?1:g>>>0>(f[r>>2]|0)>>>0)g=f[q>>2]|0;x=0;h=qa(348,g|0)|0;p=x;x=0;if(!(p&1)){x=0;g=qa(357,(h|0?h:g)|0)|0;p=x;x=0;if(!(p&1)){if(!((g|0)==0?1:g>>>0>(f[r>>2]|0)>>>0)){x=0;l=qa(318,88)|0;C=x;x=0;if(C&1)break;k=D;n=c+108|0;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));x=0;Fa(427,l|0);C=x;x=0;if(C&1)g=Ya()|0;else{k=l+12|0;n=D;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;g=l+56|0;f[g>>2]=0;f[l>>2]=6516;h=l+60|0;f[h>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,0);D=x;x=0;if(!(D&1)){f[l>>2]=9488;f[h>>2]=9620;f[l+80>>2]=1;b[l+84>>0]=0;b[l+85>>0]=0;b[l+86>>0]=0;f[g>>2]=5;x=0;Ga(462,a|0,l|0);D=x;x=0;if(D&1)break;f[a>>2]=7696;f[E>>2]=F;u=B;return}g=Ya()|0;i=I;h=f[j>>2]|0;if(h|0){e=f[k>>2]|0;if((e|0)!=(h|0)){do{D=e+-8|0;f[k>>2]=D;Kc[f[f[D>>2]>>2]&511](D);e=f[k>>2]|0}while((e|0)!=(h|0));h=f[j>>2]|0}Hta(h)}}Hta(l);D=g;f[E>>2]=F;jb(D|0)}x=0;Ga(580,D|0,c|0);p=x;x=0;if(p&1)g=Ya()|0;else{x=0;g=qa(347,f[q>>2]|0)|0;p=x;x=0;a:do if(p&1)C=48;else{if((g|0)==0?1:g>>>0>(f[r>>2]|0)>>>0)g=f[q>>2]|0;x=0;h=qa(348,g|0)|0;p=x;x=0;if(p&1)C=48;else{p=h|0?h:g;p=(b[p>>0]|0)==44?p+1|0:0;b:do if((p|0)==0?1:p>>>0>(f[r>>2]|0)>>>0){g=D+4|0;if(!e){C=f[g>>2]|0;x=0;Ga(f[(f[C>>2]|0)+100>>2]|0,C|0,0);C=x;x=0;if(C&1){C=48;break a}}x=0;Ga(462,a|0,f[g>>2]|0);C=x;x=0;if(C&1){C=48;break a}f[a>>2]=7696}else{x=0;l=qa(318,88)|0;p=x;x=0;c:do if(p&1)C=74;else{p=c+108|0;k=j;n=p;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));x=0;Fa(427,l|0);o=x;x=0;do if(o&1)g=Ya()|0;else{k=l+12|0;n=j;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;g=l+56|0;f[g>>2]=0;f[l>>2]=6516;h=l+60|0;f[h>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,2);o=x;x=0;if(o&1){g=Ya()|0;i=I;h=f[j>>2]|0;if(h|0){e=f[k>>2]|0;if((e|0)!=(h|0)){do{B=e+-8|0;f[k>>2]=B;Kc[f[f[B>>2]>>2]&511](B);e=f[k>>2]|0}while((e|0)!=(h|0));h=f[j>>2]|0}Hta(h)}break}f[l>>2]=9488;f[h>>2]=9620;o=l+80|0;f[o>>2]=0;d[o+4>>1]=0;b[o+6>>0]=0;f[g>>2]=5;x=0;Ga(462,A|0,l|0);o=x;x=0;if(o&1){C=74;break c}f[A>>2]=7584;l=A+4|0;g=(f[l>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,m|0,f[D+4>>2]|0);o=x;x=0;d:do if(o&1)C=77;else{f[m>>2]=7696;x=0;Ga(h|0,g|0,m|0);o=x;x=0;if(o&1){g=Ya()|0;_P(m);break}_P(m);e=c+168|0;i=c+84|0;j=c+96|0;while(1){f[z>>2]=f[e>>2];f[z+4>>2]=f[e+4>>2];f[z+8>>2]=f[e+8>>2];h=f[q>>2]|0;f[v>>2]=f[i>>2];f[v+4>>2]=f[i+4>>2];f[v+8>>2]=f[i+8>>2];f[w>>2]=f[j>>2];f[w+4>>2]=f[j+4>>2];f[w+8>>2]=f[j+8>>2];k=y;n=p;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));x=0;ta(52,c|0,1,0)|0;o=x;x=0;if(o&1){C=77;break d}x=0;g=ta(53,c|0,1,0)|0;o=x;x=0;if(o&1){C=77;break d}if(!g){C=67;break}x=0;g=qa(347,f[q>>2]|0)|0;o=x;x=0;if(o&1){C=77;break d}if((g|0)==0?1:g>>>0>(f[r>>2]|0)>>>0)g=f[q>>2]|0;x=0;h=qa(348,g|0)|0;o=x;x=0;if(o&1){C=77;break d}x=0;g=qa(357,(h|0?h:g)|0)|0;o=x;x=0;if(o&1){C=77;break d}if(!((g|0)==0?1:g>>>0>(f[r>>2]|0)>>>0))break;g=(f[l>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(580,s|0,c|0);o=x;x=0;if(o&1){C=77;break d}x=0;Ga(h|0,g|0,s|0);o=x;x=0;if(o&1){C=82;break}_P(s)}if((C|0)==67){k=p;n=y;o=k+40|0;do{f[k>>2]=f[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];f[q>>2]=h;f[j>>2]=f[w>>2];f[j+4>>2]=f[w+4>>2];f[j+8>>2]=f[w+8>>2];f[i>>2]=f[v>>2];f[i+4>>2]=f[v+4>>2];f[i+8>>2]=f[v+8>>2]}else if((C|0)==82){g=Ya()|0;_P(s);break}x=0;Ga(462,t|0,f[l>>2]|0);c=x;x=0;if(c&1){C=77;break}f[t>>2]=7584;x=0;Ga(462,a|0,f[t+4>>2]|0);c=x;x=0;if(c&1){g=Ya()|0;_P(t);break}else{f[a>>2]=7696;_P(t);_P(A);break b}}while(0);if((C|0)==77)g=Ya()|0;_P(A);break c}while(0);Hta(l)}while(0);if((C|0)==74)g=Ya()|0;break a}while(0);_P(D);f[E>>2]=F;u=B;return}}while(0);if((C|0)==48)g=Ya()|0;_P(D)}D=g;f[E>>2]=F;jb(D|0)}}}while(0);D=Ya()|0;f[E>>2]=F;jb(D|0)} +function Fd(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.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,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;ba=u;u=u+656|0;$=ba+40|0;ca=ba;c=ba+616|0;w=ba+604|0;z=ba+592|0;A=ba+552|0;M=ba+536|0;E=ba+496|0;Q=ba+480|0;N=ba+440|0;U=ba+424|0;S=ba+384|0;Y=ba+368|0;X=ba+328|0;_=ba+312|0;L=ba+272|0;R=ba+256|0;P=ba+216|0;V=ba+200|0;T=ba+160|0;Z=ba+144|0;C=ba+104|0;D=ba+92|0;B=ba+80|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;y=ca+11|0;b[y>>0]=6;b[ca>>0]=b[39245]|0;b[ca+1>>0]=b[39246]|0;b[ca+2>>0]=b[39247]|0;b[ca+3>>0]=b[39248]|0;b[ca+4>>0]=b[39249]|0;b[ca+5>>0]=b[39250]|0;b[ca+6>>0]=0;F=c;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,w|0,h|0);aa=x;x=0;do if(aa&1)c=Ya()|0;else{x=0;F=$;G=c;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));aa=wa(26,ca|0,a|0,e|0,$|0,w|0)|0;W=x;x=0;if(W&1){c=Ya()|0;l=I;d=f[w>>2]|0;if(!d)break;m=w+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[w>>2]|0}Hta(d);break}c=f[w>>2]|0;if(c|0){j=w+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[ca>>2]|0);f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;d=$+11|0;b[d>>0]=4;f[$>>2]=1684369956;b[$+4>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)j=0;else j=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;d=$+11|0;b[d>>0]=6;b[$>>0]=b[39214]|0;b[$+1>>0]=b[39215]|0;b[$+2>>0]=b[39216]|0;b[$+3>>0]=b[39217]|0;b[$+4>>0]=b[39218]|0;b[$+5>>0]=b[39219]|0;b[$+6>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)i=0;else i=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;d=$+11|0;b[d>>0]=5;b[$>>0]=b[39221]|0;b[$+1>>0]=b[39222]|0;b[$+2>>0]=b[39223]|0;b[$+3>>0]=b[39224]|0;b[$+4>>0]=b[39225]|0;b[$+5>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)y=0;else y=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;d=$+11|0;b[d>>0]=4;f[$>>2]=1702193188;b[$+4>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)O=0;else O=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);c=VN(16)|0;f[$>>2]=c;f[$+8>>2]=-2147483632;f[$+4>>2]=11;F=c;G=39298;H=F+11|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[$+11>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)l=0;else l=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[$+11>>0]|0)<0)Hta(f[$>>2]|0);d=$+11|0;b[d>>0]=10;F=$;G=39310;H=F+10|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));b[$+10>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)w=0;else w=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;d=$+11|0;b[d>>0]=6;b[$>>0]=b[39238]|0;b[$+1>>0]=b[39239]|0;b[$+2>>0]=b[39240]|0;b[$+3>>0]=b[39241]|0;b[$+4>>0]=b[39242]|0;b[$+5>>0]=b[39243]|0;b[$+6>>0]=0;x=0;c=sa(992,a|0,$|0)|0;W=x;x=0;if(W&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);ca=c;jb(ca|0)}c=f[c+4>>2]|0;if(!c)W=0;else W=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[$>>2]|0);j=(j|0)!=0;m=(i|0)!=0;i=j|m|(y|0)!=0;J=(O|0)!=0;l=(l|0)!=0;c=J|l|(w|0)!=0;do if(i&c){d=VN(96)|0;f[z>>2]=d;f[z+8>>2]=-2147483552;f[z+4>>2]=81;F=d;G=39385;H=F+81|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));b[d+81>>0]=0;x=0;F=$;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));Ia(100,z|0,$|0,h|0);H=x;x=0;if(!(H&1)){if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0);break}c=Ya()|0;if((b[z+11>>0]|0)>=0){ca=c;jb(ca|0)}Hta(f[z>>2]|0);ca=c;jb(ca|0)}while(0);if(!i){if(!c){if(!W){c=VN(48)|0;f[B>>2]=c;f[B+8>>2]=-2147483600;f[B+4>>2]=39;F=c;G=39467;H=F+39|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));b[c+39>>0]=0;x=0;F=$;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));Ia(100,B|0,$|0,h|0);ca=x;x=0;if(ca&1){c=Ya()|0;if((b[B+11>>0]|0)>=0){ca=c;jb(ca|0)}Hta(f[B>>2]|0);ca=c;jb(ca|0)}else{if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);ca=aa;u=ba;return ca|0}}i=VN(112)|0;F=C;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));o=+p[aa+64>>3];q=+p[aa+72>>3];r=+p[aa+80>>3];n=+p[aa+88>>3];k=+p[W+88>>3];d=D+11|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;F=$;G=C;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Fa(427,i|0);ca=x;x=0;do if(ca&1)c=Ya()|0;else{k=n+k;F=i+12|0;G=$;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=o;p[i+72>>3]=q;p[i+80>>3]=r;p[i+88>>3]=k;x=0;Ga(459,i+96|0,D|0);ca=x;x=0;if(ca&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[D>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){ca=i;u=ba;return ca|0}Hta(f[D>>2]|0);ca=i;u=ba;return ca|0}while(0);Hta(i);ca=c;jb(ca|0)}q=+p[aa+64>>3]/255.0;r=+p[aa+72>>3]/255.0;s=+p[aa+80>>3]/255.0;c=r>2]=c;f[ca+8>>2]=-2147483632;f[ca+4>>2]=11;F=c;G=39298;H=F+11|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));b[c+11>>0]=0;F=L;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,R|0,h|0);_=x;x=0;do if(_&1)c=Ya()|0;else{x=0;F=$;G=L;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+ka(1,ca|0,a|0,e|0,$|0,R|0,-100.0,100.0);_=x;x=0;if(_&1){c=Ya()|0;l=I;d=f[R>>2]|0;if(!d)break;m=R+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[R>>2]|0}Hta(d);break}c=f[R>>2]|0;if(c|0){j=R+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[R>>2]|0}Hta(c)}if((b[ca+11>>0]|0)<0)Hta(f[ca>>2]|0);o=k;break a}while(0);if((b[ca+11>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}else o=0.0;while(0);b:do if(!w)n=0.0;else{w=ca+11|0;b[w>>0]=10;F=ca;G=39310;H=F+10|0;do{b[F>>0]=b[G>>0]|0;F=F+1|0;G=G+1|0}while((F|0)<(H|0));b[ca+10>>0]=0;F=P;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,V|0,h|0);_=x;x=0;do if(_&1)c=Ya()|0;else{x=0;F=$;G=P;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+ka(1,ca|0,a|0,e|0,$|0,V|0,-100.0,100.0);_=x;x=0;if(_&1){c=Ya()|0;l=I;d=f[V>>2]|0;if(!d)break;m=V+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[V>>2]|0}Hta(d);break}c=f[V>>2]|0;if(c|0){j=V+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[V>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);n=k;break b}while(0);if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}while(0);c:do if(!W)r=0.0;else{f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;w=ca+11|0;b[w>>0]=6;b[ca>>0]=b[39238]|0;b[ca+1>>0]=b[39239]|0;b[ca+2>>0]=b[39240]|0;b[ca+3>>0]=b[39241]|0;b[ca+4>>0]=b[39242]|0;b[ca+5>>0]=b[39243]|0;b[ca+6>>0]=0;F=T;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,Z|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;F=$;G=T;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));r=+ka(1,ca|0,a|0,e|0,$|0,Z|0,-1.0,1.0);h=x;x=0;if(h&1){c=Ya()|0;l=I;d=f[Z>>2]|0;if(!d)break;m=Z+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[Z>>2]|0}Hta(d);break}c=f[Z>>2]|0;if(c|0){j=Z+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[Z>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);break c}while(0);if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}while(0);if(J)k=+p[O+88>>3];else k=0.0;q=q+k;o=s+o;n=t+n;k=r+ +p[aa+88>>3];F=$;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));ca=Wo(q,o,n,k,0,$)|0;u=ba;return ca|0}d:do if(j){f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;w=ca+11|0;b[w>>0]=4;f[ca>>2]=1684369956;b[ca+4>>0]=0;F=A;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,M|0,h|0);Z=x;x=0;do if(Z&1)c=Ya()|0;else{x=0;F=$;G=A;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+ka(1,ca|0,a|0,e|0,$|0,M|0,-255.0,255.0);Z=x;x=0;if(Z&1){c=Ya()|0;l=I;d=f[M>>2]|0;if(!d)break;m=M+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[M>>2]|0}Hta(d);break}c=f[M>>2]|0;if(c|0){j=M+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[M>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);q=k;break d}while(0);if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}else q=0.0;while(0);e:do if(m){f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;w=ca+11|0;b[w>>0]=6;b[ca>>0]=b[39214]|0;b[ca+1>>0]=b[39215]|0;b[ca+2>>0]=b[39216]|0;b[ca+3>>0]=b[39217]|0;b[ca+4>>0]=b[39218]|0;b[ca+5>>0]=b[39219]|0;b[ca+6>>0]=0;F=E;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,Q|0,h|0);Z=x;x=0;do if(Z&1)c=Ya()|0;else{x=0;F=$;G=E;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+ka(1,ca|0,a|0,e|0,$|0,Q|0,-255.0,255.0);Z=x;x=0;if(Z&1){c=Ya()|0;l=I;d=f[Q>>2]|0;if(!d)break;m=Q+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[Q>>2]|0}Hta(d);break}c=f[Q>>2]|0;if(c|0){j=Q+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[Q>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);o=k;break e}while(0);if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}else o=0.0;while(0);f:do if(!y)v=0.0;else{f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;w=ca+11|0;b[w>>0]=5;b[ca>>0]=b[39221]|0;b[ca+1>>0]=b[39222]|0;b[ca+2>>0]=b[39223]|0;b[ca+3>>0]=b[39224]|0;b[ca+4>>0]=b[39225]|0;b[ca+5>>0]=0;F=N;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,U|0,h|0);Z=x;x=0;do if(Z&1)c=Ya()|0;else{x=0;F=$;G=N;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+ka(1,ca|0,a|0,e|0,$|0,U|0,-255.0,255.0);Z=x;x=0;if(Z&1){c=Ya()|0;l=I;d=f[U>>2]|0;if(!d)break;m=U+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[U>>2]|0}Hta(d);break}c=f[U>>2]|0;if(c|0){j=U+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[U>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);v=k;break f}while(0);if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}while(0);g:do if(!W)t=0.0;else{f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;w=ca+11|0;b[w>>0]=6;b[ca>>0]=b[39238]|0;b[ca+1>>0]=b[39239]|0;b[ca+2>>0]=b[39240]|0;b[ca+3>>0]=b[39241]|0;b[ca+4>>0]=b[39242]|0;b[ca+5>>0]=b[39243]|0;b[ca+6>>0]=0;F=S;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Ga(511,Y|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;F=$;G=S;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+ka(1,ca|0,a|0,e|0,$|0,Y|0,-1.0,1.0);$=x;x=0;if($&1){c=Ya()|0;l=I;d=f[Y>>2]|0;if(!d)break;m=Y+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[Y>>2]|0}Hta(d);break}c=f[Y>>2]|0;if(c|0){j=Y+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[Y>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);t=k;break g}while(0);if((b[w>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0)}while(0);i=VN(112)|0;F=X;G=g;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));k=+p[aa+64>>3];n=+p[aa+72>>3];r=+p[aa+80>>3];s=+p[aa+88>>3];d=_+11|0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;F=ca;G=X;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));x=0;Fa(427,i|0);aa=x;x=0;do if(aa&1)c=Ya()|0;else{q=q+k;o=o+n;n=v+r;k=t+s;F=i+12|0;G=ca;H=F+40|0;do{f[F>>2]=f[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(H|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=q;p[i+72>>3]=o;p[i+80>>3]=n;p[i+88>>3]=k;x=0;Ga(459,i+96|0,_|0);ca=x;x=0;if(ca&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[_>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){ca=i;u=ba;return ca|0}Hta(f[_>>2]|0);ca=i;u=ba;return ca|0}while(0);Hta(i);ca=c;jb(ca|0)}while(0);if((b[y>>0]|0)<0)Hta(f[ca>>2]|0);ca=c;jb(ca|0);return 0}function Gd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=0;N=u;u=u+464|0;O=N+120|0;M=N+80|0;H=N+40|0;Q=N;d=N+456|0;e=N+448|0;i=N+408|0;l=N+400|0;j=N+392|0;k=N+352|0;A=N+336|0;z=N+328|0;o=N+320|0;y=N+312|0;t=N+304|0;m=N+296|0;n=N+288|0;r=N+280|0;s=N+272|0;v=N+264|0;w=N+256|0;B=N+248|0;E=N+240|0;F=N+232|0;D=N+192|0;J=N+184|0;K=N+176|0;G=N+168|0;L=N+160|0;C=c+68|0;qV(d,f[C>>2]|0);f[d>>2]=7280;if(!(f[d+4>>2]|0))_P(d);else{x=0;Ga(462,e|0,f[C>>2]|0);q=x;x=0;if(q&1){Q=Ya()|0;_P(d);jb(Q|0)}f[e>>2]=7280;q=f[e+4>>2]|0;q=(f[q+72>>2]|0)==(f[q+68>>2]|0);_P(e);_P(d);if(!q){e=a+24|0;p=a+28|0;g=f[p>>2]|0;h=g;if((g|0)==(f[e>>2]|0))d=f[a+12>>2]|0;else d=h+-4|0;if((f[(f[d>>2]|0)+52>>2]|0)==1){d=c+72|0;if(FO(d,49278)|0)if(FO(d,49297)|0)if(FO(d,49313)|0)if(FO(d,49327)|0){x=0;d=sa(1044,a|0,c|0)|0;Q=x;x=0;if(!(Q&1)){Q=d;u=N;return Q|0}Q=Ya()|0;jb(Q|0)}e=VN(76)|0;q=i;d=c+12|0;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));x=0;Ga(462,l|0,c|0);P=x;x=0;if(P&1)d=Ya()|0;else{f[l>>2]=6920;x=0;Ga(462,j|0,0);P=x;x=0;if(P&1)d=Ya()|0;else{f[j>>2]=6920;q=Q;d=i;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));x=0;Fa(427,e|0);P=x;x=0;do if(P&1)d=Ya()|0;else{q=e+12|0;d=Q;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));f[e+52>>2]=6;f[e+56>>2]=0;b[e+60>>0]=0;f[e>>2]=7296;d=e+64|0;x=0;Ga(462,d|0,f[l+4>>2]|0);Q=x;x=0;if(Q&1){d=Ya()|0;break}f[d>>2]=6920;b[e+72>>0]=(f[j+4>>2]|0)==0&1;_P(j);_P(l);Q=e;u=N;return Q|0}while(0);_P(j)}_P(l)}Hta(e);Q=d;jb(Q|0)}f[O>>2]=c;if((f[a+32>>2]|0)>>>0>h>>>0){f[g>>2]=c;f[p>>2]=(f[p>>2]|0)+4}else TA(e,O);i=VN(100)|0;q=k;d=c+12|0;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));x=0;Ga(459,A|0,c+72|0);q=x;x=0;a:do if(q&1){d=Ya()|0;P=69}else{x=0;Ga(462,z|0,f[c+88>>2]|0);q=x;x=0;if(q&1){d=Ya()|0;e=1}else{f[z>>2]=7168;x=0;Ga(462,y|0,f[C>>2]|0);q=x;x=0;if(q&1){d=Ya()|0;e=1}else{f[y>>2]=7280;do if(!(f[y+4>>2]|0)){g=0;d=0;P=39}else{d=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,t|0,f[C>>2]|0);q=x;x=0;if(q&1){d=Ya()|0;e=1;break}f[t>>2]=7280;x=0;d=sa(d|0,a|0,f[t+4>>2]|0)|0;P=x;x=0;if(P&1){d=Ya()|0;e=1;P=63}else{g=1;P=39}}while(0);do if((P|0)==39){x=0;Ga(462,o|0,d|0);q=x;x=0;if(q&1){d=Ya()|0;if(g){e=1;P=63;break}else{e=1;break}}f[o>>2]=7280;x=0;Ga(462,m|0,0);q=x;x=0;if(q&1){d=Ya()|0;e=1}else{f[m>>2]=7696;x=0;q=O;d=k;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));La(22,i|0,O|0,A|0,z|0,o|0,m|0);q=x;x=0;do if(q&1)e=1;else{x=0;Ga(462,Q|0,i|0);q=x;x=0;if(q&1){e=0;break}f[Q>>2]=17128;_P(m);_P(o);if(g)_P(t);_P(y);_P(z);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);d=c+96|0;x=0;Ga(462,n|0,f[d>>2]|0);A=x;x=0;b:do if(A&1)P=70;else{f[n>>2]=7696;A=(f[n+4>>2]|0)==0;_P(n);t=Q+4|0;c:do if(!A){e=f[t>>2]|0;x=0;Ga(462,s|0,f[d>>2]|0);A=x;x=0;if(A&1){P=70;break b}f[s>>2]=7696;g=e+92|0;d=e+96|0;if(!(f[d>>2]|0))P=52;else{x=0;Fa(429,g|0);A=x;x=0;if(!(A&1))P=52}do if((P|0)==52){f[d>>2]=f[s+4>>2];x=0;Fa(430,g|0);A=x;x=0;if(A&1)break;x=0;Ga(462,r|0,f[d>>2]|0);A=x;x=0;if(A&1)break;f[r>>2]=7696;_P(r);_P(s);break c}while(0);d=Ya()|0;_P(s);break b}while(0);f[p>>2]=(f[p>>2]|0)+-4;x=0;Ga(462,v|0,f[(f[t>>2]|0)+68>>2]|0);A=x;x=0;if(A&1){d=Ya()|0;break}f[v>>2]=7280;d:do if(!(f[v+4>>2]|0)){_P(v);e=0}else{x=0;Ga(462,w|0,f[(f[t>>2]|0)+68>>2]|0);A=x;x=0;if(A&1){d=Ya()|0;_P(v);break b}f[w>>2]=7280;q=f[w+4>>2]|0;q=(f[q+72>>2]|0)-(f[q+68>>2]|0)>>3;_P(w);_P(v);if(!q){e=0;break}n=B+4|0;c=O+4|0;o=M+4|0;p=H+4|0;m=0;while(1){x=0;Ga(462,B|0,f[C>>2]|0);A=x;x=0;if(A&1){P=85;break}f[B>>2]=7280;d=(f[n>>2]|0)+64|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,m|0)|0;A=x;x=0;if(A&1){P=86;break}x=0;Ga(462,O|0,f[d+4>>2]|0);A=x;x=0;if(A&1){P=86;break}f[O>>2]=6920;_P(B);d=f[c>>2]|0;if((f[d+52>>2]|0)==6){if(!d)d=0;else d=(f[121]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,M|0,d|0);A=x;x=0;if(A&1){P=94;break}f[M>>2]=18624;x=0;Ga(462,H|0,f[(f[o>>2]|0)+68>>2]|0);A=x;x=0;if(A&1){P=95;break}f[H>>2]=6920;if(f[c>>2]|0){x=0;Fa(429,O|0);A=x;x=0;if(A&1){P=96;break}}f[c>>2]=f[p>>2];f[p>>2]=0;_P(H);d=f[c>>2]|0;e:do if((f[d+52>>2]|0)==3){j=(f[139]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;g=j+72|0;z=f[t>>2]|0;d=z+72|0;e=b[g+11>>0]|0;i=e<<24>>24<0;e=e&255;j=i?f[j+76>>2]|0:e;A=b[d+11>>0]|0;h=A<<24>>24<0;if((j|0)!=((h?f[z+76>>2]|0:A&255)|0)){e=0;break}k=f[g>>2]|0;l=i?k:g;d=h?f[d>>2]|0:d;h=(j|0)==0;if(i){if(h){e=1;break}e=(lO(l,d,j)|0)==0;break}if(h){e=1;break}if((b[d>>0]|0)!=(k&255)<<24>>24){e=0;break}while(1){e=e+-1|0;g=g+1|0;if(!e){e=1;break e}d=d+1|0;if((b[g>>0]|0)!=(b[d>>0]|0)){e=0;break}}}else e=0;while(0);_P(M)}else e=1;_P(O);m=m+1|0;if(e|m>>>0>=q>>>0)break d}if((P|0)==85)d=Ya()|0;else if((P|0)==86){d=Ya()|0;_P(B)}else if((P|0)==94){d=Ya()|0;P=107}else if((P|0)==95){d=Ya()|0;P=106}else if((P|0)==96){d=Ya()|0;_P(H);P=106}if((P|0)==106){_P(M);P=107}if((P|0)==107)_P(O);break b}while(0);x=0;n=qa(318,88)|0;C=x;x=0;if(C&1){d=Ya()|0;break}q=O;d=(f[t>>2]|0)+12|0;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));x=0;Fa(427,n|0);C=x;x=0;do if(C&1)d=Ya()|0;else{q=n+12|0;d=O;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));f[n>>2]=6976;f[n+52>>2]=0;f[n+56>>2]=0;b[n+60>>0]=0;m=n+64|0;f[m>>2]=6936;i=n+68|0;j=n+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);C=x;x=0;if(C&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{O=g+-8|0;f[j>>2]=O;Kc[f[f[O>>2]>>2]&511](O);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[n>>2]=6780;f[m>>2]=6880;b[n+84>>0]=0;f:do if(!e){d=(f[t>>2]|0)+72|0;if(!(FO(d,49278)|0))break;if(!(FO(d,49297)|0))break;if(!(FO(d,49313)|0))break;if(!(FO(d,49327)|0))break;d=f[t>>2]|0;if(!d)g=0;else g=(f[139]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;l=qa(318,88)|0;C=x;x=0;g:do if(!(C&1)){x=0;Ga(462,J|0,f[d+68>>2]|0);C=x;x=0;h:do if(C&1)d=Ya()|0;else{f[J>>2]=7280;d=f[t>>2]|0;do if(!(f[J+4>>2]|0)){q=D;d=d+12|0;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));k=0;d=D}else{x=0;Ga(462,K|0,f[d+68>>2]|0);C=x;x=0;if(C&1){d=Ya()|0;_P(J);break h}else{f[K>>2]=7280;q=D;d=(f[K+4>>2]|0)+12|0;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));k=1;d=D;break}}while(0);q=M;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));x=0;Fa(427,l|0);D=x;x=0;do if(D&1){d=1;P=155}else{q=l+12|0;d=M;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));f[l>>2]=6976;f[l+52>>2]=0;f[l+56>>2]=0;b[l+60>>0]=0;d=l+64|0;f[d>>2]=6936;i=l+68|0;j=l+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);D=x;x=0;if(D&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{P=g+-8|0;f[j>>2]=P;Kc[f[f[P>>2]>>2]&511](P);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}e=1;P=156;break}f[l>>2]=6780;f[d>>2]=6880;b[l+84>>0]=0;x=0;Ga(462,F|0,l|0);D=x;x=0;if(D&1){d=0;P=155;break}f[F>>2]=7280;d=g+64|0;e=g+68|0;if(!(f[e>>2]|0))P=142;else{x=0;Fa(429,d|0);D=x;x=0;if(!(D&1))P=142}do if((P|0)==142){f[e>>2]=f[F+4>>2];x=0;Fa(430,d|0);D=x;x=0;if(D&1)break;x=0;Ga(462,E|0,f[e>>2]|0);D=x;x=0;if(D&1)break;f[E>>2]=7280;_P(E);_P(F);if(k)_P(K);_P(J);d=f[(f[m>>2]|0)+20>>2]|0;x=0;Ga(462,G|0,g|0);K=x;x=0;if(K&1)break g;f[G>>2]=6920;x=0;Ga(d|0,m|0,G|0);K=x;x=0;if(K&1){d=Ya()|0;_P(G);break b}else{_P(G);break f}}while(0);d=Ya()|0;_P(F);e=0}while(0);if((P|0)==155){O=Ya()|0;e=d;d=O;P=156}if(k){_P(K);_P(J);if(e)break;else break b}else{_P(J);if(e)break;else break b}}while(0);Hta(l);break b}while(0);d=Ya()|0;break b}while(0);x=0;Ga(462,O|0,f[(f[t>>2]|0)+68>>2]|0);K=x;x=0;if(K&1)d=Ya()|0;else{f[O>>2]=7280;e=O+4|0;d=f[e>>2]|0;i:do if(!d){x=0;k=qa(318,88)|0;K=x;x=0;j:do if(K&1)P=180;else{q=H;d=(f[t>>2]|0)+12|0;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));x=0;Fa(427,k|0);K=x;x=0;if(K&1)d=Ya()|0;else{q=k+12|0;d=H;h=q+40|0;do{f[q>>2]=f[d>>2];q=q+4|0;d=d+4|0}while((q|0)<(h|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);K=x;x=0;if(!(K&1)){f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,M|0,k|0);K=x;x=0;if(K&1){P=180;break}f[M>>2]=7280;do if(f[e>>2]|0){x=0;Fa(429,O|0);K=x;x=0;if(!(K&1))break;d=Ya()|0;_P(M);break j}while(0);d=M+4|0;f[e>>2]=f[d>>2];f[d>>2]=0;_P(M);d=f[e>>2]|0;P=185;break i}d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{N=g+-8|0;f[j>>2]=N;Kc[f[f[N>>2]>>2]&511](N);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}}Hta(k)}while(0);if((P|0)==180)d=Ya()|0}else P=185;while(0);if((P|0)==185){x=0;d=ta(158,a|0,d|0,f[t>>2]|0)|0;P=x;x=0;k:do if(P&1)P=190;else{x=0;Ga(462,M|0,d|0);P=x;x=0;if(P&1){P=190;break}f[M>>2]=7280;h=M+4|0;e=f[h>>2]|0;i=(f[e+72>>2]|0)-(f[e+68>>2]|0)>>3;l:do if(i|0){d=0;while(1){g=f[(f[m>>2]|0)+20>>2]|0;e=e+64|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,d|0)|0;P=x;x=0;if(P&1){P=191;break}x=0;Ga(462,L|0,f[e+4>>2]|0);P=x;x=0;if(P&1){P=191;break}f[L>>2]=6920;x=0;Ga(g|0,m|0,L|0);P=x;x=0;if(P&1){P=197;break}_P(L);d=d+1|0;if(d>>>0>=i>>>0)break l;e=f[h>>2]|0}if((P|0)==191)d=Ya()|0;else if((P|0)==197){d=Ya()|0;_P(L)}_P(M);break k}while(0);_P(M);_P(O);_P(Q);Q=n;u=N;return Q|0}while(0);if((P|0)==190)d=Ya()|0}_P(O)}break b}while(0);Hta(n)}while(0);if((P|0)==70)d=Ya()|0;_P(Q);break a}while(0);d=Ya()|0;_P(m)}_P(o);if(g)P=63}while(0);if((P|0)==63)_P(t);_P(y)}_P(z)}if((b[A+11>>0]|0)<0){Hta(f[A>>2]|0);if(e){P=69;break}else break}else if(e){P=69;break}else break}while(0);if((P|0)==69)Hta(i);Q=d;jb(Q|0)}}Q=c;u=N;return Q|0}function Hd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;z=0;t=u;u=u+128|0;w=t+112|0;s=t+108|0;l=t+96|0;i=t+84|0;j=t+72|0;k=t+60|0;m=t+36|0;n=t+24|0;p=t+48|0;q=t+12|0;r=t;f[a>>2]=16264;ma=a+4|0;xp(ma);o=a+16|0;f[o>>2]=c;ka=a+20|0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;la=ka+11|0;b[la>>0]=0;b[ka>>0]=0;f[a+32>>2]=0;ja=a+36|0;x=0;Fa(441,ja|0);ia=x;x=0;if(ia&1)c=Ya()|0;else{ia=a+72|0;x=0;Ga(545,ia|0,f[o>>2]|0);ha=x;x=0;if(ha&1)c=Ya()|0;else{ga=a+204|0;ha=a+208|0;da=a+216|0;fa=a+220|0;aa=a+228|0;ea=a+232|0;ba=a+240|0;f[a+244>>2]=0;f[a+248>>2]=0;ca=a+244|0;c=ga;d=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[ba>>2]=ca;_=a+252|0;$=a+256|0;Y=a+268|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[a+264>>2]=Y;W=a+276|0;Z=a+280|0;V=a+288|0;X=a+292|0;T=a+300|0;U=a+304|0;R=a+316|0;S=a+320|0;P=a+328|0;Q=a+332|0;N=a+340|0;O=a+344|0;L=a+352|0;M=a+356|0;J=a+364|0;K=a+368|0;F=a+376|0;H=a+380|0;D=a+388|0;G=a+392|0;C=a+400|0;E=a+404|0;B=a+412|0;AD(W|0,0,136)|0;x=0;e=sa(996,f[(f[o>>2]|0)+12>>2]|0,50909)|0;A=x;x=0;do if(A&1)z=127;else{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279){x=0;Fa(428,B|0);x=0;z=127;break}if(g>>>0<11){b[B+11>>0]=g;if(!g)c=B;else{c=B;z=10}}else{d=g+16&-16;x=0;c=qa(318,d|0)|0;A=x;x=0;if(A&1){z=127;break}f[B>>2]=c;f[a+420>>2]=d|-2147483648;f[a+416>>2]=g;z=10}if((z|0)==10)Lu(c|0,e|0,g|0)|0;b[c+g>>0]=0;A=a+424|0;x=0;e=sa(996,f[(f[o>>2]|0)+16>>2]|0,51444)|0;y=x;x=0;do if(y&1)z=128;else{f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279){x=0;Fa(428,A|0);x=0;z=128;break}if(g>>>0<11){b[A+11>>0]=g;if(!g)c=A;else{c=A;z=18}}else{d=g+16&-16;x=0;c=qa(318,d|0)|0;z=x;x=0;if(z&1){z=128;break}f[A>>2]=c;f[a+432>>2]=d|-2147483648;f[a+428>>2]=g;z=18}if((z|0)==18)Lu(c|0,e|0,g|0)|0;b[c+g>>0]=0;y=a+436|0;e=f[(f[o>>2]|0)+28>>2]|0;e=e|0?e:89823;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,i|0);x=0;z=129}else{if(g>>>0<11){c=i+11|0;b[c>>0]=g;if(!g){d=i;e=c}else{d=i;z=25}}else{c=g+16&-16;x=0;d=qa(318,c|0)|0;z=x;x=0;if(z&1){z=129;break}f[i>>2]=d;f[i+8>>2]=c|-2147483648;f[i+4>>2]=g;c=i+11|0;z=25}if((z|0)==25){Lu(d|0,e|0,g|0)|0;e=c}b[d+g>>0]=0;v=b[e>>0]|0;if(!((v<<24>>24<0?f[i+4>>2]|0:v&255)|0)){x=0;c=wa(21,i|0,0,-1,89823,0)|0;v=x;x=0;if(v&1){v=Za(0)|0;soa(v)}if(!c){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;b[j+11>>0]=5;b[j>>0]=b[52687]|0;b[j+1>>0]=b[52688]|0;b[j+2>>0]=b[52689]|0;b[j+3>>0]=b[52690]|0;b[j+4>>0]=b[52691]|0;b[j+5>>0]=0}else z=31}else z=31;if((z|0)==31){x=0;Ga(459,j|0,i|0);v=x;x=0;if(v&1){c=Ya()|0;d=I;if((b[e>>0]|0)<0)Hta(f[i>>2]|0);z=130;break}}if((b[e>>0]|0)<0)Hta(f[i>>2]|0);x=0;Ga(540,y|0,j|0);v=x;x=0;if(v&1){c=Ya()|0;d=I;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);v=a+448|0;e=f[(f[o>>2]|0)+32>>2]|0;e=e|0?e:89823;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,l|0);x=0;z=133}else{if(g>>>0<11){c=l+11|0;b[c>>0]=g;if(!g){d=l;j=c}else{d=l;z=46}}else{c=g+16&-16;x=0;d=qa(318,c|0)|0;z=x;x=0;if(z&1){z=133;break}f[l>>2]=d;f[l+8>>2]=c|-2147483648;f[l+4>>2]=g;c=l+11|0;z=46}if((z|0)==46){Lu(d|0,e|0,g|0)|0;j=c}b[d+g>>0]=0;z=b[j>>0]|0;i=l+4|0;a:do if(!((z<<24>>24<0?f[i>>2]|0:z&255)|0)){x=0;c=wa(21,l|0,0,-1,89823,0)|0;z=x;x=0;if(z&1){z=Za(0)|0;soa(z)}if(c|0){z=71;break}e=y+11|0;d=b[e>>0]|0;g=a+440|0;c=f[g>>2]|0;if(!((d<<24>>24<0?c:d&255)|0)){x=0;c=wa(21,y|0,0,-1,89823,0)|0;z=x;x=0;if(z&1){z=Za(0)|0;soa(z)}if(!c){z=71;break}d=b[e>>0]|0;c=f[g>>2]|0}z=d<<24>>24<0;e=z?f[y>>2]|0:y;g=e;c=e+(z?c:d&255)|0;while(1){if((c|0)==(e|0)){z=59;break}c=c+-1|0;if(HB(56925,h[c>>0]|0,1)|0){z=60;break}}do if((z|0)==59)z=62;else if((z|0)==60){c=c-g|0;if((c|0)<=-1){z=62;break}x=0;Ka(4,w|0,y|0,0,c|0,y|0);z=x;x=0;if(z&1)z=67;else z=63}while(0);if((z|0)==62){x=0;Ga(459,w|0,y|0);z=x;x=0;if(z&1)z=67;else z=63}do if((z|0)==63){x=0;Ia(79,k|0,w|0,43514);i=x;x=0;if(i&1){c=Ya()|0;d=I;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);break a}else if((z|0)==67){c=Ya()|0;d=I}while(0);z=80}else z=71;while(0);b:do if((z|0)==71){g=b[j>>0]|0;do if(!((g<<24>>24<0?f[i>>2]|0:g&255)|0)){x=0;c=wa(21,l|0,0,-1,89823,0)|0;i=x;x=0;if(i&1){i=Za(0)|0;soa(i)}if(c|0)break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;b[k+11>>0]=6;b[k>>0]=b[35779]|0;b[k+1>>0]=b[35780]|0;b[k+2>>0]=b[35781]|0;b[k+3>>0]=b[35782]|0;b[k+4>>0]=b[35783]|0;b[k+5>>0]=b[35784]|0;b[k+6>>0]=0;break b}while(0);x=0;Ga(459,k|0,l|0);i=x;x=0;if(!(i&1))break;c=Ya()|0;d=I;z=80}while(0);if((z|0)==80){if((b[j>>0]|0)<0)Hta(f[l>>2]|0);z=134;break}if((b[j>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(540,v|0,k|0);l=x;x=0;if(l&1){c=Ya()|0;d=I;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);l=a+460|0;x=0;e=sa(996,f[(f[o>>2]|0)+60>>2]|0,89823)|0;k=x;x=0;do if(k&1)z=137;else{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279){x=0;Fa(428,m|0);x=0;z=137;break}if(g>>>0<11){b[m+11>>0]=g;if(!g)c=m;else{c=m;z=93}}else{d=g+16&-16;x=0;c=qa(318,d|0)|0;z=x;x=0;if(z&1){z=137;break}f[m>>2]=c;f[m+8>>2]=d|-2147483648;f[m+4>>2]=g;z=93}if((z|0)==93)Lu(c|0,e|0,g|0)|0;b[c+g>>0]=0;x=0;Ga(540,l|0,m|0);k=x;x=0;if(k&1){c=Ya()|0;d=I;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);k=a+472|0;x=0;e=sa(996,f[(f[o>>2]|0)+64>>2]|0,89823)|0;m=x;x=0;do if(m&1)z=140;else{f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279){x=0;Fa(428,n|0);x=0;z=140;break}if(g>>>0<11){b[n+11>>0]=g;if(!g)c=n;else{c=n;z=104}}else{d=g+16&-16;x=0;c=qa(318,d|0)|0;z=x;x=0;if(z&1){z=140;break}f[n>>2]=c;f[n+8>>2]=d|-2147483648;f[n+4>>2]=g;z=104}if((z|0)==104)Lu(c|0,e|0,g|0)|0;b[c+g>>0]=0;x=0;Ga(540,k|0,n|0);m=x;x=0;if(m&1){c=Ya()|0;d=I;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);x=0;Ga(546,a|0,f[(f[o>>2]|0)+36>>2]|0);n=x;x=0;c:do if(n&1)z=143;else{d=f[o>>2]|0;c=f[d+48>>2]|0;if(!c)c=d;else{do{x=0;Ga(546,a|0,f[c+4>>2]|0);n=x;x=0;if(n&1){z=143;break c}c=f[c>>2]|0}while((c|0)!=0);c=f[o>>2]|0}x=0;Ga(547,a|0,f[c+40>>2]|0);n=x;x=0;if(n&1){z=143;break}d=f[o>>2]|0;c=f[d+52>>2]|0;if(!c)c=d;else{do{x=0;Ga(547,a|0,f[c+4>>2]|0);n=x;x=0;if(n&1){z=143;break c}c=f[c>>2]|0}while((c|0)!=0);c=f[o>>2]|0}x=0;Ga(548,a|0,f[c+44>>2]|0);n=x;x=0;if(n&1){z=143;break}c=f[(f[o>>2]|0)+56>>2]|0;if(c|0)do{x=0;Ga(548,a|0,f[c+4>>2]|0);o=x;x=0;if(o&1){z=143;break c}c=f[c>>2]|0}while((c|0)!=0);c=f[N>>2]|0;d=f[O>>2]|0;d:do if((c|0)!=(d|0)){e=w+11|0;while(1){x=0;Ga(459,w|0,c|0);o=x;x=0;if(o&1){z=149;break}x=0;sa(997,ja|0,w|0)|0;o=x;x=0;if(o&1){z=150;break}if((b[e>>0]|0)<0)Hta(f[w>>2]|0);c=c+12|0;if((c|0)==(d|0))break d}do if((z|0)==149){c=Ya()|0;d=I}else if((z|0)==150){c=Ya()|0;d=I;if((b[e>>0]|0)>=0)break;Hta(f[w>>2]|0)}while(0);break c}while(0);x=0;Ga(549,p|0,ja|0);o=x;x=0;if(o&1){c=Ya()|0;d=I;break}c=f[p>>2]|0;j=p+4|0;g=f[j>>2]|0;do if((c|0)!=(g|0)){i=a+384|0;while(1){d=f[c>>2]|0;f[w>>2]=d;e=f[H>>2]|0;if((e|0)==(f[i>>2]|0)){x=0;Ga(550,F|0,w|0);o=x;x=0;if(o&1)break}else{f[e>>2]=d;f[H>>2]=(f[H>>2]|0)+4}c=c+4|0;if((c|0)==(g|0)){z=155;break}}if((z|0)==155){c=f[p>>2]|0;break}c=Ya()|0;d=I;e=f[p>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0))f[j>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}break c}while(0);if(c|0){d=f[j>>2]|0;if((d|0)!=(c|0))f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}x=0;Ga(549,q|0,a+48|0);p=x;x=0;if(p&1){c=Ya()|0;d=I;break}c=f[q>>2]|0;j=q+4|0;g=f[j>>2]|0;do if((c|0)!=(g|0)){i=a+396|0;while(1){d=f[c>>2]|0;f[w>>2]=d;e=f[G>>2]|0;if((e|0)==(f[i>>2]|0)){x=0;Ga(550,D|0,w|0);p=x;x=0;if(p&1)break}else{f[e>>2]=d;f[G>>2]=(f[G>>2]|0)+4}c=c+4|0;if((c|0)==(g|0)){z=173;break}}if((z|0)==173){c=f[q>>2]|0;break}c=Ya()|0;d=I;e=f[q>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0))f[j>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}break c}while(0);if(c|0){d=f[j>>2]|0;if((d|0)!=(c|0))f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}x=0;Ga(551,r|0,a+60|0);q=x;x=0;if(q&1){c=Ya()|0;d=I;break}c=f[r>>2]|0;j=r+4|0;g=f[j>>2]|0;do if((c|0)!=(g|0)){i=a+408|0;while(1){d=f[c>>2]|0;f[w>>2]=d;e=f[E>>2]|0;if((e|0)==(f[i>>2]|0)){x=0;Ga(552,C|0,w|0);q=x;x=0;if(q&1)break}else{f[e>>2]=d;f[E>>2]=(f[E>>2]|0)+4}c=c+4|0;if((c|0)==(g|0)){z=191;break}}if((z|0)==191){c=f[r>>2]|0;break}c=Ya()|0;d=I;e=f[r>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0))f[j>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}break c}while(0);if(c|0){d=f[j>>2]|0;if((d|0)!=(c|0))f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);Hta(c)}q=f[F>>2]|0;r=f[H>>2]|0;f[s>>2]=998;x=0;Ia(99,q|0,r|0,s|0);s=x;x=0;if(s&1){z=143;break}r=f[D>>2]|0;s=f[G>>2]|0;f[w>>2]=998;x=0;Ia(99,r|0,s|0,w|0);s=x;x=0;if(s&1){z=143;break}x=0;Ja(17,w|0,v|0,l|0,ma|0);s=x;x=0;do if(s&1){c=Ya()|0;d=I}else{x=0;Ga(553,a+76|0,w|0);s=x;x=0;if(s&1){c=Ya()|0;d=I;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}if((b[w+11>>0]|0)>=0){u=t;return}Hta(f[w>>2]|0);u=t;return}while(0)}while(0);if((z|0)==143){c=Ya()|0;d=I}if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0)}while(0);if((z|0)==140){c=Ya()|0;d=I}if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0)}while(0);if((z|0)==137){c=Ya()|0;d=I}if((b[v+11>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0);if((z|0)==133){c=Ya()|0;d=I;z=134}if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0)}while(0);if((z|0)==129){c=Ya()|0;d=I;z=130}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0)}while(0);if((z|0)==128){c=Ya()|0;d=I}if((b[B+11>>0]|0)<0){Hta(f[B>>2]|0);i=d}else i=d}while(0);if((z|0)==127){c=Ya()|0;i=I}d=f[C>>2]|0;if(d|0){e=f[E>>2]|0;if((e|0)!=(d|0))f[E>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}d=f[D>>2]|0;if(d|0){e=f[G>>2]|0;if((e|0)!=(d|0))f[G>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}d=f[F>>2]|0;if(d|0){e=f[H>>2]|0;if((e|0)!=(d|0))f[H>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}d=f[J>>2]|0;if(d|0){e=f[K>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[K>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[K>>2]|0}}while((e|0)!=(d|0));d=f[J>>2]|0}Hta(d)}d=f[L>>2]|0;if(d|0){e=f[M>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[M>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[M>>2]|0}}while((e|0)!=(d|0));d=f[L>>2]|0}Hta(d)}d=f[N>>2]|0;if(d|0){e=f[O>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[O>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[O>>2]|0}}while((e|0)!=(d|0));d=f[N>>2]|0}Hta(d)}d=f[P>>2]|0;if(d|0){e=f[Q>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[Q>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[Q>>2]|0}}while((e|0)!=(d|0));d=f[P>>2]|0}Hta(d)}d=f[R>>2]|0;if(d|0){e=f[S>>2]|0;if((e|0)!=(d|0)){do{e=e+-12|0;f[S>>2]=e;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[S>>2]|0}}while((e|0)!=(d|0));d=f[R>>2]|0}Hta(d)}d=f[T>>2]|0;if(d|0){e=f[U>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[U>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[U>>2]|0}else e=g}while((e|0)!=(d|0));d=f[T>>2]|0}Hta(d)}d=f[V>>2]|0;if(d|0){e=f[X>>2]|0;if((e|0)!=(d|0))f[X>>2]=e+(~(((e+-24-d|0)>>>0)/24|0)*24|0);Hta(d)}d=f[W>>2]|0;if(d|0){e=f[Z>>2]|0;if((e|0)!=(d|0))f[Z>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}EA(a+264|0,f[Y>>2]|0);d=f[_>>2]|0;if(d|0){e=f[$>>2]|0;if((e|0)!=(d|0)){do{a=e+-16|0;f[$>>2]=a;_P(e+-8|0);_P(a);e=f[$>>2]|0}while((e|0)!=(d|0));d=f[_>>2]|0}Hta(d)}XE(ba,f[ca>>2]|0);d=f[aa>>2]|0;if(d|0){e=f[ea>>2]|0;if((e|0)!=(d|0))f[ea>>2]=e+(~((e+-8-d|0)>>>3)<<3);Hta(d)}d=f[da>>2]|0;if(d|0){e=f[fa>>2]|0;if((e|0)!=(d|0))f[fa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Hta(d)}d=f[ga>>2]|0;if(d|0){e=f[ha>>2]|0;if((e|0)!=(d|0)){do{fa=e+-8|0;f[ha>>2]=fa;Kc[f[f[fa>>2]>>2]&511](fa);e=f[ha>>2]|0}while((e|0)!=(d|0));d=f[ga>>2]|0}Hta(d)}zM(ia)}ut(ja)}if((b[la>>0]|0)<0)Hta(f[ka>>2]|0);if((b[ma+11>>0]|0)>=0)jb(c|0);Hta(f[ma>>2]|0);jb(c|0)}function Id(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,Ja=0;Da=0;xa=u;u=u+352|0;ya=xa+80|0;ma=xa+40|0;Ca=xa;Ja=xa+336|0;Ha=xa+320|0;Ea=xa+312|0;na=xa+304|0;pa=xa+296|0;Y=xa+280|0;Z=xa+272|0;_=xa+256|0;$=xa+248|0;ra=xa+232|0;Ba=xa+288|0;Aa=xa+264|0;aa=xa+224|0;wa=xa+216|0;ua=xa+208|0;ba=xa+200|0;ca=xa+192|0;da=xa+184|0;ea=xa+176|0;fa=xa+168|0;ga=xa+160|0;ha=xa+152|0;za=xa+240|0;ia=xa+144|0;ja=xa+136|0;ka=xa+128|0;va=xa+120|0;qV(Ja,0);f[Ja>>2]=18608;x=0;Ia(140,Ha|0,0,c|0);oa=x;x=0;if(oa&1){Ha=Ya()|0;_P(Ja);jb(Ha|0)}x=0;k=qa(318,88)|0;oa=x;x=0;a:do if(oa&1)Da=17;else{la=c+12|0;j=Ca;l=la;m=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));x=0;Fa(427,k|0);oa=x;x=0;do if(oa&1){e=Ya()|0;c=I}else{j=k+12|0;l=Ca;m=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;e=k+64|0;f[e>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);oa=x;x=0;if(oa&1){e=Ya()|0;c=I;g=f[i>>2]|0;if(g|0){h=f[j>>2]|0;if((h|0)!=(g|0)){do{Ea=h+-8|0;f[j>>2]=Ea;Kc[f[f[Ea>>2]>>2]&511](Ea);h=f[j>>2]|0}while((h|0)!=(g|0));g=f[i>>2]|0}Hta(g)}break}f[k>>2]=6780;f[e>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,Ea|0,k|0);oa=x;x=0;if(oa&1){Da=17;break a}f[Ea>>2]=7280;oa=Ha+4|0;X=(f[oa>>2]|0)-(f[Ha>>2]|0)|0;y=(X|0)/12|0;b:do if(!X){e=Ea+4|0;Da=15}else{z=(d|0)==0;e=Ea+4|0;A=Ca+4|0;B=pa+4|0;C=Ja+4|0;D=ya+4|0;E=_+4|0;F=d+56|0;G=ra+4|0;H=Y+4|0;J=Ba+4|0;K=(d|0)!=0;L=Aa+4|0;M=d+52|0;N=wa+4|0;O=ua+4|0;P=ba+4|0;Q=da+4|0;R=ya+4|0;S=ea+4|0;T=ha+4|0;U=ga+4|0;V=ca+4|0;W=c+68|0;X=c+72|0;t=c+84|0;v=za+4|0;w=ya+4|0;q=va+4|0;r=ma+4|0;s=aa+4|0;p=0;c:while(1){o=f[Ha>>2]|0;o=o+(p*12|0)|0;c=b[o>>0]|0;x=0;Ga(462,Ca|0,f[o+8>>2]|0);o=x;x=0;if(o&1){Da=27;break}f[Ca>>2]=7280;d:do if(!(c<<24>>24)){if(z){c=(f[e>>2]|0)+64|0;g=f[(f[c>>2]|0)+20>>2]|0;x=0;Ga(462,pa|0,f[A>>2]|0);o=x;x=0;if(o&1){Da=28;break c}f[pa>>2]=7280;x=0;Ga(462,na|0,f[B>>2]|0);o=x;x=0;if(o&1){Da=29;break c}f[na>>2]=6920;x=0;Ga(g|0,c|0,na|0);o=x;x=0;if(o&1){Da=30;break c}_P(na);_P(pa);break}c=f[C>>2]|0;if(c|0){x=0;Ga(462,Y|0,f[c+68>>2]|0);o=x;x=0;if(o&1){Da=28;break c}f[Y>>2]=7280;n=(f[H>>2]|0)+64|0;o=f[A>>2]|0;x=0;Ga(f[(f[n>>2]|0)+24>>2]|0,n|0,((o|0)==0?0:o+64|0)|0);o=x;x=0;if(o&1){Da=36;break c}_P(Y);break}x=0;c=qa(f[(f[d>>2]|0)+12>>2]|0,d|0)|0;o=x;x=0;if(o&1){Da=51;break c}x=0;c=qa(346,c|0)|0;o=x;x=0;if(o&1){Da=51;break c}x=0;Ga(462,ya|0,c|0);o=x;x=0;if(o&1){Da=51;break c}f[ya>>2]=18608;if(f[C>>2]|0){x=0;Fa(429,Ja|0);o=x;x=0;if(o&1){Da=52;break c}}f[C>>2]=f[D>>2];f[D>>2]=0;_P(ya);c=f[C>>2]|0;x=0;Ga(462,_|0,f[A>>2]|0);o=x;x=0;if(o&1){Da=28;break c}f[_>>2]=7280;g=c+64|0;c=c+68|0;if(f[c>>2]|0){x=0;Fa(429,g|0);o=x;x=0;if(o&1){Da=54;break c}}f[c>>2]=f[E>>2];x=0;Fa(430,g|0);o=x;x=0;if(o&1){Da=54;break c}x=0;Ga(462,Z|0,f[c>>2]|0);o=x;x=0;if(o&1){Da=54;break c}f[Z>>2]=7280;_P(Z);_P(_);o=f[C>>2]|0;f[o+56>>2]=f[F>>2];c=(f[e>>2]|0)+64|0;g=f[(f[c>>2]|0)+20>>2]|0;x=0;Ga(462,ra|0,o|0);o=x;x=0;if(o&1){Da=28;break c}f[ra>>2]=18608;x=0;Ga(462,$|0,f[G>>2]|0);o=x;x=0;if(o&1){Da=55;break c}f[$>>2]=6920;x=0;Ga(g|0,c|0,$|0);o=x;x=0;if(o&1){Da=56;break c}_P($);_P(ra)}else{g=f[A>>2]|0;o=(f[g+72>>2]|0)-(f[g+68>>2]|0)>>3;if(o|0){c=0;while(1){g=g+64|0;x=0;g=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,c|0)|0;n=x;x=0;if(n&1){Da=66;break c}x=0;Ga(462,Ba|0,f[g+4>>2]|0);n=x;x=0;if(n&1){Da=66;break c}f[Ba>>2]=6920;g=f[J>>2]|0;if(!g)g=0;else g=(f[121]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;x=0;Ga(462,Aa|0,g|0);n=x;x=0;if(n&1){Da=67;break c}f[Aa>>2]=18624;if(K)h=(f[129]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;else h=0;g=f[L>>2]|0;if(!g)g=0;else{x=0;Ga(462,aa|0,f[g+68>>2]|0);n=x;x=0;if(n&1){Da=68;break c}f[aa>>2]=6920;g=f[s>>2]|0;if(!g)g=0;else g=(f[129]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;_P(aa)}do if(K){if((f[M>>2]|0)!=2){Da=85;break}x=0;Ga(462,wa|0,f[(f[L>>2]|0)+68>>2]|0);n=x;x=0;if(n&1){Da=68;break c}f[wa>>2]=6920;if((f[(f[N>>2]|0)+52>>2]|0)!=2){_P(wa);Da=85;break}if((h|0)!=0&(g|0)!=0){x=0;Ga(462,ua|0,f[h+76>>2]|0);n=x;x=0;if(n&1){Da=87;break c}f[ua>>2]=7584;h=f[O>>2]|0;i=f[(f[h>>2]|0)+92>>2]|0;x=0;Ga(462,ba|0,f[g+76>>2]|0);n=x;x=0;if(n&1){Da=88;break c}f[ba>>2]=7584;x=0;g=sa(i|0,h|0,f[P>>2]|0)|0;n=x;x=0;if(n&1){Da=89;break c}_P(ba);_P(ua);_P(wa);if(g){Da=85;break}}else _P(wa);x=0;Ga(462,da|0,f[(f[L>>2]|0)+68>>2]|0);n=x;x=0;if(n&1){Da=98;break c}f[da>>2]=6920;g=f[Q>>2]|0;if(!g)g=0;else g=(f[129]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;h=f[129]|0;x=0;g=ta(159,a|0,g|0,((h|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0)|0)|0;n=x;x=0;if(n&1){Da=99;break c}x=0;Ga(462,ya|0,g|0);n=x;x=0;if(n&1){Da=99;break c}f[ya>>2]=7584;_P(da);n=f[R>>2]|0;if((f[n+68>>2]|0)==(f[n+64>>2]|0)){_P(ya);break}x=0;Ga(462,ea|0,f[(f[L>>2]|0)+68>>2]|0);n=x;x=0;if(n&1){Da=111;break c}f[ea>>2]=6920;g=f[S>>2]|0;do if(!g)Da=104;else{if((h|0)!=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)){Da=104;break}_P(ea);x=0;Ga(462,ga|0,f[R>>2]|0);n=x;x=0;if(n&1){Da=111;break c}f[ga>>2]=7584;h=g+72|0;g=g+76|0;if(f[g>>2]|0){x=0;Fa(429,h|0);n=x;x=0;if(n&1){Da=112;break c}}f[g>>2]=f[U>>2];x=0;Fa(430,h|0);n=x;x=0;if(n&1){Da=112;break c}x=0;Ga(462,fa|0,f[g>>2]|0);n=x;x=0;if(n&1){Da=112;break c}f[fa>>2]=7584;_P(fa);_P(ga)}while(0);if((Da|0)==104)_P(ea);x=0;Ga(462,ha|0,f[(f[L>>2]|0)+68>>2]|0);Da=x;x=0;if(Da&1){Da=100;break c}f[ha>>2]=6920;k=f[T>>2]|0;_P(ha);_P(ya);Da=118}else Da=85;while(0);if((Da|0)==85){x=0;Ga(462,ca|0,f[(f[L>>2]|0)+68>>2]|0);Da=x;x=0;if(Da&1){Da=68;break c}f[ca>>2]=6920;k=f[V>>2]|0;_P(ca);Da=118}do if((Da|0)==118){Da=0;if(!k)break;m=k+56|0;n=f[L>>2]|0;f[m>>2]=(f[n+56>>2]|0)+(f[m>>2]|0);b[k+60>>0]=b[n+72>>0]|0;x=0;n=qa(318,88)|0;m=x;x=0;if(m&1){Da=150;break c}g=f[X>>2]|0;h=f[W>>2]|0;i=b[t>>0]|0;j=ya;l=la;m=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));x=0;Fa(427,n|0);m=x;x=0;if(m&1){Da=151;break c}h=g-h>>3;j=n+12|0;l=ya;m=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));f[n>>2]=6976;f[n+52>>2]=0;f[n+56>>2]=0;b[n+60>>0]=0;g=n+64|0;f[g>>2]=6936;j=n+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(568,j|0,h|0);m=x;x=0;if(m&1){Da=122;break c}f[n>>2]=6780;f[g>>2]=6880;b[n+84>>0]=i;x=0;Ga(462,za|0,n|0);n=x;x=0;if(n&1){Da=150;break c}f[za>>2]=7280;h=(f[v>>2]|0)+64|0;i=f[(f[h>>2]|0)+20>>2]|0;x=0;g=sa(f[(f[k>>2]|0)+52>>2]|0,k|0,a|0)|0;n=x;x=0;if(n&1){Da=153;break c}x=0;Ga(462,ia|0,g|0);n=x;x=0;if(n&1){Da=153;break c}f[ia>>2]=6920;x=0;Ga(i|0,h|0,ia|0);n=x;x=0;if(n&1){Da=154;break c}_P(ia);x=0;k=qa(318,88)|0;n=x;x=0;if(n&1){Da=155;break c}g=f[X>>2]|0;h=f[W>>2]|0;i=b[t>>0]|0;j=ma;l=la;m=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));x=0;Fa(427,k|0);n=x;x=0;if(n&1){Da=156;break c}h=g-h>>3;j=k+12|0;l=ma;m=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;g=k+64|0;f[g>>2]=6936;j=k+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(568,j|0,h|0);n=x;x=0;if(n&1){Da=135;break c}f[k>>2]=6780;f[g>>2]=6880;b[k+84>>0]=i;x=0;Ga(462,ya|0,k|0);n=x;x=0;if(n&1){Da=155;break c}f[ya>>2]=7280;x=0;g=sa(1045,a|0,f[v>>2]|0)|0;n=x;x=0;if(n&1){Da=158;break c}h=(f[w>>2]|0)+64|0;i=f[(f[h>>2]|0)+20>>2]|0;x=0;Ga(462,ja|0,g|0);n=x;x=0;if(n&1){Da=158;break c}f[ja>>2]=6920;x=0;Ga(i|0,h|0,ja|0);n=x;x=0;if(n&1){Da=159;break c}_P(ja);if((f[g+72>>2]|0)!=(f[g+68>>2]|0)){x=0;Ga(462,ma|0,0);n=x;x=0;if(n&1){Da=160;break c}f[ma>>2]=18608;if(f[C>>2]|0){x=0;Fa(429,Ja|0);n=x;x=0;if(n&1){Da=161;break c}}f[C>>2]=f[r>>2];f[r>>2]=0;_P(ma)}g=f[w>>2]|0;if(g|0){h=(f[e>>2]|0)+64|0;i=f[(f[h>>2]|0)+20>>2]|0;x=0;Ga(462,va|0,g|0);n=x;x=0;if(n&1){Da=158;break c}f[va>>2]=7280;x=0;Ga(462,ka|0,f[q>>2]|0);n=x;x=0;if(n&1){Da=168;break c}f[ka>>2]=6920;x=0;Ga(i|0,h|0,ka|0);n=x;x=0;if(n&1){Da=169;break c}_P(ka);_P(va)}_P(ya);_P(za)}while(0);_P(Aa);_P(Ba);c=c+1|0;if(c>>>0>=o>>>0)break d;g=f[A>>2]|0}}}while(0);_P(Ca);p=p+1|0;if(p>>>0>=y>>>0){Da=15;break b}}switch(Da|0){case 27:{e=Ya()|0;c=I;break}case 28:{e=Ya()|0;c=I;Da=182;break}case 29:{e=Ya()|0;c=I;Da=31;break}case 30:{e=Ya()|0;c=I;_P(na);Da=31;break}case 36:{e=Ya()|0;c=I;_P(Y);Da=182;break}case 51:{e=Ya()|0;c=I;Da=53;break}case 52:{e=Ya()|0;c=I;_P(ya);Da=53;break}case 54:{e=Ya()|0;c=I;_P(_);Da=182;break}case 55:{e=Ya()|0;c=I;Da=57;break}case 56:{e=Ya()|0;c=I;_P($);Da=57;break}case 66:{e=Ya()|0;c=I;Da=180;break}case 67:{e=Ya()|0;c=I;Da=179;break}case 68:{e=Ya()|0;c=I;Da=178;break}case 87:{e=Ya()|0;c=I;Da=91;break}case 88:{e=Ya()|0;c=I;Da=90;break}case 89:{e=Ya()|0;c=I;_P(ba);Da=90;break}case 98:{e=Ya()|0;c=I;Da=117;break}case 99:{e=Ya()|0;c=I;_P(da);Da=117;break}case 100:{e=Ya()|0;c=I;Da=116;break}case 111:{e=Ya()|0;c=I;Da=116;break}case 112:{e=Ya()|0;c=I;_P(ga);Da=116;break}case 122:{e=Ya()|0;c=I;i=n+72|0;g=f[j>>2]|0;if(g|0){h=f[i>>2]|0;if((h|0)!=(g|0)){do{Da=h+-8|0;f[i>>2]=Da;Kc[f[f[Da>>2]>>2]&511](Da);h=f[i>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}Da=152;break}case 135:{e=Ya()|0;c=I;i=k+72|0;g=f[j>>2]|0;if(g|0){h=f[i>>2]|0;if((h|0)!=(g|0)){do{Da=h+-8|0;f[i>>2]=Da;Kc[f[f[Da>>2]>>2]&511](Da);h=f[i>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}Da=157;break}case 150:{e=Ya()|0;c=I;Da=177;break}case 151:{e=Ya()|0;c=I;Da=152;break}case 153:{e=Ya()|0;c=I;Da=176;break}case 154:{e=Ya()|0;c=I;_P(ia);Da=176;break}case 155:{e=Ya()|0;c=I;Da=175;break}case 156:{e=Ya()|0;c=I;Da=157;break}case 158:{e=Ya()|0;c=I;Da=174;break}case 159:{e=Ya()|0;c=I;_P(ja);Da=174;break}case 160:{e=Ya()|0;c=I;Da=162;break}case 161:{e=Ya()|0;c=I;_P(ma);Da=162;break}case 168:{e=Ya()|0;c=I;Da=170;break}case 169:{e=Ya()|0;c=I;_P(ka);Da=170;break}}if((Da|0)==31){_P(pa);Da=182}else if((Da|0)==53)Da=182;else if((Da|0)==57){_P(ra);Da=182}else if((Da|0)==90){_P(ua);Da=91}else if((Da|0)==116){_P(ya);Da=117}else if((Da|0)==152){Hta(n);Da=177}else if((Da|0)==157){Hta(k);Da=175}else if((Da|0)==162)Da=174;else if((Da|0)==170){_P(va);Da=174}if((Da|0)==91){_P(wa);Da=178}else if((Da|0)==117)Da=178;else if((Da|0)==174){_P(ya);Da=175}if((Da|0)==175)Da=176;if((Da|0)==176){_P(za);Da=177}if((Da|0)==177)Da=178;if((Da|0)==178){_P(Aa);Da=179}if((Da|0)==179){_P(Ba);Da=180}if((Da|0)==180)Da=182;if((Da|0)==182)_P(Ca)}while(0);do if((Da|0)==15){x=0;g=sa(1045,a|0,f[e>>2]|0)|0;Ca=x;x=0;if(Ca&1){e=Ya()|0;c=I;break}_P(Ea);e=f[Ha>>2]|0;if(!e){_P(Ja);u=xa;return g|0}c=f[oa>>2]|0;if((c|0)!=(e|0)){do{f[oa>>2]=c+-12;_P(c+-8|0);c=f[oa>>2]|0}while((c|0)!=(e|0));e=f[Ha>>2]|0}Hta(e);_P(Ja);u=xa;return g|0}while(0);_P(Ea);i=e;break a}while(0);Hta(k);i=e}while(0);if((Da|0)==17){i=Ya()|0;c=I}e=f[Ha>>2]|0;if(!e){Ha=i;_P(Ja);jb(Ha|0)}h=Ha+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{f[h>>2]=g+-12;_P(g+-8|0);g=f[h>>2]|0}while((g|0)!=(e|0));e=f[Ha>>2]|0}Hta(e);Ha=i;_P(Ja);jb(Ha|0);return 0}function Jd(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.0,n=0.0,o=0.0,q=0.0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Q=0;T=u;u=u+576|0;P=T+40|0;Y=T;X=T+500|0;V=T+488|0;A=T+528|0;B=T+512|0;S=T+476|0;G=T+464|0;J=T+452|0;M=T+440|0;N=T+428|0;O=T+416|0;H=T+324|0;K=T+300|0;E=T+288|0;F=T+220|0;C=T+208|0;D=T+144|0;y=T+376|0;l=T+336|0;W=T+312|0;r=T+248|0;U=T+232|0;v=T+168|0;R=T+156|0;w=T+104|0;L=T+92|0;z=T+80|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;k=P+11|0;b[k>>0]=4;f[P>>2]=1684369956;b[P+4>>0]=0;x=0;c=sa(992,a|0,P|0)|0;t=x;x=0;a:do if(t&1)Q=80;else{x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)Q=80;else{x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)Q=80;else{b:do if(c)c=1;else{f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;j=Y+11|0;b[j>>0]=6;b[Y>>0]=b[39214]|0;b[Y+1>>0]=b[39215]|0;b[Y+2>>0]=b[39216]|0;b[Y+3>>0]=b[39217]|0;b[Y+4>>0]=b[39218]|0;b[Y+5>>0]=b[39219]|0;b[Y+6>>0]=0;x=0;c=sa(992,a|0,Y|0)|0;t=x;x=0;c:do if(t&1)Q=81;else{x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)Q=81;else{x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)Q=81;else{d:do if(c)c=1;else{f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;i=X+11|0;b[i>>0]=5;b[X>>0]=b[39221]|0;b[X+1>>0]=b[39222]|0;b[X+2>>0]=b[39223]|0;b[X+3>>0]=b[39224]|0;b[X+4>>0]=b[39225]|0;b[X+5>>0]=0;x=0;c=sa(992,a|0,X|0)|0;t=x;x=0;e:do if(t&1)Q=82;else{x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)Q=82;else{x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)Q=82;else{f:do if(c)c=1;else{f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;d=V+11|0;b[d>>0]=6;b[V>>0]=b[39238]|0;b[V+1>>0]=b[39239]|0;b[V+2>>0]=b[39240]|0;b[V+3>>0]=b[39241]|0;b[V+4>>0]=b[39242]|0;b[V+5>>0]=b[39243]|0;b[V+6>>0]=0;x=0;c=sa(992,a|0,V|0)|0;t=x;x=0;do if(!(t&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)break;x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)break;if((b[d>>0]|0)<0)Hta(f[V>>2]|0);break f}while(0);c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[V>>2]|0);break e}while(0);if((b[i>>0]|0)<0)Hta(f[X>>2]|0);break d}}}while(0);if((Q|0)==82)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[X>>2]|0);break c}while(0);if((b[j>>0]|0)<0)Hta(f[Y>>2]|0);break b}}}while(0);if((Q|0)==81)c=Ya()|0;if((b[j>>0]|0)<0)Hta(f[Y>>2]|0);break a}while(0);if((b[k>>0]|0)<0)Hta(f[P>>2]|0);if(c){w=VN(80)|0;c=A;s=g;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;v=O+11|0;b[v>>0]=4;f[O>>2]=1684369956;b[O+4>>0]=0;x=0;c=sa(992,a|0,O|0)|0;W=x;x=0;if(W&1)Q=95;else{W=f[c+4>>2]|0;x=0;Ga(f[(f[W>>2]|0)+32>>2]|0,N|0,W|0);W=x;x=0;if(W&1)Q=95;else{x=0;Ia(92,M|0,49864,N|0);W=x;x=0;if(W&1)c=Ya()|0;else{x=0;c=sa(991,M|0,49800)|0;W=x;x=0;if(W&1)c=Ya()|0;else{f[J>>2]=f[c>>2];f[J+4>>2]=f[c+4>>2];f[J+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;r=K+11|0;b[r>>0]=6;b[K>>0]=b[39214]|0;b[K+1>>0]=b[39215]|0;b[K+2>>0]=b[39216]|0;b[K+3>>0]=b[39217]|0;b[K+4>>0]=b[39218]|0;b[K+5>>0]=b[39219]|0;b[K+6>>0]=0;x=0;c=sa(992,a|0,K|0)|0;W=x;x=0;if(W&1)Q=98;else{W=f[c+4>>2]|0;x=0;Ga(f[(f[W>>2]|0)+32>>2]|0,H|0,W|0);W=x;x=0;if(W&1)Q=98;else{l=H+11|0;c=b[l>>0]|0;W=c<<24>>24<0;x=0;c=ta(41,J|0,(W?f[H>>2]|0:H)|0,(W?f[H+4>>2]|0:c&255)|0)|0;W=x;x=0;do if(W&1)c=Ya()|0;else{f[G>>2]=f[c>>2];f[G+4>>2]=f[c+4>>2];f[G+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,G|0,49800)|0;W=x;x=0;do if(W&1)c=Ya()|0;else{f[S>>2]=f[c>>2];f[S+4>>2]=f[c+4>>2];f[S+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;k=F+11|0;b[k>>0]=5;b[F>>0]=b[39221]|0;b[F+1>>0]=b[39222]|0;b[F+2>>0]=b[39223]|0;b[F+3>>0]=b[39224]|0;b[F+4>>0]=b[39225]|0;b[F+5>>0]=0;x=0;c=sa(992,a|0,F|0)|0;W=x;x=0;do if(W&1)Q=101;else{W=f[c+4>>2]|0;x=0;Ga(f[(f[W>>2]|0)+32>>2]|0,E|0,W|0);W=x;x=0;if(W&1){Q=101;break}j=E+11|0;c=b[j>>0]|0;W=c<<24>>24<0;x=0;c=ta(41,S|0,(W?f[E>>2]|0:E)|0,(W?f[E+4>>2]|0:c&255)|0)|0;W=x;x=0;do if(W&1)c=Ya()|0;else{f[V>>2]=f[c>>2];f[V+4>>2]=f[c+4>>2];f[V+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,V|0,49800)|0;W=x;x=0;do if(W&1)c=Ya()|0;else{f[X>>2]=f[c>>2];f[X+4>>2]=f[c+4>>2];f[X+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;i=D+11|0;b[i>>0]=6;b[D>>0]=b[39238]|0;b[D+1>>0]=b[39239]|0;b[D+2>>0]=b[39240]|0;b[D+3>>0]=b[39241]|0;b[D+4>>0]=b[39242]|0;b[D+5>>0]=b[39243]|0;b[D+6>>0]=0;x=0;c=sa(992,a|0,D|0)|0;W=x;x=0;do if(W&1)Q=104;else{W=f[c+4>>2]|0;x=0;Ga(f[(f[W>>2]|0)+32>>2]|0,C|0,W|0);W=x;x=0;if(W&1){Q=104;break}d=C+11|0;c=b[d>>0]|0;W=c<<24>>24<0;x=0;c=ta(41,X|0,(W?f[C>>2]|0:C)|0,(W?f[C+4>>2]|0:c&255)|0)|0;W=x;x=0;do if(W&1)c=Ya()|0;else{f[P>>2]=f[c>>2];f[P+4>>2]=f[c+4>>2];f[P+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,P|0,49838)|0;W=x;x=0;do if(W&1)c=Ya()|0;else{f[B>>2]=f[c>>2];f[B+4>>2]=f[c+4>>2];f[B+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=Y;s=A;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));x=0;Fa(427,w|0);W=x;x=0;do if(W&1)c=Ya()|0;else{c=w+12|0;s=Y;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));b[w+52>>0]=0;b[w+53>>0]=0;b[w+54>>0]=0;f[w+56>>2]=4;f[w>>2]=11668;b[w+60>>0]=0;b[w+61>>0]=0;x=0;Ia(101,w+64|0,B|0,1);Y=x;x=0;if(Y&1){c=Ya()|0;break}f[w+76>>2]=0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);if((b[d>>0]|0)<0)Hta(f[C>>2]|0);if((b[i>>0]|0)<0)Hta(f[D>>2]|0);if((b[X+11>>0]|0)<0)Hta(f[X>>2]|0);if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);if((b[j>>0]|0)<0)Hta(f[E>>2]|0);if((b[k>>0]|0)<0)Hta(f[F>>2]|0);if((b[S+11>>0]|0)<0)Hta(f[S>>2]|0);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);if((b[l>>0]|0)<0)Hta(f[H>>2]|0);if((b[r>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[v>>0]|0)<0)Hta(f[O>>2]|0);Y=w;u=T;return Y|0}while(0);if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0)}while(0);if((b[P+11>>0]|0)>=0)break;Hta(f[P>>2]|0)}while(0);if((b[d>>0]|0)>=0)break;Hta(f[C>>2]|0)}while(0);if((Q|0)==104)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[D>>2]|0);if((b[X+11>>0]|0)>=0)break;Hta(f[X>>2]|0)}while(0);if((b[V+11>>0]|0)>=0)break;Hta(f[V>>2]|0)}while(0);if((b[j>>0]|0)>=0)break;Hta(f[E>>2]|0)}while(0);if((Q|0)==101)c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[F>>2]|0);if((b[S+11>>0]|0)>=0)break;Hta(f[S>>2]|0)}while(0);if((b[G+11>>0]|0)>=0)break;Hta(f[G>>2]|0)}while(0);if((b[l>>0]|0)<0)Hta(f[H>>2]|0)}}if((Q|0)==98)c=Ya()|0;if((b[r>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0)}if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0)}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0)}}if((Q|0)==95)c=Ya()|0;if((b[v>>0]|0)<0)Hta(f[O>>2]|0);Hta(w);Y=c;jb(Y|0)}C=VN(112)|0;c=y;s=g;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;D=Y+11|0;b[D>>0]=4;f[Y>>2]=1684369956;b[Y+4>>0]=0;c=l;s=g;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));x=0;Ga(511,W|0,h|0);Q=x;x=0;if(Q&1)c=Ya()|0;else{x=0;c=P;s=l;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));q=+ja(1,Y|0,a|0,e|0,P|0,W|0);Q=x;x=0;if(Q&1){c=Ya()|0;l=I}else{f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;B=X+11|0;b[B>>0]=6;b[X>>0]=b[39214]|0;b[X+1>>0]=b[39215]|0;b[X+2>>0]=b[39216]|0;b[X+3>>0]=b[39217]|0;b[X+4>>0]=b[39218]|0;b[X+5>>0]=b[39219]|0;b[X+6>>0]=0;c=r;s=g;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));x=0;Ga(511,U|0,h|0);Q=x;x=0;if(Q&1){c=Ya()|0;d=I}else{x=0;c=P;s=r;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));o=+ja(1,X|0,a|0,e|0,P|0,U|0);Q=x;x=0;if(Q&1){c=Ya()|0;d=I}else{f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;A=V+11|0;b[A>>0]=5;b[V>>0]=b[39221]|0;b[V+1>>0]=b[39222]|0;b[V+2>>0]=b[39223]|0;b[V+3>>0]=b[39224]|0;b[V+4>>0]=b[39225]|0;b[V+5>>0]=0;c=v;s=g;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));x=0;Ga(511,R|0,h|0);Q=x;x=0;if(Q&1){c=Ya()|0;d=I}else{x=0;c=P;s=v;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));n=+ja(1,V|0,a|0,e|0,P|0,R|0);Q=x;x=0;if(Q&1){c=Ya()|0;d=I}else{f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;r=S+11|0;b[r>>0]=6;b[S>>0]=b[39238]|0;b[S+1>>0]=b[39239]|0;b[S+2>>0]=b[39240]|0;b[S+3>>0]=b[39241]|0;b[S+4>>0]=b[39242]|0;b[S+5>>0]=b[39243]|0;b[S+6>>0]=0;c=w;s=g;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));x=0;Ga(511,L|0,h|0);Q=x;x=0;do if(Q&1){c=Ya()|0;d=I}else{x=0;c=P;s=w;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));m=+ja(2,S|0,a|0,e|0,P|0,L|0);Q=x;x=0;do if(Q&1){c=Ya()|0;d=I}else{i=z+11|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;c=P;s=y;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));x=0;Fa(427,C|0);Q=x;x=0;do if(Q&1){c=Ya()|0;d=I}else{c=C+12|0;s=P;t=c+40|0;do{f[c>>2]=f[s>>2];c=c+4|0;s=s+4|0}while((c|0)<(t|0));b[C+52>>0]=0;b[C+53>>0]=0;b[C+54>>0]=0;c=C+56|0;f[c>>2]=0;f[C>>2]=11116;p[C+64>>3]=q;p[C+72>>3]=o;p[C+80>>3]=n;p[C+88>>3]=m;x=0;Ga(459,C+96|0,z|0);Q=x;x=0;if(Q&1){c=Ya()|0;d=I;break}f[C+108>>2]=0;f[c>>2]=3;if((b[i>>0]|0)<0)Hta(f[z>>2]|0);c=f[L>>2]|0;if(c|0){j=L+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[L>>2]|0}Hta(c)}if((b[r>>0]|0)<0)Hta(f[S>>2]|0);c=f[R>>2]|0;if(c|0){j=R+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[R>>2]|0}Hta(c)}if((b[A>>0]|0)<0)Hta(f[V>>2]|0);c=f[U>>2]|0;if(c|0){j=U+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[U>>2]|0}Hta(c)}if((b[B>>0]|0)<0)Hta(f[X>>2]|0);c=f[W>>2]|0;if(c|0){j=W+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[W>>2]|0}Hta(c)}if((b[D>>0]|0)<0)Hta(f[Y>>2]|0);Y=C;u=T;return Y|0}while(0);if((b[i>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);i=f[L>>2]|0;if(!i)break;l=L+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[L>>2]|0}Hta(i)}while(0);if((b[r>>0]|0)<0)Hta(f[S>>2]|0)}i=f[R>>2]|0;if(i){l=R+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[R>>2]|0}Hta(i)}}if((b[A>>0]|0)<0)Hta(f[V>>2]|0)}i=f[U>>2]|0;if(i){l=U+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[U>>2]|0}Hta(i)}}if((b[B>>0]|0)<0)Hta(f[X>>2]|0);l=d}d=f[W>>2]|0;if(d){k=W+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[W>>2]|0}Hta(d)}}if((b[D>>0]|0)<0)Hta(f[Y>>2]|0);Hta(C);Y=c;jb(Y|0)}}}while(0);if((Q|0)==80)c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[P>>2]|0);Y=c;jb(Y|0);return 0}function Kd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;G=0;C=u;u=u+384|0;D=C;M=C+336|0;L=C+312|0;K=C+248|0;J=C+184|0;i=C+344|0;p=C+320|0;H=C+136|0;k=C+272|0;q=C+256|0;s=C+240|0;r=C+200|0;t=C+172|0;v=C+160|0;w=C+52|0;z=C+40|0;A=C+152|0;B=C+96|0;E=C+88|0;F=C+72|0;y=C+64|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=5;b[D>>0]=b[40395]|0;b[D+1>>0]=b[40396]|0;b[D+2>>0]=b[40397]|0;b[D+3>>0]=b[40398]|0;b[D+4>>0]=b[40399]|0;b[D+5>>0]=0;x=0;c=sa(992,a|0,D|0)|0;o=x;x=0;if(!(o&1)){c=f[c+4>>2]|0;if(!c)c=0;else c=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,M|0,c|0);o=x;x=0;if(!(o&1)){f[M>>2]=16784;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=5;b[D>>0]=b[40395]|0;b[D+1>>0]=b[40396]|0;b[D+2>>0]=b[40397]|0;b[D+3>>0]=b[40398]|0;b[D+4>>0]=b[40399]|0;b[D+5>>0]=0;x=0;c=sa(992,a|0,D|0)|0;o=x;x=0;if(o&1)G=40;else{x=0;c=qa(340,f[c+4>>2]|0)|0;o=x;x=0;if(o&1)G=40;else{x=0;Ga(462,L|0,c|0);o=x;x=0;if(o&1)G=40;else{f[L>>2]=7584;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;m=J+11|0;b[m>>0]=4;f[J>>2]=1818326564;b[J+4>>0]=0;l=i;n=g;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));x=0;Ga(511,p|0,h|0);o=x;x=0;do if(o&1){c=Ya()|0;G=51}else{x=0;l=D;n=i;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));c=wa(25,J|0,a|0,e|0,D|0,p|0)|0;o=x;x=0;if(!(o&1)){x=0;Ga(462,K|0,c|0);o=x;x=0;if(!(o&1)){f[K>>2]=7696;c=f[p>>2]|0;if(c|0){j=p+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[J>>2]|0);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=5;b[D>>0]=b[40395]|0;b[D+1>>0]=b[40396]|0;b[D+2>>0]=b[40397]|0;b[D+3>>0]=b[40398]|0;b[D+4>>0]=b[40399]|0;b[D+5>>0]=0;x=0;c=sa(992,a|0,D|0)|0;p=x;x=0;a:do if(p&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0)}else{c=f[c+4>>2]|0;if(!c)c=0;else c=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);b:do if(c|0){x=0;Fa(443,D|0);p=x;x=0;if(p&1)c=Ya()|0;else{x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,D|0)|0;p=x;x=0;c:do if(p&1)G=58;else{x=0;c=qa(340,c|0)|0;p=x;x=0;if(p&1){G=58;break}x=0;Ga(462,J|0,c|0);p=x;x=0;if(p&1){G=58;break}f[J>>2]=7584;c=L+4|0;do if(f[c>>2]|0){x=0;Fa(429,L|0);p=x;x=0;if(!(p&1))break;c=Ya()|0;_P(J);break c}while(0);p=J+4|0;f[c>>2]=f[p>>2];f[p>>2]=0;_P(J);break b}while(0);if((G|0)==58)c=Ya()|0}break a}while(0);m=H+11|0;b[m>>0]=10;l=H;n=40558;o=l+10|0;do{b[l>>0]=b[n>>0]|0;l=l+1|0;n=n+1|0}while((l|0)<(o|0));b[H+10>>0]=0;l=k;n=g;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));x=0;Ga(511,q|0,h|0);p=x;x=0;d:do if(p&1){c=Ya()|0;G=109}else{x=0;l=D;n=k;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));c=wa(27,H|0,a|0,e|0,D|0,q|0)|0;p=x;x=0;do if(!(p&1)){x=0;Ga(462,J|0,c|0);p=x;x=0;if(p&1)break;f[J>>2]=16800;c=f[q>>2]|0;if(c|0){j=q+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[q>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[H>>2]|0);q=L+4|0;e:do if(!(f[q>>2]|0)){x=0;m=qa(318,88)|0;p=x;x=0;f:do if(p&1)G=112;else{l=D;n=g;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));x=0;Fa(427,m|0);p=x;x=0;do if(p&1)c=Ya()|0;else{l=m+12|0;n=D;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;c=m+56|0;f[c>>2]=0;f[m>>2]=6516;d=m+60|0;f[d>>2]=9660;k=m+64|0;l=m+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,1);p=x;x=0;if(p&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){i=f[l>>2]|0;if((i|0)!=(d|0)){do{H=i+-8|0;f[l>>2]=H;Kc[f[f[H>>2]>>2]&511](H);i=f[l>>2]|0}while((i|0)!=(d|0));d=f[k>>2]|0}Hta(d)}break}f[m>>2]=9488;f[d>>2]=9620;f[m+80>>2]=1;b[m+84>>0]=0;b[m+85>>0]=0;b[m+86>>0]=0;f[c>>2]=5;x=0;Ga(462,H|0,m|0);p=x;x=0;if(p&1){G=112;break f}f[H>>2]=7584;do if(f[q>>2]|0){x=0;Fa(429,L|0);p=x;x=0;if(!(p&1))break;c=Ya()|0;_P(H);break f}while(0);d=H+4|0;f[q>>2]=f[d>>2];f[d>>2]=0;_P(H);d=(f[q>>2]|0)+60|0;i=f[(f[d>>2]|0)+20>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;m=H+11|0;b[m>>0]=5;b[H>>0]=b[40395]|0;b[H+1>>0]=b[40396]|0;b[H+2>>0]=b[40397]|0;b[H+3>>0]=b[40398]|0;b[H+4>>0]=b[40399]|0;b[H+5>>0]=0;l=r;n=g;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));x=0;Ga(511,t|0,h|0);p=x;x=0;do if(p&1)c=Ya()|0;else{x=0;l=D;n=r;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));c=wa(25,H|0,a|0,e|0,D|0,t|0)|0;a=x;x=0;do if(a&1)G=118;else{x=0;Ga(462,s|0,c|0);a=x;x=0;if(a&1){G=118;break}f[s>>2]=7696;x=0;Ga(i|0,d|0,s|0);a=x;x=0;if(a&1){c=Ya()|0;k=I;_P(s);break}_P(s);c=f[t>>2]|0;if(c|0){j=t+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[H>>2]|0);G=130;break e}while(0);if((G|0)==118){c=Ya()|0;k=I}d=f[t>>2]|0;if(!d)break;l=t+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[t>>2]|0}Hta(d)}while(0);if((b[m>>0]|0)<0)Hta(f[H>>2]|0);break e}while(0);Hta(m)}while(0);if((G|0)==112)c=Ya()|0}else G=130;while(0);g:do if((G|0)==130){c=f[M+4>>2]|0;h:do if(c|0){x=0;Ia(107,D|0,c|0,g|0);t=x;x=0;i:do if(t&1)c=Ya()|0;else{do if(f[q>>2]|0){x=0;Fa(429,L|0);t=x;x=0;if(!(t&1))break;c=Ya()|0;_P(D);break i}while(0);t=D+4|0;f[q>>2]=f[t>>2];f[t>>2]=0;_P(D);break h}while(0);break g}while(0);m=f[q>>2]|0;x=0;m=qa(f[(f[m>>2]|0)+12>>2]|0,m|0)|0;t=x;x=0;if(t&1){c=Ya()|0;break}x=0;Ka(5,H|0,(f[J+4>>2]|0)+64|0,0,0,1);t=x;x=0;do if(t&1)c=Ya()|0;else{p=H+11|0;c=b[p>>0]|0;i=H+4|0;d=f[i>>2]|0;do if(((c<<24>>24<0?d:c&255)|0)==4){x=0;c=wa(21,H|0,0,-1,40592,4)|0;G=x;x=0;if(G&1){G=Za(0)|0;soa(G)}if(!c){G=186;break}c=b[p>>0]|0;d=f[i>>2]|0;G=145}else G=145;while(0);j:do if((G|0)==145){do if(((c<<24>>24<0?d:c&255)|0)==5){x=0;c=wa(21,H|0,0,-1,40580,5)|0;t=x;x=0;if(t&1){t=Za(0)|0;soa(t)}if(!c){f[m+80>>2]=1;G=186;break j}else{c=b[p>>0]|0;d=f[i>>2]|0;break}}while(0);do if(((c<<24>>24<0?d:c&255)|0)==5){x=0;c=wa(21,H|0,0,-1,40586,5)|0;t=x;x=0;if(t&1){t=Za(0)|0;soa(t)}if(c|0)break;f[m+80>>2]=0;G=186;break j}while(0);f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;i=hL(e)|0;do if(i>>>0>4294967279){x=0;Fa(428,z|0);x=0;G=176}else{if(i>>>0<11){b[z+11>>0]=i;if(!i)c=z;else{c=z;G=165}}else{d=i+16&-16;x=0;c=qa(318,d|0)|0;G=x;x=0;if(G&1){G=176;break}f[z>>2]=c;f[z+8>>2]=d|-2147483648;f[z+4>>2]=i;G=165}if((G|0)==165)Lu(c|0,e|0,i|0)|0;b[c+i>>0]=0;x=0;c=ta(43,z|0,0,40597)|0;e=x;x=0;do if(e&1)c=Ya()|0;else{f[w>>2]=f[c>>2];f[w+4>>2]=f[c+4>>2];f[w+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,w|0,40624)|0;e=x;x=0;do if(e&1)c=Ya()|0;else{f[v>>2]=f[c>>2];f[v+4>>2]=f[c+4>>2];f[v+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;l=D;n=g;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));Ia(100,v|0,D|0,h|0);h=x;x=0;if(h&1){c=Ya()|0;if((b[v+11>>0]|0)>=0)break;Hta(f[v>>2]|0);break}if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);G=186;break j}while(0);if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0)}while(0);if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);if((G|0)==176)c=Ya()|0}while(0);k:do if((G|0)==186){d=m+60|0;i=f[(f[d>>2]|0)+20>>2]|0;l:do if(!(b[(f[q>>2]|0)+84>>0]|0)){x=0;Ga(462,y|0,f[K+4>>2]|0);F=x;x=0;if(F&1){G=153;break}f[y>>2]=7696;x=0;Ga(i|0,d|0,y|0);F=x;x=0;if(F&1){c=Ya()|0;_P(y);break k}else{_P(y);break}}else{x=0;k=qa(318,88)|0;h=x;x=0;if(h&1){G=153;break}c=f[K+4>>2]|0;l=B;n=c+12|0;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));x=0;Ga(462,E|0,c|0);h=x;x=0;do if(h&1)c=Ya()|0;else{f[E>>2]=7696;j=F+11|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;x=0;l=D;n=B;o=l+40|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));La(13,k|0,D|0,E|0,F|0,0,0);D=x;x=0;do if(D&1){c=1;G=196}else{x=0;Ga(462,A|0,k|0);D=x;x=0;if(D&1){c=0;G=196;break}f[A>>2]=7696;x=0;Ga(i|0,d|0,A|0);D=x;x=0;if(D&1){c=Ya()|0;_P(A);d=0;break}_P(A);if((b[j>>0]|0)<0)Hta(f[F>>2]|0);_P(E);break l}while(0);if((G|0)==196){D=Ya()|0;d=c;c=D}if((b[j>>0]|0)<0){Hta(f[F>>2]|0);_P(E);if(d)break;else break k}else{_P(E);if(d)break;else break k}}while(0);Hta(k);break k}while(0);if((G|0)==153){c=Ya()|0;break}if((b[p>>0]|0)>=0){_P(J);_P(K);_P(L);_P(M);u=C;return m|0}Hta(f[H>>2]|0);_P(J);_P(K);_P(L);_P(M);u=C;return m|0}while(0);if((b[p>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0)}while(0);_P(J);break d}while(0);c=Ya()|0;k=I;d=f[q>>2]|0;if(!d){G=109;break}l=q+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[q>>2]|0}Hta(d);G=109}while(0);if((G|0)==109)if((b[m>>0]|0)<0)Hta(f[H>>2]|0)}while(0);_P(K);break}}c=Ya()|0;k=I;d=f[p>>2]|0;if(!d)G=51;else{l=p+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d);G=51}}while(0);if((G|0)==51)if((b[m>>0]|0)<0)Hta(f[J>>2]|0);_P(L)}}}if((G|0)==40){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0)}_P(M);M=c;jb(M|0)}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);M=c;jb(M|0);return 0}function Ld(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.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,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=0;Q=u;u=u+496|0;K=Q;V=Q+424|0;U=Q+412|0;S=Q+400|0;w=Q+448|0;y=Q+436|0;P=Q+388|0;E=Q+376|0;H=Q+364|0;J=Q+352|0;L=Q+340|0;M=Q+328|0;F=Q+264|0;G=Q+208|0;B=Q+196|0;D=Q+132|0;z=Q+120|0;A=Q+96|0;j=Q+288|0;T=Q+276|0;k=Q+224|0;R=Q+184|0;l=Q+144|0;O=Q+108|0;v=Q+56|0;C=Q+40|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;q=K+11|0;b[q>>0]=4;f[K>>2]=1702193188;b[K+4>>0]=0;x=0;c=sa(992,a|0,K|0)|0;t=x;x=0;a:do if(t&1)N=82;else{x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)N=82;else{x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)N=82;else{b:do if(c)c=1;else{f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;x=0;c=qa(318,16)|0;t=x;x=0;if(t&1)c=Ya()|0;else{f[V>>2]=c;f[V+8>>2]=-2147483632;f[V+4>>2]=11;r=c;s=39298;t=r+11|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,V|0)|0;t=x;x=0;c:do if(t&1)N=84;else{x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)N=84;else{x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)N=84;else{d:do if(c)c=1;else{i=U+11|0;b[i>>0]=10;r=U;s=39310;t=r+10|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[U+10>>0]=0;x=0;c=sa(992,a|0,U|0)|0;t=x;x=0;e:do if(t&1)N=85;else{x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)N=85;else{x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)N=85;else{f:do if(c)c=1;else{f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;d=S+11|0;b[d>>0]=6;b[S>>0]=b[39238]|0;b[S+1>>0]=b[39239]|0;b[S+2>>0]=b[39240]|0;b[S+3>>0]=b[39241]|0;b[S+4>>0]=b[39242]|0;b[S+5>>0]=b[39243]|0;b[S+6>>0]=0;x=0;c=sa(992,a|0,S|0)|0;t=x;x=0;do if(!(t&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;t=x;x=0;if(t&1)break;x=0;c=qa(335,c|0)|0;t=x;x=0;if(t&1)break;if((b[d>>0]|0)<0)Hta(f[S>>2]|0);break f}while(0);c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[S>>2]|0);break e}while(0);if((b[i>>0]|0)<0)Hta(f[U>>2]|0);break d}}}while(0);if((N|0)==85)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[U>>2]|0);break c}while(0);if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);break b}}}while(0);if((N|0)==84)c=Ya()|0;if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0)}break a}while(0);if((b[q>>0]|0)<0)Hta(f[K>>2]|0);if(!c){f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;y=V+11|0;b[y>>0]=4;f[V>>2]=1702193188;b[V+4>>0]=0;r=j;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Ga(511,T|0,h|0);N=x;x=0;if(N&1)c=Ya()|0;else{x=0;r=K;s=j;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));p=+ja(3,V|0,a|0,e|0,K|0,T|0);N=x;x=0;if(N&1){c=Ya()|0;l=I}else{f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;x=0;c=qa(318,16)|0;N=x;x=0;if(N&1){c=Ya()|0;d=I}else{f[U>>2]=c;f[U+8>>2]=-2147483632;f[U+4>>2]=11;r=c;s=39298;t=r+11|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[c+11>>0]=0;r=k;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Ga(511,R|0,h|0);N=x;x=0;if(N&1){c=Ya()|0;d=I}else{x=0;r=K;s=k;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));o=+ja(3,U|0,a|0,e|0,K|0,R|0);N=x;x=0;if(N&1){c=Ya()|0;d=I}else{w=S+11|0;b[w>>0]=10;r=S;s=39310;t=r+10|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[S+10>>0]=0;r=l;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Ga(511,O|0,h|0);N=x;x=0;do if(N&1){c=Ya()|0;d=I}else{x=0;r=K;s=l;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));n=+ja(3,S|0,a|0,e|0,K|0,O|0);N=x;x=0;if(N&1){c=Ya()|0;d=I}else{f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;q=P+11|0;b[q>>0]=6;b[P>>0]=b[39238]|0;b[P+1>>0]=b[39239]|0;b[P+2>>0]=b[39240]|0;b[P+3>>0]=b[39241]|0;b[P+4>>0]=b[39242]|0;b[P+5>>0]=b[39243]|0;b[P+6>>0]=0;r=v;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Ga(511,C|0,h|0);N=x;x=0;do if(N&1){c=Ya()|0;d=I}else{x=0;r=K;s=v;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));m=+ja(3,P|0,a|0,e|0,K|0,C|0);N=x;x=0;do if(!(N&1)){x=0;r=K;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));k=oa(1,+p,+o,+n,+m,0,K|0)|0;N=x;x=0;if(N&1)break;c=f[C>>2]|0;if(c|0){j=C+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[C>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[P>>2]|0);c=f[O>>2]|0;if(c|0){j=O+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[O>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[S>>2]|0);c=f[R>>2]|0;if(c|0){j=R+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[R>>2]|0}Hta(c)}if((b[U+11>>0]|0)<0)Hta(f[U>>2]|0);c=f[T>>2]|0;if(c|0){j=T+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[T>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[V>>2]|0);V=k;u=Q;return V|0}while(0);c=Ya()|0;d=I;i=f[C>>2]|0;if(!i)break;l=C+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[C>>2]|0}Hta(i)}while(0);if((b[q>>0]|0)<0)Hta(f[P>>2]|0)}i=f[O>>2]|0;if(!i)break;l=O+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[O>>2]|0}Hta(i)}while(0);if((b[w>>0]|0)<0)Hta(f[S>>2]|0)}i=f[R>>2]|0;if(i){l=R+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[R>>2]|0}Hta(i)}}if((b[U+11>>0]|0)<0)Hta(f[U>>2]|0)}l=d}d=f[T>>2]|0;if(d){k=T+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[T>>2]|0}Hta(d)}}if((b[y>>0]|0)<0)Hta(f[V>>2]|0);V=c;jb(V|0)}v=VN(80)|0;r=w;s=g;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;q=M+11|0;b[q>>0]=4;f[M>>2]=1702193188;b[M+4>>0]=0;x=0;c=sa(992,a|0,M|0)|0;T=x;x=0;if(T&1)N=98;else{T=f[c+4>>2]|0;x=0;Ga(f[(f[T>>2]|0)+32>>2]|0,L|0,T|0);T=x;x=0;if(T&1)N=98;else{x=0;Ia(92,J|0,39326,L|0);T=x;x=0;if(T&1)c=Ya()|0;else{x=0;c=sa(991,J|0,49800)|0;T=x;x=0;if(T&1)c=Ya()|0;else{f[H>>2]=f[c>>2];f[H+4>>2]=f[c+4>>2];f[H+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;x=0;c=qa(318,16)|0;T=x;x=0;if(T&1)c=Ya()|0;else{f[G>>2]=c;f[G+8>>2]=-2147483632;f[G+4>>2]=11;r=c;s=39298;t=r+11|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,G|0)|0;T=x;x=0;do if(T&1)N=102;else{T=f[c+4>>2]|0;x=0;Ga(f[(f[T>>2]|0)+32>>2]|0,F|0,T|0);T=x;x=0;if(T&1)N=102;else{l=F+11|0;c=b[l>>0]|0;T=c<<24>>24<0;x=0;c=ta(41,H|0,(T?f[F>>2]|0:F)|0,(T?f[F+4>>2]|0:c&255)|0)|0;T=x;x=0;do if(T&1)c=Ya()|0;else{f[E>>2]=f[c>>2];f[E+4>>2]=f[c+4>>2];f[E+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,E|0,49800)|0;T=x;x=0;do if(T&1)c=Ya()|0;else{f[P>>2]=f[c>>2];f[P+4>>2]=f[c+4>>2];f[P+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;k=D+11|0;b[k>>0]=10;r=D;s=39310;t=r+10|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[D+10>>0]=0;x=0;c=sa(992,a|0,D|0)|0;T=x;x=0;do if(T&1)N=105;else{T=f[c+4>>2]|0;x=0;Ga(f[(f[T>>2]|0)+32>>2]|0,B|0,T|0);T=x;x=0;if(T&1){N=105;break}j=B+11|0;c=b[j>>0]|0;T=c<<24>>24<0;x=0;c=ta(41,P|0,(T?f[B>>2]|0:B)|0,(T?f[B+4>>2]|0:c&255)|0)|0;T=x;x=0;do if(T&1)c=Ya()|0;else{f[S>>2]=f[c>>2];f[S+4>>2]=f[c+4>>2];f[S+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,S|0,49800)|0;T=x;x=0;do if(T&1)c=Ya()|0;else{f[U>>2]=f[c>>2];f[U+4>>2]=f[c+4>>2];f[U+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;i=A+11|0;b[i>>0]=6;b[A>>0]=b[39238]|0;b[A+1>>0]=b[39239]|0;b[A+2>>0]=b[39240]|0;b[A+3>>0]=b[39241]|0;b[A+4>>0]=b[39242]|0;b[A+5>>0]=b[39243]|0;b[A+6>>0]=0;x=0;c=sa(992,a|0,A|0)|0;T=x;x=0;do if(T&1)N=108;else{T=f[c+4>>2]|0;x=0;Ga(f[(f[T>>2]|0)+32>>2]|0,z|0,T|0);T=x;x=0;if(T&1){N=108;break}d=z+11|0;c=b[d>>0]|0;T=c<<24>>24<0;x=0;c=ta(41,U|0,(T?f[z>>2]|0:z)|0,(T?f[z+4>>2]|0:c&255)|0)|0;T=x;x=0;do if(T&1)c=Ya()|0;else{f[V>>2]=f[c>>2];f[V+4>>2]=f[c+4>>2];f[V+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,V|0,49838)|0;T=x;x=0;do if(T&1)c=Ya()|0;else{f[y>>2]=f[c>>2];f[y+4>>2]=f[c+4>>2];f[y+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;r=K;s=w;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));x=0;Fa(427,v|0);T=x;x=0;do if(T&1)c=Ya()|0;else{r=v+12|0;s=K;t=r+40|0;do{f[r>>2]=f[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));b[v+52>>0]=0;b[v+53>>0]=0;b[v+54>>0]=0;f[v+56>>2]=4;f[v>>2]=11668;b[v+60>>0]=0;b[v+61>>0]=0;x=0;Ia(101,v+64|0,y|0,1);T=x;x=0;if(T&1){c=Ya()|0;break}f[v+76>>2]=0;if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);if((b[d>>0]|0)<0)Hta(f[z>>2]|0);if((b[i>>0]|0)<0)Hta(f[A>>2]|0);if((b[U+11>>0]|0)<0)Hta(f[U>>2]|0);if((b[S+11>>0]|0)<0)Hta(f[S>>2]|0);if((b[j>>0]|0)<0)Hta(f[B>>2]|0);if((b[k>>0]|0)<0)Hta(f[D>>2]|0);if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);if((b[l>>0]|0)<0)Hta(f[F>>2]|0);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);if((b[q>>0]|0)<0)Hta(f[M>>2]|0);V=v;u=Q;return V|0}while(0);if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0)}while(0);if((b[V+11>>0]|0)>=0)break;Hta(f[V>>2]|0)}while(0);if((b[d>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);if((N|0)==108)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[A>>2]|0);if((b[U+11>>0]|0)>=0)break;Hta(f[U>>2]|0)}while(0);if((b[S+11>>0]|0)>=0)break;Hta(f[S>>2]|0)}while(0);if((b[j>>0]|0)>=0)break;Hta(f[B>>2]|0)}while(0);if((N|0)==105)c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[D>>2]|0);if((b[P+11>>0]|0)>=0)break;Hta(f[P>>2]|0)}while(0);if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0)}while(0);if((b[l>>0]|0)>=0)break;Hta(f[F>>2]|0)}}while(0);if((N|0)==102)c=Ya()|0;if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0)}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0)}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0)}if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0)}}if((N|0)==98)c=Ya()|0;if((b[q>>0]|0)<0)Hta(f[M>>2]|0);Hta(v);V=c;jb(V|0)}}}while(0);if((N|0)==82)c=Ya()|0;if((b[q>>0]|0)<0)Hta(f[K>>2]|0);V=c;jb(V|0);return 0}function Md(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;va=0;ta=u;u=u+512|0;na=ta+224|0;la=ta+184|0;ka=ta+448|0;ra=ta;m=ta+472|0;o=ta+460|0;wa=ta+432|0;ea=ta+440|0;fa=ta+392|0;ma=ta+376|0;ga=ta+364|0;ua=ta+352|0;ha=ta+344|0;ja=ta+328|0;oa=ta+320|0;pa=ta+280|0;sa=ta+264|0;ia=d+4|0;h=f[ia>>2]|0;da=d+8|0;r=f[da>>2]|0;n=h>>>0>>0;a:do if(e)if(n){d=0;l=h;while(1){i=b[l>>0]|0;if(!(i<<24>>24)){va=23;break a}do if(d)d=0;else if(i<<24>>24==92)d=1;else{d=b[36397]|0;if(!(d<<24>>24))if(!l){d=0;break}else{i=0;break a}if(i<<24>>24==d<<24>>24){d=l;j=36397;while(1){d=d+1|0;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24)){d=l;va=22;break a}if((b[d>>0]|0)!=k<<24>>24){d=0;break}}}else d=0}while(0);l=l+1|0;if(l>>>0>=r>>>0){va=23;break}}}else va=23;else if(n){i=0;d=h;while(1){j=b[d>>0]|0;if(!(j<<24>>24)){va=23;break a}b:do if(i)i=0;else if(j<<24>>24==92)i=1;else{j=RC(d)|0;if(!j){i=b[36397]|0;if(!(i<<24>>24))if(!d){i=0;d=0;break}else{i=0;break a}else{j=d;k=36397;l=i}while(1){if((b[j>>0]|0)!=l<<24>>24){i=0;break b}k=k+1|0;l=b[k>>0]|0;if(!(l<<24>>24)){va=22;break a}else j=j+1|0}}else{i=0;d=j}}while(0);d=d+1|0;if(d>>>0>=r>>>0){va=23;break}}}else va=23;while(0);if((va|0)==22)if(!d)va=23;if((va|0)==23){k=VN(80)|0;j=m;p=c+108|0;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;j=r-h|0;do if(j>>>0>4294967279){x=0;Fa(428,o|0);x=0;va=38}else{if(j>>>0<11){b[o+11>>0]=j;d=o}else{i=j+16&-16;x=0;d=qa(318,i|0)|0;wa=x;x=0;if(wa&1){va=38;break}f[o>>2]=d;f[o+8>>2]=i|-2147483648;f[o+4>>2]=j}if((h|0)!=(r|0)){i=d;while(1){b[i>>0]=b[h>>0]|0;h=h+1|0;if((h|0)==(r|0))break;else i=i+1|0}d=d+j|0}b[d>>0]=0;x=0;j=na;p=m;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));Na(1,k|0,na|0,o|0,0,0,0,1,g|0);wa=x;x=0;if(wa&1){d=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if(!e){d=k+60|0;if(b[d>>0]|0)b[d>>0]=42}qV(a,k);f[a>>2]=7904;u=ta;return}while(0);if((va|0)==38)d=Ya()|0;Hta(k);wa=d;jb(wa|0)}m=VN(88)|0;Z=c+108|0;j=na;p=Z;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));x=0;Fa(427,m|0);ca=x;x=0;do if(ca&1){d=Ya()|0;va=93}else{j=m+12|0;p=na;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;d=m+56|0;f[m>>2]=11536;f[d>>2]=4;j=m+60|0;f[j>>2]=9660;k=m+64|0;l=m+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,0);ca=x;x=0;if(ca&1){d=Ya()|0;j=I;h=f[k>>2]|0;if(h|0){i=f[l>>2]|0;if((i|0)!=(h|0)){do{wa=i+-8|0;f[l>>2]=wa;Kc[f[f[wa>>2]>>2]&511](wa);i=f[l>>2]|0}while((i|0)!=(h|0));h=f[k>>2]|0}Hta(h)}va=93;break}f[m>>2]=11364;f[j>>2]=11496;b[m+80>>0]=g&1;f[m+84>>2]=0;f[d>>2]=4;qV(wa,m);f[wa>>2]=13648;$=wa+4|0;d=f[$>>2]|0;b[d+54>>0]=1;c:do if(n){V=ma+11|0;t=ma+8|0;v=ma+4|0;w=c+80|0;U=la+11|0;y=c+108|0;P=ka+11|0;R=ja+11|0;z=la+8|0;A=la+4|0;B=ga+4|0;C=ga+8|0;D=c+40|0;E=c+148|0;F=c+72|0;W=ra+148|0;Y=ra+56|0;aa=ra+44|0;G=ka+4|0;ca=ua+4|0;ba=ra+48|0;_=ra+60|0;X=ra+152|0;H=c+76|0;J=na+8|0;K=na+4|0;S=la+11|0;L=la+7|0;M=ka+8|0;N=ka+4|0;Q=ka+11|0;T=na+11|0;O=la+8|0;n=r;m=i;d=i;d:while(1){e:do if(e){d=0;k=h;l=m;while(1){i=b[k>>0]|0;if(!(i<<24>>24)){va=219;break d}do if(d){d=0;i=l}else if(i<<24>>24==92){d=1;i=l}else{if(!(l<<24>>24))if(!k){d=0;i=0;break}else{i=k;s=0;r=0;break e}if(i<<24>>24==l<<24>>24){d=k;i=36397;while(1){d=d+1|0;i=i+1|0;j=b[i>>0]|0;if(!(j<<24>>24)){i=k;j=l;d=l;va=73;break e}if((b[d>>0]|0)!=j<<24>>24){d=0;i=l;break}}}else{d=0;i=l}}while(0);k=k+1|0;if(k>>>0>=n>>>0){va=219;break d}else l=i}}else{k=0;i=h;while(1){j=b[i>>0]|0;if(!(j<<24>>24)){va=219;break d}f:do if(k)k=0;else if(j<<24>>24==92)k=1;else{x=0;j=qa(355,i|0)|0;s=x;x=0;if(s&1){va=94;break c}if(!j){if(!(d<<24>>24))if(!i){k=0;i=0;d=0;break}else{s=0;r=m;break e}else{j=i;k=36397;l=d}while(1){if((b[j>>0]|0)!=l<<24>>24){k=0;break f}k=k+1|0;l=b[k>>0]|0;if(!(l<<24>>24)){j=m;va=73;break e}else j=j+1|0}}else{k=0;i=j}}while(0);i=i+1|0;if(i>>>0>=n>>>0){va=219;break d}}}while(0);if((va|0)==73){va=0;if(!i){va=219;break}else{s=d;r=j}}if(h>>>0>>0){m=(f[$>>2]|0)+60|0;n=f[(f[m>>2]|0)+20>>2]|0;x=0;o=qa(318,80)|0;q=x;x=0;if(q&1){va=94;break c}j=fa;p=Z;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;l=i-h|0;if(l>>>0>4294967279){va=77;break}if(l>>>0<11){b[V>>0]=l;d=ma}else{j=l+16&-16;x=0;d=qa(318,j|0)|0;q=x;x=0;if(q&1){va=95;break}f[ma>>2]=d;f[t>>2]=j|-2147483648;f[v>>2]=l}if((h|0)!=(i|0)){j=d;k=h;while(1){b[j>>0]=b[k>>0]|0;k=k+1|0;if((k|0)==(i|0))break;else j=j+1|0}d=d+l|0}b[d>>0]=0;j=la;p=fa;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));x=0;Fa(427,o|0);q=x;x=0;if(q&1){d=1;va=96;break}j=o+12|0;p=la;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;f[o+56>>2]=4;f[o>>2]=11668;b[o+60>>0]=0;b[o+61>>0]=0;x=0;Ia(101,o+64|0,ma|0,g|0);q=x;x=0;if(q&1){va=87;break}f[o+76>>2]=0;x=0;Ga(462,ea|0,o|0);q=x;x=0;if(q&1){d=0;va=96;break}f[ea>>2]=7696;x=0;Ga(n|0,m|0,ea|0);q=x;x=0;if(q&1){va=98;break}_P(ea);if((b[V>>0]|0)<0)Hta(f[ma>>2]|0)}k=i+2|0;x=0;d=qa(348,k|0)|0;q=x;x=0;if(q&1){va=94;break c}x=0;d=qa(356,(d|0?d:k)|0)|0;q=x;x=0;if(q&1){va=94;break c}if(d|0){i=b[51458]|0;g:do if(!(i<<24>>24))i=0;else{j=51458;while(1){if((b[d>>0]|0)!=i<<24>>24)break g;d=d+1|0;j=j+1|0;i=b[j>>0]|0;if(!(i<<24>>24)){i=0;break}}}while(0);q=i<<24>>24==0?d:0;if(!((q|0)==0?1:q>>>0>(f[w>>2]|0)>>>0)){f[H>>2]=k;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;x=0;d=qa(318,16)|0;q=x;x=0;if(q&1){va=120;break}f[na>>2]=d;f[J>>2]=-2147483632;f[K>>2]=11;j=d;p=44242;q=j+11|0;do{b[j>>0]=b[p>>0]|0;j=j+1|0;p=p+1|0}while((j|0)<(q|0));b[d+11>>0]=0;f[O>>2]=0;b[S>>0]=7;b[la>>0]=b[44254]|0;b[la+1>>0]=b[44255]|0;b[la+2>>0]=b[44256]|0;b[la+3>>0]=b[44257]|0;b[la+4>>0]=b[44258]|0;b[la+5>>0]=b[44259]|0;b[la+6>>0]=b[44260]|0;b[L>>0]=0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;x=0;d=qa(318,48)|0;q=x;x=0;if(q&1){va=121;break}f[ka>>2]=d;f[M>>2]=-2147483600;f[N>>2]=44;j=d;p=44621;q=j+44|0;do{b[j>>0]=b[p>>0]|0;j=j+1|0;p=p+1|0}while((j|0)<(q|0));b[d+44>>0]=0;x=0;Ka(8,c|0,na|0,la|0,ka|0,1);q=x;x=0;if(q&1){va=122;break}if((b[Q>>0]|0)<0)Hta(f[ka>>2]|0);if((b[S>>0]|0)<0)Hta(f[la>>2]|0);if((b[T>>0]|0)<0)Hta(f[na>>2]|0)}}l=f[da>>2]|0;d=rl(k,l)|0;if(!d){i=f[ia>>2]|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;k=l-i|0;if(k>>>0>4294967279){va=190;break}if(k>>>0<11){b[U>>0]=k;d=la}else{j=k+16&-16;x=0;d=qa(318,j|0)|0;q=x;x=0;if(q&1){va=210;break}f[la>>2]=d;f[z>>2]=j|-2147483648;f[A>>2]=k}if((i|0)!=(l|0)){j=d;while(1){b[j>>0]=b[i>>0]|0;i=i+1|0;if((i|0)==(l|0))break;else j=j+1|0}d=d+k|0}b[d>>0]=0;x=0;Ia(92,ja|0,44666,la|0);q=x;x=0;if(q&1){va=211;break}x=0;Ga(459,ka|0,ja|0);q=x;x=0;if(q&1){va=212;break}x=0;f[na>>2]=f[y>>2];f[na+4>>2]=f[y+4>>2];f[na+8>>2]=f[y+8>>2];Ia(113,c|0,ka|0,na|0);q=x;x=0;if(q&1){va=203;break}if((b[P>>0]|0)<0)Hta(f[ka>>2]|0);if((b[R>>0]|0)<0)Hta(f[ja>>2]|0);if((b[U>>0]|0)<0)Hta(f[la>>2]|0);d=f[da>>2]|0}else{h=d+-1|0;f[ga>>2]=k;f[B>>2]=k;f[C>>2]=h;d=f[D>>2]|0;x=0;Ga(511,ua|0,E|0);q=x;x=0;if(q&1){va=159;break}i=f[F>>2]|0;x=0;f[la>>2]=f[ga>>2];f[la+4>>2]=f[ga+4>>2];f[la+8>>2]=f[ga+8>>2];j=na;p=Z;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));La(20,ra|0,la|0,d|0,ua|0,na|0,i|0);q=x;x=0;if(q&1){va=160;break}x=0;Ia(114,ka|0,ra|0,0);q=x;x=0;if(q&1){va=161;break}d=f[W>>2]|0;if(d|0){i=f[X>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[X>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[X>>2]|0}else i=j}while((i|0)!=(d|0));d=f[W>>2]|0}Hta(d)}d=f[Y>>2]|0;if(d|0){i=f[_>>2]|0;if((i|0)!=(d|0))f[_>>2]=i+(~((i+-4-d|0)>>>2)<<2);Hta(d)}d=f[aa>>2]|0;if(d|0){i=f[ba>>2]|0;if((i|0)!=(d|0)){do{q=i+-8|0;f[ba>>2]=q;Kc[f[f[q>>2]>>2]&511](q);i=f[ba>>2]|0}while((i|0)!=(d|0));d=f[aa>>2]|0}Hta(d)}d=f[ua>>2]|0;if(d|0){i=f[ca>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[ca>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[ca>>2]|0}else i=j}while((i|0)!=(d|0));d=f[ua>>2]|0}Hta(d)}q=f[G>>2]|0;b[q+54>>0]=1;d=(f[$>>2]|0)+60|0;i=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,ha|0,q|0);q=x;x=0;if(q&1){va=185;break}f[ha>>2]=7696;x=0;Ga(i|0,d|0,ha|0);q=x;x=0;if(q&1){va=186;break}_P(ha);_P(ka);d=l}h=h+1|0;if(h>>>0>>0){n=d;m=r;d=s}else{va=245;break}}h:switch(va|0){case 77:{x=0;Fa(428,ma|0);x=0;va=95;break}case 87:{d=Ya()|0;h=1;va=97;break}case 96:{ua=Ya()|0;h=d;d=ua;va=97;break}case 98:{d=Ya()|0;_P(ea);h=0;va=99;break}case 120:{d=Ya()|0;va=128;break}case 121:{d=Ya()|0;va=124;break}case 122:{d=Ya()|0;if((b[Q>>0]|0)<0){Hta(f[ka>>2]|0);va=124}else va=124;break}case 159:{d=Ya()|0;va=184;break}case 160:{d=Ya()|0;k=I;va=177;break}case 161:{d=Ya()|0;k=I;h=f[W>>2]|0;if(h|0){i=f[X>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[X>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[X>>2]|0}else i=j}while((i|0)!=(h|0));h=f[W>>2]|0}Hta(h)}h=f[Y>>2]|0;if(h|0){i=f[_>>2]|0;if((i|0)!=(h|0))f[_>>2]=i+(~((i+-4-h|0)>>>2)<<2);Hta(h)}h=f[aa>>2]|0;if(!h)va=177;else{i=f[ba>>2]|0;if((i|0)!=(h|0)){do{va=i+-8|0;f[ba>>2]=va;Kc[f[f[va>>2]>>2]&511](va);i=f[ba>>2]|0}while((i|0)!=(h|0));h=f[aa>>2]|0}Hta(h);va=177}break}case 185:{d=Ya()|0;va=187;break}case 186:{d=Ya()|0;_P(ha);va=187;break}case 190:{x=0;Fa(428,la|0);x=0;va=210;break}case 203:{d=Ya()|0;if((b[P>>0]|0)<0){Hta(f[ka>>2]|0);va=213}else va=213;break}case 211:{d=Ya()|0;va=215;break}case 212:{d=Ya()|0;va=213;break}case 219:{if(h>>>0>>0){k=(f[$>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;x=0;m=qa(318,80)|0;ua=x;x=0;if(ua&1){va=94;break c}j=pa;p=Z;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;j=n-h|0;do if(j>>>0>4294967279){x=0;Fa(428,sa|0);x=0;va=237}else{if(j>>>0<11){b[sa+11>>0]=j;d=sa}else{i=j+16&-16;x=0;d=qa(318,i|0)|0;ua=x;x=0;if(ua&1){va=237;break}f[sa>>2]=d;f[sa+8>>2]=i|-2147483648;f[sa+4>>2]=j}if((h|0)!=(n|0)){i=d;while(1){b[i>>0]=b[h>>0]|0;h=h+1|0;if((h|0)==(n|0))break;else i=i+1|0}d=d+j|0}b[d>>0]=0;j=ra;p=pa;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));x=0;Fa(427,m|0);ua=x;x=0;do if(ua&1){d=1;va=238}else{j=m+12|0;p=ra;q=j+40|0;do{f[j>>2]=f[p>>2];j=j+4|0;p=p+4|0}while((j|0)<(q|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;f[m+56>>2]=4;f[m>>2]=11668;b[m+60>>0]=0;b[m+61>>0]=0;x=0;Ia(101,m+64|0,sa|0,g|0);ua=x;x=0;if(ua&1){d=Ya()|0;h=1;va=239;break}f[m+76>>2]=0;x=0;Ga(462,oa|0,m|0);ua=x;x=0;if(ua&1){d=0;va=238}else{f[oa>>2]=7696;x=0;Ga(l|0,k|0,oa|0);ua=x;x=0;if(ua&1){d=Ya()|0;_P(oa);h=0;break}_P(oa);if((b[sa+11>>0]|0)>=0){va=245;break h}Hta(f[sa>>2]|0);va=245;break h}}while(0);if((va|0)==238){ua=Ya()|0;h=d;d=ua;va=239}if((b[sa+11>>0]|0)<0){Hta(f[sa>>2]|0);if(h)break;else break c}else if(h)break;else break c}while(0);if((va|0)==237)d=Ya()|0;Hta(m);break c}else va=245;break}}if((va|0)==95){d=Ya()|0;va=102}else if((va|0)==97)va=99;else if((va|0)==124){if((b[S>>0]|0)<0)Hta(f[la>>2]|0);if((b[T>>0]|0)<0){Hta(f[na>>2]|0);va=128}else va=128}else if((va|0)==177){h=f[ua>>2]|0;if(!h)va=184;else{i=f[ca>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[ca>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[ca>>2]|0}else i=j}while((i|0)!=(h|0));h=f[ua>>2]|0}Hta(h);va=184}}else if((va|0)==187){_P(ka);va=188}else if((va|0)==210){d=Ya()|0;va=217}else if((va|0)==213)if((b[R>>0]|0)<0){Hta(f[ja>>2]|0);va=215}else va=215;else if((va|0)==245){d=f[$>>2]|0;va=246;break}do if((va|0)==99)if((b[V>>0]|0)<0){Hta(f[ma>>2]|0);if(h){va=102;break}else break c}else if(h){va=102;break}else break c;else if((va|0)==128)break c;else if((va|0)==184)va=188;else if((va|0)==215)if((b[U>>0]|0)<0){Hta(f[la>>2]|0);va=217}else va=217;while(0);if((va|0)==102){Hta(o);break}else if((va|0)==188)break;else if((va|0)==217)break}else va=246;while(0);if((va|0)==246){if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);va=x;x=0;if(va&1)va=94;else{f[a>>2]=7904;_P(wa);u=ta;return}}if((va|0)==94)d=Ya()|0;_P(wa)}while(0);if((va|0)==93)Hta(m);wa=d;jb(wa|0)}function Nd(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.0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0;K=0;G=u;u=u+384|0;E=G+40|0;H=G;O=G+312|0;N=G+264|0;M=G+192|0;j=G+336|0;t=G+320|0;L=G+160|0;q=G+272|0;v=G+248|0;y=G+240|0;w=G+200|0;z=G+180|0;A=G+168|0;D=G+80|0;B=G+144|0;C=G+104|0;F=G+96|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;e=E+11|0;b[e>>0]=5;b[E>>0]=b[40395]|0;b[E+1>>0]=b[40396]|0;b[E+2>>0]=b[40397]|0;b[E+3>>0]=b[40398]|0;b[E+4>>0]=b[40399]|0;b[E+5>>0]=0;x=0;c=sa(992,a|0,E|0)|0;s=x;x=0;if(!(s&1)){c=f[c+4>>2]|0;if(!c)c=0;else c=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,O|0,c|0);s=x;x=0;if(!(s&1)){f[O>>2]=16784;if((b[e>>0]|0)<0)Hta(f[E>>2]|0);f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;e=E+11|0;b[e>>0]=5;b[E>>0]=b[40395]|0;b[E+1>>0]=b[40396]|0;b[E+2>>0]=b[40397]|0;b[E+3>>0]=b[40398]|0;b[E+4>>0]=b[40399]|0;b[E+5>>0]=0;x=0;c=sa(992,a|0,E|0)|0;s=x;x=0;if(s&1)K=66;else{x=0;c=qa(340,f[c+4>>2]|0)|0;s=x;x=0;if(s&1)K=66;else{x=0;Ga(462,N|0,c|0);s=x;x=0;if(s&1)K=66;else{f[N>>2]=7584;if((b[e>>0]|0)<0)Hta(f[E>>2]|0);f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;r=H+11|0;b[r>>0]=2;d[H>>1]=28196;b[H+2>>0]=0;l=j;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));x=0;Ga(511,t|0,i|0);s=x;x=0;do if(s&1){c=Ya()|0;K=77}else{x=0;l=E;m=j;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));c=wa(24,H|0,a|0,g|0,E|0,t|0)|0;s=x;x=0;if(!(s&1)){x=0;Ga(462,M|0,c|0);s=x;x=0;if(!(s&1)){f[M>>2]=16744;c=f[t>>2]|0;if(c|0){k=t+4|0;e=f[k>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[k>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=j}while((e|0)!=(c|0));c=f[t>>2]|0}Hta(c)}if((b[r>>0]|0)<0)Hta(f[H>>2]|0);f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;r=H+11|0;b[r>>0]=6;b[H>>0]=b[40507]|0;b[H+1>>0]=b[40508]|0;b[H+2>>0]=b[40509]|0;b[H+3>>0]=b[40510]|0;b[H+4>>0]=b[40511]|0;b[H+5>>0]=b[40512]|0;b[H+6>>0]=0;l=q;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));x=0;Ga(511,v|0,i|0);t=x;x=0;a:do if(t&1){c=Ya()|0;K=88}else{x=0;l=E;m=q;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));c=wa(25,H|0,a|0,g|0,E|0,v|0)|0;t=x;x=0;do if(!(t&1)){x=0;Ga(462,L|0,c|0);t=x;x=0;if(t&1)break;f[L>>2]=7696;c=f[v>>2]|0;if(c|0){k=v+4|0;e=f[k>>2]|0;if((e|0)!=(c|0)){j=e;while(1){e=j+-52|0;f[k>>2]=e;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);e=f[k>>2]|0}if((e|0)==(c|0))break;else j=e}c=f[v>>2]|0}Hta(c)}if((b[r>>0]|0)<0)Hta(f[H>>2]|0);t=N+4|0;b:do if(!(f[t>>2]|0)){x=0;q=qa(318,88)|0;v=x;x=0;c:do if(v&1)K=91;else{l=H;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));x=0;Fa(427,q|0);v=x;x=0;do if(v&1)c=Ya()|0;else{l=q+12|0;m=H;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));b[q+52>>0]=0;b[q+53>>0]=0;b[q+54>>0]=0;c=q+56|0;f[c>>2]=0;f[q>>2]=6516;e=q+60|0;f[e>>2]=9660;l=q+64|0;m=q+68|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(516,l|0,1);v=x;x=0;if(v&1){c=Ya()|0;k=I;e=f[l>>2]|0;if(e|0){j=f[m>>2]|0;if((j|0)!=(e|0)){do{H=j+-8|0;f[m>>2]=H;Kc[f[f[H>>2]>>2]&511](H);j=f[m>>2]|0}while((j|0)!=(e|0));e=f[l>>2]|0}Hta(e)}break}f[q>>2]=9488;f[e>>2]=9620;f[q+80>>2]=1;b[q+84>>0]=0;b[q+85>>0]=0;b[q+86>>0]=0;f[c>>2]=5;x=0;Ga(462,E|0,q|0);v=x;x=0;if(v&1){K=91;break c}f[E>>2]=7584;do if(f[t>>2]|0){x=0;Fa(429,N|0);v=x;x=0;if(!(v&1))break;c=Ya()|0;_P(E);break c}while(0);e=E+4|0;f[t>>2]=f[e>>2];f[e>>2]=0;_P(E);e=(f[t>>2]|0)+60|0;j=f[(f[e>>2]|0)+20>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;q=H+11|0;b[q>>0]=5;b[H>>0]=b[40395]|0;b[H+1>>0]=b[40396]|0;b[H+2>>0]=b[40397]|0;b[H+3>>0]=b[40398]|0;b[H+4>>0]=b[40399]|0;b[H+5>>0]=0;l=w;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));x=0;Ga(511,z|0,i|0);v=x;x=0;do if(v&1)c=Ya()|0;else{x=0;l=E;m=w;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));c=wa(25,H|0,a|0,g|0,E|0,z|0)|0;a=x;x=0;do if(a&1)K=97;else{x=0;Ga(462,y|0,c|0);a=x;x=0;if(a&1){K=97;break}f[y>>2]=7696;x=0;Ga(j|0,e|0,y|0);a=x;x=0;if(a&1){c=Ya()|0;l=I;_P(y);break}_P(y);c=f[z>>2]|0;if(c|0){k=z+4|0;e=f[k>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[k>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=j}while((e|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[H>>2]|0);K=109;break b}while(0);if((K|0)==97){c=Ya()|0;l=I}e=f[z>>2]|0;if(!e)break;m=z+4|0;j=f[m>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(e|0));e=f[z>>2]|0}Hta(e)}while(0);if((b[q>>0]|0)<0)Hta(f[H>>2]|0);break b}while(0);Hta(q)}while(0);if((K|0)==91)c=Ya()|0}else K=109;while(0);d:do if((K|0)==109){c=f[O+4>>2]|0;e:do if(c|0){x=0;Ia(107,E|0,c|0,h|0);z=x;x=0;f:do if(z&1)c=Ya()|0;else{do if(f[t>>2]|0){x=0;Fa(429,N|0);z=x;x=0;if(!(z&1))break;c=Ya()|0;_P(E);break f}while(0);z=E+4|0;f[t>>2]=f[z>>2];f[z>>2]=0;_P(E);break e}while(0);break d}while(0);z=f[t>>2]|0;g:do if((f[z+64>>2]|0)==(f[z+68>>2]|0)){f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;j=hL(g)|0;do if(j>>>0>4294967279){x=0;Fa(428,D|0);x=0;K=135}else{if(j>>>0<11){b[D+11>>0]=j;if(!j)c=D;else{c=D;K=124}}else{e=j+16&-16;x=0;c=qa(318,e|0)|0;K=x;x=0;if(K&1){K=135;break}f[D>>2]=c;f[D+8>>2]=e|-2147483648;f[D+4>>2]=j;K=124}if((K|0)==124)Lu(c|0,g|0,j|0)|0;b[c+j>>0]=0;x=0;c=ta(43,D|0,0,40401)|0;z=x;x=0;do if(z&1)c=Ya()|0;else{f[H>>2]=f[c>>2];f[H+4>>2]=f[c+4>>2];f[H+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,H|0,40423)|0;z=x;x=0;do if(z&1)c=Ya()|0;else{f[A>>2]=f[c>>2];f[A+4>>2]=f[c+4>>2];f[A+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;l=E;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));Ia(100,A|0,E|0,i|0);z=x;x=0;if(z&1){c=Ya()|0;if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0);break}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);break g}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0)}while(0);if((K|0)==135)c=Ya()|0;break d}while(0);o=+p[(f[M+4>>2]|0)+88>>3];if(o<0.0){A=f[t>>2]|0;n=+((f[A+68>>2]|0)-(f[A+64>>2]|0)>>3>>>0)}else n=-1.0;n=+J(+(n+o));if(n<0.0)K=149;else{A=f[t>>2]|0;if(n>+((((f[A+68>>2]|0)-(f[A+64>>2]|0)>>3)+-1|0)>>>0))K=149}h:do if((K|0)==149){f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;j=hL(g)|0;do if(j>>>0>4294967279){x=0;Fa(428,D|0);x=0;K=166}else{if(j>>>0<11){b[D+11>>0]=j;if(!j)c=D;else{c=D;K=155}}else{e=j+16&-16;x=0;c=qa(318,e|0)|0;K=x;x=0;if(K&1){K=166;break}f[D>>2]=c;f[D+8>>2]=e|-2147483648;f[D+4>>2]=j;K=155}if((K|0)==155)Lu(c|0,g|0,j|0)|0;b[c+j>>0]=0;x=0;c=ta(43,D|0,0,40443)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[H>>2]=f[c>>2];f[H+4>>2]=f[c+4>>2];f[H+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,H|0,48413)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[B>>2]=f[c>>2];f[B+4>>2]=f[c+4>>2];f[B+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;l=E;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));Ia(100,B|0,E|0,i|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);break h}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0)}while(0);if((K|0)==166)c=Ya()|0;break d}while(0);x=0;r=qa(318,88)|0;H=x;x=0;if(H&1){c=Ya()|0;break}l=C;m=h;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));k=f[t>>2]|0;c=f[k+68>>2]|0;e=f[k+64>>2]|0;j=f[k+80>>2]|0;k=b[k+85>>0]|0;l=E;m=C;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));x=0;Fa(427,r|0);H=x;x=0;do if(H&1)c=Ya()|0;else{e=c-e>>3;l=r+12|0;m=E;s=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(s|0));b[r+52>>0]=0;b[r+53>>0]=0;b[r+54>>0]=0;c=r+56|0;f[c>>2]=0;f[r>>2]=6516;q=r+60|0;f[q>>2]=9660;l=r+64|0;m=r+68|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(516,l|0,e|0);H=x;x=0;if(H&1){c=Ya()|0;k=I;e=f[l>>2]|0;if(e|0){j=f[m>>2]|0;if((j|0)!=(e|0)){do{H=j+-8|0;f[m>>2]=H;Kc[f[f[H>>2]>>2]&511](H);j=f[m>>2]|0}while((j|0)!=(e|0));e=f[l>>2]|0}Hta(e)}break}f[r>>2]=9488;f[q>>2]=9620;f[r+80>>2]=j;b[r+84>>0]=0;b[r+85>>0]=k;b[r+86>>0]=0;f[c>>2]=5;k=f[t>>2]|0;k=(f[k+68>>2]|0)-(f[k+64>>2]|0)>>3;if(!k){_P(L);_P(M);_P(N);_P(O);u=G;return r|0}c=0;e=9620;while(1){e=f[e+20>>2]|0;if(n==+(c>>>0))j=L;else j=(f[(f[t>>2]|0)+64>>2]|0)+(c<<3)|0;x=0;Ga(462,F|0,f[j+4>>2]|0);K=x;x=0;if(K&1){K=191;break}f[F>>2]=7696;x=0;Ga(e|0,q|0,F|0);K=x;x=0;if(K&1){K=198;break}_P(F);c=c+1|0;if(c>>>0>=k>>>0){K=187;break}e=f[q>>2]|0}if((K|0)==187){_P(L);_P(M);_P(N);_P(O);u=G;return r|0}else if((K|0)==191){c=Ya()|0;break d}else if((K|0)==198){c=Ya()|0;_P(F);break d}}while(0);Hta(r)}while(0);_P(L);break a}while(0);c=Ya()|0;l=I;e=f[v>>2]|0;if(!e){K=88;break}m=v+4|0;j=f[m>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(e|0));e=f[v>>2]|0}Hta(e);K=88}while(0);if((K|0)==88)if((b[r>>0]|0)<0)Hta(f[H>>2]|0);_P(M);break}}c=Ya()|0;l=I;e=f[t>>2]|0;if(!e)K=77;else{m=t+4|0;j=f[m>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(e|0));e=f[t>>2]|0}Hta(e);K=77}}while(0);if((K|0)==77)if((b[r>>0]|0)<0)Hta(f[H>>2]|0);_P(N)}}}if((K|0)==66){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[E>>2]|0)}_P(O);O=c;jb(O|0)}}c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[E>>2]|0);O=c;jb(O|0);return 0}function Od(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;ca=0;aa=u;u=u+624|0;ba=aa+200|0;Y=aa+160|0;T=aa+120|0;N=aa+80|0;n=aa+40|0;D=aa;l=aa+616|0;o=aa+576|0;p=aa+568|0;q=aa+560|0;I=aa+552|0;L=aa+512|0;U=aa+504|0;V=aa+496|0;S=aa+456|0;Z=aa+448|0;_=aa+440|0;M=aa+400|0;W=aa+392|0;X=aa+384|0;E=aa+344|0;O=aa+336|0;P=aa+328|0;F=aa+288|0;Q=aa+280|0;R=aa+272|0;G=aa+264|0;H=aa+256|0;J=aa+248|0;K=aa+240|0;$=d+4|0;m=f[$>>2]|0;a:do if(m|0)if((f[327]|0)==(f[(f[(f[m>>2]|0)+-4>>2]|0)+4>>2]|0)){i=f[m+64>>2]|0;j=f[m+68>>2]|0;if((i|0)!=(j|0)){k=ba+4|0;while(1){qV(ba,f[i+4>>2]|0);f[ba>>2]=7696;C=b[(f[k>>2]|0)+54>>0]|0;_P(ba);i=i+8|0;if(C<<24>>24)break;if((i|0)==(j|0))break a}i=h+1|0;C=f[e>>2]|0;j=C;if(i>>>0<(f[e+4>>2]|0)-C>>3>>>0){switch(f[f[g>>2]>>2]|0){case 5:case 7:case 4:case 6:case 3:case 10:case 11:case 8:case 2:break;default:break a}qV(l,f[j+(h<<3)+4>>2]|0);f[l>>2]=7696;x=0;La(21,a|0,c|0,l|0,e|0,g|0,i|0);_=x;x=0;if(_&1){ca=Ya()|0;_P(l);jb(ca|0)}_P(l);x=0;l=qa(318,88)|0;_=x;x=0;b:do if(_&1)i=Ya()|0;else{A=o;B=(f[$>>2]|0)+12|0;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));j=f[g>>2]|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=0;Ga(462,p|0,m|0);$=x;x=0;do if($&1)i=Ya()|0;else{f[p>>2]=7696;k=a+4|0;x=0;Ga(462,q|0,f[k>>2]|0);$=x;x=0;if($&1){i=Ya()|0;_P(p);break}f[q>>2]=7696;A=n;B=o;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));x=0;Fa(427,l|0);$=x;x=0;c:do if($&1){i=1;ca=29}else{A=l+12|0;B=n;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;f[l>>2]=9868;$=l+60|0;f[$>>2]=i;f[$+4>>2]=j;i=l+68|0;x=0;Ga(462,i|0,f[p+4>>2]|0);$=x;x=0;do if($&1)i=Ya()|0;else{f[i>>2]=7696;j=l+76|0;x=0;Ga(462,j|0,f[q+4>>2]|0);$=x;x=0;if($&1){ca=Ya()|0;_P(i);i=ca;break}f[j>>2]=7696;f[l+84>>2]=0;x=0;Ga(462,ba|0,l|0);$=x;x=0;if($&1){i=0;ca=29;break c}f[ba>>2]=7696;if((ba|0)!=(a|0)){do if(f[k>>2]|0){x=0;Fa(429,a|0);$=x;x=0;if(!($&1))break;i=Ya()|0;_P(ba);j=0;break c}while(0);ca=ba+4|0;f[k>>2]=f[ca>>2];f[ca>>2]=0}_P(ba);_P(q);_P(p);u=aa;return}while(0);j=1;ca=30}while(0);if((ca|0)==29){ba=Ya()|0;j=i;i=ba;ca=30}_P(q);_P(p);if(!j)break b}while(0);Hta(l)}while(0);_P(a);ca=i;jb(ca|0)}}}while(0);i=f[e>>2]|0;z=(f[e+4>>2]|0)-i>>3;d:do if(z>>>0>h>>>0){m=Q+4|0;n=R+4|0;o=(ba|0)==(d|0);p=ba+4|0;q=G+4|0;r=H+4|0;s=O+4|0;t=P+4|0;v=(Y|0)==(d|0);w=Y+4|0;y=ba+4|0;e:while(1){l=f[i+(h<<3)+4>>2]|0;if(!l)ca=138;else if((f[327]|0)==(f[(f[(f[l>>2]|0)+-4>>2]|0)+4>>2]|0)){i=f[l+64>>2]|0;j=f[l+68>>2]|0;if((i|0)!=(j|0))do{qV(ba,f[i+4>>2]|0);f[ba>>2]=7696;C=b[(f[y>>2]|0)+54>>0]|0;_P(ba);i=i+8|0;if(C<<24>>24){ca=42;break e}}while((i|0)!=(j|0));l=VN(88)|0;i=f[$>>2]|0;A=E;B=i+12|0;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));k=(f[g>>2]|0)+(h<<3)|0;j=f[k>>2]|0;k=f[k+4>>2]|0;x=0;Ga(462,O|0,i|0);C=x;x=0;if(C&1){ca=130;break}f[O>>2]=7696;x=0;Ga(462,P|0,f[(f[e>>2]|0)+(h<<3)+4>>2]|0);C=x;x=0;if(C&1){ca=131;break}f[P>>2]=7696;A=ba;B=E;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));x=0;Fa(427,l|0);C=x;x=0;if(C&1){j=1;ca=132;break}A=l+12|0;B=ba;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;f[l>>2]=9868;i=l+60|0;f[i>>2]=j;f[i+4>>2]=k;i=l+68|0;x=0;Ga(462,i|0,f[s>>2]|0);C=x;x=0;if(C&1){ca=121;break}f[i>>2]=7696;j=l+76|0;x=0;Ga(462,j|0,f[t>>2]|0);C=x;x=0;if(C&1){ca=122;break}f[j>>2]=7696;f[l+84>>2]=0;x=0;Ga(462,Y|0,l|0);C=x;x=0;if(C&1){j=0;ca=132;break}f[Y>>2]=7696;if(!v){if(f[$>>2]|0){x=0;Fa(429,d|0);C=x;x=0;if(C&1){ca=134;break}}f[$>>2]=f[w>>2];f[w>>2]=0}_P(Y);_P(P);_P(O)}else ca=138;if((ca|0)==138){ca=0;l=VN(88)|0;i=f[$>>2]|0;A=F;B=i+12|0;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));k=(f[g>>2]|0)+(h<<3)|0;j=f[k>>2]|0;k=f[k+4>>2]|0;x=0;Ga(462,Q|0,i|0);C=x;x=0;if(C&1){ca=152;break}f[Q>>2]=7696;x=0;Ga(462,R|0,f[(f[e>>2]|0)+(h<<3)+4>>2]|0);C=x;x=0;if(C&1){ca=153;break}f[R>>2]=7696;A=D;B=F;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));x=0;Fa(427,l|0);C=x;x=0;if(C&1){j=1;ca=154;break}A=l+12|0;B=D;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;f[l>>2]=9868;i=l+60|0;f[i>>2]=j;f[i+4>>2]=k;i=l+68|0;x=0;Ga(462,i|0,f[m>>2]|0);C=x;x=0;if(C&1){ca=143;break}f[i>>2]=7696;j=l+76|0;x=0;Ga(462,j|0,f[n>>2]|0);C=x;x=0;if(C&1){ca=144;break}f[j>>2]=7696;f[l+84>>2]=0;x=0;Ga(462,ba|0,l|0);C=x;x=0;if(C&1){j=0;ca=154;break}f[ba>>2]=7696;if(!o){if(f[$>>2]|0){x=0;Fa(429,d|0);C=x;x=0;if(C&1){ca=156;break}}f[$>>2]=f[p>>2];f[p>>2]=0}_P(ba);_P(R);_P(Q)}i=f[$>>2]|0;do if(i|0)if((f[259]|0)==(f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0))if((f[(f[g>>2]|0)+(h<<3)>>2]|0)==11){qV(G,f[i+72>>2]|0);f[G>>2]=7696;if(!(b[(f[q>>2]|0)+52>>0]|0)){_P(G);break}x=0;Ga(462,H|0,f[i+80>>2]|0);C=x;x=0;if(C&1){ca=168;break e}f[H>>2]=7696;C=(b[(f[r>>2]|0)+52>>0]|0)==0;_P(H);_P(G);if(!C)b[(f[$>>2]|0)+52>>0]=1}while(0);i=h+1|0;if(i>>>0>=z>>>0)break d;h=i;i=f[e>>2]|0}switch(ca|0){case 42:{i=h+1|0;if(i>>>0>=z>>>0){l=VN(88)|0;k=f[$>>2]|0;A=M;B=k+12|0;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));j=(f[g>>2]|0)+(h<<3)|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=0;Ga(462,W|0,k|0);_=x;x=0;do if(_&1){i=Ya()|0;ca=114}else{f[W>>2]=7696;x=0;Ga(462,X|0,f[(f[e>>2]|0)+(h<<3)+4>>2]|0);_=x;x=0;if(_&1){i=Ya()|0;_P(W);ca=114;break}f[X>>2]=7696;A=Y;B=M;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));x=0;Fa(427,l|0);_=x;x=0;f:do if(_&1){j=1;ca=110}else{A=l+12|0;B=Y;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;f[l>>2]=9868;_=l+60|0;f[_>>2]=i;f[_+4>>2]=j;i=l+68|0;x=0;Ga(462,i|0,f[W+4>>2]|0);_=x;x=0;do if(_&1)i=Ya()|0;else{f[i>>2]=7696;j=l+76|0;x=0;Ga(462,j|0,f[X+4>>2]|0);_=x;x=0;if(_&1){ca=Ya()|0;_P(i);i=ca;break}f[j>>2]=7696;f[l+84>>2]=0;x=0;Ga(462,ba|0,l|0);_=x;x=0;if(_&1){j=0;ca=110;break f}f[ba>>2]=7696;if((ba|0)!=(d|0)){if(f[$>>2]|0){x=0;Fa(429,d|0);_=x;x=0;if(_&1){i=Ya()|0;_P(ba);j=0;break f}}ca=ba+4|0;f[$>>2]=f[ca>>2];f[ca>>2]=0}_P(ba);_P(X);_P(W);qV(a,f[$>>2]|0);f[a>>2]=7696;u=aa;return}while(0);j=1;ca=111}while(0);if((ca|0)==110){i=Ya()|0;ca=111}_P(X);_P(W);if(j)ca=114}while(0);if((ca|0)==114)Hta(l);ca=i;jb(ca|0)}qV(I,f[(f[e>>2]|0)+(i<<3)+4>>2]|0);f[I>>2]=7696;x=0;La(21,ba|0,c|0,I|0,e|0,g|0,h+2|0);X=x;x=0;if(X&1){i=Ya()|0;_P(I)}else{_P(I);x=0;k=qa(318,88)|0;X=x;x=0;g:do if(X&1){i=Ya()|0;ca=81}else{A=L;B=(f[$>>2]|0)+12|0;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));j=(f[g>>2]|0)+(h<<3)|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=0;Ga(462,U|0,l|0);X=x;x=0;do if(X&1)i=Ya()|0;else{f[U>>2]=7696;l=ba+4|0;x=0;Ga(462,V|0,f[l>>2]|0);X=x;x=0;if(X&1){i=Ya()|0;_P(U);break}f[V>>2]=7696;A=N;B=L;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));x=0;Fa(427,k|0);X=x;x=0;h:do if(X&1){i=1;ca=76}else{A=k+12|0;B=N;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;f[k+56>>2]=0;f[k>>2]=9868;X=k+60|0;f[X>>2]=i;f[X+4>>2]=j;i=k+68|0;x=0;Ga(462,i|0,f[U+4>>2]|0);X=x;x=0;do if(X&1)i=Ya()|0;else{f[i>>2]=7696;j=k+76|0;x=0;Ga(462,j|0,f[V+4>>2]|0);X=x;x=0;if(X&1){ca=Ya()|0;_P(i);i=ca;break}f[j>>2]=7696;f[k+84>>2]=0;x=0;Ga(462,Y|0,k|0);X=x;x=0;if(X&1){i=0;ca=76;break h}f[Y>>2]=7696;do if(f[l>>2]|0){x=0;Fa(429,ba|0);X=x;x=0;if(!(X&1))break;i=Ya()|0;_P(Y);j=0;break h}while(0);m=Y+4|0;f[l>>2]=f[m>>2];f[m>>2]=0;_P(Y);_P(V);_P(U);x=0;m=qa(318,88)|0;X=x;x=0;i:do if(X&1)i=Ya()|0;else{k=f[$>>2]|0;A=S;B=k+12|0;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));j=(f[g>>2]|0)+(h<<3)|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=0;Ga(462,Z|0,k|0);X=x;x=0;do if(X&1)i=Ya()|0;else{f[Z>>2]=7696;x=0;Ga(462,_|0,f[l>>2]|0);X=x;x=0;if(X&1){i=Ya()|0;_P(Z);break}f[_>>2]=7696;A=T;B=S;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));x=0;Fa(427,m|0);X=x;x=0;j:do if(X&1){i=1;ca=85}else{A=m+12|0;B=T;C=A+40|0;do{f[A>>2]=f[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;f[m+56>>2]=0;f[m>>2]=9868;X=m+60|0;f[X>>2]=i;f[X+4>>2]=j;i=m+68|0;x=0;Ga(462,i|0,f[Z+4>>2]|0);X=x;x=0;do if(X&1)i=Ya()|0;else{f[i>>2]=7696;j=m+76|0;x=0;Ga(462,j|0,f[_+4>>2]|0);X=x;x=0;if(X&1){ca=Ya()|0;_P(i);i=ca;break}f[j>>2]=7696;f[m+84>>2]=0;x=0;Ga(462,Y|0,m|0);X=x;x=0;if(X&1){i=0;ca=85;break j}f[Y>>2]=7696;if((Y|0)!=(d|0)){do if(f[$>>2]|0){x=0;Fa(429,d|0);d=x;x=0;if(!(d&1))break;i=Ya()|0;_P(Y);j=0;break j}while(0);d=Y+4|0;f[$>>2]=f[d>>2];f[d>>2]=0}_P(Y);_P(_);_P(Z);x=0;Ga(462,a|0,f[$>>2]|0);$=x;x=0;if($&1){i=Ya()|0;break g}f[a>>2]=7696;_P(ba);u=aa;return}while(0);j=1;ca=86}while(0);if((ca|0)==85){a=Ya()|0;j=i;i=a;ca=86}_P(_);_P(Z);if(!j)break i}while(0);Hta(m)}while(0);break g}while(0);j=1;ca=77}while(0);if((ca|0)==76){a=Ya()|0;j=i;i=a;ca=77}_P(V);_P(U);if(!j){ca=81;break g}}while(0);Hta(k);ca=81}while(0);_P(ba)}ca=i;jb(ca|0)}case 121:{i=Ya()|0;ca=123;break}case 122:{ba=Ya()|0;_P(i);i=ba;ca=123;break}case 130:{i=Ya()|0;ca=136;break}case 131:{i=Ya()|0;_P(O);ca=136;break}case 132:{i=Ya()|0;ca=133;break}case 134:{i=Ya()|0;_P(Y);j=0;ca=135;break}case 143:{i=Ya()|0;ca=145;break}case 144:{ba=Ya()|0;_P(i);i=ba;ca=145;break}case 152:{i=Ya()|0;ca=158;break}case 153:{i=Ya()|0;_P(Q);ca=158;break}case 154:{i=Ya()|0;ca=155;break}case 156:{i=Ya()|0;_P(ba);j=0;ca=157;break}case 168:{ca=Ya()|0;_P(G);jb(ca|0)}}if((ca|0)==123){j=1;ca=133}else if((ca|0)==145){j=1;ca=155}if((ca|0)==133)ca=135;else if((ca|0)==155)ca=157;if((ca|0)==135){_P(P);_P(O);if(j)ca=136;else ca=137}else if((ca|0)==157){_P(R);_P(Q);if(j)ca=158;else ca=159}if((ca|0)==136){Hta(l);ca=137}else if((ca|0)==158){Hta(l);ca=159}if((ca|0)==137){ca=i;jb(ca|0)}else if((ca|0)==159){ca=i;jb(ca|0)}}while(0);i=f[$>>2]|0;do if(i|0){k=f[259]|0;if((k|0)==(f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0)){qV(J,f[i+72>>2]|0);f[J>>2]=7696;j=f[J+4>>2]|0;if(!j)ca=175;else if((k|0)==(f[(f[(f[j>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(J);ba=f[$>>2]|0;Lc[f[(f[ba>>2]|0)+100>>2]&1023](ba,0)}else ca=175;if((ca|0)==175)_P(J);qV(K,f[i+80>>2]|0);f[K>>2]=7696;i=f[K+4>>2]|0;if(i|0)if((k|0)==(f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(K);ca=f[$>>2]|0;Lc[f[(f[ca>>2]|0)+100>>2]&1023](ca,0);break}_P(K)}}while(0);qV(a,f[$>>2]|0);f[a>>2]=7696;u=aa;return}function Pd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=0;M=u;u=u+368|0;P=M+96|0;O=M+40|0;N=M;r=M+360|0;v=M+348|0;w=M+336|0;B=M+296|0;C=M+280|0;L=M+200|0;G=M+272|0;H=M+264|0;J=M+224|0;K=M+212|0;D=g+4|0;s=f[D>>2]|0;a:do if(!s){w=0;k=0}else{b:do if((f[275]|0)==(f[(f[(f[s>>2]|0)+-4>>2]|0)+4>>2]|0)){t=VN(88)|0;A=N;y=s+12|0;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));x=0;Fa(427,t|0);A=x;x=0;do if(A&1)j=Ya()|0;else{A=t+12|0;y=N;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));b[t+52>>0]=0;b[t+53>>0]=0;o=t+54|0;b[o>>0]=0;k=t+56|0;f[k>>2]=0;f[t>>2]=6516;p=t+60|0;f[p>>2]=9660;n=t+64|0;q=t+68|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;x=0;Ga(516,n|0,0);A=x;x=0;if(A&1){j=Ya()|0;m=I;k=f[n>>2]|0;if(k|0){l=f[q>>2]|0;if((l|0)!=(k|0)){do{Q=l+-8|0;f[q>>2]=Q;Kc[f[f[Q>>2]>>2]&511](Q);l=f[q>>2]|0}while((l|0)!=(k|0));k=f[n>>2]|0}Hta(k)}break}f[t>>2]=9488;f[p>>2]=9620;m=t+80|0;f[m>>2]=0;d[m+4>>1]=0;b[m+6>>0]=0;f[k>>2]=5;m=s+64|0;k=f[m>>2]|0;m=f[m+4>>2]|0;c:do if((k|0)!=(m|0)){n=P+4|0;while(1){qV(P,f[k+4>>2]|0);f[P>>2]=10408;l=f[(f[p>>2]|0)+20>>2]|0;x=0;Ga(462,r|0,f[(f[n>>2]|0)+64>>2]|0);A=x;x=0;if(A&1){Q=22;break}f[r>>2]=7696;x=0;Ga(l|0,p|0,r|0);A=x;x=0;if(A&1){Q=23;break}_P(r);_P(P);k=k+8|0;if((k|0)==(m|0))break c}if((Q|0)==22)j=Ya()|0;else if((Q|0)==23){j=Ya()|0;_P(r)}_P(P);Q=j;jb(Q|0)}while(0);b[o>>0]=b[s+54>>0]|0;_T(e,49842)|0;qV(P,t);f[P>>2]=7696;if((P|0)!=(g|0)){if(f[D>>2]|0){x=0;Fa(429,g|0);A=x;x=0;if(A&1){Q=Ya()|0;_P(P);jb(Q|0)}}A=P+4|0;f[D>>2]=f[A>>2];f[A>>2]=0}_P(P);k=f[D>>2]|0;if(!k){w=1;k=0;break a}else{o=1;p=k;break b}}while(0);Hta(t);Q=j;jb(Q|0)}else{o=0;p=s}while(0);d:do if((f[49]|0)==(f[(f[(f[p>>2]|0)+-4>>2]|0)+4>>2]|0)){$x(P,p);x=0;Fa(442,P|0);A=x;x=0;e:do if(A&1)Q=42;else{r=P+60|0;x=0;k=qa(393,r|0)|0;A=x;x=0;if(A&1)Q=42;else{if(k){m=P+72|0;k=f[m>>2]|0;if(k|0){n=P+76|0;l=f[n>>2]|0;if((l|0)!=(k|0)){do{l=l+-12|0;f[n>>2]=l;if((b[l+11>>0]|0)<0){Hta(f[l>>2]|0);l=f[n>>2]|0}}while((l|0)!=(k|0));k=f[m>>2]|0}Hta(k)}k=f[r>>2]|0;if(k|0){m=P+64|0;l=f[m>>2]|0;if((l|0)!=(k|0)){do{l=l+-12|0;f[m>>2]=l;if((b[l+11>>0]|0)<0){Hta(f[l>>2]|0);l=f[m>>2]|0}}while((l|0)!=(k|0));k=f[r>>2]|0}Hta(k)}k=f[D>>2]|0;if(!k){w=o;k=0;break a}else break d}m=a+12|0;j=f[m>>2]|0;o=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;DP(O|0,p+12|0,40)|0;n=O+40|0;x=0;Ga(459,n|0,v|0);N=x;x=0;do if(N&1){j=Ya()|0;k=I}else{k=j+4|0;l=f[k>>2]|0;if(l>>>0<(f[j+8>>2]|0)>>>0){A=l;y=O;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));O=l+40|0;f[O>>2]=f[n>>2];f[O+4>>2]=f[n+4>>2];f[O+8>>2]=f[n+8>>2];f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[k>>2]=(f[k>>2]|0)+52}else{x=0;Ga(510,j|0,O|0);O=x;x=0;if(O&1){j=Ya()|0;k=I;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}}if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[o>>0]|0)<0)Hta(f[v>>2]|0);q=Ta(88)|0;x=0;Ga(511,w|0,f[m>>2]|0);O=x;x=0;do if(O&1){j=Ya()|0;k=I}else{x=0;Ia(133,q|0,w|0,p|0);O=x;x=0;if(O&1)p=1;else{x=0;Ia(77,q|0,3856,181);x=0;p=0}j=Ya()|0;k=I;l=f[w>>2]|0;if(!l)if(p)break;else{p=j;o=k;n=r;break e}o=w+4|0;m=f[o>>2]|0;if((m|0)!=(l|0)){do{n=m+-52|0;f[o>>2]=n;m=m+-12|0;if((b[m+11>>0]|0)<0){Hta(f[m>>2]|0);m=f[o>>2]|0}else m=n}while((m|0)!=(l|0));l=f[w>>2]|0}Hta(l);if(!p){p=j;o=k;n=r;break e}}while(0);bb(q|0);p=j;o=k;n=r;break e}while(0);if((b[o>>0]|0)<0)Hta(f[v>>2]|0);p=j;o=k;n=r}}while(0);if((Q|0)==42){p=Ya()|0;o=I;n=P+60|0}l=P+72|0;j=f[l>>2]|0;if(j|0){m=P+76|0;k=f[m>>2]|0;if((k|0)!=(j|0)){do{k=k+-12|0;f[m>>2]=k;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[m>>2]|0}}while((k|0)!=(j|0));j=f[l>>2]|0}Hta(j)}j=f[P+60>>2]|0;if(j|0){l=P+64|0;k=f[l>>2]|0;if((k|0)!=(j|0)){do{k=k+-12|0;f[l>>2]=k;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[l>>2]|0}}while((k|0)!=(j|0));j=f[n>>2]|0}Hta(j)}Q=p;jb(Q|0)}else k=p;while(0);if((f[271]|0)==(f[(f[(f[k>>2]|0)+-4>>2]|0)+4>>2]|0)){qV(P,f[k+64>>2]|0);f[P>>2]=7696;if((P|0)!=(g|0)){if(f[D>>2]|0){x=0;Fa(429,g|0);A=x;x=0;if(A&1){Q=Ya()|0;_P(P);jb(Q|0)}}A=P+4|0;f[D>>2]=f[A>>2];f[A>>2]=0}_P(P);k=f[D>>2]|0;if(!k){w=o;k=0;break}}m=(f[343]|0)==(f[(f[(f[k>>2]|0)+-4>>2]|0)+4>>2]|0)?k:0;f:do if(!((m|0)==0|i^1)){l=b[k+54>>0]|0;n=VN(80)|0;A=B;y=m+12|0;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));x=0;Ga(459,C|0,m+64|0);A=x;x=0;do if(A&1){j=Ya()|0;Q=115}else{A=O;y=B;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));x=0;Fa(427,n|0);B=x;x=0;do if(B&1){j=1;Q=109}else{A=n+12|0;y=O;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;f[n+56>>2]=4;f[n>>2]=11668;b[n+60>>0]=0;b[n+61>>0]=0;x=0;Ia(101,n+64|0,C|0,1);B=x;x=0;if(B&1){j=Ya()|0;k=1;Q=110;break}f[n+76>>2]=0;x=0;Ga(462,P|0,n|0);B=x;x=0;if(B&1){j=0;Q=109}else{f[P>>2]=7696;if((P|0)!=(g|0)){if(f[D>>2]|0){x=0;Fa(429,g|0);B=x;x=0;if(B&1){j=Ya()|0;_P(P);k=0;break}}B=P+4|0;f[D>>2]=f[B>>2];f[B>>2]=0}_P(P);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);k=f[D>>2]|0;b[k+54>>0]=l;if(!k){w=o;k=0;break a}else break f}}while(0);if((Q|0)==109){P=Ya()|0;k=j;j=P;Q=110}if((b[C+11>>0]|0)<0){Hta(f[C>>2]|0);if(k){Q=115;break}else break}else if(k){Q=115;break}else break}while(0);if((Q|0)==115)Hta(n);Q=j;jb(Q|0)}while(0);if((f[417]|0)==(f[(f[(f[k>>2]|0)+-4>>2]|0)+4>>2]|0)){u=M;return}l=f[k>>2]|0;if((f[463]|0)==(f[(f[l+-4>>2]|0)+4>>2]|0)){qV(P,xc[f[l+56>>2]&2047](k,a)|0);f[P>>2]=7696;if((P|0)!=(g|0)){if(f[D>>2]|0){x=0;Fa(429,g|0);C=x;x=0;if(C&1){Q=Ya()|0;_P(P);jb(Q|0)}}C=P+4|0;f[D>>2]=f[C>>2];f[C>>2]=0}_P(P);w=o;k=f[D>>2]|0}else w=o}while(0);v=Dca(k)|0;g:do if(!v){if(h){l=f[D>>2]|0;if(!(b[l+54>>0]|0))k=l;else{if(!l){f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0}else{j=f[(f[l>>2]|0)+28>>2]|0;A=P;y=f[c+16>>2]|0;z=A+12|0;do{b[A>>0]=b[y>>0]|0;A=A+1|0;y=y+1|0}while((A|0)<(z|0));Nc[j&255](N,l,P)}x=0;Ga(654,O|0,N|0);Q=x;x=0;do if(Q&1)j=Ya()|0;else{k=O+11|0;Q=b[k>>0]|0;P=Q<<24>>24<0;x=0;ta(41,e|0,(P?f[O>>2]|0:O)|0,(P?f[O+4>>2]|0:Q&255)|0)|0;Q=x;x=0;if(Q&1){j=Ya()|0;if((b[k>>0]|0)>=0)break;Hta(f[O>>2]|0);break}if((b[k>>0]|0)<0)Hta(f[O>>2]|0);if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);break g}while(0);if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);Q=j;jb(Q|0)}}else{l=f[D>>2]|0;k=l}if(!k){f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0}else{k=f[(f[l>>2]|0)+28>>2]|0;A=P;y=f[c+16>>2]|0;z=A+12|0;do{b[A>>0]=b[y>>0]|0;A=A+1|0;y=y+1|0}while((A|0)<(z|0));Nc[k&255](O,l,P)}do if(h){x=0;Ga(653,P|0,O|0);N=x;x=0;if(N&1){F=Ya()|0;j=O+11|0;break}k=O+11|0;if((b[k>>0]|0)<0){b[f[O>>2]>>0]=0;f[O+4>>2]=0}else{b[O>>0]=0;b[k>>0]=0}x=0;Ga(501,O|0,0);N=x;x=0;if(N&1){P=Za(0)|0;soa(P)}else{f[O>>2]=f[P>>2];f[O+4>>2]=f[P+4>>2];f[O+8>>2]=f[P+8>>2];j=k;Q=234;break}}else{j=O+11|0;Q=234}while(0);do if((Q|0)==234){Q=b[j>>0]|0;P=Q<<24>>24<0;x=0;ta(41,e|0,(P?f[O>>2]|0:O)|0,(P?f[O+4>>2]|0:Q&255)|0)|0;Q=x;x=0;if(Q&1){F=Ya()|0;break}if((b[j>>0]|0)<0)Hta(f[O>>2]|0);break g}while(0);if((b[j>>0]|0)<0)Hta(f[O>>2]|0);Q=F;jb(Q|0)}else{p=VN(88)|0;l=f[v+80>>2]|0;A=P;y=v+12|0;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));x=0;Fa(427,p|0);F=x;x=0;do if(F&1){j=Ya()|0;Q=139}else{A=p+12|0;y=P;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));b[p+52>>0]=0;b[p+53>>0]=0;b[p+54>>0]=0;j=p+56|0;f[j>>2]=0;f[p>>2]=6516;k=p+60|0;f[k>>2]=9660;n=p+64|0;o=p+68|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;x=0;Ga(516,n|0,0);F=x;x=0;if(F&1){j=Ya()|0;m=I;k=f[n>>2]|0;if(k|0){l=f[o>>2]|0;if((l|0)!=(k|0)){do{Q=l+-8|0;f[o>>2]=Q;Kc[f[f[Q>>2]>>2]&511](Q);l=f[o>>2]|0}while((l|0)!=(k|0));k=f[n>>2]|0}Hta(k)}Q=139;break}f[p>>2]=9488;f[k>>2]=9620;f[p+80>>2]=l;b[p+84>>0]=0;b[p+85>>0]=0;b[p+86>>0]=0;f[j>>2]=5;qV(O,p);f[O>>2]=7584;j=f[v+64>>2]|0;n=f[v+68>>2]|0;h:do if((j|0)==(n|0))Q=137;else{o=N+4|0;p=v+54|0;t=L+11|0;q=O+4|0;r=K+11|0;while(1){x=0;Ga(462,N|0,f[j+4>>2]|0);F=x;x=0;if(F&1){Q=152;break}f[N>>2]=7696;F=f[o>>2]|0;b[F+54>>0]=b[p>>0]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;x=0;Ga(462,G|0,F|0);F=x;x=0;if(F&1){Q=153;break}f[G>>2]=7696;x=0;La(24,a|0,c|0,L|0,G|0,h|0,(b[p>>0]|0)!=0|0);F=x;x=0;if(F&1){Q=154;break}_P(G);k=f[o>>2]|0;if(!k)Q=145;else if((f[417]|0)!=(f[(f[(f[k>>2]|0)+-4>>2]|0)+4>>2]|0))Q=145;if((Q|0)==145){Q=0;l=(f[q>>2]|0)+60|0;m=f[(f[l>>2]|0)+20>>2]|0;x=0;s=qa(318,80)|0;F=x;x=0;if(F&1){Q=155;break}A=J;y=k+12|0;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));x=0;Ga(459,K|0,L|0);F=x;x=0;if(F&1){Q=156;break}x=0;A=P;y=J;z=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(z|0));Na(1,s|0,P|0,K|0,0,0,0,1,1);F=x;x=0;if(F&1){j=1;Q=157;break}x=0;Ga(462,H|0,s|0);F=x;x=0;if(F&1){j=0;Q=157;break}f[H>>2]=7696;x=0;Ga(m|0,l|0,H|0);F=x;x=0;if(F&1){Q=158;break}_P(H);if((b[r>>0]|0)<0)Hta(f[K>>2]|0)}if((b[t>>0]|0)<0)Hta(f[L>>2]|0);_P(N);j=j+8|0;if((j|0)==(n|0)){Q=137;break h}}if((Q|0)==152)j=Ya()|0;else if((Q|0)==153){j=Ya()|0;Q=166}else if((Q|0)==154){j=Ya()|0;_P(G);Q=166}else if((Q|0)==155){j=Ya()|0;Q=166}else if((Q|0)==156){j=Ya()|0;Q=162}else if((Q|0)==157){P=Ya()|0;k=j;j=P;Q=159}else if((Q|0)==158){j=Ya()|0;_P(H);k=0;Q=159}do if((Q|0)==159)if((b[r>>0]|0)<0){Hta(f[K>>2]|0);if(k){Q=162;break}else{Q=166;break}}else if(k){Q=162;break}else{Q=166;break}while(0);if((Q|0)==162){Hta(s);Q=166}if((Q|0)==166){if((b[t>>0]|0)<0)Hta(f[L>>2]|0);_P(N)}}while(0);i:do if((Q|0)==137){x=0;j=qa(f[(f[v>>2]|0)+120>>2]|0,v|0)|0;L=x;x=0;if(L&1){j=Ya()|0;break}j:do if(j>>>0>1){j=O+4|0;k=f[j>>2]|0;l=f[(f[k>>2]|0)+28>>2]|0;x=0;A=P;y=f[c+16>>2]|0;z=A+12|0;do{b[A>>0]=b[y>>0]|0;A=A+1|0;y=y+1|0}while((A|0)<(z|0));Ia(l|0,N|0,k|0,P|0);c=x;x=0;if(c&1)j=Ya()|0;else{x=0;Ga(653,P|0,N|0);c=x;x=0;if(c&1){j=Ya()|0;k=N+11|0}else{k=N+11|0;if((b[k>>0]|0)<0){b[f[N>>2]>>0]=0;f[N+4>>2]=0}else{b[N>>0]=0;b[k>>0]=0}x=0;Ga(501,N|0,0);c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}f[N>>2]=f[P>>2];f[N+4>>2]=f[P+4>>2];f[N+8>>2]=f[P+8>>2];x=0;Fa(450,N|0);P=x;x=0;if(!(P&1)){P=b[k>>0]|0;c=P<<24>>24<0;x=0;ta(41,e|0,(c?f[N>>2]|0:N)|0,(c?f[N+4>>2]|0:P&255)|0)|0;P=x;x=0;if(!(P&1)){if((b[k>>0]|0)<0)Hta(f[N>>2]|0);break}}j=Ya()|0}if((b[k>>0]|0)<0)Hta(f[N>>2]|0)}break i}else{j=O+4|0;k=f[j>>2]|0;l=f[(f[k>>2]|0)+28>>2]|0;x=0;A=P;y=f[c+16>>2]|0;z=A+12|0;do{b[A>>0]=b[y>>0]|0;A=A+1|0;y=y+1|0}while((A|0)<(z|0));Ia(l|0,N|0,k|0,P|0);P=x;x=0;do if(P&1)j=Ya()|0;else{k=N+11|0;P=b[k>>0]|0;c=P<<24>>24<0;x=0;ta(41,e|0,(c?f[N>>2]|0:N)|0,(c?f[N+4>>2]|0:P&255)|0)|0;P=x;x=0;if(P&1){j=Ya()|0;if((b[k>>0]|0)>=0)break;Hta(f[N>>2]|0);break}if((b[k>>0]|0)<0)Hta(f[N>>2]|0);break j}while(0);break i}while(0);b[(f[j>>2]|0)+54>>0]=b[v+54>>0]|0;_P(O);break g}while(0);_P(O)}while(0);if((Q|0)==139)Hta(p);Q=j;jb(Q|0)}while(0);if(!w){u=M;return}_T(e,49838)|0;u=M;return}function Qd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;la=0;_=u;u=u+432|0;P=_+40|0;ia=_+396|0;ha=_;oa=_+328|0;z=_+416|0;A=_+408|0;na=_+312|0;ma=_+300|0;B=_+384|0;ka=_+232|0;y=_+344|0;Q=_+336|0;R=_+320|0;$=_+288|0;S=_+248|0;ja=_+160|0;aa=_+224|0;T=_+216|0;U=_+208|0;ga=_+144|0;da=_+120|0;V=_+168|0;ea=_+152|0;fa=_+136|0;ba=_+128|0;ca=_+112|0;W=_+104|0;X=_+96|0;Y=_+88|0;Z=_+80|0;v=c+4|0;c=f[v>>2]|0;if(!c)c=0;else c=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;qV(ia,c);f[ia>>2]=7168;c=f[ia+4>>2]|0;a:do if(c|0){e=f[c+76>>2]|0;j=f[c+80>>2]|0;if((e|0)!=(j|0)){k=ha+4|0;l=oa+4|0;m=z+4|0;n=P+4|0;o=A+4|0;p=na+4|0;q=a+4|0;r=a+8|0;s=B+11|0;t=ka+11|0;w=ma+11|0;b:while(1){x=0;Ga(462,ha|0,f[e+4>>2]|0);O=x;x=0;if(O&1){la=13;break}f[ha>>2]=15556;x=0;Ga(462,oa|0,f[k>>2]|0);O=x;x=0;if(O&1){la=14;break}f[oa>>2]=15556;c=f[l>>2]|0;if(c|0)do{x=0;Ga(462,z|0,f[c+80>>2]|0);O=x;x=0;if(O&1){la=15;break b}f[z>>2]=15572;O=(f[m>>2]|0)==0;_P(z);if(!O){x=0;Ga(462,A|0,f[(f[l>>2]|0)+80>>2]|0);O=x;x=0;if(O&1){la=16;break b}f[A>>2]=15572;i=f[o>>2]|0;_P(A);c=f[i+76>>2]|0;i=f[i+80>>2]|0;if((c|0)!=(i|0))do{x=0;Ga(462,na|0,f[c+4>>2]|0);O=x;x=0;if(O&1){la=20;break b}f[na>>2]=13852;g=f[p>>2]|0;if(g|0)if((f[463]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)){g=f[k>>2]|0;h=f[(f[g>>2]|0)+28>>2]|0;x=0;O=P;M=f[(f[q>>2]|0)+16>>2]|0;N=O+12|0;do{b[O>>0]=b[M>>0]|0;O=O+1|0;M=M+1|0}while((O|0)<(N|0));Ia(h|0,ma|0,g|0,P|0);O=x;x=0;if(O&1){la=33;break b}x=0;Ia(92,ka|0,48695,ma|0);O=x;x=0;if(O&1){la=34;break b}x=0;g=sa(991,ka|0,48709)|0;O=x;x=0;if(O&1){la=35;break b}f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;O=y;M=(f[p>>2]|0)+12|0;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));g=f[r>>2]|0;x=0;O=P;M=y;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));Ia(100,B|0,P|0,g|0);O=x;x=0;if(O&1){la=36;break b}if((b[s>>0]|0)<0)Hta(f[B>>2]|0);if((b[t>>0]|0)<0)Hta(f[ka>>2]|0);if((b[w>>0]|0)<0)Hta(f[ma>>2]|0)}_P(na);c=c+8|0}while((c|0)!=(i|0))}x=0;Ga(462,P|0,f[(f[l>>2]|0)+88>>2]|0);O=x;x=0;if(O&1){la=48;break b}f[P>>2]=15556;if(f[l>>2]|0){x=0;Fa(429,oa|0);O=x;x=0;if(O&1){la=49;break b}}f[l>>2]=f[n>>2];f[n>>2]=0;_P(P);c=f[l>>2]|0}while((c|0)!=0);_P(oa);_P(ha);e=e+8|0;if((e|0)==(j|0))break a}switch(la|0){case 13:{c=Ya()|0;break}case 14:{c=Ya()|0;la=53;break}case 15:{c=Ya()|0;la=52;break}case 16:{c=Ya()|0;la=52;break}case 20:{c=Ya()|0;la=43;break}case 33:{c=Ya()|0;la=42;break}case 34:{c=Ya()|0;la=40;break}case 35:{c=Ya()|0;la=38;break}case 36:{c=Ya()|0;if((b[s>>0]|0)<0){Hta(f[B>>2]|0);la=38}else la=38;break}case 48:{c=Ya()|0;la=50;break}case 49:{c=Ya()|0;_P(P);la=50;break}}if((la|0)==38)if((b[t>>0]|0)<0){Hta(f[ka>>2]|0);la=40}else la=40;else if((la|0)==50)la=52;if((la|0)==40)if((b[w>>0]|0)<0){Hta(f[ma>>2]|0);la=42}else la=42;if((la|0)==42){_P(na);la=43}if((la|0)==43)la=52;if((la|0)==52){_P(oa);la=53}if((la|0)==53)_P(ha);_P(ia);oa=c;jb(oa|0)}}while(0);_P(ia);c=f[v>>2]|0;c=xc[f[(f[c>>2]|0)+56>>2]&2047](c,a+12|0)|0;if(!c)c=0;else c=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;qV(oa,c);f[oa>>2]=7168;J=oa+4|0;c=f[J>>2]|0;if(!c){_P(oa);u=_;return}e=f[c+76>>2]|0;C=f[c+80>>2]|0;if((e|0)==(C|0)){_P(oa);u=_;return}D=na+4|0;E=ma+4|0;F=Q+4|0;G=a+4|0;a=a+8|0;H=$+11|0;K=ha+11|0;L=ia+11|0;l=d+4|0;m=ja+4|0;n=aa+4|0;o=ga+4|0;p=da+4|0;d=ia+11|0;q=ia+1|0;r=ca+4|0;s=X+4|0;t=Z+4|0;v=P+8|0;w=ka+4|0;y=P+8|0;z=T+4|0;A=U+4|0;B=R+4|0;c:while(1){x=0;Ga(462,na|0,f[e+4>>2]|0);O=x;x=0;if(O&1){la=78;break}f[na>>2]=15556;x=0;Ga(462,ma|0,f[D>>2]|0);O=x;x=0;if(O&1){la=79;break}f[ma>>2]=15556;x=0;Ga(462,Q|0,f[(f[E>>2]|0)+80>>2]|0);O=x;x=0;if(O&1){la=80;break}f[Q>>2]=15572;if(!(f[F>>2]|0)){_P(Q);la=67}else{x=0;Ga(462,R|0,f[(f[E>>2]|0)+88>>2]|0);O=x;x=0;if(O&1){la=81;break}f[R>>2]=15556;O=(f[B>>2]|0)==0;_P(R);_P(Q);if(!O)la=67}if((la|0)==67){la=0;c=f[J>>2]|0;g=f[(f[c>>2]|0)+28>>2]|0;x=0;O=P;M=f[(f[G>>2]|0)+16>>2]|0;N=O+12|0;do{b[O>>0]=b[M>>0]|0;O=O+1|0;M=M+1|0}while((O|0)<(N|0));Ia(g|0,ia|0,c|0,P|0);O=x;x=0;if(O&1){la=82;break}x=0;Ia(92,ha|0,48695,ia|0);O=x;x=0;if(O&1){la=83;break}x=0;c=sa(991,ha|0,48741)|0;O=x;x=0;if(O&1){la=84;break}f[$>>2]=f[c>>2];f[$+4>>2]=f[c+4>>2];f[$+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;O=S;M=(f[E>>2]|0)+12|0;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));c=f[a>>2]|0;x=0;O=P;M=S;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));Ia(100,$|0,P|0,c|0);O=x;x=0;if(O&1){la=85;break}if((b[H>>0]|0)<0)Hta(f[$>>2]|0);if((b[K>>0]|0)<0)Hta(f[ha>>2]|0);if((b[L>>0]|0)<0)Hta(f[ia>>2]|0)}x=0;Ga(462,ka|0,f[(f[E>>2]|0)+80>>2]|0);O=x;x=0;if(O&1){la=95;break}f[ka>>2]=15572;if(b[(f[J>>2]|0)+62>>0]|0)b[(f[w>>2]|0)+62>>0]=1;g=f[l>>2]|0;i=(f[g+80>>2]|0)-(f[g+76>>2]|0)>>3;d:do if(i|0){c=0;while(1){x=0;Ga(462,ja|0,f[(f[g+76>>2]|0)+(c<<3)+4>>2]|0);O=x;x=0;if(O&1){la=127;break c}f[ja>>2]=15556;x=0;Ga(462,aa|0,f[(f[m>>2]|0)+80>>2]|0);O=x;x=0;if(O&1){la=128;break c}f[aa>>2]=15572;do if(!(f[n>>2]|0)){_P(aa);la=109}else{x=0;Ga(462,T|0,f[(f[m>>2]|0)+80>>2]|0);O=x;x=0;if(O&1){la=129;break c}f[T>>2]=15572;O=f[z>>2]|0;if((f[O+80>>2]|0)==(f[O+76>>2]|0)){_P(T);_P(aa);la=109;break}x=0;Ga(462,U|0,f[(f[m>>2]|0)+80>>2]|0);O=x;x=0;if(O&1){la=130;break c}f[U>>2]=15572;g=f[(f[(f[A>>2]|0)+76>>2]|0)+4>>2]|0;if(!g)g=0;else g=(f[463]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;_P(U);_P(T);_P(aa);if(!g)la=109}while(0);if((la|0)==109){la=0;x=0;k=qa(318,108)|0;O=x;x=0;if(O&1){la=132;break c}O=P;M=(f[(f[(f[l>>2]|0)+76>>2]|0)+(c<<3)+4>>2]|0)+12|0;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));x=0;Fa(427,k|0);O=x;x=0;if(O&1){la=133;break c}O=k+12|0;M=P;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;f[k>>2]=15620;b[k+60>>0]=0;b[k+61>>0]=0;b[k+62>>0]=0;f[k+64>>2]=0;f[k+68>>2]=0;f[k+56>>2]=7;g=k+72|0;f[g>>2]=15516;j=k+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(513,j|0,0);O=x;x=0;if(O&1){la=112;break c}f[k>>2]=15300;f[g>>2]=15476;O=k+96|0;f[O>>2]=0;f[k+100>>2]=0;f[k+92>>2]=O;b[k+104>>0]=0;b[k+105>>0]=0;x=0;Ga(462,ga|0,k|0);O=x;x=0;if(O&1){la=132;break c}f[ga>>2]=15572;g=(f[l>>2]|0)+76|0;f[(f[o>>2]|0)+64>>2]=f[(f[(f[g>>2]|0)+(c<<3)+4>>2]|0)+64>>2];x=0;h=qa(318,100)|0;O=x;x=0;if(O&1){la=135;break c}O=V;M=(f[(f[g>>2]|0)+(c<<3)+4>>2]|0)+12|0;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));x=0;Ga(462,ea|0,0);O=x;x=0;if(O&1){la=136;break c}f[ea>>2]=15572;x=0;Ga(462,fa|0,0);O=x;x=0;if(O&1){la=137;break c}f[fa>>2]=15556;x=0;Ga(462,ba|0,0);O=x;x=0;if(O&1){la=138;break c}f[ba>>2]=7904;x=0;O=P;M=V;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));La(10,h|0,P|0,0,ea|0,fa|0,ba|0);O=x;x=0;if(O&1){c=1;la=139;break c}x=0;Ga(462,da|0,h|0);O=x;x=0;if(O&1){c=0;la=139;break c}f[da>>2]=15556;_P(ba);_P(fa);_P(ea);g=f[p>>2]|0;h=(f[l>>2]|0)+76|0;f[g+64>>2]=f[(f[(f[h>>2]|0)+(c<<3)+4>>2]|0)+64>>2];if(b[(f[m>>2]|0)+60>>0]|0)b[g+60>>0]=1;x=0;g=qa(318,104)|0;O=x;x=0;if(O&1){la=164;break c}DP(ha|0,(f[(f[h>>2]|0)+(c<<3)+4>>2]|0)+12|0,40)|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;b[d>>0]=1;b[ia>>0]=38;b[q>>0]=0;x=0;O=P;M=ha;N=O+40|0;do{f[O>>2]=f[M>>2];O=O+4|0;M=M+4|0}while((O|0)<(N|0));Ia(88,g|0,P|0,ia|0);O=x;x=0;if(O&1){la=146;break c}if((b[d>>0]|0)<0)Hta(f[ia>>2]|0);f[g>>2]=13868;b[g+101>>0]=1;x=0;Ga(462,ca|0,g|0);O=x;x=0;if(O&1){la=164;break c}f[ca>>2]=13664;O=f[r>>2]|0;f[O+64>>2]=f[(f[(f[(f[l>>2]|0)+76>>2]|0)+(c<<3)+4>>2]|0)+64>>2];x=0;Ga(578,f[o>>2]|0,O|0);O=x;x=0;if(O&1){la=166;break c}g=f[p>>2]|0;x=0;Ga(462,X|0,f[m>>2]|0);O=x;x=0;if(O&1){la=166;break c}f[X>>2]=15556;f[g+68>>2]=0;h=g+84|0;g=g+88|0;if(f[g>>2]|0){x=0;Fa(429,h|0);O=x;x=0;if(O&1){la=167;break c}}f[g>>2]=f[s>>2];x=0;Fa(430,h|0);O=x;x=0;if(O&1){la=167;break c}x=0;Ga(462,W|0,f[g>>2]|0);O=x;x=0;if(O&1){la=167;break c}f[W>>2]=15556;_P(W);_P(X);g=f[p>>2]|0;x=0;Ga(462,Z|0,f[o>>2]|0);O=x;x=0;if(O&1){la=166;break c}f[Z>>2]=15572;f[g+68>>2]=0;h=g+76|0;g=g+80|0;if(f[g>>2]|0){x=0;Fa(429,h|0);O=x;x=0;if(O&1){la=168;break c}}f[g>>2]=f[t>>2];x=0;Fa(430,h|0);O=x;x=0;if(O&1){la=168;break c}x=0;Ga(462,Y|0,f[g>>2]|0);O=x;x=0;if(O&1){la=168;break c}f[Y>>2]=15572;_P(Y);_P(Z);if(f[m>>2]|0){x=0;Fa(429,ja|0);O=x;x=0;if(O&1){la=166;break c}}f[m>>2]=f[p>>2];x=0;Fa(430,ja|0);O=x;x=0;if(O&1){la=166;break c}_P(ca);_P(da);_P(ga)}g=f[G>>2]|0;x=0;Ga(462,P|0,f[m>>2]|0);O=x;x=0;if(O&1){la=179;break c}f[P>>2]=15556;x=0;Ga(462,v|0,f[w>>2]|0);O=x;x=0;if(O&1){la=175;break c}f[v>>2]=15572;x=0;Ia(87,g+252|0,ka|0,P|0);O=x;x=0;if(O&1){la=181;break c}_P(y);_P(P);_P(ja);c=c+1|0;if(c>>>0>=i>>>0)break d;g=f[l>>2]|0}}while(0);_P(ka);_P(ma);_P(na);e=e+8|0;if((e|0)==(C|0)){la=189;break}}switch(la|0){case 78:{c=Ya()|0;break}case 79:{c=Ya()|0;la=187;break}case 80:{c=Ya()|0;la=186;break}case 81:{c=Ya()|0;_P(Q);la=186;break}case 82:{c=Ya()|0;la=91;break}case 83:{c=Ya()|0;la=89;break}case 84:{c=Ya()|0;la=87;break}case 85:{c=Ya()|0;if((b[H>>0]|0)<0){Hta(f[$>>2]|0);la=87}else la=87;break}case 95:{c=Ya()|0;la=185;break}case 112:{c=Ya()|0;h=I;i=k+80|0;e=f[j>>2]|0;if(e|0){g=f[i>>2]|0;if((g|0)!=(e|0)){do{la=g+-8|0;f[i>>2]=la;Kc[f[f[la>>2]>>2]&511](la);g=f[i>>2]|0}while((g|0)!=(e|0));e=f[j>>2]|0}Hta(e)}la=134;break}case 127:{c=Ya()|0;la=184;break}case 128:{c=Ya()|0;la=183;break}case 129:{c=Ya()|0;la=131;break}case 130:{c=Ya()|0;_P(T);la=131;break}case 132:{c=Ya()|0;la=172;break}case 133:{c=Ya()|0;la=134;break}case 135:{c=Ya()|0;la=171;break}case 136:{c=Ya()|0;la=141;break}case 137:{c=Ya()|0;_P(ea);la=141;break}case 138:{e=1;c=Ya()|0;la=140;break}case 139:{ia=Ya()|0;_P(ba);e=c;c=ia;la=140;break}case 146:{c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ia>>2]|0);Hta(g);la=170;break}case 164:{c=Ya()|0;la=170;break}case 166:{c=Ya()|0;la=169;break}case 167:{c=Ya()|0;_P(X);la=169;break}case 168:{c=Ya()|0;_P(Z);la=169;break}case 175:{c=Ya()|0;_P(P);la=180;break}case 179:{c=Ya()|0;la=180;break}case 181:{c=Ya()|0;_P(y);_P(P);la=182;break}case 189:{_P(oa);u=_;return}}if((la|0)==87)if((b[K>>0]|0)<0){Hta(f[ha>>2]|0);la=89}else la=89;else if((la|0)==131){_P(aa);la=183}else if((la|0)==134){Hta(k);la=172}else if((la|0)==140){_P(fa);_P(ea);if(e)la=141;else la=171}else if((la|0)==169){_P(ca);la=170}else if((la|0)==180)la=182;if((la|0)==89)if((b[L>>0]|0)<0){Hta(f[ia>>2]|0);la=91}else la=91;else if((la|0)==141){Hta(h);la=171}else if((la|0)==170){_P(da);la=171}else if((la|0)==182)la=183;if((la|0)==91)la=186;else if((la|0)==171){_P(ga);la=172}if((la|0)==172)la=183;if((la|0)==183){_P(ja);la=184}if((la|0)==184){_P(ka);la=185}if((la|0)==185)la=186;if((la|0)==186){_P(ma);la=187}if((la|0)==187)_P(na);_P(oa);oa=c;jb(oa|0)}function Rd(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;o=0;p=u;u=u+16|0;n=p;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[20413]|0;b=m>>>a;if(b&3|0){a=(b&1^1)+a|0;b=81692+(a<<1<<2)|0;c=b+8|0;d=f[c>>2]|0;e=d+8|0;g=f[e>>2]|0;if((g|0)==(b|0))f[20413]=m&~(1<>2]=b;f[c>>2]=g}o=a<<3;f[d+4>>2]=o|3;o=d+o+4|0;f[o>>2]=f[o>>2]|1;o=e;u=p;return o|0}l=f[20415]|0;if(k>>>0>l>>>0){if(b|0){i=2<>>12&16;a=a>>>i;c=a>>>5&8;a=a>>>c;g=a>>>2&4;a=a>>>g;b=a>>>1&2;a=a>>>b;d=a>>>1&1;d=(c|i|g|b|d)+(a>>>d)|0;a=81692+(d<<1<<2)|0;b=a+8|0;g=f[b>>2]|0;i=g+8|0;c=f[i>>2]|0;if((c|0)==(a|0)){b=m&~(1<>2]=a;f[b>>2]=c;b=m}o=d<<3;h=o-k|0;f[g+4>>2]=k|3;e=g+k|0;f[e+4>>2]=h|1;f[g+o>>2]=h;if(l|0){d=f[20418]|0;a=l>>>3;c=81692+(a<<1<<2)|0;a=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[20415]=h;f[20418]=e;o=i;u=p;return o|0}i=f[20414]|0;if(!i)m=k;else{b=(i&0-i)+-1|0;h=b>>>12&16;b=b>>>h;g=b>>>5&8;b=b>>>g;j=b>>>2&4;b=b>>>j;c=b>>>1&2;b=b>>>c;a=b>>>1&1;a=f[81956+((g|h|j|c|a)+(b>>>a)<<2)>>2]|0;b=(f[a+4>>2]&-8)-k|0;c=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!c){j=a;g=b}else{do{h=(f[c+4>>2]&-8)-k|0;j=h>>>0>>0;b=j?h:b;a=j?c:a;c=f[c+16+(((f[c+16>>2]|0)==0&1)<<2)>>2]|0}while((c|0)!=0);j=a;g=b}h=j+k|0;if(h>>>0>j>>>0){e=f[j+24>>2]|0;a=f[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=f[b>>2]|0;if(!a){b=j+16|0;a=f[b>>2]|0;if(!a){c=0;break}}while(1){c=a+20|0;d=f[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=f[c>>2]|0;if(!d)break;else{a=d;b=c}}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);do if(e|0){a=f[j+28>>2]|0;b=81956+(a<<2)|0;if((j|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[20414]=i&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;a=f[j+16>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[j+20>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}while(0);if(g>>>0<16){o=g+k|0;f[j+4>>2]=o|3;o=j+o+4|0;f[o>>2]=f[o>>2]|1}else{f[j+4>>2]=k|3;f[h+4>>2]=g|1;f[h+g>>2]=g;if(l|0){d=f[20418]|0;a=l>>>3;c=81692+(a<<1<<2)|0;a=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[20415]=g;f[20418]=h}o=j+8|0;u=p;return o|0}else m=k}}else m=k}else if(a>>>0>4294967231)m=-1;else{a=a+11|0;k=a&-8;j=f[20414]|0;if(!j)m=k;else{c=0-k|0;a=a>>>8;if(!a)h=0;else if(k>>>0>16777215)h=31;else{m=(a+1048320|0)>>>16&8;o=a<>>16&4;o=o<>>16&2;h=14-(l|m|h)+(o<>>15)|0;h=k>>>(h+7|0)&1|h<<1}b=f[81956+(h<<2)>>2]|0;a:do if(!b){b=0;a=0;o=57}else{a=0;g=b;e=k<<((h|0)==31?0:25-(h>>>1)|0);b=0;while(1){d=(f[g+4>>2]&-8)-k|0;if(d>>>0>>0)if(!d){c=0;b=g;a=g;o=61;break a}else{a=g;c=d}d=f[g+20>>2]|0;g=f[g+16+(e>>>31<<2)>>2]|0;b=(d|0)==0|(d|0)==(g|0)?b:d;d=(g|0)==0;if(d){o=57;break}else e=e<<((d^1)&1)}}while(0);if((o|0)==57){if((b|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;l=m>>>1&2;m=m>>>l;b=m>>>1&1;a=0;b=f[81956+((g|h|i|l|b)+(m>>>b)<<2)>>2]|0}if(!b){i=a;g=c}else o=61}if((o|0)==61)while(1){o=0;l=(f[b+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?b:a;b=f[b+16+(((f[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!b){i=a;g=c;break}else o=61}if(!i)m=k;else if(g>>>0<((f[20415]|0)-k|0)>>>0){h=i+k|0;if(h>>>0<=i>>>0){o=0;u=p;return o|0}e=f[i+24>>2]|0;a=f[i+12>>2]|0;do if((a|0)==(i|0)){b=i+20|0;a=f[b>>2]|0;if(!a){b=i+16|0;a=f[b>>2]|0;if(!a){a=0;break}}while(1){c=a+20|0;d=f[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=f[c>>2]|0;if(!d)break;else{a=d;b=c}}f[b>>2]=0}else{o=f[i+8>>2]|0;f[o+12>>2]=a;f[a+8>>2]=o}while(0);do if(!e)d=j;else{b=f[i+28>>2]|0;c=81956+(b<<2)|0;if((i|0)==(f[c>>2]|0)){f[c>>2]=a;if(!a){d=j&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=a;if(!a){d=j;break}}f[a+24>>2]=e;b=f[i+16>>2]|0;if(b|0){f[a+16>>2]=b;f[b+24>>2]=a}b=f[i+20>>2]|0;if(!b)d=j;else{f[a+20>>2]=b;f[b+24>>2]=a;d=j}}while(0);do if(g>>>0<16){o=g+k|0;f[i+4>>2]=o|3;o=i+o+4|0;f[o>>2]=f[o>>2]|1}else{f[i+4>>2]=k|3;f[h+4>>2]=g|1;f[h+g>>2]=g;a=g>>>3;if(g>>>0<256){c=81692+(a<<1<<2)|0;b=f[20413]|0;a=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}a=g>>>8;if(!a)a=0;else if(g>>>0>16777215)a=31;else{n=(a+1048320|0)>>>16&8;o=a<>>16&4;o=o<>>16&2;a=14-(m|n|a)+(o<>>15)|0;a=g>>>(a+7|0)&1|a<<1}c=81956+(a<<2)|0;f[h+28>>2]=a;b=h+16|0;f[b+4>>2]=0;f[b>>2]=0;b=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}b=g<<((a|0)==31?0:25-(a>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){o=97;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){o=96;break}else{b=b<<1;c=a}}if((o|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((o|0)==97){n=c+8|0;o=f[n>>2]|0;f[o+12>>2]=h;f[n>>2]=h;f[h+8>>2]=o;f[h+12>>2]=c;f[h+24>>2]=0;break}}while(0);o=i+8|0;u=p;return o|0}else m=k}}while(0);c=f[20415]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[20418]|0;if(a>>>0>15){o=b+m|0;f[20418]=o;f[20415]=a;f[o+4>>2]=a|1;f[b+c>>2]=a;f[b+4>>2]=m|3}else{f[20415]=0;f[20418]=0;f[b+4>>2]=c|3;o=b+c+4|0;f[o>>2]=f[o>>2]|1}o=b+8|0;u=p;return o|0}h=f[20416]|0;if(h>>>0>m>>>0){l=h-m|0;f[20416]=l;o=f[20419]|0;n=o+m|0;f[20419]=n;f[n+4>>2]=l|1;f[o+4>>2]=m|3;o=o+8|0;u=p;return o|0}if(!(f[20531]|0)){f[20533]=4096;f[20532]=4096;f[20534]=-1;f[20535]=-1;f[20536]=0;f[20524]=0;f[20531]=n&-16^1431655768;a=4096}else a=f[20533]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){o=0;u=p;return o|0}a=f[20523]|0;if(a|0){l=f[20521]|0;n=l+k|0;if(n>>>0<=l>>>0|n>>>0>a>>>0){o=0;u=p;return o|0}}b:do if(!(f[20524]&4)){b=f[20419]|0;c:do if(!b)o=118;else{c=82100;while(1){a=f[c>>2]|0;if(a>>>0<=b>>>0){e=c+4|0;if((a+(f[e>>2]|0)|0)>>>0>b>>>0)break}a=f[c+8>>2]|0;if(!a){o=118;break c}else c=a}a=g-h&d;if(a>>>0<2147483647){d=TN(a|0)|0;if((d|0)==((f[c>>2]|0)+(f[e>>2]|0)|0)){if((d|0)!=(-1|0)){o=135;break b}}else o=126}else a=0}while(0);do if((o|0)==118){d=TN(0)|0;if((d|0)==(-1|0))a=0;else{a=d;b=f[20532]|0;c=b+-1|0;a=((c&a|0)==0?0:(c+a&0-b)-a|0)+k|0;b=f[20521]|0;c=a+b|0;if(a>>>0>m>>>0&a>>>0<2147483647){e=f[20523]|0;if(e|0)if(c>>>0<=b>>>0|c>>>0>e>>>0){a=0;break}b=TN(a|0)|0;if((b|0)==(d|0)){o=135;break b}else{d=b;o=126}}else a=0}}while(0);do if((o|0)==126){c=0-a|0;if(!(i>>>0>a>>>0&(a>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){a=0;break}else{o=135;break b}b=f[20533]|0;b=j-a+b&0-b;if(b>>>0>=2147483647){o=135;break b}if((TN(b|0)|0)==(-1|0)){TN(c|0)|0;a=0;break}else{a=b+a|0;o=135;break b}}while(0);f[20524]=f[20524]|4;o=133}else{a=0;o=133}while(0);if((o|0)==133)if(k>>>0<2147483647){d=TN(k|0)|0;n=TN(0)|0;b=n-d|0;c=b>>>0>(m+40|0)>>>0;if(!((d|0)==(-1|0)|c^1|d>>>0>>0&((d|0)!=(-1|0)&(n|0)!=(-1|0))^1)){a=c?b:a;o=135}}if((o|0)==135){b=(f[20521]|0)+a|0;f[20521]=b;if(b>>>0>(f[20522]|0)>>>0)f[20522]=b;j=f[20419]|0;do if(!j){o=f[20417]|0;if((o|0)==0|d>>>0>>0)f[20417]=d;f[20525]=d;f[20526]=a;f[20528]=0;f[20422]=f[20531];f[20421]=-1;f[20426]=81692;f[20425]=81692;f[20428]=81700;f[20427]=81700;f[20430]=81708;f[20429]=81708;f[20432]=81716;f[20431]=81716;f[20434]=81724;f[20433]=81724;f[20436]=81732;f[20435]=81732;f[20438]=81740;f[20437]=81740;f[20440]=81748;f[20439]=81748;f[20442]=81756;f[20441]=81756;f[20444]=81764;f[20443]=81764;f[20446]=81772;f[20445]=81772;f[20448]=81780;f[20447]=81780;f[20450]=81788;f[20449]=81788;f[20452]=81796;f[20451]=81796;f[20454]=81804;f[20453]=81804;f[20456]=81812;f[20455]=81812;f[20458]=81820;f[20457]=81820;f[20460]=81828;f[20459]=81828;f[20462]=81836;f[20461]=81836;f[20464]=81844;f[20463]=81844;f[20466]=81852;f[20465]=81852;f[20468]=81860;f[20467]=81860;f[20470]=81868;f[20469]=81868;f[20472]=81876;f[20471]=81876;f[20474]=81884;f[20473]=81884;f[20476]=81892;f[20475]=81892;f[20478]=81900;f[20477]=81900;f[20480]=81908;f[20479]=81908;f[20482]=81916;f[20481]=81916;f[20484]=81924;f[20483]=81924;f[20486]=81932;f[20485]=81932;f[20488]=81940;f[20487]=81940;o=a+-40|0;l=d+8|0;l=(l&7|0)==0?0:0-l&7;n=d+l|0;l=o-l|0;f[20419]=n;f[20416]=l;f[n+4>>2]=l|1;f[d+o+4>>2]=40;f[20420]=f[20535]}else{b=82100;do{c=f[b>>2]|0;e=b+4|0;g=f[e>>2]|0;if((d|0)==(c+g|0)){o=143;break}b=f[b+8>>2]|0}while((b|0)!=0);if((o|0)==143)if(!(f[b+12>>2]&8))if(d>>>0>j>>>0&c>>>0<=j>>>0){f[e>>2]=g+a;o=(f[20416]|0)+a|0;l=j+8|0;l=(l&7|0)==0?0:0-l&7;n=j+l|0;l=o-l|0;f[20419]=n;f[20416]=l;f[n+4>>2]=l|1;f[j+o+4>>2]=40;f[20420]=f[20535];break}if(d>>>0<(f[20417]|0)>>>0)f[20417]=d;c=d+a|0;b=82100;while(1){if((f[b>>2]|0)==(c|0)){o=151;break}b=f[b+8>>2]|0;if(!b){c=82100;break}}if((o|0)==151)if(!(f[b+12>>2]&8)){f[b>>2]=d;l=b+4|0;f[l>>2]=(f[l>>2]|0)+a;l=d+8|0;l=d+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;k=l+m|0;i=a-l-m|0;f[l+4>>2]=m|3;do if((j|0)==(a|0)){o=(f[20416]|0)+i|0;f[20416]=o;f[20419]=k;f[k+4>>2]=o|1}else{if((f[20418]|0)==(a|0)){o=(f[20415]|0)+i|0;f[20415]=o;f[20418]=k;f[k+4>>2]=o|1;f[k+o>>2]=o;break}b=f[a+4>>2]|0;if((b&3|0)==1){h=b&-8;d=b>>>3;d:do if(b>>>0<256){b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((c|0)==(b|0)){f[20413]=f[20413]&~(1<>2]=c;f[c+8>>2]=b;break}}else{g=f[a+24>>2]|0;b=f[a+12>>2]|0;do if((b|0)==(a|0)){d=a+16|0;c=d+4|0;b=f[c>>2]|0;if(!b){b=f[d>>2]|0;if(!b){b=0;break}else c=d}while(1){d=b+20|0;e=f[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=f[d>>2]|0;if(!e)break;else{b=e;c=d}}f[c>>2]=0}else{o=f[a+8>>2]|0;f[o+12>>2]=b;f[b+8>>2]=o}while(0);if(!g)break;c=f[a+28>>2]|0;d=81956+(c<<2)|0;do if((f[d>>2]|0)==(a|0)){f[d>>2]=b;if(b|0)break;f[20414]=f[20414]&~(1<>2]|0)!=(a|0)&1)<<2)>>2]=b;if(!b)break d}while(0);f[b+24>>2]=g;c=a+16|0;d=f[c>>2]|0;if(d|0){f[b+16>>2]=d;f[d+24>>2]=b}c=f[c+4>>2]|0;if(!c)break;f[b+20>>2]=c;f[c+24>>2]=b}while(0);a=a+h|0;e=h+i|0}else e=i;a=a+4|0;f[a>>2]=f[a>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;a=e>>>3;if(e>>>0<256){c=81692+(a<<1<<2)|0;b=f[20413]|0;a=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}a=e>>>8;do if(!a)a=0;else{if(e>>>0>16777215){a=31;break}n=(a+1048320|0)>>>16&8;o=a<>>16&4;o=o<>>16&2;a=14-(m|n|a)+(o<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=81956+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[20414]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}b=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){o=192;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){o=191;break}else{b=b<<1;c=a}}if((o|0)==191){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((o|0)==192){n=c+8|0;o=f[n>>2]|0;f[o+12>>2]=k;f[n>>2]=k;f[k+8>>2]=o;f[k+12>>2]=c;f[k+24>>2]=0;break}}while(0);o=l+8|0;u=p;return o|0}else c=82100;while(1){b=f[c>>2]|0;if(b>>>0<=j>>>0){b=b+(f[c+4>>2]|0)|0;if(b>>>0>j>>>0)break}c=f[c+8>>2]|0}g=b+-47|0;c=g+8|0;c=g+((c&7|0)==0?0:0-c&7)|0;g=j+16|0;c=c>>>0>>0?j:c;o=c+8|0;e=a+-40|0;l=d+8|0;l=(l&7|0)==0?0:0-l&7;n=d+l|0;l=e-l|0;f[20419]=n;f[20416]=l;f[n+4>>2]=l|1;f[d+e+4>>2]=40;f[20420]=f[20535];e=c+4|0;f[e>>2]=27;f[o>>2]=f[20525];f[o+4>>2]=f[20526];f[o+8>>2]=f[20527];f[o+12>>2]=f[20528];f[20525]=d;f[20526]=a;f[20528]=0;f[20527]=o;a=c+24|0;do{o=a;a=a+4|0;f[a>>2]=7}while((o+8|0)>>>0>>0);if((c|0)!=(j|0)){h=c-j|0;f[e>>2]=f[e>>2]&-2;f[j+4>>2]=h|1;f[c>>2]=h;a=h>>>3;if(h>>>0<256){c=81692+(a<<1<<2)|0;b=f[20413]|0;a=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}a=h>>>8;if(!a)c=0;else if(h>>>0>16777215)c=31;else{n=(a+1048320|0)>>>16&8;o=a<>>16&4;o=o<>>16&2;c=14-(l|n|c)+(o<>>15)|0;c=h>>>(c+7|0)&1|c<<1}d=81956+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[g>>2]=0;a=f[20414]|0;b=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}b=h<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(h|0)){o=213;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){o=212;break}else{b=b<<1;c=a}}if((o|0)==212){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((o|0)==213){n=c+8|0;o=f[n>>2]|0;f[o+12>>2]=j;f[n>>2]=j;f[j+8>>2]=o;f[j+12>>2]=c;f[j+24>>2]=0;break}}}while(0);a=f[20416]|0;if(a>>>0>m>>>0){l=a-m|0;f[20416]=l;o=f[20419]|0;n=o+m|0;f[20419]=n;f[n+4>>2]=l|1;f[o+4>>2]=m|3;o=o+8|0;u=p;return o|0}}o=bua()|0;f[o>>2]=12;o=0;u=p;return o|0}function Sd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=0;R=u;u=u+448|0;J=R+80|0;M=R+40|0;s=R;H=R+368|0;e=R+440|0;k=R+424|0;g=R+384|0;i=R+376|0;T=R+320|0;j=R+328|0;n=R+312|0;o=R+296|0;l=R+288|0;r=R+272|0;p=R+232|0;q=R+224|0;S=R+304|0;z=R+216|0;A=R+208|0;y=R+200|0;B=R+192|0;C=R+184|0;D=R+176|0;K=R+168|0;E=R+160|0;F=R+152|0;G=R+144|0;L=R+136|0;P=R+128|0;Q=R+120|0;O=a+24|0;f[J>>2]=c;N=a+28|0;d=f[N>>2]|0;if(d>>>0<(f[a+32>>2]|0)>>>0){f[d>>2]=c;f[N>>2]=(f[N>>2]|0)+4}else TA(O,J);h=f[(f[a>>2]|0)+12>>2]|0;m=c+68|0;qV(e,f[m>>2]|0);f[e>>2]=7280;x=0;h=sa(h|0,a|0,f[e+4>>2]|0)|0;w=x;x=0;if(w&1){U=Ya()|0;_P(e);jb(U|0)}_P(e);a:do if(!(Vba(h)|0)){d=VN(80)|0;f[k>>2]=d;f[k+8>>2]=-2147483568;f[k+4>>2]=66;t=d;v=50102;w=t+66|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));b[d+66>>0]=0;x=0;Ga(462,i|0,f[m>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[i>>2]=7280;t=g;v=(f[i+4>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));d=f[a+8>>2]|0;x=0;t=J;v=g;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ia(100,k|0,J|0,d|0);w=x;x=0;if(w&1){d=Ya()|0;_P(i);break}_P(i);if((b[k+11>>0]|0)>=0)break a;Hta(f[k>>2]|0);break a}while(0);if((b[k+11>>0]|0)>=0){U=d;jb(U|0)}Hta(f[k>>2]|0);U=d;jb(U|0)}while(0);g=VN(84)|0;t=j;v=c+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(462,n|0,f[c+76>>2]|0);w=x;x=0;do if(w&1){d=Ya()|0;U=29}else{f[n>>2]=7168;x=0;Ga(462,o|0,h|0);w=x;x=0;if(w&1){d=Ya()|0;_P(n);U=29;break}f[o>>2]=7280;x=0;t=J;v=j;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ja(38,g|0,J|0,n|0,o|0);w=x;x=0;if(w&1)e=1;else{x=0;Ga(462,T|0,g|0);w=x;x=0;if(w&1)e=0;else{f[T>>2]=17176;_P(o);_P(n);o=T+4|0;w=f[o>>2]|0;b[w+80>>0]=b[c+80>>0]|0;f[N>>2]=(f[N>>2]|0)+-4;x=0;Ga(462,l|0,f[w+68>>2]|0);w=x;x=0;b:do if(w&1)U=30;else{f[l>>2]=7280;w=(f[l+4>>2]|0)==0;_P(l);c:do if(w){f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;x=0;d=qa(318,80)|0;w=x;x=0;if(w&1){U=30;break b}f[r>>2]=d;f[r+8>>2]=-2147483568;f[r+4>>2]=66;t=d;v=50102;w=t+66|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));b[d+66>>0]=0;x=0;Ga(462,q|0,f[m>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[q>>2]=7280;t=p;v=(f[q+4>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));d=f[a+8>>2]|0;x=0;t=J;v=p;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ia(100,r|0,J|0,d|0);w=x;x=0;if(w&1){d=Ya()|0;_P(q);break}_P(q);if((b[r+11>>0]|0)>=0)break c;Hta(f[r>>2]|0);break c}while(0);if((b[r+11>>0]|0)>=0)break b;Hta(f[r>>2]|0);break b}while(0);x=0;k=qa(318,88)|0;w=x;x=0;d:do if(w&1)d=Ya()|0;else{x=0;Ga(462,z|0,f[(f[o>>2]|0)+68>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[z>>2]=7280;t=s;v=(f[z+4>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Fa(427,k|0);w=x;x=0;if(w&1)e=1;else{t=k+12|0;v=s;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);w=x;x=0;if(w&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{S=g+-8|0;f[j>>2]=S;Kc[f[f[S>>2]>>2]&511](S);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}_P(z);break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,S|0,k|0);w=x;x=0;if(w&1)e=0;else{f[S>>2]=7280;_P(z);x=0;n=qa(318,88)|0;z=x;x=0;e:do if(z&1)d=Ya()|0;else{x=0;Ga(462,A|0,f[(f[o>>2]|0)+68>>2]|0);z=x;x=0;if(z&1)d=Ya()|0;else{f[A>>2]=7280;t=M;v=(f[A+4>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Fa(427,n|0);z=x;x=0;do if(z&1)d=Ya()|0;else{t=n+12|0;v=M;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));f[n>>2]=6976;f[n+52>>2]=0;f[n+56>>2]=0;b[n+60>>0]=0;c=n+64|0;f[c>>2]=6936;m=n+68|0;l=n+72|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(568,m|0,0);z=x;x=0;if(z&1){d=Ya()|0;h=I;e=f[m>>2]|0;if(e|0){g=f[l>>2]|0;if((g|0)!=(e|0)){do{R=g+-8|0;f[l>>2]=R;Kc[f[f[R>>2]>>2]&511](R);g=f[l>>2]|0}while((g|0)!=(e|0));e=f[m>>2]|0}Hta(e)}break}f[n>>2]=6780;f[c>>2]=6880;b[n+84>>0]=0;_P(A);x=0;Ga(462,y|0,f[(f[o>>2]|0)+68>>2]|0);A=x;x=0;if(A&1){d=Ya()|0;break e}f[y>>2]=7280;k=f[y+4>>2]|0;k=(f[k+72>>2]|0)-(f[k+68>>2]|0)>>3;_P(y);f:do if(!k)e=S+4|0;else{j=B+4|0;e=S+4|0;i=0;g:while(1){x=0;Ga(462,B|0,f[(f[o>>2]|0)+68>>2]|0);A=x;x=0;if(A&1){U=79;break}f[B>>2]=7280;d=(f[j>>2]|0)+64|0;x=0;d=sa(f[(f[d>>2]|0)+16>>2]|0,d|0,i|0)|0;A=x;x=0;if(A&1){U=80;break}h=f[d+4>>2]|0;_P(B);d=f[h>>2]|0;g=f[101]|0;if((g|0)==(f[(f[d+-4>>2]|0)+4>>2]|0))U=76;else{x=0;d=qa(f[d+80>>2]|0,h|0)|0;A=x;x=0;if(A&1){U=79;break}if(d)U=76}if((U|0)==76){U=0;d=f[(f[c>>2]|0)+20>>2]|0;x=0;Ga(462,C|0,h|0);A=x;x=0;if(A&1){U=79;break}f[C>>2]=6920;x=0;Ga(d|0,c|0,C|0);A=x;x=0;if(A&1){U=81;break}_P(C)}d=f[h>>2]|0;do if((g|0)!=(f[(f[d+-4>>2]|0)+4>>2]|0)){x=0;d=qa(f[d+80>>2]|0,h|0)|0;A=x;x=0;if(A&1){U=79;break g}if(d)break;d=(f[e>>2]|0)+64|0;g=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,D|0,h|0);A=x;x=0;if(A&1){U=79;break g}f[D>>2]=6920;x=0;Ga(g|0,d|0,D|0);A=x;x=0;if(A&1){U=88;break g}_P(D)}while(0);i=i+1|0;if(i>>>0>=k>>>0)break f}if((U|0)==79){d=Ya()|0;break e}else if((U|0)==80){d=Ya()|0;_P(B);break e}else if((U|0)==81){d=Ya()|0;_P(C);break e}else if((U|0)==88){d=Ya()|0;_P(D);break e}}while(0);D=f[e>>2]|0;h:do if((f[D+72>>2]|0)!=(f[D+68>>2]|0)){x=0;k=qa(318,88)|0;D=x;x=0;i:do if(D&1)d=Ya()|0;else{x=0;Ga(462,K|0,f[(f[o>>2]|0)+68>>2]|0);D=x;x=0;j:do if(D&1)d=Ya()|0;else{f[K>>2]=7280;t=J;v=(f[K+4>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Fa(427,k|0);D=x;x=0;do if(D&1)e=1;else{t=k+12|0;v=J;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);D=x;x=0;if(D&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{R=g+-8|0;f[j>>2]=R;Kc[f[f[R>>2]>>2]&511](R);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}_P(K);break j}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,M|0,k|0);D=x;x=0;if(D&1){e=0;break}f[M>>2]=7280;_P(K);d=M+4|0;D=(f[d>>2]|0)+64|0;K=f[e>>2]|0;x=0;Ga(f[(f[D>>2]|0)+24>>2]|0,D|0,((K|0)==0?0:K+64|0)|0);K=x;x=0;k:do if(K&1)U=114;else{e=f[o>>2]|0;x=0;Ga(462,F|0,f[d>>2]|0);K=x;x=0;if(K&1){U=114;break}f[F>>2]=7280;g=e+64|0;d=e+68|0;if(!(f[d>>2]|0))U=105;else{x=0;Fa(429,g|0);K=x;x=0;if(!(K&1))U=105}do if((U|0)==105){f[d>>2]=f[F+4>>2];x=0;Fa(430,g|0);K=x;x=0;if(K&1)break;x=0;Ga(462,E|0,f[d>>2]|0);K=x;x=0;if(K&1)break;f[E>>2]=7280;_P(E);_P(F);e=(f[l>>2]|0)-(f[m>>2]|0)>>3;l:do if(e|0){d=0;while(1){x=0;g=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,d|0)|0;K=x;x=0;if(K&1)break;K=(f[g+4>>2]|0)+56|0;f[K>>2]=(f[K>>2]|0)+1;d=d+1|0;if(d>>>0>=e>>>0)break l}d=Ya()|0;break k}while(0);x=0;Ga(462,L|0,f[o>>2]|0);K=x;x=0;if(K&1){U=114;break k}f[L>>2]=17176;x=0;Ga(462,G|0,f[L+4>>2]|0);K=x;x=0;do if(K&1)d=Ya()|0;else{f[G>>2]=6920;f[H>>2]=f[m>>2];x=0;f[J>>2]=f[H>>2];ta(157,m|0,J|0,G|0)|0;K=x;x=0;if(K&1){d=Ya()|0;_P(G);break}else{_P(G);_P(L);_P(M);break h}}while(0);_P(L);break k}while(0);d=Ya()|0;_P(F)}while(0);if((U|0)==114)d=Ya()|0;_P(M);break i}while(0);d=Ya()|0;_P(K);if(!e)break i}while(0);Hta(k)}while(0);break e}while(0);x=0;h=ta(158,a|0,n|0,0)|0;M=x;x=0;if(M&1){d=Ya()|0;break e}do if((n|0)!=(h|0)){x=0;Ga(462,J|0,n|0);M=x;x=0;if(M&1){d=Ya()|0;break e}else{f[J>>2]=7280;_P(J);break}}while(0);g=h+72|0;d=f[g>>2]|0;if((d|0)==(f[h+68>>2]|0)){_P(S);_P(T);u=R;return h|0}x=0;Ga(462,P|0,f[d+-4>>2]|0);M=x;x=0;do if(!(M&1)){f[P>>2]=6920;d=f[P+4>>2]|0;e=f[d>>2]|0;do if((f[101]|0)!=(f[(f[e+-4>>2]|0)+4>>2]|0)){x=0;d=qa(f[e+80>>2]|0,d|0)|0;M=x;x=0;if(M&1){d=Ya()|0;_P(P);break e}if(d)break;_P(P);_P(S);_P(T);u=R;return h|0}while(0);d=f[N>>2]|0;if((d|0)==(f[O>>2]|0))d=f[a+12>>2]|0;else d=d+-4|0;O=(f[(f[d>>2]|0)+52>>2]|0)==1;_P(P);if(O){_P(S);_P(T);u=R;return h|0}x=0;Ga(462,Q|0,f[(f[g>>2]|0)+-4>>2]|0);P=x;x=0;if(P&1)break;f[Q>>2]=6920;b[(f[Q+4>>2]|0)+60>>0]=1;_P(Q);_P(S);_P(T);u=R;return h|0}while(0);d=Ya()|0;break e}while(0);_P(A)}Hta(n)}while(0);_P(S);break d}}d=Ya()|0;_P(z);if(!e)break d}while(0);Hta(k)}while(0)}while(0);if((U|0)==30)d=Ya()|0;_P(T);break}}d=Ya()|0;_P(o);_P(n);if(e)U=29}while(0);if((U|0)==29)Hta(g);U=d;jb(U|0);return 0}function Td(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,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ta=0,ua=0,va=0,xa=0,ya=0;pa=u;u=u+272|0;M=pa+80|0;ia=pa+40|0;oa=pa;ya=pa+224|0;c=pa+232|0;n=pa+208|0;C=pa+200|0;D=pa+192|0;E=pa+184|0;F=pa+176|0;B=pa+168|0;G=pa+160|0;K=pa+152|0;L=pa+144|0;ja=pa+136|0;ka=pa+128|0;na=pa+120|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;o=ia+11|0;b[o>>0]=6;b[ia>>0]=b[40705]|0;b[ia+1>>0]=b[40706]|0;b[ia+2>>0]=b[40707]|0;b[ia+3>>0]=b[40708]|0;b[ia+4>>0]=b[40709]|0;b[ia+5>>0]=b[40710]|0;b[ia+6>>0]=0;e=c;p=h;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));x=0;Ga(511,n|0,i|0);ha=x;x=0;if(ha&1)k=Ya()|0;else{x=0;e=M;p=c;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));c=wa(29,ia|0,a|0,g|0,M|0,n|0)|0;ha=x;x=0;if(!(ha&1)){x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;ha=x;x=0;if(!(ha&1)){x=0;Ga(462,ya|0,c|0);ha=x;x=0;if(!(ha&1)){f[ya>>2]=7584;c=f[n>>2]|0;if(c|0){a=n+4|0;e=f[a>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[a>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=j}while((e|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[ia>>2]|0);ha=ya+4|0;e=f[ha>>2]|0;g=(f[e+68>>2]|0)-(f[e+64>>2]|0)>>3;a:do if(!g){ra=0;c=16}else{i=C+4|0;n=D+4|0;o=M+4|0;r=oa+4|0;s=E+4|0;t=L+4|0;v=ia+4|0;w=ia+4|0;y=K+4|0;z=G+4|0;A=ia+4|0;c=0;a=0;b:while(1){x=0;Ia(106,C|0,e|0,a|0);q=x;x=0;if(q&1){c=41;break}x=0;e=qa(340,f[i>>2]|0)|0;q=x;x=0;if(q&1){c=42;break}x=0;Ga(462,M|0,e|0);q=x;x=0;if(q&1){c=42;break}f[M>>2]=7584;_P(C);x=0;Ia(106,D|0,f[ha>>2]|0,a|0);q=x;x=0;if(q&1){c=43;break}e=f[n>>2]|0;if(!e)e=0;else e=(f[249]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,oa|0,e|0);q=x;x=0;if(q&1){c=44;break}f[oa>>2]=16784;_P(D);do if(!(f[o>>2]|0)){e=f[r>>2]|0;if(!e){x=0;ga=qa(318,88)|0;q=x;x=0;if(q&1){c=64;break b}e=ia;p=h;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));x=0;Fa(427,ga|0);q=x;x=0;if(q&1){c=65;break b}e=ga+12|0;p=ia;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));b[ga+52>>0]=0;b[ga+53>>0]=0;b[ga+54>>0]=0;e=ga+56|0;f[e>>2]=0;f[ga>>2]=6516;j=ga+60|0;f[j>>2]=9660;X=ga+64|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;x=0;Ga(516,X|0,1);q=x;x=0;if(q&1){c=52;break b}f[ga>>2]=9488;f[j>>2]=9620;f[ga+80>>2]=1;b[ga+84>>0]=0;b[ga+85>>0]=0;b[ga+86>>0]=0;f[e>>2]=5;x=0;Ga(462,E|0,ga|0);q=x;x=0;if(q&1){c=64;break b}f[E>>2]=7584;if(f[o>>2]|0){x=0;Fa(429,M|0);q=x;x=0;if(q&1){c=67;break b}}f[o>>2]=f[s>>2];f[s>>2]=0;_P(E);e=(f[o>>2]|0)+60|0;j=f[(f[e>>2]|0)+20>>2]|0;x=0;Ia(106,F|0,f[ha>>2]|0,a|0);q=x;x=0;if(q&1){c=45;break b}x=0;Ga(j|0,e|0,F|0);q=x;x=0;if(q&1){c=69;break b}_P(F)}else{x=0;Ia(107,ia|0,e|0,h|0);q=x;x=0;if(q&1){c=46;break b}if(f[o>>2]|0){x=0;Fa(429,M|0);q=x;x=0;if(q&1){c=47;break b}}f[o>>2]=f[A>>2];f[A>>2]=0;_P(ia)}e=f[ha>>2]|0;if(!(b[e+84>>0]|0)){x=0;Ga(462,L|0,f[o>>2]|0);q=x;x=0;if(q&1){c=94;break b}f[L>>2]=7584;x=0;Ga(462,ia|0,f[t>>2]|0);q=x;x=0;if(q&1){c=95;break b}f[ia>>2]=7696;e=f[(f[ha>>2]|0)+64>>2]|0;j=e+(a<<3)|0;if((j|0)!=(ia|0)){e=e+(a<<3)+4|0;if(f[e>>2]|0){x=0;Fa(429,j|0);q=x;x=0;if(q&1){c=96;break b}}f[e>>2]=f[v>>2];f[v>>2]=0}_P(ia);_P(L);break}e=e+60|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,a|0)|0;q=x;x=0;if(q&1){c=80;break b}x=0;Ga(462,ia|0,f[e+4>>2]|0);q=x;x=0;if(q&1){c=80;break b}f[ia>>2]=10408;e=f[w>>2]|0;x=0;Ga(462,K|0,f[o>>2]|0);q=x;x=0;if(q&1){c=81;break b}f[K>>2]=7584;x=0;Ga(462,G|0,f[y>>2]|0);q=x;x=0;if(q&1){c=82;break b}f[G>>2]=7696;f[e+84>>2]=0;j=e+60|0;e=e+64|0;if(f[e>>2]|0){x=0;Fa(429,j|0);q=x;x=0;if(q&1){c=83;break b}}f[e>>2]=f[z>>2];x=0;Fa(430,j|0);q=x;x=0;if(q&1){c=83;break b}x=0;Ga(462,B|0,f[e>>2]|0);q=x;x=0;if(q&1){c=83;break b}f[B>>2]=7696;_P(B);_P(G);_P(K);_P(ia)}while(0);e=f[o>>2]|0;e=(f[e+68>>2]|0)-(f[e+64>>2]|0)>>3;c=(a|0)==0|e>>>0>>0?e:c;_P(oa);_P(M);e=a+1|0;if(e>>>0>=g>>>0){ra=c;c=16;break a}a=e;e=f[ha>>2]|0}switch(c|0){case 41:{Z=Ya()|0;break}case 42:{Z=Ya()|0;_P(C);break}case 43:{fa=Ya()|0;c=102;break}case 44:{fa=Ya()|0;_P(D);c=102;break}case 45:{ea=Ya()|0;c=101;break}case 46:{Y=Ya()|0;c=48;break}case 47:{Y=Ya()|0;_P(ia);c=48;break}case 52:{m=Ya()|0;e=I;j=ga+68|0;k=f[X>>2]|0;if(k|0){c=f[j>>2]|0;if((c|0)!=(k|0)){do{J=c+-8|0;f[j>>2]=J;Kc[f[f[J>>2]>>2]&511](J);c=f[j>>2]|0}while((c|0)!=(k|0));k=f[X>>2]|0}Hta(k)}c=66;break}case 64:{_=Ya()|0;c=68;break}case 65:{m=Ya()|0;c=66;break}case 67:{_=Ya()|0;_P(E);c=68;break}case 69:{ea=Ya()|0;_P(F);c=101;break}case 80:{ba=Ya()|0;c=86;break}case 81:{aa=Ya()|0;c=85;break}case 82:{$=Ya()|0;c=84;break}case 83:{$=Ya()|0;_P(G);c=84;break}case 94:{da=Ya()|0;c=98;break}case 95:{ca=Ya()|0;c=97;break}case 96:{ca=Ya()|0;_P(ia);c=97;break}}if((c|0)==48){ea=Y;c=101}else if((c|0)==66){Hta(ga);_=m;c=68}else if((c|0)==84){_P(K);aa=$;c=85}else if((c|0)==97){_P(L);da=ca;c=98}if((c|0)==68){ea=_;c=101}else if((c|0)==85){_P(ia);ba=aa;c=86}else if((c|0)==98){ea=da;c=101}if((c|0)==86){ea=ba;c=101}if((c|0)==101){_P(oa);fa=ea;c=102}if((c|0)==102){_P(M);Z=fa}k=Z}while(0);c:do if((c|0)==16){x=0;o=qa(318,88)|0;ia=x;x=0;if(ia&1){k=Ya()|0;break}e=M;p=h;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));x=0;Fa(427,o|0);ia=x;x=0;do if(ia&1)k=Ya()|0;else{e=o+12|0;p=M;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;k=o+56|0;f[k>>2]=0;f[o>>2]=6516;n=o+60|0;f[n>>2]=9660;m=o+64|0;a=o+68|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(516,m|0,ra|0);ia=x;x=0;if(ia&1){k=Ya()|0;j=I;c=f[m>>2]|0;if(c|0){e=f[a>>2]|0;if((e|0)!=(c|0)){do{xa=e+-8|0;f[a>>2]=xa;Kc[f[f[xa>>2]>>2]&511](xa);e=f[a>>2]|0}while((e|0)!=(c|0));c=f[m>>2]|0}Hta(c)}break}f[o>>2]=9488;f[n>>2]=9620;a=o+80|0;f[a>>2]=0;d[a+4>>1]=0;b[a+6>>0]=0;f[k>>2]=5;a=f[ha>>2]|0;a=(f[a+68>>2]|0)-(f[a+64>>2]|0)>>3;if(!ra){_P(ya);u=pa;return o|0}g=ka+4|0;d:do if(!a){j=0;while(1){x=0;m=qa(318,88)|0;ma=x;x=0;if(ma&1){c=146;break d}e=oa;p=h;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));x=0;Fa(427,m|0);ma=x;x=0;if(ma&1){c=147;break}e=m+12|0;p=oa;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;k=m+56|0;f[k>>2]=0;f[m>>2]=6516;c=m+60|0;f[c>>2]=9660;e=m+64|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;x=0;Ga(516,e|0,0);ma=x;x=0;if(ma&1){va=e;xa=m;c=139;break d}f[m>>2]=9488;f[c>>2]=9620;f[m+80>>2]=1;b[m+84>>0]=0;b[m+85>>0]=0;b[m+86>>0]=0;f[k>>2]=5;k=f[(f[n>>2]|0)+20>>2]|0;x=0;Ga(462,na|0,m|0);ma=x;x=0;if(ma&1){c=146;break d}f[na>>2]=7696;x=0;Ga(k|0,n|0,na|0);ma=x;x=0;if(ma&1){c=152;break d}_P(na);j=j+1|0;if(j>>>0>=ra>>>0){c=132;break}}if((c|0)==132){_P(ya);u=pa;return o|0}else if((c|0)==147){l=Ya()|0;ua=m;break}}else{m=0;e:while(1){x=0;i=qa(318,88)|0;ia=x;x=0;if(ia&1){c=146;break d}e=oa;p=h;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));x=0;Fa(427,i|0);ia=x;x=0;if(ia&1){c=128;break}e=i+12|0;p=oa;q=e+40|0;do{f[e>>2]=f[p>>2];e=e+4|0;p=p+4|0}while((e|0)<(q|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;k=i+56|0;f[k>>2]=0;f[i>>2]=6516;j=i+60|0;f[j>>2]=9660;c=i+64|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;x=0;Ga(516,c|0,a|0);ia=x;x=0;if(ia&1){va=c;xa=i;c=139;break d}f[i>>2]=9488;f[j>>2]=9620;f[i+80>>2]=1;b[i+84>>0]=0;b[i+85>>0]=0;b[i+86>>0]=0;f[k>>2]=5;k=0;c=9620;while(1){e=f[c+20>>2]|0;x=0;Ia(106,ka|0,f[ha>>2]|0,k|0);ia=x;x=0;if(ia&1){c=129;break e}x=0;c=qa(340,f[g>>2]|0)|0;ia=x;x=0;if(ia&1){c=130;break e}c=c+60|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,m|0)|0;ia=x;x=0;if(ia&1){c=130;break e}x=0;Ga(462,ja|0,f[c+4>>2]|0);ia=x;x=0;if(ia&1){c=130;break e}f[ja>>2]=7696;x=0;Ga(e|0,j|0,ja|0);ia=x;x=0;if(ia&1){c=131;break e}_P(ja);_P(ka);k=k+1|0;if(k>>>0>=a>>>0)break;c=f[j>>2]|0}k=f[(f[n>>2]|0)+20>>2]|0;x=0;Ga(462,na|0,i|0);ia=x;x=0;if(ia&1){c=146;break d}f[na>>2]=7696;x=0;Ga(k|0,n|0,na|0);ia=x;x=0;if(ia&1){c=152;break d}_P(na);m=m+1|0;if(m>>>0>=ra>>>0){c=132;break}}if((c|0)==128){l=Ya()|0;ua=i;break}else if((c|0)==129){k=Ya()|0;break c}else if((c|0)==130)la=Ya()|0;else if((c|0)==131){la=Ya()|0;_P(ja)}else if((c|0)==132){_P(ya);u=pa;return o|0}_P(ka);k=la;break c}while(0);if((c|0)==139){l=Ya()|0;e=I;j=xa+68|0;k=f[va>>2]|0;if(k|0){c=f[j>>2]|0;if((c|0)!=(k|0)){do{ua=c+-8|0;f[j>>2]=ua;Kc[f[f[ua>>2]>>2]&511](ua);c=f[j>>2]|0}while((c|0)!=(k|0));k=f[va>>2]|0}Hta(k)}ua=xa}else if((c|0)==146){k=Ya()|0;break c}else if((c|0)==152){k=Ya()|0;_P(na);break c}Hta(ua);k=l;break c}while(0);Hta(o)}while(0);_P(ya);ya=k;jb(ya|0)}}}k=Ya()|0;l=I;c=f[n>>2]|0;if(c){m=n+4|0;e=f[m>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[m>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[m>>2]|0}else e=j}while((e|0)!=(c|0));c=f[n>>2]|0}Hta(c)}}if((b[o>>0]|0)<0)Hta(f[ia>>2]|0);ya=k;jb(ya|0);return 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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,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=0;Ba=u;u=u+512|0;Ca=Ba+224|0;ra=Ba+496|0;ua=Ba+184|0;la=Ba;k=Ba+456|0;l=Ba+440|0;ma=Ba+432|0;na=Ba+392|0;va=Ba+376|0;oa=Ba+364|0;Da=Ba+352|0;ka=Ba+344|0;pa=Ba+328|0;xa=Ba+320|0;ya=Ba+280|0;za=Ba+264|0;Sw(c,1,0)|0;e=f[c+172>>2]|0;Aa=f[c+176>>2]|0;a:do if(e>>>0>>0){i=0;g=e;b:while(1){h=b[g>>0]|0;if(!(h<<24>>24))break a;c:do if(i)i=0;else if(h<<24>>24==92)i=1;else{h=RC(g)|0;if(!h){m=b[36397]|0;if(!(m<<24>>24))if(!g){i=0;g=0;break}else break b;else{h=g;i=36397;j=m}while(1){if((b[h>>0]|0)!=j<<24>>24){i=0;break c}i=i+1|0;j=b[i>>0]|0;if(!(j<<24>>24)){Ea=11;break b}else h=h+1|0}}else{i=0;g=h}}while(0);g=g+1|0;if(g>>>0>=Aa>>>0)break a}if((Ea|0)==11)if(!g)break;sa=VN(88)|0;ba=c+108|0;n=la;o=ba;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,sa|0);wa=x;x=0;do if(wa&1)d=Ya()|0;else{n=sa+12|0;o=la;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[sa+52>>0]=0;b[sa+53>>0]=0;b[sa+54>>0]=0;g=sa+56|0;f[sa>>2]=11536;f[g>>2]=4;ga=sa+60|0;f[ga>>2]=9660;i=sa+64|0;j=sa+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);wa=x;x=0;if(wa&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{Ea=g+-8|0;f[j>>2]=Ea;Kc[f[f[Ea>>2]>>2]&511](Ea);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[sa>>2]=11364;f[ga>>2]=11496;b[sa+80>>0]=1;f[sa+84>>2]=0;f[g>>2]=4;aa=va+11|0;s=va+8|0;t=va+4|0;v=c+80|0;X=Aa;w=X-e|0;y=w>>>0>4294967279;z=w>>>0<11;A=w&255;$=ua+11|0;B=(e|0)==(Aa|0);C=c+108|0;V=ra+11|0;Y=pa+11|0;D=w+16&-16;E=D|-2147483648;F=ua+8|0;G=ua+4|0;H=c+76|0;J=Ca+8|0;K=Ca+4|0;Z=ra+11|0;L=ra+7|0;M=ua+8|0;N=ua+4|0;W=ua+11|0;_=Ca+11|0;O=oa+4|0;P=oa+8|0;Q=c+40|0;R=c+148|0;S=c+72|0;ca=la+148|0;ea=la+56|0;ha=la+44|0;T=ua+4|0;wa=Da+4|0;ia=la+48|0;fa=la+60|0;da=la+152|0;U=ra+8|0;q=e;g=m;d:while(1){m=q;while(1){i=0;l=q;r=g;e:while(1){g=b[l>>0]|0;if(!(g<<24>>24)){Ea=185;break d}f:do if(i){i=0;g=l;h=r}else if(g<<24>>24==92){i=1;g=l;h=r}else{g=RC(l)|0;if(!g){if(!(r<<24>>24))if(!l){i=0;g=0;h=0;break}else break e;else{g=l;h=36397;i=r}while(1){if((b[g>>0]|0)!=i<<24>>24){i=0;g=l;h=r;break f}h=h+1|0;i=b[h>>0]|0;if(!(i<<24>>24)){Ea=50;break e}else g=g+1|0}}else{i=0;h=r}}while(0);g=g+1|0;if(g>>>0>>0){l=g;r=h}else{Ea=185;break d}}if((Ea|0)==50){Ea=0;if(!l){Ea=185;break d}}if(q>>>0>>0){k=f[(f[ga>>2]|0)+20>>2]|0;ta=VN(80)|0;n=na;o=ba;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;j=l-m|0;if(j>>>0>4294967279){Ea=53;break d}if(j>>>0<11){b[aa>>0]=j;g=va}else{h=j+16&-16;x=0;g=qa(318,h|0)|0;p=x;x=0;if(p&1){Ea=70;break d}f[va>>2]=g;f[s>>2]=h|-2147483648;f[t>>2]=j}if((q|0)!=(l|0)){h=g;i=q;while(1){b[h>>0]=b[i>>0]|0;i=i+1|0;if((i|0)==(l|0))break;else h=h+1|0}g=g+j|0}b[g>>0]=0;n=ua;o=na;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,ta|0);p=x;x=0;if(p&1){d=1;Ea=71;break d}n=ta+12|0;o=ua;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[ta+52>>0]=0;b[ta+53>>0]=0;b[ta+54>>0]=0;f[ta+56>>2]=4;f[ta>>2]=11668;b[ta+60>>0]=0;b[ta+61>>0]=0;x=0;Ia(101,ta+64|0,va|0,1);p=x;x=0;if(p&1){Ea=63;break d}f[ta+76>>2]=0;x=0;Ga(462,ma|0,ta|0);p=x;x=0;if(p&1){d=0;Ea=71;break d}f[ma>>2]=7696;x=0;Ga(k|0,ga|0,ma|0);p=x;x=0;if(p&1){Ea=73;break d}_P(ma);if((b[aa>>0]|0)<0)Hta(f[va>>2]|0)}j=l+2|0;g=VX(j)|0;g=bW(g|0?g:j)|0;if(g|0){h=b[51458]|0;g:do if(!(h<<24>>24))h=0;else{i=51458;while(1){if((b[g>>0]|0)!=h<<24>>24)break g;g=g+1|0;i=i+1|0;h=b[i>>0]|0;if(!(h<<24>>24)){h=0;break}}}while(0);p=h<<24>>24==0?g:0;if(!((p|0)==0?1:p>>>0>(f[v>>2]|0)>>>0)){f[H>>2]=j;g=VN(16)|0;f[Ca>>2]=g;f[J>>2]=-2147483632;f[K>>2]=11;n=g;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[g+11>>0]=0;f[U>>2]=0;b[Z>>0]=7;b[ra>>0]=b[44254]|0;b[ra+1>>0]=b[44255]|0;b[ra+2>>0]=b[44256]|0;b[ra+3>>0]=b[44257]|0;b[ra+4>>0]=b[44258]|0;b[ra+5>>0]=b[44259]|0;b[ra+6>>0]=b[44260]|0;b[L>>0]=0;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;x=0;g=qa(318,48)|0;p=x;x=0;if(p&1){Ea=92;break d}f[ua>>2]=g;f[M>>2]=-2147483600;f[N>>2]=44;n=g;o=44621;p=n+44|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[g+44>>0]=0;x=0;Ka(8,c|0,Ca|0,ra|0,ua|0,1);p=x;x=0;if(p&1){Ea=93;break d}if((b[W>>0]|0)<0)Hta(f[ua>>2]|0);if((b[Z>>0]|0)<0)Hta(f[ra>>2]|0);if((b[_>>0]|0)<0)Hta(f[Ca>>2]|0)}}k=rl(j,Aa)|0;if(k|0)break;f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;if(y){Ea=159;break d}if(z){b[$>>0]=A;g=ua}else{g=VN(D)|0;f[ua>>2]=g;f[F>>2]=E;f[G>>2]=w}if(!B){h=g;i=e;while(1){b[h>>0]=b[i>>0]|0;i=i+1|0;if((i|0)==(Aa|0))break;else h=h+1|0}g=g+w|0}b[g>>0]=0;x=0;Ia(92,pa|0,45287,ua|0);p=x;x=0;if(p&1){Ea=178;break d}x=0;Ga(459,ra|0,pa|0);p=x;x=0;if(p&1){Ea=179;break d}x=0;f[Ca>>2]=f[C>>2];f[Ca+4>>2]=f[C+4>>2];f[Ca+8>>2]=f[C+8>>2];Ia(113,c|0,ra|0,Ca|0);p=x;x=0;if(p&1){Ea=171;break d}if((b[V>>0]|0)<0)Hta(f[ra>>2]|0);if((b[Y>>0]|0)<0)Hta(f[pa>>2]|0);if((b[$>>0]|0)<0)Hta(f[ua>>2]|0);g=r}f[oa>>2]=j;f[O>>2]=j;f[P>>2]=k;g=f[Q>>2]|0;Gv(Da,R);h=f[S>>2]|0;x=0;f[ra>>2]=f[oa>>2];f[ra+4>>2]=f[oa+4>>2];f[ra+8>>2]=f[oa+8>>2];n=Ca;o=ba;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));La(20,la|0,ra|0,g|0,Da|0,Ca|0,h|0);q=x;x=0;if(q&1){Ea=129;break}x=0;Ia(114,ua|0,la|0,0);q=x;x=0;if(q&1){Ea=130;break}g=f[ca>>2]|0;if(g|0){h=f[da>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[da>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[da>>2]|0}else h=i}while((h|0)!=(g|0));g=f[ca>>2]|0}Hta(g)}g=f[ea>>2]|0;if(g|0){h=f[fa>>2]|0;if((h|0)!=(g|0))f[fa>>2]=h+(~((h+-4-g|0)>>>2)<<2);Hta(g)}g=f[ha>>2]|0;if(g|0){h=f[ia>>2]|0;if((h|0)!=(g|0)){do{q=h+-8|0;f[ia>>2]=q;Kc[f[f[q>>2]>>2]&511](q);h=f[ia>>2]|0}while((h|0)!=(g|0));g=f[ha>>2]|0}Hta(g)}g=f[Da>>2]|0;if(g|0){h=f[wa>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[wa>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[wa>>2]|0}else h=i}while((h|0)!=(g|0));g=f[Da>>2]|0}Hta(g)}q=f[T>>2]|0;b[q+54>>0]=1;g=f[(f[ga>>2]|0)+20>>2]|0;x=0;Ga(462,ka|0,q|0);q=x;x=0;if(q&1){Ea=154;break}f[ka>>2]=7696;x=0;Ga(g|0,ga|0,ka|0);q=x;x=0;if(q&1){Ea=155;break}_P(ka);_P(ua);if(k>>>0>>0){q=k;g=r}else{Ea=209;break}}h:switch(Ea|0){case 53:{x=0;Fa(428,va|0);x=0;Ea=70;break}case 63:{d=Ya()|0;e=1;Ea=72;break}case 71:{Da=Ya()|0;e=d;d=Da;Ea=72;break}case 73:{d=Ya()|0;_P(ma);e=0;Ea=74;break}case 92:{d=Ya()|0;Ea=95;break}case 93:{d=Ya()|0;if((b[W>>0]|0)<0){Hta(f[ua>>2]|0);Ea=95}else Ea=95;break}case 129:{d=Ya()|0;i=I;Ea=146;break}case 130:{d=Ya()|0;i=I;e=f[ca>>2]|0;if(e|0){g=f[da>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[da>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[da>>2]|0}else g=h}while((g|0)!=(e|0));e=f[ca>>2]|0}Hta(e)}e=f[ea>>2]|0;if(e|0){g=f[fa>>2]|0;if((g|0)!=(e|0))f[fa>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}e=f[ha>>2]|0;if(!e)Ea=146;else{g=f[ia>>2]|0;if((g|0)!=(e|0)){do{Ea=g+-8|0;f[ia>>2]=Ea;Kc[f[f[Ea>>2]>>2]&511](Ea);g=f[ia>>2]|0}while((g|0)!=(e|0));e=f[ha>>2]|0}Hta(e);Ea=146}break}case 154:{d=Ya()|0;Ea=156;break}case 155:{d=Ya()|0;_P(ka);Ea=156;break}case 159:{CO(ua);break}case 171:{d=Ya()|0;if((b[V>>0]|0)<0){Hta(f[ra>>2]|0);Ea=180}else Ea=180;break}case 178:{d=Ya()|0;Ea=182;break}case 179:{d=Ya()|0;Ea=180;break}case 185:{i=f[(f[ga>>2]|0)+20>>2]|0;j=VN(80)|0;n=ya;o=ba;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[za>>2]=0;f[za+4>>2]=0;f[za+8>>2]=0;h=X-m|0;do if(h>>>0>4294967279){x=0;Fa(428,za|0);x=0;Ea=201}else{if(h>>>0<11){b[za+11>>0]=h;d=za}else{e=h+16&-16;x=0;d=qa(318,e|0)|0;Da=x;x=0;if(Da&1){Ea=201;break}f[za>>2]=d;f[za+8>>2]=e|-2147483648;f[za+4>>2]=h}if((q|0)!=(Aa|0)){g=d;e=q;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(Aa|0))break;else g=g+1|0}d=d+h|0}b[d>>0]=0;n=Ca;o=ya;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,j|0);Da=x;x=0;do if(Da&1){d=1;Ea=202}else{n=j+12|0;o=Ca;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;f[j+56>>2]=4;f[j>>2]=11668;b[j+60>>0]=0;b[j+61>>0]=0;x=0;Ia(101,j+64|0,za|0,1);Da=x;x=0;if(Da&1){d=Ya()|0;e=1;Ea=203;break}f[j+76>>2]=0;x=0;Ga(462,xa|0,j|0);Da=x;x=0;if(Da&1){d=0;Ea=202}else{f[xa>>2]=7696;x=0;Ga(i|0,ga|0,xa|0);Da=x;x=0;if(Da&1){d=Ya()|0;_P(xa);e=0;break}_P(xa);if((b[za+11>>0]|0)>=0){Ea=209;break h}Hta(f[za>>2]|0);Ea=209;break h}}while(0);if((Ea|0)==202){Da=Ya()|0;e=d;d=Da;Ea=203}if((b[za+11>>0]|0)<0){Hta(f[za>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((Ea|0)==201)d=Ya()|0;Hta(j);Ea=d;jb(Ea|0)}}if((Ea|0)==70)d=Ya()|0;else if((Ea|0)==72)Ea=74;else if((Ea|0)==95){if((b[Z>>0]|0)<0)Hta(f[ra>>2]|0);if((b[_>>0]|0)<0)Hta(f[Ca>>2]|0);Ea=d;jb(Ea|0)}else if((Ea|0)==146){e=f[Da>>2]|0;if(e|0){g=f[wa>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[wa>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[wa>>2]|0}else g=h}while((g|0)!=(e|0));e=f[Da>>2]|0}Hta(e)}Ea=157}else if((Ea|0)==156){_P(ua);Ea=157}else if((Ea|0)==180)if((b[Y>>0]|0)<0){Hta(f[pa>>2]|0);Ea=182}else Ea=182;else if((Ea|0)==209){qV(a,sa);f[a>>2]=7904;u=Ba;return}do if((Ea|0)==74)if((b[aa>>0]|0)<0){Hta(f[va>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}else if((Ea|0)==157){Ea=d;jb(Ea|0)}else if((Ea|0)==182){if((b[$>>0]|0)<0)Hta(f[ua>>2]|0);Ea=d;jb(Ea|0)}while(0);Hta(ta);Ea=d;jb(Ea|0)}while(0);Hta(sa);Ea=d;jb(Ea|0)}while(0);i=VN(80)|0;n=k;o=c+108|0;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;h=Aa-e|0;do if(h>>>0>4294967279){x=0;Fa(428,l|0);x=0;Ea=25}else{if(h>>>0<11){b[l+11>>0]=h;d=l}else{g=h+16&-16;x=0;d=qa(318,g|0)|0;Da=x;x=0;if(Da&1){Ea=25;break}f[l>>2]=d;f[l+8>>2]=g|-2147483648;f[l+4>>2]=h}if((e|0)!=(Aa|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(Aa|0))break;else g=g+1|0}d=d+h|0}b[d>>0]=0;x=0;n=Ca;o=k;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Na(1,i|0,Ca|0,l|0,0,0,0,1,1);Da=x;x=0;if(Da&1)e=1;else{x=0;Ga(462,a|0,i|0);Da=x;x=0;if(Da&1)e=0;else{f[a>>2]=7904;if((b[l+11>>0]|0)>=0){u=Ba;return}Hta(f[l>>2]|0);u=Ba;return}}d=Ya()|0;if((b[l+11>>0]|0)<0){Hta(f[l>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((Ea|0)==25)d=Ya()|0;Hta(i);Ea=d;jb(Ea|0)}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;f[fc+32>>2]=d;if((ec|0)==1)ec=3}Vc(hc+27600|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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;q=0;U=u;u=u+400|0;R=U+360|0;e=U+352|0;X=U+288|0;h=U+312|0;j=U+304|0;i=U+296|0;k=U+280|0;l=U+272|0;m=U+264|0;n=U+256|0;T=U+232|0;C=U+224|0;D=U+192|0;S=U+216|0;I=U+200|0;H=U+176|0;F=U+136|0;G=U+128|0;p=U+112|0;o=U+72|0;M=U+64|0;N=U+56|0;O=U+16|0;Q=U+8|0;P=U;Y=a+54|0;V=a+53|0;W=b[V>>0]|0;Z=b[Y>>0]|0;b[Y>>0]=W;if(b[a+52>>0]|0){d=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,e|0,f[c+68>>2]|0);W=x;x=0;if(W&1){X=Ya()|0;b[Y>>0]=Z;jb(X|0)}f[e>>2]=7280;x=0;d=sa(d|0,a|0,f[e+4>>2]|0)|0;W=x;x=0;if(W&1){X=Ya()|0;_P(e);b[Y>>0]=Z;jb(X|0)}_P(e);x=0;g=qa(318,80)|0;W=x;x=0;do if(W&1)d=Ya()|0;else{y=h;z=c+12|0;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));x=0;Ga(462,j|0,d|0);W=x;x=0;if(W&1)d=Ya()|0;else{f[j>>2]=7280;x=0;y=R;z=h;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));Ia(135,g|0,R|0,j|0);W=x;x=0;if(W&1)e=1;else{x=0;Ga(462,X|0,g|0);W=x;x=0;if(W&1)e=0;else{f[X>>2]=18016;_P(j);d=c+76|0;x=0;Ga(462,i|0,f[d>>2]|0);W=x;x=0;a:do if(W&1)d=Ya()|0;else{f[i>>2]=7168;W=(f[i+4>>2]|0)==0;_P(i);b:do if(!W){x=0;Ga(462,k|0,f[d>>2]|0);W=x;x=0;c:do if(!(W&1)){f[k>>2]=7168;g=f[k+4>>2]|0;_P(k);if(!g)break b;d=a+92|0;x=0;Ga(462,R|0,0);W=x;x=0;do if(W&1)d=Ya()|0;else{f[R>>2]=7168;h=a+96|0;e=f[h>>2]|0;do if(e>>>0<(f[a+100>>2]|0)>>>0){x=0;Ga(462,e|0,f[R+4>>2]|0);W=x;x=0;if(W&1){q=33;break}f[e>>2]=7168;f[h>>2]=(f[h>>2]|0)+8}else{x=0;Ga(651,d|0,R|0);W=x;x=0;if(W&1)q=33}while(0);if((q|0)==33){d=Ya()|0;_P(R);break}_P(R);d=f[X+4>>2]|0;x=0;Ia(136,m|0,g|0,a+12|0);W=x;x=0;if(W&1)break c;e=d+72|0;d=d+76|0;if(!(f[d>>2]|0))q=20;else{x=0;Fa(429,e|0);W=x;x=0;if(!(W&1))q=20}do if((q|0)==20){f[d>>2]=f[m+4>>2];x=0;Fa(430,e|0);W=x;x=0;if(W&1)break;x=0;Ga(462,l|0,f[d>>2]|0);W=x;x=0;if(W&1)break;f[l>>2]=7168;_P(l);_P(m);e=f[h>>2]|0;d=e+-8|0;while(1){W=e+-8|0;f[h>>2]=W;Kc[f[f[W>>2]>>2]&511](W);e=f[h>>2]|0;if((e|0)==(d|0))break b}}while(0);d=Ya()|0;_P(m);break a}while(0);break a}while(0);d=Ya()|0;break a}while(0);d=f[X+4>>2]|0;if(!d)d=0;else b[d+8>>0]=1;_P(X);X=d;b[Y>>0]=Z;u=U;return X|0}while(0);_P(X);break}}d=Ya()|0;_P(j);if(!e)break}Hta(g)}while(0);X=d;b[Y>>0]=Z;jb(X|0)}b[V>>0]=0;E=a+92|0;L=a+96|0;d=f[L>>2]|0;e=f[E>>2]|0;h=d-e>>3;d:do if(!h){B=0;q=43}else{i=R+4|0;e:do if((d|0)==(e|0))q=44;else{g=0;d=e;while(1){x=0;Ga(462,R|0,f[d+(g<<3)+4>>2]|0);K=x;x=0;if(K&1)break e;f[R>>2]=7168;d=f[i>>2]|0;if(!d)d=0;else d=(f[d+80>>2]|0)!=(f[d+76>>2]|0);_P(R);g=g+1|0;if(g>>>0>=h>>>0|d){B=d;q=43;break d}d=f[E>>2]|0;if((f[L>>2]|0)-d>>3>>>0<=g>>>0){q=44;break}}}while(0);if((q|0)==44){x=0;Fa(432,E|0);x=0}d=Ya()|0}while(0);if((q|0)==43){e=c+76|0;x=0;Ga(462,X|0,f[e>>2]|0);K=x;x=0;if(K&1)d=Ya()|0;else{f[X>>2]=7168;J=X+4|0;d=f[J>>2]|0;f:do if(!d)q=61;else{x=0;Ia(136,R|0,d|0,a+12|0);K=x;x=0;do if(K&1)d=Ya()|0;else{if(f[J>>2]|0){x=0;Fa(429,X|0);K=x;x=0;if(K&1){d=Ya()|0;_P(R);break}}q=R+4|0;f[J>>2]=f[q>>2];f[q>>2]=0;_P(R);q=61;break f}while(0)}while(0);g:do if((q|0)==61){K=c+80|0;do if(!(b[K>>0]|0)){d=f[(f[a+72>>2]|0)+-4>>2]|0;if(d|0)if(b[d+84>>0]|0){q=64;break}d=f[J>>2]|0;if((f[d+80>>2]|0)!=(f[d+76>>2]|0)){x=0;d=qa(f[(f[d>>2]|0)+124>>2]|0,d|0)|0;I=x;x=0;if(I&1)break;if(!d){q=122;break}d=f[J>>2]|0}x=0;d=qa(f[(f[d>>2]|0)+128>>2]|0,d|0)|0;I=x;x=0;if(!(I&1))if(B|d^1)q=122;else{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;x=0;d=qa(318,80)|0;I=x;x=0;if(!(I&1)){f[p>>2]=d;f[p+8>>2]=-2147483568;f[p+4>>2]=78;y=d;z=48911;A=y+78|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));b[d+78>>0]=0;y=o;z=(f[J>>2]|0)+12|0;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));d=f[a+8>>2]|0;x=0;y=R;z=o;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));Ia(100,p|0,R|0,d|0);I=x;x=0;if(I&1){d=Ya()|0;if((b[p+11>>0]|0)>=0)break g;Hta(f[p>>2]|0);break g}else{if((b[p+11>>0]|0)>=0){q=122;break}Hta(f[p>>2]|0);q=122;break}}}}else q=64;while(0);h:do if((q|0)==64){x=0;Ga(462,n|0,f[e>>2]|0);A=x;x=0;if(A&1){d=Ya()|0;break g}f[n>>2]=7168;d=f[n+4>>2]|0;if(d|0)if((f[517]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(n);e=f[d+76>>2]|0;k=f[d+80>>2]|0;if((e|0)==(k|0)){q=122;break}l=T+4|0;m=C+4|0;n=G+4|0;o=D+4|0;p=S+4|0;q=a+4|0;r=H+8|0;s=H+4|0;t=a+8|0;v=H+11|0;w=I+11|0;i:while(1){x=0;Ga(462,T|0,f[e+4>>2]|0);A=x;x=0;if(A&1){q=80;break}f[T>>2]=15556;d=f[l>>2]|0;if(d|0)do{g=d+80|0;x=0;Ga(462,C|0,f[g>>2]|0);A=x;x=0;if(A&1){q=81;break i}f[C>>2]=15572;A=(f[m>>2]|0)==0;_P(C);j:do if(!A){x=0;Ga(462,D|0,f[g>>2]|0);A=x;x=0;if(A&1){q=82;break i}f[D>>2]=15572;j=f[o>>2]|0;_P(D);g=f[j+76>>2]|0;j=f[j+80>>2]|0;if((g|0)==(j|0))break;if(B)while(1){x=0;Ga(462,S|0,f[g+4>>2]|0);A=x;x=0;if(A&1){q=87;break i}f[S>>2]=13852;_P(S);g=g+8|0;if((g|0)==(j|0))break j}do{x=0;Ga(462,S|0,f[g+4>>2]|0);A=x;x=0;if(A&1){q=87;break i}f[S>>2]=13852;h=f[p>>2]|0;do if(h|0){if((f[463]|0)!=(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0))break;if(!(b[h+101>>0]|0))break;h=f[l>>2]|0;i=f[(f[h>>2]|0)+28>>2]|0;x=0;y=R;z=f[(f[q>>2]|0)+16>>2]|0;A=y+12|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));Ia(i|0,I|0,h|0,R|0);A=x;x=0;if(A&1){q=97;break i}f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;h=qa(318,80)|0;A=x;x=0;if(A&1){q=98;break i}f[H>>2]=h;f[r>>2]=-2147483568;f[s>>2]=78;y=h;z=48911;A=y+78|0;do{b[y>>0]=b[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));b[h+78>>0]=0;y=F;z=(f[p>>2]|0)+12|0;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));h=f[t>>2]|0;x=0;y=R;z=F;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));Ia(100,H|0,R|0,h|0);A=x;x=0;if(A&1){q=99;break i}if((b[v>>0]|0)<0)Hta(f[H>>2]|0);if((b[w>>0]|0)<0)Hta(f[I>>2]|0)}while(0);_P(S);g=g+8|0}while((g|0)!=(j|0))}while(0);x=0;Ga(462,G|0,f[d+88>>2]|0);A=x;x=0;if(A&1){q=81;break i}f[G>>2]=15556;d=f[n>>2]|0;_P(G)}while((d|0)!=0);_P(T);e=e+8|0;if((e|0)==(k|0)){q=122;break h}}if((q|0)==80)d=Ya()|0;else if((q|0)==81){d=Ya()|0;q=108}else if((q|0)==82){d=Ya()|0;q=108}else if((q|0)==87){d=Ya()|0;q=104}else if((q|0)==97){d=Ya()|0;q=103}else if((q|0)==98){d=Ya()|0;q=101}else if((q|0)==99){d=Ya()|0;if((b[v>>0]|0)<0){Hta(f[H>>2]|0);q=101}else q=101}if((q|0)==101)if((b[w>>0]|0)<0){Hta(f[I>>2]|0);q=103}else q=103;if((q|0)==103){_P(S);q=104}if((q|0)==104)q=108;if((q|0)==108)_P(T);break g}_P(n);q=122}while(0);do if((q|0)==122){x=0;Fa(431,f[J>>2]|0);I=x;x=0;if(!(I&1)){d=f[L>>2]|0;if((d|0)==(f[a+100>>2]|0)){x=0;Ga(565,E|0,X|0);I=x;x=0;if(I&1)break}else{x=0;Ga(462,d|0,f[J>>2]|0);I=x;x=0;if(I&1)break;f[d>>2]=7168;f[L>>2]=(f[L>>2]|0)+8}e=a+56|0;i=a+60|0;d=f[i>>2]|0;if((d|0)==(f[e>>2]|0))d=0;else d=f[d+-4>>2]|0;x=0;Ia(132,T|0,d|0,0);I=x;x=0;if(I&1)d=Ya()|0;else{h=a+72|0;do if(!(b[(f[(f[h>>2]|0)+-4>>2]|0)+84>>0]|0))q=138;else{f[R>>2]=T;d=f[i>>2]|0;if(d>>>0<(f[a+64>>2]|0)>>>0){f[d>>2]=T;f[i>>2]=(f[i>>2]|0)+4}else{x=0;Ga(646,e|0,R|0);I=x;x=0;if(I&1){d=Ya()|0;break}}q=138}while(0);do if((q|0)==138){I=f[J>>2]|0;x=0;Ga(f[(f[I>>2]|0)+120>>2]|0,I|0,f[(f[a+108>>2]|0)+-4>>2]|0);I=x;x=0;if(I&1){d=Ya()|0;break}x=0;Ga(462,S|0,0);I=x;x=0;if(I&1)d=Ya()|0;else{f[S>>2]=7280;e=c+68|0;x=0;Ga(462,M|0,f[e>>2]|0);I=x;x=0;k:do if(I&1)d=Ya()|0;else{f[M>>2]=7280;I=(f[M+4>>2]|0)==0;_P(M);l:do if(!I){d=f[(f[a>>2]|0)+12>>2]|0;x=0;Ga(462,N|0,f[e>>2]|0);M=x;x=0;if(M&1)d=Ya()|0;else{f[N>>2]=7280;x=0;d=sa(d|0,a|0,f[N+4>>2]|0)|0;a=x;x=0;m:do if(a&1)q=151;else{x=0;Ga(462,R|0,d|0);a=x;x=0;if(a&1){q=151;break}f[R>>2]=7280;d=S+4|0;do if(f[d>>2]|0){x=0;Fa(429,S|0);a=x;x=0;if(!(a&1))break;d=Ya()|0;_P(R);break m}while(0);a=R+4|0;f[d>>2]=f[a>>2];f[a>>2]=0;_P(R);_P(N);break l}while(0);if((q|0)==151)d=Ya()|0;_P(N)}break k}while(0);x=0;g=qa(318,84)|0;a=x;x=0;if(a&1){d=Ya()|0;break}y=O;z=c+12|0;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));x=0;Ga(462,Q|0,f[J>>2]|0);a=x;x=0;if(a&1)d=Ya()|0;else{f[Q>>2]=7168;x=0;Ga(462,P|0,f[S+4>>2]|0);a=x;x=0;do if(a&1)d=Ya()|0;else{f[P>>2]=7280;x=0;y=R;z=O;A=y+40|0;do{f[y>>2]=f[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));Ja(38,g|0,R|0,Q|0,P|0);R=x;x=0;if(R&1){d=Ya()|0;_P(P);break}_P(P);_P(Q);e=f[L>>2]|0;d=e+-8|0;do{R=e+-8|0;f[L>>2]=R;Kc[f[f[R>>2]>>2]&511](R);e=f[L>>2]|0}while((e|0)!=(d|0));if(b[(f[(f[h>>2]|0)+-4>>2]|0)+84>>0]|0)f[i>>2]=(f[i>>2]|0)+-4;b[g+80>>0]=b[K>>0]|0;f[g+56>>2]=f[c+56>>2];_P(S);rE(T,f[T+4>>2]|0);_P(X);b[V>>0]=W;X=g;b[Y>>0]=Z;u=U;return X|0}while(0);_P(Q)}Hta(g)}while(0);_P(S)}}while(0);rE(T,f[T+4>>2]|0)}break g}}while(0);d=Ya()|0}while(0);_P(X)}}b[V>>0]=W;X=d;b[Y>>0]=Z;jb(X|0);return 0} +function Xd(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.0,l=0.0,m=0.0,n=0.0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;K=0;M=u;u=u+576|0;L=M+160|0;A=M+120|0;i=M+80|0;s=M+40|0;j=M;h=M+536|0;y=M+496|0;z=M+480|0;o=M+440|0;v=M+424|0;t=M+384|0;w=M+368|0;g=M+328|0;e=M+288|0;B=M+280|0;D=M+264|0;C=M+248|0;J=M+236|0;H=M+224|0;q=M+212|0;r=M+200|0;do switch(csa(a)|0){case 0:{g=VN(68)|0;E=h;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;e=qa(394,a|0)|0;L=x;x=0;if(!(L&1)){E=j;F=h;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;Fa(427,g|0);L=x;x=0;if(!(L&1)){e=e&1;E=g+12|0;F=j;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g>>2]=11240;b[g+60>>0]=e;f[g+64>>2]=0;f[g+56>>2]=1;L=g;u=M;return L|0}}M=Ya()|0;Hta(g);jb(M|0)}case 1:{j=VN(104)|0;E=y;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;k=+ga(4,a|0);d=x;x=0;do if(d&1)K=18;else{x=0;h=qa(395,a|0)|0;d=x;x=0;if(d&1)K=18;else{f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;i=hL(h)|0;if(i>>>0>4294967279){x=0;Fa(428,z|0);x=0;K=18;break}if(i>>>0<11){b[z+11>>0]=i;if(!i)e=z;else{e=z;K=14}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;d=x;x=0;if(d&1){K=18;break}f[z>>2]=e;f[z+8>>2]=g|-2147483648;f[z+4>>2]=i;K=14}if((K|0)==14)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;x=0;E=L;F=y;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));Ha(1,j|0,L|0,+k,z|0,1);L=x;x=0;if(L&1){e=Ya()|0;if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0);break}if((b[z+11>>0]|0)>=0){L=j;u=M;return L|0}Hta(f[z>>2]|0);L=j;u=M;return L|0}}while(0);if((K|0)==18)e=Ya()|0;Hta(j);M=e;jb(M|0)}case 2:{h=VN(112)|0;E=o;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;l=+ga(5,a|0);L=x;x=0;do if(L&1)K=30;else{x=0;m=+ga(6,a|0);L=x;x=0;if(L&1)K=30;else{x=0;n=+ga(7,a|0);L=x;x=0;if(L&1)K=30;else{x=0;k=+ga(8,a|0);L=x;x=0;if(L&1)K=30;else{g=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;E=s;F=o;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;Fa(427,h|0);L=x;x=0;if(L&1){e=Ya()|0;break}E=h+12|0;F=s;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;e=h+56|0;f[e>>2]=0;f[h>>2]=11116;p[h+64>>3]=l;p[h+72>>3]=m;p[h+80>>3]=n;p[h+88>>3]=k;x=0;Ga(459,h+96|0,v|0);L=x;x=0;if(L&1){e=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[v>>2]|0);break}f[h+108>>2]=0;f[e>>2]=3;if((b[g>>0]|0)>=0){L=h;u=M;return L|0}Hta(f[v>>2]|0);L=h;u=M;return L|0}}}}while(0);if((K|0)==30)e=Ya()|0;Hta(h);M=e;jb(M|0)}case 3:{c=Vpa(a)|0;j=VN(80)|0;if(!c){E=g;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;e=qa(396,a|0)|0;d=x;x=0;if(!(d&1)){x=0;E=L;F=g;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));Ja(33,j|0,L|0,e|0,1);L=x;x=0;if(!(L&1)){L=j;u=M;return L|0}}M=Ya()|0;Hta(j);jb(M|0)}E=t;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;h=qa(396,a|0)|0;d=x;x=0;do if(d&1)K=47;else{f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=hL(h)|0;if(i>>>0>4294967279){x=0;Fa(428,w|0);x=0;K=47;break}if(i>>>0<11){b[w+11>>0]=i;if(!i)e=w;else{e=w;K=43}}else{g=i+16&-16;x=0;e=qa(318,g|0)|0;d=x;x=0;if(d&1){K=47;break}f[w>>2]=e;f[w+8>>2]=g|-2147483648;f[w+4>>2]=i;K=43}if((K|0)==43)Lu(e|0,h|0,i|0)|0;b[e+i>>0]=0;x=0;E=L;F=t;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));Na(1,j|0,L|0,w|0,0,0,0,1,1);L=x;x=0;if(L&1){e=Ya()|0;if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0);break}if((b[w+11>>0]|0)>=0){L=j;u=M;return L|0}Hta(f[w>>2]|0);L=j;u=M;return L|0}while(0);if((K|0)==47)e=Ya()|0;Hta(j);M=e;jb(M|0)}case 4:{s=VN(88)|0;E=e;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;g=qa(397,a|0)|0;J=x;x=0;do if(J&1)K=68;else{x=0;h=qa(398,a|0)|0;J=x;x=0;if(J&1)K=68;else{E=i;F=e;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;Fa(427,s|0);J=x;x=0;if(J&1)K=68;else{E=s+12|0;F=i;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));b[s+52>>0]=0;b[s+53>>0]=0;b[s+54>>0]=0;e=s+56|0;f[e>>2]=0;f[s>>2]=6516;q=s+60|0;f[q>>2]=9660;j=s+64|0;o=s+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,g|0);J=x;x=0;if(J&1){e=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[o>>2]|0;if((h|0)!=(g|0)){do{M=h+-8|0;f[o>>2]=M;Kc[f[f[M>>2]>>2]&511](M);h=f[o>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[s>>2]=9488;f[q>>2]=9620;f[s+80>>2]=h;b[s+84>>0]=0;o=s+85|0;b[o>>0]=0;b[s+86>>0]=0;f[e>>2]=5;j=Cra(a)|0;a:do if(j|0){r=D+4|0;i=0;while(1){g=f[(f[q>>2]|0)+20>>2]|0;e=Jga(a,i)|0;Gv(D,c);x=0;E=L;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));e=ta(156,e|0,D|0,L|0)|0;K=x;x=0;if(K&1){K=81;break}x=0;Ga(462,B|0,e|0);K=x;x=0;if(K&1){K=81;break}f[B>>2]=7696;x=0;Ga(g|0,q|0,B|0);K=x;x=0;if(K&1){K=82;break}_P(B);e=f[D>>2]|0;if(e|0){g=f[r>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[r>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[r>>2]|0}else g=h}while((g|0)!=(e|0));e=f[D>>2]|0}Hta(e)}i=i+1|0;if(i>>>0>=j>>>0)break a}if((K|0)==81){j=Ya()|0;i=I}else if((K|0)==82){j=Ya()|0;i=I;_P(B)}e=f[D>>2]|0;if(!e){M=j;jb(M|0)}g=f[r>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[r>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[r>>2]|0}else g=h}while((g|0)!=(e|0));e=f[D>>2]|0}Hta(e);M=j;jb(M|0)}while(0);L=(fpa(a)|0)&1;b[o>>0]=L;L=s;u=M;return L|0}}}while(0);if((K|0)==68)e=Ya()|0;Hta(s);M=e;jb(M|0)}case 5:{s=VN(108)|0;E=A;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;Fa(427,s|0);K=x;x=0;do if(K&1)e=Ya()|0;else{E=s+12|0;F=A;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));b[s+52>>0]=0;b[s+53>>0]=0;b[s+54>>0]=0;e=s+56|0;f[e>>2]=0;f[s>>2]=6516;q=s+60|0;x=0;Ga(560,q|0,0);K=x;x=0;if(K&1){e=Ya()|0;break}f[s>>2]=9700;f[q>>2]=9828;f[e>>2]=6;j=Gra(a)|0;b:do if(j|0){o=C+8|0;r=C+8|0;v=J+4|0;t=H+4|0;i=0;while(1){e=Nha(a,i)|0;Gv(J,c);x=0;E=L;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));g=ta(156,e|0,J|0,L|0)|0;K=x;x=0;if(K&1){K=121;break}x=0;e=sa(1041,a|0,i|0)|0;K=x;x=0;if(K&1){K=122;break}x=0;Ga(511,H|0,c|0);K=x;x=0;if(K&1){K=122;break}x=0;E=L;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));e=ta(156,e|0,H|0,L|0)|0;K=x;x=0;if(K&1){K=123;break}x=0;Ga(462,C|0,g|0);K=x;x=0;if(K&1){K=123;break}f[C>>2]=7696;x=0;Ga(462,o|0,e|0);K=x;x=0;if(K&1){K=104;break}f[o>>2]=7696;x=0;sa(1007,q|0,C|0)|0;K=x;x=0;if(K&1){K=125;break}_P(r);_P(C);e=f[H>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[t>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[t>>2]|0}else g=h}while((g|0)!=(e|0));e=f[H>>2]|0}Hta(e)}e=f[J>>2]|0;if(e|0){g=f[v>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[v>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[v>>2]|0}else g=h}while((g|0)!=(e|0));e=f[J>>2]|0}Hta(e)}i=i+1|0;if(i>>>0>=j>>>0)break b}if((K|0)==104){e=Ya()|0;g=I;_P(C);K=124}else if((K|0)==121){j=Ya()|0;i=I}else if((K|0)==122){j=Ya()|0;i=I}else if((K|0)==123){e=Ya()|0;g=I;K=124}else if((K|0)==125){j=Ya()|0;i=I;_P(r);_P(C);K=126}if((K|0)==124){j=e;i=g;K=126}if((K|0)==126){e=f[H>>2]|0;if(e){g=f[t>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[t>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[t>>2]|0}else g=h}while((g|0)!=(e|0));e=f[H>>2]|0}Hta(e)}}e=f[J>>2]|0;if(!e){M=j;jb(M|0)}g=f[v>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[v>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[v>>2]|0}else g=h}while((g|0)!=(e|0));e=f[J>>2]|0}Hta(e);M=j;jb(M|0)}while(0);L=s;u=M;return L|0}while(0);Hta(s);M=e;jb(M|0)}case 6:{e=VN(60)|0;E=L;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));x=0;Fa(427,e|0);d=x;x=0;if(d&1){M=Ya()|0;Hta(e);jb(M|0)}else{E=e+12|0;F=L;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e>>2]=13152;f[e+56>>2]=8;L=e;u=M;return L|0}}case 7:{g=tra(a)|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;h=hL(g)|0;if(h>>>0>4294967279)CO(A);if(h>>>0<11){b[A+11>>0]=h;if(!h)e=A;else{e=A;K=148}}else{K=h+16&-16;e=VN(K)|0;f[A>>2]=e;f[A+8>>2]=K|-2147483648;f[A+4>>2]=h;K=148}if((K|0)==148)Lu(e|0,g|0,h|0)|0;b[e+h>>0]=0;x=0;e=ta(43,A|0,0,47902)|0;K=x;x=0;do if(K&1)e=Ya()|0;else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;E=L;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));Ia(100,q|0,L|0,c|0);L=x;x=0;if(L&1){e=Ya()|0;if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);L=0;u=M;return L|0}while(0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);M=e;jb(M|0)}case 8:{g=Yqa(a)|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;h=hL(g)|0;if(h>>>0>4294967279)CO(A);if(h>>>0<11){b[A+11>>0]=h;if(!h)e=A;else{e=A;K=167}}else{K=h+16&-16;e=VN(K)|0;f[A>>2]=e;f[A+8>>2]=K|-2147483648;f[A+4>>2]=h;K=167}if((K|0)==167)Lu(e|0,g|0,h|0)|0;b[e+h>>0]=0;x=0;e=ta(43,A|0,0,47924)|0;K=x;x=0;do if(K&1)e=Ya()|0;else{f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;E=L;F=d;G=E+40|0;do{f[E>>2]=f[F>>2];E=E+4|0;F=F+4|0}while((E|0)<(G|0));Ia(100,r|0,L|0,c|0);L=x;x=0;if(L&1){e=Ya()|0;if((b[r+11>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);L=0;u=M;return L|0}while(0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);M=e;jb(M|0)}default:{L=0;u=M;return L|0}}while(0);return 0}function Yd(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.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0;D=0;F=u;u=u+464|0;J=F;L=F+392|0;C=F+184|0;m=F+448|0;y=F+436|0;B=F+424|0;i=F+412|0;k=F+400|0;n=F+352|0;z=F+340|0;q=F+328|0;r=F+168|0;s=F+156|0;l=F+144|0;o=F+104|0;A=F+88|0;t=F+76|0;v=F+64|0;w=F+52|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;d=J+11|0;b[d>>0]=6;b[J>>0]=b[40229]|0;b[J+1>>0]=b[40230]|0;b[J+2>>0]=b[40231]|0;b[J+3>>0]=b[40232]|0;b[J+4>>0]=b[40233]|0;b[J+5>>0]=b[40234]|0;b[J+6>>0]=0;x=0;c=sa(992,a|0,J|0)|0;H=x;x=0;if(!(H&1)){x=0;Ga(462,L|0,f[c+4>>2]|0);H=x;x=0;if(!(H&1)){f[L>>2]=6664;if((b[d>>0]|0)<0)Hta(f[J>>2]|0);c=L+4|0;x=0;a=qa(339,f[c>>2]|0)|0;H=x;x=0;a:do if(H&1)c=Ya()|0;else{c=f[c>>2]|0;do if(c|0){d=f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f[49]|0)!=(d|0)){if((f[323]|0)!=(d|0))break;h=f[21936]|0;H=((h+1|0)>>>0)%624|0;c=85248+(h<<2)|0;d=85248+(H<<2)|0;e=f[d>>2]|0;f[c>>2]=0-(e&1)&-1727483681^f[85248+((((h+397|0)>>>0)%624|0)<<2)>>2]^(e&2147483646|f[c>>2]&-2147483648)>>>1;c=f[85248+(f[21936]<<2)>>2]|0;c=c>>>11^c;f[21936]=H;c=c<<7&-1658038656^c;c=c<<15&-272236544^c;e=((H+1|0)>>>0)%624|0;h=f[85248+(e<<2)>>2]|0;f[d>>2]=0-(h&1)&-1727483681^f[85248+((((H+397|0)>>>0)%624|0)<<2)>>2]^(h&2147483646|f[d>>2]&-2147483648)>>>1;d=f[85248+(f[21936]<<2)>>2]|0;d=d>>>11^d;f[21936]=e;d=d<<7&-1658038656^d;d=d<<15&-272236544^d;x=0;e=qa(318,104)|0;h=x;x=0;if(h&1){c=Ya()|0;break a}j=(+((d>>>18^d)>>>0)*4294967296.0+ +((c>>>18^c)>>>0))*5.421010862427522e-20+0.0;d=i+11|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=0;E=J;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));Ha(1,e|0,J|0,+j,i|0,1);J=x;x=0;if(J&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[i>>2]|0);Hta(e);break a}if((b[d>>0]|0)>=0){J=e;_P(L);u=F;return J|0}Hta(f[i>>2]|0);J=e;_P(L);u=F;return J|0}j=+p[c+88>>3];b:do if(j<1.0){a=C+64|0;c=C+8|0;f[c>>2]=16496;i=C+12|0;f[C>>2]=2284;f[a>>2]=2304;f[C+4>>2]=0;x=0;Ga(531,C+64|0,i|0);H=x;x=0;c:do if(H&1){c=Ya()|0;D=36}else{f[C+136>>2]=0;f[C+140>>2]=-1;f[C>>2]=16476;f[a>>2]=16516;f[c>>2]=16496;x=0;Fa(437,i|0);H=x;x=0;do if(H&1)c=Ya()|0;else{f[i>>2]=16336;e=C+44|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[C+60>>2]=24;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;Ga(532,i|0,J|0);H=x;x=0;if(H&1){c=Ya()|0;if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(i);break}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);d=C+8|0;x=0;c=ta(44,d|0,40236,7)|0;H=x;x=0;do if(H&1)D=37;else{x=0;c=ra(1,c|0,+j)|0;H=x;x=0;if(H&1)D=37;else{x=0;ta(44,c|0,40244,48)|0;H=x;x=0;if(H&1){D=37;break}x=0;Ga(533,m|0,i|0);H=x;x=0;if(H&1){D=37;break}x=0;E=J;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));Ia(100,m|0,J|0,h|0);H=x;x=0;if(H&1){c=Ya()|0;if((b[m+11>>0]|0)>=0)break;Hta(f[m>>2]|0);break}if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);f[C>>2]=16476;f[a>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(i);KU(C,16528);uma(a);break b}}while(0);if((D|0)==37)c=Ya()|0;f[C>>2]=16476;f[a>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(i);KU(C,16528);uma(a);break c}while(0);KU(C,16528);D=36}while(0);if((D|0)==36)uma(a);break a}while(0);d:do if(!(+K(+(+Xb(+j)-j))<1.0e-14)){a=C+64|0;c=C+8|0;f[c>>2]=16496;i=C+12|0;f[C>>2]=2284;f[a>>2]=2304;f[C+4>>2]=0;x=0;Ga(531,C+64|0,i|0);H=x;x=0;e:do if(H&1){c=Ya()|0;D=68}else{f[C+136>>2]=0;f[C+140>>2]=-1;f[C>>2]=16476;f[a>>2]=16516;f[c>>2]=16496;x=0;Fa(437,i|0);H=x;x=0;do if(H&1)c=Ya()|0;else{f[i>>2]=16336;e=C+44|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[C+60>>2]=24;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;Ga(532,i|0,J|0);H=x;x=0;if(H&1){c=Ya()|0;if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(i);break}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);d=C+8|0;x=0;c=ta(44,d|0,40293,41)|0;H=x;x=0;do if(H&1)D=69;else{x=0;c=ra(1,c|0,+j)|0;H=x;x=0;if(H&1){D=69;break}x=0;ta(44,c|0,40335,13)|0;H=x;x=0;if(H&1){D=69;break}x=0;Ga(533,y|0,i|0);H=x;x=0;if(H&1){D=69;break}x=0;E=J;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));Ia(100,y|0,J|0,h|0);h=x;x=0;if(h&1){c=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);f[C>>2]=16476;f[a>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(i);KU(C,16528);uma(a);break d}while(0);if((D|0)==69)c=Ya()|0;f[C>>2]=16476;f[a>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[e+11>>0]|0)<0)Hta(f[e>>2]|0);Bca(i);KU(C,16528);uma(a);break e}while(0);KU(C,16528);D=68}while(0);if((D|0)==68)uma(a);break a}while(0);h=f[21936]|0;H=((h+1|0)>>>0)%624|0;c=85248+(h<<2)|0;d=85248+(H<<2)|0;e=f[d>>2]|0;f[c>>2]=0-(e&1)&-1727483681^f[85248+((((h+397|0)>>>0)%624|0)<<2)>>2]^(e&2147483646|f[c>>2]&-2147483648)>>>1;c=f[85248+(f[21936]<<2)>>2]|0;c=c>>>11^c;f[21936]=H;c=c<<7&-1658038656^c;c=c<<15&-272236544^c;e=((H+1|0)>>>0)%624|0;h=f[85248+(e<<2)>>2]|0;f[d>>2]=0-(h&1)&-1727483681^f[85248+((((H+397|0)>>>0)%624|0)<<2)>>2]^(h&2147483646|f[d>>2]&-2147483648)>>>1;d=f[85248+(f[21936]<<2)>>2]|0;d=d>>>11^d;f[21936]=e;d=d<<7&-1658038656^d;d=d<<15&-272236544^d;x=0;e=qa(318,104)|0;h=x;x=0;if(h&1){c=Ya()|0;break a}i=B+11|0;j=+(~~((j+1.0+-1.0)*(+((d>>>18^d)>>>0)*4294967296.0+ +((c>>>18^c)>>>0))*5.421010862427522e-20+1.0)>>>0>>>0);f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;E=J;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));Ha(1,e|0,J|0,+j,B|0,1);J=x;x=0;if(J&1){c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[B>>2]|0);Hta(e);break a}if((b[i>>0]|0)>=0){J=e;_P(L);u=F;return J|0}Hta(f[B>>2]|0);J=e;_P(L);u=F;return J|0}while(0);if(!a){i=l+11|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;E=J;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));e=J+40|0;x=0;Ga(459,e|0,l|0);H=x;x=0;f:do if(H&1)c=Ya()|0;else{c=h+4|0;d=f[c>>2]|0;do if(d>>>0<(f[h+8>>2]|0)>>>0){E=d;G=J;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));H=d+40|0;f[H>>2]=f[e>>2];f[H+4>>2]=f[e+4>>2];f[H+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[c>>2]=(f[c>>2]|0)+52}else{x=0;Ga(510,h|0,J|0);H=x;x=0;if(H&1){c=Ya()|0;if((b[e+11>>0]|0)>=0)break f;Hta(f[e>>2]|0);break f}else{if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}}while(0);if((b[i>>0]|0)<0)Hta(f[l>>2]|0);m=Ta(124)|0;E=o;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));x=0;Ga(511,A|0,h|0);g=x;x=0;do if(g&1)c=Ya()|0;else{f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;d=t+11|0;b[d>>0]=6;b[t>>0]=b[40349]|0;b[t+1>>0]=b[40350]|0;b[t+2>>0]=b[40351]|0;b[t+3>>0]=b[40352]|0;b[t+4>>0]=b[40353]|0;b[t+5>>0]=b[40354]|0;b[t+6>>0]=0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;e=v+11|0;b[e>>0]=6;b[v>>0]=b[40229]|0;b[v+1>>0]=b[40230]|0;b[v+2>>0]=b[40231]|0;b[v+3>>0]=b[40232]|0;b[v+4>>0]=b[40233]|0;b[v+5>>0]=b[40234]|0;b[v+6>>0]=0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=w+11|0;b[i>>0]=6;b[w>>0]=b[39056]|0;b[w+1>>0]=b[39057]|0;b[w+2>>0]=b[39058]|0;b[w+3>>0]=b[39059]|0;b[w+4>>0]=b[39060]|0;b[w+5>>0]=b[39061]|0;b[w+6>>0]=0;x=0;E=J;G=o;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));Ma(2,m|0,J|0,A|0,t|0,v|0,w|0,0);J=x;x=0;if(J&1)l=1;else{x=0;Ia(77,m|0,2616,228);x=0;l=0}c=Ya()|0;k=I;if((b[i>>0]|0)<0)Hta(f[w>>2]|0);if((b[e>>0]|0)<0)Hta(f[v>>2]|0);if((b[d>>0]|0)<0)Hta(f[t>>2]|0);d=f[A>>2]|0;if(!d)if(l)break;else break a;a=A+4|0;e=f[a>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[a>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=i}while((e|0)!=(d|0));d=f[A>>2]|0}Hta(d);if(!l)break a}while(0);bb(m|0);break a}while(0);if((b[i>>0]|0)<0)Hta(f[l>>2]|0);break}else{i=k+11|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;E=J;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));e=J+40|0;x=0;Ga(459,e|0,k|0);H=x;x=0;g:do if(H&1)c=Ya()|0;else{c=h+4|0;d=f[c>>2]|0;do if(d>>>0<(f[h+8>>2]|0)>>>0){E=d;G=J;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));H=d+40|0;f[H>>2]=f[e>>2];f[H+4>>2]=f[e+4>>2];f[H+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[c>>2]=(f[c>>2]|0)+52}else{x=0;Ga(510,h|0,J|0);H=x;x=0;if(H&1){c=Ya()|0;if((b[e+11>>0]|0)>=0)break g;Hta(f[e>>2]|0);break g}else{if((b[e+11>>0]|0)>=0)break;Hta(f[e>>2]|0);break}}while(0);if((b[i>>0]|0)<0)Hta(f[k>>2]|0);m=Ta(124)|0;E=n;G=g;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));x=0;Ga(511,z|0,h|0);g=x;x=0;do if(g&1)c=Ya()|0;else{f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;d=q+11|0;b[d>>0]=6;b[q>>0]=b[40349]|0;b[q+1>>0]=b[40350]|0;b[q+2>>0]=b[40351]|0;b[q+3>>0]=b[40352]|0;b[q+4>>0]=b[40353]|0;b[q+5>>0]=b[40354]|0;b[q+6>>0]=0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;e=r+11|0;b[e>>0]=6;b[r>>0]=b[40229]|0;b[r+1>>0]=b[40230]|0;b[r+2>>0]=b[40231]|0;b[r+3>>0]=b[40232]|0;b[r+4>>0]=b[40233]|0;b[r+5>>0]=b[40234]|0;b[r+6>>0]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;i=s+11|0;b[i>>0]=6;b[s>>0]=b[39056]|0;b[s+1>>0]=b[39057]|0;b[s+2>>0]=b[39058]|0;b[s+3>>0]=b[39059]|0;b[s+4>>0]=b[39060]|0;b[s+5>>0]=b[39061]|0;b[s+6>>0]=0;x=0;E=J;G=n;H=E+40|0;do{f[E>>2]=f[G>>2];E=E+4|0;G=G+4|0}while((E|0)<(H|0));Ma(2,m|0,J|0,z|0,q|0,r|0,s|0,a|0);J=x;x=0;if(J&1)l=1;else{x=0;Ia(77,m|0,2616,228);x=0;l=0}c=Ya()|0;k=I;if((b[i>>0]|0)<0)Hta(f[s>>2]|0);if((b[e>>0]|0)<0)Hta(f[r>>2]|0);if((b[d>>0]|0)<0)Hta(f[q>>2]|0);d=f[z>>2]|0;if(!d)if(l)break;else break a;a=z+4|0;e=f[a>>2]|0;if((e|0)!=(d|0)){do{i=e+-52|0;f[a>>2]=i;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[a>>2]|0}else e=i}while((e|0)!=(d|0));d=f[z>>2]|0}Hta(d);if(!l)break a}while(0);bb(m|0);break a}while(0);if((b[i>>0]|0)<0)Hta(f[k>>2]|0);break}}while(0);_P(L);L=c;jb(L|0)}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[J>>2]|0);L=c;jb(L|0);return 0}function Zd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,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=0;L=u;u=u+368|0;P=L+320|0;O=L+40|0;N=L+304|0;K=L+264|0;R=L+248|0;Q=L+236|0;g=L+224|0;l=L+184|0;e=L;d=L+144|0;m=L+124|0;h=L+112|0;T=L+136|0;S=L+104|0;n=L+96|0;o=L+88|0;F=L+80|0;G=L+72|0;H=L+64|0;J=L+56|0;U=c+164|0;V=f[U>>2]|0;E=V+1|0;f[U>>2]=E;if(E>>>0>512){l=Ta(84)|0;t=d;v=c+108|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(511,m|0,c+148|0);T=x;x=0;do if(T&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);T=x;x=0;if(T&1){d=Ya()|0;k=I;g=1}else{x=0;t=P;v=d;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ja(28,l|0,P|0,m|0,h|0);T=x;x=0;if(T&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[U>>2]=V;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){T=d;f[U>>2]=V;jb(T|0)}}while(0);bb(l|0);T=d;f[U>>2]=V;jb(T|0)}x=0;Ia(114,T|0,c|0,0);E=x;x=0;if(E&1)d=Ya()|0;else{x=0;k=qa(318,88)|0;E=x;x=0;a:do if(E&1)M=36;else{E=c+108|0;t=e;v=E;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Fa(427,k|0);D=x;x=0;do if(D&1)d=Ya()|0;else{t=k+12|0;v=e;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);D=x;x=0;if(D&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{S=g+-8|0;f[j>>2]=S;Kc[f[f[S>>2]>>2]&511](S);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=2;b[k+84>>0]=0;b[k+85>>0]=0;b[k+86>>0]=0;f[d>>2]=5;x=0;Ga(462,S|0,k|0);D=x;x=0;if(D&1){M=36;break a}f[S>>2]=7584;C=c+168|0;f[R>>2]=f[C>>2];f[R+4>>2]=f[C+4>>2];f[R+8>>2]=f[C+8>>2];D=c+76|0;e=f[D>>2]|0;A=c+84|0;f[Q>>2]=f[A>>2];f[Q+4>>2]=f[A+4>>2];f[Q+8>>2]=f[A+8>>2];B=c+96|0;f[g>>2]=f[B>>2];f[g+4>>2]=f[B+4>>2];f[g+8>>2]=f[B+8>>2];t=l;v=E;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;ta(52,c|0,1,0)|0;z=x;x=0;do if(z&1)M=39;else{x=0;d=ta(90,c|0,1,0)|0;z=x;x=0;if(z&1)M=39;else{if(!d){t=E;v=l;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));f[C>>2]=f[R>>2];f[C+4>>2]=f[R+4>>2];f[C+8>>2]=f[R+8>>2];f[D>>2]=e;f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[A>>2]=f[Q>>2];f[A+4>>2]=f[Q+4>>2];f[A+8>>2]=f[Q+8>>2];x=0;Ga(462,a|0,f[T+4>>2]|0);R=x;x=0;if(R&1){M=39;break}f[a>>2]=7696;_P(S);_P(T);f[U>>2]=V;u=L;return}z=T+4|0;x=0;d=qa(340,f[z>>2]|0)|0;y=x;x=0;if(y&1)M=54;else{x=0;Ga(462,R|0,d|0);y=x;x=0;if(y&1)M=54;else{f[R>>2]=7584;d=f[R+4>>2]|0;b:do if(!d)M=64;else if(!(f[d+80>>2]|0)){f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;x=0;d=qa(318,16)|0;y=x;x=0;do if(y&1)d=Ya()|0;else{f[P>>2]=d;f[P+8>>2]=-2147483632;f[P+4>>2]=11;t=d;v=44242;w=t+11|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));b[d+11>>0]=0;f[O+8>>2]=0;e=O+11|0;b[e>>0]=7;b[O>>0]=b[44254]|0;b[O+1>>0]=b[44255]|0;b[O+2>>0]=b[44256]|0;b[O+3>>0]=b[44257]|0;b[O+4>>0]=b[44258]|0;b[O+5>>0]=b[44259]|0;b[O+6>>0]=b[44260]|0;b[O+7>>0]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;d=qa(318,32)|0;y=x;x=0;do if(y&1)d=Ya()|0;else{f[N>>2]=d;f[N+8>>2]=-2147483616;f[N+4>>2]=20;t=d;v=45161;w=t+20|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));b[d+20>>0]=0;x=0;Ka(8,c|0,P|0,O|0,N|0,1);y=x;x=0;if(y&1){d=Ya()|0;if((b[N+11>>0]|0)>=0)break;Hta(f[N>>2]|0);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[e>>0]|0)<0)Hta(f[O>>2]|0);if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);M=64;break b}while(0);if((b[e>>0]|0)<0)Hta(f[O>>2]|0);if((b[P+11>>0]|0)>=0)break;Hta(f[P>>2]|0)}while(0)}else M=64;while(0);if((M|0)==64){x=0;Ga(580,Q|0,c|0);y=x;x=0;if(y&1)d=Ya()|0;else{y=S+4|0;d=(f[y>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,n|0,f[z>>2]|0);w=x;x=0;c:do if(w&1)M=80;else{f[n>>2]=7696;x=0;Ga(e|0,d|0,n|0);w=x;x=0;if(w&1){d=Ya()|0;_P(n);break}_P(n);d=(f[y>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;s=Q+4|0;x=0;Ga(462,o|0,f[s>>2]|0);w=x;x=0;if(w&1){M=80;break}f[o>>2]=7696;x=0;Ga(e|0,d|0,o|0);w=x;x=0;if(w&1){d=Ya()|0;_P(o);break}_P(o);g=c+80|0;h=P+4|0;i=P+8|0;j=P+4|0;q=O+11|0;k=O+7|0;l=N+8|0;m=N+4|0;p=N+11|0;r=P+11|0;n=P+4|0;o=O+8|0;while(1){f[P>>2]=f[C>>2];f[P+4>>2]=f[C+4>>2];f[P+8>>2]=f[C+8>>2];e=f[D>>2]|0;f[O>>2]=f[A>>2];f[O+4>>2]=f[A+4>>2];f[O+8>>2]=f[A+8>>2];f[N>>2]=f[B>>2];f[N+4>>2]=f[B+4>>2];f[N+8>>2]=f[B+8>>2];t=K;v=E;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;ta(52,c|0,1,0)|0;M=x;x=0;if(M&1){M=80;break c}x=0;d=ta(53,c|0,1,0)|0;M=x;x=0;if(M&1){M=80;break c}if(!d){M=73;break}x=0;d=qa(347,f[D>>2]|0)|0;M=x;x=0;if(M&1){M=80;break c}if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)d=f[D>>2]|0;x=0;e=qa(348,d|0)|0;M=x;x=0;if(M&1){M=80;break c}M=e|0?e:d;M=(b[M>>0]|0)==41?M+1|0:0;if(!((M|0)==0?1:M>>>0>(f[g>>2]|0)>>>0)){M=123;break}x=0;Ga(580,P|0,c|0);M=x;x=0;if(M&1){M=98;break}if(f[z>>2]|0){x=0;Fa(429,T|0);M=x;x=0;if(M&1){M=99;break}}f[z>>2]=f[h>>2];f[h>>2]=0;_P(P);x=0;d=ta(90,c|0,1,0)|0;M=x;x=0;if(M&1){M=80;break c}if(!d){f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;x=0;d=qa(318,16)|0;M=x;x=0;if(M&1){M=101;break}f[P>>2]=d;f[i>>2]=-2147483632;f[j>>2]=11;t=d;v=44242;w=t+11|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));b[d+11>>0]=0;f[o>>2]=0;b[q>>0]=7;b[O>>0]=b[44254]|0;b[O+1>>0]=b[44255]|0;b[O+2>>0]=b[44256]|0;b[O+3>>0]=b[44257]|0;b[O+4>>0]=b[44258]|0;b[O+5>>0]=b[44259]|0;b[O+6>>0]=b[44260]|0;b[k>>0]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;d=qa(318,32)|0;M=x;x=0;if(M&1){M=102;break}f[N>>2]=d;f[l>>2]=-2147483616;f[m>>2]=20;t=d;v=45332;w=t+20|0;do{b[t>>0]=b[v>>0]|0;t=t+1|0;v=v+1|0}while((t|0)<(w|0));b[d+20>>0]=0;x=0;Ka(8,c|0,P|0,O|0,N|0,1);M=x;x=0;if(M&1){M=103;break}if((b[p>>0]|0)<0)Hta(f[N>>2]|0);if((b[q>>0]|0)<0)Hta(f[O>>2]|0);if((b[r>>0]|0)<0)Hta(f[P>>2]|0)}x=0;Ga(580,P|0,c|0);M=x;x=0;if(M&1){M=118;break}if(f[s>>2]|0){x=0;Fa(429,Q|0);M=x;x=0;if(M&1){M=119;break}}f[s>>2]=f[n>>2];f[n>>2]=0;_P(P);d=(f[y>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,F|0,f[z>>2]|0);M=x;x=0;if(M&1){M=80;break c}f[F>>2]=7696;x=0;Ga(e|0,d|0,F|0);M=x;x=0;if(M&1){M=121;break}_P(F);d=(f[y>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,G|0,f[s>>2]|0);M=x;x=0;if(M&1){M=80;break c}f[G>>2]=7696;x=0;Ga(e|0,d|0,G|0);M=x;x=0;if(M&1){M=122;break}_P(G)}switch(M|0){case 73:{t=E;v=K;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));f[C>>2]=f[P>>2];f[C+4>>2]=f[P+4>>2];f[C+8>>2]=f[P+8>>2];f[D>>2]=e;f[B>>2]=f[N>>2];f[B+4>>2]=f[N+4>>2];f[B+8>>2]=f[N+8>>2];f[A>>2]=f[O>>2];f[A+4>>2]=f[O+4>>2];f[A+8>>2]=f[O+8>>2];M=123;break}case 98:{d=Ya()|0;M=100;break}case 99:{d=Ya()|0;_P(P);M=100;break}case 101:{d=Ya()|0;break}case 102:{d=Ya()|0;M=105;break}case 103:{d=Ya()|0;if((b[p>>0]|0)>=0){M=105;break}Hta(f[N>>2]|0);M=105;break}case 118:{d=Ya()|0;M=120;break}case 119:{d=Ya()|0;_P(P);M=120;break}case 121:{d=Ya()|0;_P(F);break c}case 122:{d=Ya()|0;_P(G);break c}}do if((M|0)==100)break c;else if((M|0)==105){if((b[q>>0]|0)<0)Hta(f[O>>2]|0);if((b[r>>0]|0)>=0)break;Hta(f[P>>2]|0)}else if((M|0)==120)break c;else if((M|0)==123){t=P;v=(f[y>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ia(116,H|0,E|0,P|0);N=x;x=0;do if(N&1)M=129;else{x=0;Ia(117,O|0,H|0,c+128|0);N=x;x=0;if(N&1){M=129;break}c=O;N=f[c+4>>2]|0;O=P+20|0;f[O>>2]=f[c>>2];f[O+4>>2]=N;O=f[y>>2]|0;DP(O+12|0,P|0,40)|0;x=0;Ga(462,J|0,O|0);P=x;x=0;if(P&1){d=Ya()|0;break}f[J>>2]=7584;x=0;Ga(462,a|0,f[J+4>>2]|0);P=x;x=0;if(P&1){d=Ya()|0;_P(J);break}f[a>>2]=7696;_P(J);_P(Q);_P(R);_P(S);_P(T);f[U>>2]=V;u=L;return}while(0);if((M|0)==129)d=Ya()|0;break c}while(0)}while(0);if((M|0)==80)d=Ya()|0;_P(Q)}}_P(R)}}if((M|0)==54)d=Ya()|0}}while(0);if((M|0)==39)d=Ya()|0;_P(S);break a}while(0);Hta(k)}while(0);if((M|0)==36)d=Ya()|0;_P(T)}T=d;f[U>>2]=V;jb(T|0)}function _d(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;ca=0;ba=u;u=u+224|0;fa=ba+184|0;da=ba+156|0;X=ba+128|0;Y=ba+100|0;Z=ba+72|0;_=ba+44|0;$=ba+16|0;V=ba+8|0;W=ba;UE(fa);aa=fa+20|0;c=f[aa>>2]|0;ea=fa+24|0;n=f[ea>>2]|0;o=(n|0)==0;if(!o)ega(n);x=0;Fa(451,da|0);U=x;x=0;do if(U&1){e=Ya()|0;ca=39}else{k=c+8|0;g=f[k>>2]|0;l=c+4|0;e=f[l>>2]|0;U=g-e>>2;i=c+16|0;j=f[i>>2]|0;m=c+20|0;h=f[m>>2]|0;if((((U|0)==0?0:(U*146|0)+-1|0)|0)==(h+j|0)){x=0;Fa(433,c|0);U=x;x=0;if(!(U&1)){h=f[m>>2]|0;c=f[i>>2]|0;g=f[k>>2]|0;e=f[l>>2]|0;ca=7}}else{c=j;ca=7}if((ca|0)==7){c=h+c|0;if((g|0)==(e|0))c=0;else c=(f[e+(((c>>>0)/146|0)<<2)>>2]|0)+(((c>>>0)%146|0)*28|0)|0;f[c>>2]=f[da>>2];f[c+4>>2]=f[da+4>>2];f[c+8>>2]=f[da+8>>2];e=c+12|0;x=0;Ga(462,e|0,f[da+16>>2]|0);U=x;x=0;if(!(U&1)){f[e>>2]=15556;T=da+20|0;f[c+20>>2]=f[T>>2];U=da+24|0;f[c+24>>2]=f[U>>2];f[T>>2]=0;f[U>>2]=0;f[m>>2]=(f[m>>2]|0)+1;_P(da+12|0);if(!o)QZ(n);x=0;Fa(451,da|0);U=x;x=0;if(U&1)c=Ya()|0;else{x=0;Ga(507,da|0,d|0);U=x;x=0;a:do if(U&1)ca=42;else{w=da+20|0;e=da+24|0;y=X+20|0;T=X+24|0;U=X+12|0;z=Y+20|0;R=Y+24|0;A=_+4|0;N=_+24|0;O=_+12|0;B=_+20|0;C=W+4|0;D=Z+20|0;P=Z+24|0;E=$+16|0;F=$+20|0;L=$+24|0;M=$+12|0;G=V+4|0;K=fa+12|0;J=fa+16|0;H=Z+16|0;I=Z+20|0;Q=Z+12|0;S=Y+12|0;b:while(1){c=f[w>>2]|0;g=f[e>>2]|0;if(!g){if(!(f[c+20>>2]|0)){ca=195;break}g=0;h=1}else{ega(g);v=(f[c+20>>2]|0)==0;QZ(g);if(v){ca=195;break}c=f[w>>2]|0;g=f[e>>2]|0;if(!g){g=0;h=1}else{ega(g);h=0}}v=f[c+16>>2]|0;x=0;Ga(519,X|0,(f[(f[c+4>>2]|0)+(((v>>>0)/146|0)<<2)>>2]|0)+(((v>>>0)%146|0)*28|0)|0);v=x;x=0;if(v&1){ca=43;break}if(!h)QZ(g);c=f[w>>2]|0;g=f[e>>2]|0;h=(g|0)==0;if(!h)ega(g);i=c+4|0;j=c+16|0;l=f[j>>2]|0;k=f[(f[i>>2]|0)+(((l>>>0)/146|0)<<2)>>2]|0;l=(l>>>0)%146|0;m=f[k+(l*28|0)+24>>2]|0;if(m|0)QZ(m);_P(k+(l*28|0)+12|0);v=c+20|0;f[v>>2]=(f[v>>2]|0)+-1;v=(f[j>>2]|0)+1|0;f[j>>2]=v;if(v>>>0>291){Hta(f[f[i>>2]>>2]|0);f[i>>2]=(f[i>>2]|0)+4;f[j>>2]=(f[j>>2]|0)+-146}if(!h)QZ(g);c=f[y>>2]|0;g=f[T>>2]|0;if(!g)if(!(f[c+20>>2]|0))c=2;else ca=45;else{ega(g);v=(f[c+20>>2]|0)==0;QZ(g);if(v)c=2;else ca=45}if((ca|0)==45){ca=0;x=0;Fa(451,Y|0);v=x;x=0;if(v&1){ca=78;break}c=f[z>>2]|0;h=f[R>>2]|0;i=(h|0)==0;if(!i)ega(h);g=f[y>>2]|0;j=f[T>>2]|0;k=(j|0)==0;if(!k)ega(j);v=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;x=0;Ga(524,c|0,(f[(f[g+4>>2]|0)+(((v>>>0)/146|0)<<2)>>2]|0)+(((v>>>0)%146|0)*28|0)|0);v=x;x=0;if(v&1){ca=79;break}if(!k)QZ(j);if(!i)QZ(h);c=f[y>>2]|0;k=f[T>>2]|0;l=(k|0)==0;if(!l)ega(k);g=c+20|0;m=c+16|0;i=(f[g>>2]|0)+-1+(f[m>>2]|0)|0;d=c+4|0;h=f[(f[d>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;j=f[h+(i*28|0)+24>>2]|0;if(j|0)QZ(j);_P(h+(i*28|0)+12|0);t=f[g>>2]|0;f[g>>2]=t+-1;c=c+8|0;g=f[c>>2]|0;v=g-(f[d>>2]|0)>>2;if((1-t-(f[m>>2]|0)+((v|0)==0?0:(v*146|0)+-1|0)|0)>>>0>291){Hta(f[g+-4>>2]|0);f[c>>2]=(f[c>>2]|0)+-4}if(!l)QZ(k);x=0;Fa(451,Z|0);v=x;x=0;if(v&1){ca=83;break}c=f[aa>>2]|0;h=f[ea>>2]|0;i=(h|0)==0;if(!i)ega(h);v=f[c+4>>2]|0;g=f[c+16>>2]|0;l=v+(((g>>>0)/146|0)<<2)|0;if((f[c+8>>2]|0)==(v|0))c=0;else c=(f[l>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!i)QZ(h);g=f[aa>>2]|0;j=f[ea>>2]|0;k=(j|0)==0;if(!k)ega(j);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;i=f[g+4>>2]|0;if((f[g+8>>2]|0)==(i|0))v=0;else v=(f[i+(((h>>>0)/146|0)<<2)>>2]|0)+(((h>>>0)%146|0)*28|0)|0;if(k)t=l;else{QZ(j);t=l}c:while(1){do{if((v|0)==(c|0)){ca=168;break c}x=0;Ia(83,_|0,c|0,X|0);s=x;x=0;if(s&1){ca=87;break b}d:do if((f[A>>2]|0)==3){x=0;Fa(451,a|0);s=x;x=0;if(s&1){ca=88;break b}else g=1}else{g=f[B>>2]|0;i=f[N>>2]|0;j=(i|0)==0;if(!j)ega(i);s=f[g+4>>2]|0;h=f[g+16>>2]|0;m=s+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(s|0))g=0;else g=(f[m>>2]|0)+(((h>>>0)%146|0)*28|0)|0;if(!j)QZ(i);h=f[B>>2]|0;k=f[N>>2]|0;l=(k|0)==0;if(!l)ega(k);i=(f[h+16>>2]|0)+(f[h+20>>2]|0)|0;j=f[h+4>>2]|0;if((f[h+8>>2]|0)==(j|0))s=0;else s=(f[j+(((i>>>0)/146|0)<<2)>>2]|0)+(((i>>>0)%146|0)*28|0)|0;if(!l)QZ(k);while(1){do{if((s|0)==(g|0)){g=0;break d}x=0;Fa(451,$|0);r=x;x=0;if(r&1){ca=128;break b}x=0;Ga(507,$|0,g|0);r=x;x=0;if(r&1){ca=129;break b}x=0;Ga(507,$|0,Y|0);r=x;x=0;if(r&1){ca=129;break b}h=f[z>>2]|0;k=f[R>>2]|0;l=(k|0)==0;if(!l)ega(k);do if(!h)h=0;else{h=f[z>>2]|0;i=f[R>>2]|0;j=(i|0)==0;if(!j)ega(i);r=f[h+16>>2]|0;x=0;Ga(462,V|0,f[(f[(f[h+4>>2]|0)+(((r>>>0)/146|0)<<2)>>2]|0)+(((r>>>0)%146|0)*28|0)+16>>2]|0);r=x;x=0;if(r&1){ca=130;break b}f[V>>2]=15556;h=(f[G>>2]|0)!=0;_P(V);if(j)break;QZ(i)}while(0);if(!l)QZ(k);do if(h){i=f[z>>2]|0;j=f[R>>2]|0;if(!j)h=1;else{ega(j);h=0}r=f[i+16>>2]|0;b[$>>0]=b[(f[(f[i+4>>2]|0)+(((r>>>0)/146|0)<<2)>>2]|0)+(((r>>>0)%146|0)*28|0)>>0]|0;if(!h)QZ(j);h=f[z>>2]|0;i=f[R>>2]|0;j=(i|0)==0;if(!j)ega(i);r=f[h+16>>2]|0;x=0;Ga(462,W|0,f[(f[(f[h+4>>2]|0)+(((r>>>0)/146|0)<<2)>>2]|0)+(((r>>>0)%146|0)*28|0)+16>>2]|0);r=x;x=0;if(r&1){ca=134;break b}f[W>>2]=15556;b[(f[C>>2]|0)+60>>0]=0;_P(W);if(!j)QZ(i);h=f[z>>2]|0;i=f[R>>2]|0;if(!i){r=f[h+16>>2]|0;b[(f[(f[h+4>>2]|0)+(((r>>>0)/146|0)<<2)>>2]|0)+(((r>>>0)%146|0)*28|0)>>0]=0;break}else{ega(i);r=f[h+16>>2]|0;b[(f[(f[h+4>>2]|0)+(((r>>>0)/146|0)<<2)>>2]|0)+(((r>>>0)%146|0)*28|0)>>0]=0;QZ(i);break}}while(0);h=f[D>>2]|0;q=f[P>>2]|0;r=(q|0)==0;if(!r)ega(q);n=h+8|0;j=f[n>>2]|0;o=h+4|0;i=f[o>>2]|0;ga=j-i>>2;l=h+16|0;d=f[l>>2]|0;p=h+20|0;k=f[p>>2]|0;if((((ga|0)==0?0:(ga*146|0)+-1|0)|0)==(k+d|0)){x=0;Fa(433,h|0);ga=x;x=0;if(ga&1){ca=153;break b}k=f[p>>2]|0;h=f[l>>2]|0;j=f[n>>2]|0;i=f[o>>2]|0}else h=d;h=k+h|0;if((j|0)==(i|0))i=0;else i=(f[i+(((h>>>0)/146|0)<<2)>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[i>>2]=f[$>>2];f[i+4>>2]=f[$+4>>2];f[i+8>>2]=f[$+8>>2];h=i+12|0;x=0;Ga(462,h|0,f[E>>2]|0);ga=x;x=0;if(ga&1){ca=153;break b}f[h>>2]=15556;f[i+20>>2]=f[F>>2];h=f[L>>2]|0;f[i+24>>2]=h;if(h|0)ega(h);f[p>>2]=(f[p>>2]|0)+1;if(!r)QZ(q);h=f[L>>2]|0;if(h|0)QZ(h);_P(M);g=g+28|0}while((g-(f[m>>2]|0)|0)!=4088);g=m+4|0;m=g;g=f[g>>2]|0}}while(0);h=f[N>>2]|0;if(h|0)QZ(h);_P(O);if(g|0){c=1;break c}c=c+28|0}while((c-(f[t>>2]|0)|0)!=4088);c=t+4|0;t=c;c=f[c>>2]|0}do if((ca|0)==168){ca=0;f[fa>>2]=f[Z>>2];f[fa+4>>2]=f[Z+4>>2];f[fa+8>>2]=f[Z+8>>2];if(f[J>>2]|0){x=0;Fa(429,K|0);ga=x;x=0;if(ga&1){ca=183;break b}}f[J>>2]=f[H>>2];x=0;Fa(430,K|0);ga=x;x=0;if(ga&1){ca=183;break b}c=f[I>>2]|0;g=f[P>>2]|0;if(g|0)ega(g);f[aa>>2]=c;c=f[ea>>2]|0;f[ea>>2]=g;if(!c){c=0;break}QZ(c);c=0}while(0);g=f[P>>2]|0;if(g|0)QZ(g);_P(Q);g=f[R>>2]|0;if(g|0)QZ(g);_P(S)}g=f[T>>2]|0;if(g|0)QZ(g);_P(U);switch(c|0){case 2:case 0:break;default:{ca=197;break b}}}switch(ca|0){case 43:{c=Ya()|0;if(!h)QZ(g);break}case 78:{c=Ya()|0;ca=191;break}case 79:{c=Ya()|0;if(!k)QZ(j);if(i)ca=188;else{QZ(h);ca=188}break}case 83:{c=Ya()|0;ca=187;break}case 87:{c=Ya()|0;ca=167;break}case 88:{c=Ya()|0;ca=164;break}case 128:{c=Ya()|0;ca=158;break}case 129:{c=Ya()|0;ca=155;break}case 130:{c=Ya()|0;if(!j)QZ(i);if(l)ca=155;else{QZ(k);ca=155}break}case 134:{c=Ya()|0;if(j)ca=155;else{QZ(i);ca=155}break}case 153:{c=Ya()|0;if(r)ca=155;else{QZ(q);ca=155}break}case 183:{c=Ya()|0;ca=184;break}case 195:{f[a>>2]=f[fa>>2];f[a+4>>2]=f[fa+4>>2];f[a+8>>2]=f[fa+8>>2];c=a+12|0;x=0;Ga(462,c|0,f[J>>2]|0);ga=x;x=0;if(ga&1){ca=42;break a}f[c>>2]=15556;f[a+20>>2]=f[aa>>2];f[a+24>>2]=f[ea>>2];f[aa>>2]=0;f[ea>>2]=0;ca=197;break}}if((ca|0)==155){g=f[L>>2]|0;if(g|0)QZ(g);_P(M);ca=158}else if((ca|0)==197){c=f[e>>2]|0;if(c|0)QZ(c);_P(da+12|0);c=f[ea>>2]|0;if(!c){_P(K);u=ba;return}QZ(c);_P(K);u=ba;return}if((ca|0)==158)ca=164;if((ca|0)==164){g=f[N>>2]|0;if(g|0)QZ(g);_P(O);ca=167}if((ca|0)==167)ca=184;if((ca|0)==184){g=f[P>>2]|0;if(g|0)QZ(g);_P(Q);ca=187}if((ca|0)==187)ca=188;if((ca|0)==188){g=f[R>>2]|0;if(g|0)QZ(g);_P(S);ca=191}if((ca|0)==191){g=f[T>>2]|0;if(g|0)QZ(g);_P(U)}}while(0);if((ca|0)==42){c=Ya()|0;e=da+24|0}e=f[e>>2]|0;if(e|0)QZ(e);_P(da+12|0)}e=c;break}}e=Ya()|0;c=f[da+24>>2]|0;if(c|0)QZ(c);_P(da+12|0);ca=39}while(0);if((ca|0)==39)if(!o)QZ(n);c=f[ea>>2]|0;if(!c){ga=fa+12|0;_P(ga);jb(e|0)}QZ(c);ga=fa+12|0;_P(ga);jb(e|0)}function $d(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;ha=u;u=u+336|0;R=ha+40|0;T=ha+288|0;ia=ha;ja=ha+264|0;ka=ha+232|0;O=ha+280|0;ga=ha+204|0;M=ha+252|0;fa=ha+192|0;J=ha+240|0;S=ha+216|0;V=ha+140|0;X=ha+128|0;Y=ha+104|0;_=ha+92|0;aa=ha+80|0;K=ha+152|0;Z=ha+116|0;k=VN(108)|0;L=c+108|0;g=R;h=L;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Fa(427,k|0);ea=x;x=0;do if(ea&1)d=Ya()|0;else{g=k+12|0;h=R;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;f[k>>2]=15620;b[k+60>>0]=0;b[k+61>>0]=0;b[k+62>>0]=0;f[k+64>>2]=0;f[k+68>>2]=0;f[k+56>>2]=7;d=k+72|0;f[d>>2]=15516;i=k+76|0;j=k+80|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(513,i|0,0);ea=x;x=0;if(ea&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{ka=g+-8|0;f[j>>2]=ka;Kc[f[f[ka>>2]>>2]&511](ka);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=15300;f[d>>2]=15476;ea=k+96|0;f[ea>>2]=0;f[k+100>>2]=0;f[k+92>>2]=ea;b[k+104>>0]=0;b[k+105>>0]=0;qV(ka,k);f[ka>>2]=15572;ea=ka+4|0;f[(f[ea>>2]|0)+64>>2]=f[c+68>>2];x=0;ta(62,c|0,1,0)|0;da=x;x=0;a:do if(da&1)g=19;else{$=c+76|0;ca=c+80|0;l=R+4|0;m=c+172|0;n=c+176|0;P=Z+11|0;D=T+11|0;o=Z+8|0;p=Z+4|0;E=ja+11|0;q=ja+1|0;r=ja+4|0;s=M+4|0;t=M+8|0;v=ia+4|0;w=J+4|0;y=J+8|0;ba=fa+11|0;z=fa+4|0;F=S+11|0;H=V+11|0;N=X+11|0;Q=Y+11|0;U=_+11|0;W=aa+11|0;da=ga+11|0;G=R+11|0;A=R+4|0;B=R+8|0;C=O+4|0;while(1){x=0;ta(63,c|0,0,0)|0;k=x;x=0;if(k&1){g=19;break a}x=0;d=qa(351,f[$>>2]|0)|0;k=x;x=0;if(k&1){g=19;break a}if(d|0){d=f[ea>>2]|0;x=0;Ga(579,O|0,c|0);k=x;x=0;if(k&1){g=19;break a}x=0;Ga(578,d|0,f[C>>2]|0);k=x;x=0;if(k&1){g=20;break}_P(O);continue}x=0;d=ta(64,c|0,0,0)|0;k=x;x=0;if(k&1){g=19;break a}if(!d){x=0;d=ta(65,c|0,0,0)|0;k=x;x=0;if(k&1){g=19;break a}if(d|0){j=f[ea>>2]|0;x=0;k=qa(318,104)|0;i=x;x=0;if(i&1){g=19;break a}g=K;h=L;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=f[m>>2]|0;h=f[n>>2]|0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;i=h-e|0;if(i>>>0>4294967279){g=114;break}if(i>>>0<11){b[P>>0]=i;d=Z}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;la=x;x=0;if(la&1){g=131;break}f[Z>>2]=d;f[o>>2]=g|-2147483648;f[p>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;g=ia;h=K;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(459,T|0,Z|0);la=x;x=0;if(la&1){d=1;g=132;break}x=0;g=R;h=ia;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(88,k|0,R|0,T|0);la=x;x=0;if(la&1){g=126;break}if((b[D>>0]|0)<0)Hta(f[T>>2]|0);f[k>>2]=14212;x=0;Ga(578,j|0,k|0);la=x;x=0;if(la&1){d=0;g=132;break}if((b[P>>0]|0)>=0)continue;Hta(f[Z>>2]|0);continue}x=0;d=qa(352,f[$>>2]|0)|0;la=x;x=0;if(la&1){g=19;break a}if(!((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)){g=168;break}d=f[$>>2]|0;x=0;e=qa(348,d|0)|0;la=x;x=0;if(la&1){g=19;break a}x=0;d=qa(349,(e|0?e:d)|0)|0;la=x;x=0;if(la&1){g=19;break a}if(!((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)){g=168;break}x=0;d=qa(347,f[$>>2]|0)|0;la=x;x=0;if(la&1){g=19;break a}if((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)d=f[$>>2]|0;x=0;e=qa(348,d|0)|0;la=x;x=0;if(la&1){g=19;break a}h=e|0?e:d;e=b[36424]|0;b:do if(!(e<<24>>24))d=0;else{d=b[h>>0]|0;g=36424;while(1){if(d<<24>>24==e<<24>>24)break b;g=g+1|0;e=b[g>>0]|0;if(!(e<<24>>24)){d=0;break}}}while(0);la=d<<24>>24?h+1|0:0;if(!((la|0)==0?1:la>>>0>(f[ca>>2]|0)>>>0)){g=168;break}x=0;d=qa(347,f[$>>2]|0)|0;la=x;x=0;if(la&1){g=19;break a}if((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)d=f[$>>2]|0;x=0;e=qa(348,d|0)|0;la=x;x=0;if(la&1){g=19;break a}h=e|0?e:d;e=b[36417]|0;c:do if(!(e<<24>>24))d=0;else{d=b[h>>0]|0;g=36417;while(1){if(d<<24>>24==e<<24>>24)break c;g=g+1|0;e=b[g>>0]|0;if(!(e<<24>>24)){d=0;break}}}while(0);la=d<<24>>24?h+1|0:0;if(!((la|0)==0?1:la>>>0>(f[ca>>2]|0)>>>0)){g=168;break}x=0;Ga(579,R|0,c|0);la=x;x=0;if(la&1){g=163;break}d=f[l>>2]|0;if(!d){g=162;break}x=0;Ga(578,f[ea>>2]|0,d|0);la=x;x=0;if(la&1){g=164;break}_P(R);continue}d=f[ea>>2]|0;b[d+105>>0]=1;x=0;e=qa(318,104)|0;la=x;x=0;if(la&1){g=19;break a}f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;b[E>>0]=1;b[ja>>0]=38;b[q>>0]=0;x=0;g=R;h=L;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Ia(88,e|0,R|0,ja|0);la=x;x=0;if(la&1){g=27;break}if((b[E>>0]|0)<0)Hta(f[ja>>2]|0);f[e>>2]=13868;b[e+101>>0]=1;x=0;Ga(578,d|0,e|0);la=x;x=0;if(la&1){g=19;break a}e=f[ea>>2]|0;d=f[e+76>>2]|0;e=(f[e+80>>2]|0)-d>>3;if(e>>>0<=1)continue;g=T;h=L;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));x=0;Ga(462,ia|0,f[d+(e+-1<<3)+4>>2]|0);la=x;x=0;if(la&1){g=51;break}f[ia>>2]=13852;k=f[ea>>2]|0;la=f[k+76>>2]|0;x=0;Ga(462,ja|0,f[la+(((f[k+80>>2]|0)-la>>3)+-2<<3)+4>>2]|0);la=x;x=0;if(la&1){g=52;break}f[ja>>2]=13852;d=f[r>>2]|0;e=f[(f[d>>2]|0)+28>>2]|0;f[M>>2]=0;f[s>>2]=5;b[t>>0]=0;x=0;g=R;h=M;i=g+12|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));Ia(e|0,ga|0,d|0,R|0);la=x;x=0;if(la&1){g=53;break}d=f[v>>2]|0;e=f[(f[d>>2]|0)+28>>2]|0;f[J>>2]=0;f[w>>2]=5;b[y>>0]=0;x=0;g=R;h=J;i=g+12|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));Ia(e|0,fa|0,d|0,R|0);la=x;x=0;if(la&1){g=54;break}x=0;d=ta(47,c|0,1,0)|0;la=x;x=0;if(la&1){g=55;break}if(d|0){e=f[m>>2]|0;h=f[n>>2]|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;i=h-e|0;if(i>>>0>4294967279){g=38;break}if(i>>>0<11){b[G>>0]=i;d=R}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;la=x;x=0;if(la&1){g=56;break}f[R>>2]=d;f[B>>2]=g|-2147483648;f[A>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;la=b[G>>0]|0;k=la<<24>>24<0;x=0;ta(41,fa|0,(k?f[R>>2]|0:R)|0,(k?f[A>>2]|0:la&255)|0)|0;la=x;x=0;if(la&1){g=57;break}if((b[G>>0]|0)<0)Hta(f[R>>2]|0)}x=0;Ia(92,aa|0,44288,ga|0);la=x;x=0;if(la&1){g=84;break}x=0;d=sa(991,aa|0,44308)|0;la=x;x=0;if(la&1){g=85;break}f[_>>2]=f[d>>2];f[_+4>>2]=f[d+4>>2];f[_+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;d=b[ba>>0]|0;la=d<<24>>24<0;x=0;d=ta(41,_|0,(la?f[fa>>2]|0:fa)|0,(la?f[z>>2]|0:d&255)|0)|0;la=x;x=0;if(la&1){g=86;break}f[Y>>2]=f[d>>2];f[Y+4>>2]=f[d+4>>2];f[Y+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;d=sa(991,Y|0,44331)|0;la=x;x=0;if(la&1){g=87;break}f[X>>2]=f[d>>2];f[X+4>>2]=f[d+4>>2];f[X+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;d=b[ba>>0]|0;la=d<<24>>24<0;x=0;d=ta(41,X|0,(la?f[fa>>2]|0:fa)|0,(la?f[z>>2]|0:d&255)|0)|0;la=x;x=0;if(la&1){g=88;break}f[V>>2]=f[d>>2];f[V+4>>2]=f[d+4>>2];f[V+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;d=sa(991,V|0,44336)|0;la=x;x=0;if(la&1){g=89;break}f[S>>2]=f[d>>2];f[S+4>>2]=f[d+4>>2];f[S+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;f[R>>2]=f[T>>2];f[R+4>>2]=f[T+4>>2];f[R+8>>2]=f[T+8>>2];Ia(113,c|0,S|0,R|0);la=x;x=0;if(la&1){g=90;break}if((b[F>>0]|0)<0)Hta(f[S>>2]|0);if((b[H>>0]|0)<0)Hta(f[V>>2]|0);if((b[N>>0]|0)<0)Hta(f[X>>2]|0);if((b[Q>>0]|0)<0)Hta(f[Y>>2]|0);if((b[U>>0]|0)<0)Hta(f[_>>2]|0);if((b[W>>0]|0)<0)Hta(f[aa>>2]|0);if((b[ba>>0]|0)<0)Hta(f[fa>>2]|0);if((b[da>>0]|0)<0)Hta(f[ga>>2]|0);_P(ja);_P(ia)}switch(g|0){case 20:{d=Ya()|0;_P(O);break a}case 27:{d=Ya()|0;if((b[E>>0]|0)<0)Hta(f[ja>>2]|0);Hta(e);break a}case 38:{x=0;Fa(428,R|0);x=0;g=56;break}case 51:{d=Ya()|0;break}case 52:{d=Ya()|0;g=108;break}case 53:{d=Ya()|0;g=107;break}case 54:{d=Ya()|0;g=105;break}case 55:{d=Ya()|0;g=103;break}case 57:{d=Ya()|0;if((b[G>>0]|0)<0){Hta(f[R>>2]|0);g=59}else g=59;break}case 84:{d=Ya()|0;g=102;break}case 85:{d=Ya()|0;g=100;break}case 86:{d=Ya()|0;g=98;break}case 87:{d=Ya()|0;g=96;break}case 88:{d=Ya()|0;g=94;break}case 89:{d=Ya()|0;g=92;break}case 90:{d=Ya()|0;if((b[F>>0]|0)<0){Hta(f[S>>2]|0);g=92}else g=92;break}case 114:{x=0;Fa(428,Z|0);x=0;g=131;break}case 126:{d=Ya()|0;if((b[D>>0]|0)<0){Hta(f[T>>2]|0);e=1;g=133}else{e=1;g=133}break}case 132:{la=Ya()|0;e=d;d=la;g=133;break}case 162:{x=0;Ga(462,a|0,0);la=x;x=0;if(la&1)g=164;else{f[a>>2]=15572;_P(R);_P(ka);u=ha;return}break}case 163:{d=Ya()|0;g=167;break}case 168:{if(f[ea>>2]|0){x=0;d=qa(347,f[$>>2]|0)|0;la=x;x=0;if(la&1){g=19;break a}if((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)d=f[$>>2]|0;x=0;e=qa(348,d|0)|0;la=x;x=0;if(la&1){g=19;break a}e=e|0?e:d;x=0;d=qa(349,e|0)|0;la=x;x=0;if(la&1){g=19;break a}if(!d)d=(b[e>>0]|0)==123?e+1|0:0;if((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0){g=f[ea>>2]|0;x=0;d=qa(350,f[$>>2]|0)|0;la=x;x=0;if(la&1){g=19;break a}if(d){x=0;d=qa(347,f[$>>2]|0)|0;la=x;x=0;if(la&1){g=19;break a}if((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)d=f[$>>2]|0;x=0;e=qa(348,d|0)|0;la=x;x=0;if(la&1){g=19;break a}d=e|0?e:d;d=(b[d>>0]|0)==123?d+1|0:0;d=((d|0)==0?1:d>>>0>(f[ca>>2]|0)>>>0)&1}else d=0;b[g+61>>0]=d}}x=0;Ga(462,a|0,f[ea>>2]|0);la=x;x=0;if(la&1){g=19;break a}f[a>>2]=15572;_P(ka);u=ha;return}}do if((g|0)==56){d=Ya()|0;g=59}else if((g|0)==92)if((b[H>>0]|0)<0){Hta(f[V>>2]|0);g=94}else g=94;else if((g|0)==131){d=Ya()|0;g=136}else if((g|0)==133)if((b[P>>0]|0)<0){Hta(f[Z>>2]|0);if(e){g=136;break}else break a}else if(e){g=136;break}else break a;else if((g|0)==164){d=Ya()|0;_P(R);g=167}while(0);if((g|0)==59)g=103;else if((g|0)==94)if((b[N>>0]|0)<0){Hta(f[X>>2]|0);g=96}else g=96;else if((g|0)==136){Hta(k);break}else if((g|0)==167)break;if((g|0)==96)if((b[Q>>0]|0)<0){Hta(f[Y>>2]|0);g=98}else g=98;if((g|0)==98)if((b[U>>0]|0)<0){Hta(f[_>>2]|0);g=100}else g=100;if((g|0)==100)if((b[W>>0]|0)<0){Hta(f[aa>>2]|0);g=102}else g=102;if((g|0)==102)g=103;if((g|0)==103)if((b[ba>>0]|0)<0){Hta(f[fa>>2]|0);g=105}else g=105;if((g|0)==105)if((b[da>>0]|0)<0){Hta(f[ga>>2]|0);g=107}else g=107;if((g|0)==107){_P(ja);g=108}if((g|0)==108)_P(ia)}while(0);if((g|0)==19)d=Ya()|0;_P(ka);la=d;jb(la|0)}while(0);Hta(k);la=d;jb(la|0)}function ae(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.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;G=0;H=u;u=u+480|0;F=H+144|0;J=H;m=H+440|0;n=H+428|0;E=H+416|0;t=H+404|0;v=H+392|0;w=H+340|0;o=H+328|0;s=H+304|0;i=H+352|0;z=H+316|0;B=H+264|0;C=H+248|0;y=H+208|0;D=H+196|0;A=H+184|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;d=F+11|0;b[d>>0]=6;b[F>>0]=b[39245]|0;b[F+1>>0]=b[39246]|0;b[F+2>>0]=b[39247]|0;b[F+3>>0]=b[39248]|0;b[F+4>>0]=b[39249]|0;b[F+5>>0]=b[39250]|0;b[F+6>>0]=0;x=0;c=sa(992,a|0,F|0)|0;r=x;x=0;if(!(r&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;r=x;x=0;if(!(r&1)){x=0;c=qa(335,c|0)|0;r=x;x=0;if(!(r&1)){if((b[d>>0]|0)<0)Hta(f[F>>2]|0);if(c){l=VN(80)|0;c=m;q=g;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;k=w+11|0;b[k>>0]=6;b[w>>0]=b[39245]|0;b[w+1>>0]=b[39246]|0;b[w+2>>0]=b[39247]|0;b[w+3>>0]=b[39248]|0;b[w+4>>0]=b[39249]|0;b[w+5>>0]=b[39250]|0;b[w+6>>0]=0;x=0;c=sa(992,a|0,w|0)|0;g=x;x=0;if(g&1)G=38;else{g=f[c+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+32>>2]|0,v|0,g|0);g=x;x=0;if(g&1)G=38;else{x=0;Ia(92,t|0,49864,v|0);g=x;x=0;if(g&1)c=Ya()|0;else{x=0;c=sa(991,t|0,49800)|0;g=x;x=0;if(g&1)c=Ya()|0;else{f[E>>2]=f[c>>2];f[E+4>>2]=f[c+4>>2];f[E+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;i=s+11|0;b[i>>0]=6;b[s>>0]=b[39238]|0;b[s+1>>0]=b[39239]|0;b[s+2>>0]=b[39240]|0;b[s+3>>0]=b[39241]|0;b[s+4>>0]=b[39242]|0;b[s+5>>0]=b[39243]|0;b[s+6>>0]=0;x=0;c=sa(992,a|0,s|0)|0;g=x;x=0;if(g&1)G=41;else{g=f[c+4>>2]|0;x=0;Ga(f[(f[g>>2]|0)+32>>2]|0,o|0,g|0);g=x;x=0;if(g&1)G=41;else{d=o+11|0;c=b[d>>0]|0;g=c<<24>>24<0;x=0;c=ta(41,E|0,(g?f[o>>2]|0:o)|0,(g?f[o+4>>2]|0:c&255)|0)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[F>>2]=f[c>>2];f[F+4>>2]=f[c+4>>2];f[F+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,F|0,49838)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];f[n+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=J;q=m;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));x=0;Fa(427,l|0);g=x;x=0;do if(g&1)c=Ya()|0;else{c=l+12|0;q=J;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=4;f[l>>2]=11668;b[l+60>>0]=0;b[l+61>>0]=0;x=0;Ia(101,l+64|0,n|0,1);J=x;x=0;if(J&1){c=Ya()|0;break}f[l+76>>2]=0;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);if((b[d>>0]|0)<0)Hta(f[o>>2]|0);if((b[i>>0]|0)<0)Hta(f[s>>2]|0);if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);if((b[k>>0]|0)<0)Hta(f[w>>2]|0);J=l;u=H;return J|0}while(0);if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0)}while(0);if((b[F+11>>0]|0)>=0)break;Hta(f[F>>2]|0)}while(0);if((b[d>>0]|0)<0)Hta(f[o>>2]|0)}}if((G|0)==41)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[s>>2]|0);if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0)}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0)}if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0)}}if((G|0)==38)c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[w>>2]|0);Hta(l);J=c;jb(J|0)}f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;n=J+11|0;b[n>>0]=6;b[J>>0]=b[39245]|0;b[J+1>>0]=b[39246]|0;b[J+2>>0]=b[39247]|0;b[J+3>>0]=b[39248]|0;b[J+4>>0]=b[39249]|0;b[J+5>>0]=b[39250]|0;b[J+6>>0]=0;c=i;q=g;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));x=0;Ga(511,z|0,h|0);w=x;x=0;do if(w&1)c=Ya()|0;else{x=0;c=F;q=i;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));q=wa(26,J|0,a|0,e|0,F|0,z|0)|0;w=x;x=0;if(w&1){c=Ya()|0;l=I;d=f[z>>2]|0;if(!d)break;m=z+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{k=i+-52|0;f[m>>2]=k;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=k}while((i|0)!=(d|0));d=f[z>>2]|0}Hta(d);break}c=f[z>>2]|0;if(c|0){k=z+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[k>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[J>>2]|0);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;d=F+11|0;b[d>>0]=6;b[F>>0]=b[39238]|0;b[F+1>>0]=b[39239]|0;b[F+2>>0]=b[39240]|0;b[F+3>>0]=b[39241]|0;b[F+4>>0]=b[39242]|0;b[F+5>>0]=b[39243]|0;b[F+6>>0]=0;x=0;c=sa(992,a|0,F|0)|0;z=x;x=0;if(!(z&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;z=x;x=0;if(!(z&1)){x=0;c=qa(335,c|0)|0;z=x;x=0;if(!(z&1)){if((b[d>>0]|0)<0)Hta(f[F>>2]|0);if(!c){l=vc[f[(f[q>>2]|0)+12>>2]&511](q)|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;n=J+11|0;b[n>>0]=6;b[J>>0]=b[39238]|0;b[J+1>>0]=b[39239]|0;b[J+2>>0]=b[39240]|0;b[J+3>>0]=b[39241]|0;b[J+4>>0]=b[39242]|0;b[J+5>>0]=b[39243]|0;b[J+6>>0]=0;c=y;q=g;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));x=0;Ga(511,D|0,h|0);G=x;x=0;do if(G&1)c=Ya()|0;else{x=0;c=F;q=y;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));j=+ja(2,J|0,a|0,e|0,F|0,D|0);G=x;x=0;if(G&1){c=Ya()|0;l=I;d=f[D>>2]|0;if(!d)break;m=D+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{k=i+-52|0;f[m>>2]=k;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=k}while((i|0)!=(d|0));d=f[D>>2]|0}Hta(d);break}f[l+108>>2]=0;p[l+88>>3]=j;c=f[D>>2]|0;if(c|0){k=D+4|0;d=f[k>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[k>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[k>>2]|0}else d=i}while((d|0)!=(c|0));c=f[D>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[J>>2]|0);d=A+11|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;x=0;sa(986,l+96|0,A|0)|0;J=x;x=0;if(J&1){c=Ya()|0;if((b[d>>0]|0)>=0){J=c;jb(J|0)}Hta(f[A>>2]|0);J=c;jb(J|0)}else{if((b[d>>0]|0)<0)Hta(f[A>>2]|0);J=l;u=H;return J|0}}while(0);if((b[n>>0]|0)<0)Hta(f[J>>2]|0);J=c;jb(J|0)}o=J+64|0;c=J+8|0;f[c>>2]=16496;n=J+12|0;f[J>>2]=2284;f[o>>2]=2304;f[J+4>>2]=0;x=0;Ga(531,J+64|0,n|0);D=x;x=0;if(D&1){J=Ya()|0;uma(o);jb(J|0)}f[J+136>>2]=0;f[J+140>>2]=-1;f[J>>2]=16476;f[o>>2]=16516;f[c>>2]=16496;x=0;Fa(437,n|0);D=x;x=0;do if(D&1)c=Ya()|0;else{f[n>>2]=16336;m=J+44|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[J+60>>2]=24;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;x=0;Ga(532,n|0,F|0);D=x;x=0;if(D&1){c=Ya()|0;if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);Bca(n);break}if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);l=J+8|0;x=0;c=ta(44,l|0,49864,5)|0;D=x;x=0;a:do if(D&1)G=132;else{x=0;c=sa(1e3,c|0,~~+p[q+64>>3]|0)|0;D=x;x=0;if(D&1){G=132;break}x=0;c=ta(44,c|0,49800,2)|0;D=x;x=0;if(D&1){G=132;break}x=0;c=sa(1e3,c|0,~~+p[q+72>>3]|0)|0;D=x;x=0;if(D&1){G=132;break}x=0;c=ta(44,c|0,49800,2)|0;D=x;x=0;if(D&1){G=132;break}x=0;c=sa(1e3,c|0,~~+p[q+80>>3]|0)|0;D=x;x=0;if(D&1){G=132;break}x=0;d=ta(44,c|0,49800,2)|0;D=x;x=0;if(D&1){G=132;break}f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;k=E+11|0;b[k>>0]=6;b[E>>0]=b[39238]|0;b[E+1>>0]=b[39239]|0;b[E+2>>0]=b[39240]|0;b[E+3>>0]=b[39241]|0;b[E+4>>0]=b[39242]|0;b[E+5>>0]=b[39243]|0;b[E+6>>0]=0;x=0;c=sa(992,a|0,E|0)|0;a=x;x=0;do if(a&1)G=133;else{a=f[c+4>>2]|0;x=0;Ga(f[(f[a>>2]|0)+32>>2]|0,F|0,a|0);a=x;x=0;if(a&1){G=133;break}i=F+11|0;c=b[i>>0]|0;a=c<<24>>24<0;x=0;c=ta(44,d|0,(a?f[F>>2]|0:F)|0,(a?f[F+4>>2]|0:c&255)|0)|0;a=x;x=0;do if(!(a&1)){x=0;ta(44,c|0,49838,1)|0;a=x;x=0;if(a&1)break;if((b[i>>0]|0)<0)Hta(f[F>>2]|0);if((b[k>>0]|0)<0)Hta(f[E>>2]|0);x=0;d=qa(318,80)|0;E=x;x=0;if(E&1){G=132;break a}c=B;q=g;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));x=0;Ga(533,C|0,n|0);E=x;x=0;do if(E&1)c=Ya()|0;else{c=F;q=B;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));x=0;Fa(427,d|0);E=x;x=0;do if(E&1)c=Ya()|0;else{c=d+12|0;q=F;r=c+40|0;do{f[c>>2]=f[q>>2];c=c+4|0;q=q+4|0}while((c|0)<(r|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d+56>>2]=4;f[d>>2]=11668;b[d+60>>0]=0;b[d+61>>0]=0;x=0;Ia(101,d+64|0,C|0,1);F=x;x=0;if(F&1){c=Ya()|0;break}f[d+76>>2]=0;if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);f[J>>2]=16476;f[o>>2]=16516;f[l>>2]=16496;f[n>>2]=16336;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);Bca(n);KU(J,16528);uma(o);J=d;u=H;return J|0}while(0);if((b[C+11>>0]|0)>=0)break;Hta(f[C>>2]|0)}while(0);Hta(d);break a}while(0);c=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[F>>2]|0)}while(0);if((G|0)==133)c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[E>>2]|0)}while(0);if((G|0)==132)c=Ya()|0;f[J>>2]=16476;f[o>>2]=16516;f[l>>2]=16496;f[n>>2]=16336;if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);Bca(n);KU(J,16528);uma(o);J=c;jb(J|0)}while(0);KU(J,16528);J=c;uma(o);jb(J|0)}}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[F>>2]|0);J=c;jb(J|0)}while(0);if((b[n>>0]|0)<0)Hta(f[J>>2]|0);J=c;jb(J|0)}}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[F>>2]|0);J=c;jb(J|0);return 0}function be(a,c){a=a|0;c=c|0;var d=0,e=0.0,g=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,r=0,s=0.0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=0;A=u;u=u+336|0;B=A+312|0;g=A+324|0;I=A+168|0;F=A+156|0;D=A+144|0;C=A;J=I+64|0;d=I+8|0;f[d>>2]=16496;H=I+12|0;f[I>>2]=2284;f[J>>2]=2304;f[I+4>>2]=0;x=0;Ga(531,I+64|0,H|0);G=x;x=0;if(G&1){I=Ya()|0;uma(J);jb(I|0)}f[I+136>>2]=0;f[I+140>>2]=-1;f[I>>2]=16476;f[J>>2]=16516;f[d>>2]=16496;x=0;Fa(437,H|0);G=x;x=0;do if(G&1)d=Ya()|0;else{f[H>>2]=16336;G=I+44|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[I+60>>2]=24;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;Ga(532,H|0,B|0);z=x;x=0;if(z&1){d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);Bca(H);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);x=0;Ga(459,F|0,c+96|0);z=x;x=0;do if(z&1)d=Ya()|0;else{z=a+4|0;k=a+72|0;a:do if(!(b[(f[k>>2]|0)+8>>0]|0))E=24;else{a=F+11|0;y=b[a>>0]|0;do if(!((y<<24>>24<0?f[F+4>>2]|0:y&255)|0)){x=0;d=wa(21,F|0,0,-1,89823,0)|0;y=x;x=0;if(y&1){D=Za(0)|0;soa(D)}else if(!d){E=24;break a}else break}while(0);x=0;Ia(147,z|0,F|0,c|0);D=x;x=0;if(D&1){d=Ya()|0;E=173}else d=a}while(0);b:do if((E|0)==24){x=0;Ga(459,D|0,F|0);y=x;x=0;if(y&1)d=Ya()|0;else{m=+p[c+64>>3];x=0;m=+fa(1,+(m>255.0?255.0:m<0.0?0.0:m),f[(f[k>>2]|0)+4>>2]|0);y=x;x=0;c:do if(y&1)d=Ya()|0;else{n=+p[c+72>>3];x=0;n=+fa(1,+(n>255.0?255.0:n<0.0?0.0:n),f[(f[k>>2]|0)+4>>2]|0);y=x;x=0;if(y&1){d=Ya()|0;break}o=+p[c+80>>3];x=0;o=+fa(1,+(o>255.0?255.0:o<0.0?0.0:o),f[(f[k>>2]|0)+4>>2]|0);y=x;x=0;if(y&1){d=Ya()|0;break}l=+p[c+88>>3];l=l>1.0?1.0:l<0.0?0.0:l;d=F+11|0;y=b[d>>0]|0;r=F+4|0;do if(!((y<<24>>24<0?f[r>>2]|0:y&255)|0)){x=0;a=wa(21,F|0,0,-1,89823,0)|0;y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else if(!a){E=45;break}else{E=32;break}}else E=32;while(0);d:do if((E|0)==32){x=0;a=qa(400,F|0)|0;y=x;x=0;if(y&1){d=Ya()|0;break c}if(!a)E=45;else{x=0;a=qa(400,F|0)|0;y=x;x=0;do if(!(y&1)){i=+p[a+64>>3];x=0;i=+fa(1,+(i>255.0?255.0:i<0.0?0.0:i),f[(f[k>>2]|0)+4>>2]|0);y=x;x=0;if(y&1)break;h=+p[a+72>>3];x=0;h=+fa(1,+(h>255.0?255.0:h<0.0?0.0:h),f[(f[k>>2]|0)+4>>2]|0);y=x;x=0;if(y&1)break;e=+p[a+80>>3];x=0;e=+fa(1,+(e>255.0?255.0:e<0.0?0.0:e),f[(f[k>>2]|0)+4>>2]|0);y=x;x=0;if(y&1)break;s=+p[a+88>>3];s=s>1.0?1.0:s<0.0?0.0:s;break d}while(0);d=Ya()|0;break c}}while(0);e:do if((E|0)==45){e=m*65536.0+n*256.0+o;x=0;a=ma(1,+e)|0;y=x;x=0;do if(!(y&1)){if(!a){s=l;e=o;h=n;i=m;break e}x=0;a=ma(1,+e)|0;y=x;x=0;if(y&1)break;x=0;sa(1032,D|0,a|0)|0;y=x;x=0;if(!(y&1)){s=l;e=o;h=n;i=m;break e}}while(0);d=Ya()|0;break c}while(0);y=C+64|0;a=C+8|0;f[a>>2]=16496;w=C+12|0;f[C>>2]=2284;f[y>>2]=2304;f[C+4>>2]=0;x=0;Ga(531,C+64|0,w|0);v=x;x=0;f:do if(v&1){d=Ya()|0;E=70}else{f[C+136>>2]=0;f[C+140>>2]=-1;f[C>>2]=16476;f[y>>2]=16516;f[a>>2]=16496;x=0;Fa(437,w|0);v=x;x=0;do if(v&1)d=Ya()|0;else{f[w>>2]=16336;v=C+44|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[C+60>>2]=24;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;x=0;Ga(532,w|0,B|0);t=x;x=0;if(t&1){d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);Bca(w);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);q=(f[f[k>>2]>>2]|0)==3;t=C+8|0;b[g>>0]=35;x=0;a=ta(44,t|0,g|0,1)|0;j=x;x=0;g:do if(j&1)E=71;else{f[a+(f[(f[a>>2]|0)+-12>>2]|0)+12>>2]=1;f[a+(f[(f[a>>2]|0)+-12>>2]|0)+76>>2]=48;do if(q){x=0;a=na(1,+i,+h,+e)|0;j=x;x=0;if(j&1){E=71;break g}if(!(s==1.0&a)){E=75;break}j=t+(f[(f[t>>2]|0)+-12>>2]|0)+4|0;f[j>>2]=f[j>>2]&-75|8;f[t+(f[(f[t>>2]|0)+-12>>2]|0)+12>>2]=1;x=0;sa(1001,t|0,~~i>>>0>>>4|0)|0;j=x;x=0;if(j&1){d=Ya()|0;break g}j=t+(f[(f[t>>2]|0)+-12>>2]|0)+4|0;f[j>>2]=f[j>>2]&-75|8;f[t+(f[(f[t>>2]|0)+-12>>2]|0)+12>>2]=1;x=0;sa(1001,t|0,~~h>>>0>>>4|0)|0;j=x;x=0;if(j&1){d=Ya()|0;break g}j=t+(f[(f[t>>2]|0)+-12>>2]|0)+4|0;f[j>>2]=f[j>>2]&-75|8;f[t+(f[(f[t>>2]|0)+-12>>2]|0)+12>>2]=1;x=0;sa(1001,t|0,~~e>>>0>>>4|0)|0;j=x;x=0;if(!(j&1)){E=82;break}d=Ya()|0;break g}else E=75;while(0);do if((E|0)==75){j=t+(f[(f[t>>2]|0)+-12>>2]|0)+4|0;f[j>>2]=f[j>>2]&-75|8;f[t+(f[(f[t>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;sa(1001,t|0,~~i>>>0|0)|0;j=x;x=0;if(j&1){d=Ya()|0;break g}j=t+(f[(f[t>>2]|0)+-12>>2]|0)+4|0;f[j>>2]=f[j>>2]&-75|8;f[t+(f[(f[t>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;sa(1001,t|0,~~h>>>0|0)|0;j=x;x=0;if(j&1){d=Ya()|0;break g}j=t+(f[(f[t>>2]|0)+-12>>2]|0)+4|0;f[j>>2]=f[j>>2]&-75|8;f[t+(f[(f[t>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;sa(1001,t|0,~~e>>>0|0)|0;j=x;x=0;if(j&1){d=Ya()|0;break g}else if(q){E=82;break}else break}while(0);do if((E|0)==82){if(b[c+52>>0]|0)break;x=0;sa(1032,F|0,89823)|0;j=x;x=0;if(j&1){E=71;break g}}while(0);j=s>=1.0;h:do if(j&(f[f[k>>2]>>2]|0)==4){x=0;Ga(533,B|0,w|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ia(147,z|0,B|0,c|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);break h}while(0);break g}else{g=b[d>>0]|0;a=f[r>>2]|0;i:do if(!((g<<24>>24<0?a:g&255)|0)){x=0;a=wa(21,F|0,0,-1,89823,0)|0;k=x;x=0;if(k&1){k=Za(0)|0;soa(k)}if(a|0){g=b[d>>0]|0;a=f[r>>2]|0;E=99;break}if(!j){g=I+8|0;x=0;ta(44,g|0,49864,5)|0;r=x;x=0;if(r&1){E=71;break g}x=0;a=sa(1001,g|0,~~i>>>0|0)|0;r=x;x=0;if(r&1){E=71;break g}x=0;ta(44,a|0,52774,1)|0;r=x;x=0;if(r&1){E=71;break g}if(!q){x=0;ta(44,g|0,53148,1)|0;r=x;x=0;if(r&1){E=71;break g}}x=0;a=sa(1001,g|0,~~h>>>0|0)|0;r=x;x=0;if(r&1){E=71;break g}x=0;ta(44,a|0,52774,1)|0;r=x;x=0;if(r&1){E=71;break g}if(!q){x=0;ta(44,g|0,53148,1)|0;r=x;x=0;if(r&1){E=71;break g}}x=0;a=sa(1001,g|0,~~e>>>0|0)|0;r=x;x=0;if(r&1){E=71;break g}x=0;ta(44,a|0,52774,1)|0;r=x;x=0;if(r&1){E=71;break g}if(!q){x=0;ta(44,g|0,53148,1)|0;r=x;x=0;if(r&1){E=71;break g}}x=0;a=ra(1,g|0,+s)|0;r=x;x=0;if(r&1){E=71;break g}b[B>>0]=41;x=0;ta(44,a|0,B|0,1)|0;r=x;x=0;if(r&1){E=71;break g}break}j=D+11|0;r=b[j>>0]|0;k=D+4|0;do if(!((r<<24>>24<0?f[k>>2]|0:r&255)|0)){x=0;a=wa(21,D|0,0,-1,89823,0)|0;r=x;x=0;if(r&1){r=Za(0)|0;soa(r)}if(a|0)break;x=0;Ga(533,B|0,w|0);r=x;x=0;do if(r&1)d=Ya()|0;else{a=B+11|0;r=b[a>>0]|0;q=r<<24>>24<0;x=0;ta(44,I+8|0,(q?f[B>>2]|0:B)|0,(q?f[B+4>>2]|0:r&255)|0)|0;r=x;x=0;if(r&1){d=Ya()|0;if((b[a>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[a>>0]|0)<0)Hta(f[B>>2]|0);break i}while(0);break g}while(0);do if(q){x=0;Ga(533,B|0,w|0);r=x;x=0;if(r&1){d=Ya()|0;break g}q=b[B+11>>0]|0;r=q<<24>>24<0;a=b[j>>0]|0;a=(r?f[B+4>>2]|0:q&255)>>>0<(a<<24>>24<0?f[k>>2]|0:a&255)>>>0;if(r)Hta(f[B>>2]|0);g=I+8|0;if(!a){a=g;break}x=0;Ga(533,B|0,w|0);r=x;x=0;do if(r&1)d=Ya()|0;else{a=B+11|0;r=b[a>>0]|0;q=r<<24>>24<0;x=0;ta(44,g|0,(q?f[B>>2]|0:B)|0,(q?f[B+4>>2]|0:r&255)|0)|0;r=x;x=0;if(r&1){d=Ya()|0;if((b[a>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[a>>0]|0)<0)Hta(f[B>>2]|0);break i}while(0);break g}else a=I+8|0;while(0);r=b[j>>0]|0;q=r<<24>>24<0;x=0;ta(44,a|0,(q?f[D>>2]|0:D)|0,(q?f[k>>2]|0:r&255)|0)|0;r=x;x=0;if(r&1){E=71;break g}}else E=99;while(0);if((E|0)==99){r=g<<24>>24<0;x=0;ta(44,I+8|0,(r?f[F>>2]|0:F)|0,(r?a:g&255)|0)|0;r=x;x=0;if(r&1){E=71;break g}}x=0;Ga(533,B|0,H|0);r=x;x=0;do if(r&1)d=Ya()|0;else{x=0;Ia(147,z|0,B|0,c|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);break h}while(0);break g}while(0);f[C>>2]=16476;f[y>>2]=16516;f[t>>2]=16496;f[w>>2]=16336;if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);Bca(w);KU(C,16528);uma(y);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);break b}while(0);if((E|0)==71)d=Ya()|0;f[C>>2]=16476;f[y>>2]=16516;f[t>>2]=16496;f[w>>2]=16336;if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);Bca(w);KU(C,16528);uma(y);break f}while(0);KU(C,16528);E=70}while(0);if((E|0)==70)uma(y)}while(0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0)}a=F+11|0;E=173}while(0);if((E|0)==173){if((b[a>>0]|0)>=0)break;Hta(f[F>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[F>>2]|0);f[I>>2]=16476;f[J>>2]=16516;f[I+8>>2]=16496;f[H>>2]=16336;if((b[G+11>>0]|0)>=0){Bca(H);KU(I,16528);uma(J);u=A;return}Hta(f[G>>2]|0);Bca(H);KU(I,16528);uma(J);u=A;return}while(0);f[I>>2]=16476;f[J>>2]=16516;f[I+8>>2]=16496;f[H>>2]=16336;if((b[G+11>>0]|0)>=0){Bca(H);KU(I,16528);uma(J);jb(d|0)}Hta(f[G>>2]|0);Bca(H);KU(I,16528);uma(J);jb(d|0)}while(0);KU(I,16528);I=d;uma(J);jb(I|0)}function ce(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;L=u;u=u+416|0;K=L+40|0;Q=L;R=L+392|0;m=L+408|0;n=L+400|0;P=L+336|0;o=L+384|0;J=L+320|0;r=L+344|0;t=L+328|0;v=L+280|0;w=L+272|0;y=L+256|0;s=L+248|0;z=L+240|0;A=L+200|0;C=L+192|0;D=L+184|0;E=L+168|0;B=L+160|0;F=L+152|0;G=L+144|0;H=L+104|0;M=L+96|0;N=L+80|0;k=VN(84)|0;q=Q;j=c+12|0;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));x=0;Fa(427,k|0);O=x;x=0;do if(O&1)d=Ya()|0;else{q=k+12|0;j=Q;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));f[k>>2]=10464;b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;f[k+56>>2]=0;d=k+60|0;f[d>>2]=10424;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(555,i|0,0);O=x;x=0;if(O&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{R=g+-8|0;f[j>>2]=R;Kc[f[f[R>>2]>>2]&511](R);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=10240;f[d>>2]=10368;b[k+80>>0]=0;b[k+81>>0]=0;b[k+82>>0]=0;qV(R,k);f[R>>2]=9376;e=f[c+64>>2]|0;i=(f[c+68>>2]|0)-e>>3;a:do if(i|0){j=c+64|0;k=K+4|0;l=R+4|0;d=0;while(1){e=f[e+(d<<3)+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;O=x;x=0;if(O&1){O=23;break}x=0;Ga(462,K|0,e|0);O=x;x=0;if(O&1){O=23;break}f[K>>2]=7696;e=f[k>>2]|0;if(!e)h=0;else h=(f[271]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;if(!(b[h+80>>0]|0))if(!(b[h+81>>0]|0)){e=(f[l>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,m|0,h|0);O=x;x=0;if(O&1){O=24;break}f[m>>2]=10408;x=0;Ga(g|0,e|0,m|0);O=x;x=0;if(O&1){O=25;break}_P(m)}_P(K);d=d+1|0;if(d>>>0>=i>>>0){O=13;break}e=f[j>>2]|0}b:do if((O|0)==13){c:do if(b[c+81>>0]|0){x=0;Ga(649,n|0,c|0);q=x;x=0;do if(q&1)d=Ya()|0;else{d=f[n+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;q=x;x=0;if(!(q&1)){x=0;Ga(462,Q|0,d|0);q=x;x=0;if(!(q&1)){f[Q>>2]=7696;_P(n);q=f[Q+4>>2]|0;x=0;Ga(462,o|0,f[((f[271]|0)==(f[(f[(f[q>>2]|0)+-4>>2]|0)+4>>2]|0)?q:0)+64>>2]|0);q=x;x=0;do if(q&1)d=Ya()|0;else{f[o>>2]=7696;d=f[o+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;q=x;x=0;if(!(q&1)){x=0;Ga(462,P|0,d|0);q=x;x=0;if(!(q&1)){f[P>>2]=7696;_P(o);n=P+4|0;x=0;k=qa(340,f[n>>2]|0)|0;q=x;x=0;if(q&1)d=Ya()|0;else{d=f[n>>2]|0;if(!d)l=0;else l=(f[249]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;m=qa(318,88)|0;q=x;x=0;d:do if(q&1)O=59;else{q=r;j=d+12|0;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));h=(k|0)!=0;if(h)g=f[k+80>>2]|0;else g=0;q=K;j=r;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));x=0;Fa(427,m|0);r=x;x=0;do if(r&1)d=Ya()|0;else{q=m+12|0;j=K;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;d=m+56|0;f[d>>2]=0;f[m>>2]=6516;e=m+60|0;f[e>>2]=9660;i=m+64|0;j=m+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);r=x;x=0;if(r&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{N=g+-8|0;f[j>>2]=N;Kc[f[f[N>>2]>>2]&511](N);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[m>>2]=9488;f[e>>2]=9620;f[m+80>>2]=g;b[m+84>>0]=1;b[m+85>>0]=0;b[m+86>>0]=0;f[d>>2]=5;x=0;Ga(462,J|0,m|0);O=x;x=0;if(O&1){O=59;break d}f[J>>2]=7584;do if(h){if(!(b[k+84>>0]|0)){O=63;break}d=J+4|0;O=(f[d>>2]|0)+60|0;x=0;Ga(f[(f[O>>2]|0)+24>>2]|0,O|0,k+60|0);O=x;x=0;if(O&1)O=62;else O=85}else O=63;while(0);e:do if((O|0)==63){if(!l){d=J+4|0;g=(f[d>>2]|0)+60|0;if(h){x=0;Ga(f[(f[g>>2]|0)+24>>2]|0,g|0,k+60|0);O=x;x=0;if(O&1){O=62;break}else{O=85;break}}e=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,s|0,f[n>>2]|0);y=x;x=0;if(y&1){O=62;break}f[s>>2]=7696;x=0;Ga(e|0,g|0,s|0);y=x;x=0;if(y&1){d=Ya()|0;_P(s);break}else{_P(s);O=85;break}}d=(f[R+4>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;h=qa(318,88)|0;s=x;x=0;if(s&1){O=62;break}q=v;j=(f[n>>2]|0)+12|0;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));x=0;Ga(462,w|0,l|0);s=x;x=0;do if(s&1)d=Ya()|0;else{f[w>>2]=7696;g=y+11|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;x=0;q=K;j=v;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));La(13,h|0,K|0,w|0,y|0,0,1);v=x;x=0;do if(v&1){d=1;O=73}else{x=0;Ga(462,t|0,h|0);v=x;x=0;if(v&1){d=0;O=73;break}f[t>>2]=10408;x=0;Ga(e|0,d|0,t|0);v=x;x=0;if(v&1){d=Ya()|0;_P(t);e=0;break}_P(t);if((b[g>>0]|0)<0)Hta(f[y>>2]|0);_P(w);d=J+4|0;O=85;break e}while(0);if((O|0)==73){N=Ya()|0;e=d;d=N}if((b[g>>0]|0)<0){Hta(f[y>>2]|0);_P(w);if(e)break;else break e}else{_P(w);if(e)break;else break e}}while(0);Hta(h)}while(0);f:do if((O|0)==85){d=f[d>>2]|0;g:do if((f[d+68>>2]|0)!=(f[d+64>>2]|0)){e=(f[R+4>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;i=qa(318,88)|0;y=x;x=0;if(y&1){O=62;break f}q=A;j=(f[n>>2]|0)+12|0;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));x=0;Ga(462,D|0,d|0);y=x;x=0;do if(y&1)d=Ya()|0;else{f[D>>2]=7584;x=0;Ga(462,C|0,f[D+4>>2]|0);y=x;x=0;if(y&1){d=Ya()|0;_P(D);break}f[C>>2]=7696;h=E+11|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;x=0;q=K;j=A;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));La(13,i|0,K|0,C|0,E|0,1,0);A=x;x=0;do if(A&1){d=1;O=97}else{x=0;Ga(462,z|0,i|0);A=x;x=0;if(A&1){d=0;O=97;break}f[z>>2]=10408;x=0;Ga(g|0,e|0,z|0);A=x;x=0;if(A&1){d=Ya()|0;_P(z);e=0;break}_P(z);if((b[h>>0]|0)<0)Hta(f[E>>2]|0);_P(C);_P(D);break g}while(0);if((O|0)==97){N=Ya()|0;e=d;d=N}if((b[h>>0]|0)<0)Hta(f[E>>2]|0);_P(C);_P(D);if(!e)break f}while(0);Hta(i);break f}while(0);_P(J);_P(P);_P(Q);break c}while(0);if((O|0)==62)d=Ya()|0;_P(J);break d}while(0);Hta(m)}while(0);if((O|0)==59)d=Ya()|0}_P(P);break}}d=Ya()|0;_P(o)}while(0);_P(Q);break}}d=Ya()|0;_P(n)}while(0);break b}while(0);if(!(b[c+82>>0]|0))break a;x=0;Ga(650,B|0,c|0);J=x;x=0;do if(J&1)d=Ya()|0;else{d=f[B+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;J=x;x=0;if(!(J&1)){x=0;Ga(462,Q|0,d|0);J=x;x=0;if(!(J&1)){f[Q>>2]=7696;_P(B);d=f[Q+4>>2]|0;if(!d)d=0;else d=(f[271]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,F|0,f[d+64>>2]|0);J=x;x=0;do if(J&1)d=Ya()|0;else{f[F>>2]=7696;d=f[F+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;J=x;x=0;if(!(J&1)){x=0;Ga(462,P|0,d|0);J=x;x=0;if(!(J&1)){f[P>>2]=7696;_P(F);e=(f[R+4>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;i=qa(318,88)|0;J=x;x=0;h:do if(J&1)d=Ya()|0;else{d=f[P+4>>2]|0;q=H;j=d+12|0;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));x=0;Ga(462,M|0,d|0);J=x;x=0;do if(J&1)d=Ya()|0;else{f[M>>2]=7696;h=N+11|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;q=K;j=H;p=q+40|0;do{f[q>>2]=f[j>>2];q=q+4|0;j=j+4|0}while((q|0)<(p|0));La(13,i|0,K|0,M|0,N|0,0,1);K=x;x=0;do if(K&1){d=1;O=132}else{x=0;Ga(462,G|0,i|0);K=x;x=0;if(K&1){d=0;O=132;break}f[G>>2]=10408;x=0;Ga(g|0,e|0,G|0);K=x;x=0;if(K&1){d=Ya()|0;_P(G);e=0;break}_P(G);if((b[h>>0]|0)<0)Hta(f[N>>2]|0);_P(M);_P(P);_P(Q);break a}while(0);if((O|0)==132){L=Ya()|0;e=d;d=L}if((b[h>>0]|0)<0){Hta(f[N>>2]|0);_P(M);if(e)break;else break h}else{_P(M);if(e)break;else break h}}while(0);Hta(i)}while(0);_P(P);break}}d=Ya()|0;_P(F)}while(0);_P(Q);break}}d=Ya()|0;_P(B)}while(0)}else if((O|0)==23){d=Ya()|0;O=29}else if((O|0)==24){d=Ya()|0;O=28}else if((O|0)==25){d=Ya()|0;_P(m);O=28}while(0);if((O|0)==28){_P(K);O=29}_P(R);R=d;jb(R|0)}while(0);d=f[R+4>>2]|0;if(!d){Q=0;_P(R);u=L;return Q|0}b[d+8>>0]=1;Q=d;_P(R);u=L;return Q|0}while(0);Hta(k);R=d;jb(R|0);return 0}function de(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;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;f[fc+32>>2]=d;f[fc+40>>2]=e;f[fc+48>>2]=g;f[fc+56>>2]=h;if((ec|0)==1)ec=3}Vc(hc+33644|0);return f[fc>>2]|0}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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,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=u;u=u+336|0;R=Q+320|0;D=Q+312|0;e=Q+304|0;g=Q+288|0;T=Q+296|0;S=Q+280|0;y=Q+272|0;t=Q+264|0;w=Q+256|0;p=Q+240|0;h=Q+232|0;i=Q+224|0;j=Q+216|0;k=Q+208|0;l=Q+200|0;m=Q+192|0;n=Q+184|0;o=Q+176|0;v=Q+168|0;q=Q+160|0;r=Q+144|0;F=Q+136|0;E=Q+128|0;C=Q+120|0;B=Q+112|0;A=Q+96|0;M=Q+88|0;G=Q+80|0;H=Q+64|0;N=Q+56|0;I=Q+48|0;J=Q+32|0;O=Q+24|0;K=Q+16|0;L=Q;z=a+80|0;qV(e,f[z>>2]|0);f[e>>2]=15572;if(!(f[e+4>>2]|0)){_P(e);T=0;u=Q;return T|0}s=c+4|0;x=0;Ga(462,g|0,f[(f[s>>2]|0)+80>>2]|0);P=x;x=0;if(P&1){T=Ya()|0;_P(e);jb(T|0)}f[g>>2]=15572;P=(f[g+4>>2]|0)==0;_P(g);_P(e);if(P){T=0;u=Q;return T|0}e=R+4|0;c=a;while(1){qV(R,f[c+88>>2]|0);f[R>>2]=15556;g=f[e>>2]|0;_P(R);if(!g)break;else c=g}qV(T,c);f[T>>2]=15556;a:do if(!(f[(f[T+4>>2]|0)+72>>2]|0)){c=f[s>>2]|0;b:do if(!c){c=0;P=13}else{g=D+4|0;while(1){x=0;Ga(462,D|0,f[c+88>>2]|0);P=x;x=0;if(P&1){P=15;break b}f[D>>2]=15556;e=f[g>>2]|0;_P(D);if(!e){P=13;break}else c=e}}while(0);c:do if((P|0)==13){x=0;Ga(462,S|0,c|0);g=x;x=0;if(g&1)P=15;else{f[S>>2]=15556;d:do if(!(f[(f[S+4>>2]|0)+72>>2]|0)){x=0;c=qa(320,a|0)|0;g=x;x=0;e:do if(g&1)c=Ya()|0;else{x=0;e=qa(320,f[s>>2]|0)|0;g=x;x=0;do if(!(g&1)){if(c>>>0>e>>>0){c=0;break d}if((c|0)==1){x=0;Ga(462,y|0,f[z>>2]|0);O=x;x=0;if(O&1)break;f[y>>2]=15572;i=f[y+4>>2]|0;h=f[(f[i>>2]|0)+144>>2]|0;c=f[s>>2]|0;f:do if(!c){c=0;P=27}else{g=R+4|0;while(1){x=0;Ga(462,R|0,f[c+88>>2]|0);P=x;x=0;if(P&1){P=34;break f}f[R>>2]=15556;e=f[g>>2]|0;_P(R);if(!e){P=27;break}else c=e}}while(0);do if((P|0)==27){x=0;Ga(462,w|0,c|0);R=x;x=0;if(R&1){P=34;break}f[w>>2]=15556;x=0;Ga(462,t|0,f[(f[w+4>>2]|0)+80>>2]|0);R=x;x=0;if(R&1)c=Ya()|0;else{f[t>>2]=15572;x=0;Ga(459,p|0,d|0);R=x;x=0;do if(R&1)c=Ya()|0;else{x=0;c=ta(h|0,i|0,t|0,p|0)|0;R=x;x=0;if(R&1){c=Ya()|0;if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);_P(t);_P(w);_P(y);break d}while(0);_P(t)}_P(w)}while(0);if((P|0)==34)c=Ya()|0;_P(y);break e}x=0;Ga(462,h|0,f[(f[s>>2]|0)+88>>2]|0);y=x;x=0;if(!(y&1)){f[h>>2]=15556;g:do if(!(f[h+4>>2]|0))_P(h);else{c=a+88|0;x=0;Ga(462,i|0,f[c>>2]|0);y=x;x=0;if(y&1){c=Ya()|0;_P(h);break e}f[i>>2]=15556;if(!(f[i+4>>2]|0)){_P(i);_P(h);break}y=(f[a+72>>2]|0)==0;_P(i);_P(h);if(y)break;x=0;Ga(462,R|0,f[c>>2]|0);y=x;x=0;if(y&1)c=Ya()|0;else{f[R>>2]=15556;x=0;Ga(462,D|0,f[(f[s>>2]|0)+88>>2]|0);y=x;x=0;h:do if(y&1)c=Ya()|0;else{f[D>>2]=15556;c=R+4|0;e=f[c>>2]|0;g=D+4|0;i:do if((f[e+72>>2]|0)==(f[(f[g>>2]|0)+72>>2]|0)){x=0;Ga(462,j|0,f[e+80>>2]|0);y=x;x=0;j:do if(y&1)P=54;else{f[j>>2]=15572;do if(!(f[j+4>>2]|0))_P(j);else{x=0;Ga(462,k|0,f[(f[g>>2]|0)+80>>2]|0);y=x;x=0;if(y&1){c=Ya()|0;_P(j);break j}else{f[k>>2]=15572;y=(f[k+4>>2]|0)==0;_P(k);_P(j);if(y)break i;else break}}while(0);x=0;Ga(462,l|0,f[(f[c>>2]|0)+80>>2]|0);y=x;x=0;if(y&1){P=54;break}f[l>>2]=15572;do if(!(f[l+4>>2]|0)){x=0;Ga(462,m|0,f[(f[g>>2]|0)+80>>2]|0);y=x;x=0;if(y&1){c=Ya()|0;_P(l);break j}else{f[m>>2]=15572;y=(f[m+4>>2]|0)==0;_P(m);_P(l);if(y)break;else break i}}else _P(l);while(0);x=0;Ga(462,n|0,f[(f[c>>2]|0)+80>>2]|0);y=x;x=0;if(y&1){P=54;break}f[n>>2]=15572;k:do if(!(f[n+4>>2]|0))_P(n);else{x=0;Ga(462,o|0,f[(f[g>>2]|0)+80>>2]|0);y=x;x=0;if(y&1){c=Ya()|0;_P(n);break j}f[o>>2]=15572;y=(f[o+4>>2]|0)==0;_P(o);_P(n);if(y)break;x=0;Ga(462,v|0,f[(f[c>>2]|0)+80>>2]|0);y=x;x=0;if(y&1){P=54;break j}f[v>>2]=15572;c=f[v+4>>2]|0;e=f[(f[c>>2]|0)+144>>2]|0;x=0;Ga(462,q|0,f[(f[g>>2]|0)+80>>2]|0);y=x;x=0;do if(y&1)c=Ya()|0;else{f[q>>2]=15572;g=r+11|0;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;x=0;c=ta(e|0,c|0,q|0,r|0)|0;y=x;x=0;if(y&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[r>>2]|0);_P(q);break}else{if((b[g>>0]|0)<0)Hta(f[r>>2]|0);_P(q);_P(v);if(c)break k;else break i}}while(0);_P(v);break j}while(0);_P(D);_P(R);break g}while(0);if((P|0)==54)c=Ya()|0;_P(D);break h}while(0);_P(D);_P(R);c=0;break d}while(0);_P(R)}break e}while(0);x=0;Ga(462,R|0,f[s>>2]|0);y=x;x=0;if(y&1)c=Ya()|0;else{f[R>>2]=15556;x=0;h=qa(320,f[s>>2]|0)|0;P=x;x=0;l:do if(P&1)P=95;else{i=h+-1|0;m:do if((h|0)==0|(i|0)==0)c=0;else{j=F+4|0;o=R+4|0;k=D+4|0;l=E+4|0;m=C+4|0;n=A+11|0;g=0;n:while(1){x=0;Ga(462,F|0,f[z>>2]|0);P=x;x=0;if(P&1){P=95;break l}f[F>>2]=15572;do if(!(f[j>>2]|0))_P(F);else{x=0;Ga(462,E|0,f[(f[o>>2]|0)+80>>2]|0);P=x;x=0;if(P&1){P=108;break n}f[E>>2]=15572;if(!(f[l>>2]|0)){_P(E);_P(F);break}x=0;Ga(462,C|0,f[z>>2]|0);P=x;x=0;if(P&1){P=109;break n}f[C>>2]=15572;c=f[m>>2]|0;e=f[(f[c>>2]|0)+144>>2]|0;x=0;Ga(462,B|0,f[(f[o>>2]|0)+80>>2]|0);P=x;x=0;if(P&1){P=110;break n}f[B>>2]=15572;x=0;Ga(459,A|0,d|0);P=x;x=0;if(P&1){P=111;break n}x=0;c=ta(e|0,c|0,B|0,A|0)|0;P=x;x=0;if(P&1){P=112;break n}if((b[n>>0]|0)<0)Hta(f[A>>2]|0);_P(B);_P(C);_P(E);_P(F);if(c){P=126;break n}}while(0);x=0;Ga(462,D|0,f[(f[o>>2]|0)+88>>2]|0);P=x;x=0;if(P&1){P=123;break}f[D>>2]=15556;if(f[o>>2]|0){x=0;Fa(429,R|0);P=x;x=0;if(P&1){P=124;break}}f[o>>2]=f[k>>2];f[k>>2]=0;_P(D);g=g+1|0;if(g>>>0>=h>>>0|(g|0)==(i|0)){c=0;break m}}do if((P|0)==108)c=Ya()|0;else if((P|0)==109){c=Ya()|0;P=116}else if((P|0)==110){c=Ya()|0;P=115}else if((P|0)==111){c=Ya()|0;P=114}else if((P|0)==112){c=Ya()|0;if((b[n>>0]|0)>=0){P=114;break}Hta(f[A>>2]|0);P=114}else if((P|0)==123){c=Ya()|0;P=125}else if((P|0)==124){c=Ya()|0;_P(D);P=125}else if((P|0)==126){c=f[a+72>>2]|0;e=f[(f[o>>2]|0)+72>>2]|0;g=(e|0)==0;do if(!c){if(g){x=0;Ga(462,O|0,f[a+88>>2]|0);N=x;x=0;if(N&1)break;f[O>>2]=15556;c=f[O+4>>2]|0;e=f[(f[c>>2]|0)+144>>2]|0;x=0;Ga(462,K|0,f[(f[o>>2]|0)+88>>2]|0);N=x;x=0;do if(N&1)c=Ya()|0;else{f[K>>2]=15556;g=L+11|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;x=0;c=ta(e|0,c|0,K|0,L|0)|0;N=x;x=0;if(N&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[L>>2]|0);_P(K);break}else{if((b[g>>0]|0)<0)Hta(f[L>>2]|0);_P(K);_P(O);break m}}while(0);_P(O);break l}if((e|0)!=1){c=0;break m}x=0;Ga(462,N|0,f[a+88>>2]|0);O=x;x=0;if(O&1)break;f[N>>2]=15556;c=f[N+4>>2]|0;e=f[(f[c>>2]|0)+144>>2]|0;x=0;Ga(462,I|0,f[(f[o>>2]|0)+88>>2]|0);O=x;x=0;do if(O&1)c=Ya()|0;else{f[I>>2]=15556;g=J+11|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;c=ta(e|0,c|0,I|0,J|0)|0;O=x;x=0;if(O&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[J>>2]|0);_P(I);break}else{if((b[g>>0]|0)<0)Hta(f[J>>2]|0);_P(I);_P(N);break m}}while(0);_P(N);break l}else{if(g){c=0;break m}if((c|0)==2){if((e|0)==1){c=0;break m}}else if((c|0)!=(e|0)){c=0;break m}x=0;Ga(462,M|0,f[a+88>>2]|0);O=x;x=0;if(O&1)break;f[M>>2]=15556;c=f[M+4>>2]|0;e=f[(f[c>>2]|0)+144>>2]|0;x=0;Ga(462,G|0,f[(f[o>>2]|0)+88>>2]|0);O=x;x=0;do if(O&1)c=Ya()|0;else{f[G>>2]=15556;g=H+11|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;c=ta(e|0,c|0,G|0,H|0)|0;O=x;x=0;if(O&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[H>>2]|0);_P(G);break}else{if((b[g>>0]|0)<0)Hta(f[H>>2]|0);_P(G);_P(M);break m}}while(0);_P(M);break l}while(0);c=Ya()|0;break l}while(0);if((P|0)==114){_P(B);P=115}else if((P|0)==125)break l;if((P|0)==115){_P(C);P=116}if((P|0)==116)_P(E);_P(F);break l}while(0);_P(R);break d}while(0);if((P|0)==95)c=Ya()|0;_P(R)}break e}}while(0);c=Ya()|0}while(0);_P(S);break c}else c=0;while(0);_P(S);break a}}while(0);if((P|0)==15)c=Ya()|0;_P(T);T=c;jb(T|0)}else c=0;while(0);_P(T);T=c;u=Q;return T|0}function fe(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;n=0;P=u;u=u+352|0;L=P;M=P+288|0;R=P+264|0;d=P+304|0;i=P+280|0;j=P+272|0;g=P+248|0;Q=P+256|0;B=P+240|0;C=P+232|0;D=P+224|0;w=P+216|0;y=P+208|0;z=P+168|0;G=P+160|0;H=P+152|0;F=P+144|0;A=P+136|0;E=P+96|0;K=P+56|0;N=P+48|0;O=P+40|0;e=a+4|0;switch(f[e>>2]|0){case 2:{k=f[a+20>>2]|0;c=f[a+24>>2]|0;if(c|0){ega(c);QZ(c)}x=0;h=qa(318,100)|0;J=x;x=0;if(J&1){R=Ya()|0;jb(R|0)}x=0;Ja(14,d|0,35195,0,-1);J=x;x=0;do if(J&1)n=15;else{x=0;Ga(462,i|0,0);J=x;x=0;if(J&1)n=15;else{f[i>>2]=15572;x=0;Ga(462,j|0,0);J=x;x=0;if(J&1){c=Ya()|0;_P(i);break}f[j>>2]=15556;x=0;Ga(462,g|0,0);J=x;x=0;if(J&1){c=Ya()|0;d=1}else{f[g>>2]=7904;x=0;m=L;c=d;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));La(10,h|0,L|0,0,i|0,j|0,g|0);J=x;x=0;if(J&1)d=1;else{x=0;Ga(462,R|0,h|0);J=x;x=0;if(J&1)d=0;else{f[R>>2]=15556;_P(g);_P(j);_P(i);J=R+4|0;x=0;Ga(462,Q|0,f[J>>2]|0);v=x;x=0;if(v&1)c=Ya()|0;else{f[Q>>2]=15556;if((f[e>>2]|0)>>>0<2)b[(f[J>>2]|0)+60>>0]=b[a>>0]|0;d=f[k+4>>2]|0;c=f[k+16>>2]|0;e=d+(((c>>>0)/146|0)<<2)|0;if((f[k+8>>2]|0)==(d|0)){c=0;v=0}else{v=c+(f[k+20>>2]|0)|0;c=(f[e>>2]|0)+(((c>>>0)%146|0)*28|0)|0;v=(f[d+(((v>>>0)/146|0)<<2)>>2]|0)+(((v>>>0)%146|0)*28|0)|0}n=Q+4|0;o=D+4|0;p=C+4|0;q=L+4|0;r=y+4|0;s=L+4|0;t=A+4|0;k=e;a:while(1){do{j=c;if((v|0)==(j|0)){n=28;break a}b:do switch(f[j+4>>2]|0){case 0:{d=f[n>>2]|0;x=0;Ga(462,D|0,f[j+16>>2]|0);m=x;x=0;if(m&1){n=41;break a}f[D>>2]=15556;c=f[o>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;m=x;x=0;if(m&1){n=42;break a}x=0;Ga(462,C|0,c|0);m=x;x=0;if(m&1){n=42;break a}f[C>>2]=15556;f[d+68>>2]=0;e=d+84|0;c=d+88|0;if(f[c>>2]|0){x=0;Fa(429,e|0);m=x;x=0;if(m&1){n=43;break a}}f[c>>2]=f[p>>2];x=0;Fa(430,e|0);m=x;x=0;if(m&1){n=43;break a}x=0;Ga(462,B|0,f[c>>2]|0);m=x;x=0;if(m&1){n=43;break a}f[B>>2]=15556;_P(B);_P(C);_P(D);x=0;Ga(462,L|0,f[(f[n>>2]|0)+88>>2]|0);m=x;x=0;if(m&1){n=45;break a}f[L>>2]=15556;if(f[n>>2]|0){x=0;Fa(429,Q|0);m=x;x=0;if(m&1){n=46;break a}}f[n>>2]=f[q>>2];f[q>>2]=0;_P(L);break}case 1:{i=f[n>>2]|0;d=f[j+8>>2]|0;h=i+68|0;f[h>>2]=0;f[i+72>>2]=d;d=b[j>>0]|0;if(d<<24>>24)b[i+60>>0]=d;g=c-(f[k>>2]|0)|0;d=(g|0)/28|0;e=d+1|0;g=(g|0)>-28;if(g)c=(f[k+(((e>>>0)/146|0)<<2)>>2]|0)+(((e>>>0)%146|0)*28|0)|0;else{c=144-d|0;c=(f[k+(((c|0)/-146|0)<<2)>>2]|0)+((145-((c|0)%146|0)|0)*28|0)|0}if((c|0)==(v|0))break b;if(g)e=(f[k+(((e>>>0)/146|0)<<2)>>2]|0)+(((e>>>0)%146|0)*28|0)|0;else{e=144-d|0;e=(f[k+(((e|0)/-146|0)<<2)>>2]|0)+((145-((e|0)%146|0)|0)*28|0)|0}if((f[e+4>>2]|0)!=1)break b;x=0;g=qa(318,100)|0;m=x;x=0;if(m&1){n=72;break a}x=0;Ja(14,z|0,35195,0,-1);m=x;x=0;if(m&1){n=73;break a}x=0;Ga(462,G|0,0);m=x;x=0;if(m&1){n=73;break a}f[G>>2]=15572;x=0;Ga(462,H|0,0);m=x;x=0;if(m&1){n=74;break a}f[H>>2]=15556;x=0;Ga(462,F|0,0);m=x;x=0;if(m&1){n=75;break a}f[F>>2]=7904;x=0;m=L;c=z;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));La(10,g|0,L|0,0,G|0,H|0,F|0);m=x;x=0;if(m&1){c=1;n=76;break a}x=0;Ga(462,y|0,g|0);m=x;x=0;if(m&1){c=0;n=76;break a}f[y>>2]=15556;f[h>>2]=0;d=i+84|0;c=i+88|0;if(f[c>>2]|0){x=0;Fa(429,d|0);m=x;x=0;if(m&1){n=77;break a}}f[c>>2]=f[r>>2];x=0;Fa(430,d|0);m=x;x=0;if(m&1){n=77;break a}x=0;Ga(462,w|0,f[c>>2]|0);m=x;x=0;if(m&1){n=77;break a}f[w>>2]=15556;_P(w);_P(y);_P(F);_P(H);_P(G);if(b[e>>0]|0){x=0;Ga(462,A|0,f[(f[n>>2]|0)+88>>2]|0);m=x;x=0;if(m&1){n=72;break a}f[A>>2]=15556;b[(f[t>>2]|0)+60>>0]=b[e>>0]|0;_P(A)}x=0;Ga(462,L|0,f[(f[n>>2]|0)+88>>2]|0);m=x;x=0;if(m&1){n=85;break a}f[L>>2]=15556;if(f[n>>2]|0){x=0;Fa(429,Q|0);m=x;x=0;if(m&1){n=86;break a}}f[n>>2]=f[s>>2];f[s>>2]=0;_P(L);break}default:{n=88;break a}}while(0);c=j+28|0}while((c-(f[k>>2]|0)|0)!=4088);c=k+4|0;k=c;c=f[c>>2]|0}c:switch(n|0){case 28:{x=0;j=qa(318,108)|0;H=x;x=0;if(H&1){c=Ya()|0;break}x=0;Ja(14,E|0,35195,0,-1);H=x;x=0;do if(H&1)n=115;else{m=L;c=E;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));x=0;Fa(427,j|0);H=x;x=0;if(H&1){n=115;break}m=j+12|0;c=L;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;f[j>>2]=15620;b[j+60>>0]=0;b[j+61>>0]=0;b[j+62>>0]=0;f[j+64>>2]=0;f[j+68>>2]=0;f[j+56>>2]=7;c=j+72|0;f[c>>2]=15516;h=j+76|0;i=j+80|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;x=0;Ga(513,h|0,1);H=x;x=0;if(H&1){c=Ya()|0;g=I;d=f[h>>2]|0;if(d|0){e=f[i>>2]|0;if((e|0)!=(d|0)){do{P=e+-8|0;f[i>>2]=P;Kc[f[f[P>>2]>>2]&511](P);e=f[i>>2]|0}while((e|0)!=(d|0));d=f[h>>2]|0}Hta(d)}break}f[j>>2]=15300;f[c>>2]=15476;e=j+96|0;f[e>>2]=0;f[j+100>>2]=0;f[j+92>>2]=e;b[j+104>>0]=0;b[j+105>>0]=0;x=0;e=qa(318,104)|0;H=x;x=0;d:do if(!(H&1)){x=0;Ja(14,K|0,35195,0,-1);H=x;x=0;do if(H&1)c=Ya()|0;else{f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;d=M+11|0;b[d>>0]=1;b[M>>0]=38;b[M+1>>0]=0;x=0;m=L;c=K;l=m+40|0;do{f[m>>2]=f[c>>2];m=m+4|0;c=c+4|0}while((m|0)<(l|0));Ia(88,e|0,L|0,M|0);K=x;x=0;if(K&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[M>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[M>>2]|0);f[e>>2]=13868;b[e+101>>0]=1;x=0;Ga(462,L|0,e|0);M=x;x=0;do if(M&1)c=Ya()|0;else{f[L>>2]=13852;c=f[i>>2]|0;do if(c>>>0<(f[j+84>>2]|0)>>>0){x=0;Ga(462,c|0,f[L+4>>2]|0);M=x;x=0;if(M&1){n=121;break}f[c>>2]=13852;f[i>>2]=(f[i>>2]|0)+8}else{x=0;Ga(521,h|0,L|0);M=x;x=0;if(M&1)n=121}while(0);if((n|0)==121){c=Ya()|0;_P(L);break}_P(L);c=b[a>>0]|0;e=f[J>>2]|0;if(c<<24>>24)b[e+60>>0]=c;x=0;Ga(462,O|0,j|0);M=x;x=0;if(M&1)break d;f[O>>2]=15572;f[e+68>>2]=0;d=e+76|0;c=e+80|0;if(!(f[c>>2]|0))n=126;else{x=0;Fa(429,d|0);M=x;x=0;if(!(M&1))n=126}do if((n|0)==126){f[c>>2]=f[O+4>>2];x=0;Fa(430,d|0);M=x;x=0;if(M&1)break;x=0;Ga(462,N|0,f[c>>2]|0);M=x;x=0;if(M&1)break;f[N>>2]=15572;_P(N);_P(O);c=f[J>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;O=x;x=0;if(O&1)break d;_P(Q);_P(R);R=c;u=P;return R|0}while(0);c=Ya()|0;_P(O);break c}while(0);break c}while(0);Hta(e);break c}while(0);c=Ya()|0;break c}while(0);if((n|0)==115)c=Ya()|0;Hta(j);break}case 42:{c=Ya()|0;n=44;break}case 43:{c=Ya()|0;_P(C);n=44;break}case 45:{c=Ya()|0;n=47;break}case 46:{c=Ya()|0;_P(L);n=47;break}case 72:{c=Ya()|0;break}case 73:{c=Ya()|0;n=80;break}case 74:{c=Ya()|0;_P(G);n=80;break}case 75:{d=1;c=Ya()|0;n=79;break}case 76:{d=c;c=Ya()|0;n=78;break}case 77:{c=Ya()|0;_P(y);d=0;n=78;break}case 85:{c=Ya()|0;n=87;break}case 86:{c=Ya()|0;_P(L);n=87;break}case 88:{P=Ta(4)|0;f[P>>2]=35202;x=0;Ia(77,P|0,6344,0);x=0;n=41;break}}if((n|0)==41)c=Ya()|0;else if((n|0)==44)_P(D);else if((n|0)!=47)if((n|0)==78){_P(F);n=79}if((n|0)==79){_P(H);_P(G);if(d)n=80}if((n|0)==80)Hta(g);_P(Q)}_P(R);R=c;jb(R|0)}}c=Ya()|0;_P(g)}_P(j);_P(i);if(!d){R=c;jb(R|0)}}}while(0);if((n|0)==15)c=Ya()|0;Hta(h);R=c;jb(R|0)}case 3:{R=0;u=P;return R|0}default:{R=Ta(4)|0;f[R>>2]=35115;fb(R|0,6344,0)}}return 0}function ge(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.0,n=0.0,o=0.0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;L=0;N=u;u=u+464|0;J=N+40|0;R=N;Q=N+400|0;y=N+424|0;z=N+412|0;O=N+388|0;D=N+376|0;F=N+364|0;G=N+352|0;H=N+300|0;C=N+288|0;E=N+220|0;A=N+208|0;B=N+156|0;v=N+312|0;k=N+248|0;P=N+232|0;l=N+168|0;M=N+144|0;t=N+104|0;K=N+92|0;w=N+80|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;j=J+11|0;b[j>>0]=4;f[J>>2]=1684369956;b[J+4>>0]=0;x=0;c=sa(992,a|0,J|0)|0;s=x;x=0;a:do if(s&1)L=61;else{x=0;c=qa(334,f[c+4>>2]|0)|0;s=x;x=0;if(s&1)L=61;else{x=0;c=qa(335,c|0)|0;s=x;x=0;if(s&1)L=61;else{b:do if(c)c=1;else{f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;i=R+11|0;b[i>>0]=6;b[R>>0]=b[39214]|0;b[R+1>>0]=b[39215]|0;b[R+2>>0]=b[39216]|0;b[R+3>>0]=b[39217]|0;b[R+4>>0]=b[39218]|0;b[R+5>>0]=b[39219]|0;b[R+6>>0]=0;x=0;c=sa(992,a|0,R|0)|0;s=x;x=0;c:do if(s&1)L=62;else{x=0;c=qa(334,f[c+4>>2]|0)|0;s=x;x=0;if(s&1)L=62;else{x=0;c=qa(335,c|0)|0;s=x;x=0;if(s&1)L=62;else{do if(c)c=1;else{f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;d=Q+11|0;b[d>>0]=5;b[Q>>0]=b[39221]|0;b[Q+1>>0]=b[39222]|0;b[Q+2>>0]=b[39223]|0;b[Q+3>>0]=b[39224]|0;b[Q+4>>0]=b[39225]|0;b[Q+5>>0]=0;x=0;c=sa(992,a|0,Q|0)|0;s=x;x=0;if(!(s&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;s=x;x=0;if(!(s&1)){x=0;c=qa(335,c|0)|0;s=x;x=0;if(!(s&1)){if((b[d>>0]|0)<0)Hta(f[Q>>2]|0);break}}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[Q>>2]|0);break c}while(0);if((b[i>>0]|0)<0)Hta(f[R>>2]|0);break b}}}while(0);if((L|0)==62)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[R>>2]|0);break a}while(0);if((b[j>>0]|0)<0)Hta(f[J>>2]|0);if(c){q=VN(80)|0;c=y;r=g;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;l=H+11|0;b[l>>0]=4;f[H>>2]=1684369956;b[H+4>>0]=0;x=0;c=sa(992,a|0,H|0)|0;P=x;x=0;if(P&1)L=72;else{P=f[c+4>>2]|0;x=0;Ga(f[(f[P>>2]|0)+32>>2]|0,G|0,P|0);P=x;x=0;if(P&1)L=72;else{x=0;Ia(92,F|0,39227,G|0);P=x;x=0;if(P&1)c=Ya()|0;else{x=0;c=sa(991,F|0,49800)|0;P=x;x=0;if(P&1)c=Ya()|0;else{f[D>>2]=f[c>>2];f[D+4>>2]=f[c+4>>2];f[D+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;k=E+11|0;b[k>>0]=6;b[E>>0]=b[39214]|0;b[E+1>>0]=b[39215]|0;b[E+2>>0]=b[39216]|0;b[E+3>>0]=b[39217]|0;b[E+4>>0]=b[39218]|0;b[E+5>>0]=b[39219]|0;b[E+6>>0]=0;x=0;c=sa(992,a|0,E|0)|0;P=x;x=0;if(P&1)L=75;else{P=f[c+4>>2]|0;x=0;Ga(f[(f[P>>2]|0)+32>>2]|0,C|0,P|0);P=x;x=0;if(P&1)L=75;else{j=C+11|0;c=b[j>>0]|0;P=c<<24>>24<0;x=0;c=ta(41,D|0,(P?f[C>>2]|0:C)|0,(P?f[C+4>>2]|0:c&255)|0)|0;P=x;x=0;do if(P&1)c=Ya()|0;else{f[O>>2]=f[c>>2];f[O+4>>2]=f[c+4>>2];f[O+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,O|0,49800)|0;P=x;x=0;do if(P&1)c=Ya()|0;else{f[Q>>2]=f[c>>2];f[Q+4>>2]=f[c+4>>2];f[Q+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=B+11|0;b[i>>0]=5;b[B>>0]=b[39221]|0;b[B+1>>0]=b[39222]|0;b[B+2>>0]=b[39223]|0;b[B+3>>0]=b[39224]|0;b[B+4>>0]=b[39225]|0;b[B+5>>0]=0;x=0;c=sa(992,a|0,B|0)|0;P=x;x=0;do if(P&1)L=78;else{P=f[c+4>>2]|0;x=0;Ga(f[(f[P>>2]|0)+32>>2]|0,A|0,P|0);P=x;x=0;if(P&1){L=78;break}d=A+11|0;c=b[d>>0]|0;P=c<<24>>24<0;x=0;c=ta(41,Q|0,(P?f[A>>2]|0:A)|0,(P?f[A+4>>2]|0:c&255)|0)|0;P=x;x=0;do if(P&1)c=Ya()|0;else{f[J>>2]=f[c>>2];f[J+4>>2]=f[c+4>>2];f[J+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,J|0,49838)|0;P=x;x=0;do if(P&1)c=Ya()|0;else{f[z>>2]=f[c>>2];f[z+4>>2]=f[c+4>>2];f[z+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=R;r=y;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));x=0;Fa(427,q|0);P=x;x=0;do if(P&1)c=Ya()|0;else{c=q+12|0;r=R;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));b[q+52>>0]=0;b[q+53>>0]=0;b[q+54>>0]=0;f[q+56>>2]=4;f[q>>2]=11668;b[q+60>>0]=0;b[q+61>>0]=0;x=0;Ia(101,q+64|0,z|0,1);R=x;x=0;if(R&1){c=Ya()|0;break}f[q+76>>2]=0;if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[d>>0]|0)<0)Hta(f[A>>2]|0);if((b[i>>0]|0)<0)Hta(f[B>>2]|0);if((b[Q+11>>0]|0)<0)Hta(f[Q>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);if((b[j>>0]|0)<0)Hta(f[C>>2]|0);if((b[k>>0]|0)<0)Hta(f[E>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);if((b[l>>0]|0)<0)Hta(f[H>>2]|0);R=q;u=N;return R|0}while(0);if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0)}while(0);if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0)}while(0);if((b[d>>0]|0)>=0)break;Hta(f[A>>2]|0)}while(0);if((L|0)==78)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[B>>2]|0);if((b[Q+11>>0]|0)>=0)break;Hta(f[Q>>2]|0)}while(0);if((b[O+11>>0]|0)>=0)break;Hta(f[O>>2]|0)}while(0);if((b[j>>0]|0)<0)Hta(f[C>>2]|0)}}if((L|0)==75)c=Ya()|0;if((b[k>>0]|0)<0)Hta(f[E>>2]|0);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0)}if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0)}if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0)}}if((L|0)==72)c=Ya()|0;if((b[l>>0]|0)<0)Hta(f[H>>2]|0);Hta(q);R=c;jb(R|0)}z=VN(112)|0;c=v;r=g;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;A=R+11|0;b[A>>0]=4;f[R>>2]=1684369956;b[R+4>>0]=0;c=k;r=g;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));x=0;Ga(511,P|0,h|0);L=x;x=0;if(L&1)c=Ya()|0;else{x=0;c=J;r=k;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));o=+ja(1,R|0,a|0,e|0,J|0,P|0);L=x;x=0;if(L&1){c=Ya()|0;l=I}else{f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;y=Q+11|0;b[y>>0]=6;b[Q>>0]=b[39214]|0;b[Q+1>>0]=b[39215]|0;b[Q+2>>0]=b[39216]|0;b[Q+3>>0]=b[39217]|0;b[Q+4>>0]=b[39218]|0;b[Q+5>>0]=b[39219]|0;b[Q+6>>0]=0;c=l;r=g;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));x=0;Ga(511,M|0,h|0);L=x;x=0;if(L&1){c=Ya()|0;d=I}else{x=0;c=J;r=l;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));n=+ja(1,Q|0,a|0,e|0,J|0,M|0);L=x;x=0;if(L&1){c=Ya()|0;d=I}else{f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;q=O+11|0;b[q>>0]=5;b[O>>0]=b[39221]|0;b[O+1>>0]=b[39222]|0;b[O+2>>0]=b[39223]|0;b[O+3>>0]=b[39224]|0;b[O+4>>0]=b[39225]|0;b[O+5>>0]=0;c=t;r=g;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));x=0;Ga(511,K|0,h|0);L=x;x=0;if(L&1){c=Ya()|0;d=I}else{x=0;c=J;r=t;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));m=+ja(1,O|0,a|0,e|0,J|0,K|0);L=x;x=0;do if(L&1){c=Ya()|0;d=I}else{i=w+11|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;c=J;r=v;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));x=0;Fa(427,z|0);L=x;x=0;do if(L&1){c=Ya()|0;d=I}else{c=z+12|0;r=J;s=c+40|0;do{f[c>>2]=f[r>>2];c=c+4|0;r=r+4|0}while((c|0)<(s|0));b[z+52>>0]=0;b[z+53>>0]=0;b[z+54>>0]=0;c=z+56|0;f[c>>2]=0;f[z>>2]=11116;p[z+64>>3]=o;p[z+72>>3]=n;p[z+80>>3]=m;p[z+88>>3]=1.0;x=0;Ga(459,z+96|0,w|0);L=x;x=0;if(L&1){c=Ya()|0;d=I;break}f[z+108>>2]=0;f[c>>2]=3;if((b[i>>0]|0)<0)Hta(f[w>>2]|0);c=f[K>>2]|0;if(c|0){j=K+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[K>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[O>>2]|0);c=f[M>>2]|0;if(c|0){j=M+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[M>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[Q>>2]|0);c=f[P>>2]|0;if(c|0){j=P+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[P>>2]|0}Hta(c)}if((b[A>>0]|0)<0)Hta(f[R>>2]|0);R=z;u=N;return R|0}while(0);if((b[i>>0]|0)>=0)break;Hta(f[w>>2]|0)}while(0);i=f[K>>2]|0;if(i){l=K+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[K>>2]|0}Hta(i)}}if((b[q>>0]|0)<0)Hta(f[O>>2]|0)}i=f[M>>2]|0;if(i){l=M+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[M>>2]|0}Hta(i)}}if((b[y>>0]|0)<0)Hta(f[Q>>2]|0);l=d}d=f[P>>2]|0;if(d){k=P+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[P>>2]|0}Hta(d)}}if((b[A>>0]|0)<0)Hta(f[R>>2]|0);Hta(z);R=c;jb(R|0)}}}while(0);if((L|0)==61)c=Ya()|0;if((b[j>>0]|0)<0)Hta(f[J>>2]|0);R=c;jb(R|0);return 0}function he(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;L=0;M=u;u=u+528|0;O=M+480|0;N=M+468|0;J=M+456|0;v=M+416|0;I=M+400|0;z=M+388|0;A=M+376|0;B=M+336|0;t=M+320|0;q=M+308|0;r=M+296|0;s=M+200|0;K=M+176|0;H=M+136|0;C=M+256|0;G=M+240|0;E=M+192|0;F=M+128|0;w=M+88|0;D=M+72|0;y=M+64|0;k=M+24|0;m=M+8|0;l=M;a:do if(!(cs(c,1,0)|0)){if(!($t(c,1,0)|0)){if(!(Cw(c,1,0)|0))break;d=VN(16)|0;f[O>>2]=d;f[O+8>>2]=-2147483632;f[O+4>>2]=11;n=d;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+11>>0]=0;f[N+8>>2]=0;e=N+11|0;b[e>>0]=7;b[N>>0]=b[44254]|0;b[N+1>>0]=b[44255]|0;b[N+2>>0]=b[44256]|0;b[N+3>>0]=b[44257]|0;b[N+4>>0]=b[44258]|0;b[N+5>>0]=b[44259]|0;b[N+6>>0]=b[44260]|0;b[N+7>>0]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;d=qa(318,48)|0;L=x;x=0;do if(L&1)d=Ya()|0;else{f[J>>2]=d;f[J+8>>2]=-2147483600;f[J+4>>2]=45;n=d;o=45399;p=n+45|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+45>>0]=0;x=0;Ka(8,c|0,O|0,N|0,J|0,1);L=x;x=0;if(L&1){d=Ya()|0;if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0);break}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[e>>0]|0)<0)Hta(f[N>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);break a}while(0);if((b[e>>0]|0)<0)Hta(f[N>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);O=d;jb(O|0)}j=VN(112)|0;n=k;o=c+108|0;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,m|0);x=0;L=106}else{if(i>>>0<11){b[m+11>>0]=i;d=m}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;N=x;x=0;if(N&1){L=106;break}f[m>>2]=d;f[m+8>>2]=g|-2147483648;f[m+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(462,l|0,0);N=x;x=0;if(N&1){d=Ya()|0;e=1}else{f[l>>2]=7904;x=0;n=O;o=k;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(32,j|0,O|0,m|0,l|0);O=x;x=0;if(O&1)d=1;else{x=0;Ga(462,a|0,j|0);O=x;x=0;if(O&1)d=0;else{f[a>>2]=13852;_P(l);if((b[m+11>>0]|0)>=0){u=M;return}Hta(f[m>>2]|0);u=M;return}}O=Ya()|0;_P(l);e=d;d=O}if((b[m+11>>0]|0)<0){Hta(f[m>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((L|0)==106)d=Ya()|0;Hta(j);O=d;jb(O|0)}else{l=c+168|0;e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(K);if(i>>>0<11){b[K+11>>0]=i;d=K}else{L=i+16&-16;d=VN(L)|0;f[K>>2]=d;f[K+8>>2]=L|-2147483648;f[K+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;m=K+11|0;L=b[m>>0]|0;x=0;ta(40,K|0,(L<<24>>24<0?f[K+4>>2]|0:L&255)+-1|0,-1)|0;L=x;x=0;if(L&1)d=Ya()|0;else{j=c+108|0;n=H;o=j;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k=c+76|0;x=0;d=qa(347,f[k>>2]|0)|0;L=x;x=0;b:do if(L&1)L=42;else{g=c+80|0;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)d=f[k>>2]|0;x=0;e=qa(348,d|0)|0;L=x;x=0;if(L&1)L=42;else{e=e|0?e:d;x=0;d=qa(353,e|0)|0;L=x;x=0;if(L&1)L=42;else{if(!d){x=0;d=qa(354,e|0)|0;L=x;x=0;if(L&1){L=42;break}if(!d)L=58;else L=19}else L=19;c:do if((L|0)==19){x=0;d=qa(348,d|0)|0;p=x;x=0;if(p&1){L=42;break b}if(!d)L=58;else{p=(b[d>>0]|0)==41?d+1|0:0;if((p|0)==0?1:p>>>0>(f[g>>2]|0)>>>0)L=58;else{f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];f[t+8>>2]=f[l+8>>2];e=f[k>>2]|0;h=c+84|0;f[q>>2]=f[h>>2];f[q+4>>2]=f[h+4>>2];f[q+8>>2]=f[h+8>>2];g=c+96|0;f[r>>2]=f[g>>2];f[r+4>>2]=f[g+4>>2];f[r+8>>2]=f[g+8>>2];n=s;o=j;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;D=x;x=0;if(D&1){L=42;break b}x=0;d=ta(67,c|0,1,0)|0;D=x;x=0;if(D&1){L=42;break b}if(!d){n=j;o=s;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[l>>2]=f[t>>2];f[l+4>>2]=f[t+4>>2];f[l+8>>2]=f[t+8>>2];f[k>>2]=e;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[h>>2]=f[q>>2];f[h+4>>2]=f[q+4>>2];f[h+8>>2]=f[q+8>>2]}x=0;d=qa(318,80)|0;D=x;x=0;do if(D&1)L=43;else{x=0;n=O;o=j;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(29,d|0,O|0,l|0,1);D=x;x=0;if(D&1){O=Ya()|0;Hta(d);d=O;break}x=0;Ga(462,N|0,d|0);D=x;x=0;if(D&1){L=43;break}f[N>>2]=16800;f[I>>2]=f[l>>2];f[I+4>>2]=f[l+4>>2];f[I+8>>2]=f[l+8>>2];e=f[k>>2]|0;f[z>>2]=f[h>>2];f[z+4>>2]=f[h+4>>2];f[z+8>>2]=f[h+8>>2];f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];f[A+8>>2]=f[g+8>>2];n=B;o=j;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;D=x;x=0;d:do if(D&1)L=45;else{x=0;d=ta(66,c|0,1,0)|0;D=x;x=0;if(D&1){L=45;break}if(!d){n=j;o=B;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[l>>2]=f[I>>2];f[l+4>>2]=f[I+4>>2];f[l+8>>2]=f[I+8>>2];f[k>>2]=e;f[g>>2]=f[A>>2];f[g+4>>2]=f[A+4>>2];f[g+8>>2]=f[A+8>>2];f[h>>2]=f[z>>2];f[h+4>>2]=f[z+4>>2];f[h+8>>2]=f[z+8>>2];_P(N);d=0;break c}d=N+4|0;b[(f[d>>2]|0)+61>>0]=1;x=0;g=qa(318,112)|0;I=x;x=0;if(I&1){L=45;break}n=C;o=H;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Ga(459,G|0,K|0);I=x;x=0;do if(I&1)d=Ya()|0;else{x=0;Ga(462,F|0,f[d>>2]|0);I=x;x=0;if(I&1){d=Ya()|0;e=1}else{f[F>>2]=16800;x=0;Ga(462,E|0,f[F+4>>2]|0);I=x;x=0;if(I&1){d=Ya()|0;e=1}else{f[E>>2]=7904;x=0;n=O;o=C;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(32,g|0,O|0,G|0,E|0);I=x;x=0;do if(I&1)e=1;else{x=0;Ga(462,a|0,g|0);I=x;x=0;if(I&1){e=0;break}f[a>>2]=13852;_P(E);_P(F);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);_P(N);d=1;break c}while(0);d=Ya()|0;_P(E)}_P(F)}if((b[G+11>>0]|0)<0){Hta(f[G>>2]|0);if(e)break;else break d}else if(e)break;else break d}while(0);Hta(g)}while(0);if((L|0)==45)d=Ya()|0;_P(N)}while(0);if((L|0)==43)d=Ya()|0;break b}}}while(0);e:do if((L|0)==58){x=0;Ia(111,I|0,c|0,1);G=x;x=0;if(G&1)d=Ya()|0;else{i=I+4|0;if(!(f[i>>2]|0)){_P(I);d=0;break}f[O>>2]=f[l>>2];f[O+4>>2]=f[l+4>>2];f[O+8>>2]=f[l+8>>2];e=f[k>>2]|0;g=c+84|0;f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];h=c+96|0;f[J>>2]=f[h>>2];f[J+4>>2]=f[h+4>>2];f[J+8>>2]=f[h+8>>2];n=v;o=j;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;G=x;x=0;f:do if(G&1)L=72;else{x=0;d=ta(66,c|0,1,0)|0;G=x;x=0;if(G&1)L=72;else{if(!d){n=j;o=v;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[l>>2]=f[O>>2];f[l+4>>2]=f[O+4>>2];f[l+8>>2]=f[O+8>>2];f[k>>2]=e;f[h>>2]=f[J>>2];f[h+4>>2]=f[J+4>>2];f[h+8>>2]=f[J+8>>2];f[g>>2]=f[N>>2];f[g+4>>2]=f[N+4>>2];f[g+8>>2]=f[N+8>>2];_P(I);d=0;break e}x=0;g=qa(318,112)|0;G=x;x=0;if(G&1){L=72;break}n=w;o=H;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Ga(459,D|0,K|0);H=x;x=0;do if(H&1)d=Ya()|0;else{x=0;Ga(462,y|0,f[i>>2]|0);H=x;x=0;if(H&1){d=Ya()|0;e=1}else{f[y>>2]=7168;x=0;n=O;o=w;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(31,g|0,O|0,D|0,y|0);H=x;x=0;do if(H&1)d=1;else{x=0;Ga(462,a|0,g|0);H=x;x=0;if(H&1){d=0;break}f[a>>2]=13852;_P(y);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);_P(I);d=1;break e}while(0);O=Ya()|0;_P(y);e=d;d=O}if((b[D+11>>0]|0)<0){Hta(f[D>>2]|0);if(e)break;else break f}else if(e)break;else break f}while(0);Hta(g)}}while(0);if((L|0)==72)d=Ya()|0;_P(I)}break b}while(0);if((b[m>>0]|0)<0)Hta(f[K>>2]|0);if(!d)break a;u=M;return}}}while(0);if((L|0)==42)d=Ya()|0}if((b[m>>0]|0)<0)Hta(f[K>>2]|0);O=d;jb(O|0)}while(0);d=VN(16)|0;f[O>>2]=d;f[O+8>>2]=-2147483632;f[O+4>>2]=11;n=d;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+11>>0]=0;f[N+8>>2]=0;e=N+11|0;b[e>>0]=7;b[N>>0]=b[44254]|0;b[N+1>>0]=b[44255]|0;b[N+2>>0]=b[44256]|0;b[N+3>>0]=b[44257]|0;b[N+4>>0]=b[44258]|0;b[N+5>>0]=b[44259]|0;b[N+6>>0]=b[44260]|0;b[N+7>>0]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;d=qa(318,32)|0;L=x;x=0;do if(L&1)d=Ya()|0;else{f[J>>2]=d;f[J+8>>2]=-2147483616;f[J+4>>2]=20;n=d;o=45161;p=n+20|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+20>>0]=0;x=0;Ka(8,c|0,O|0,N|0,J|0,1);L=x;x=0;if(L&1){d=Ya()|0;if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0);break}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);if((b[e>>0]|0)<0)Hta(f[N>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);qV(a,0);f[a>>2]=13852;u=M;return}while(0);if((b[e>>0]|0)<0)Hta(f[N>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);O=d;jb(O|0)}function ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;mu(a,36490,7,c);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=e+11|0;b[g>>0]=4;f[e>>2]=1633838962;b[e+4>>0]=0;x=0;Ia(94,0,e|0,c|0);h=x;x=0;if(!(h&1)){if((b[g>>0]|0)<0)Hta(f[e>>2]|0);Xj(a,36515,8,4,c);Xj(a,36549,9,2,c);mu(a,36570,10,c);mu(a,36582,11,c);mu(a,36596,12,c);mu(a,36609,13,c);mu(a,36647,14,c);mu(a,36682,15,c);mu(a,36726,16,c);mu(a,36738,17,c);mu(a,36757,18,c);mu(a,36775,19,c);mu(a,36804,20,c);mu(a,36829,21,c);mu(a,36853,22,c);mu(a,36886,23,c);mu(a,36914,24,c);mu(a,36932,25,c);mu(a,36951,26,c);mu(a,36981,27,c);mu(a,36995,27,c);mu(a,37011,28,c);mu(a,37036,28,c);mu(a,37061,29,c);mu(a,37093,29,c);mu(a,37119,30,c);mu(a,37249,31,c);mu(a,37378,32,c);mu(a,37508,33,c);mu(a,37527,34,c);mu(a,37544,35,c);mu(a,37559,36,c);mu(a,37579,37,c);mu(a,37616,38,c);mu(a,37647,39,c);mu(a,37689,40,c);mu(a,37712,41,c);mu(a,37735,42,c);mu(a,37755,43,c);mu(a,37770,44,c);mu(a,37784,45,c);mu(a,37799,46,c);mu(a,37812,47,c);mu(a,37829,48,c);mu(a,37846,49,c);mu(a,37867,50,c);mu(a,37881,51,c);mu(a,37896,52,c);mu(a,37923,53,c);mu(a,37944,54,c);mu(a,38001,55,c);mu(a,38039,56,c);mu(a,38054,57,c);mu(a,38802,58,c);mu(a,38076,59,c);mu(a,38152,60,c);mu(a,38176,61,c);mu(a,38120,62,c);mu(a,38135,63,c);mu(a,38096,64,c);mu(a,38203,65,c);mu(a,38219,66,c);mu(a,38235,67,c);mu(a,38249,68,c);mu(a,38267,69,c);mu(a,38300,70,c);mu(a,38323,71,c);mu(a,38353,72,c);mu(a,38376,73,c);mu(a,38396,74,c);mu(a,38418,75,c);mu(a,38822,76,c);mu(a,38839,77,c);mu(a,38440,78,c);mu(a,38452,79,c);mu(a,38488,80,c);mu(a,38790,81,c);mu(a,38504,82,c);mu(a,38533,83,c);mu(a,38631,84,c);mu(a,38680,85,c);mu(a,38564,86,c);mu(a,38759,87,c);mu(a,38603,88,c);mu(a,38733,89,c);u=d;return}a=Ya()|0;if((b[g>>0]|0)>=0)jb(a|0);Hta(f[e>>2]|0);jb(a|0)}function je(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,sa=0,ta=0,ua=0,va=0;ua=0;sa=u;u=u+432|0;ja=sa+40|0;la=sa+408|0;va=sa;j=sa+368|0;k=sa+352|0;fa=sa+344|0;ia=sa+336|0;oa=sa+308|0;ga=sa+108|0;ha=sa+320|0;ta=sa+296|0;ea=sa+288|0;ka=sa+96|0;ma=sa+88|0;na=sa+80|0;e=f[c+172>>2]|0;ra=f[c+176>>2]|0;a:do if(e>>>0>>0){h=0;d=e;b:while(1){g=b[d>>0]|0;if(!(g<<24>>24))break a;c:do if(h)h=0;else if(g<<24>>24==92)h=1;else{g=RC(d)|0;if(!g){l=b[36397]|0;if(!(l<<24>>24))if(!d){h=0;d=0;break}else break b;else{g=d;h=36397;i=l}while(1){if((b[g>>0]|0)!=i<<24>>24){h=0;break c}h=h+1|0;i=b[h>>0]|0;if(!(i<<24>>24)){ua=11;break b}else g=g+1|0}}else{h=0;d=g}}while(0);d=d+1|0;if(d>>>0>=ra>>>0)break a}if((ua|0)==11)if(!d)break;k=VN(88)|0;Z=c+108|0;m=ja;n=Z;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,k|0);pa=x;x=0;do if(pa&1){d=Ya()|0;ua=61}else{m=k+12|0;n=ja;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[k>>2]=11536;f[d>>2]=4;g=k+60|0;f[g>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);pa=x;x=0;if(pa&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{va=g+-8|0;f[j>>2]=va;Kc[f[f[va>>2]>>2]&511](va);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}ua=61;break}f[k>>2]=11364;f[g>>2]=11496;b[k+80>>0]=1;f[k+84>>2]=0;f[d>>2]=4;qV(va,k);f[va>>2]=13648;W=c+76|0;X=va+4|0;q=ia+4|0;r=c+80|0;s=ra-e|0;t=s>>>0>4294967279;v=s>>>0<11;w=s&255;Y=oa+11|0;y=(e|0)==(ra|0);z=c+108|0;R=la+11|0;T=ka+11|0;A=s+16&-16;B=A|-2147483648;C=oa+8|0;D=oa+4|0;E=ja+8|0;F=ja+4|0;U=la+11|0;G=la+7|0;H=oa+8|0;J=oa+4|0;S=oa+11|0;V=ja+11|0;K=ha+4|0;L=ha+8|0;M=c+40|0;N=c+148|0;O=c+72|0;_=ga+148|0;aa=ga+56|0;ca=ga+44|0;P=oa+4|0;pa=ta+4|0;da=ga+48|0;ba=ga+60|0;$=ga+152|0;Q=la+8|0;p=e;d=l;d:while(1){while(1){i=0;g=p;e:while(1){h=b[g>>0]|0;if(!(h<<24>>24)){ua=182;break d}f:do if(i)i=0;else if(h<<24>>24==92)i=1;else{x=0;h=qa(355,g|0)|0;o=x;x=0;if(o&1){ua=62;break d}if(!h){if(!(d<<24>>24))if(!g){i=0;g=0;d=0;break}else break e;else{h=g;i=36397;j=d}while(1){if((b[h>>0]|0)!=j<<24>>24){i=0;break f}i=i+1|0;j=b[i>>0]|0;if(!(j<<24>>24)){ua=54;break e}else h=h+1|0}}else{i=0;g=h}}while(0);g=g+1|0;if(g>>>0>=ra>>>0){ua=182;break d}}if((ua|0)==54){ua=0;if(!g){ua=182;break d}}if(p>>>0>>0){h=f[W>>2]|0;f[W>>2]=p;i=(f[X>>2]|0)+60|0;j=f[(f[i>>2]|0)+20>>2]|0;x=0;Ia(118,ia|0,c|0,g|0);o=x;x=0;if(o&1){ua=63;break d}x=0;Ga(462,fa|0,f[q>>2]|0);o=x;x=0;if(o&1){ua=64;break d}f[fa>>2]=7696;x=0;Ga(j|0,i|0,fa|0);o=x;x=0;if(o&1){ua=65;break d}_P(fa);_P(ia);f[W>>2]=h}k=g+2|0;x=0;h=qa(348,k|0)|0;o=x;x=0;if(o&1){ua=62;break d}x=0;h=qa(356,(h|0?h:k)|0)|0;o=x;x=0;if(o&1){ua=62;break d}if(h|0){i=b[51458]|0;g:do if(!(i<<24>>24))i=0;else{j=51458;while(1){if((b[h>>0]|0)!=i<<24>>24)break g;h=h+1|0;j=j+1|0;i=b[j>>0]|0;if(!(i<<24>>24)){i=0;break}}}while(0);o=i<<24>>24==0?h:0;if(!((o|0)==0?1:o>>>0>(f[r>>2]|0)>>>0)){f[W>>2]=g;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;x=0;g=qa(318,16)|0;o=x;x=0;if(o&1){ua=84;break d}f[ja>>2]=g;f[E>>2]=-2147483632;f[F>>2]=11;m=g;n=44242;o=m+11|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[g+11>>0]=0;f[Q>>2]=0;b[U>>0]=7;b[la>>0]=b[44254]|0;b[la+1>>0]=b[44255]|0;b[la+2>>0]=b[44256]|0;b[la+3>>0]=b[44257]|0;b[la+4>>0]=b[44258]|0;b[la+5>>0]=b[44259]|0;b[la+6>>0]=b[44260]|0;b[G>>0]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;x=0;g=qa(318,48)|0;o=x;x=0;if(o&1){ua=85;break d}f[oa>>2]=g;f[H>>2]=-2147483600;f[J>>2]=44;m=g;n=44621;o=m+44|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[g+44>>0]=0;x=0;Ka(8,c|0,ja|0,la|0,oa|0,1);o=x;x=0;if(o&1){ua=86;break d}if((b[S>>0]|0)<0)Hta(f[oa>>2]|0);if((b[U>>0]|0)<0)Hta(f[la>>2]|0);if((b[V>>0]|0)<0)Hta(f[ja>>2]|0)}}j=rl(k,ra)|0;if(j|0)break;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;if(t){ua=154;break d}if(v){b[Y>>0]=w;g=oa}else{x=0;g=qa(318,A|0)|0;o=x;x=0;if(o&1){ua=174;break d}f[oa>>2]=g;f[C>>2]=B;f[D>>2]=s}if(!y){h=g;i=e;while(1){b[h>>0]=b[i>>0]|0;i=i+1|0;if((i|0)==(ra|0))break;else h=h+1|0}g=g+s|0}b[g>>0]=0;x=0;Ia(92,ka|0,45182,oa|0);o=x;x=0;if(o&1){ua=175;break d}x=0;Ga(459,la|0,ka|0);o=x;x=0;if(o&1){ua=176;break d}x=0;f[ja>>2]=f[z>>2];f[ja+4>>2]=f[z+4>>2];f[ja+8>>2]=f[z+8>>2];Ia(113,c|0,la|0,ja|0);o=x;x=0;if(o&1){ua=167;break d}if((b[R>>0]|0)<0)Hta(f[la>>2]|0);if((b[T>>0]|0)<0)Hta(f[ka>>2]|0);if((b[Y>>0]|0)<0)Hta(f[oa>>2]|0)}f[ha>>2]=k;f[K>>2]=k;f[L>>2]=j;g=f[M>>2]|0;x=0;Ga(511,ta|0,N|0);p=x;x=0;if(p&1){ua=123;break}h=f[O>>2]|0;x=0;f[la>>2]=f[ha>>2];f[la+4>>2]=f[ha+4>>2];f[la+8>>2]=f[ha+8>>2];m=ja;n=Z;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));La(20,ga|0,la|0,g|0,ta|0,ja|0,h|0);p=x;x=0;if(p&1){ua=124;break}x=0;Ia(114,oa|0,ga|0,1);p=x;x=0;if(p&1){ua=125;break}g=f[_>>2]|0;if(g|0){h=f[$>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[$>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[$>>2]|0}else h=i}while((h|0)!=(g|0));g=f[_>>2]|0}Hta(g)}g=f[aa>>2]|0;if(g|0){h=f[ba>>2]|0;if((h|0)!=(g|0))f[ba>>2]=h+(~((h+-4-g|0)>>>2)<<2);Hta(g)}g=f[ca>>2]|0;if(g|0){h=f[da>>2]|0;if((h|0)!=(g|0)){do{p=h+-8|0;f[da>>2]=p;Kc[f[f[p>>2]>>2]&511](p);h=f[da>>2]|0}while((h|0)!=(g|0));g=f[ca>>2]|0}Hta(g)}g=f[ta>>2]|0;if(g|0){h=f[pa>>2]|0;if((h|0)!=(g|0)){do{i=h+-52|0;f[pa>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[pa>>2]|0}else h=i}while((h|0)!=(g|0));g=f[ta>>2]|0}Hta(g)}p=f[P>>2]|0;b[p+54>>0]=1;g=(f[X>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,ea|0,p|0);p=x;x=0;if(p&1){ua=149;break}f[ea>>2]=7696;x=0;Ga(h|0,g|0,ea|0);p=x;x=0;if(p&1){ua=150;break}_P(ea);_P(oa);if(j>>>0>>0)p=j;else{ua=191;break}}h:switch(ua|0){case 63:{d=Ya()|0;break}case 64:{d=Ya()|0;ua=66;break}case 65:{d=Ya()|0;_P(fa);ua=66;break}case 84:{d=Ya()|0;ua=92;break}case 85:{d=Ya()|0;ua=88;break}case 86:{d=Ya()|0;if((b[S>>0]|0)<0){Hta(f[oa>>2]|0);ua=88}else ua=88;break}case 123:{d=Ya()|0;ua=148;break}case 124:{d=Ya()|0;i=I;ua=141;break}case 125:{d=Ya()|0;i=I;e=f[_>>2]|0;if(e|0){g=f[$>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[$>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[$>>2]|0}else g=h}while((g|0)!=(e|0));e=f[_>>2]|0}Hta(e)}e=f[aa>>2]|0;if(e|0){g=f[ba>>2]|0;if((g|0)!=(e|0))f[ba>>2]=g+(~((g+-4-e|0)>>>2)<<2);Hta(e)}e=f[ca>>2]|0;if(!e)ua=141;else{g=f[da>>2]|0;if((g|0)!=(e|0)){do{ua=g+-8|0;f[da>>2]=ua;Kc[f[f[ua>>2]>>2]&511](ua);g=f[da>>2]|0}while((g|0)!=(e|0));e=f[ca>>2]|0}Hta(e);ua=141}break}case 149:{d=Ya()|0;ua=151;break}case 150:{d=Ya()|0;_P(ea);ua=151;break}case 154:{x=0;Fa(428,oa|0);x=0;ua=174;break}case 167:{d=Ya()|0;if((b[R>>0]|0)<0){Hta(f[la>>2]|0);ua=177}else ua=177;break}case 175:{d=Ya()|0;ua=179;break}case 176:{d=Ya()|0;ua=177;break}case 182:{if(p>>>0<(f[r>>2]|0)>>>0){g=f[W>>2]|0;f[W>>2]=p;d=(f[X>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ia(118,na|0,c|0,ra|0);ta=x;x=0;if(ta&1){d=Ya()|0;break}x=0;Ga(462,ma|0,f[na+4>>2]|0);ta=x;x=0;do if(ta&1)d=Ya()|0;else{f[ma>>2]=7696;x=0;Ga(e|0,d|0,ma|0);ta=x;x=0;if(ta&1){d=Ya()|0;_P(ma);break}else{_P(ma);_P(na);f[W>>2]=g;ua=191;break h}}while(0);_P(na)}else ua=191;break}}if((ua|0)==66)_P(ia);else if((ua|0)==88){if((b[U>>0]|0)<0)Hta(f[la>>2]|0);if((b[V>>0]|0)<0){Hta(f[ja>>2]|0);ua=92}else ua=92}else if((ua|0)==141){e=f[ta>>2]|0;if(!e)ua=148;else{g=f[pa>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[pa>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[pa>>2]|0}else g=h}while((g|0)!=(e|0));e=f[ta>>2]|0}Hta(e);ua=148}}else if((ua|0)==151){_P(oa);ua=152}else if((ua|0)==174){d=Ya()|0;ua=181}else if((ua|0)==177)if((b[T>>0]|0)<0){Hta(f[ka>>2]|0);ua=179}else ua=179;else if((ua|0)==191){d=f[X>>2]|0;if(!d)d=0;else b[d+8>>0]=1;x=0;Ga(462,a|0,d|0);ua=x;x=0;if(ua&1)ua=62;else{f[a>>2]=7904;_P(va);u=sa;return}}if((ua|0)==62)d=Ya()|0;else if((ua|0)!=92)if((ua|0)==148)ua=152;else if((ua|0)==179)if((b[Y>>0]|0)<0){Hta(f[oa>>2]|0);ua=181}else ua=181;_P(va)}while(0);if((ua|0)==61)Hta(k);va=d;jb(va|0)}while(0);i=VN(80)|0;m=j;n=c+108|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;h=ra-e|0;do if(h>>>0>4294967279){x=0;Fa(428,k|0);x=0;ua=27}else{if(h>>>0<11){b[k+11>>0]=h;d=k}else{g=h+16&-16;x=0;d=qa(318,g|0)|0;ta=x;x=0;if(ta&1){ua=27;break}f[k>>2]=d;f[k+8>>2]=g|-2147483648;f[k+4>>2]=h}if((e|0)!=(ra|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(ra|0))break;else g=g+1|0}d=d+h|0}b[d>>0]=0;m=va;n=j;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,i|0);ta=x;x=0;do if(ta&1){d=1;ua=28}else{m=i+12|0;n=va;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=4;f[i>>2]=11668;b[i+60>>0]=0;b[i+61>>0]=0;x=0;Ia(101,i+64|0,k|0,1);va=x;x=0;if(va&1){d=Ya()|0;e=1;break}f[i+76>>2]=0;x=0;Ga(462,a|0,i|0);va=x;x=0;if(va&1){d=0;ua=28}else{f[a>>2]=7904;if((b[k+11>>0]|0)>=0){u=sa;return}Hta(f[k>>2]|0);u=sa;return}}while(0);if((ua|0)==28){va=Ya()|0;e=d;d=va}if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((ua|0)==27)d=Ya()|0;Hta(i);va=d;jb(va|0)}function ke(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.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;G=0;J=u;u=u+384|0;D=J;N=J+320|0;M=J+308|0;s=J+344|0;t=J+332|0;K=J+296|0;A=J+284|0;B=J+272|0;E=J+260|0;F=J+248|0;y=J+196|0;z=J+132|0;v=J+120|0;w=J+96|0;i=J+208|0;L=J+184|0;j=J+144|0;H=J+108|0;r=J+56|0;C=J+40|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=D+11|0;b[p>>0]=4;f[D>>2]=1702193188;b[D+4>>0]=0;x=0;c=sa(992,a|0,D|0)|0;q=x;x=0;a:do if(q&1)G=63;else{x=0;c=qa(334,f[c+4>>2]|0)|0;q=x;x=0;if(q&1)G=63;else{x=0;c=qa(335,c|0)|0;q=x;x=0;if(q&1)G=63;else{b:do if(c)c=1;else{f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;c=qa(318,16)|0;q=x;x=0;if(q&1)c=Ya()|0;else{f[N>>2]=c;f[N+8>>2]=-2147483632;f[N+4>>2]=11;k=c;l=39298;q=k+11|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(q|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,N|0)|0;q=x;x=0;c:do if(q&1)G=65;else{x=0;c=qa(334,f[c+4>>2]|0)|0;q=x;x=0;if(q&1)G=65;else{x=0;c=qa(335,c|0)|0;q=x;x=0;if(q&1)G=65;else{do if(c)c=1;else{d=M+11|0;b[d>>0]=10;k=M;l=39310;q=k+10|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(q|0));b[M+10>>0]=0;x=0;c=sa(992,a|0,M|0)|0;q=x;x=0;if(!(q&1)){x=0;c=qa(334,f[c+4>>2]|0)|0;q=x;x=0;if(!(q&1)){x=0;c=qa(335,c|0)|0;q=x;x=0;if(!(q&1)){if((b[d>>0]|0)<0)Hta(f[M>>2]|0);break}}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[M>>2]|0);break c}while(0);if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);break b}}}while(0);if((G|0)==65)c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0)}break a}while(0);if((b[p>>0]|0)<0)Hta(f[D>>2]|0);if(!c){f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;s=N+11|0;b[s>>0]=4;f[N>>2]=1702193188;b[N+4>>0]=0;k=i;l=g;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));x=0;Ga(511,L|0,h|0);G=x;x=0;if(G&1)c=Ya()|0;else{x=0;k=D;l=i;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));o=+ja(3,N|0,a|0,e|0,D|0,L|0);G=x;x=0;if(G&1){c=Ya()|0;l=I}else{f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;x=0;c=qa(318,16)|0;G=x;x=0;if(G&1){c=Ya()|0;d=I}else{f[M>>2]=c;f[M+8>>2]=-2147483632;f[M+4>>2]=11;k=c;l=39298;q=k+11|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(q|0));b[c+11>>0]=0;k=j;l=g;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));x=0;Ga(511,H|0,h|0);G=x;x=0;if(G&1){c=Ya()|0;d=I}else{x=0;k=D;l=j;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));n=+ja(3,M|0,a|0,e|0,D|0,H|0);G=x;x=0;if(G&1){c=Ya()|0;d=I}else{p=K+11|0;b[p>>0]=10;k=K;l=39310;q=k+10|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(q|0));b[K+10>>0]=0;k=r;l=g;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));x=0;Ga(511,C|0,h|0);G=x;x=0;do if(G&1){c=Ya()|0;d=I}else{x=0;k=D;l=r;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));m=+ja(3,K|0,a|0,e|0,D|0,C|0);G=x;x=0;do if(!(G&1)){x=0;k=D;l=g;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));k=oa(1,+o,+n,+m,1.0,0,D|0)|0;G=x;x=0;if(G&1)break;c=f[C>>2]|0;if(c|0){j=C+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[C>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[K>>2]|0);c=f[H>>2]|0;if(c|0){j=H+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[H>>2]|0}Hta(c)}if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);c=f[L>>2]|0;if(c|0){j=L+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[L>>2]|0}Hta(c)}if((b[s>>0]|0)<0)Hta(f[N>>2]|0);N=k;u=J;return N|0}while(0);c=Ya()|0;d=I;i=f[C>>2]|0;if(!i)break;l=C+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[C>>2]|0}Hta(i)}while(0);if((b[p>>0]|0)<0)Hta(f[K>>2]|0)}i=f[H>>2]|0;if(i){l=H+4|0;j=f[l>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(i|0));i=f[H>>2]|0}Hta(i)}}if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0)}l=d}d=f[L>>2]|0;if(d){k=L+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[L>>2]|0}Hta(d)}}if((b[s>>0]|0)<0)Hta(f[N>>2]|0);N=c;jb(N|0)}r=VN(80)|0;k=s;l=g;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;p=F+11|0;b[p>>0]=4;f[F>>2]=1702193188;b[F+4>>0]=0;x=0;c=sa(992,a|0,F|0)|0;L=x;x=0;if(L&1)G=75;else{L=f[c+4>>2]|0;x=0;Ga(f[(f[L>>2]|0)+32>>2]|0,E|0,L|0);L=x;x=0;if(L&1)G=75;else{x=0;Ia(92,B|0,39321,E|0);L=x;x=0;if(L&1)c=Ya()|0;else{x=0;c=sa(991,B|0,49800)|0;L=x;x=0;if(L&1)c=Ya()|0;else{f[A>>2]=f[c>>2];f[A+4>>2]=f[c+4>>2];f[A+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;c=qa(318,16)|0;L=x;x=0;if(L&1)c=Ya()|0;else{f[z>>2]=c;f[z+8>>2]=-2147483632;f[z+4>>2]=11;k=c;l=39298;q=k+11|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(q|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,z|0)|0;L=x;x=0;do if(L&1)G=79;else{L=f[c+4>>2]|0;x=0;Ga(f[(f[L>>2]|0)+32>>2]|0,y|0,L|0);L=x;x=0;if(L&1)G=79;else{j=y+11|0;c=b[j>>0]|0;L=c<<24>>24<0;x=0;c=ta(41,A|0,(L?f[y>>2]|0:y)|0,(L?f[y+4>>2]|0:c&255)|0)|0;L=x;x=0;do if(L&1)c=Ya()|0;else{f[K>>2]=f[c>>2];f[K+4>>2]=f[c+4>>2];f[K+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,K|0,49800)|0;L=x;x=0;do if(L&1)c=Ya()|0;else{f[M>>2]=f[c>>2];f[M+4>>2]=f[c+4>>2];f[M+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;i=w+11|0;b[i>>0]=10;k=w;l=39310;q=k+10|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(q|0));b[w+10>>0]=0;x=0;c=sa(992,a|0,w|0)|0;L=x;x=0;do if(L&1)G=82;else{L=f[c+4>>2]|0;x=0;Ga(f[(f[L>>2]|0)+32>>2]|0,v|0,L|0);L=x;x=0;if(L&1){G=82;break}d=v+11|0;c=b[d>>0]|0;L=c<<24>>24<0;x=0;c=ta(41,M|0,(L?f[v>>2]|0:v)|0,(L?f[v+4>>2]|0:c&255)|0)|0;L=x;x=0;do if(L&1)c=Ya()|0;else{f[N>>2]=f[c>>2];f[N+4>>2]=f[c+4>>2];f[N+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,N|0,49838)|0;L=x;x=0;do if(L&1)c=Ya()|0;else{f[t>>2]=f[c>>2];f[t+4>>2]=f[c+4>>2];f[t+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;k=D;l=s;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));x=0;Fa(427,r|0);L=x;x=0;do if(L&1)c=Ya()|0;else{k=r+12|0;l=D;q=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(q|0));b[r+52>>0]=0;b[r+53>>0]=0;b[r+54>>0]=0;f[r+56>>2]=4;f[r>>2]=11668;b[r+60>>0]=0;b[r+61>>0]=0;x=0;Ia(101,r+64|0,t|0,1);L=x;x=0;if(L&1){c=Ya()|0;break}f[r+76>>2]=0;if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[d>>0]|0)<0)Hta(f[v>>2]|0);if((b[i>>0]|0)<0)Hta(f[w>>2]|0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);if((b[j>>0]|0)<0)Hta(f[y>>2]|0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);if((b[p>>0]|0)<0)Hta(f[F>>2]|0);N=r;u=J;return N|0}while(0);if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0)}while(0);if((b[N+11>>0]|0)>=0)break;Hta(f[N>>2]|0)}while(0);if((b[d>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0);if((G|0)==82)c=Ya()|0;if((b[i>>0]|0)<0)Hta(f[w>>2]|0);if((b[M+11>>0]|0)>=0)break;Hta(f[M>>2]|0)}while(0);if((b[K+11>>0]|0)>=0)break;Hta(f[K>>2]|0)}while(0);if((b[j>>0]|0)>=0)break;Hta(f[y>>2]|0)}}while(0);if((G|0)==79)c=Ya()|0;if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0)}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0)}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0)}}if((G|0)==75)c=Ya()|0;if((b[p>>0]|0)<0)Hta(f[F>>2]|0);Hta(r);N=c;jb(N|0)}}}while(0);if((G|0)==63)c=Ya()|0;if((b[p>>0]|0)<0)Hta(f[D>>2]|0);N=c;jb(N|0);return 0}function le(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=0;C=u;u=u+336|0;D=C+296|0;B=C+284|0;y=C+272|0;z=C+232|0;j=C+80|0;A=C+40|0;F=C;d=C+192|0;p=C+180|0;h=C+168|0;r=C+160|0;s=C+152|0;i=C+144|0;q=C+136|0;v=C+128|0;w=C+120|0;G=c+164|0;H=f[G>>2]|0;t=H+1|0;f[G>>2]=t;if(t>>>0>512){l=Ta(84)|0;m=d;n=c+108|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(511,p|0,c+148|0);F=x;x=0;do if(F&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);F=x;x=0;if(F&1){d=Ya()|0;k=I;g=1}else{x=0;m=D;n=d;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ja(28,l|0,D|0,p|0,h|0);F=x;x=0;if(F&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[p>>2]|0;if(!e){if(g)break;f[G>>2]=H;jb(d|0)}j=p+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[p>>2]|0}Hta(e);if(!g){F=d;f[G>>2]=H;jb(F|0)}}while(0);bb(l|0);F=d;f[G>>2]=H;jb(F|0)}p=c+76|0;x=0;d=qa(347,f[p>>2]|0)|0;t=x;x=0;do if(!(t&1)){t=c+80|0;if((d|0)==0?1:d>>>0>(f[t>>2]|0)>>>0)d=f[p>>2]|0;x=0;e=qa(348,d|0)|0;o=x;x=0;if(!(o&1)){x=0;d=qa(357,(e|0?e:d)|0)|0;o=x;x=0;if(!(o&1)){if(!((d|0)==0?1:d>>>0>(f[t>>2]|0)>>>0)){x=0;k=qa(318,88)|0;E=x;x=0;if(E&1)break;m=F;n=c+108|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,k|0);E=x;x=0;if(E&1)d=Ya()|0;else{m=k+12|0;n=F;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);F=x;x=0;if(!(F&1)){f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=1;b[k+84>>0]=0;b[k+85>>0]=1;b[k+86>>0]=0;f[d>>2]=5;x=0;Ga(462,a|0,k|0);F=x;x=0;if(F&1)break;f[a>>2]=7696;f[G>>2]=H;u=C;return}d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{F=g+-8|0;f[j>>2]=F;Kc[f[f[F>>2]>>2]&511](F);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}}Hta(k);F=d;f[G>>2]=H;jb(F|0)}x=0;d=qa(347,f[p>>2]|0)|0;o=x;x=0;if(!(o&1)){if((d|0)==0?1:d>>>0>(f[t>>2]|0)>>>0)d=f[p>>2]|0;x=0;e=qa(348,d|0)|0;o=x;x=0;if(!(o&1)){h=e|0?e:d;g=(b[h>>0]|0)==40;h=(g?h+1|0:0)>>>0<=(f[t>>2]|0)>>>0;x=0;Ga(580,F|0,c|0);o=x;x=0;if(o&1)d=Ya()|0;else{x=0;d=qa(347,f[p>>2]|0)|0;o=x;x=0;a:do if(o&1)E=70;else{if((d|0)==0?1:d>>>0>(f[t>>2]|0)>>>0)d=f[p>>2]|0;x=0;e=qa(348,d|0)|0;o=x;x=0;if(o&1)E=70;else{o=e|0?e:d;o=(b[o>>0]|0)==44?o+1|0:0;b:do if((o|0)==0?1:o>>>0>(f[t>>2]|0)>>>0){l=F+4|0;x=0;d=qa(340,f[l>>2]|0)|0;E=x;x=0;do if(E&1)E=71;else{x=0;Ga(462,D|0,d|0);E=x;x=0;if(E&1){E=71;break}f[D>>2]=7584;d=f[D+4>>2]|0;do if(!d)E=53;else{e=d+85|0;if(g&h|(b[e>>0]|0)!=0){E=53;break}b[e>>0]=1;x=0;Ga(462,i|0,d|0);E=x;x=0;if(E&1){d=Ya()|0;E=86;break}f[i>>2]=7584;x=0;Ga(462,a|0,f[i+4>>2]|0);E=x;x=0;if(E&1){d=Ya()|0;_P(i);E=86;break}else{f[a>>2]=7696;_P(i);E=85;break}}while(0);c:do if((E|0)==53){x=0;k=qa(318,88)|0;z=x;x=0;d:do if(z&1)E=73;else{m=A;n=c+108|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,k|0);c=x;x=0;do if(c&1)d=Ya()|0;else{m=k+12|0;n=A;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,1);c=x;x=0;if(c&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{C=g+-8|0;f[j>>2]=C;Kc[f[f[C>>2]>>2]&511](C);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=1;b[k+84>>0]=0;b[k+85>>0]=1;b[k+86>>0]=0;f[d>>2]=5;x=0;Ga(462,B|0,k|0);c=x;x=0;if(c&1){E=73;break d}f[B>>2]=7584;d=B+4|0;e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,r|0,f[l>>2]|0);c=x;x=0;do if(c&1)E=76;else{f[r>>2]=7696;x=0;Ga(g|0,e|0,r|0);c=x;x=0;if(c&1){d=Ya()|0;_P(r);break}_P(r);x=0;Ga(462,s|0,f[d>>2]|0);c=x;x=0;if(c&1){E=76;break}f[s>>2]=7584;x=0;Ga(462,a|0,f[s+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;_P(s);break}else{f[a>>2]=7696;_P(s);_P(B);E=85;break c}}while(0);if((E|0)==76)d=Ya()|0;_P(B);break d}while(0);Hta(k)}while(0);if((E|0)==73)d=Ya()|0;E=86}while(0);if((E|0)==85){_P(D);break b}else if((E|0)==86){_P(D);break}}while(0);if((E|0)==71)d=Ya()|0;break a}else{x=0;k=qa(318,88)|0;s=x;x=0;e:do if(s&1)E=111;else{l=c+108|0;m=j;n=l;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,k|0);s=x;x=0;do if(s&1)d=Ya()|0;else{m=k+12|0;n=j;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[d>>2]=0;f[k>>2]=6516;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,2);s=x;x=0;if(s&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{D=g+-8|0;f[j>>2]=D;Kc[f[f[D>>2]>>2]&511](D);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=9488;f[e>>2]=9620;f[k+80>>2]=0;b[k+84>>0]=0;b[k+85>>0]=1;b[k+86>>0]=0;f[d>>2]=5;x=0;Ga(462,A|0,k|0);s=x;x=0;if(s&1){E=111;break e}f[A>>2]=7584;j=A+4|0;d=(f[j>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,q|0,f[F+4>>2]|0);s=x;x=0;f:do if(s&1)E=114;else{f[q>>2]=7696;x=0;Ga(e|0,d|0,q|0);s=x;x=0;if(s&1){d=Ya()|0;_P(q);break}_P(q);g=c+168|0;h=c+84|0;i=c+96|0;while(1){f[D>>2]=f[g>>2];f[D+4>>2]=f[g+4>>2];f[D+8>>2]=f[g+8>>2];e=f[p>>2]|0;f[B>>2]=f[h>>2];f[B+4>>2]=f[h+4>>2];f[B+8>>2]=f[h+8>>2];f[y>>2]=f[i>>2];f[y+4>>2]=f[i+4>>2];f[y+8>>2]=f[i+8>>2];m=z;n=l;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;ta(52,c|0,1,0)|0;s=x;x=0;if(s&1){E=114;break f}x=0;d=ta(53,c|0,1,0)|0;s=x;x=0;if(s&1){E=114;break f}if(!d){E=104;break}x=0;d=qa(347,f[p>>2]|0)|0;s=x;x=0;if(s&1){E=114;break f}if((d|0)==0?1:d>>>0>(f[t>>2]|0)>>>0)d=f[p>>2]|0;x=0;e=qa(348,d|0)|0;s=x;x=0;if(s&1){E=114;break f}x=0;d=qa(357,(e|0?e:d)|0)|0;s=x;x=0;if(s&1){E=114;break f}if(!((d|0)==0?1:d>>>0>(f[t>>2]|0)>>>0))break;d=(f[j>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(580,v|0,c|0);s=x;x=0;if(s&1){E=114;break f}x=0;Ga(e|0,d|0,v|0);s=x;x=0;if(s&1){E=119;break}_P(v)}if((E|0)==104){m=l;n=z;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[g>>2]=f[D>>2];f[g+4>>2]=f[D+4>>2];f[g+8>>2]=f[D+8>>2];f[p>>2]=e;f[i>>2]=f[y>>2];f[i+4>>2]=f[y+4>>2];f[i+8>>2]=f[y+8>>2];f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2]}else if((E|0)==119){d=Ya()|0;_P(v);break}x=0;Ga(462,w|0,f[j>>2]|0);D=x;x=0;if(D&1){E=114;break}f[w>>2]=7584;x=0;Ga(462,a|0,f[w+4>>2]|0);D=x;x=0;if(D&1){d=Ya()|0;_P(w);break}else{f[a>>2]=7696;_P(w);_P(A);break b}}while(0);if((E|0)==114)d=Ya()|0;_P(A);break e}while(0);Hta(k)}while(0);if((E|0)==111)d=Ya()|0;break a}while(0);_P(F);f[G>>2]=H;u=C;return}}while(0);if((E|0)==70)d=Ya()|0;_P(F)}F=d;f[G>>2]=H;jb(F|0)}}F=Ya()|0;f[G>>2]=H;jb(F|0)}}}while(0);F=Ya()|0;f[G>>2]=H;jb(F|0)}function me(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;J=0;E=u;u=u+464|0;C=E+120|0;F=E+80|0;z=E+40|0;s=E;k=E+440|0;L=E+304|0;K=E+240|0;H=E+224|0;l=E+400|0;t=E+384|0;w=E+344|0;G=E+328|0;D=E+320|0;y=E+296|0;A=E+256|0;B=E+232|0;p=E+208|0;r=E+168|0;v=E+160|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=C+11|0;b[i>>0]=5;b[C>>0]=b[40756]|0;b[C+1>>0]=b[40757]|0;b[C+2>>0]=b[40758]|0;b[C+3>>0]=b[40759]|0;b[C+4>>0]=b[40760]|0;b[C+5>>0]=0;x=0;d=sa(992,a|0,C|0)|0;q=x;x=0;if(!(q&1)){x=0;j=qa(334,f[d+4>>2]|0)|0;q=x;x=0;if(!(q&1)){if((b[i>>0]|0)<0)Hta(f[C>>2]|0);a:do if(!j){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;i=s+11|0;b[i>>0]=5;b[s>>0]=b[40756]|0;b[s+1>>0]=b[40757]|0;b[s+2>>0]=b[40758]|0;b[s+3>>0]=b[40759]|0;b[s+4>>0]=b[40760]|0;b[s+5>>0]=0;x=0;d=sa(992,a|0,s|0)|0;q=x;x=0;if(q&1)J=23;else{q=f[d+4>>2]|0;x=0;Ga(f[(f[q>>2]|0)+32>>2]|0,z|0,q|0);q=x;x=0;if(q&1)J=23;else{x=0;Ia(92,F|0,40762,z|0);q=x;x=0;if(q&1)d=Ya()|0;else{x=0;d=sa(991,F|0,41552)|0;q=x;x=0;do if(q&1)d=Ya()|0;else{f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;m=C;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ia(100,k|0,C|0,h|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[i>>0]|0)<0)Hta(f[s>>2]|0);break a}while(0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0)}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0)}}if((J|0)==23)d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[s>>2]|0);L=d;jb(L|0)}while(0);xi(C,j+64|0,0,0,1);x=0;Ga(558,L|0,C|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}else{if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);x=0;Ia(79,K|0,L|0,48507);q=x;x=0;if(q&1)d=Ya()|0;else{f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;q=F+11|0;b[q>>0]=4;f[F>>2]=1936941860;b[F+4>>0]=0;m=l;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(511,t|0,h|0);o=x;x=0;do if(o&1){d=Ya()|0;J=96}else{x=0;m=C;n=l;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));d=wa(32,F|0,a|0,e|0,C|0,t|0)|0;o=x;x=0;if(!(o&1)){x=0;Ga(462,H|0,d|0);o=x;x=0;if(!(o&1)){f[H>>2]=16864;d=f[t>>2]|0;if(d|0){k=t+4|0;i=f[k>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(d|0));d=f[t>>2]|0}Hta(d)}if((b[q>>0]|0)<0)Hta(f[F>>2]|0);d=f[H+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+88>>2]|0,d|0)|0;t=x;x=0;b:do if(t&1)J=99;else{c:do if(d){x=0;d=sa(1010,c|0,K|0)|0;G=x;x=0;if(G&1){J=99;break b}do if(!d){x=0;Ia(92,p|0,41588,L|0);G=x;x=0;if(G&1){J=99;break b}x=0;m=C;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ia(100,p|0,C|0,h|0);G=x;x=0;if(G&1){d=Ya()|0;if((b[p+11>>0]|0)>=0)break b;Hta(f[p>>2]|0);break b}else{if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0);break}}while(0);x=0;d=sa(992,c|0,K|0)|0;G=x;x=0;do if(!(G&1)){d=f[d+4>>2]|0;if(!d)d=0;else d=(f[215]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;j=qa(318,72)|0;G=x;x=0;if(G&1)break;m=r;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(462,v|0,d|0);G=x;x=0;if(G&1)d=Ya()|0;else{f[v>>2]=10712;m=C;n=r;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,j|0);G=x;x=0;do if(G&1)d=Ya()|0;else{m=j+12|0;n=C;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;d=j+56|0;f[d>>2]=0;f[j>>2]=10588;i=j+60|0;x=0;Ga(462,i|0,f[v+4>>2]|0);G=x;x=0;if(G&1){d=Ya()|0;break}else{f[i>>2]=10712;b[j+68>>0]=0;f[d>>2]=9;_P(v);d=j;break c}}while(0);_P(v)}Hta(j);break b}while(0);d=Ya()|0;break b}else{x=0;p=qa(318,120)|0;v=x;x=0;d:do if(!(v&1)){m=w;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(459,G|0,L|0);v=x;x=0;do if(v&1)d=Ya()|0;else{x=0;e=qa(318,76)|0;v=x;x=0;e:do if(v&1)J=102;else{m=s;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,e|0);v=x;x=0;do if(v&1)d=Ya()|0;else{f[e>>2]=6696;m=e+12|0;n=s;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));d=e+52|0;f[d>>2]=13504;l=e+56|0;a=e+60|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(567,l|0,0);v=x;x=0;if(v&1){d=Ya()|0;k=I;i=f[l>>2]|0;if(i|0){j=f[a>>2]|0;if((j|0)!=(i|0)){do{F=j+-8|0;f[a>>2]=F;Kc[f[f[F>>2]>>2]&511](F);j=f[a>>2]|0}while((j|0)!=(i|0));i=f[l>>2]|0}Hta(i)}break}f[e>>2]=13360;f[d>>2]=13448;b[e+72>>0]=0;b[e+73>>0]=0;x=0;Ga(462,D|0,e|0);v=x;x=0;if(v&1){J=102;break e}f[D>>2]=9264;x=0;e=qa(318,88)|0;v=x;x=0;f:do if(v&1)J=105;else{m=z;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,e|0);v=x;x=0;do if(v&1)d=Ya()|0;else{m=e+12|0;n=z;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[e>>2]=6976;f[e+52>>2]=0;f[e+56>>2]=0;b[e+60>>0]=0;d=e+64|0;f[d>>2]=6936;l=e+68|0;a=e+72|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(568,l|0,0);z=x;x=0;if(z&1){d=Ya()|0;k=I;i=f[l>>2]|0;if(i|0){j=f[a>>2]|0;if((j|0)!=(i|0)){do{F=j+-8|0;f[a>>2]=F;Kc[f[f[F>>2]>>2]&511](F);j=f[a>>2]|0}while((j|0)!=(i|0));i=f[l>>2]|0}Hta(i)}break}f[e>>2]=6780;f[d>>2]=6880;b[e+84>>0]=0;x=0;Ga(462,y|0,e|0);z=x;x=0;if(z&1){J=105;break f}f[y>>2]=7280;x=0;m=C;n=w;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));La(15,p|0,C|0,G|0,D|0,y|0,1);C=x;x=0;if(C&1){d=Ya()|0;_P(y);break f}_P(y);_P(D);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);x=0;j=qa(318,72)|0;G=x;x=0;if(G&1)break d;m=A;n=g;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(462,B|0,p|0);G=x;x=0;if(G&1)d=Ya()|0;else{f[B>>2]=10712;m=F;n=A;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Fa(427,j|0);G=x;x=0;do if(G&1)d=Ya()|0;else{m=j+12|0;n=F;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;d=j+56|0;f[d>>2]=0;f[j>>2]=10588;i=j+60|0;x=0;Ga(462,i|0,f[B+4>>2]|0);G=x;x=0;if(G&1){d=Ya()|0;break}else{f[i>>2]=10712;b[j+68>>0]=1;f[d>>2]=9;_P(B);d=j;break c}}while(0);_P(B)}Hta(j);break b}while(0);Hta(e)}while(0);if((J|0)==105)d=Ya()|0;_P(D);break e}while(0);Hta(e)}while(0);if((J|0)==102)d=Ya()|0;if((b[G+11>>0]|0)>=0)break;Hta(f[G>>2]|0)}while(0);Hta(p);break b}while(0);d=Ya()|0;break b}while(0);_P(H);if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);if((b[L+11>>0]|0)>=0){u=E;return d|0}Hta(f[L>>2]|0);u=E;return d|0}while(0);if((J|0)==99)d=Ya()|0;_P(H);break}}d=Ya()|0;l=I;i=f[t>>2]|0;if(!i)J=96;else{a=t+4|0;j=f[a>>2]|0;if((j|0)!=(i|0)){do{k=j+-52|0;f[a>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[a>>2]|0}else j=k}while((j|0)!=(i|0));i=f[t>>2]|0}Hta(i);J=96}}while(0);if((J|0)==96)if((b[q>>0]|0)<0)Hta(f[F>>2]|0);if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0)}if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0)}L=d;jb(L|0)}}d=Ya()|0;if((b[i>>0]|0)<0)Hta(f[C>>2]|0);L=d;jb(L|0);return 0}function ne(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,v=0,w=0,y=0,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=0;G=u;u=u+432|0;H=G+384|0;J=G+368|0;E=G+328|0;F=G+288|0;I=G+272|0;w=G+260|0;y=G+248|0;z=G+208|0;s=G+192|0;i=G+180|0;q=G+168|0;r=G+80|0;A=G+128|0;B=G+120|0;C=G+64|0;m=G+24|0;t=G+16|0;v=G;D=c+76|0;p=f[D>>2]|0;h=VX(p)|0;p=h|0?h:p;h=b[p>>0]|0;p=p+1|0;h=h<<24>>24|0;p=(h|0)!=44&(h|0)!=123?((h|0)==59?p:0):p;h=c+80|0;a:do if(!((p|0)==0?1:p>>>0>(f[h>>2]|0)>>>0)){d=VN(16)|0;f[H>>2]=d;f[H+8>>2]=-2147483632;f[H+4>>2]=11;n=d;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+11>>0]=0;f[J+8>>2]=0;e=J+11|0;b[e>>0]=7;b[J>>0]=b[44254]|0;b[J+1>>0]=b[44255]|0;b[J+2>>0]=b[44256]|0;b[J+3>>0]=b[44257]|0;b[J+4>>0]=b[44258]|0;b[J+5>>0]=b[44259]|0;b[J+6>>0]=b[44260]|0;b[J+7>>0]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;x=0;d=qa(318,32)|0;p=x;x=0;do if(p&1)d=Ya()|0;else{f[E>>2]=d;f[E+8>>2]=-2147483616;f[E+4>>2]=20;n=d;o=45161;p=n+20|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+20>>0]=0;x=0;Ka(8,c|0,H|0,J|0,E|0,1);p=x;x=0;if(p&1){d=Ya()|0;if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0);break}if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);if((b[e>>0]|0)<0)Hta(f[J>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);break a}while(0);if((b[e>>0]|0)<0)Hta(f[J>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);a=d;jb(a|0)}while(0);d=gL(f[D>>2]|0)|0;if((d|0)==0?1:d>>>0>(f[h>>2]|0)>>>0)d=f[D>>2]|0;p=VX(d)|0;d=p|0?p:d;b:do if(d|0){e=b[36397]|0;if(e<<24>>24){g=36397;do{if((b[d>>0]|0)!=e<<24>>24)break b;d=d+1|0;g=g+1|0;e=b[g>>0]|0}while(e<<24>>24!=0)}e=b[51458]|0;c:do if(!(e<<24>>24))e=0;else{g=51458;while(1){if((b[d>>0]|0)!=e<<24>>24)break c;d=d+1|0;g=g+1|0;e=b[g>>0]|0;if(!(e<<24>>24)){e=0;break}}}while(0);p=e<<24>>24==0?d:0;if(!((p|0)==0?1:p>>>0>(f[h>>2]|0)>>>0)){f[D>>2]=(f[D>>2]|0)+2;d=VN(16)|0;f[H>>2]=d;f[H+8>>2]=-2147483632;f[H+4>>2]=11;n=d;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+11>>0]=0;f[J+8>>2]=0;e=J+11|0;b[e>>0]=7;b[J>>0]=b[44254]|0;b[J+1>>0]=b[44255]|0;b[J+2>>0]=b[44256]|0;b[J+3>>0]=b[44257]|0;b[J+4>>0]=b[44258]|0;b[J+5>>0]=b[44259]|0;b[J+6>>0]=b[44260]|0;b[J+7>>0]=0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;x=0;d=qa(318,48)|0;p=x;x=0;do if(p&1)d=Ya()|0;else{f[E>>2]=d;f[E+8>>2]=-2147483600;f[E+4>>2]=44;n=d;o=44621;p=n+44|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[d+44>>0]=0;x=0;Ka(8,c|0,H|0,J|0,E|0,1);p=x;x=0;if(p&1){d=Ya()|0;if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0);break}if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);if((b[e>>0]|0)<0)Hta(f[J>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);break b}while(0);if((b[e>>0]|0)<0)Hta(f[J>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);a=d;jb(a|0)}}while(0);qV(a,0);f[a>>2]=10408;x=0;d=qa(347,f[D>>2]|0)|0;p=x;x=0;do if(p&1)K=90;else{if((d|0)==0?1:d>>>0>(f[h>>2]|0)>>>0)d=f[D>>2]|0;x=0;e=qa(348,d|0)|0;p=x;x=0;if(p&1)K=90;else{x=0;d=qa(378,(e|0?e:d)|0)|0;p=x;x=0;if(p&1)K=90;else{if(d|0){x=0;d=qa(379,d|0)|0;p=x;x=0;if(p&1){K=90;break}if(d|0){p=(b[d>>0]|0)==58?d+1|0:0;if(!((p|0)==0?1:p>>>0>(f[h>>2]|0)>>>0)){j=c+168|0;f[s>>2]=f[j>>2];f[s+4>>2]=f[j+4>>2];f[s+8>>2]=f[j+8>>2];e=f[D>>2]|0;k=c+84|0;f[i>>2]=f[k>>2];f[i+4>>2]=f[k+4>>2];f[i+8>>2]=f[k+8>>2];l=c+96|0;f[q>>2]=f[l>>2];f[q+4>>2]=f[l+4>>2];f[q+8>>2]=f[l+8>>2];m=c+108|0;n=r;o=m;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;v=x;x=0;if(v&1){K=90;break}x=0;d=ta(100,c|0,1,0)|0;v=x;x=0;if(v&1){K=90;break}if(!d){n=m;o=r;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[j>>2]=f[s>>2];f[j+4>>2]=f[s+4>>2];f[j+8>>2]=f[s+8>>2];f[D>>2]=e;f[l>>2]=f[q>>2];f[l+4>>2]=f[q+4>>2];f[l+8>>2]=f[q+8>>2];f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2]}e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,H|0);x=0;K=91}else{if(i>>>0<11){b[H+11>>0]=i;d=H}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;v=x;x=0;if(v&1){K=91;break}f[H>>2]=d;f[H+8>>2]=g|-2147483648;f[H+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,J|0,H|0);v=x;x=0;if(v&1){d=Ya()|0;if((b[H+11>>0]|0)>=0){K=94;break}Hta(f[H>>2]|0);K=94;break}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);n=E;o=m;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[I>>2]=f[j>>2];f[I+4>>2]=f[j+4>>2];f[I+8>>2]=f[j+8>>2];e=f[D>>2]|0;f[w>>2]=f[k>>2];f[w+4>>2]=f[k+4>>2];f[w+8>>2]=f[k+8>>2];f[y>>2]=f[l>>2];f[y+4>>2]=f[l+4>>2];f[y+8>>2]=f[l+8>>2];n=z;o=m;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;v=x;x=0;do if(v&1)K=95;else{x=0;d=ta(90,c|0,1,0)|0;v=x;x=0;if(v&1){K=95;break}if(!d){n=m;o=z;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[j>>2]=f[I>>2];f[j+4>>2]=f[I+4>>2];f[j+8>>2]=f[I+8>>2];f[D>>2]=e;f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2];f[l+8>>2]=f[y+8>>2];f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2];f[k+8>>2]=f[w+8>>2]}x=0;Ga(580,F|0,c|0);D=x;x=0;if(D&1)d=Ya()|0;else{x=0;g=qa(318,88)|0;D=x;x=0;d:do if(D&1)d=Ya()|0;else{n=A;o=E;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Ga(462,B|0,f[F+4>>2]|0);E=x;x=0;do if(E&1)d=Ya()|0;else{f[B>>2]=7696;x=0;Ga(459,C|0,J|0);E=x;x=0;if(E&1){d=Ya()|0;_P(B);break}x=0;n=H;o=A;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));La(13,g|0,H|0,B|0,C|0,0,0);H=x;x=0;e:do if(H&1){d=1;K=100}else{x=0;Ga(462,I|0,g|0);H=x;x=0;if(H&1){d=0;K=100;break}f[I>>2]=10408;if((I|0)!=(a|0)){d=a+4|0;do if(f[d>>2]|0){x=0;Fa(429,a|0);H=x;x=0;if(!(H&1))break;d=Ya()|0;_P(I);e=0;break e}while(0);a=I+4|0;f[d>>2]=f[a>>2];f[a>>2]=0}_P(I);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);_P(B);_P(F);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);u=G;return}while(0);if((K|0)==100){I=Ya()|0;e=d;d=I}if((b[C+11>>0]|0)<0){Hta(f[C>>2]|0);_P(B);if(e)break;else break d}else{_P(B);if(e)break;else break d}}while(0);Hta(g)}while(0);_P(F)}}while(0);if((K|0)==95)d=Ya()|0;if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0)}while(0);if((K|0)==91){d=Ya()|0;K=94}break}}}x=0;Ga(580,I|0,c|0);C=x;x=0;if(C&1)d=Ya()|0;else{k=I+4|0;x=0;e=qa(340,f[k>>2]|0)|0;C=x;x=0;if(C&1)K=121;else{g=c+168|0;f[H>>2]=f[g>>2];f[H+4>>2]=f[g+4>>2];f[H+8>>2]=f[g+8>>2];h=f[D>>2]|0;i=c+84|0;f[J>>2]=f[i>>2];f[J+4>>2]=f[i+4>>2];f[J+8>>2]=f[i+8>>2];j=c+96|0;f[E>>2]=f[j>>2];f[E+4>>2]=f[j+4>>2];f[E+8>>2]=f[j+8>>2];l=c+108|0;n=F;o=l;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;ta(52,c|0,1,0)|0;C=x;x=0;if(C&1)K=121;else{x=0;d=ta(106,c|0,1,0)|0;c=x;x=0;if(c&1)K=121;else{do if(!d){n=l;o=F;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[g>>2]=f[H>>2];f[g+4>>2]=f[H+4>>2];f[g+8>>2]=f[H+8>>2];f[D>>2]=h;f[j>>2]=f[E>>2];f[j+4>>2]=f[E+4>>2];f[j+8>>2]=f[E+8>>2];f[i>>2]=f[J>>2];f[i+4>>2]=f[J+4>>2];f[i+8>>2]=f[J+8>>2];d=0;e=0}else if((f[(f[k>>2]|0)+56>>2]|0)==6){d=1;e=0}else{if(e|0)if((f[e+80>>2]|0)==2){d=1;e=0;break}d=0;e=1}while(0);x=0;h=qa(318,88)|0;F=x;x=0;f:do if(F&1)d=Ya()|0;else{n=m;o=l;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Ga(462,t|0,f[k>>2]|0);F=x;x=0;do if(F&1)d=Ya()|0;else{f[t>>2]=7696;g=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;x=0;n=H;o=m;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));La(13,h|0,H|0,t|0,v|0,e|0,d|0);H=x;x=0;g:do if(H&1){d=1;K=136}else{x=0;Ga(462,J|0,h|0);H=x;x=0;if(H&1){d=0;K=136;break}f[J>>2]=10408;if((J|0)!=(a|0)){d=a+4|0;do if(f[d>>2]|0){x=0;Fa(429,a|0);H=x;x=0;if(!(H&1))break;d=Ya()|0;_P(J);e=0;break g}while(0);a=J+4|0;f[d>>2]=f[a>>2];f[a>>2]=0}_P(J);if((b[g>>0]|0)<0)Hta(f[v>>2]|0);_P(t);_P(I);u=G;return}while(0);if((K|0)==136){J=Ya()|0;e=d;d=J}if((b[g>>0]|0)<0){Hta(f[v>>2]|0);_P(t);if(e)break;else break f}else{_P(t);if(e)break;else break f}}while(0);Hta(h)}while(0)}}}if((K|0)==121)d=Ya()|0;_P(I)}}}}while(0);if((K|0)==90)d=Ya()|0;_P(a);a=d;jb(a|0)}function oe(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;l=0;V=u;u=u+352|0;U=V+16|0;T=V;N=V+336|0;O=V+296|0;P=V+280|0;Q=V+268|0;R=V+256|0;S=V+176|0;g=V+216|0;m=V+160|0;h=V+96|0;K=V+120|0;Y=V+112|0;X=V+84|0;W=V+72|0;L=V+64|0;M=V+56|0;Z=c+164|0;_=f[Z>>2]|0;J=_+1|0;f[Z>>2]=J;if(J>>>0>512){l=Ta(84)|0;i=g;j=c+108|0;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(511,m|0,c+148|0);Y=x;x=0;do if(Y&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);Y=x;x=0;if(Y&1){d=Ya()|0;k=I;g=1}else{x=0;i=U;j=g;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));Ja(28,l|0,U|0,m|0,h|0);Y=x;x=0;if(Y&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[m>>2]|0;if(!e){if(g)break;f[Z>>2]=_;jb(d|0)}j=m+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!g){Y=d;f[Z>>2]=_;jb(Y|0)}}while(0);bb(l|0);Y=d;f[Z>>2]=_;jb(Y|0)}x=0;ta(52,c|0,0,0)|0;J=x;x=0;if(!(J&1)){F=c+128|0;x=0;Ga(576,c+108|0,F|0);J=x;x=0;if(!(J&1)){f[c+132>>2]=0;f[F>>2]=0;G=c+108|0;i=K;j=G;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(586,Y|0,c|0);J=x;x=0;if(J&1)d=Ya()|0;else{H=c+76|0;x=0;g=qa(347,f[H>>2]|0)|0;J=x;x=0;a:do if(J&1)l=51;else{J=c+80|0;if((g|0)==0?1:g>>>0>(f[J>>2]|0)>>>0)g=f[H>>2]|0;x=0;h=qa(348,g|0)|0;E=x;x=0;if(E&1)l=51;else{E=h|0?h:g;E=(b[E>>0]|0)==43?E+1|0:0;do if((E|0)==0?1:E>>>0>(f[J>>2]|0)>>>0){x=0;g=qa(365,f[H>>2]|0)|0;E=x;x=0;if(E&1){l=51;break a}if(!((g|0)==0?1:g>>>0>(f[J>>2]|0)>>>0)){g=f[H>>2]|0;x=0;h=qa(348,g|0)|0;E=x;x=0;if(E&1){l=51;break a}h=h|0?h:g;x=0;g=qa(366,h|0)|0;E=x;x=0;if(E&1){l=51;break a}if(!((h|0)==0|(g|0)!=0)){i=h+1|0;if((b[h>>0]|0)==45){x=0;g=qa(345,i|0)|0;E=x;x=0;if(E&1){l=51;break a}E=(g|0)!=0;if(!(E|(E?0:i)>>>0>(f[J>>2]|0)>>>0)){l=41;break}}}}g=f[H>>2]|0;x=0;h=qa(348,g|0)|0;E=x;x=0;if(E&1){l=51;break a}h=h|0?h:g;x=0;g=qa(366,h|0)|0;E=x;x=0;if(E&1){l=51;break a}if(!((h|0)==0|(g|0)!=0)){i=h+1|0;if((b[h>>0]|0)==45){x=0;g=qa(366,i|0)|0;E=x;x=0;if(E&1){l=51;break a}E=(g|0)!=0;if(!(E|(E?0:i)>>>0>(f[J>>2]|0)>>>0))l=41}}}else l=41;while(0);do if((l|0)==41){g=f[H>>2]|0;x=0;h=qa(348,g|0)|0;E=x;x=0;if(E&1){l=51;break a}g=h|0?h:g;while(1)if((b[g>>0]|0)==45)g=g+1|0;else break;if(g|0){x=0;g=qa(327,g|0)|0;E=x;x=0;if(E&1){l=51;break a}if(!((g|0)==0?1:g>>>0>(f[J>>2]|0)>>>0))break}f[X>>2]=0;E=X+4|0;f[E>>2]=0;f[X+8>>2]=0;f[W>>2]=0;D=W+4|0;f[D>>2]=0;f[W+8>>2]=0;x=0;g=qa(347,f[H>>2]|0)|0;C=x;x=0;b:do if(C&1)l=97;else{z=c+168|0;A=c+84|0;B=c+96|0;o=c+172|0;p=c+176|0;C=T+11|0;q=T+4|0;r=U+4|0;s=U+5|0;t=W+8|0;v=X+8|0;w=U+4|0;y=T+8|0;while(1){n=g|0?g>>>0<=(f[J>>2]|0)>>>0:0;f[P>>2]=f[z>>2];f[P+4>>2]=f[z+4>>2];f[P+8>>2]=f[z+8>>2];h=f[H>>2]|0;f[Q>>2]=f[A>>2];f[Q+4>>2]=f[A+4>>2];f[Q+8>>2]=f[A+8>>2];f[R>>2]=f[B>>2];f[R+4>>2]=f[B+4>>2];f[R+8>>2]=f[B+8>>2];i=S;j=G;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;ta(52,c|0,1,0)|0;m=x;x=0;if(m&1){l=97;break b}x=0;g=ta(56,c|0,1,0)|0;m=x;x=0;if(m&1){l=97;break b}if(!g){i=G;j=S;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f[z>>2]=f[P>>2];f[z+4>>2]=f[P+4>>2];f[z+8>>2]=f[P+8>>2];f[H>>2]=h;f[B>>2]=f[R>>2];f[B+4>>2]=f[R+4>>2];f[B+8>>2]=f[R+8>>2];f[A>>2]=f[Q>>2];f[A+4>>2]=f[Q+4>>2];f[A+8>>2]=f[Q+8>>2];x=0;g=qa(347,h|0)|0;m=x;x=0;if(m&1){l=97;break b}if((g|0)==0?1:g>>>0>(f[J>>2]|0)>>>0)g=f[H>>2]|0;x=0;h=qa(348,g|0)|0;m=x;x=0;if(m&1){l=97;break b}g=h|0?h:g;while(1)if((b[g>>0]|0)==45)g=g+1|0;else break;if(g|0){x=0;g=qa(327,g|0)|0;m=x;x=0;if(m&1){l=97;break b}if(!((g|0)==0?1:g>>>0>(f[J>>2]|0)>>>0)){l=106;break}}f[U>>2]=f[z>>2];f[U+4>>2]=f[z+4>>2];f[U+8>>2]=f[z+8>>2];h=f[H>>2]|0;f[T>>2]=f[A>>2];f[T+4>>2]=f[A+4>>2];f[T+8>>2]=f[A+8>>2];f[N>>2]=f[B>>2];f[N+4>>2]=f[B+4>>2];f[N+8>>2]=f[B+8>>2];i=O;j=G;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;ta(52,c|0,1,0)|0;m=x;x=0;if(m&1){l=97;break b}x=0;g=ta(80,c|0,1,0)|0;m=x;x=0;if(m&1){l=97;break b}if(!g){l=69;break}}x=0;l=qa(347,f[H>>2]|0)|0;m=x;x=0;if(m&1){l=98;break}m=l>>>0<=(f[J>>2]|0)>>>0;h=f[o>>2]|0;j=f[p>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;k=j-h|0;if(k>>>0>4294967279){l=74;break}if(k>>>0<11){b[C>>0]=k;g=T}else{i=k+16&-16;x=0;g=qa(318,i|0)|0;$=x;x=0;if($&1){l=99;break}f[T>>2]=g;f[y>>2]=i|-2147483648;f[q>>2]=k}if((h|0)!=(j|0)){i=g;while(1){b[i>>0]=b[h>>0]|0;h=h+1|0;if((h|0)==(j|0))break;else i=i+1|0}g=g+k|0}b[g>>0]=0;h=(l|0)!=0&m;$=b[C>>0]|0;if((($<<24>>24<0?f[q>>2]|0:$&255)|0)==1){x=0;g=wa(21,T|0,0,-1,52169,1)|0;$=x;x=0;if($&1){l=84;break}g=(g|0)==0?8:9}else g=9;f[U>>2]=g;b[r>>0]=n&1;b[s>>0]=h&1;g=f[D>>2]|0;if(g>>>0<(f[t>>2]|0)>>>0){m=U;n=f[m+4>>2]|0;$=g;f[$>>2]=f[m>>2];f[$+4>>2]=n;f[D>>2]=(f[D>>2]|0)+8}else{x=0;Ga(585,W|0,U|0);$=x;x=0;if($&1){l=100;break}}if((b[C>>0]|0)<0)Hta(f[T>>2]|0);x=0;Ga(586,U|0,c|0);$=x;x=0;if($&1){l=103;break}g=f[E>>2]|0;if(g>>>0<(f[v>>2]|0)>>>0){x=0;Ga(462,g|0,f[w>>2]|0);$=x;x=0;if($&1){l=104;break}f[g>>2]=7696;f[E>>2]=(f[E>>2]|0)+8}else{x=0;Ga(554,X|0,U|0);$=x;x=0;if($&1){l=104;break}}_P(U);x=0;g=qa(347,f[H>>2]|0)|0;$=x;x=0;if($&1){l=98;break}}if((l|0)==69){i=G;j=O;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f[z>>2]=f[U>>2];f[z+4>>2]=f[U+4>>2];f[z+8>>2]=f[U+8>>2];f[H>>2]=h;f[B>>2]=f[N>>2];f[B+4>>2]=f[N+4>>2];f[B+8>>2]=f[N+8>>2];f[A>>2]=f[T>>2];f[A+4>>2]=f[T+4>>2];f[A+8>>2]=f[T+8>>2];l=106}else if((l|0)==74){x=0;Fa(428,T|0);x=0;l=99}else if((l|0)==84){$=Za(0)|0;soa($)}else if((l|0)==98){d=Ya()|0;h=I;break}else if((l|0)==100){d=Ya()|0;e=I;if((b[C>>0]|0)<0)Hta(f[T>>2]|0)}else if((l|0)==103){d=Ya()|0;e=I;l=105}else if((l|0)==104){d=Ya()|0;e=I;_P(U);l=105}if((l|0)==99){d=Ya()|0;e=I}else if((l|0)==105){h=e;break}else if((l|0)==106){c:do if((f[E>>2]|0)==(f[X>>2]|0)){x=0;Ga(462,a|0,f[Y+4>>2]|0);$=x;x=0;if($&1){l=97;break b}f[a>>2]=7696}else{x=0;Ga(462,L|0,f[Y+4>>2]|0);$=x;x=0;do if($&1){d=Ya()|0;e=I}else{f[L>>2]=7696;x=0;La(21,U|0,c|0,L|0,X|0,W|0,0);$=x;x=0;if($&1){d=Ya()|0;e=I;_P(L);break}_P(L);x=0;Ia(116,M|0,G|0,K|0);$=x;x=0;do if($&1)l=117;else{x=0;Ia(117,T|0,M|0,F|0);$=x;x=0;if($&1){l=117;break}c=T;T=f[c+4>>2]|0;$=K+20|0;f[$>>2]=f[c>>2];f[$+4>>2]=T;$=f[U+4>>2]|0;DP($+12|0,K|0,40)|0;x=0;Ga(462,a|0,$|0);$=x;x=0;if($&1){d=Ya()|0;e=I;break}else{f[a>>2]=7696;_P(U);break c}}while(0);if((l|0)==117){d=Ya()|0;e=I}_P(U)}while(0);h=e;break b}while(0);d=f[W>>2]|0;if(d|0){e=f[D>>2]|0;if((e|0)!=(d|0))f[D>>2]=e+(~((e+-8-d|0)>>>3)<<3);Hta(d)}d=f[X>>2]|0;if(d|0){e=f[E>>2]|0;if((e|0)!=(d|0)){do{$=e+-8|0;f[E>>2]=$;Kc[f[f[$>>2]>>2]&511]($);e=f[E>>2]|0}while((e|0)!=(d|0));d=f[X>>2]|0}Hta(d)}_P(Y);f[Z>>2]=_;u=V;return}h=e}while(0);if((l|0)==97){d=Ya()|0;h=I}e=f[W>>2]|0;if(e|0){g=f[D>>2]|0;if((g|0)!=(e|0))f[D>>2]=g+(~((g+-8-e|0)>>>3)<<3);Hta(e)}e=f[X>>2]|0;if(e|0){g=f[E>>2]|0;if((g|0)!=(e|0)){do{$=g+-8|0;f[E>>2]=$;Kc[f[f[$>>2]>>2]&511]($);g=f[E>>2]|0}while((g|0)!=(e|0));e=f[X>>2]|0}Hta(e)}break a}while(0);x=0;Ga(462,a|0,f[Y+4>>2]|0);$=x;x=0;if($&1)l=51;else{f[a>>2]=7696;_P(Y);f[Z>>2]=_;u=V;return}}}while(0);if((l|0)==51)d=Ya()|0;_P(Y)}$=d;f[Z>>2]=_;jb($|0)}}$=Ya()|0;f[Z>>2]=_;jb($|0)}function pe(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.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;L=u;u=u+368|0;H=L+328|0;G=L+264|0;D=L+220|0;C=L+160|0;y=L;N=L+136|0;c=L+288|0;q=L+276|0;m=L+224|0;v=L+208|0;s=L+168|0;z=L+148|0;F=L+16|0;A=L+96|0;B=L+84|0;M=L+72|0;J=L+32|0;K=L+4|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[G+8>>2]=0;t=G+11|0;b[t>>0]=7;b[G>>0]=b[39749]|0;b[G+1>>0]=b[39750]|0;b[G+2>>0]=b[39751]|0;b[G+3>>0]=b[39752]|0;b[G+4>>0]=b[39753]|0;b[G+5>>0]=b[39754]|0;b[G+6>>0]=b[39755]|0;b[G+7>>0]=0;d=c;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,q|0,h|0);w=x;x=0;a:do if(w&1){j=Za(0)|0;e=55}else{x=0;d=H;i=c;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));w=wa(27,G|0,a|0,e|0,H|0,q|0)|0;l=x;x=0;if(l&1){j=Za(0)|0;c=f[q>>2]|0;if(!c){e=55;break}l=q+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[q>>2]|0}Hta(c);e=55;break}c=f[q>>2]|0;if(c|0){l=q+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[q>>2]|0}Hta(c)}if((b[t>>0]|0)<0)Hta(f[G>>2]|0);f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;q=G+11|0;b[q>>0]=9;d=G;i=40073;l=d+9|0;do{b[d>>0]=b[i>>0]|0;d=d+1|0;i=i+1|0}while((d|0)<(l|0));b[G+9>>0]=0;d=m;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,v|0,h|0);t=x;x=0;do if(t&1)j=Za(0)|0;else{x=0;d=H;i=m;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));n=+ja(3,G|0,a|0,e|0,H|0,v|0);t=x;x=0;if(t&1){j=Za(0)|0;c=f[v>>2]|0;if(!c)break;l=v+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[v>>2]|0}Hta(c);break}c=f[v>>2]|0;if(c|0){l=v+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[v>>2]|0}Hta(c)}if((b[q>>0]|0)<0)Hta(f[G>>2]|0);f[G+8>>2]=0;m=G+11|0;b[m>>0]=7;b[G>>0]=b[40083]|0;b[G+1>>0]=b[40084]|0;b[G+2>>0]=b[40085]|0;b[G+3>>0]=b[40086]|0;b[G+4>>0]=b[40087]|0;b[G+5>>0]=b[40088]|0;b[G+6>>0]=b[40089]|0;b[G+7>>0]=0;d=s;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(511,z|0,h|0);v=x;x=0;do if(v&1)j=Za(0)|0;else{x=0;d=H;i=s;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));o=+ja(3,G|0,a|0,e|0,H|0,z|0);v=x;x=0;if(v&1){j=Za(0)|0;c=f[z>>2]|0;if(!c)break;l=z+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c);break}c=f[z>>2]|0;if(c|0){l=z+4|0;d=f[l>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[l>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[l>>2]|0}else d=i}while((d|0)!=(c|0));c=f[z>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[G>>2]|0);if(!w)s=0;else s=(f[343]|0)==(f[(f[(f[w>>2]|0)+-4>>2]|0)+4>>2]|0)?w:0;x=0;Ka(5,F|0,w+64|0,0,0,1);z=x;x=0;if(z&1)j=Za(0)|0;else{t=F+11|0;z=b[t>>0]|0;d=z<<24>>24<0;m=F+4|0;i=d?f[F>>2]|0:F;z=d?f[m>>2]|0:z&255;d=i+z|0;f[y>>2]=i;i=d;b:do if((z|0)>0){c=0;while(1){f[C>>2]=i;x=0;f[H>>2]=f[C>>2];sa(1003,y|0,H|0)|0;z=x;x=0;if(z&1){e=81;break b}c=c+1|0;if((f[y>>2]|0)>>>0>=d>>>0){i=c;e=41;break}}}else{i=0;e=41}while(0);c:do if((e|0)==41){f[H+8>>2]=0;d=H+11|0;b[d>>0]=7;b[H>>0]=b[40083]|0;b[H+1>>0]=b[40084]|0;b[H+2>>0]=b[40085]|0;b[H+3>>0]=b[40086]|0;b[H+4>>0]=b[40087]|0;b[H+5>>0]=b[40088]|0;b[H+6>>0]=b[40089]|0;b[H+7>>0]=0;x=0;c=sa(992,a|0,H|0)|0;a=x;x=0;if(a&1){j=Za(0)|0;if((b[d>>0]|0)<0)Hta(f[H>>2]|0);break}c=f[c+4>>2]|0;if(!c)c=0;else c=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[H>>2]|0);o=(c|0)==0?-1.0:o;do if(o==0.0)e=86;else{p=+(i>>>0);if(o+p<0.0){e=86;break}do if(o<0.0){o=o+ +((i+1|0)>>>0);if(!(o==0.0))break;o=1.0}while(0);r=o>p?p:o;do if(n<0.0){n=n+ +((i+1|0)>>>0);if(!(n<0.0))break;n=0.0}else{if(!(n==0.0))break;n=n+1.0}while(0);d:do if(n<=r){d=b[t>>0]|0;if(d<<24>>24<0){c=f[F>>2]|0;f[C>>2]=c;i=c;l=f[m>>2]|0}else{f[C>>2]=F;i=F;l=d&255;c=F}p=n+-1.0;i=i+l|0;do if(p>0.0){o=0.0;while(1){f[D>>2]=i;x=0;f[H>>2]=f[D>>2];sa(1003,C|0,H|0)|0;B=x;x=0;if(B&1){e=146;break}o=o+1.0;if(!(o>2]|0;d=b[t>>0]|0;e=127;break}else if((e|0)==146){j=Za(0)|0;break}}else{i=C;e=127}while(0);if((e|0)==127){f[D>>2]=c;o=r-n+1.0;C=d<<24>>24<0;d=(C?f[F>>2]|0:F)+(C?f[m>>2]|0:d&255)|0;do if(o>0.0){n=0.0;while(1){f[G>>2]=d;x=0;f[H>>2]=f[G>>2];sa(1003,D|0,H|0)|0;C=x;x=0;if(C&1){e=147;break}n=n+1.0;if(!(n>2]|0;e=132;break}else if((e|0)==147){j=Za(0)|0;break}}else e=132;while(0);if((e|0)==132){i=f[i>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;m=c-i|0;d=i;q=c;do if(m>>>0>4294967279){x=0;Fa(428,H|0);x=0}else{if(m>>>0<11){b[H+11>>0]=m;c=H}else{l=m+16&-16;x=0;c=qa(318,l|0)|0;G=x;x=0;if(G&1)break;f[H>>2]=c;f[H+8>>2]=l|-2147483648;f[H+4>>2]=m}if((d|0)!=(q|0))while(1){b[c>>0]=b[d>>0]|0;d=i+1|0;c=c+1|0;if((d|0)==(q|0))break;else i=d}b[c>>0]=0;c=N+11|0;if((b[c>>0]|0)<0){b[f[N>>2]>>0]=0;f[N+4>>2]=0}else{b[N>>0]=0;b[c>>0]=0}x=0;Ga(501,N|0,0);G=x;x=0;if(G&1){G=Za(0)|0;soa(G)}else{f[N>>2]=f[H>>2];f[N+4>>2]=f[H+4>>2];f[N+8>>2]=f[H+8>>2];break d}}while(0);j=Za(0)|0}}break c}while(0);if(!s){E=1;j=0;break}if(!(b[s+60>>0]|0)){E=1;j=0;break}x=0;Ia(105,H|0,N|0,0);G=x;x=0;if(G&1){j=Za(0)|0;break c}k=N+11|0;if((b[k>>0]|0)<0){b[f[N>>2]>>0]=0;f[N+4>>2]=0}else{b[N>>0]=0;b[k>>0]=0}x=0;Ga(501,N|0,0);M=x;x=0;if(M&1){M=Za(0)|0;soa(M)}else{f[N>>2]=f[H>>2];f[N+4>>2]=f[H+4>>2];f[N+8>>2]=f[H+8>>2];E=1;j=0;break}}while(0);e:do if((e|0)==86){do if(s|0){if(!(b[s+60>>0]|0))break;c=G+11|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;x=0;Ia(105,H|0,G|0,0);E=x;x=0;if(E&1){j=Za(0)|0;if((b[c>>0]|0)<0)Hta(f[G>>2]|0);break c}j=N+11|0;if((b[j>>0]|0)<0){b[f[N>>2]>>0]=0;f[N+4>>2]=0}else{b[N>>0]=0;b[j>>0]=0}x=0;Ga(501,N|0,0);E=x;x=0;if(E&1){E=Za(0)|0;soa(E)}f[N>>2]=f[H>>2];f[N+4>>2]=f[H+4>>2];f[N+8>>2]=f[H+8>>2];f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if((b[c>>0]|0)<0)Hta(f[G>>2]|0)}while(0);x=0;j=qa(318,80)|0;G=x;x=0;if(G&1){e=81;break c}d=A;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(459,B|0,N|0);G=x;x=0;do if(G&1)c=Za(0)|0;else{x=0;d=H;i=A;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));Na(1,j|0,H|0,B|0,0,0,0,1,1);G=x;x=0;if(G&1){c=Za(0)|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}else{if((b[B+11>>0]|0)>=0){E=0;break e}Hta(f[B>>2]|0);E=0;break e}}while(0);Hta(j);j=c;break c}while(0);if((b[t>>0]|0)<0)Hta(f[F>>2]|0);if(E){e=177;break a}else{e=196;break a}}while(0);if((e|0)==81)j=Za(0)|0;if((b[t>>0]|0)<0)Hta(f[F>>2]|0)}e=167;break a}while(0);if((b[m>>0]|0)<0)Hta(f[G>>2]|0);e=167;break a}while(0);if((b[q>>0]|0)<0)Hta(f[G>>2]|0);e=167}while(0);if((e|0)==55){if((b[t>>0]|0)<0)Hta(f[G>>2]|0);e=167}f:do if((e|0)==167){Ua(j|0)|0;x=0;Ga(511,M|0,h|0);h=x;x=0;do if(h&1)j=Ya()|0;else{x=0;Ga(564,g|0,M|0);h=x;x=0;if(h&1){j=Ya()|0;l=I;c=f[M>>2]|0;if(!c)break;m=M+4|0;d=f[m>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[m>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[m>>2]|0}else d=i}while((d|0)!=(c|0));c=f[M>>2]|0}Hta(c);break}j=f[M>>2]|0;if(j|0){d=M+4|0;k=f[d>>2]|0;if((k|0)!=(j|0)){do{c=k+-52|0;f[d>>2]=c;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[d>>2]|0}else k=c}while((k|0)!=(j|0));j=f[M>>2]|0}Hta(j)}x=0;Ea(4);M=x;x=0;if(M&1){e=190;break f}else{e=177;break f}}while(0);x=0;Ea(4);M=x;x=0;if(M&1){M=Za(0)|0;soa(M)}else k=j}while(0);g:do if((e|0)==177){x=0;j=qa(318,80)|0;M=x;x=0;if(M&1)e=190;else{d=J;i=g;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));x=0;Ga(459,K|0,N|0);M=x;x=0;do if(M&1)k=Ya()|0;else{x=0;d=H;i=J;l=d+40|0;do{f[d>>2]=f[i>>2];d=d+4|0;i=i+4|0}while((d|0)<(l|0));Na(1,j|0,H|0,K|0,0,0,0,1,1);M=x;x=0;if(M&1){k=Ya()|0;if((b[K+11>>0]|0)>=0)break;Hta(f[K>>2]|0);break}else{if((b[K+11>>0]|0)>=0){e=196;break g}Hta(f[K>>2]|0);e=196;break g}}while(0);Hta(j)}}while(0);if((e|0)==190)k=Ya()|0;else if((e|0)==196){if((b[N+11>>0]|0)>=0){u=L;return j|0}Hta(f[N>>2]|0);u=L;return j|0}if((b[N+11>>0]|0)>=0)jb(k|0);Hta(f[N>>2]|0);jb(k|0);return 0}function qe(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;J=0;z=u;u=u+416|0;D=z+120|0;B=z+80|0;r=z+40|0;n=z;L=z+400|0;G=z+392|0;H=z+380|0;F=z+308|0;j=z+368|0;p=z+360|0;q=z+320|0;t=z+296|0;s=z+288|0;v=z+280|0;w=z+240|0;A=z+224|0;y=z+216|0;k=z+176|0;o=z+160|0;K=L+11|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;x=0;d=ta(92,c|0,1,0)|0;E=x;x=0;a:do if(E&1)J=18;else{b:do if(d|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,D|0);x=0}else{if(i>>>0<11){b[D+11>>0]=i;d=D}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;E=x;x=0;if(E&1)break;f[D>>2]=d;f[D+8>>2]=g|-2147483648;f[D+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;if((b[K>>0]|0)<0){b[f[L>>2]>>0]=0;f[L+4>>2]=0}else{b[L>>0]=0;b[K>>0]=0}x=0;Ga(501,L|0,0);E=x;x=0;if(E&1){H=Za(0)|0;soa(H)}else{f[L>>2]=f[D>>2];f[L+4>>2]=f[D+4>>2];f[L+8>>2]=f[D+8>>2];break b}}while(0);d=Ya()|0;break a}while(0);x=0;ta(93,c|0,1,0)|0;E=x;x=0;if(E&1)J=18;else{x=0;Ga(600,G|0,c|0);E=x;x=0;if(E&1)d=Ya()|0;else{E=H+11|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;d=ta(94,c|0,1,0)|0;C=x;x=0;c:do if(C&1)d=Ya()|0;else{d:do if(d|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,D|0);x=0}else{if(i>>>0<11){b[D+11>>0]=i;d=D}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;C=x;x=0;if(C&1)break;f[D>>2]=d;f[D+8>>2]=g|-2147483648;f[D+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;if((b[E>>0]|0)<0){b[f[H>>2]>>0]=0;f[H+4>>2]=0}else{b[H>>0]=0;b[E>>0]=0}x=0;Ga(501,H|0,0);C=x;x=0;if(C&1){F=Za(0)|0;soa(F)}else{f[H>>2]=f[D>>2];f[H+4>>2]=f[D+4>>2];f[H+8>>2]=f[D+8>>2];break d}}while(0);d=Ya()|0;break c}while(0);C=F+11|0;e=G+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;d=f[e>>2]|0;e:do if(!d){l=0;J=53}else{g=f[(f[d>>2]|0)+28>>2]|0;f[j>>2]=0;f[j+4>>2]=5;b[j+8>>0]=0;x=0;m=D;i=j;j=m+12|0;do{b[m>>0]=b[i>>0]|0;m=m+1|0;i=i+1|0}while((m|0)<(j|0));Ia(g|0,B|0,d|0,D|0);m=x;x=0;do if(m&1)d=Ya()|0;else{x=0;sa(986,F|0,B|0)|0;m=x;x=0;if(m&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);l=f[e>>2]|0;d=l;J=53;break e}while(0)}while(0);f:do if((J|0)==53){g:do if(!d)J=112;else if((f[327]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;k=qa(318,88)|0;o=x;x=0;h:do if(o&1)J=88;else{c=c+108|0;m=n;i=c;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Fa(427,k|0);o=x;x=0;do if(o&1)d=Ya()|0;else{m=k+12|0;i=n;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;d=k+56|0;f[k>>2]=11536;f[d>>2]=4;e=k+60|0;f[e>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);o=x;x=0;if(o&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{D=g+-8|0;f[j>>2]=D;Kc[f[f[D>>2]>>2]&511](D);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=11364;f[e>>2]=11496;b[k+80>>0]=1;f[k+84>>2]=0;f[d>>2]=4;x=0;Ga(462,D|0,k|0);o=x;x=0;if(o&1){J=88;break h}f[D>>2]=13648;h=D+4|0;d=(f[h>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;o=x;x=0;i:do if(o&1)J=91;else{m=q;i=c;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Ga(459,t|0,L|0);o=x;x=0;do if(o&1)d=Ya()|0;else{m=r;i=q;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Fa(427,g|0);q=x;x=0;do if(q&1){d=1;J=93}else{m=g+12|0;i=r;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=4;f[g>>2]=11668;b[g+60>>0]=0;b[g+61>>0]=0;x=0;Ia(101,g+64|0,t|0,1);r=x;x=0;if(r&1){d=Ya()|0;e=1;J=94;break}f[g+76>>2]=0;x=0;Ga(462,p|0,g|0);r=x;x=0;if(r&1){d=0;J=93;break}f[p>>2]=7696;x=0;Ga(e|0,d|0,p|0);r=x;x=0;if(r&1){d=Ya()|0;_P(p);e=0;break}_P(p);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);d=(f[h>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ga(462,s|0,l|0);t=x;x=0;if(t&1){J=91;break i}f[s>>2]=7696;x=0;Ga(e|0,d|0,s|0);t=x;x=0;if(t&1){d=Ya()|0;_P(s);break i}_P(s);d=(f[h>>2]|0)+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;g=qa(318,80)|0;t=x;x=0;if(t&1){J=91;break i}m=w;i=c;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Ga(459,A|0,H|0);t=x;x=0;do if(t&1)d=Ya()|0;else{m=B;i=w;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Fa(427,g|0);w=x;x=0;do if(w&1){d=1;J=102}else{m=g+12|0;i=B;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=4;f[g>>2]=11668;b[g+60>>0]=0;b[g+61>>0]=0;x=0;Ia(101,g+64|0,A|0,1);B=x;x=0;if(B&1){d=Ya()|0;e=1;J=103;break}f[g+76>>2]=0;x=0;Ga(462,v|0,g|0);B=x;x=0;if(B&1){d=0;J=102;break}f[v>>2]=7696;x=0;Ga(e|0,d|0,v|0);B=x;x=0;if(B&1){d=Ya()|0;_P(v);e=0;break}_P(v);if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);x=0;Ga(462,y|0,f[h>>2]|0);B=x;x=0;if(B&1){J=91;break i}f[y>>2]=13648;x=0;Ga(462,a|0,f[y+4>>2]|0);B=x;x=0;if(B&1){d=Ya()|0;_P(y);break i}else{f[a>>2]=7904;_P(y);_P(D);break g}}while(0);if((J|0)==102){B=Ya()|0;e=d;d=B;J=103}if((b[A+11>>0]|0)<0){Hta(f[A>>2]|0);if(e)break;else break i}else if(e)break;else break i}while(0);Hta(g);break i}while(0);if((J|0)==93){B=Ya()|0;e=d;d=B;J=94}if((b[t+11>>0]|0)<0){Hta(f[t>>2]|0);if(e)break;else break i}else if(e)break;else break i}while(0);Hta(g)}while(0);if((J|0)==91)d=Ya()|0;_P(D);break h}while(0);Hta(k)}while(0);if((J|0)==88)d=Ya()|0;break f}else J=112;while(0);j:do if((J|0)==112){x=0;Ia(80,D|0,L|0,F|0);A=x;x=0;do if(A&1){d=Ya()|0;J=130}else{d=b[E>>0]|0;A=d<<24>>24<0;x=0;d=ta(41,D|0,(A?f[H>>2]|0:H)|0,(A?f[H+4>>2]|0:d&255)|0)|0;A=x;x=0;if(A&1){d=Ya()|0;if((b[D+11>>0]|0)>=0){J=130;break}Hta(f[D>>2]|0);J=130;break}f[B>>2]=f[d>>2];f[B+4>>2]=f[d+4>>2];f[B+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);x=0;g=qa(318,80)|0;A=x;x=0;k:do if(A&1)d=Ya()|0;else{m=k;i=c+108|0;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Ga(459,o|0,B|0);A=x;x=0;do if(A&1)d=Ya()|0;else{m=D;i=k;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));x=0;Fa(427,g|0);A=x;x=0;do if(A&1){d=1;J=133}else{m=g+12|0;i=D;j=m+40|0;do{f[m>>2]=f[i>>2];m=m+4|0;i=i+4|0}while((m|0)<(j|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=4;f[g>>2]=11668;b[g+60>>0]=0;b[g+61>>0]=0;x=0;Ia(101,g+64|0,o|0,1);D=x;x=0;if(D&1){d=Ya()|0;e=1;break}f[g+76>>2]=0;x=0;Ga(462,a|0,g|0);J=x;x=0;if(J&1){d=0;J=133;break}f[a>>2]=7904;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);break j}while(0);if((J|0)==133){D=Ya()|0;e=d;d=D}if((b[o+11>>0]|0)<0){Hta(f[o>>2]|0);if(e)break;else break k}else if(e)break;else break k}while(0);Hta(g)}while(0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0)}while(0);break f}while(0);if((b[C>>0]|0)<0)Hta(f[F>>2]|0);if((b[E>>0]|0)<0)Hta(f[H>>2]|0);_P(G);if((b[K>>0]|0)>=0){u=z;return}Hta(f[L>>2]|0);u=z;return}while(0);if((b[C>>0]|0)<0)Hta(f[F>>2]|0)}while(0);if((b[E>>0]|0)<0)Hta(f[H>>2]|0);_P(G)}}}while(0);if((J|0)==18)d=Ya()|0;if((b[K>>0]|0)>=0)jb(d|0);Hta(f[L>>2]|0);jb(d|0)}function re(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;S=u;u=u+352|0;T=S;X=S+268|0;c=S+312|0;m=S+300|0;k=S+288|0;V=S+248|0;O=S+280|0;U=S+88|0;P=S+256|0;R=S+40|0;Q=S+232|0;N=S+48|0;n=X+11|0;b[n>>0]=10;j=X;l=40989;o=j+10|0;do{b[j>>0]=b[l>>0]|0;j=j+1|0;l=l+1|0}while((j|0)<(o|0));b[X+10>>0]=0;j=c;l=g;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));x=0;Ga(511,m|0,h|0);W=x;x=0;do if(W&1)c=Ya()|0;else{x=0;j=T;l=c;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));M=wa(29,X|0,a|0,e|0,T|0,m|0)|0;W=x;x=0;if(W&1){c=Ya()|0;k=I;a=f[m>>2]|0;if(!a)break;l=m+4|0;e=f[l>>2]|0;if((e|0)!=(a|0)){do{j=e+-52|0;f[l>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[l>>2]|0}else e=j}while((e|0)!=(a|0));a=f[m>>2]|0}Hta(a);break}c=f[m>>2]|0;if(c|0){j=m+4|0;a=f[j>>2]|0;if((a|0)!=(c|0)){do{e=a+-52|0;f[j>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[j>>2]|0}else a=e}while((a|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[X>>2]|0);a=M+64|0;e=M+68|0;do if((f[e>>2]|0)==(f[a>>2]|0)){c=VN(80)|0;f[k>>2]=c;f[k+8>>2]=-2147483568;f[k+4>>2]=68;j=c;l=41e3;o=j+68|0;do{b[j>>0]=b[l>>0]|0;j=j+1|0;l=l+1|0}while((j|0)<(o|0));b[c+68>>0]=0;x=0;j=T;l=g;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));Ia(100,k|0,T|0,h|0);W=x;x=0;if(!(W&1)){if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}c=Ya()|0;if((b[k+11>>0]|0)>=0){X=c;jb(X|0)}Hta(f[k>>2]|0);X=c;jb(X|0)}while(0);f[X>>2]=0;W=X+4|0;f[W>>2]=0;f[X+8>>2]=0;v=(f[e>>2]|0)-(f[a>>2]|0)>>3;a:do if(!v)k=106;else{w=O+4|0;y=V+4|0;K=U+64|0;z=U+8|0;H=U+12|0;A=U+4|0;B=U+64|0;m=U+136|0;n=U+140|0;F=U+44|0;p=U+60|0;C=T+11|0;E=U+8|0;D=P+11|0;G=F+11|0;q=T+4|0;r=d+16|0;L=U+11|0;s=X+8|0;t=R+4|0;J=Q+4|0;k=0;while(1){x=0;Ia(106,O|0,M|0,k|0);o=x;x=0;if(o&1){k=58;break}x=0;c=qa(336,f[w>>2]|0)|0;o=x;x=0;if(o&1){k=59;break}x=0;Ga(462,V|0,c|0);o=x;x=0;if(o&1){k=59;break}f[V>>2]=7696;_P(O);c=f[y>>2]|0;if((f[c+56>>2]|0)==8){f[z>>2]=16496;f[U>>2]=2284;f[K>>2]=2304;f[A>>2]=0;x=0;Ga(531,B|0,H|0);o=x;x=0;if(o&1){k=46;break}f[m>>2]=0;f[n>>2]=-1;f[U>>2]=16476;f[K>>2]=16516;f[z>>2]=16496;x=0;Fa(437,H|0);o=x;x=0;if(o&1){k=47;break}f[H>>2]=16336;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[p>>2]=24;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;x=0;Ga(532,H|0,T|0);o=x;x=0;if(o&1){k=41;break}if((b[C>>0]|0)<0)Hta(f[T>>2]|0);x=0;ta(44,E|0,41069,63)|0;o=x;x=0;if(o&1){k=61;break}x=0;ta(44,E|0,41133,68)|0;o=x;x=0;if(o&1){k=61;break}x=0;Ga(533,P|0,H|0);o=x;x=0;if(o&1){k=61;break}x=0;j=T;l=g;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));Ia(100,P|0,T|0,h|0);o=x;x=0;if(o&1){k=62;break}if((b[D>>0]|0)<0)Hta(f[P>>2]|0);f[U>>2]=16476;f[K>>2]=16516;f[E>>2]=16496;f[H>>2]=16336;if((b[G>>0]|0)<0)Hta(f[F>>2]|0);Bca(H);KU(U,16528);uma(K);c=f[y>>2]|0}x=0;c=qa(334,c|0)|0;o=x;x=0;if(o&1){k=72;break}x=0;Ga(462,T|0,c|0);o=x;x=0;if(o&1){k=72;break}f[T>>2]=16800;c=f[q>>2]|0;if(c|0)b[c+60>>0]=0;_P(T);c=f[y>>2]|0;a=f[(f[c>>2]|0)+28>>2]|0;x=0;j=T;l=f[r>>2]|0;o=j+12|0;do{b[j>>0]=b[l>>0]|0;j=j+1|0;l=l+1|0}while((j|0)<(o|0));Ia(a|0,U|0,c|0,T|0);o=x;x=0;if(o&1){k=91;break}c=(b[L>>0]|0)<0?f[U>>2]|0:U;x=0;Ga(511,Q|0,h|0);o=x;x=0;if(o&1){k=92;break}x=0;Ja(14,N|0,39174,0,-1);o=x;x=0;if(o&1){k=93;break}x=0;j=T;l=N;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));La(14,R|0,c|0,d|0,Q|0,T|0,0);o=x;x=0;if(o&1){k=93;break}c=f[Q>>2]|0;if(c|0){a=f[J>>2]|0;if((a|0)!=(c|0)){do{e=a+-52|0;f[J>>2]=e;a=a+-12|0;if((b[a+11>>0]|0)<0){Hta(f[a>>2]|0);a=f[J>>2]|0}else a=e}while((a|0)!=(c|0));c=f[Q>>2]|0}Hta(c)}c=f[W>>2]|0;if((c|0)==(f[s>>2]|0)){x=0;Ga(565,X|0,R|0);o=x;x=0;if(o&1){k=100;break}}else{x=0;Ga(462,c|0,f[t>>2]|0);o=x;x=0;if(o&1){k=100;break}f[c>>2]=7168;f[W>>2]=(f[W>>2]|0)+8}_P(R);if((b[L>>0]|0)<0)Hta(f[U>>2]|0);_P(V);k=k+1|0;if(k>>>0>=v>>>0){k=31;break}}switch(k|0){case 31:{c=f[X>>2]|0;if((c|0)==(f[W>>2]|0)){k=106;break a}x=0;Ga(462,T|0,f[c+4>>2]|0);Q=x;x=0;if(Q&1){c=Ya()|0;a=I}else{f[T>>2]=7168;a=c+8|0;b:do if((a|0)==(f[W>>2]|0))k=151;else{s=U+4|0;l=U+8|0;m=i+4|0;n=i+8|0;o=V+4|0;p=R+4|0;q=T+4|0;r=U+8|0;c:while(1){x=0;Ga(462,V|0,f[c+12>>2]|0);Q=x;x=0;if(Q&1){k=127;break}f[V>>2]=7168;f[U>>2]=0;f[s>>2]=0;f[l>>2]=0;c=f[m>>2]|0;if((c|0)==(f[n>>2]|0)){x=0;Ga(565,i|0,T|0);Q=x;x=0;if(Q&1){k=128;break}}else{x=0;Ga(462,c|0,f[q>>2]|0);Q=x;x=0;if(Q&1){k=128;break}f[c>>2]=7168;f[m>>2]=(f[m>>2]|0)+8}x=0;c=ua(7,f[o>>2]|0,i|0,h|0,1)|0;Q=x;x=0;if(Q&1){k=129;break}x=0;Ga(462,R|0,c|0);Q=x;x=0;if(Q&1){k=129;break}f[R>>2]=7168;e=f[m>>2]|0;c=e+-8|0;do{Q=e+-8|0;f[m>>2]=Q;Kc[f[f[Q>>2]>>2]&511](Q);e=f[m>>2]|0}while((e|0)!=(c|0));e=f[p>>2]|0;k=(f[e+80>>2]|0)-(f[e+76>>2]|0)>>3;d:do if(k|0){c=0;while(1){e=f[e+76>>2]|0;j=f[s>>2]|0;if((j|0)==(f[r>>2]|0)){x=0;Ga(514,U|0,e+(c<<3)|0);Q=x;x=0;if(Q&1){k=142;break c}}else{x=0;Ga(462,j|0,f[e+(c<<3)+4>>2]|0);Q=x;x=0;if(Q&1){k=142;break c}f[j>>2]=15556;f[s>>2]=(f[s>>2]|0)+8}c=c+1|0;if(c>>>0>=k>>>0)break d;e=f[p>>2]|0}}while(0);c=(f[q>>2]|0)+76|0;if((c|0)!=(U|0)){x=0;Ia(108,c|0,f[U>>2]|0,f[s>>2]|0);Q=x;x=0;if(Q&1){k=142;break}}_P(R);c=f[U>>2]|0;if(c|0){e=f[s>>2]|0;if((e|0)!=(c|0)){do{Q=e+-8|0;f[s>>2]=Q;Kc[f[f[Q>>2]>>2]&511](Q);e=f[s>>2]|0}while((e|0)!=(c|0));c=f[U>>2]|0}Hta(c)}_P(V);c=a+8|0;if((c|0)==(f[W>>2]|0)){k=151;break b}else{Q=a;a=c;c=Q}}if((k|0)==127){c=Ya()|0;a=I}else if((k|0)==128){c=Ya()|0;a=I;k=144}else if((k|0)==129){c=Ya()|0;a=I;k=143}else if((k|0)==142){c=Ya()|0;a=I;_P(R);k=143}if((k|0)==143)k=144;if((k|0)==144){e=f[U>>2]|0;if(e|0){j=f[s>>2]|0;if((j|0)!=(e|0)){do{S=j+-8|0;f[s>>2]=S;Kc[f[f[S>>2]>>2]&511](S);j=f[s>>2]|0}while((j|0)!=(e|0));e=f[U>>2]|0}Hta(e)}_P(V)}}while(0);if((k|0)==151){x=0;Fa(443,V|0);U=x;x=0;if(!(U&1)){c=f[T+4>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,V|0)|0;V=x;x=0;if(!(V&1)){_P(T);e=c;k=157;break a}}c=Ya()|0;a=I}_P(T)}j=c;k=163;break a}case 41:{c=Ya()|0;a=I;if((b[C>>0]|0)<0)Hta(f[T>>2]|0);if((b[G>>0]|0)<0)Hta(f[F>>2]|0);Bca(H);k=48;break}case 46:{c=Ya()|0;a=I;k=60;break}case 47:{c=Ya()|0;a=I;k=48;break}case 58:{c=Ya()|0;a=I;break}case 59:{c=Ya()|0;a=I;_P(O);break}case 61:{c=Ya()|0;a=I;k=64;break}case 62:{c=Ya()|0;a=I;if((b[D>>0]|0)<0){Hta(f[P>>2]|0);k=64}else k=64;break}case 72:{c=Ya()|0;a=I;k=104;break}case 91:{c=Ya()|0;a=I;k=103;break}case 92:{c=Ya()|0;a=I;k=101;break}case 93:{c=Ya()|0;a=I;e=f[Q>>2]|0;if(!e)k=101;else{j=f[J>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[J>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[J>>2]|0}else j=k}while((j|0)!=(e|0));e=f[Q>>2]|0}Hta(e);k=101}break}case 100:{c=Ya()|0;a=I;_P(R);k=101;break}}if((k|0)==48){KU(U,16528);k=60}else if((k|0)==64){f[U>>2]=16476;f[K>>2]=16516;f[E>>2]=16496;f[H>>2]=16336;if((b[G>>0]|0)<0)Hta(f[F>>2]|0);Bca(H);KU(U,16528);uma(K);k=67}else if((k|0)==101)if((b[L>>0]|0)<0){Hta(f[U>>2]|0);k=103}else k=103;if((k|0)==60){uma(K);k=67}else if((k|0)==103)k=104;if((k|0)==67)k=104;if((k|0)==104)_P(V);j=c;k=163}while(0);do if((k|0)==106){x=0;e=qa(318,60)|0;V=x;x=0;if(V&1){j=Ya()|0;a=I;k=163;break}j=T;l=g;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));x=0;Fa(427,e|0);V=x;x=0;if(V&1){j=Ya()|0;a=I;Hta(e);k=163;break}else{j=e+12|0;l=T;o=j+40|0;do{f[j>>2]=f[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(o|0));b[e+52>>0]=0;b[e+53>>0]=0;b[e+54>>0]=0;f[e>>2]=13152;f[e+56>>2]=8;k=157;break}}while(0);if((k|0)==157){c=f[X>>2]|0;if(!c){u=S;return e|0}a=f[W>>2]|0;if((a|0)!=(c|0)){do{V=a+-8|0;f[W>>2]=V;Kc[f[f[V>>2]>>2]&511](V);a=f[W>>2]|0}while((a|0)!=(c|0));c=f[X>>2]|0}Hta(c);u=S;return e|0}else if((k|0)==163){c=f[X>>2]|0;if(c|0){e=f[W>>2]|0;if((e|0)!=(c|0)){do{V=e+-8|0;f[W>>2]=V;Kc[f[f[V>>2]>>2]&511](V);e=f[W>>2]|0}while((e|0)!=(c|0));c=f[X>>2]|0}Hta(c)}X=j;jb(X|0)}}while(0);if((b[n>>0]|0)<0)Hta(f[X>>2]|0);X=c;jb(X|0);return 0}function se(a,b,c){a=a|0;b=b|0;c=c|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;f[fc+24>>2]=c;if((ec|0)==1)ec=3}Vc(hc+40672|0)} +function rd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;ha=0;ga=u;u=u+368|0;ca=ga+312|0;ia=ga+280|0;fa=ga+272|0;ea=ga+264|0;da=ga+252|0;S=ga+248|0;_=ga+40|0;aa=ga;na=ga+236|0;i=ga+352|0;ma=ga+224|0;ka=ga+200|0;ba=ga+192|0;$=ga+128|0;O=ga+216|0;Z=ga+104|0;Y=ga+96|0;P=ga+152|0;U=ga+144|0;V=ga+136|0;T=ga+120|0;Q=ga+112|0;X=ga+80|0;UE(a);h=f[c+4>>2]|0;x=0;Ga(462,ca|0,d|0);la=x;x=0;do if(la&1){h=Ya()|0;ha=10}else{f[ca>>2]=15572;x=0;Ia(141,na|0,h|0,ca|0);la=x;x=0;if(la&1){h=Ya()|0;_P(ca);ha=10;break}_P(ca);f[ma>>2]=0;la=ma+4|0;f[la>>2]=0;f[ma+8>>2]=0;x=0;Ia(144,na|0,i|0,ma|0);ja=x;x=0;a:do if(ja&1){h=Ya()|0;o=I}else{f[ka>>2]=0;ja=ka+4|0;f[ja>>2]=0;f[ka+8>>2]=0;h=f[ma>>2]|0;p=f[la>>2]|0;b:do if((h|0)!=(p|0)){q=d+12|0;r=ia+4|0;s=ba+4|0;t=O+4|0;v=$+4|0;w=ca+4|0;y=aa+4|0;z=_+4|0;A=Z+4|0;B=Y+4|0;C=X+4|0;D=X+8|0;W=X+4|0;E=d+92|0;F=d+96|0;G=ca+8|0;H=ka+8|0;J=ca+4|0;K=ca+12|0;R=ca+8|0;L=fa+4|0;M=ea+4|0;N=W;c:while(1){x=0;Ga(462,ia|0,f[h+4>>2]|0);ha=x;x=0;if(ha&1){ha=25;break}f[ia>>2]=15556;x=0;n=qa(318,108)|0;ha=x;x=0;if(ha&1){ha=26;break}i=aa;j=q;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,n|0);ha=x;x=0;if(ha&1){ha=27;break}i=n+12|0;j=aa;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;f[n>>2]=15620;b[n+60>>0]=0;b[n+61>>0]=0;b[n+62>>0]=0;f[n+64>>2]=0;f[n+68>>2]=0;f[n+56>>2]=7;i=n+72|0;f[i>>2]=15516;m=n+76|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(513,m|0,0);ha=x;x=0;if(ha&1){ha=16;break}f[n>>2]=15300;f[i>>2]=15476;ha=n+96|0;f[ha>>2]=0;f[n+100>>2]=0;f[n+92>>2]=ha;b[n+104>>0]=0;b[n+105>>0]=0;x=0;Ga(462,ba|0,n|0);ha=x;x=0;if(ha&1){ha=26;break}f[ba>>2]=15572;i=f[h+8>>2]|0;j=f[h+12>>2]|0;if((i|0)!=(j|0))do{ha=f[i+12>>2]|0;b[ha+104>>0]=1;o=(f[s>>2]|0)+72|0;x=0;Ga(f[(f[o>>2]|0)+24>>2]|0,o|0,((ha|0)==0?0:ha+72|0)|0);ha=x;x=0;if(ha&1){ha=31;break c}i=i+16|0}while((i|0)!=(j|0));o=f[r>>2]|0;x=0;i=sa(1051,d|0,f[s>>2]|0)|0;ha=x;x=0;if(ha&1){ha=49;break}x=0;Ga(462,aa|0,i|0);ha=x;x=0;if(ha&1){ha=49;break}f[aa>>2]=15572;x=0;Ga(566,O|0,o|0);ha=x;x=0;if(ha&1){ha=50;break}x=0;Ga(462,$|0,f[(f[t>>2]|0)+80>>2]|0);ha=x;x=0;if(ha&1){ha=51;break}f[$>>2]=15572;_P(O);i=f[v>>2]|0;if(!i){x=0;n=qa(318,108)|0;ha=x;x=0;if(ha&1){ha=52;break}i=_;j=q;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Fa(427,n|0);ha=x;x=0;if(ha&1){ha=53;break}i=n+12|0;j=_;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;f[n>>2]=15620;b[n+60>>0]=0;b[n+61>>0]=0;b[n+62>>0]=0;f[n+64>>2]=0;f[n+68>>2]=0;f[n+56>>2]=7;i=n+72|0;f[i>>2]=15516;m=n+76|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(513,m|0,0);ha=x;x=0;if(ha&1){ha=39;break}f[n>>2]=15300;f[i>>2]=15476;ha=n+96|0;f[ha>>2]=0;f[n+100>>2]=0;f[n+92>>2]=ha;b[n+104>>0]=0;b[n+105>>0]=0;x=0;Ga(462,ca|0,n|0);ha=x;x=0;if(ha&1){ha=52;break}f[ca>>2]=15572;if(f[v>>2]|0){x=0;Fa(429,$|0);ha=x;x=0;if(ha&1){ha=55;break}}f[v>>2]=f[w>>2];f[w>>2]=0;_P(ca);i=f[v>>2]|0}x=0;i=sa(988,i|0,f[y>>2]|0)|0;ha=x;x=0;if(ha&1){ha=61;break}x=0;Ga(462,_|0,i|0);ha=x;x=0;if(ha&1){ha=61;break}f[_>>2]=15572;i=f[z>>2]|0;do if(i|0){if((f[i+80>>2]|0)==(f[i+76>>2]|0))break;x=0;i=qa(f[(f[o>>2]|0)+16>>2]|0,o|0)|0;ha=x;x=0;if(ha&1){ha=91;break c}x=0;Ga(462,Z|0,i|0);ha=x;x=0;if(ha&1){ha=91;break c}f[Z>>2]=15556;x=0;l=qa(318,100)|0;ha=x;x=0;if(ha&1){ha=92;break c}i=P;j=q;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));x=0;Ga(462,U|0,f[z>>2]|0);ha=x;x=0;if(ha&1){ha=93;break c}f[U>>2]=15572;x=0;Ga(462,V|0,0);ha=x;x=0;if(ha&1){ha=94;break c}f[V>>2]=15556;x=0;Ga(462,T|0,0);ha=x;x=0;if(ha&1){ha=95;break c}f[T>>2]=7904;x=0;i=ca;j=P;k=i+40|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));La(10,l|0,ca|0,0,U|0,V|0,T|0);ha=x;x=0;if(ha&1){h=1;ha=96;break c}x=0;Ga(462,Y|0,l|0);ha=x;x=0;if(ha&1){h=0;ha=96;break c}f[Y>>2]=15556;_P(T);_P(V);_P(U);x=0;i=qa(322,f[A>>2]|0)|0;ha=x;x=0;if(ha&1){ha=99;break c}j=f[A>>2]|0;x=0;Ga(462,Q|0,f[B>>2]|0);ha=x;x=0;if(ha&1){ha=99;break c}f[Q>>2]=15556;x=0;Ia(86,j|0,Q|0,i|0);ha=x;x=0;if(ha&1){ha=100;break c}_P(Q);f[C>>2]=0;f[D>>2]=0;f[X>>2]=W;i=f[E>>2]|0;if((i|0)!=(F|0)){k=i;while(1){ha=k+16|0;f[S>>2]=N;x=0;f[ca>>2]=f[S>>2];ua(17,X|0,ca|0,ha|0,ha|0)|0;ha=x;x=0;if(ha&1){ha=101;break c}i=f[k+4>>2]|0;do if(!i){j=k+8|0;i=f[j>>2]|0;if((f[i>>2]|0)==(k|0))break;do{ha=f[j>>2]|0;j=ha+8|0;i=f[j>>2]|0}while((f[i>>2]|0)!=(ha|0))}else while(1){j=f[i>>2]|0;if(!j)break;else i=j}while(0);if((i|0)==(F|0))break;else k=i}}x=0;Ga(462,ca|0,o|0);ha=x;x=0;if(ha&1){ha=102;break c}f[ca>>2]=15556;x=0;Ja(13,da|0,X|0,ca|0,ca|0);ha=x;x=0;if(ha&1){ha=103;break c}_P(ca);i=f[A>>2]|0;if(i|0)do{x=0;Ga(462,fa|0,f[i+80>>2]|0);ha=x;x=0;if(ha&1){ha=105;break c}f[fa>>2]=15572;j=f[L>>2]|0;_P(fa);if(j|0){x=0;Ga(666,j|0,X|0);ha=x;x=0;if(ha&1){ha=105;break c}}x=0;Ga(462,ea|0,f[i+88>>2]|0);ha=x;x=0;if(ha&1){ha=105;break c}f[ea>>2]=15556;i=f[M>>2]|0;_P(ea)}while((i|0)!=0);i=f[s>>2]|0;if(b[i+60>>0]|0)b[(f[A>>2]|0)+60>>0]=1;x=0;Ga(462,ca|0,i|0);ha=x;x=0;if(ha&1){ha=117;break c}f[ca>>2]=15572;x=0;Ga(462,G|0,f[A>>2]|0);ha=x;x=0;if(ha&1){ha=108;break c}f[G>>2]=15556;j=f[ja>>2]|0;if(j>>>0<(f[H>>2]|0)>>>0){x=0;Ga(462,j|0,f[J>>2]|0);ha=x;x=0;if(ha&1){ha=119;break c}f[j>>2]=15572;i=j+8|0;x=0;Ga(462,i|0,f[K>>2]|0);ha=x;x=0;if(ha&1){ha=112;break c}f[i>>2]=15556;f[ja>>2]=(f[ja>>2]|0)+16}else{x=0;Ga(668,ka|0,ca|0);ha=x;x=0;if(ha&1){ha=119;break c}}_P(R);_P(ca);WI(X,f[W>>2]|0);_P(Y);_P(Z)}while(0);_P(_);_P($);_P(aa);_P(ba);_P(ia);h=h+20|0;if((h|0)==(p|0)){ha=6;break}}d:switch(ha|0){case 6:{i=f[ka>>2]|0;h=f[ja>>2]|0;e:do if((i|0)!=(h|0)){z=e+4|0;A=da+4|0;B=da+8|0;P=da+4|0;C=ea+4|0;D=ca+20|0;O=ca+24|0;E=ia+12|0;F=ia+20|0;M=ia+24|0;N=ia+12|0;G=a+20|0;H=a+24|0;J=ia+16|0;d=ca+12|0;K=P;L=fa+4|0;f:while(1){x=0;Ga(462,fa|0,f[i+4>>2]|0);ba=x;x=0;if(ba&1){ha=172;break}f[fa>>2]=15572;x=0;Ga(462,ea|0,f[i+12>>2]|0);ba=x;x=0;if(ba&1){ha=173;break}f[ea>>2]=15556;k=f[z>>2]|0;do if(!k)ha=175;else{j=z;g:while(1){m=k;while(1){k=f[m+20>>2]|0;if(!k)break;l=f[L>>2]|0;if(!l)break;x=0;k=sa(f[(f[k>>2]|0)+160>>2]|0,k|0,l|0)|0;ba=x;x=0;if(ba&1){ha=174;break f}if(!k)break;k=f[m+4>>2]|0;if(!k)break g;else m=k}k=f[m>>2]|0;if(!k){j=m;break}else j=m}if((j|0)==(z|0))ha=175;else{k=f[L>>2]|0;if(k|0){j=f[j+20>>2]|0;if(j|0){x=0;j=sa(f[(f[k>>2]|0)+160>>2]|0,k|0,j|0)|0;ba=x;x=0;if(ba&1){ha=174;break f}if(j){ha=175;break}}}_P(ea);_P(fa)}}while(0);if((ha|0)==175){ha=0;f[A>>2]=0;f[B>>2]=0;f[da>>2]=P;j=f[e>>2]|0;if((j|0)!=(z|0)){l=j;while(1){ba=l+16|0;f[ia>>2]=K;x=0;f[ca>>2]=f[ia>>2];ua(16,da|0,ca|0,ba|0,ba|0)|0;ba=x;x=0;if(ba&1){ha=202;break f}j=f[l+4>>2]|0;do if(!j){k=l+8|0;j=f[k>>2]|0;if((f[j>>2]|0)==(l|0))break;do{ba=f[k>>2]|0;k=ba+8|0;j=f[k>>2]|0}while((f[j>>2]|0)!=(ba|0))}else while(1){k=f[j>>2]|0;if(!k)break;else j=k}while(0);if((j|0)==(z|0))break;else l=j}}x=0;Ja(49,ca|0,da|0,fa|0,fa|0);ba=x;x=0;if(ba&1){ha=203;break}x=0;La(25,ca|0,c|0,f[C>>2]|0,da|0,g|0,0);ba=x;x=0;if(ba&1){ha=204;break}j=f[D>>2]|0;l=f[O>>2]|0;m=(l|0)==0;if(!m)ega(l);ba=f[j+4>>2]|0;k=f[j+16>>2]|0;p=ba+(((k>>>0)/146|0)<<2)|0;if((f[j+8>>2]|0)==(ba|0))j=0;else j=(f[p>>2]|0)+(((k>>>0)%146|0)*28|0)|0;if(!m)QZ(l);k=f[D>>2]|0;n=f[O>>2]|0;o=(n|0)==0;if(!o)ega(n);l=(f[k+16>>2]|0)+(f[k+20>>2]|0)|0;m=f[k+4>>2]|0;if((f[k+8>>2]|0)==(m|0))y=0;else y=(f[m+(((l>>>0)/146|0)<<2)>>2]|0)+(((l>>>0)%146|0)*28|0)|0;if(!o)QZ(n);h:while(1){do{if((y|0)==(j|0))break h;f[ia>>2]=f[j>>2];f[ia+4>>2]=f[j+4>>2];f[ia+8>>2]=f[j+8>>2];x=0;Ga(462,E|0,f[j+16>>2]|0);ba=x;x=0;if(ba&1){ha=222;break f}f[E>>2]=15556;f[F>>2]=f[j+20>>2];k=f[j+24>>2]|0;f[M>>2]=k;if(k|0)ega(k);x=0;k=sa(1048,a|0,ia|0)|0;ba=x;x=0;if(ba&1){ha=223;break f}do if(!k){k=f[G>>2]|0;v=f[H>>2]|0;w=(v|0)==0;if(!w)ega(v);r=k+8|0;m=f[r>>2]|0;s=k+4|0;l=f[s>>2]|0;ba=m-l>>2;o=k+16|0;q=f[o>>2]|0;t=k+20|0;n=f[t>>2]|0;if((((ba|0)==0?0:(ba*146|0)+-1|0)|0)==(n+q|0)){x=0;Fa(433,k|0);ba=x;x=0;if(ba&1){ha=224;break f}n=f[t>>2]|0;k=f[o>>2]|0;m=f[r>>2]|0;l=f[s>>2]|0}else k=q;k=n+k|0;if((m|0)==(l|0))l=0;else l=(f[l+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;f[l>>2]=f[ia>>2];f[l+4>>2]=f[ia+4>>2];f[l+8>>2]=f[ia+8>>2];k=l+12|0;x=0;Ga(462,k|0,f[J>>2]|0);ba=x;x=0;if(ba&1){ha=224;break f}f[k>>2]=15556;f[l+20>>2]=f[F>>2];k=f[M>>2]|0;f[l+24>>2]=k;if(k|0)ega(k);f[t>>2]=(f[t>>2]|0)+1;if(w)break;QZ(v)}while(0);k=f[M>>2]|0;if(k|0)QZ(k);_P(N);j=j+28|0}while((j-(f[p>>2]|0)|0)!=4088);j=p+4|0;p=j;j=f[j>>2]|0}j=f[O>>2]|0;if(j|0)QZ(j);_P(d);SI(da,f[P>>2]|0);_P(ea);_P(fa)}i=i+16|0;if((i|0)==(h|0)){ha=134;break}}switch(ha|0){case 134:{h=f[ka>>2]|0;break e}case 172:{h=Ya()|0;i=I;break}case 173:{h=Ya()|0;i=I;ha=242;break}case 174:{h=Ya()|0;i=I;ha=241;break}case 202:{h=Ya()|0;i=I;SI(da,f[P>>2]|0);ha=240;break}case 203:{h=Ya()|0;i=I;ha=239;break}case 204:{h=Ya()|0;i=I;ha=238;break}case 222:{h=Ya()|0;i=I;ha=233;break}case 223:{h=Ya()|0;i=I;ha=230;break}case 224:{h=Ya()|0;i=I;if(w)ha=230;else{QZ(v);ha=230}break}}if((ha|0)==230){j=f[M>>2]|0;if(j|0)QZ(j);_P(N);ha=233}if((ha|0)==233){j=f[O>>2]|0;if(j|0)QZ(j);_P(d);ha=238}if((ha|0)==238)ha=239;if((ha|0)==239){SI(da,f[P>>2]|0);ha=240}if((ha|0)==240)ha=241;if((ha|0)==241){_P(ea);ha=242}if((ha|0)==242)_P(fa);k=i;break d}while(0);if(h|0){i=f[ja>>2]|0;if((i|0)!=(h|0)){do{a=i+-16|0;f[ja>>2]=a;_P(i+-8|0);_P(a);i=f[ja>>2]|0}while((i|0)!=(h|0));h=f[ka>>2]|0}Hta(h)}h=f[ma>>2]|0;break b}case 16:{h=Ya()|0;i=I;l=n+80|0;j=f[m>>2]|0;if(j|0){k=f[l>>2]|0;if((k|0)!=(j|0)){do{ha=k+-8|0;f[l>>2]=ha;Kc[f[f[ha>>2]>>2]&511](ha);k=f[l>>2]|0}while((k|0)!=(j|0));j=f[m>>2]|0}Hta(j)}ha=28;break}case 25:{h=Ya()|0;i=I;ha=133;break}case 26:{h=Ya()|0;i=I;ha=132;break}case 27:{h=Ya()|0;i=I;ha=28;break}case 31:{h=Ya()|0;i=I;ha=131;break}case 39:{h=Ya()|0;i=I;l=n+80|0;j=f[m>>2]|0;if(j|0){k=f[l>>2]|0;if((k|0)!=(j|0)){do{ha=k+-8|0;f[l>>2]=ha;Kc[f[f[ha>>2]>>2]&511](ha);k=f[l>>2]|0}while((k|0)!=(j|0));j=f[m>>2]|0}Hta(j)}ha=54;break}case 49:{h=Ya()|0;i=I;ha=130;break}case 50:{h=Ya()|0;i=I;ha=129;break}case 51:{h=Ya()|0;i=I;_P(O);ha=129;break}case 52:{h=Ya()|0;i=I;ha=56;break}case 53:{h=Ya()|0;i=I;ha=54;break}case 55:{h=Ya()|0;i=I;_P(ca);ha=56;break}case 61:{h=Ya()|0;i=I;ha=127;break}case 91:{h=Ya()|0;i=I;ha=126;break}case 92:{h=Ya()|0;i=I;ha=125;break}case 93:{h=Ya()|0;i=I;ha=98;break}case 94:{h=Ya()|0;i=I;_P(U);ha=98;break}case 95:{h=Ya()|0;j=1;i=I;ha=97;break}case 96:{ga=Ya()|0;i=I;_P(T);j=h;h=ga;ha=97;break}case 99:{h=Ya()|0;i=I;ha=124;break}case 100:{h=Ya()|0;i=I;_P(Q);ha=124;break}case 101:{h=Ya()|0;i=I;WI(X,f[W>>2]|0);ha=123;break}case 102:{h=Ya()|0;i=I;ha=104;break}case 103:{h=Ya()|0;i=I;_P(ca);ha=104;break}case 105:{h=Ya()|0;i=I;ha=122;break}case 108:{h=Ya()|0;i=I;_P(ca);ha=118;break}case 112:{h=Ya()|0;i=I;_P(j);ha=120;break}case 117:{h=Ya()|0;i=I;ha=118;break}case 119:{h=Ya()|0;i=I;ha=120;break}}if((ha|0)==28){Hta(n);ha=132}else if((ha|0)==54){Hta(n);ha=56}else if((ha|0)==97){_P(V);_P(U);if(j)ha=98;else ha=125}else if((ha|0)==104)ha=122;else if((ha|0)==118)ha=121;else if((ha|0)==120){_P(R);_P(ca);ha=121}if((ha|0)==56)ha=128;else if((ha|0)==98){Hta(l);ha=125}else if((ha|0)==121)ha=122;if((ha|0)==122){WI(X,f[W>>2]|0);ha=123}if((ha|0)==123)ha=124;if((ha|0)==124){_P(Y);ha=125}if((ha|0)==125){_P(Z);ha=126}if((ha|0)==126){_P(_);ha=127}if((ha|0)==127)ha=128;if((ha|0)==128){_P($);ha=129}if((ha|0)==129){_P(aa);ha=130}if((ha|0)==130)ha=131;if((ha|0)==131){_P(ba);ha=132}if((ha|0)==132){_P(ia);ha=133}if((ha|0)==133)k=i;i=f[ka>>2]|0;if(i|0){j=f[ja>>2]|0;if((j|0)!=(i|0)){do{ia=j+-16|0;f[ja>>2]=ia;_P(j+-8|0);_P(ia);j=f[ja>>2]|0}while((j|0)!=(i|0));i=f[ka>>2]|0}Hta(i)}o=k;break a}while(0);if(h|0){i=f[la>>2]|0;if((i|0)!=(h|0)){do{m=i+-20|0;f[la>>2]=m;k=i+-12|0;l=f[k>>2]|0;if(l|0){j=i+-8|0;i=f[j>>2]|0;if((i|0)==(l|0))i=l;else{do{a=i+-16|0;f[j>>2]=a;_P(i+-8|0);_P(a);i=f[j>>2]|0}while((i|0)!=(l|0));i=f[k>>2]|0}Hta(i)}_P(m);i=f[la>>2]|0}while((i|0)!=(h|0));h=f[ma>>2]|0}Hta(h)}h=f[na>>2]|0;if(!h){u=ga;return}j=na+4|0;i=f[j>>2]|0;if((i|0)!=(h|0)){do{ma=i+-16|0;f[j>>2]=ma;_P(i+-8|0);_P(ma);i=f[j>>2]|0}while((i|0)!=(h|0));h=f[na>>2]|0}Hta(h);u=ga;return}while(0);i=f[ma>>2]|0;if(i|0){j=f[la>>2]|0;if((j|0)!=(i|0)){do{n=j+-20|0;f[la>>2]=n;l=j+-12|0;m=f[l>>2]|0;if(m|0){k=j+-8|0;j=f[k>>2]|0;if((j|0)==(m|0))j=m;else{do{ka=j+-16|0;f[k>>2]=ka;_P(j+-8|0);_P(ka);j=f[k>>2]|0}while((j|0)!=(m|0));j=f[l>>2]|0}Hta(j)}_P(n);j=f[la>>2]|0}while((j|0)!=(i|0));i=f[ma>>2]|0}Hta(i)}i=f[na>>2]|0;if(i){k=na+4|0;j=f[k>>2]|0;if((j|0)!=(i|0)){do{ma=j+-16|0;f[k>>2]=ma;_P(j+-8|0);_P(ma);j=f[k>>2]|0}while((j|0)!=(i|0));i=f[na>>2]|0}Hta(i)}}while(0);i=f[a+24>>2]|0;if(!i){na=a+12|0;_P(na);jb(h|0)}QZ(i);na=a+12|0;_P(na);jb(h|0)}function sd(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.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,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;ha=u;u=u+752|0;ea=ha+40|0;ia=ha;c=ha+704|0;w=ha+692|0;E=ha+680|0;N=ha+640|0;ga=ha+288|0;F=ha+600|0;fa=ha+584|0;da=ha+236|0;J=ha+544|0;ca=ha+528|0;aa=ha+212|0;L=ha+488|0;_=ha+472|0;X=ha+200|0;M=ha+432|0;W=ha+420|0;S=ha+408|0;P=ha+368|0;V=ha+352|0;U=ha+312|0;Z=ha+300|0;Y=ha+248|0;$=ha+224|0;G=ha+160|0;T=ha+144|0;O=ha+104|0;R=ha+92|0;H=ha+80|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;y=ia+11|0;b[y>>0]=6;b[ia>>0]=b[39245]|0;b[ia+1>>0]=b[39246]|0;b[ia+2>>0]=b[39247]|0;b[ia+3>>0]=b[39248]|0;b[ia+4>>0]=b[39249]|0;b[ia+5>>0]=b[39250]|0;b[ia+6>>0]=0;B=c;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,w|0,h|0);ba=x;x=0;do if(ba&1)c=Ya()|0;else{x=0;B=ea;C=c;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));ba=wa(26,ia|0,a|0,e|0,ea|0,w|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;l=I;d=f[w>>2]|0;if(!d)break;m=w+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[w>>2]|0}Hta(d);break}c=f[w>>2]|0;if(c|0){j=w+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[ia>>2]|0);f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;d=ea+11|0;b[d>>0]=4;f[ea>>2]=1684369956;b[ea+4>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)j=0;else j=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;d=ea+11|0;b[d>>0]=6;b[ea>>0]=b[39214]|0;b[ea+1>>0]=b[39215]|0;b[ea+2>>0]=b[39216]|0;b[ea+3>>0]=b[39217]|0;b[ea+4>>0]=b[39218]|0;b[ea+5>>0]=b[39219]|0;b[ea+6>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)i=0;else i=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;d=ea+11|0;b[d>>0]=5;b[ea>>0]=b[39221]|0;b[ea+1>>0]=b[39222]|0;b[ea+2>>0]=b[39223]|0;b[ea+3>>0]=b[39224]|0;b[ea+4>>0]=b[39225]|0;b[ea+5>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)z=0;else z=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;d=ea+11|0;b[d>>0]=4;f[ea>>2]=1702193188;b[ea+4>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)y=0;else y=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);c=VN(16)|0;f[ea>>2]=c;f[ea+8>>2]=-2147483632;f[ea+4>>2]=11;B=c;C=39298;D=B+11|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[ea+11>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)m=0;else m=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[ea+11>>0]|0)<0)Hta(f[ea>>2]|0);d=ea+11|0;b[d>>0]=10;B=ea;C=39310;D=B+10|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));b[ea+10>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)A=0;else A=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;d=ea+11|0;b[d>>0]=6;b[ea>>0]=b[39238]|0;b[ea+1>>0]=b[39239]|0;b[ea+2>>0]=b[39240]|0;b[ea+3>>0]=b[39241]|0;b[ea+4>>0]=b[39242]|0;b[ea+5>>0]=b[39243]|0;b[ea+6>>0]=0;x=0;c=sa(992,a|0,ea|0)|0;Q=x;x=0;if(Q&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);ia=c;jb(ia|0)}c=f[c+4>>2]|0;if(!c)Q=0;else Q=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ea>>2]|0);j=(j|0)!=0;l=(i|0)!=0;i=j|l|(z|0)!=0;w=(y|0)!=0;m=(m|0)!=0;c=w|m|(A|0)!=0;do if(i&c){d=VN(96)|0;f[E>>2]=d;f[E+8>>2]=-2147483552;f[E+4>>2]=81;B=d;C=39627;D=B+81|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));b[d+81>>0]=0;x=0;B=ea;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));Ia(100,E|0,ea|0,h|0);D=x;x=0;if(!(D&1)){if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0);break}c=Ya()|0;if((b[E+11>>0]|0)>=0){ia=c;jb(ia|0)}Hta(f[E>>2]|0);ia=c;jb(ia|0)}while(0);if(i){G=VN(112)|0;B=N;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));do if(j){f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;b[ga+11>>0]=4;f[ga>>2]=1684369956;b[ga+4>>0]=0;B=F;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,fa|0,h|0);$=x;x=0;if($&1){c=Ya()|0;y=203;break}x=0;B=ea;C=F;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,ga|0,a|0,e|0,ea|0,fa|0,-0.0,255.0);$=x;x=0;if(!($&1)){E=1;q=k;y=90;break}c=Ya()|0;d=I;y=196}else{E=0;q=+p[ba+64>>3];y=90}while(0);a:do if((y|0)==90){do if(l){f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;b[da+11>>0]=6;b[da>>0]=b[39214]|0;b[da+1>>0]=b[39215]|0;b[da+2>>0]=b[39216]|0;b[da+3>>0]=b[39217]|0;b[da+4>>0]=b[39218]|0;b[da+5>>0]=b[39219]|0;b[da+6>>0]=0;B=J;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,ca|0,h|0);$=x;x=0;if($&1){c=Ya()|0;d=I;break}x=0;B=ea;C=J;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,da|0,a|0,e|0,ea|0,ca|0,-0.0,255.0);$=x;x=0;if(!($&1)){A=1;o=k;y=94;break}c=Ya()|0;d=I;y=185}else{A=0;o=+p[ba+72>>3];y=94}while(0);b:do if((y|0)==94){do if(!z){w=0;n=+p[ba+80>>3];y=98}else{f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;b[aa+11>>0]=5;b[aa>>0]=b[39221]|0;b[aa+1>>0]=b[39222]|0;b[aa+2>>0]=b[39223]|0;b[aa+3>>0]=b[39224]|0;b[aa+4>>0]=b[39225]|0;b[aa+5>>0]=0;B=L;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,_|0,h|0);$=x;x=0;if($&1){c=Ya()|0;d=I;y=182;break}x=0;B=ea;C=L;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,aa|0,a|0,e|0,ea|0,_|0,-0.0,255.0);$=x;x=0;if(!($&1)){w=1;n=k;y=98;break}c=Ya()|0;d=I;y=174}while(0);c:do if((y|0)==98){do if(!Q){j=0;k=+p[ba+88>>3];y=103}else{f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;b[X+11>>0]=6;b[X>>0]=b[39238]|0;b[X+1>>0]=b[39239]|0;b[X+2>>0]=b[39240]|0;b[X+3>>0]=b[39241]|0;b[X+4>>0]=b[39242]|0;b[X+5>>0]=b[39243]|0;b[X+6>>0]=0;B=M;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,W|0,h|0);g=x;x=0;if(g&1){c=Ya()|0;d=I;y=171;break}x=0;B=ea;C=M;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,X|0,a|0,e|0,ea|0,W|0,-0.0,255.0);ea=x;x=0;if(!(ea&1)){j=1;y=103;break}c=Ya()|0;d=I;y=163}while(0);do if((y|0)==103){i=S+11|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;B=ia;C=N;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Fa(427,G|0);ea=x;x=0;do if(ea&1){c=Ya()|0;d=I}else{B=G+12|0;C=ia;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));b[G+52>>0]=0;b[G+53>>0]=0;b[G+54>>0]=0;c=G+56|0;f[c>>2]=0;f[G>>2]=11116;p[G+64>>3]=q;p[G+72>>3]=o;p[G+80>>3]=n;p[G+88>>3]=k;x=0;Ga(459,G+96|0,S|0);ia=x;x=0;if(ia&1){c=Ya()|0;d=I;break}f[G+108>>2]=0;f[c>>2]=3;if((b[i>>0]|0)<0)Hta(f[S>>2]|0);if(j){c=f[W>>2]|0;if(c|0){j=W+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[W>>2]|0}Hta(c)}if((b[X+11>>0]|0)<0)Hta(f[X>>2]|0)}if(w){c=f[_>>2]|0;if(c|0){j=_+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[_>>2]|0}Hta(c)}if((b[aa+11>>0]|0)<0)Hta(f[aa>>2]|0)}if(A){c=f[ca>>2]|0;if(c|0){j=ca+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[ca>>2]|0}Hta(c)}if((b[da+11>>0]|0)<0)Hta(f[da>>2]|0)}if(!E){ia=G;u=ha;return ia|0}c=f[fa>>2]|0;if(c|0){j=fa+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[fa>>2]|0}Hta(c)}if((b[ga+11>>0]|0)<0)Hta(f[ga>>2]|0);ia=G;u=ha;return ia|0}while(0);if((b[i>>0]|0)<0){Hta(f[S>>2]|0);if(j){y=163;break}}else if(j){y=163;break}if(w){y=174;break c}}while(0);do if((y|0)==163){l=f[W>>2]|0;if(!l){y=171;break}m=W+4|0;i=f[m>>2]|0;if((i|0)==(l|0)){Hta(l);y=171;break}do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(l|0));Hta(f[W>>2]|0);y=171}while(0);if((y|0)==171){if((b[X+11>>0]|0)<0)Hta(f[X>>2]|0);if(w){y=174;break}}if(A){y=185;break b}}while(0);do if((y|0)==174){l=f[_>>2]|0;if(!l){y=182;break}m=_+4|0;i=f[m>>2]|0;if((i|0)==(l|0)){Hta(l);y=182;break}do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(l|0));Hta(f[_>>2]|0);y=182}while(0);if((y|0)==182){if((b[aa+11>>0]|0)<0)Hta(f[aa>>2]|0);if(A){y=185;break}}if(E){y=196;break a}else break a}while(0);do if((y|0)==185){l=f[ca>>2]|0;if(!l)break;m=ca+4|0;i=f[m>>2]|0;if((i|0)==(l|0)){Hta(l);break}do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(l|0));Hta(f[ca>>2]|0)}while(0);if((b[da+11>>0]|0)<0)Hta(f[da>>2]|0);if(E)y=196}while(0);do if((y|0)==196){l=f[fa>>2]|0;if(!l){y=203;break}m=fa+4|0;i=f[m>>2]|0;if((i|0)==(l|0)){Hta(l);y=203;break}do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(l|0));Hta(f[fa>>2]|0);y=203}while(0);if((y|0)==203)if((b[ga+11>>0]|0)<0)Hta(f[ga>>2]|0);Hta(G);ia=c;jb(ia|0)}if(!c){if(!Q){c=VN(48)|0;f[H>>2]=c;f[H+8>>2]=-2147483600;f[H+4>>2]=39;B=c;C=39709;D=B+39|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));b[c+39>>0]=0;x=0;B=ea;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));Ia(100,H|0,ea|0,h|0);ia=x;x=0;if(ia&1){c=Ya()|0;if((b[H+11>>0]|0)>=0){ia=c;jb(ia|0)}Hta(f[H>>2]|0);ia=c;jb(ia|0)}else{if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);ia=ba;u=ha;return ia|0}}f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;w=ia+11|0;b[w>>0]=6;b[ia>>0]=b[39238]|0;b[ia+1>>0]=b[39239]|0;b[ia+2>>0]=b[39240]|0;b[ia+3>>0]=b[39241]|0;b[ia+4>>0]=b[39242]|0;b[ia+5>>0]=b[39243]|0;b[ia+6>>0]=0;B=G;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,T|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;B=ea;C=G;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));q=+ka(1,ia|0,a|0,e|0,ea|0,T|0,-0.0,1.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[T>>2]|0;if(!d)break;m=T+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[T>>2]|0}Hta(d);break}c=f[T>>2]|0;if(c|0){j=T+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[T>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ia>>2]|0);i=VN(112)|0;B=O;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));n=+p[ba+64>>3];o=+p[ba+72>>3];k=+p[ba+80>>3];d=R+11|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;B=ea;C=O;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Fa(427,i|0);ia=x;x=0;do if(ia&1)c=Ya()|0;else{B=i+12|0;C=ea;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=n;p[i+72>>3]=o;p[i+80>>3]=k;p[i+88>>3]=q;x=0;Ga(459,i+96|0,R|0);ia=x;x=0;if(ia&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[R>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){ia=i;u=ha;return ia|0}Hta(f[R>>2]|0);ia=i;u=ha;return ia|0}while(0);Hta(i);ia=c;jb(ia|0)}while(0);if((b[w>>0]|0)<0)Hta(f[ia>>2]|0);ia=c;jb(ia|0)}q=+p[ba+64>>3]/255.0;r=+p[ba+72>>3]/255.0;s=+p[ba+80>>3]/255.0;c=r>3],360.0);else r=n/6.0*360.0;d:do if(m){c=VN(16)|0;f[ia>>2]=c;f[ia+8>>2]=-2147483632;f[ia+4>>2]=11;B=c;C=39298;D=B+11|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));b[c+11>>0]=0;B=P;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,V|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;B=ea;C=P;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,ia|0,a|0,e|0,ea|0,V|0,-0.0,100.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[V>>2]|0;if(!d)break;m=V+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[V>>2]|0}Hta(d);break}c=f[V>>2]|0;if(c|0){j=V+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[V>>2]|0}Hta(c)}if((b[ia+11>>0]|0)<0)Hta(f[ia>>2]|0);q=k;break d}while(0);if((b[ia+11>>0]|0)<0)Hta(f[ia>>2]|0);ia=c;jb(ia|0)}else q=k;while(0);e:do if(!A)n=o;else{w=ia+11|0;b[w>>0]=10;B=ia;C=39310;D=B+10|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(D|0));b[ia+10>>0]=0;B=U;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,Z|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;B=ea;C=U;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,ia|0,a|0,e|0,ea|0,Z|0,-0.0,100.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[Z>>2]|0;if(!d)break;m=Z+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[Z>>2]|0}Hta(d);break}c=f[Z>>2]|0;if(c|0){j=Z+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[Z>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ia>>2]|0);n=k;break e}while(0);if((b[w>>0]|0)<0)Hta(f[ia>>2]|0);ia=c;jb(ia|0)}while(0);f:do if(!Q)k=+p[ba+88>>3];else{f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;w=ia+11|0;b[w>>0]=6;b[ia>>0]=b[39238]|0;b[ia+1>>0]=b[39239]|0;b[ia+2>>0]=b[39240]|0;b[ia+3>>0]=b[39241]|0;b[ia+4>>0]=b[39242]|0;b[ia+5>>0]=b[39243]|0;b[ia+6>>0]=0;B=Y;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));x=0;Ga(511,$|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;B=ea;C=Y;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));k=+ka(1,ia|0,a|0,e|0,ea|0,$|0,-0.0,1.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[$>>2]|0;if(!d)break;m=$+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[$>>2]|0}Hta(d);break}c=f[$>>2]|0;if(c|0){j=$+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[$>>2]|0}Hta(c)}if((b[w>>0]|0)<0)Hta(f[ia>>2]|0);break f}while(0);if((b[w>>0]|0)<0)Hta(f[ia>>2]|0);ia=c;jb(ia|0)}while(0);B=ea;C=g;D=B+40|0;do{f[B>>2]=f[C>>2];B=B+4|0;C=C+4|0}while((B|0)<(D|0));ia=Wo(r,q,n,k,0,ea)|0;u=ha;return ia|0}while(0);if((b[y>>0]|0)<0)Hta(f[ia>>2]|0);ia=c;jb(ia|0);return 0}function td(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,o=0,p=0.0,q=0.0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=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;ga=u;u=u+272|0;ha=ga+236|0;la=ga+208|0;ja=ga+180|0;ia=ga+152|0;oa=ga+124|0;na=ga+96|0;ka=ga+48|0;fa=ga+12|0;aa=ga;Z=ga+88|0;_=ga+76|0;ea=c+32|0;qV(ha,d);f[ha>>2]=15556;x=0;i=sa(1050,ea|0,ha|0)|0;ma=x;x=0;if(ma&1){oa=Ya()|0;_P(ha);jb(oa|0)}_P(ha);if(i|0){oa=i+16|0;f[a>>2]=f[oa>>2];f[a+4>>2]=f[oa+4>>2];f[a+8>>2]=f[oa+8>>2];oa=a+12|0;qV(oa,f[i+32>>2]|0);f[oa>>2]=15556;f[a+20>>2]=f[i+36>>2];i=f[i+40>>2]|0;f[a+24>>2]=i;if(!i){u=ga;return}ega(i);u=ga;return}nf(oa,d);x=0;Fa(451,na|0);ma=x;x=0;if(ma&1){j=Ya()|0;i=oa+24|0}else{k=f[oa+20>>2]|0;i=oa+24|0;j=f[i>>2]|0;if(j|0){ega(j);QZ(j)}l=f[k+4>>2]|0;j=f[k+16>>2]|0;m=l+(((j>>>0)/146|0)<<2)|0;if((f[k+8>>2]|0)==(l|0)){j=0;R=0}else{R=j+(f[k+20>>2]|0)|0;j=(f[m>>2]|0)+(((j>>>0)%146|0)*28|0)|0;R=(f[l+(((R>>>0)/146|0)<<2)>>2]|0)+(((R>>>0)%146|0)*28|0)|0}B=ha+4|0;C=ka+4|0;D=aa+4|0;E=aa+8|0;U=aa+4|0;F=la+4|0;G=ja+4|0;H=fa+20|0;ca=fa+24|0;I=la+4|0;S=_+11|0;J=na+20|0;ma=na+24|0;K=fa+16|0;da=fa+12|0;L=la+16|0;M=la+20|0;T=la+24|0;V=la+12|0;N=ha+20|0;$=ha+24|0;O=la+16|0;P=la+20|0;X=la+24|0;Q=ha+16|0;Y=la+12|0;ba=ha+12|0;a:while(1){do{if((R|0)==(j|0)){E=14;break a}if(!(f[j+4>>2]|0)){x=0;Ga(462,ha|0,f[j+16>>2]|0);A=x;x=0;if(A&1){E=73;break a}f[ha>>2]=15556;x=0;Ga(462,ka|0,f[(f[B>>2]|0)+80>>2]|0);A=x;x=0;if(A&1){E=74;break a}f[ka>>2]=15572;x=0;Ka(15,fa|0,c|0,f[C>>2]|0,e|0,g|0);A=x;x=0;if(A&1){E=75;break a}if(b[j>>0]|0)b[fa>>0]=1;if(h){x=0;k=qa(f[(f[d>>2]|0)+152>>2]|0,d|0)|0;A=x;x=0;if(A&1){E=88;break a}if(!k){f[D>>2]=0;f[E>>2]=0;f[aa>>2]=U;x=0;Ga(462,la|0,d|0);A=x;x=0;if(A&1){E=89;break a}f[la>>2]=15556;x=0;Ja(13,ia|0,aa|0,la|0,la|0);A=x;x=0;if(A&1){E=90;break a}_P(la);k=f[B>>2]|0;if(k|0)do{x=0;Ga(462,la|0,f[k+80>>2]|0);A=x;x=0;if(A&1){E=92;break a}f[la>>2]=15572;l=f[F>>2]|0;_P(la);if(l|0){x=0;Ga(666,l|0,aa|0);A=x;x=0;if(A&1){E=92;break a}}x=0;Ga(462,ja|0,f[k+88>>2]|0);A=x;x=0;if(A&1){E=92;break a}f[ja>>2]=15556;k=f[G>>2]|0;_P(ja)}while((k|0)!=0);WI(aa,f[U>>2]|0)}}l=f[H>>2]|0;k=f[ca>>2]|0;if(k|0){ega(k);QZ(k)}k=f[l+4>>2]|0;o=f[l+16>>2]|0;r=k+(((o>>>0)/146|0)<<2)|0;if((f[l+8>>2]|0)==(k|0)){t=0;l=0}else{t=o+(f[l+20>>2]|0)|0;t=(f[k+(((t>>>0)/146|0)<<2)>>2]|0)+(((t>>>0)%146|0)*28|0)|0;l=(f[r>>2]|0)+(((o>>>0)%146|0)*28|0)|0}k=0;s=r;b:while(1){do{if((t|0)==(l|0))break b;x=0;o=qa(321,l|0)|0;A=x;x=0;if(A&1){E=108;break a}x=0;Ga(462,la|0,o|0);A=x;x=0;if(A&1){E=108;break a}f[la>>2]=15556;o=f[I>>2]|0;r=f[(f[o>>2]|0)+144>>2]|0;x=0;Ga(462,Z|0,f[B>>2]|0);A=x;x=0;if(A&1){E=109;break a}f[Z>>2]=15556;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;x=0;o=ta(r|0,o|0,Z|0,_|0)|0;A=x;x=0;if(A&1){E=110;break a}if((b[S>>0]|0)<0)Hta(f[_>>2]|0);_P(Z);k=k|o;_P(la);if(o)break b;l=l+28|0}while((l-(f[s>>2]|0)|0)!=4088);l=s+4|0;s=l;l=f[l>>2]|0}do if(!k){k=b[j>>0]|0;if(k<<24>>24)b[(f[B>>2]|0)+60>>0]=k;r=f[H>>2]|0;t=f[ca>>2]|0;v=(t|0)==0;if(!v)ega(t);x=0;Ga(505,la|0,f[B>>2]|0);A=x;x=0;if(A&1){E=133;break a}s=r+16|0;k=f[s>>2]|0;if(!k){x=0;Fa(452,r|0);A=x;x=0;if(A&1){E=134;break a}k=f[s>>2]|0}A=f[r+4>>2]|0;o=A+(((k>>>0)/146|0)<<2)|0;l=f[o>>2]|0;if((f[r+8>>2]|0)==(A|0))k=0;else k=l+(((k>>>0)%146|0)*28|0)|0;if((k|0)==(l|0))k=(f[o+-4>>2]|0)+4088|0;l=k+-28|0;f[l>>2]=f[la>>2];f[l+4>>2]=f[la+4>>2];f[l+8>>2]=f[la+8>>2];l=k+-16|0;x=0;Ga(462,l|0,f[L>>2]|0);A=x;x=0;if(A&1){E=134;break a}f[l>>2]=15556;f[k+-8>>2]=f[M>>2];f[k+-4>>2]=f[T>>2];f[M>>2]=0;f[T>>2]=0;f[s>>2]=(f[s>>2]|0)+-1;A=r+20|0;f[A>>2]=(f[A>>2]|0)+1;_P(V);if(v)break;QZ(t)}while(0);k=f[J>>2]|0;z=f[ma>>2]|0;A=(z|0)==0;if(!A)ega(z);v=k+8|0;o=f[v>>2]|0;w=k+4|0;l=f[w>>2]|0;pa=o-l>>2;s=k+16|0;t=f[s>>2]|0;y=k+20|0;r=f[y>>2]|0;if((((pa|0)==0?0:(pa*146|0)+-1|0)|0)==(r+t|0)){x=0;Fa(433,k|0);pa=x;x=0;if(pa&1){E=156;break a}r=f[y>>2]|0;k=f[s>>2]|0;o=f[v>>2]|0;l=f[w>>2]|0}else k=t;k=r+k|0;if((o|0)==(l|0))l=0;else l=(f[l+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;f[l>>2]=f[fa>>2];f[l+4>>2]=f[fa+4>>2];f[l+8>>2]=f[fa+8>>2];k=l+12|0;x=0;Ga(462,k|0,f[K>>2]|0);pa=x;x=0;if(pa&1){E=156;break a}f[k>>2]=15556;f[l+20>>2]=f[H>>2];k=f[ca>>2]|0;f[l+24>>2]=k;if(k|0)ega(k);f[y>>2]=(f[y>>2]|0)+1;if(!A)QZ(z);k=f[ca>>2]|0;if(k|0)QZ(k);_P(da);_P(ka);_P(ha)}else{x=0;Fa(451,ha|0);pa=x;x=0;if(pa&1){E=53;break a}x=0;Fa(451,la|0);pa=x;x=0;if(pa&1){E=54;break a}k=f[N>>2]|0;z=f[$>>2]|0;A=(z|0)==0;if(!A)ega(z);v=k+8|0;o=f[v>>2]|0;w=k+4|0;l=f[w>>2]|0;pa=o-l>>2;s=k+16|0;t=f[s>>2]|0;y=k+20|0;r=f[y>>2]|0;if((((pa|0)==0?0:(pa*146|0)+-1|0)|0)==(r+t|0)){x=0;Fa(433,k|0);pa=x;x=0;if(pa&1){E=55;break a}r=f[y>>2]|0;k=f[s>>2]|0;o=f[v>>2]|0;l=f[w>>2]|0}else k=t;k=r+k|0;if((o|0)==(l|0))l=0;else l=(f[l+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;f[l>>2]=f[la>>2];f[l+4>>2]=f[la+4>>2];f[l+8>>2]=f[la+8>>2];k=l+12|0;x=0;Ga(462,k|0,f[O>>2]|0);pa=x;x=0;if(pa&1){E=55;break a}f[k>>2]=15556;f[l+20>>2]=f[P>>2];k=f[X>>2]|0;f[l+24>>2]=k;if(k|0)ega(k);f[y>>2]=(f[y>>2]|0)+1;if(!A)QZ(z);k=f[P>>2]|0;l=f[X>>2]|0;o=(l|0)==0;if(!o)ega(l);x=0;Ga(524,k|0,j|0);pa=x;x=0;if(pa&1){E=57;break a}if(!o)QZ(l);k=f[J>>2]|0;z=f[ma>>2]|0;A=(z|0)==0;if(!A)ega(z);v=k+8|0;o=f[v>>2]|0;w=k+4|0;l=f[w>>2]|0;pa=o-l>>2;s=k+16|0;t=f[s>>2]|0;y=k+20|0;r=f[y>>2]|0;if((((pa|0)==0?0:(pa*146|0)+-1|0)|0)==(r+t|0)){x=0;Fa(433,k|0);pa=x;x=0;if(pa&1){E=59;break a}r=f[y>>2]|0;k=f[s>>2]|0;o=f[v>>2]|0;l=f[w>>2]|0}else k=t;k=r+k|0;if((o|0)==(l|0))l=0;else l=(f[l+(((k>>>0)/146|0)<<2)>>2]|0)+(((k>>>0)%146|0)*28|0)|0;f[l>>2]=f[ha>>2];f[l+4>>2]=f[ha+4>>2];f[l+8>>2]=f[ha+8>>2];k=l+12|0;x=0;Ga(462,k|0,f[Q>>2]|0);pa=x;x=0;if(pa&1){E=59;break a}f[k>>2]=15556;f[l+20>>2]=f[N>>2];k=f[$>>2]|0;f[l+24>>2]=k;if(k|0)ega(k);f[y>>2]=(f[y>>2]|0)+1;if(!A)QZ(z);k=f[X>>2]|0;if(k|0)QZ(k);_P(Y);k=f[$>>2]|0;if(k|0)QZ(k);_P(ba)}j=j+28|0}while((j-(f[m>>2]|0)|0)!=4088);j=m+4|0;m=j;j=f[j>>2]|0}switch(E|0){case 14:{x=0;Ga(665,la|0,na|0);pa=x;x=0;if(pa&1)j=Ya()|0;else{x=0;Fa(451,ja|0);pa=x;x=0;if(pa&1){j=Ya()|0;k=la+24|0}else{l=f[la+20>>2]|0;k=la+24|0;j=f[k>>2]|0;if(j|0){ega(j);QZ(j)}j=f[l+4>>2]|0;m=f[l+16>>2]|0;o=j+(((m>>>0)/146|0)<<2)|0;if((f[l+8>>2]|0)==(j|0)){F=0;j=0}else{F=m+(f[l+20>>2]|0)|0;F=(f[j+(((F>>>0)/146|0)<<2)>>2]|0)+(((F>>>0)%146|0)*28|0)|0;j=(f[o>>2]|0)+(((m>>>0)%146|0)*28|0)|0}C=ja+20|0;I=ja+24|0;D=ha+16|0;E=ha+20|0;G=ha+24|0;H=ha+12|0;c:while(1){do{if((F|0)==(j|0)){E=172;break c}x=0;Ia(142,ha|0,0,j|0);pa=x;x=0;if(pa&1){E=192;break c}b[ha>>0]=b[j>>0]|0;l=f[C>>2]|0;A=f[I>>2]|0;B=(A|0)==0;if(!B)ega(A);w=l+8|0;r=f[w>>2]|0;y=l+4|0;m=f[y>>2]|0;pa=r-m>>2;t=l+16|0;v=f[t>>2]|0;z=l+20|0;s=f[z>>2]|0;if((((pa|0)==0?0:(pa*146|0)+-1|0)|0)==(s+v|0)){x=0;Fa(433,l|0);pa=x;x=0;if(pa&1){E=193;break c}s=f[z>>2]|0;l=f[t>>2]|0;r=f[w>>2]|0;m=f[y>>2]|0}else l=v;l=s+l|0;if((r|0)==(m|0))m=0;else m=(f[m+(((l>>>0)/146|0)<<2)>>2]|0)+(((l>>>0)%146|0)*28|0)|0;f[m>>2]=f[ha>>2];f[m+4>>2]=f[ha+4>>2];f[m+8>>2]=f[ha+8>>2];l=m+12|0;x=0;Ga(462,l|0,f[D>>2]|0);pa=x;x=0;if(pa&1){E=193;break c}f[l>>2]=15556;f[m+20>>2]=f[E>>2];l=f[G>>2]|0;f[m+24>>2]=l;if(l|0)ega(l);f[z>>2]=(f[z>>2]|0)+1;if(!B)QZ(A);l=f[G>>2]|0;if(l|0)QZ(l);_P(H);j=j+28|0}while((j-(f[o>>2]|0)|0)!=4088);j=o+4|0;o=j;j=f[j>>2]|0}if((E|0)==172){x=0;Ja(47,ia|0,0,ja|0,g|0);pa=x;x=0;if(pa&1)j=Ya()|0;else{x=0;Ia(143,ka|0,ia|0,1);pa=x;x=0;if(pa&1)j=Ya()|0;else{x=0;Ga(462,fa|0,d|0);pa=x;x=0;d:do if(pa&1){j=Ya()|0;E=284}else{f[fa>>2]=15556;j=fa+8|0;f[j>>2]=f[ka>>2];f[j+4>>2]=f[ka+4>>2];f[j+8>>2]=f[ka+8>>2];j=fa+20|0;C=ka+16|0;x=0;Ga(462,j|0,f[C>>2]|0);pa=x;x=0;if(pa&1){j=Ya()|0;_P(fa);E=284;break}f[j>>2]=15556;B=ka+20|0;f[fa+28>>2]=f[B>>2];D=fa+32|0;l=ka+24|0;j=f[l>>2]|0;f[D>>2]=j;if(j|0)ega(j);w=fa+4|0;j=f[w>>2]|0;if(!j){j=0;E=207}else{x=0;j=qa(f[(f[j>>2]|0)+8>>2]|0,j|0)|0;pa=x;x=0;if(pa&1)E=287;else E=207}e:do if((E|0)==207){y=c+36|0;z=f[y>>2]|0;A=(z|0)==0;f:do if(A){m=0;E=244}else{t=z+-1|0;o=(t&z|0)==0;do if(o)v=t&j;else{if(j>>>0>>0){v=j;break}v=(j>>>0)%(z>>>0)|0}while(0);m=f[(f[ea>>2]|0)+(v<<2)>>2]|0;if(!m){m=v;E=244;break}m=f[m>>2]|0;if(!m){m=v;E=244;break}if(o){g:while(1){pa=f[m+4>>2]|0;if(!((pa|0)==(j|0)|(pa&t|0)==(v|0))){m=v;E=244;break f}r=f[m+12>>2]|0;h:do if(r|0){do if(!(uy(r,2048,192,-2)|0)){o=f[w>>2]|0;s=o}else{o=f[w>>2]|0;if(!o){s=o;o=0;break}if(!(uy(o,2048,192,-2)|0)){s=o;break}x=0;o=qa(f[(f[r>>2]|0)+8>>2]|0,r|0)|0;pa=x;x=0;if(pa&1)break g;r=f[w>>2]|0;x=0;r=qa(f[(f[r>>2]|0)+8>>2]|0,r|0)|0;pa=x;x=0;if(pa&1)break g;if((o|0)==(r|0))break f;else break h}while(0);if(!s)break;x=0;o=sa(f[(f[r>>2]|0)+160>>2]|0,r|0,o|0)|0;pa=x;x=0;if(pa&1)break g;if(o)break f}while(0);m=f[m>>2]|0;if(!m){m=v;E=244;break f}}j=Ya()|0;break e}else s=m;i:while(1){m=f[s+4>>2]|0;if((m|0)!=(j|0)){if(m>>>0>=z>>>0)m=(m>>>0)%(z>>>0)|0;if((m|0)!=(v|0)){m=v;E=244;break f}}o=f[s+12>>2]|0;j:do if(o|0){do if(!(uy(o,2048,192,-2)|0)){m=f[w>>2]|0;r=m}else{m=f[w>>2]|0;if(!m){r=m;m=0;break}if(!(uy(m,2048,192,-2)|0)){r=m;break}x=0;m=qa(f[(f[o>>2]|0)+8>>2]|0,o|0)|0;pa=x;x=0;if(pa&1)break i;o=f[w>>2]|0;x=0;o=qa(f[(f[o>>2]|0)+8>>2]|0,o|0)|0;pa=x;x=0;if(pa&1)break i;if((m|0)==(o|0))break f;else break j}while(0);if(!r)break;x=0;m=sa(f[(f[o>>2]|0)+160>>2]|0,o|0,m|0)|0;pa=x;x=0;if(pa&1)break i;if(m)break f}while(0);s=f[s>>2]|0;if(!s){m=v;E=244;break f}}j=Ya()|0;break e}while(0);if((E|0)==244){x=0;Ja(48,ha|0,ea|0,j|0,fa|0);pa=x;x=0;if(pa&1){E=287;break}s=c+44|0;p=+(((f[s>>2]|0)+1|0)>>>0);q=+n[c+48>>2];do if(A|q*+(z>>>0)>>0<3|(z+-1&z|0)!=0)&1;g=~~+W(+(p/q))>>>0;x=0;Ga(667,ea|0,(pa>>>0>>0?g:pa)|0);pa=x;x=0;if(!(pa&1)){m=f[y>>2]|0;o=m+-1|0;if(!(o&m)){r=m;j=o&j;break}if(j>>>0>>0){r=m;break}r=m;j=(j>>>0)%(m>>>0)|0;break}j=Ya()|0;o=f[ha>>2]|0;f[ha>>2]=0;if(o|0){if(b[ha+8>>0]|0){m=f[o+40>>2]|0;if(m|0)QZ(m);_P(o+28|0);_P(o+8|0)}Hta(o)}break e}else{r=z;j=m}while(0);m=f[(f[ea>>2]|0)+(j<<2)>>2]|0;do if(!m){o=c+40|0;f[f[ha>>2]>>2]=f[o>>2];f[o>>2]=f[ha>>2];f[(f[ea>>2]|0)+(j<<2)>>2]=o;o=f[ha>>2]|0;j=f[o>>2]|0;if(!j){j=ha;break}j=f[j+4>>2]|0;m=r+-1|0;do if(!(m&r))j=j&m;else{if(j>>>0>>0)break;j=(j>>>0)%(r>>>0)|0}while(0);f[(f[ea>>2]|0)+(j<<2)>>2]=o;j=ha}else{f[f[ha>>2]>>2]=f[m>>2];f[m>>2]=f[ha>>2];j=ha}while(0);f[s>>2]=(f[s>>2]|0)+1;f[j>>2]=0}j=f[D>>2]|0;if(j|0)QZ(j);_P(fa+20|0);_P(fa);f[a>>2]=f[ka>>2];f[a+4>>2]=f[ka+4>>2];f[a+8>>2]=f[ka+8>>2];j=a+12|0;x=0;Ga(462,j|0,f[C>>2]|0);pa=x;x=0;if(pa&1){j=Ya()|0;break d}f[j>>2]=15556;f[a+20>>2]=f[B>>2];f[a+24>>2]=f[l>>2];f[B>>2]=0;f[l>>2]=0;_P(ka+12|0);j=f[ia+24>>2]|0;if(j|0)QZ(j);_P(ia+12|0);j=f[I>>2]|0;if(j|0)QZ(j);_P(ja+12|0);j=f[k>>2]|0;if(j|0)QZ(j);_P(la+12|0);j=f[ma>>2]|0;if(j|0)QZ(j);_P(na+12|0);i=f[i>>2]|0;if(i|0)QZ(i);_P(oa+12|0);u=ga;return}while(0);if((E|0)==287)j=Ya()|0;m=f[D>>2]|0;if(m|0)QZ(m);_P(fa+20|0);_P(fa);E=291}while(0);if((E|0)==284){l=ka+24|0;E=291}l=f[l>>2]|0;if(l|0)QZ(l);_P(ka+12|0)}l=f[ia+24>>2]|0;if(l|0)QZ(l);_P(ia+12|0)}}else if((E|0)==192){j=Ya()|0;E=198}else if((E|0)==193){j=Ya()|0;if(!B)QZ(A);l=f[G>>2]|0;if(l|0)QZ(l);_P(H);E=198}l=f[I>>2]|0;if(l|0)QZ(l);_P(ja+12|0)}k=f[k>>2]|0;if(k|0)QZ(k);_P(la+12|0)}break}case 53:{j=Ya()|0;E=67;break}case 54:{j=Ya()|0;E=64;break}case 55:{j=Ya()|0;if(A)E=61;else{QZ(z);E=61}break}case 57:{j=Ya()|0;if(o)E=61;else{QZ(l);E=61}break}case 59:{j=Ya()|0;if(A)E=61;else{QZ(z);E=61}break}case 73:{j=Ya()|0;E=163;break}case 74:{j=Ya()|0;E=162;break}case 75:{j=Ya()|0;E=161;break}case 88:{j=Ya()|0;E=158;break}case 89:{j=Ya()|0;E=91;break}case 90:{j=Ya()|0;_P(la);E=91;break}case 92:{j=Ya()|0;E=93;break}case 108:{j=Ya()|0;E=117;break}case 109:{j=Ya()|0;E=115;break}case 110:{j=Ya()|0;if((b[S>>0]|0)<0)Hta(f[_>>2]|0);_P(Z);E=115;break}case 133:{j=Ya()|0;E=137;break}case 134:{j=Ya()|0;k=f[T>>2]|0;if(k|0)QZ(k);_P(V);E=137;break}case 156:{j=Ya()|0;if(A)E=158;else{QZ(z);E=158}break}}if((E|0)==61){k=f[X>>2]|0;if(k|0)QZ(k);_P(Y);E=64}else if((E|0)==91)E=93;else if((E|0)==115){_P(la);E=117}else if((E|0)==137)if(v)E=158;else{QZ(t);E=158}if((E|0)==64){k=f[$>>2]|0;if(k|0)QZ(k);_P(ba);E=67}else if((E|0)==93){WI(aa,f[U>>2]|0);E=158}else if((E|0)==117)E=158;if((E|0)!=67)if((E|0)==158){k=f[ca>>2]|0;if(k|0)QZ(k);_P(da);E=161}if((E|0)==161){_P(ka);E=162}if((E|0)==162){_P(ha);E=163}k=f[ma>>2]|0;if(k|0)QZ(k);_P(na+12|0)}i=f[i>>2]|0;if(i|0)QZ(i);_P(oa+12|0);pa=j;jb(pa|0)}function ud(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;R=0;_=u;u=u+512|0;L=_+96|0;S=_+104|0;aa=_+88|0;T=_+80|0;M=_+76|0;N=_+504|0;O=_+72|0;P=_+68|0;V=_+56|0;W=_+44|0;X=_+32|0;Y=_+20|0;Z=_+8|0;Q=_+4|0;U=_;f[L>>2]=n;f[aa>>2]=S;$=aa+4|0;f[$>>2]=471;f[T>>2]=S;f[M>>2]=S+400;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;f[V+(n<<2)>>2]=0;n=n+1|0}f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;n=0;while(1){if((n|0)==3)break;f[W+(n<<2)>>2]=0;n=n+1|0}f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;n=0;while(1){if((n|0)==3)break;f[X+(n<<2)>>2]=0;n=n+1|0}f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;n=0;while(1){if((n|0)==3)break;f[Y+(n<<2)>>2]=0;n=n+1|0}f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;n=0;while(1){if((n|0)==3)break;f[Z+(n<<2)>>2]=0;n=n+1|0}x=0;Oa(2,d|0,e|0,N|0,O|0,P|0,V|0,W|0,X|0,Y|0,Q|0);S=x;x=0;a:do if(S&1)d=Ya()|0;else{f[m>>2]=f[l>>2];H=X+8+3|0;I=X+4|0;J=Y+8+3|0;K=Y+4|0;z=(g&512|0)!=0;A=W+8+3|0;B=W+4|0;C=Z+8+3|0;D=Z+4|0;E=N+3|0;F=V+11|0;G=V+4|0;S=0;y=0;b:while(1){if(y>>>0>=4){R=247;break}n=f[a>>2]|0;do if(!n)e=1;else{d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else n=mra(f[d>>2]|0)|0;if(vja(n,Jta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);d=f[c>>2]|0;do if(!d)R=32;else{n=f[d+12>>2]|0;if((n|0)==(f[d+16>>2]|0)){x=0;n=qa(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=35;break b}}else n=mra(f[n>>2]|0)|0;if(vja(n,Jta()|0)|0){f[c>>2]=0;R=32;break}else if(e){w=d;break}else{R=247;break b}}while(0);if((R|0)==32){R=0;if(e){R=247;break}else w=0}c:do switch(b[N+y>>0]|0){case 1:{if((y|0)==3)n=S;else{n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=x;x=0;if(R&1){R=35;break b}}else n=mra(f[d>>2]|0)|0;x=0;n=ta(f[(f[k>>2]|0)+12>>2]|0,k|0,8192,n|0)|0;R=x;x=0;if(R&1){R=35;break b}if(!n){R=47;break b}n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;R=x;x=0;if(R&1){R=35;break b}}else{f[d>>2]=e+4;n=mra(f[e>>2]|0)|0}x=0;Ga(709,Z|0,n|0);R=x;x=0;if(R&1){R=35;break b}else{n=w;g=w;R=49}}break}case 0:{if((y|0)==3)n=S;else{n=w;g=w;R=49}break}case 3:{n=b[H>>0]|0;n=n<<24>>24<0?f[I>>2]|0:n&255;g=b[J>>0]|0;g=g<<24>>24<0?f[K>>2]|0:g&255;if((n|0)==(0-g|0))n=S;else{if(!n){n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else n=mra(f[d>>2]|0)|0;if((n|0)!=(f[((b[J>>0]|0)<0?f[Y>>2]|0:Y)>>2]|0)){n=S;break c}n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else{f[d>>2]=e+4;mra(f[e>>2]|0)|0}b[j>>0]=1;n=b[J>>0]|0;n=(n<<24>>24<0?f[K>>2]|0:n&255)>>>0>1?Y:S;break c}n=f[a>>2]|0;d=f[n+12>>2]|0;e=(d|0)==(f[n+16>>2]|0);if(!g){if(e){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else n=mra(f[d>>2]|0)|0;if((n|0)!=(f[((b[H>>0]|0)<0?f[X>>2]|0:X)>>2]|0)){b[j>>0]=1;n=S;break c}n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else{f[d>>2]=e+4;mra(f[e>>2]|0)|0}n=b[H>>0]|0;n=(n<<24>>24<0?f[I>>2]|0:n&255)>>>0>1?X:S;break c}if(e){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else n=mra(f[d>>2]|0)|0;d=f[a>>2]|0;e=d+12|0;g=f[e>>2]|0;o=(g|0)==(f[d+16>>2]|0);if((n|0)==(f[((b[H>>0]|0)<0?f[X>>2]|0:X)>>2]|0)){if(o){x=0;qa(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=35;break b}}else{f[e>>2]=g+4;mra(f[g>>2]|0)|0}n=b[H>>0]|0;n=(n<<24>>24<0?f[I>>2]|0:n&255)>>>0>1?X:S;break c}if(o){x=0;n=qa(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=35;break b}}else n=mra(f[g>>2]|0)|0;if((n|0)!=(f[((b[J>>0]|0)<0?f[Y>>2]|0:Y)>>2]|0)){R=109;break b}n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=35;break b}}else{f[d>>2]=e+4;mra(f[e>>2]|0)|0}b[j>>0]=1;n=b[J>>0]|0;n=(n<<24>>24<0?f[K>>2]|0:n&255)>>>0>1?Y:S}break}case 2:{if(!(y>>>0<2|(S|0)!=0))if(!(z|(y|0)==2&(b[E>>0]|0)!=0)){n=0;break c}e=b[A>>0]|0;d=f[W>>2]|0;n=e<<24>>24<0?d:W;d:do if(!y){q=w;g=n;n=e;e=w}else if((h[N+(y+-1)>>0]|0)<2){v=n;n=e;while(1){t=n<<24>>24<0;e=v;if(((t?d:W)+((t?f[B>>2]|0:n&255)<<2)|0)==(e|0))break;x=0;n=ta(f[(f[k>>2]|0)+12>>2]|0,k|0,8192,f[e>>2]|0)|0;t=x;x=0;if(t&1){R=119;break b}if(!n){R=117;break}v=e+4|0;n=b[A>>0]|0;d=f[W>>2]|0}if((R|0)==117){R=0;n=b[A>>0]|0;d=f[W>>2]|0}e=n<<24>>24<0?d:W;t=e;o=v-t>>2;r=b[C>>0]|0;p=r<<24>>24<0;q=f[D>>2]|0;r=r&255;if(o>>>0>(p?q:r)>>>0){q=w;g=t;e=w}else{ba=f[Z>>2]|0;s=(p?ba:Z)+((p?q:r)<<2)|0;g=e;e=(p?ba+(q<<2)|0:Z+(r<<2)|0)+(0-o<<2)|0;while(1){if((e|0)==(s|0)){q=w;g=v;e=w;break d}if((f[e>>2]|0)!=(f[g>>2]|0)){q=w;g=t;e=w;break d}g=g+4|0;e=e+4|0}}}else{q=w;g=n;n=e;e=w}while(0);e:while(1){p=n<<24>>24<0;n=(p?d:W)+((p?f[B>>2]|0:n&255)<<2)|0;p=g;if((n|0)==(p|0))break;n=f[a>>2]|0;do if(!n)d=1;else{d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=149;break b}}else n=mra(f[d>>2]|0)|0;if(vja(n,Jta()|0)|0){f[a>>2]=0;d=1;break}else{d=(f[a>>2]|0)==0;break}}while(0);do if(!e){n=q;R=139}else{n=f[e+12>>2]|0;if((n|0)==(f[e+16>>2]|0)){x=0;n=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;ba=x;x=0;if(ba&1){R=149;break b}}else n=mra(f[n>>2]|0)|0;if(vja(n,Jta()|0)|0){f[c>>2]=0;n=0;R=139;break}else if(d^(q|0)==0){n=q;o=q;break}else{n=p;break e}}while(0);if((R|0)==139){R=0;if(d){n=p;break}else o=0}d=f[a>>2]|0;e=f[d+12>>2]|0;if((e|0)==(f[d+16>>2]|0)){x=0;d=qa(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=149;break b}}else d=mra(f[e>>2]|0)|0;if((d|0)!=(f[p>>2]|0)){n=p;break}d=f[a>>2]|0;e=d+12|0;g=f[e>>2]|0;if((g|0)==(f[d+16>>2]|0)){x=0;qa(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=150;break b}}else{f[e>>2]=g+4;mra(f[g>>2]|0)|0}q=n;g=p+4|0;n=b[A>>0]|0;d=f[W>>2]|0;e=o}if(z){ba=b[A>>0]|0;w=ba<<24>>24<0;if(((w?f[W>>2]|0:W)+((w?f[B>>2]|0:ba&255)<<2)|0)==(n|0))n=S;else{R=153;break b}}else n=S;break}case 4:{q=0;n=w;g=w;f:while(1){d=f[a>>2]|0;do if(!d)e=1;else{e=f[d+12>>2]|0;if((e|0)==(f[d+16>>2]|0)){x=0;d=qa(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else d=mra(f[e>>2]|0)|0;if(vja(d,Jta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);do if(!g)R=167;else{d=f[g+12>>2]|0;if((d|0)==(f[g+16>>2]|0)){x=0;d=qa(f[(f[g>>2]|0)+36>>2]|0,g|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else d=mra(f[d>>2]|0)|0;if(vja(d,Jta()|0)|0){f[c>>2]=0;n=0;R=167;break}else if(e^(n|0)==0){o=n;p=n;break}else{g=n;break f}}while(0);if((R|0)==167){R=0;if(e){g=n;break}else{o=n;p=0}}n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else n=mra(f[d>>2]|0)|0;x=0;d=ta(f[(f[k>>2]|0)+12>>2]|0,k|0,2048,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}if(d){d=f[m>>2]|0;if((d|0)==(f[L>>2]|0)){x=0;Ia(163,l|0,m|0,L|0);ba=x;x=0;if(ba&1){R=245;break b}d=f[m>>2]|0}f[m>>2]=d+4;f[d>>2]=n;n=q+1|0}else{ba=b[F>>0]|0;if(!((n|0)==(f[P>>2]|0)&(q|0?((ba<<24>>24<0?f[G>>2]|0:ba&255)|0)!=0:0))){g=o;break}n=f[T>>2]|0;if((n|0)==(f[M>>2]|0)){x=0;Ia(162,aa|0,T|0,M|0);ba=x;x=0;if(ba&1){R=245;break b}n=f[T>>2]|0}f[T>>2]=n+4;f[n>>2]=q;n=0}d=f[a>>2]|0;e=d+12|0;g=f[e>>2]|0;if((g|0)==(f[d+16>>2]|0)){x=0;qa(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=245;break b}else{q=n;n=o;g=p;continue}}else{f[e>>2]=g+4;mra(f[g>>2]|0)|0;q=n;n=o;g=p;continue}}n=f[T>>2]|0;if(q|0?(f[aa>>2]|0)!=(n|0):0){if((n|0)==(f[M>>2]|0)){x=0;Ia(162,aa|0,T|0,M|0);ba=x;x=0;if(ba&1){R=245;break b}n=f[T>>2]|0}f[T>>2]=n+4;f[n>>2]=q}g:do if((f[Q>>2]|0)>0){n=f[a>>2]|0;do if(!n)d=1;else{d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else n=mra(f[d>>2]|0)|0;if(vja(n,Jta()|0)|0){f[a>>2]=0;d=1;break}else{d=(f[a>>2]|0)==0;break}}while(0);do if(!g)R=205;else{n=f[g+12>>2]|0;if((n|0)==(f[g+16>>2]|0)){x=0;n=qa(f[(f[g>>2]|0)+36>>2]|0,g|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else n=mra(f[n>>2]|0)|0;if(vja(n,Jta()|0)|0){f[c>>2]=0;R=205;break}else if(d)break;else{R=244;break b}}while(0);if((R|0)==205){R=0;if(d){R=244;break b}else g=0}n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else n=mra(f[d>>2]|0)|0;if((n|0)!=(f[O>>2]|0)){R=244;break b}n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}else n=g}else{f[d>>2]=e+4;mra(f[e>>2]|0)|0;n=g}while(1){if((f[Q>>2]|0)<=0)break g;d=f[a>>2]|0;do if(!d)e=1;else{e=f[d+12>>2]|0;if((e|0)==(f[d+16>>2]|0)){x=0;d=qa(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else d=mra(f[e>>2]|0)|0;if(vja(d,Jta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);do if(!g)R=228;else{d=f[g+12>>2]|0;if((d|0)==(f[g+16>>2]|0)){x=0;d=qa(f[(f[g>>2]|0)+36>>2]|0,g|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else d=mra(f[d>>2]|0)|0;if(vja(d,Jta()|0)|0){f[c>>2]=0;n=0;R=228;break}else if(e^(n|0)==0){o=n;g=n;break}else{R=244;break b}}while(0);if((R|0)==228){R=0;if(e){R=244;break b}else{o=n;g=0}}n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else n=mra(f[d>>2]|0)|0;x=0;n=ta(f[(f[k>>2]|0)+12>>2]|0,k|0,2048,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}if(!n){R=244;break b}if((f[m>>2]|0)==(f[L>>2]|0)){x=0;Ia(163,l|0,m|0,L|0);ba=x;x=0;if(ba&1){R=245;break b}}n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}}else n=mra(f[d>>2]|0)|0;d=f[m>>2]|0;f[m>>2]=d+4;f[d>>2]=n;f[Q>>2]=(f[Q>>2]|0)+-1;n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=245;break b}else{n=o;continue}}else{f[d>>2]=e+4;mra(f[e>>2]|0)|0;n=o;continue}}}while(0);if((f[m>>2]|0)==(f[l>>2]|0)){R=244;break b}else n=S;break}default:n=S}while(0);h:do if((R|0)==49)while(1){R=0;d=f[a>>2]|0;do if(!d)e=1;else{e=f[d+12>>2]|0;if((e|0)==(f[d+16>>2]|0)){x=0;d=qa(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=35;break b}}else d=mra(f[e>>2]|0)|0;if(vja(d,Jta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);do if(!g)R=62;else{d=f[g+12>>2]|0;if((d|0)==(f[g+16>>2]|0)){x=0;d=qa(f[(f[g>>2]|0)+36>>2]|0,g|0)|0;ba=x;x=0;if(ba&1){R=35;break b}}else d=mra(f[d>>2]|0)|0;if(vja(d,Jta()|0)|0){f[c>>2]=0;n=0;R=62;break}else if(e^(n|0)==0){o=n;g=n;break}else{n=S;break h}}while(0);if((R|0)==62){R=0;if(e){n=S;break h}else{o=n;g=0}}n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=35;break b}}else n=mra(f[d>>2]|0)|0;x=0;n=ta(f[(f[k>>2]|0)+12>>2]|0,k|0,8192,n|0)|0;ba=x;x=0;if(ba&1){R=35;break b}if(!n){n=S;break h}n=f[a>>2]|0;d=n+12|0;e=f[d>>2]|0;if((e|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=35;break b}}else{f[d>>2]=e+4;n=mra(f[e>>2]|0)|0}x=0;Ga(709,Z|0,n|0);ba=x;x=0;if(ba&1){R=35;break b}else{n=o;R=49}}while(0);S=n;y=y+1|0}i:switch(R|0){case 35:{d=Ya()|0;break a}case 47:{f[i>>2]=f[i>>2]|4;d=0;break}case 109:{f[i>>2]=f[i>>2]|4;d=0;break}case 119:{d=Ya()|0;break a}case 149:{d=Ya()|0;break a}case 150:{d=Ya()|0;break a}case 153:{f[i>>2]=f[i>>2]|4;d=0;break}case 244:{f[i>>2]=f[i>>2]|4;d=0;break}case 245:{d=Ya()|0;break a}case 247:{j:do if(S|0){o=S+8+3|0;p=S+4|0;g=1;k:while(1){n=b[o>>0]|0;if(n<<24>>24<0)n=f[p>>2]|0;else n=n&255;if(g>>>0>=n>>>0)break j;n=f[a>>2]|0;do if(!n)e=1;else{d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=275;break k}}else n=mra(f[d>>2]|0)|0;if(vja(n,Jta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);n=f[c>>2]|0;do if(!n)R=266;else{d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=275;break k}}else n=mra(f[d>>2]|0)|0;if(vja(n,Jta()|0)|0){f[c>>2]=0;R=266;break}else if(e)break;else{R=274;break k}}while(0);if((R|0)==266){R=0;if(e){R=274;break}}n=f[a>>2]|0;d=f[n+12>>2]|0;if((d|0)==(f[n+16>>2]|0)){x=0;n=qa(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;ba=x;x=0;if(ba&1){R=275;break}}else n=mra(f[d>>2]|0)|0;if((b[o>>0]|0)<0)d=f[S>>2]|0;else d=S;if((n|0)!=(f[d+(g<<2)>>2]|0)){R=274;break}n=g+1|0;d=f[a>>2]|0;e=d+12|0;g=f[e>>2]|0;if((g|0)==(f[d+16>>2]|0)){x=0;qa(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;ba=x;x=0;if(ba&1){R=275;break}else{g=n;continue}}else{f[e>>2]=g+4;mra(f[g>>2]|0)|0;g=n;continue}}if((R|0)==274){f[i>>2]=f[i>>2]|4;d=0;break i}else if((R|0)==275){d=Ya()|0;break a}}while(0);d=f[aa>>2]|0;n=f[T>>2]|0;if((d|0)==(n|0))d=1;else{f[U>>2]=0;x=0;Ja(60,V|0,d|0,n|0,U|0);ba=x;x=0;if(ba&1){d=Ya()|0;break a}if(!(f[U>>2]|0)){d=1;break}else{f[i>>2]=f[i>>2]|4;d=0;break}}break}}jaa(Z);jaa(Y);jaa(X);jaa(W);Aaa(V);n=f[aa>>2]|0;f[aa>>2]=0;if(n|0){x=0;Fa(f[$>>2]|0,n|0);ba=x;x=0;if(ba&1){ba=Za(0)|0;soa(ba)}}u=_;return d|0}while(0);jaa(Z);jaa(Y);jaa(X);jaa(W);Aaa(V);n=f[aa>>2]|0;f[aa>>2]=0;if(n|0){x=0;Fa(f[$>>2]|0,n|0);ba=x;x=0;if(ba&1){ba=Za(0)|0;soa(ba)}}jb(d|0);return 0}function vd(a,c,e,g,i,j,k,l,m,n,o){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;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;S=0;$=u;u=u+512|0;M=$+88|0;T=$+96|0;ba=$+80|0;U=$+72|0;N=$+68|0;O=$+500|0;P=$+497|0;Q=$+496|0;W=$+56|0;X=$+44|0;Y=$+32|0;Z=$+20|0;_=$+8|0;R=$+4|0;V=$;f[M>>2]=o;f[ba>>2]=T;aa=ba+4|0;f[aa>>2]=471;f[U>>2]=T;f[N>>2]=T+400;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;f[W+(o<<2)>>2]=0;o=o+1|0}f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;o=0;while(1){if((o|0)==3)break;f[X+(o<<2)>>2]=0;o=o+1|0}f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;o=0;while(1){if((o|0)==3)break;f[Y+(o<<2)>>2]=0;o=o+1|0}f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;o=0;while(1){if((o|0)==3)break;f[Z+(o<<2)>>2]=0;o=o+1|0}f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;o=0;while(1){if((o|0)==3)break;f[_+(o<<2)>>2]=0;o=o+1|0}x=0;Oa(1,e|0,g|0,O|0,P|0,Q|0,W|0,X|0,Y|0,Z|0,R|0);T=x;x=0;a:do if(T&1)e=Ya()|0;else{f[n>>2]=f[m>>2];H=l+8|0;I=Y+11|0;J=Y+4|0;K=Z+11|0;L=Z+4|0;z=(i&512|0)!=0;A=X+11|0;B=X+4|0;C=_+11|0;D=_+4|0;E=O+3|0;F=W+11|0;G=W+4|0;T=0;y=0;b:while(1){if(y>>>0>=4){S=246;break}o=f[a>>2]|0;do if(!o)g=1;else{e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else o=mqa(b[e>>0]|0)|0;if(wja(o,Kta()|0)|0){f[a>>2]=0;g=1;break}else{g=(f[a>>2]|0)==0;break}}while(0);e=f[c>>2]|0;do if(!e)S=32;else{o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){x=0;o=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){S=35;break b}}else o=mqa(b[o>>0]|0)|0;if(wja(o,Kta()|0)|0){f[c>>2]=0;S=32;break}else if(g){w=e;break}else{S=246;break b}}while(0);if((S|0)==32){S=0;if(g){S=246;break}else w=0}c:do switch(b[O+y>>0]|0){case 1:{if((y|0)==3)o=T;else{e=f[a>>2]|0;o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){x=0;o=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;S=x;x=0;if(S&1){S=35;break b}}else o=mqa(b[o>>0]|0)|0;if((o&255)<<24>>24<=-1){S=47;break b}if(!(d[(f[H>>2]|0)+(o<<24>>24<<1)>>1]&8192)){S=47;break b}o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;S=x;x=0;if(S&1){S=35;break b}}else{f[e>>2]=g+1;o=mqa(b[g>>0]|0)|0}x=0;Ga(534,_|0,o&255|0);S=x;x=0;if(S&1){S=35;break b}else{o=w;l=w;S=49}}break}case 0:{if((y|0)==3)o=T;else{o=w;l=w;S=49}break}case 3:{o=b[I>>0]|0;o=o<<24>>24<0?f[J>>2]|0:o&255;l=b[K>>0]|0;l=l<<24>>24<0?f[L>>2]|0:l&255;if((o|0)==(0-l|0))o=T;else{if(!o){o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else o=mqa(b[e>>0]|0)|0;if((b[((b[K>>0]|0)<0?f[Z>>2]|0:Z)>>0]|0)!=(o&255)<<24>>24){o=T;break c}o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else{f[e>>2]=g+1;mqa(b[g>>0]|0)|0}b[k>>0]=1;o=b[K>>0]|0;o=(o<<24>>24<0?f[L>>2]|0:o&255)>>>0>1?Z:T;break c}o=f[a>>2]|0;e=f[o+12>>2]|0;g=(e|0)==(f[o+16>>2]|0);if(!l){if(g){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else o=mqa(b[e>>0]|0)|0;if((b[((b[I>>0]|0)<0?f[Y>>2]|0:Y)>>0]|0)!=(o&255)<<24>>24){b[k>>0]=1;o=T;break c}o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else{f[e>>2]=g+1;mqa(b[g>>0]|0)|0}o=b[I>>0]|0;o=(o<<24>>24<0?f[J>>2]|0:o&255)>>>0>1?Y:T;break c}if(g){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else o=mqa(b[e>>0]|0)|0;e=f[a>>2]|0;g=e+12|0;l=f[g>>2]|0;i=(l|0)==(f[e+16>>2]|0);if((b[((b[I>>0]|0)<0?f[Y>>2]|0:Y)>>0]|0)==(o&255)<<24>>24){if(i){x=0;qa(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;w=x;x=0;if(w&1){S=35;break b}}else{f[g>>2]=l+1;mqa(b[l>>0]|0)|0}o=b[I>>0]|0;o=(o<<24>>24<0?f[J>>2]|0:o&255)>>>0>1?Y:T;break c}if(i){x=0;o=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){S=35;break b}}else o=mqa(b[l>>0]|0)|0;if((b[((b[K>>0]|0)<0?f[Z>>2]|0:Z)>>0]|0)!=(o&255)<<24>>24){S=109;break b}o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){S=35;break b}}else{f[e>>2]=g+1;mqa(b[g>>0]|0)|0}b[k>>0]=1;o=b[K>>0]|0;o=(o<<24>>24<0?f[L>>2]|0:o&255)>>>0>1?Z:T}break}case 2:{if(!(y>>>0<2|(T|0)!=0))if(!(z|(y|0)==2&(b[E>>0]|0)!=0)){o=0;break c}e=b[A>>0]|0;o=e<<24>>24<0;v=f[X>>2]|0;r=o?v:X;t=r;d:do if(!y){p=w;g=t;o=v;l=w}else if((h[O+(y+-1)>>0]|0)<2){o=r+(o?f[B>>2]|0:e&255)|0;s=t;while(1){g=s;if((o|0)==(g|0))break;l=b[g>>0]|0;if(l<<24>>24<=-1)break;if(!(d[(f[H>>2]|0)+(l<<24>>24<<1)>>1]&8192))break;s=g+1|0}o=s-t|0;p=b[C>>0]|0;l=p<<24>>24<0;i=f[D>>2]|0;p=p&255;if(o>>>0>(l?i:p)>>>0){p=w;g=t;o=v;l=w}else{ca=f[_>>2]|0;q=(l?ca:_)+(l?i:p)|0;g=r;o=(l?ca+i|0:_+p|0)+(0-o)|0;while(1){if((o|0)==(q|0)){p=w;g=s;o=v;l=w;break d}if((b[o>>0]|0)!=(b[g>>0]|0)){p=w;g=t;o=v;l=w;break d}g=g+1|0;o=o+1|0}}}else{p=w;g=t;o=v;l=w}while(0);e:while(1){q=e<<24>>24<0;o=(q?o:X)+(q?f[B>>2]|0:e&255)|0;q=g;if((o|0)==(q|0))break;o=f[a>>2]|0;do if(!o)e=1;else{e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=148;break b}}else o=mqa(b[e>>0]|0)|0;if(wja(o,Kta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);do if(!l){o=p;S=138}else{o=f[l+12>>2]|0;if((o|0)==(f[l+16>>2]|0)){x=0;o=qa(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;ca=x;x=0;if(ca&1){S=148;break b}}else o=mqa(b[o>>0]|0)|0;if(wja(o,Kta()|0)|0){f[c>>2]=0;o=0;S=138;break}else if(e^(p|0)==0){o=p;i=p;break}else{o=q;break e}}while(0);if((S|0)==138){S=0;if(e){o=q;break}else i=0}e=f[a>>2]|0;g=f[e+12>>2]|0;if((g|0)==(f[e+16>>2]|0)){x=0;e=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=148;break b}}else e=mqa(b[g>>0]|0)|0;if((b[q>>0]|0)!=(e&255)<<24>>24){o=q;break}e=f[a>>2]|0;g=e+12|0;l=f[g>>2]|0;if((l|0)==(f[e+16>>2]|0)){x=0;qa(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=149;break b}}else{f[g>>2]=l+1;mqa(b[l>>0]|0)|0}p=o;g=q+1|0;e=b[A>>0]|0;o=f[X>>2]|0;l=i}if(z){ca=b[A>>0]|0;w=ca<<24>>24<0;if(((w?f[X>>2]|0:X)+(w?f[B>>2]|0:ca&255)|0)==(o|0))o=T;else{S=152;break b}}else o=T;break}case 4:{q=0;o=w;l=w;f:while(1){e=f[a>>2]|0;do if(!e)g=1;else{g=f[e+12>>2]|0;if((g|0)==(f[e+16>>2]|0)){x=0;e=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else e=mqa(b[g>>0]|0)|0;if(wja(e,Kta()|0)|0){f[a>>2]=0;g=1;break}else{g=(f[a>>2]|0)==0;break}}while(0);do if(!l)S=166;else{e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){x=0;e=qa(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else e=mqa(b[e>>0]|0)|0;if(wja(e,Kta()|0)|0){f[c>>2]=0;o=0;S=166;break}else if(g^(o|0)==0){i=o;p=o;break}else{l=o;break f}}while(0);if((S|0)==166){S=0;if(g){l=o;break}else{i=o;p=0}}o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else o=mqa(b[e>>0]|0)|0;e=o&255;if(e<<24>>24>-1)if(!(d[(f[H>>2]|0)+(o<<24>>24<<1)>>1]&2048))S=177;else{o=f[n>>2]|0;if((o|0)==(f[M>>2]|0)){x=0;Ia(161,m|0,n|0,M|0);ca=x;x=0;if(ca&1){S=244;break b}o=f[n>>2]|0}f[n>>2]=o+1;b[o>>0]=e;o=q+1|0}else S=177;if((S|0)==177){S=0;ca=b[F>>0]|0;if(!((b[Q>>0]|0)==e<<24>>24&(q|0?((ca<<24>>24<0?f[G>>2]|0:ca&255)|0)!=0:0))){l=i;break}o=f[U>>2]|0;if((o|0)==(f[N>>2]|0)){x=0;Ia(162,ba|0,U|0,N|0);ca=x;x=0;if(ca&1){S=244;break b}o=f[U>>2]|0}f[U>>2]=o+4;f[o>>2]=q;o=0}e=f[a>>2]|0;g=e+12|0;l=f[g>>2]|0;if((l|0)==(f[e+16>>2]|0)){x=0;qa(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=244;break b}else{q=o;o=i;l=p;continue}}else{f[g>>2]=l+1;mqa(b[l>>0]|0)|0;q=o;o=i;l=p;continue}}o=f[U>>2]|0;if(q|0?(f[ba>>2]|0)!=(o|0):0){if((o|0)==(f[N>>2]|0)){x=0;Ia(162,ba|0,U|0,N|0);ca=x;x=0;if(ca&1){S=244;break b}o=f[U>>2]|0}f[U>>2]=o+4;f[o>>2]=q}g:do if((f[R>>2]|0)>0){o=f[a>>2]|0;do if(!o)e=1;else{e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else o=mqa(b[e>>0]|0)|0;if(wja(o,Kta()|0)|0){f[a>>2]=0;e=1;break}else{e=(f[a>>2]|0)==0;break}}while(0);do if(!l)S=204;else{o=f[l+12>>2]|0;if((o|0)==(f[l+16>>2]|0)){x=0;o=qa(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else o=mqa(b[o>>0]|0)|0;if(wja(o,Kta()|0)|0){f[c>>2]=0;S=204;break}else if(e)break;else{S=243;break b}}while(0);if((S|0)==204){S=0;if(e){S=243;break b}else l=0}o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else o=mqa(b[e>>0]|0)|0;if((b[P>>0]|0)!=(o&255)<<24>>24){S=243;break b}o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}else o=l}else{f[e>>2]=g+1;mqa(b[g>>0]|0)|0;o=l}while(1){if((f[R>>2]|0)<=0)break g;e=f[a>>2]|0;do if(!e)g=1;else{g=f[e+12>>2]|0;if((g|0)==(f[e+16>>2]|0)){x=0;e=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else e=mqa(b[g>>0]|0)|0;if(wja(e,Kta()|0)|0){f[a>>2]=0;g=1;break}else{g=(f[a>>2]|0)==0;break}}while(0);do if(!l)S=227;else{e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){x=0;e=qa(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else e=mqa(b[e>>0]|0)|0;if(wja(e,Kta()|0)|0){f[c>>2]=0;o=0;S=227;break}else if(g^(o|0)==0){i=o;l=o;break}else{S=243;break b}}while(0);if((S|0)==227){S=0;if(g){S=243;break b}else{i=o;l=0}}o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else o=mqa(b[e>>0]|0)|0;if((o&255)<<24>>24<=-1){S=243;break b}if(!(d[(f[H>>2]|0)+(o<<24>>24<<1)>>1]&2048)){S=243;break b}if((f[n>>2]|0)==(f[M>>2]|0)){x=0;Ia(161,m|0,n|0,M|0);ca=x;x=0;if(ca&1){S=244;break b}}o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}}else o=mqa(b[e>>0]|0)|0;e=f[n>>2]|0;f[n>>2]=e+1;b[e>>0]=o;f[R>>2]=(f[R>>2]|0)+-1;o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=244;break b}else{o=i;continue}}else{f[e>>2]=g+1;mqa(b[g>>0]|0)|0;o=i;continue}}}while(0);if((f[n>>2]|0)==(f[m>>2]|0)){S=243;break b}else o=T;break}default:o=T}while(0);h:do if((S|0)==49)while(1){S=0;e=f[a>>2]|0;do if(!e)g=1;else{g=f[e+12>>2]|0;if((g|0)==(f[e+16>>2]|0)){x=0;e=qa(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=35;break b}}else e=mqa(b[g>>0]|0)|0;if(wja(e,Kta()|0)|0){f[a>>2]=0;g=1;break}else{g=(f[a>>2]|0)==0;break}}while(0);do if(!l)S=62;else{e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){x=0;e=qa(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;ca=x;x=0;if(ca&1){S=35;break b}}else e=mqa(b[e>>0]|0)|0;if(wja(e,Kta()|0)|0){f[c>>2]=0;o=0;S=62;break}else if(g^(o|0)==0){i=o;l=o;break}else{o=T;break h}}while(0);if((S|0)==62){S=0;if(g){o=T;break h}else{i=o;l=0}}o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=35;break b}}else o=mqa(b[e>>0]|0)|0;if((o&255)<<24>>24<=-1){o=T;break h}if(!(d[(f[H>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=T;break h}o=f[a>>2]|0;e=o+12|0;g=f[e>>2]|0;if((g|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+40>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=35;break b}}else{f[e>>2]=g+1;o=mqa(b[g>>0]|0)|0}x=0;Ga(534,_|0,o&255|0);ca=x;x=0;if(ca&1){S=35;break b}else{o=i;S=49}}while(0);T=o;y=y+1|0}i:do if((S|0)==35){e=Ya()|0;break a}else if((S|0)==47){f[j>>2]=f[j>>2]|4;e=0}else if((S|0)==109){f[j>>2]=f[j>>2]|4;e=0}else if((S|0)==148){e=Ya()|0;break a}else if((S|0)==149){e=Ya()|0;break a}else if((S|0)==152){f[j>>2]=f[j>>2]|4;e=0}else if((S|0)==243){f[j>>2]=f[j>>2]|4;e=0}else if((S|0)==244){e=Ya()|0;break a}else if((S|0)==246){j:do if(T|0){i=T+11|0;p=T+4|0;l=1;k:while(1){o=b[i>>0]|0;if(o<<24>>24<0)o=f[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break j;o=f[a>>2]|0;do if(!o)g=1;else{e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=274;break k}}else o=mqa(b[e>>0]|0)|0;if(wja(o,Kta()|0)|0){f[a>>2]=0;g=1;break}else{g=(f[a>>2]|0)==0;break}}while(0);o=f[c>>2]|0;do if(!o)S=265;else{e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=274;break k}}else o=mqa(b[e>>0]|0)|0;if(wja(o,Kta()|0)|0){f[c>>2]=0;S=265;break}else if(g)break;else{S=273;break k}}while(0);if((S|0)==265){S=0;if(g){S=273;break}}o=f[a>>2]|0;e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){x=0;o=qa(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;ca=x;x=0;if(ca&1){S=274;break}}else o=mqa(b[e>>0]|0)|0;if((b[i>>0]|0)<0)e=f[T>>2]|0;else e=T;if((b[e+l>>0]|0)!=(o&255)<<24>>24){S=273;break}o=l+1|0;e=f[a>>2]|0;g=e+12|0;l=f[g>>2]|0;if((l|0)==(f[e+16>>2]|0)){x=0;qa(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;ca=x;x=0;if(ca&1){S=274;break}else{l=o;continue}}else{f[g>>2]=l+1;mqa(b[l>>0]|0)|0;l=o;continue}}if((S|0)==273){f[j>>2]=f[j>>2]|4;e=0;break i}else if((S|0)==274){e=Ya()|0;break a}}while(0);e=f[ba>>2]|0;o=f[U>>2]|0;if((e|0)==(o|0))e=1;else{f[V>>2]=0;x=0;Ja(60,W|0,e|0,o|0,V|0);ca=x;x=0;if(ca&1){e=Ya()|0;break a}if(!(f[V>>2]|0)){e=1;break}else{f[j>>2]=f[j>>2]|4;e=0;break}}}while(0);Aaa(_);Aaa(Z);Aaa(Y);Aaa(X);Aaa(W);o=f[ba>>2]|0;f[ba>>2]=0;if(o|0){x=0;Fa(f[aa>>2]|0,o|0);ca=x;x=0;if(ca&1){ca=Za(0)|0;soa(ca)}}u=$;return e|0}while(0);Aaa(_);Aaa(Z);Aaa(Y);Aaa(X);Aaa(W);o=f[ba>>2]|0;f[ba>>2]=0;if(o|0){x=0;Fa(f[aa>>2]|0,o|0);ca=x;x=0;if(ca&1){ca=Za(0)|0;soa(ca)}}jb(e|0);return 0}function wd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;O=0;G=u;u=u+352|0;B=G;C=G+272|0;e=G+312|0;n=G+296|0;j=G+284|0;N=G+264|0;M=G+208|0;g=G+224|0;k=G+216|0;l=G+200|0;i=G+184|0;L=G+192|0;m=G+168|0;r=G+160|0;s=G+152|0;t=G+144|0;v=G+136|0;w=G+128|0;K=G+176|0;y=G+120|0;D=G+112|0;E=G+104|0;A=G+64|0;H=G+56|0;J=G+48|0;F=G+40|0;P=c+164|0;Q=f[P>>2]|0;z=Q+1|0;f[P>>2]=z;if(z>>>0>512){m=Ta(84)|0;o=e;p=c+108|0;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(511,n|0,c+148|0);O=x;x=0;do if(O&1)e=Ya()|0;else{x=0;Ga(459,j|0,80148);O=x;x=0;if(O&1){e=Ya()|0;l=I;h=1}else{x=0;o=B;p=e;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ja(28,m|0,B|0,n|0,j|0);O=x;x=0;if(O&1)h=1;else{x=0;Ia(77,m|0,3328,181);x=0;h=0}e=Ya()|0;g=I;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);l=g}else l=g}g=f[n>>2]|0;if(!g){if(h)break;f[P>>2]=Q;jb(e|0)}k=n+4|0;i=f[k>>2]|0;if((i|0)!=(g|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(g|0));g=f[n>>2]|0}Hta(g);if(!h){O=e;f[P>>2]=Q;jb(O|0)}}while(0);bb(m|0);O=e;f[P>>2]=Q;jb(O|0)}x=0;Ga(462,N|0,0);z=x;x=0;if(z&1)e=Ya()|0;else{f[N>>2]=7904;x=0;ta(55,c|0,1,0)|0;z=x;x=0;if(z&1)O=35;else{x=0;ta(52,c|0,0,0)|0;z=x;x=0;if(z&1)O=35;else{e=c+128|0;x=0;Ga(576,c+108|0,e|0);z=x;x=0;if(z&1)O=35;else{f[c+132>>2]=0;f[e>>2]=0;x=0;h=qa(318,100)|0;z=x;x=0;a:do if(z&1)e=Ya()|0;else{z=c+108|0;o=g;p=z;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(462,k|0,0);q=x;x=0;do if(q&1)e=Ya()|0;else{f[k>>2]=15572;x=0;Ga(462,l|0,0);q=x;x=0;if(q&1){e=Ya()|0;_P(k);break}f[l>>2]=15556;x=0;Ga(462,i|0,0);q=x;x=0;if(q&1){e=Ya()|0;g=1}else{f[i>>2]=7904;x=0;o=B;p=g;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));La(10,h|0,B|0,0,k|0,l|0,i|0);q=x;x=0;if(q&1)e=1;else{x=0;Ga(462,M|0,h|0);q=x;x=0;if(q&1)e=0;else{f[M>>2]=15556;_P(i);_P(l);_P(k);j=c+76|0;e=f[j>>2]|0;x=0;g=qa(348,e|0)|0;q=x;x=0;do if(q&1)O=43;else{x=0;e=qa(349,(g|0?g:e)|0)|0;q=x;x=0;if(q&1)O=43;else{k=c+80|0;if(!((e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0)){x=0;Ga(462,a|0,0);O=x;x=0;if(O&1){O=43;break}f[a>>2]=15556;_P(M);_P(N);f[P>>2]=Q;u=G;return}x=0;Ga(462,L|0,0);q=x;x=0;if(q&1)e=Ya()|0;else{f[L>>2]=15572;x=0;e=qa(347,f[j>>2]|0)|0;q=x;x=0;b:do if(q&1)O=59;else{if((e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0)e=f[j>>2]|0;x=0;g=qa(348,e|0)|0;q=x;x=0;if(q&1){O=59;break}i=g|0?g:e;g=b[36424]|0;c:do if(!(g<<24>>24))e=0;else{e=b[i>>0]|0;h=36424;while(1){if(e<<24>>24==g<<24>>24)break c;h=h+1|0;g=b[h>>0]|0;if(!(g<<24>>24)){e=0;break}}}while(0);q=e<<24>>24?i+1|0:0;d:do if((q|0)==0?1:q>>>0>(f[k>>2]|0)>>>0){x=0;Ga(577,B|0,c|0);q=x;x=0;e:do if(q&1)e=Ya()|0;else{e=L+4|0;do if(f[e>>2]|0){x=0;Fa(429,L|0);q=x;x=0;if(!(q&1))break;e=Ya()|0;_P(B);break e}while(0);q=B+4|0;f[e>>2]=f[q>>2];f[q>>2]=0;_P(B);break d}while(0);break b}while(0);x=0;e=ta(56,c|0,1,0)|0;q=x;x=0;f:do if(!(q&1)){g:do if(!e){x=0;e=ta(57,c|0,1,0)|0;q=x;x=0;if(q&1)break f;if(e|0){e=2;O=87;break}x=0;e=ta(58,c|0,1,0)|0;q=x;x=0;if(q&1)break f;if(e|0){e=1;O=87;break}x=0;e=ta(59,c|0,1,0)|0;q=x;x=0;if(q&1)break f;if(!e){g=f[L+4>>2]|0;if(g|0){e=0;O=90;break}x=0;Ga(462,a|0,0);K=x;x=0;if(K&1)break f;else break}x=0;e=ta(60,c|0,1,0)|0;q=x;x=0;if(q&1)break f;if(!e){x=0;Ga(462,a|0,0);K=x;x=0;if(K&1)break f;else break}x=0;e=qa(318,80)|0;q=x;x=0;h:do if(q&1)O=83;else{g=c+168|0;x=0;o=B;p=z;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ja(29,e|0,B|0,g|0,1);q=x;x=0;if(q&1){K=Ya()|0;Hta(e);e=K;break}x=0;Ga(462,C|0,e|0);q=x;x=0;if(q&1){O=83;break}f[C>>2]=7904;e=N+4|0;do if(f[e>>2]|0){x=0;Fa(429,N|0);q=x;x=0;if(!(q&1))break;e=Ya()|0;_P(C);break h}while(0);q=C+4|0;f[e>>2]=f[q>>2];f[q>>2]=0;_P(C);x=0;e=ta(61,c|0,1,0)|0;q=x;x=0;if(q&1)break f;if(e|0){e=4;O=87;break g}x=0;Ga(462,a|0,0);K=x;x=0;if(K&1)break f;else break g}while(0);if((O|0)==83)e=Ya()|0;break b}else{e=3;O=87}while(0);if((O|0)==87){g=f[L+4>>2]|0;O=90}i:do if((O|0)==90){n=M+4|0;h=f[n>>2]|0;x=0;Ga(462,r|0,g|0);q=x;x=0;if(q&1)break f;f[r>>2]=15572;f[h+68>>2]=0;i=h+76|0;g=h+80|0;if(!(f[g>>2]|0))O=93;else{x=0;Fa(429,i|0);q=x;x=0;if(!(q&1))O=93}do if((O|0)==93){f[g>>2]=f[r+4>>2];x=0;Fa(430,i|0);q=x;x=0;if(q&1)break;x=0;Ga(462,m|0,f[g>>2]|0);q=x;x=0;if(q&1)break;f[m>>2]=15572;_P(m);_P(r);h=f[n>>2]|0;g=h+68|0;f[g>>2]=0;f[h+72>>2]=e;m=c+68|0;f[h+64>>2]=f[m>>2];j:do if((e|0)==4){x=0;Ga(462,t|0,f[N+4>>2]|0);r=x;x=0;if(r&1)break f;f[t>>2]=7904;f[g>>2]=0;g=h+92|0;e=h+96|0;if(!(f[e>>2]|0))O=99;else{x=0;Fa(429,g|0);r=x;x=0;if(!(r&1))O=99}do if((O|0)==99){f[e>>2]=f[t+4>>2];x=0;Fa(430,g|0);r=x;x=0;if(r&1)break;x=0;Ga(462,s|0,f[e>>2]|0);r=x;x=0;if(r&1)break;f[s>>2]=7904;_P(s);_P(t);h=f[n>>2]|0;break j}while(0);e=Ya()|0;_P(t);break b}while(0);x=0;e=qa(350,f[j>>2]|0)|0;t=x;x=0;if(t&1)break f;if(e){x=0;e=qa(347,f[j>>2]|0)|0;t=x;x=0;if(t&1)break f;if((e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0)e=f[j>>2]|0;x=0;g=qa(348,e|0)|0;t=x;x=0;if(t&1)break f;e=g|0?g:e;e=(b[e>>0]|0)==123?e+1|0:0;e=(e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0}else e=0;b[h+61>>0]=e&1;x=0;e=qa(347,f[j>>2]|0)|0;t=x;x=0;if(t&1)break f;if((e|0)==0?1:e>>>0>(f[k>>2]|0)>>>0)e=f[j>>2]|0;x=0;g=qa(348,e|0)|0;t=x;x=0;if(t&1)break f;i=g|0?g:e;g=b[36417]|0;k:do if(!(g<<24>>24))e=0;else{e=b[i>>0]|0;h=36417;while(1){if(e<<24>>24==g<<24>>24)break k;h=h+1|0;g=b[h>>0]|0;if(!(g<<24>>24)){e=0;break}}}while(0);t=e<<24>>24?i+1|0:0;l:do if((t|0)==0?1:t>>>0>(f[k>>2]|0)>>>0){e=f[n>>2]|0;x=0;Ia(112,w|0,c|0,1);c=x;x=0;if(c&1)break f;f[e+68>>2]=0;g=e+84|0;e=e+88|0;if(!(f[e>>2]|0))O=123;else{x=0;Fa(429,g|0);c=x;x=0;if(!(c&1))O=123}do if((O|0)==123){f[e>>2]=f[w+4>>2];x=0;Fa(430,g|0);c=x;x=0;if(c&1)break;x=0;Ga(462,v|0,f[e>>2]|0);c=x;x=0;if(c&1)break;f[v>>2]=15556;_P(v);_P(w);break l}while(0);e=Ya()|0;_P(w);break b}while(0);e=f[n>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+124>>2]|0,e|0)|0;w=x;x=0;if(w&1)break f;m:do if(!(e|d)){x=0;l=qa(318,108)|0;d=x;x=0;n:do if(d&1)O=154;else{o=B;p=z;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Fa(427,l|0);d=x;x=0;do if(d&1)e=Ya()|0;else{o=l+12|0;p=B;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l>>2]=15620;b[l+60>>0]=0;b[l+61>>0]=0;b[l+62>>0]=0;f[l+64>>2]=0;f[l+68>>2]=0;f[l+56>>2]=7;e=l+72|0;f[e>>2]=15516;j=l+76|0;k=l+80|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(513,j|0,0);d=x;x=0;if(d&1){e=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0)){do{K=h+-8|0;f[k>>2]=K;Kc[f[f[K>>2]>>2]&511](K);h=f[k>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[l>>2]=15300;f[e>>2]=15476;d=l+96|0;f[d>>2]=0;f[l+100>>2]=0;f[l+92>>2]=d;b[l+104>>0]=0;b[l+105>>0]=0;x=0;Ga(462,K|0,l|0);d=x;x=0;if(d&1){O=154;break n}f[K>>2]=15572;x=0;h=qa(318,104)|0;d=x;x=0;o:do if(d&1)O=157;else{f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=C+11|0;b[g>>0]=1;b[C>>0]=38;b[C+1>>0]=0;x=0;o=B;p=z;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ia(88,h|0,B|0,C|0);d=x;x=0;if(d&1){e=Ya()|0;if((b[g>>0]|0)<0)Hta(f[C>>2]|0);Hta(h);break}if((b[g>>0]|0)<0)Hta(f[C>>2]|0);f[h>>2]=13868;b[h+101>>0]=0;w=f[m>>2]|0;f[h+64>>2]=w;g=K+4|0;d=f[g>>2]|0;f[d+64>>2]=w;x=0;Ga(578,d|0,h|0);d=x;x=0;if(d&1){O=157;break}x=0;Ga(462,y|0,f[(f[n>>2]|0)+80>>2]|0);d=x;x=0;if(d&1){O=157;break}f[y>>2]=15572;d=(f[y+4>>2]|0)==0;_P(y);p:do if(d){e=f[n>>2]|0;x=0;Ga(462,E|0,f[g>>2]|0);J=x;x=0;if(J&1){O=157;break o}f[E>>2]=15572;f[e+68>>2]=0;g=e+76|0;e=e+80|0;if(!(f[e>>2]|0))O=151;else{x=0;Fa(429,g|0);J=x;x=0;if(!(J&1))O=151}do if((O|0)==151){f[e>>2]=f[E+4>>2];x=0;Fa(430,g|0);J=x;x=0;if(J&1)break;x=0;Ga(462,D|0,f[e>>2]|0);J=x;x=0;if(J&1)break;f[D>>2]=15572;_P(D);_P(E);break p}while(0);e=Ya()|0;_P(E);break o}else{x=0;h=qa(318,100)|0;E=x;x=0;q:do if(E&1)e=Ya()|0;else{o=A;p=z;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(462,H|0,f[g>>2]|0);E=x;x=0;do if(E&1)e=Ya()|0;else{f[H>>2]=15572;x=0;Ga(462,J|0,f[n>>2]|0);E=x;x=0;if(E&1){e=Ya()|0;_P(H);break}f[J>>2]=15556;x=0;Ga(462,F|0,0);E=x;x=0;if(E&1){e=Ya()|0;g=1}else{f[F>>2]=7904;x=0;o=B;p=A;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));La(10,h|0,B|0,0,H|0,J|0,F|0);E=x;x=0;r:do if(E&1){e=1;O=173}else{x=0;Ga(462,C|0,h|0);E=x;x=0;if(E&1){e=0;O=173;break}f[C>>2]=15556;do if(f[n>>2]|0){x=0;Fa(429,M|0);E=x;x=0;if(!(E&1))break;e=Ya()|0;_P(C);g=0;break r}while(0);E=C+4|0;f[n>>2]=f[E>>2];f[E>>2]=0;_P(C);_P(F);_P(J);_P(H);f[(f[n>>2]|0)+64>>2]=f[m>>2];break p}while(0);if((O|0)==173){G=Ya()|0;g=e;e=G}_P(F)}_P(J);_P(H);if(!g)break q}while(0);Hta(h)}while(0);break o}while(0);_P(K);break m}while(0);if((O|0)==157)e=Ya()|0;_P(K);break n}while(0);Hta(l)}while(0);if((O|0)==154)e=Ya()|0;break b}while(0);x=0;Ga(575,f[n>>2]|0,z|0);K=x;x=0;if(K&1)break f;x=0;Ga(462,a|0,f[n>>2]|0);K=x;x=0;if(K&1)break f;else break i}while(0);e=Ya()|0;_P(r);break b}while(0);f[a>>2]=15556;_P(L);_P(M);_P(N);f[P>>2]=Q;u=G;return}while(0);e=Ya()|0}while(0);if((O|0)==59)e=Ya()|0;_P(L)}}}while(0);if((O|0)==43)e=Ya()|0;_P(M);break a}}M=Ya()|0;_P(i);g=e;e=M}_P(l);_P(k);if(!g)break a}while(0);Hta(h)}while(0)}}}if((O|0)==35)e=Ya()|0;_P(N)}O=e;f[P>>2]=Q;jb(O|0)}function xd(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.0,n=0.0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;M=0;H=u;u=u+544|0;L=H+488|0;S=H+452|0;R=H+432|0;e=H+480|0;k=H+464|0;r=H+440|0;o=H+416|0;Q=H+408|0;h=H+400|0;l=H+384|0;s=H+356|0;q=H+344|0;P=H+376|0;O=H+368|0;N=H+200|0;K=H+188|0;z=H+176|0;y=H+136|0;A=H+128|0;B=H+88|0;F=H+72|0;D=H+64|0;C=H+24|0;G=H+8|0;E=H;ND(S,c+72|0);x=0;Ga(462,e|0,f[c+88>>2]|0);J=x;x=0;do if(J&1)d=Ya()|0;else{f[e>>2]=7696;d=f[e+4>>2]|0;g=a+12|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,g|0)|0;J=x;x=0;if(!(J&1)){x=0;Ga(462,R|0,d|0);J=x;x=0;if(!(J&1)){f[R>>2]=7696;_P(e);J=R+4|0;e=f[J>>2]|0;a:do if((f[e+56>>2]|0)==2){x=0;Ga(462,h|0,f[c+96>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[h>>2]=7696;d=f[h+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,g|0)|0;w=x;x=0;if(!(w&1)){x=0;Ga(462,Q|0,d|0);w=x;x=0;if(!(w&1)){f[Q>>2]=7696;_P(h);k=Q+4|0;e=f[k>>2]|0;b:do if((f[e+56>>2]|0)==2){d=f[J>>2]|0;if(!d)d=0;else d=(f[49]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,P|0,d|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[P>>2]=16744;d=f[k>>2]|0;if(!d)d=0;else d=(f[49]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,O|0,d|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[O>>2]=16744;r=P+4|0;x=0;Ga(561,L|0,(f[r>>2]|0)+60|0);w=x;x=0;c:do if(w&1){d=Ya()|0;M=128}else{s=O+4|0;x=0;Ga(561,N|0,(f[s>>2]|0)+60|0);w=x;x=0;if(w&1){d=Ya()|0;if((b[L+11>>0]|0)>=0){M=128;break}Hta(f[L>>2]|0);M=128;break}o=L+11|0;d=b[o>>0]|0;h=d<<24>>24<0;g=d&255;i=h?f[L+4>>2]|0:g;w=b[N+11>>0]|0;q=w<<24>>24<0;d:do if((i|0)==((q?f[N+4>>2]|0:w&255)|0)){j=f[L>>2]|0;k=h?j:L;e=q?f[N>>2]|0:N;l=(i|0)==0;if(h){if(l){e=0;break}e=(lO(k,e,i)|0)!=0;break}if(l){e=0;break}if((b[e>>0]|0)==(j&255)<<24>>24)h=L;else{e=1;break}while(1){g=g+-1|0;h=h+1|0;if(!g){e=0;break d}e=e+1|0;if((b[h>>0]|0)!=(b[e>>0]|0)){e=1;break}}}else e=1;while(0);if(q){Hta(f[N>>2]|0);d=b[o>>0]|0}if(d<<24>>24<0)Hta(f[L>>2]|0);e:do if(e){k=N+64|0;d=N+8|0;f[d>>2]=16496;j=N+12|0;f[N>>2]=2284;f[k>>2]=2304;f[N+4>>2]=0;x=0;Ga(531,N+64|0,j|0);w=x;x=0;f:do if(w&1){d=Ya()|0;M=129}else{f[N+136>>2]=0;f[N+140>>2]=-1;f[N>>2]=16476;f[k>>2]=16516;f[d>>2]=16496;x=0;Fa(437,j|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[j>>2]=16336;i=N+44|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[N+60>>2]=24;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;x=0;Ga(532,j|0,L|0);w=x;x=0;if(w&1){d=Ya()|0;if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);break}if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);h=N+8|0;x=0;d=ta(44,h|0,53276,21)|0;w=x;x=0;g:do if(w&1)M=130;else{x=0;Ga(561,L|0,(f[r>>2]|0)+60|0);w=x;x=0;do if(w&1)d=Ya()|0;else{g=L+11|0;w=b[g>>0]|0;v=w<<24>>24<0;x=0;d=ta(44,d|0,(v?f[L>>2]|0:L)|0,(v?f[L+4>>2]|0:w&255)|0)|0;w=x;x=0;do if(w&1)M=132;else{x=0;d=ta(44,d|0,53298,7)|0;w=x;x=0;if(w&1){M=132;break}x=0;Ga(561,K|0,(f[s>>2]|0)+60|0);w=x;x=0;do if(w&1)d=Ya()|0;else{e=K+11|0;w=b[e>>0]|0;v=w<<24>>24<0;x=0;d=ta(44,d|0,(v?f[K>>2]|0:K)|0,(v?f[K+4>>2]|0:w&255)|0)|0;w=x;x=0;do if(!(w&1)){x=0;ta(44,d|0,53306,2)|0;w=x;x=0;if(w&1)break;if((b[e>>0]|0)<0)Hta(f[K>>2]|0);if((b[g>>0]|0)<0)Hta(f[L>>2]|0);x=0;Ga(533,z|0,j|0);w=x;x=0;if(w&1){M=130;break g}t=y;v=(f[J>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));d=f[a+8>>2]|0;x=0;t=L;v=y;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ia(100,z|0,L|0,d|0);y=x;x=0;if(y&1){d=Ya()|0;if((b[z+11>>0]|0)>=0)break g;Hta(f[z>>2]|0);break g}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);f[N>>2]=16476;f[k>>2]=16516;f[h>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(N,16528);uma(k);break e}while(0);d=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[K>>2]|0)}while(0)}while(0);if((M|0)==132)d=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[L>>2]|0)}while(0)}while(0);if((M|0)==130)d=Ya()|0;f[N>>2]=16476;f[k>>2]=16516;f[h>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(N,16528);uma(k);break f}while(0);KU(N,16528);M=129}while(0);if((M|0)==129)uma(k);break c}while(0);m=+p[(f[r>>2]|0)+88>>3];n=+p[(f[s>>2]|0)+88>>3];e=a+56|0;k=a+60|0;d=f[k>>2]|0;if((d|0)==(f[e>>2]|0))d=0;else d=f[d+-4>>2]|0;x=0;Ia(132,N|0,d|0,1);z=x;x=0;if(z&1)d=Ya()|0;else{f[L>>2]=N;d=f[k>>2]|0;do if(d>>>0<(f[a+64>>2]|0)>>>0){f[d>>2]=N;f[k>>2]=(f[k>>2]|0)+4;M=152}else{x=0;Ga(646,e|0,L|0);z=x;x=0;if(!(z&1)){M=152;break}d=Ya()|0}while(0);h:do if((M|0)==152){d=a+80|0;x=0;Ga(462,L|0,c|0);z=x;x=0;do if(z&1)d=Ya()|0;else{f[L>>2]=6664;j=a+84|0;e=f[j>>2]|0;do if(e>>>0<(f[a+88>>2]|0)>>>0){x=0;Ga(462,e|0,f[L+4>>2]|0);z=x;x=0;if(z&1){M=164;break}f[e>>2]=6664;f[j>>2]=(f[j>>2]|0)+8}else{x=0;Ga(657,d|0,L|0);z=x;x=0;if(z&1)M=164}while(0);if((M|0)==164){d=Ya()|0;_P(L);break}_P(L);x=0;Ga(462,A|0,f[c+68>>2]|0);z=x;x=0;if(z&1){d=Ya()|0;break h}f[A>>2]=7280;i=f[A+4>>2]|0;_P(A);d=(b[c+100>>0]|0)!=0;i:do if(m>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(561,F|0,(f[s>>2]|0)+60|0);M=x;x=0;if(M&1){M=179;break}x=0;t=L;v=B;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ha(1,h|0,L|0,+m,F|0,1);M=x;x=0;if(M&1){e=1;M=180;break}x=0;Ga(462,K|0,h|0);M=x;x=0;if(M&1){e=0;M=180;break}f[K>>2]=16744;if((b[g>>0]|0)<0)Hta(f[F>>2]|0);x=0;Ga(462,D|0,f[d>>2]|0);M=x;x=0;if(M&1){M=184;break}f[D>>2]=16744;x=0;Ga(462,L|0,f[e>>2]|0);M=x;x=0;if(M&1){M=185;break}f[L>>2]=6664;x=0;Ia(128,N|0,S|0,L|0);M=x;x=0;if(M&1){M=186;break}_P(L);_P(D);x=0;Ga(656,a|0,i|0);M=x;x=0;if(M&1){M=189;break}_P(K);m=m+1.0;if(!(m>0]|0)<0){Hta(f[F>>2]|0);if(e){M=183;break}else break}else if(e){M=183;break}else break}else if((M|0)==184){d=Ya()|0;M=188}else if((M|0)==185){d=Ya()|0;M=187}else if((M|0)==186){d=Ya()|0;_P(L);M=187}else if((M|0)==189){d=Ya()|0;M=190}while(0);if((M|0)==183)Hta(h);else if((M|0)==187){_P(D);M=188}if((M|0)==188)M=190;if((M|0)==190)_P(K);break h}else{n=d?n+-1.0:n;if(!(m>n))break;g=G+11|0;d=K+4|0;e=E+4|0;while(1){x=0;h=qa(318,104)|0;M=x;x=0;if(M&1){M=205;break}t=C;v=(f[J>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(561,G|0,(f[s>>2]|0)+60|0);M=x;x=0;if(M&1){M=206;break}x=0;t=L;v=C;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ha(1,h|0,L|0,+m,G|0,1);M=x;x=0;if(M&1){e=1;M=207;break}x=0;Ga(462,K|0,h|0);M=x;x=0;if(M&1){e=0;M=207;break}f[K>>2]=16744;if((b[g>>0]|0)<0)Hta(f[G>>2]|0);x=0;Ga(462,E|0,f[d>>2]|0);M=x;x=0;if(M&1){M=211;break}f[E>>2]=16744;x=0;Ga(462,L|0,f[e>>2]|0);M=x;x=0;if(M&1){M=212;break}f[L>>2]=6664;x=0;Ia(128,N|0,S|0,L|0);M=x;x=0;if(M&1){M=213;break}_P(L);_P(E);x=0;Ga(656,a|0,i|0);M=x;x=0;if(M&1){M=216;break}_P(K);m=m+-1.0;if(!(m>n))break i}do if((M|0)==205)d=Ya()|0;else if((M|0)==206){d=Ya()|0;M=210}else if((M|0)==207){d=Ya()|0;if((b[g>>0]|0)<0){Hta(f[G>>2]|0);if(e){M=210;break}else break}else if(e){M=210;break}else break}else if((M|0)==211){d=Ya()|0;M=215}else if((M|0)==212){d=Ya()|0;M=214}else if((M|0)==213){d=Ya()|0;_P(L);M=214}else if((M|0)==216){d=Ya()|0;M=217}while(0);if((M|0)==210)Hta(h);else if((M|0)==214){_P(E);M=215}if((M|0)==215)M=217;if((M|0)==217)_P(K);break h}while(0);e=f[j>>2]|0;d=e+-8|0;do{M=e+-8|0;f[j>>2]=M;Kc[f[f[M>>2]>>2]&511](M);e=f[j>>2]|0}while((e|0)!=(d|0));f[k>>2]=(f[k>>2]|0)+-4;rE(N,f[N+4>>2]|0);_P(O);_P(P);_P(Q);_P(R);if((b[S+11>>0]|0)>=0){u=H;return 0}Hta(f[S>>2]|0);u=H;return 0}while(0)}while(0);rE(N,f[N+4>>2]|0)}}while(0);_P(O)}_P(P)}}else{i=a+8|0;d=f[i>>2]|0;j=l+11|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;DP(L|0,e+12|0,40)|0;h=L+40|0;x=0;Ga(459,h|0,l|0);P=x;x=0;do if(P&1)d=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;if(g>>>0<(f[d+8>>2]|0)>>>0){t=g;v=L;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));P=g+40|0;f[P>>2]=f[h>>2];f[P+4>>2]=f[h+4>>2];f[P+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,L|0);P=x;x=0;if(P&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[l>>2]|0);l=Ta(100)|0;x=0;Ga(511,s|0,f[i>>2]|0);P=x;x=0;do if(P&1)d=Ya()|0;else{P=f[k>>2]|0;f[q+8>>2]=0;e=q+11|0;b[e>>0]=7;b[q>>0]=b[48816]|0;b[q+1>>0]=b[48817]|0;b[q+2>>0]=b[48818]|0;b[q+3>>0]=b[48819]|0;b[q+4>>0]=b[48820]|0;b[q+5>>0]=b[48821]|0;b[q+6>>0]=b[48822]|0;b[q+7>>0]=0;x=0;Ja(43,l|0,s|0,P|0,q|0);P=x;x=0;if(P&1)k=1;else{x=0;Ia(77,l|0,3928,270);x=0;k=0}d=Ya()|0;j=I;if((b[e>>0]|0)<0)Hta(f[q>>2]|0);e=f[s>>2]|0;if(!e)if(k)break;else break b;i=s+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[s>>2]|0}Hta(e);if(!k)break b}while(0);bb(l|0);break b}while(0);if((b[j>>0]|0)<0)Hta(f[l>>2]|0)}while(0);_P(Q);break}}d=Ya()|0;_P(h)}while(0)}else{i=a+8|0;d=f[i>>2]|0;j=k+11|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;DP(L|0,e+12|0,40)|0;h=L+40|0;x=0;Ga(459,h|0,k|0);Q=x;x=0;do if(Q&1)d=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;if(g>>>0<(f[d+8>>2]|0)>>>0){t=g;v=L;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Q=g+40|0;f[Q>>2]=f[h>>2];f[Q+4>>2]=f[h+4>>2];f[Q+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,L|0);Q=x;x=0;if(Q&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[k>>2]|0);l=Ta(100)|0;x=0;Ga(511,r|0,f[i>>2]|0);Q=x;x=0;do if(Q&1)d=Ya()|0;else{Q=f[J>>2]|0;f[o+8>>2]=0;e=o+11|0;b[e>>0]=7;b[o>>0]=b[48816]|0;b[o+1>>0]=b[48817]|0;b[o+2>>0]=b[48818]|0;b[o+3>>0]=b[48819]|0;b[o+4>>0]=b[48820]|0;b[o+5>>0]=b[48821]|0;b[o+6>>0]=b[48822]|0;b[o+7>>0]=0;x=0;Ja(43,l|0,r|0,Q|0,o|0);Q=x;x=0;if(Q&1)k=1;else{x=0;Ia(77,l|0,3928,270);x=0;k=0}d=Ya()|0;j=I;if((b[e>>0]|0)<0)Hta(f[o>>2]|0);e=f[r>>2]|0;if(!e)if(k)break;else break a;i=r+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[r>>2]|0}Hta(e);if(!k)break a}while(0);bb(l|0);break a}while(0);if((b[j>>0]|0)<0)Hta(f[k>>2]|0)}while(0);_P(R);break}}d=Ya()|0;_P(e)}while(0);if((b[S+11>>0]|0)>=0)jb(d|0);Hta(f[S>>2]|0);jb(d|0);return 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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,sa=0,ua=0,va=0;ua=0;pa=u;u=u+1040|0;oa=pa+1e3|0;ea=pa+988|0;X=pa+976|0;Y=pa+936|0;_=pa+896|0;T=pa+880|0;U=pa+868|0;V=pa+856|0;W=pa+816|0;Q=pa+804|0;M=pa+792|0;N=pa+780|0;O=pa+768|0;P=pa+728|0;I=pa+712|0;J=pa+700|0;K=pa+688|0;L=pa+648|0;sa=pa+636|0;ra=pa+624|0;s=pa+612|0;t=pa+600|0;v=pa+560|0;o=pa+532|0;p=pa+520|0;q=pa+452|0;r=pa+400|0;j=pa+384|0;k=pa+324|0;l=pa+300|0;m=pa+248|0;va=pa+224|0;ma=pa+96|0;e=pa+544|0;w=pa+480|0;E=pa+464|0;A=pa+440|0;B=pa+376|0;C=pa+336|0;H=pa+312|0;F=pa+288|0;G=pa+240|0;D=pa+212|0;R=pa+200|0;Z=pa+160|0;ka=pa+148|0;ia=pa+136|0;fa=pa+88|0;ga=pa+48|0;na=pa+36|0;la=pa+24|0;ja=pa+16|0;ha=pa;$=c+108|0;i=ma;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));aa=c+168|0;f[oa>>2]=f[aa>>2];f[oa+4>>2]=f[aa+4>>2];f[oa+8>>2]=f[aa+8>>2];ba=c+76|0;d=f[ba>>2]|0;ca=c+84|0;f[ea>>2]=f[ca>>2];f[ea+4>>2]=f[ca+4>>2];f[ea+8>>2]=f[ca+8>>2];da=c+96|0;f[X>>2]=f[da>>2];f[X+4>>2]=f[da+4>>2];f[X+8>>2]=f[da+8>>2];i=Y;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));Fy(c,1,0)|0;a:do if(!(Aw(c,1,0)|0)){i=$;y=Y;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[oa>>2];f[aa+4>>2]=f[oa+4>>2];f[aa+8>>2]=f[oa+8>>2];f[ba>>2]=d;f[da>>2]=f[X>>2];f[da+4>>2]=f[X+4>>2];f[da+8>>2]=f[X+8>>2];f[ca>>2]=f[ea>>2];f[ca+4>>2]=f[ea+4>>2];f[ca+8>>2]=f[ea+8>>2];d=VN(48)|0;f[e>>2]=d;f[e+8>>2]=-2147483600;f[e+4>>2]=44;i=d;y=44427;z=i+44|0;do{b[i>>0]=b[y>>0]|0;i=i+1|0;y=y+1|0}while((i|0)<(z|0));b[d+44>>0]=0;x=0;Ga(459,va|0,e|0);S=x;x=0;do if(S&1)d=Ya()|0;else{S=c+108|0;x=0;f[oa>>2]=f[S>>2];f[oa+4>>2]=f[S+4>>2];f[oa+8>>2]=f[S+8>>2];Ia(113,c|0,va|0,oa|0);S=x;x=0;if(S&1){d=Ya()|0;if((b[va+11>>0]|0)>=0)break;Hta(f[va>>2]|0);break}if((b[va+11>>0]|0)<0)Hta(f[va>>2]|0);if((b[e+11>>0]|0)>=0)break a;Hta(f[e>>2]|0);break a}while(0);if((b[e+11>>0]|0)>=0){va=d;jb(va|0)}Hta(f[e>>2]|0);va=d;jb(va|0)}while(0);S=c+172|0;e=f[S>>2]|0;n=c+176|0;h=f[n>>2]|0;f[va>>2]=0;f[va+4>>2]=0;f[va+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(va);if(i>>>0<11){b[va+11>>0]=i;d=va}else{z=i+16&-16;d=VN(z)|0;f[va>>2]=d;f[va+8>>2]=z|-2147483648;f[va+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;f[j>>2]=f[aa>>2];f[j+4>>2]=f[aa+4>>2];f[j+8>>2]=f[aa+8>>2];e=f[ba>>2]|0;f[k>>2]=f[ca>>2];f[k+4>>2]=f[ca+4>>2];f[k+8>>2]=f[ca+8>>2];f[l>>2]=f[da>>2];f[l+4>>2]=f[da+4>>2];f[l+8>>2]=f[da+8>>2];i=m;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;z=x;x=0;b:do if(z&1)ua=35;else{x=0;d=ta(68,c|0,1,0)|0;z=x;x=0;if(z&1)ua=35;else{c:do if(!d){i=$;y=m;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[j>>2];f[aa+4>>2]=f[j+4>>2];f[aa+8>>2]=f[j+8>>2];f[ba>>2]=e;f[da>>2]=f[l>>2];f[da+4>>2]=f[l+4>>2];f[da+8>>2]=f[l+8>>2];f[ca>>2]=f[k>>2];f[ca+4>>2]=f[k+4>>2];f[ca+8>>2]=f[k+8>>2];f[o>>2]=f[aa>>2];f[o+4>>2]=f[aa+4>>2];f[o+8>>2]=f[aa+8>>2];f[p>>2]=f[ca>>2];f[p+4>>2]=f[ca+4>>2];f[p+8>>2]=f[ca+8>>2];f[q>>2]=f[da>>2];f[q+4>>2]=f[da+4>>2];f[q+8>>2]=f[da+8>>2];i=r;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;E=x;x=0;if(E&1){ua=35;break b}x=0;d=ta(69,c|0,1,0)|0;E=x;x=0;if(E&1){ua=35;break b}if(d|0){d=b[f[S>>2]>>0]|0;x=0;h=qa(318,128)|0;sa=x;x=0;if(sa&1){d=Ya()|0;break b}i=C;y=ma;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;Ga(459,H|0,va|0);sa=x;x=0;do if(sa&1)d=Ya()|0;else{g=F+11|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;x=0;Ga(462,G|0,0);sa=x;x=0;if(sa&1){d=Ya()|0;e=1}else{f[G>>2]=7904;x=0;i=oa;y=C;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));La(19,h|0,oa|0,H|0,F|0,G|0,d|0);sa=x;x=0;do if(sa&1)e=1;else{x=0;Ga(462,a|0,h|0);sa=x;x=0;if(sa&1){e=0;break}f[a>>2]=17064;_P(G);if((b[g>>0]|0)<0)Hta(f[F>>2]|0);if((b[H+11>>0]|0)>=0)break c;Hta(f[H>>2]|0);break c}while(0);d=Ya()|0;_P(G);if((b[g>>0]|0)<0)Hta(f[F>>2]|0)}if((b[H+11>>0]|0)<0){Hta(f[H>>2]|0);if(e)break;else break b}else if(e)break;else break b}while(0);Hta(h);break b}i=$;y=r;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[o>>2];f[aa+4>>2]=f[o+4>>2];f[aa+8>>2]=f[o+8>>2];f[ba>>2]=e;f[da>>2]=f[q>>2];f[da+4>>2]=f[q+4>>2];f[da+8>>2]=f[q+8>>2];f[ca>>2]=f[p>>2];f[ca+4>>2]=f[p+4>>2];f[ca+8>>2]=f[p+8>>2];f[ra>>2]=f[aa>>2];f[ra+4>>2]=f[aa+4>>2];f[ra+8>>2]=f[aa+8>>2];f[s>>2]=f[ca>>2];f[s+4>>2]=f[ca+4>>2];f[s+8>>2]=f[ca+8>>2];f[t>>2]=f[da>>2];f[t+4>>2]=f[da+4>>2];f[t+8>>2]=f[da+8>>2];i=v;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;H=x;x=0;if(H&1){ua=35;break b}x=0;d=ta(70,c|0,1,0)|0;H=x;x=0;if(H&1){ua=35;break b}d:do if(!d){i=$;y=v;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[ra>>2];f[aa+4>>2]=f[ra+4>>2];f[aa+8>>2]=f[ra+8>>2];f[ba>>2]=e;f[da>>2]=f[t>>2];f[da+4>>2]=f[t+4>>2];f[da+8>>2]=f[t+8>>2];f[ca>>2]=f[s>>2];f[ca+4>>2]=f[s+4>>2];f[ca+8>>2]=f[s+8>>2];x=0;Ia(92,D|0,44472,va|0);H=x;x=0;if(H&1){ua=35;break b}x=0;Ga(459,sa|0,D|0);H=x;x=0;do if(H&1)d=Ya()|0;else{H=c+108|0;x=0;f[oa>>2]=f[H>>2];f[oa+4>>2]=f[H+4>>2];f[oa+8>>2]=f[H+8>>2];Ia(113,c|0,sa|0,oa|0);H=x;x=0;if(H&1){d=Ya()|0;if((b[sa+11>>0]|0)>=0)break;Hta(f[sa>>2]|0);break}if((b[sa+11>>0]|0)<0)Hta(f[sa>>2]|0);if((b[D+11>>0]|0)>=0)break d;Hta(f[D>>2]|0);break d}while(0);if((b[D+11>>0]|0)>=0)break b;Hta(f[D>>2]|0);break b}while(0);e=f[S>>2]|0;h=f[n>>2]|0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,sa|0);x=0;ua=100}else{if(i>>>0<11){b[sa+11>>0]=i;d=sa}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;H=x;x=0;if(H&1){ua=100;break}f[sa>>2]=d;f[sa+8>>2]=g|-2147483648;f[sa+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(462,ra|0,0);H=x;x=0;if(H&1)d=Ya()|0;else{f[ra>>2]=7904;f[I>>2]=f[aa>>2];f[I+4>>2]=f[aa+4>>2];f[I+8>>2]=f[aa+8>>2];e=f[ba>>2]|0;f[J>>2]=f[ca>>2];f[J+4>>2]=f[ca+4>>2];f[J+8>>2]=f[ca+8>>2];f[K>>2]=f[da>>2];f[K+4>>2]=f[da+4>>2];f[K+8>>2]=f[da+8>>2];i=L;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;H=x;x=0;e:do if(H&1)ua=102;else{x=0;d=ta(47,c|0,1,0)|0;H=x;x=0;if(H&1){ua=102;break}f:do if(!d){i=$;y=L;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[I>>2];f[aa+4>>2]=f[I+4>>2];f[aa+8>>2]=f[I+8>>2];f[ba>>2]=e;f[da>>2]=f[K>>2];f[da+4>>2]=f[K+4>>2];f[da+8>>2]=f[K+8>>2];f[ca>>2]=f[J>>2];f[ca+4>>2]=f[J+4>>2];f[ca+8>>2]=f[J+8>>2];f[M>>2]=f[aa>>2];f[M+4>>2]=f[aa+4>>2];f[M+8>>2]=f[aa+8>>2];f[N>>2]=f[ca>>2];f[N+4>>2]=f[ca+4>>2];f[N+8>>2]=f[ca+8>>2];f[O>>2]=f[da>>2];f[O+4>>2]=f[da+4>>2];f[O+8>>2]=f[da+8>>2];i=P;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;L=x;x=0;if(L&1){ua=102;break e}x=0;d=ta(71,c|0,1,0)|0;L=x;x=0;if(L&1){ua=102;break e}if(d|0){x=0;f[oa>>2]=f[aa>>2];f[oa+4>>2]=f[aa+4>>2];f[oa+8>>2]=f[aa+8>>2];Ka(9,ea|0,c|0,oa|0,1,1);R=x;x=0;g:do if(R&1)d=Ya()|0;else{d=ra+4|0;do if(f[d>>2]|0){x=0;Fa(429,ra|0);R=x;x=0;if(!(R&1))break;d=Ya()|0;_P(ea);break g}while(0);R=ea+4|0;f[d>>2]=f[R>>2];f[R>>2]=0;_P(ea);break f}while(0);break e}i=$;y=P;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[M>>2];f[aa+4>>2]=f[M+4>>2];f[aa+8>>2]=f[M+8>>2];f[ba>>2]=e;f[da>>2]=f[O>>2];f[da+4>>2]=f[O+4>>2];f[da+8>>2]=f[O+8>>2];f[ca>>2]=f[N>>2];f[ca+4>>2]=f[N+4>>2];f[ca+8>>2]=f[N+8>>2];x=0;Ia(92,R|0,44516,va|0);P=x;x=0;if(P&1){ua=102;break e}x=0;Ga(459,Q|0,R|0);P=x;x=0;do if(P&1)d=Ya()|0;else{P=c+108|0;x=0;f[oa>>2]=f[P>>2];f[oa+4>>2]=f[P+4>>2];f[oa+8>>2]=f[P+8>>2];Ia(113,c|0,Q|0,oa|0);P=x;x=0;if(P&1){d=Ya()|0;if((b[Q+11>>0]|0)>=0)break;Hta(f[Q>>2]|0);break}if((b[Q+11>>0]|0)<0)Hta(f[Q>>2]|0);if((b[R+11>>0]|0)>=0)break f;Hta(f[R>>2]|0);break f}while(0);if((b[R+11>>0]|0)>=0)break e;Hta(f[R>>2]|0);break e}else{x=0;d=qa(318,80)|0;R=x;x=0;h:do if(R&1)ua=103;else{x=0;i=oa;y=ma;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));Ja(29,d|0,oa|0,aa|0,1);R=x;x=0;if(R&1){pa=Ya()|0;Hta(d);d=pa;break}x=0;Ga(462,ea|0,d|0);R=x;x=0;if(R&1){ua=103;break}f[ea>>2]=7904;d=ra+4|0;do if(f[d>>2]|0){x=0;Fa(429,ra|0);R=x;x=0;if(!(R&1))break;d=Ya()|0;_P(ea);break h}while(0);R=ea+4|0;f[d>>2]=f[R>>2];f[R>>2]=0;_P(ea);break f}while(0);if((ua|0)==103)d=Ya()|0;break e}while(0);f[T>>2]=f[aa>>2];f[T+4>>2]=f[aa+4>>2];f[T+8>>2]=f[aa+8>>2];e=f[ba>>2]|0;f[U>>2]=f[ca>>2];f[U+4>>2]=f[ca+4>>2];f[U+8>>2]=f[ca+8>>2];f[V>>2]=f[da>>2];f[V+4>>2]=f[da+4>>2];f[V+8>>2]=f[da+8>>2];i=W;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;R=x;x=0;if(R&1){ua=102;break}x=0;d=ta(68,c|0,1,0)|0;R=x;x=0;if(R&1){ua=102;break}i:do if(!d){i=$;y=W;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[T>>2];f[aa+4>>2]=f[T+4>>2];f[aa+8>>2]=f[T+8>>2];f[ba>>2]=e;f[da>>2]=f[V>>2];f[da+4>>2]=f[V+4>>2];f[da+8>>2]=f[V+8>>2];f[ca>>2]=f[U>>2];f[ca+4>>2]=f[U+4>>2];f[ca+8>>2]=f[U+8>>2];f[oa>>2]=f[aa>>2];f[oa+4>>2]=f[aa+4>>2];f[oa+8>>2]=f[aa+8>>2];f[X>>2]=f[ca>>2];f[X+4>>2]=f[ca+4>>2];f[X+8>>2]=f[ca+8>>2];f[Y>>2]=f[da>>2];f[Y+4>>2]=f[da+4>>2];f[Y+8>>2]=f[da+8>>2];i=_;y=$;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;ta(52,c|0,1,0)|0;ka=x;x=0;if(ka&1){ua=102;break e}x=0;d=ta(69,c|0,1,0)|0;ka=x;x=0;if(ka&1){ua=102;break e}if(!d){i=$;y=_;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));f[aa>>2]=f[oa>>2];f[aa+4>>2]=f[oa+4>>2];f[aa+8>>2]=f[oa+8>>2];f[ba>>2]=e;f[da>>2]=f[Y>>2];f[da+4>>2]=f[Y+4>>2];f[da+8>>2]=f[Y+8>>2];f[ca>>2]=f[X>>2];f[ca+4>>2]=f[X+4>>2];f[ca+8>>2]=f[X+8>>2];x=0;Ia(92,ha|0,44584,va|0);na=x;x=0;if(na&1){ua=102;break e}x=0;Ga(459,ea|0,ha|0);na=x;x=0;do if(na&1)d=Ya()|0;else{na=c+108|0;x=0;f[oa>>2]=f[na>>2];f[oa+4>>2]=f[na+4>>2];f[oa+8>>2]=f[na+8>>2];Ia(113,c|0,ea|0,oa|0);oa=x;x=0;if(oa&1){d=Ya()|0;if((b[ea+11>>0]|0)>=0)break;Hta(f[ea>>2]|0);break}if((b[ea+11>>0]|0)<0)Hta(f[ea>>2]|0);if((b[ha+11>>0]|0)<0)Hta(f[ha>>2]|0);x=0;Ga(462,a|0,0);ua=x;x=0;if(ua&1){ua=102;break e}f[a>>2]=17064;break i}while(0);if((b[ha+11>>0]|0)>=0)break e;Hta(f[ha>>2]|0);break e}d=b[f[S>>2]>>0]|0;x=0;g=qa(318,128)|0;ka=x;x=0;if(ka&1){d=Ya()|0;break e}i=ga;y=ma;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;Ga(459,na|0,va|0);ma=x;x=0;do if(ma&1)d=Ya()|0;else{x=0;Ga(459,la|0,sa|0);ma=x;x=0;do if(ma&1){d=Ya()|0;e=1}else{x=0;Ga(462,ja|0,f[ra+4>>2]|0);ma=x;x=0;if(ma&1){d=Ya()|0;e=1}else{f[ja>>2]=7904;x=0;i=oa;y=ga;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));La(19,g|0,oa|0,na|0,la|0,ja|0,d|0);oa=x;x=0;do if(oa&1)e=1;else{x=0;Ga(462,a|0,g|0);oa=x;x=0;if(oa&1){e=0;break}f[a>>2]=17064;_P(ja);if((b[la+11>>0]|0)<0)Hta(f[la>>2]|0);if((b[na+11>>0]|0)>=0)break i;Hta(f[na>>2]|0);break i}while(0);d=Ya()|0;_P(ja)}if((b[la+11>>0]|0)>=0)break;Hta(f[la>>2]|0)}while(0);if((b[na+11>>0]|0)<0){Hta(f[na>>2]|0);if(e)break;else break e}else if(e)break;else break e}while(0);Hta(g);break e}else{x=0;g=qa(318,128)|0;na=x;x=0;if(na&1){ua=102;break e}i=Z;y=ma;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;Ga(459,ka|0,va|0);na=x;x=0;do if(na&1)d=Ya()|0;else{x=0;Ga(459,ia|0,sa|0);na=x;x=0;do if(na&1){d=Ya()|0;e=1}else{x=0;Ga(462,fa|0,f[ra+4>>2]|0);na=x;x=0;if(na&1){d=Ya()|0;e=1}else{f[fa>>2]=7904;x=0;i=oa;y=Z;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));La(19,g|0,oa|0,ka|0,ia|0,fa|0,0);oa=x;x=0;do if(oa&1)e=1;else{x=0;Ga(462,a|0,g|0);oa=x;x=0;if(oa&1){e=0;break}f[a>>2]=17064;_P(fa);if((b[ia+11>>0]|0)<0)Hta(f[ia>>2]|0);if((b[ka+11>>0]|0)>=0)break i;Hta(f[ka>>2]|0);break i}while(0);d=Ya()|0;_P(fa)}if((b[ia+11>>0]|0)>=0)break;Hta(f[ia>>2]|0)}while(0);if((b[ka+11>>0]|0)<0){Hta(f[ka>>2]|0);if(e)break;else break e}else if(e)break;else break e}while(0);Hta(g);break e}while(0);_P(ra);if((b[sa+11>>0]|0)<0)Hta(f[sa>>2]|0);break c}while(0);if((ua|0)==102)d=Ya()|0;_P(ra)}if((b[sa+11>>0]|0)>=0)break;Hta(f[sa>>2]|0)}while(0);if((ua|0)==100)d=Ya()|0;break b}else{x=0;h=qa(318,128)|0;sa=x;x=0;if(sa&1){ua=35;break b}i=w;y=ma;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));x=0;Ga(459,E|0,va|0);sa=x;x=0;do if(sa&1)d=Ya()|0;else{g=A+11|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;x=0;Ga(462,B|0,0);sa=x;x=0;if(sa&1){d=Ya()|0;e=1}else{f[B>>2]=7904;x=0;i=oa;y=w;z=i+40|0;do{f[i>>2]=f[y>>2];i=i+4|0;y=y+4|0}while((i|0)<(z|0));La(19,h|0,oa|0,E|0,A|0,B|0,0);sa=x;x=0;if(sa&1)e=1;else{x=0;Ga(462,a|0,h|0);sa=x;x=0;if(sa&1)e=0;else{f[a>>2]=17064;_P(B);if((b[g>>0]|0)<0)Hta(f[A>>2]|0);if((b[E+11>>0]|0)>=0)break c;Hta(f[E>>2]|0);break c}}d=Ya()|0;_P(B);if((b[g>>0]|0)<0)Hta(f[A>>2]|0)}if((b[E+11>>0]|0)<0){Hta(f[E>>2]|0);if(e)break;else break b}else if(e)break;else break b}while(0);Hta(h);break b}while(0);if((b[va+11>>0]|0)>=0){u=pa;return}Hta(f[va>>2]|0);u=pa;return}}while(0);if((ua|0)==35)d=Ya()|0;if((b[va+11>>0]|0)<0)Hta(f[va>>2]|0);va=d;jb(va|0)}function zd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,sa=0,ua=0,va=0;ra=0;la=u;u=u+608|0;na=la+264|0;oa=la+224|0;ka=la+40|0;sa=la;g=la+568|0;o=la+556|0;j=la+544|0;m=la+504|0;n=la+496|0;T=la+456|0;aa=la+440|0;U=la+432|0;Y=la+424|0;V=la+412|0;pa=la+400|0;W=la+392|0;X=la+376|0;da=la+336|0;ja=la+320|0;ea=la+312|0;ha=la+304|0;ua=c+164|0;va=f[ua>>2]|0;ma=va+1|0;f[ua>>2]=ma;if(ma>>>0>512){n=Ta(84)|0;k=g;l=c+108|0;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Ga(511,o|0,c+148|0);sa=x;x=0;do if(sa&1)g=Ya()|0;else{x=0;Ga(459,j|0,80148);sa=x;x=0;if(sa&1){g=Ya()|0;m=I;i=1}else{x=0;k=na;l=g;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));Ja(28,n|0,na|0,o|0,j|0);sa=x;x=0;if(sa&1)i=1;else{x=0;Ia(77,n|0,3328,181);x=0;i=0}g=Ya()|0;h=I;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);m=h}else m=h}h=f[o>>2]|0;if(!h){if(i)break;f[ua>>2]=va;jb(g|0)}l=o+4|0;j=f[l>>2]|0;if((j|0)!=(h|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(h|0));h=f[o>>2]|0}Hta(h);if(!i){sa=g;f[ua>>2]=va;jb(sa|0)}}while(0);bb(n|0);sa=g;f[ua>>2]=va;jb(sa|0)}x=0;ta(93,c|0,1,0)|0;ma=x;x=0;if(ma&1){sa=Ya()|0;f[ua>>2]=va;jb(sa|0)}fa=c+76|0;g=f[fa>>2]|0;x=0;ma=qa(318,88)|0;ia=x;x=0;if(ia&1){sa=Ya()|0;f[ua>>2]=va;jb(sa|0)}ga=c+108|0;k=sa;l=ga;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Fa(427,ma|0);ia=x;x=0;do if(ia&1)g=Ya()|0;else{k=ma+12|0;l=sa;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));b[ma+52>>0]=0;b[ma+53>>0]=0;b[ma+54>>0]=0;h=ma+56|0;f[ma>>2]=11536;f[h>>2]=4;ca=ma+60|0;f[ca>>2]=9660;k=ma+64|0;l=ma+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,0);ia=x;x=0;if(ia&1){g=Ya()|0;j=I;h=f[k>>2]|0;if(h|0){i=f[l>>2]|0;if((i|0)!=(h|0)){do{sa=i+-8|0;f[l>>2]=sa;Kc[f[f[sa>>2]>>2]&511](sa);i=f[l>>2]|0}while((i|0)!=(h|0));h=f[k>>2]|0}Hta(h)}break}f[ma>>2]=11364;f[ca>>2]=11496;b[ma+80>>0]=1;f[ma+84>>2]=0;f[h>>2]=4;x=0;i=qa(318,72)|0;ia=x;x=0;a:do if(ia&1)g=Ya()|0;else{k=m;l=ga;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Ga(462,n|0,ma|0);ia=x;x=0;do if(ia&1)g=Ya()|0;else{f[n>>2]=7904;k=ka;l=m;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Fa(427,i|0);ia=x;x=0;if(ia&1)h=1;else{k=i+12|0;l=ka;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));f[i>>2]=13544;h=i+52|0;x=0;Ga(462,h|0,f[n+4>>2]|0);ia=x;x=0;if(ia&1){g=Ya()|0;_P(n);break}f[h>>2]=7904;b[i+60>>0]=1;f[i+64>>2]=0;f[i+68>>2]=0;x=0;Ga(462,sa|0,i|0);ia=x;x=0;if(ia&1)h=0;else{f[sa>>2]=16196;_P(n);Z=sa+4|0;h=f[Z>>2]|0;b[h+60>>0]=(e^1)&1;f[h+64>>2]=f[c+68>>2];b:do if(g>>>0>>0){n=d;ba=oa+11|0;R=ja+11|0;O=ka+4|0;P=ha+4|0;H=oa+8|0;J=oa+4|0;L=na+11|0;K=aa+11|0;e=ka+4|0;o=Y+4|0;q=na+8|0;r=na+4|0;s=na+8|0;t=na+4|0;F=oa+11|0;v=oa+7|0;w=ka+8|0;y=ka+4|0;E=ka+11|0;G=na+11|0;z=c+40|0;A=c+148|0;M=ka+148|0;Q=ka+56|0;_=ka+44|0;B=oa+4|0;ia=pa+4|0;$=ka+48|0;S=ka+60|0;N=ka+152|0;C=c+80|0;D=oa+8|0;c:while(1){j=0;h=g;d:while(1){i=b[h>>0]|0;if(!(i<<24>>24)){ra=191;break c}e:do if(j)j=0;else{if(i<<24>>24==92){j=1;break}x=0;i=qa(355,h|0)|0;p=x;x=0;if(p&1){ra=85;break c}if(i|0){j=0;h=i;break}i=b[36397]|0;if(!(i<<24>>24))if(!h){j=0;h=0;break}else break d;else{j=h;k=36397}while(1){if((b[j>>0]|0)!=i<<24>>24){j=0;break e}k=k+1|0;i=b[k>>0]|0;if(!(i<<24>>24)){ra=48;break d}else j=j+1|0}}while(0);h=h+1|0;if(h>>>0>=d>>>0){ra=191;break c}}if((ra|0)==48){ra=0;if(!h){ra=191;break}}if(g>>>0>>0){f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;k=h-g|0;if(k>>>0>4294967279){ra=51;break}if(k>>>0<11){b[L>>0]=k;j=na}else{i=k+16&-16;x=0;j=qa(318,i|0)|0;p=x;x=0;if(p&1){ra=86;break}f[na>>2]=j;f[q>>2]=i|-2147483648;f[r>>2]=k}if((g|0)==(h|0))g=j;else{i=j;while(1){b[i>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(h|0))break;else i=i+1|0}g=j+k|0}b[g>>0]=0;x=0;i=qa(318,80)|0;p=x;x=0;if(p&1){ra=87;break}k=T;l=ga;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Ga(459,aa|0,na|0);p=x;x=0;if(p&1){ra=88;break}k=oa;l=T;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Fa(427,i|0);p=x;x=0;if(p&1){g=1;ra=89;break}k=i+12|0;l=oa;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=4;f[i>>2]=11668;b[i+60>>0]=0;b[i+61>>0]=0;x=0;Ia(101,i+64|0,aa|0,1);p=x;x=0;if(p&1){ra=63;break}f[i+76>>2]=0;x=0;Ga(462,ka|0,i|0);p=x;x=0;if(p&1){g=0;ra=89;break}f[ka>>2]=16800;if((b[K>>0]|0)<0)Hta(f[aa>>2]|0);x=0;Ga(624,oa|0,na|0);p=x;x=0;if(p&1){ra=94;break}x=0;Ga(576,ga|0,oa|0);p=x;x=0;if(p&1){ra=94;break}x=0;Ga(575,f[e>>2]|0,ga|0);p=x;x=0;if(p&1){ra=95;break}g=f[(f[ca>>2]|0)+20>>2]|0;x=0;Ga(462,Y|0,f[e>>2]|0);p=x;x=0;if(p&1){ra=95;break}f[Y>>2]=16800;x=0;Ga(462,U|0,f[o>>2]|0);p=x;x=0;if(p&1){ra=96;break}f[U>>2]=7696;x=0;Ga(g|0,ca|0,U|0);p=x;x=0;if(p&1){ra=97;break}_P(U);_P(Y);_P(ka);if((b[L>>0]|0)<0)Hta(f[na>>2]|0)}m=h+2|0;g=rl(m,d)|0;do if(!g)ra=111;else{x=0;i=qa(348,m|0)|0;p=x;x=0;if(p&1){ra=121;break c}x=0;i=qa(356,(i|0?i:m)|0)|0;p=x;x=0;if(p&1){ra=121;break c}if(!i)break;j=b[51458]|0;f:do if(!(j<<24>>24))j=0;else{k=51458;while(1){if((b[i>>0]|0)!=j<<24>>24)break f;i=i+1|0;k=k+1|0;j=b[k>>0]|0;if(!(j<<24>>24)){j=0;break}}}while(0);p=j<<24>>24==0?i:0;if(!((p|0)==0?1:p>>>0>(f[C>>2]|0)>>>0))ra=111}while(0);if((ra|0)==111){ra=0;f[fa>>2]=m;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;x=0;i=qa(318,16)|0;p=x;x=0;if(p&1){ra=122;break}f[na>>2]=i;f[s>>2]=-2147483632;f[t>>2]=11;k=i;l=44242;p=k+11|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(p|0));b[i+11>>0]=0;f[D>>2]=0;b[F>>0]=7;b[oa>>0]=b[44254]|0;b[oa+1>>0]=b[44255]|0;b[oa+2>>0]=b[44256]|0;b[oa+3>>0]=b[44257]|0;b[oa+4>>0]=b[44258]|0;b[oa+5>>0]=b[44259]|0;b[oa+6>>0]=b[44260]|0;b[v>>0]=0;f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;x=0;i=qa(318,48)|0;p=x;x=0;if(p&1){ra=123;break}f[ka>>2]=i;f[w>>2]=-2147483600;f[y>>2]=44;k=i;l=44621;p=k+44|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(p|0));b[i+44>>0]=0;x=0;Ka(8,c|0,na|0,oa|0,ka|0,1);p=x;x=0;if(p&1){ra=124;break}if((b[E>>0]|0)<0)Hta(f[ka>>2]|0);if((b[F>>0]|0)<0)Hta(f[oa>>2]|0);if((b[G>>0]|0)<0)Hta(f[na>>2]|0)}x=0;Ja(37,V|0,ga|0,h|0,m|0);p=x;x=0;if(p&1){ra=121;break}h=f[z>>2]|0;x=0;Ga(511,pa|0,A|0);p=x;x=0;if(p&1){ra=161;break}x=0;k=na;l=ga;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));Ma(6,ka|0,m|0,g|0,h|0,pa|0,na|0,0);p=x;x=0;if(p&1){ra=162;break}x=0;Ia(114,oa|0,ka|0,0);p=x;x=0;if(p&1){ra=163;break}h=f[M>>2]|0;if(h|0){i=f[N>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[N>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[N>>2]|0}else i=j}while((i|0)!=(h|0));h=f[M>>2]|0}Hta(h)}h=f[Q>>2]|0;if(h|0){i=f[S>>2]|0;if((i|0)!=(h|0))f[S>>2]=i+(~((i+-4-h|0)>>>2)<<2);Hta(h)}h=f[_>>2]|0;if(h|0){i=f[$>>2]|0;if((i|0)!=(h|0)){do{p=i+-8|0;f[$>>2]=p;Kc[f[f[p>>2]>>2]&511](p);i=f[$>>2]|0}while((i|0)!=(h|0));h=f[_>>2]|0}Hta(h)}h=f[pa>>2]|0;if(h|0){i=f[ia>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[ia>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[ia>>2]|0}else i=j}while((i|0)!=(h|0));h=f[pa>>2]|0}Hta(h)}p=f[B>>2]|0;b[p+54>>0]=1;h=f[(f[ca>>2]|0)+20>>2]|0;x=0;Ga(462,W|0,p|0);p=x;x=0;if(p&1){ra=187;break}f[W>>2]=7696;x=0;Ga(h|0,ca|0,W|0);p=x;x=0;if(p&1){ra=188;break}_P(W);x=0;Ja(37,X|0,ga|0,m|0,g|0);p=x;x=0;if(p&1){ra=187;break}_P(oa);if(g>>>0>=d>>>0){ra=235;break}}g:switch(ra|0){case 51:{x=0;Fa(428,na|0);x=0;ra=86;break}case 63:{g=Ya()|0;h=1;ra=90;break}case 85:{g=Ya()|0;break b}case 87:{g=Ya()|0;ra=100;break}case 88:{g=Ya()|0;ra=93;break}case 89:{pa=Ya()|0;h=g;g=pa;ra=90;break}case 94:{g=Ya()|0;ra=99;break}case 95:{g=Ya()|0;ra=99;break}case 96:{g=Ya()|0;ra=98;break}case 97:{g=Ya()|0;_P(U);ra=98;break}case 121:{g=Ya()|0;break b}case 122:{g=Ya()|0;ra=130;break}case 123:{g=Ya()|0;ra=126;break}case 124:{g=Ya()|0;if((b[E>>0]|0)<0){Hta(f[ka>>2]|0);ra=126}else ra=126;break}case 161:{g=Ya()|0;ra=186;break}case 162:{g=Ya()|0;k=I;ra=179;break}case 163:{g=Ya()|0;k=I;h=f[M>>2]|0;if(h|0){i=f[N>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[N>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[N>>2]|0}else i=j}while((i|0)!=(h|0));h=f[M>>2]|0}Hta(h)}h=f[Q>>2]|0;if(h|0){i=f[S>>2]|0;if((i|0)!=(h|0))f[S>>2]=i+(~((i+-4-h|0)>>>2)<<2);Hta(h)}h=f[_>>2]|0;if(!h)ra=179;else{i=f[$>>2]|0;if((i|0)!=(h|0)){do{ra=i+-8|0;f[$>>2]=ra;Kc[f[f[ra>>2]>>2]&511](ra);i=f[$>>2]|0}while((i|0)!=(h|0));h=f[_>>2]|0}Hta(h);ra=179}break}case 187:{g=Ya()|0;ra=189;break}case 188:{g=Ya()|0;_P(W);ra=189;break}case 191:{f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;j=n-g|0;do if(j>>>0>4294967279){x=0;Fa(428,oa|0);x=0;ra=218}else{if(j>>>0<11){b[ba>>0]=j;h=oa}else{i=j+16&-16;x=0;h=qa(318,i|0)|0;pa=x;x=0;if(pa&1){ra=218;break}f[oa>>2]=h;f[H>>2]=i|-2147483648;f[J>>2]=j}if((g|0)==(d|0))g=h;else{i=h;while(1){b[i>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(d|0))break;else i=i+1|0}g=h+j|0}b[g>>0]=0;x=0;i=qa(318,80)|0;pa=x;x=0;h:do if(pa&1)g=Ya()|0;else{k=da;l=ga;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Ga(459,ja|0,oa|0);pa=x;x=0;do if(pa&1)g=Ya()|0;else{k=na;l=da;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));x=0;Fa(427,i|0);pa=x;x=0;do if(pa&1){g=1;ra=221}else{k=i+12|0;l=na;p=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(p|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=4;f[i>>2]=11668;b[i+60>>0]=0;b[i+61>>0]=0;x=0;Ia(101,i+64|0,ja|0,1);pa=x;x=0;if(pa&1){g=Ya()|0;h=1;break}f[i+76>>2]=0;x=0;Ga(462,ka|0,i|0);pa=x;x=0;if(pa&1){g=0;ra=221;break}f[ka>>2]=16800;if((b[R>>0]|0)<0)Hta(f[ja>>2]|0);x=0;Ga(624,na|0,oa|0);pa=x;x=0;i:do if(pa&1)ra=226;else{x=0;Ga(576,ga|0,na|0);pa=x;x=0;if(pa&1){ra=226;break}x=0;Ga(575,f[O>>2]|0,ga|0);pa=x;x=0;do if(!(pa&1)){g=f[(f[ca>>2]|0)+20>>2]|0;x=0;Ga(462,ha|0,f[O>>2]|0);pa=x;x=0;if(pa&1)break;f[ha>>2]=16800;x=0;Ga(462,ea|0,f[P>>2]|0);pa=x;x=0;do if(pa&1)g=Ya()|0;else{f[ea>>2]=7696;x=0;Ga(g|0,ca|0,ea|0);pa=x;x=0;if(pa&1){g=Ya()|0;_P(ea);break}_P(ea);_P(ha);_P(ka);if((b[ba>>0]|0)<0)Hta(f[oa>>2]|0);g=d;ra=235;break g}while(0);_P(ha);break i}while(0);g=Ya()|0}while(0);if((ra|0)==226)g=Ya()|0;_P(ka);break h}while(0);if((ra|0)==221){pa=Ya()|0;h=g;g=pa}if((b[R>>0]|0)<0){Hta(f[ja>>2]|0);if(h)break;else break h}else if(h)break;else break h}while(0);Hta(i)}while(0);if((b[ba>>0]|0)>=0)break;Hta(f[oa>>2]|0)}while(0);if((ra|0)==218)g=Ya()|0;break b}}do if((ra|0)==86)g=Ya()|0;else if((ra|0)==90)if((b[K>>0]|0)<0){Hta(f[aa>>2]|0);if(h){ra=93;break}else{ra=100;break}}else if(h){ra=93;break}else{ra=100;break}else if((ra|0)==98){_P(Y);ra=99}else if((ra|0)==126){if((b[F>>0]|0)<0)Hta(f[oa>>2]|0);if((b[G>>0]|0)<0){Hta(f[na>>2]|0);ra=130}else ra=130}else if((ra|0)==179){h=f[pa>>2]|0;if(!h)ra=186;else{i=f[ia>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[ia>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[ia>>2]|0}else i=j}while((i|0)!=(h|0));h=f[pa>>2]|0}Hta(h);ra=186}}else if((ra|0)==189){_P(oa);ra=190}else if((ra|0)==235){h=f[Z>>2]|0;ra=236;break b}while(0);if((ra|0)==93){Hta(i);ra=100}else if((ra|0)==99){_P(ka);ra=100}else if((ra|0)==130)break;else if((ra|0)==186)ra=190;if((ra|0)==190)break;if((ra|0)==100)if((b[L>>0]|0)<0)Hta(f[na>>2]|0)}else ra=236;while(0);if((ra|0)==236){f[fa>>2]=g;x=0;Ga(575,h|0,ga|0);ra=x;x=0;do if(!(ra&1)){x=0;Ga(575,ma|0,ga|0);ra=x;x=0;if(!(ra&1)){g=c+84|0;f[g>>2]=f[ga>>2];f[g+4>>2]=f[ga+4>>2];f[g+8>>2]=f[ga+8>>2];g=c+96|0;f[g>>2]=f[ga>>2];f[g+4>>2]=f[ga+4>>2];f[g+8>>2]=f[ga+8>>2];g=f[Z>>2]|0;if(!g)g=0;else b[g+8>>0]=1;x=0;Ga(462,a|0,g|0);ra=x;x=0;if(ra&1)break;f[a>>2]=16196;_P(sa);f[ua>>2]=va;u=la;return}}while(0);g=Ya()|0}_P(sa);break a}}g=Ya()|0;_P(n);if(!h)break a}while(0);Hta(i)}while(0);sa=g;f[ua>>2]=va;jb(sa|0)}while(0);Hta(ma);sa=g;f[ua>>2]=va;jb(sa|0)}function Ad(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.0,n=0.0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;N=0;G=u;u=u+544|0;K=G+488|0;S=G+452|0;R=G+432|0;e=G+480|0;k=G+464|0;r=G+440|0;o=G+416|0;Q=G+408|0;g=G+400|0;l=G+384|0;s=G+356|0;q=G+344|0;P=G+376|0;O=G+368|0;M=G+200|0;L=G+188|0;z=G+176|0;y=G+136|0;J=G+128|0;A=G+88|0;E=G+72|0;C=G+64|0;B=G+24|0;F=G+8|0;D=G;ND(S,c+72|0);x=0;Ga(462,e|0,f[c+88>>2]|0);H=x;x=0;do if(H&1)d=Ya()|0;else{f[e>>2]=7696;d=f[e+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;H=x;x=0;if(!(H&1)){x=0;Ga(462,R|0,d|0);H=x;x=0;if(!(H&1)){f[R>>2]=7696;_P(e);H=R+4|0;e=f[H>>2]|0;a:do if((f[e+56>>2]|0)==2){x=0;Ga(462,g|0,f[c+96>>2]|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[g>>2]=7696;d=f[g+4>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;w=x;x=0;if(!(w&1)){x=0;Ga(462,Q|0,d|0);w=x;x=0;if(!(w&1)){f[Q>>2]=7696;_P(g);k=Q+4|0;e=f[k>>2]|0;b:do if((f[e+56>>2]|0)==2){d=f[H>>2]|0;if(!d)d=0;else d=(f[49]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,P|0,d|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[P>>2]=16744;d=f[k>>2]|0;if(!d)d=0;else d=(f[49]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,O|0,d|0);w=x;x=0;if(w&1)d=Ya()|0;else{f[O>>2]=16744;r=P+4|0;x=0;Ga(561,K|0,(f[r>>2]|0)+60|0);w=x;x=0;c:do if(w&1){d=Ya()|0;N=128}else{s=O+4|0;x=0;Ga(561,M|0,(f[s>>2]|0)+60|0);w=x;x=0;if(w&1){d=Ya()|0;if((b[K+11>>0]|0)>=0){N=128;break}Hta(f[K>>2]|0);N=128;break}o=K+11|0;d=b[o>>0]|0;h=d<<24>>24<0;g=d&255;i=h?f[K+4>>2]|0:g;w=b[M+11>>0]|0;q=w<<24>>24<0;d:do if((i|0)==((q?f[M+4>>2]|0:w&255)|0)){j=f[K>>2]|0;k=h?j:K;e=q?f[M>>2]|0:M;l=(i|0)==0;if(h){if(l){e=0;break}e=(lO(k,e,i)|0)!=0;break}if(l){e=0;break}if((b[e>>0]|0)==(j&255)<<24>>24)h=K;else{e=1;break}while(1){g=g+-1|0;h=h+1|0;if(!g){e=0;break d}e=e+1|0;if((b[h>>0]|0)!=(b[e>>0]|0)){e=1;break}}}else e=1;while(0);if(q){Hta(f[M>>2]|0);d=b[o>>0]|0}if(d<<24>>24<0)Hta(f[K>>2]|0);e:do if(e){k=M+64|0;d=M+8|0;f[d>>2]=16496;j=M+12|0;f[M>>2]=2284;f[k>>2]=2304;f[M+4>>2]=0;x=0;Ga(531,M+64|0,j|0);w=x;x=0;f:do if(w&1){d=Ya()|0;N=129}else{f[M+136>>2]=0;f[M+140>>2]=-1;f[M>>2]=16476;f[k>>2]=16516;f[d>>2]=16496;x=0;Fa(437,j|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[j>>2]=16336;i=M+44|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[M+60>>2]=24;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;x=0;Ga(532,j|0,K|0);w=x;x=0;if(w&1){d=Ya()|0;if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);break}if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);h=M+8|0;x=0;d=ta(44,h|0,53276,21)|0;w=x;x=0;g:do if(w&1)N=130;else{x=0;Ga(561,K|0,(f[s>>2]|0)+60|0);w=x;x=0;do if(w&1)d=Ya()|0;else{g=K+11|0;w=b[g>>0]|0;v=w<<24>>24<0;x=0;d=ta(44,d|0,(v?f[K>>2]|0:K)|0,(v?f[K+4>>2]|0:w&255)|0)|0;w=x;x=0;do if(w&1)N=132;else{x=0;d=ta(44,d|0,53298,7)|0;w=x;x=0;if(w&1){N=132;break}x=0;Ga(561,L|0,(f[r>>2]|0)+60|0);w=x;x=0;do if(w&1)d=Ya()|0;else{e=L+11|0;w=b[e>>0]|0;v=w<<24>>24<0;x=0;d=ta(44,d|0,(v?f[L>>2]|0:L)|0,(v?f[L+4>>2]|0:w&255)|0)|0;w=x;x=0;do if(!(w&1)){x=0;ta(44,d|0,53306,2)|0;w=x;x=0;if(w&1)break;if((b[e>>0]|0)<0)Hta(f[L>>2]|0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);x=0;Ga(533,z|0,j|0);w=x;x=0;if(w&1){N=130;break g}t=y;v=(f[H>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));d=f[a+12>>2]|0;x=0;t=K;v=y;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ia(100,z|0,K|0,d|0);y=x;x=0;if(y&1){d=Ya()|0;if((b[z+11>>0]|0)>=0)break g;Hta(f[z>>2]|0);break g}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);f[M>>2]=16476;f[k>>2]=16516;f[h>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(M,16528);uma(k);break e}while(0);d=Ya()|0;if((b[e>>0]|0)>=0)break;Hta(f[L>>2]|0)}while(0)}while(0);if((N|0)==132)d=Ya()|0;if((b[g>>0]|0)>=0)break;Hta(f[K>>2]|0)}while(0)}while(0);if((N|0)==130)d=Ya()|0;f[M>>2]=16476;f[k>>2]=16516;f[h>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(M,16528);uma(k);break f}while(0);KU(M,16528);N=129}while(0);if((N|0)==129)uma(k);break c}while(0);m=+p[(f[r>>2]|0)+88>>3];n=+p[(f[s>>2]|0)+88>>3];k=a+4|0;x=0;d=qa(384,f[k>>2]|0)|0;z=x;x=0;do if(z&1)N=155;else{x=0;Ia(132,M|0,d|0,1);z=x;x=0;if(z&1){N=155;break}d=f[k>>2]|0;f[K>>2]=M;e=d+60|0;g=f[e>>2]|0;do if(g>>>0<(f[d+64>>2]|0)>>>0){f[g>>2]=M;f[e>>2]=(f[e>>2]|0)+4;N=151}else{x=0;Ga(646,d+56|0,K|0);z=x;x=0;if(!(z&1)){N=151;break}d=Ya()|0}while(0);if((N|0)==151){x=0;Ga(462,L|0,f[c+68>>2]|0);z=x;x=0;do if(z&1)d=Ya()|0;else{f[L>>2]=7280;d=(b[c+100>>0]|0)!=0;h:do if(m>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(561,E|0,(f[s>>2]|0)+60|0);F=x;x=0;if(F&1){N=170;break}x=0;t=K;v=A;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ha(1,i|0,K|0,+m,E|0,1);F=x;x=0;if(F&1){e=1;N=171;break}x=0;Ga(462,J|0,i|0);F=x;x=0;if(F&1){e=0;N=171;break}f[J>>2]=16744;if((b[j>>0]|0)<0)Hta(f[E>>2]|0);x=0;Ga(462,C|0,f[e>>2]|0);F=x;x=0;if(F&1){N=175;break}f[C>>2]=16744;x=0;Ga(462,K|0,f[g>>2]|0);F=x;x=0;if(F&1){N=176;break}f[K>>2]=6664;x=0;Ia(128,M|0,S|0,K|0);F=x;x=0;if(F&1){N=177;break}_P(K);_P(C);d=f[h>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;F=x;x=0;if(F&1){N=180;break}_P(J);if(d|0)break h;m=m+1.0;if(!(m>0]|0)<0){Hta(f[E>>2]|0);if(e){N=174;break}else break}else if(e){N=174;break}else break}else if((N|0)==175){d=Ya()|0;N=179}else if((N|0)==176){d=Ya()|0;N=178}else if((N|0)==177){d=Ya()|0;_P(K);N=178}else if((N|0)==180){d=Ya()|0;N=182}while(0);if((N|0)==174)Hta(i);else if((N|0)==178){_P(C);N=179}if((N|0)==179)N=182;if((N|0)==182)_P(J);N=215}else{n=d?n+-1.0:n;if(!(m>n)){d=0;break}j=F+11|0;e=J+4|0;g=D+4|0;h=L+4|0;while(1){x=0;i=qa(318,104)|0;E=x;x=0;if(E&1){N=197;break}t=B;v=(f[H>>2]|0)+12|0;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));x=0;Ga(561,F|0,(f[s>>2]|0)+60|0);E=x;x=0;if(E&1){N=198;break}x=0;t=K;v=B;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Ha(1,i|0,K|0,+m,F|0,1);E=x;x=0;if(E&1){e=1;N=199;break}x=0;Ga(462,J|0,i|0);E=x;x=0;if(E&1){e=0;N=199;break}f[J>>2]=16744;if((b[j>>0]|0)<0)Hta(f[F>>2]|0);x=0;Ga(462,D|0,f[e>>2]|0);E=x;x=0;if(E&1){N=203;break}f[D>>2]=16744;x=0;Ga(462,K|0,f[g>>2]|0);E=x;x=0;if(E&1){N=204;break}f[K>>2]=6664;x=0;Ia(128,M|0,S|0,K|0);E=x;x=0;if(E&1){N=205;break}_P(K);_P(D);d=f[h>>2]|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;E=x;x=0;if(E&1){N=208;break}_P(J);if(d|0)break h;m=m+-1.0;if(!(m>n)){d=0;break h}}do if((N|0)==197)d=Ya()|0;else if((N|0)==198){d=Ya()|0;N=202}else if((N|0)==199){d=Ya()|0;if((b[j>>0]|0)<0){Hta(f[F>>2]|0);if(e){N=202;break}else break}else if(e){N=202;break}else break}else if((N|0)==203){d=Ya()|0;N=207}else if((N|0)==204){d=Ya()|0;N=206}else if((N|0)==205){d=Ya()|0;_P(K);N=206}else if((N|0)==208){d=Ya()|0;N=210}while(0);if((N|0)==202)Hta(i);else if((N|0)==206){_P(D);N=207}if((N|0)==207)N=210;if((N|0)==210)_P(J);N=215}while(0);if((N|0)==215){_P(L);break}N=(f[k>>2]|0)+60|0;f[N>>2]=(f[N>>2]|0)+-4;_P(L);rE(M,f[M+4>>2]|0);_P(O);_P(P);_P(Q);_P(R);if((b[S+11>>0]|0)>=0){u=G;return d|0}Hta(f[S>>2]|0);u=G;return d|0}while(0)}rE(M,f[M+4>>2]|0)}while(0);if((N|0)==155)d=Ya()|0}while(0);_P(O)}_P(P)}}else{i=a+12|0;d=f[i>>2]|0;j=l+11|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;DP(K|0,e+12|0,40)|0;h=K+40|0;x=0;Ga(459,h|0,l|0);P=x;x=0;do if(P&1)d=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;if(g>>>0<(f[d+8>>2]|0)>>>0){t=g;v=K;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));P=g+40|0;f[P>>2]=f[h>>2];f[P+4>>2]=f[h+4>>2];f[P+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,K|0);P=x;x=0;if(P&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[l>>2]|0);l=Ta(100)|0;x=0;Ga(511,s|0,f[i>>2]|0);P=x;x=0;do if(P&1)d=Ya()|0;else{P=f[k>>2]|0;f[q+8>>2]=0;e=q+11|0;b[e>>0]=7;b[q>>0]=b[48816]|0;b[q+1>>0]=b[48817]|0;b[q+2>>0]=b[48818]|0;b[q+3>>0]=b[48819]|0;b[q+4>>0]=b[48820]|0;b[q+5>>0]=b[48821]|0;b[q+6>>0]=b[48822]|0;b[q+7>>0]=0;x=0;Ja(43,l|0,s|0,P|0,q|0);P=x;x=0;if(P&1)k=1;else{x=0;Ia(77,l|0,3928,270);x=0;k=0}d=Ya()|0;j=I;if((b[e>>0]|0)<0)Hta(f[q>>2]|0);e=f[s>>2]|0;if(!e)if(k)break;else break b;i=s+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[s>>2]|0}Hta(e);if(!k)break b}while(0);bb(l|0);break b}while(0);if((b[j>>0]|0)<0)Hta(f[l>>2]|0)}while(0);_P(Q);break}}d=Ya()|0;_P(g)}while(0)}else{i=a+12|0;d=f[i>>2]|0;j=k+11|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;DP(K|0,e+12|0,40)|0;h=K+40|0;x=0;Ga(459,h|0,k|0);Q=x;x=0;do if(Q&1)d=Ya()|0;else{e=d+4|0;g=f[e>>2]|0;if(g>>>0<(f[d+8>>2]|0)>>>0){t=g;v=K;w=t+40|0;do{f[t>>2]=f[v>>2];t=t+4|0;v=v+4|0}while((t|0)<(w|0));Q=g+40|0;f[Q>>2]=f[h>>2];f[Q+4>>2]=f[h+4>>2];f[Q+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,d|0,K|0);Q=x;x=0;if(Q&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[j>>0]|0)<0)Hta(f[k>>2]|0);l=Ta(100)|0;x=0;Ga(511,r|0,f[i>>2]|0);Q=x;x=0;do if(Q&1)d=Ya()|0;else{Q=f[H>>2]|0;f[o+8>>2]=0;e=o+11|0;b[e>>0]=7;b[o>>0]=b[48816]|0;b[o+1>>0]=b[48817]|0;b[o+2>>0]=b[48818]|0;b[o+3>>0]=b[48819]|0;b[o+4>>0]=b[48820]|0;b[o+5>>0]=b[48821]|0;b[o+6>>0]=b[48822]|0;b[o+7>>0]=0;x=0;Ja(43,l|0,r|0,Q|0,o|0);Q=x;x=0;if(Q&1)k=1;else{x=0;Ia(77,l|0,3928,270);x=0;k=0}d=Ya()|0;j=I;if((b[e>>0]|0)<0)Hta(f[o>>2]|0);e=f[r>>2]|0;if(!e)if(k)break;else break a;i=r+4|0;g=f[i>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[i>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[i>>2]|0}else g=h}while((g|0)!=(e|0));e=f[r>>2]|0}Hta(e);if(!k)break a}while(0);bb(l|0);break a}while(0);if((b[j>>0]|0)<0)Hta(f[k>>2]|0)}while(0);_P(R);break}}d=Ya()|0;_P(e)}while(0);if((b[S+11>>0]|0)>=0)jb(d|0);Hta(f[S>>2]|0);jb(d|0);return 0}function Bd(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.0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0;K=0;G=u;u=u+304|0;F=G+40|0;H=G;c=G+264|0;o=G+252|0;q=G+240|0;L=G+120|0;s=G+228|0;r=G+216|0;B=G+80|0;v=G+208|0;t=G+168|0;w=G+156|0;y=G+144|0;A=G+132|0;C=G+112|0;D=G+104|0;E=G+96|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;p=H+11|0;b[p>>0]=2;d[H>>1]=28196;b[H+2>>0]=0;k=c;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,o|0,i|0);z=x;x=0;do if(z&1)c=Ya()|0;else{x=0;k=F;l=c;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));n=+ja(3,H|0,a|0,g|0,F|0,o|0);z=x;x=0;if(z&1){c=Ya()|0;l=I;e=f[o>>2]|0;if(!e)break;m=o+4|0;j=f[m>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(e|0));e=f[o>>2]|0}Hta(e);break}c=f[o>>2]|0;if(c|0){k=o+4|0;e=f[k>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[k>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=j}while((e|0)!=(c|0));c=f[o>>2]|0}Hta(c)}if((b[p>>0]|0)<0)Hta(f[H>>2]|0);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;e=F+11|0;b[e>>0]=5;b[F>>0]=b[40395]|0;b[F+1>>0]=b[40396]|0;b[F+2>>0]=b[40397]|0;b[F+3>>0]=b[40398]|0;b[F+4>>0]=b[40399]|0;b[F+5>>0]=0;x=0;c=sa(992,a|0,F|0)|0;z=x;x=0;if(z&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[F>>2]|0);L=c;jb(L|0)}c=f[c+4>>2]|0;if(!c)z=0;else z=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[e>>0]|0)<0)Hta(f[F>>2]|0);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;e=F+11|0;b[e>>0]=5;b[F>>0]=b[40395]|0;b[F+1>>0]=b[40396]|0;b[F+2>>0]=b[40397]|0;b[F+3>>0]=b[40398]|0;b[F+4>>0]=b[40399]|0;b[F+5>>0]=0;x=0;c=sa(992,a|0,F|0)|0;p=x;x=0;if(p&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[F>>2]|0);L=c;jb(L|0)}c=f[c+4>>2]|0;if(!c)o=0;else o=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[e>>0]|0)<0)Hta(f[F>>2]|0);if(o|0){if(!z){E=f[o+80>>2]|0;D=f[o+76>>2]|0;c=E-D>>3;if((D|0)==(E|0))K=26}else{E=f[z+88>>2]|0;D=f[z+84>>2]|0;c=E-D>>3;if((D|0)==(E|0))K=26}a:do if((K|0)==26){f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;j=hL(g)|0;if(j>>>0>4294967279)CO(L);if(j>>>0<11){b[L+11>>0]=j;if(!j)e=L;else{e=L;K=31}}else{K=j+16&-16;e=VN(K)|0;f[L>>2]=e;f[L+8>>2]=K|-2147483648;f[L+4>>2]=j;K=31}if((K|0)==31)Lu(e|0,g|0,j|0)|0;b[e+j>>0]=0;x=0;e=ta(43,L|0,0,40401)|0;E=x;x=0;do if(E&1)c=Ya()|0;else{f[H>>2]=f[e>>2];f[H+4>>2]=f[e+4>>2];f[H+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;e=sa(991,H|0,40423)|0;E=x;x=0;do if(E&1)c=Ya()|0;else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;k=F;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,q|0,F|0,i|0);E=x;x=0;if(E&1){c=Ya()|0;if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0);break}if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);break a}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);L=c;jb(L|0)}while(0);n=+J(+(n+(n<0.0?+(c>>>0):-1.0)));if(n<0.0)K=70;else if(n>+((c+-1|0)>>>0))K=70;b:do if((K|0)==70){f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;e=hL(g)|0;if(e>>>0>4294967279)CO(L);if(e>>>0<11){b[L+11>>0]=e;if(!e)c=L;else{c=L;K=75}}else{K=e+16&-16;c=VN(K)|0;f[L>>2]=c;f[L+8>>2]=K|-2147483648;f[L+4>>2]=e;K=75}if((K|0)==75)Lu(c|0,g|0,e|0)|0;b[c+e>>0]=0;x=0;c=ta(43,L|0,0,40443)|0;K=x;x=0;do if(K&1)c=Ya()|0;else{f[H>>2]=f[c>>2];f[H+4>>2]=f[c+4>>2];f[H+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,H|0,48413)|0;K=x;x=0;do if(K&1)c=Ya()|0;else{f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;k=F;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,s|0,F|0,i|0);K=x;x=0;if(K&1){c=Ya()|0;if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0);break}if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);break b}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);L=c;jb(L|0)}while(0);yra(F);c=f[(f[o+76>>2]|0)+(~~n<<3)+4>>2]|0;x=0;c=sa(f[(f[c>>2]|0)+56>>2]|0,c|0,F|0)|0;L=x;x=0;if(L&1){L=Ya()|0;jb(L|0)}else{L=c;u=G;return L|0}}f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;e=F+11|0;b[e>>0]=5;b[F>>0]=b[40395]|0;b[F+1>>0]=b[40396]|0;b[F+2>>0]=b[40397]|0;b[F+3>>0]=b[40398]|0;b[F+4>>0]=b[40399]|0;b[F+5>>0]=0;x=0;c=sa(992,a|0,F|0)|0;s=x;x=0;if(s&1)K=121;else{x=0;c=qa(340,f[c+4>>2]|0)|0;s=x;x=0;if(s&1)K=121;else{x=0;Ga(462,L|0,c|0);s=x;x=0;if(s&1)K=121;else{f[L>>2]=7584;if((b[e>>0]|0)<0)Hta(f[F>>2]|0);c:do if(n==0.0){f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;j=hL(g)|0;do if(j>>>0>4294967279){x=0;Fa(428,B|0);x=0;K=124}else{if(j>>>0<11){b[B+11>>0]=j;if(!j)c=B;else{c=B;K=110}}else{e=j+16&-16;x=0;c=qa(318,e|0)|0;K=x;x=0;if(K&1){K=124;break}f[B>>2]=c;f[B+8>>2]=e|-2147483648;f[B+4>>2]=j;K=110}if((K|0)==110)Lu(c|0,g|0,j|0)|0;b[c+j>>0]=0;x=0;c=ta(43,B|0,0,40469)|0;s=x;x=0;do if(s&1)c=Ya()|0;else{f[H>>2]=f[c>>2];f[H+4>>2]=f[c+4>>2];f[H+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,H|0,40488)|0;s=x;x=0;do if(s&1)c=Ya()|0;else{f[r>>2]=f[c>>2];f[r+4>>2]=f[c+4>>2];f[r+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;k=F;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,r|0,F|0,i|0);s=x;x=0;if(s&1){c=Ya()|0;if((b[r+11>>0]|0)>=0)break;Hta(f[r>>2]|0);break}if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);K=134;break c}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0)}while(0);if((K|0)==124)c=Ya()|0}else K=134;while(0);d:do if((K|0)==134){q=(z|0)!=0;if(q){w=f[z+88>>2]|0;a=f[z+84>>2]|0;c=w-a>>3;if((a|0)==(w|0))K=182}else{p=L+4|0;e=f[p>>2]|0;e:do if(!e){x=0;o=qa(318,88)|0;s=x;x=0;f:do if(s&1)K=162;else{k=H;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Fa(427,o|0);s=x;x=0;do if(s&1)c=Ya()|0;else{k=o+12|0;l=H;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;c=o+56|0;f[c>>2]=0;f[o>>2]=6516;e=o+60|0;f[e>>2]=9660;l=o+64|0;m=o+68|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(516,l|0,1);s=x;x=0;if(s&1){c=Ya()|0;k=I;e=f[l>>2]|0;if(e|0){j=f[m>>2]|0;if((j|0)!=(e|0)){do{H=j+-8|0;f[m>>2]=H;Kc[f[f[H>>2]>>2]&511](H);j=f[m>>2]|0}while((j|0)!=(e|0));e=f[l>>2]|0}Hta(e)}break}f[o>>2]=9488;f[e>>2]=9620;f[o+80>>2]=1;b[o+84>>0]=0;b[o+85>>0]=0;b[o+86>>0]=0;f[c>>2]=5;x=0;Ga(462,F|0,o|0);s=x;x=0;if(s&1){K=162;break f}f[F>>2]=7584;do if(f[p>>2]|0){x=0;Fa(429,L|0);s=x;x=0;if(!(s&1))break;c=Ya()|0;_P(F);break f}while(0);e=F+4|0;f[p>>2]=f[e>>2];f[e>>2]=0;_P(F);e=(f[p>>2]|0)+60|0;j=f[(f[e>>2]|0)+20>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;o=H+11|0;b[o>>0]=5;b[H>>0]=b[40395]|0;b[H+1>>0]=b[40396]|0;b[H+2>>0]=b[40397]|0;b[H+3>>0]=b[40398]|0;b[H+4>>0]=b[40399]|0;b[H+5>>0]=0;k=t;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Ga(511,w|0,i|0);s=x;x=0;do if(s&1)c=Ya()|0;else{x=0;k=F;l=t;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c=wa(25,H|0,a|0,g|0,F|0,w|0)|0;a=x;x=0;do if(a&1)K=168;else{x=0;Ga(462,v|0,c|0);a=x;x=0;if(a&1){K=168;break}f[v>>2]=7696;x=0;Ga(j|0,e|0,v|0);a=x;x=0;if(a&1){c=Ya()|0;l=I;_P(v);break}_P(v);c=f[w>>2]|0;if(c|0){k=w+4|0;e=f[k>>2]|0;if((e|0)!=(c|0)){do{j=e+-52|0;f[k>>2]=j;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[k>>2]|0}else e=j}while((e|0)!=(c|0));c=f[w>>2]|0}Hta(c)}if((b[o>>0]|0)<0)Hta(f[H>>2]|0);e=f[p>>2]|0;break e}while(0);if((K|0)==168){c=Ya()|0;l=I}e=f[w>>2]|0;if(!e)break;m=w+4|0;j=f[m>>2]|0;if((j|0)!=(e|0)){do{k=j+-52|0;f[m>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[m>>2]|0}else j=k}while((j|0)!=(e|0));e=f[w>>2]|0}Hta(e)}while(0);if((b[o>>0]|0)<0)Hta(f[H>>2]|0);break d}while(0);Hta(o)}while(0);if((K|0)==162)c=Ya()|0;break d}while(0);c=(f[e+68>>2]|0)-(f[e+64>>2]|0)>>3;if((f[e+64>>2]|0)==(f[e+68>>2]|0))K=182}g:do if((K|0)==182){f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;k=hL(g)|0;do if(k>>>0>4294967279){x=0;Fa(428,B|0);x=0;K=199}else{if(k>>>0<11){b[B+11>>0]=k;if(!k)e=B;else{e=B;K=188}}else{j=k+16&-16;x=0;e=qa(318,j|0)|0;K=x;x=0;if(K&1){K=199;break}f[B>>2]=e;f[B+8>>2]=j|-2147483648;f[B+4>>2]=k;K=188}if((K|0)==188)Lu(e|0,g|0,k|0)|0;b[e+k>>0]=0;x=0;e=ta(43,B|0,0,40401)|0;w=x;x=0;do if(w&1)c=Ya()|0;else{f[H>>2]=f[e>>2];f[H+4>>2]=f[e+4>>2];f[H+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;e=sa(991,H|0,40423)|0;w=x;x=0;do if(w&1)c=Ya()|0;else{f[y>>2]=f[e>>2];f[y+4>>2]=f[e+4>>2];f[y+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;k=F;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,y|0,F|0,i|0);w=x;x=0;if(w&1){c=Ya()|0;if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0);break}if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);break g}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0)}while(0);if((K|0)==199)c=Ya()|0;break d}while(0);n=+J(+(n+(n<0.0?+(c>>>0):-1.0)));if(n<0.0)K=211;else if(n>+((c+-1|0)>>>0))K=211;h:do if((K|0)==211){f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;j=hL(g)|0;do if(j>>>0>4294967279){x=0;Fa(428,B|0);x=0;K=228}else{if(j>>>0<11){b[B+11>>0]=j;if(!j)c=B;else{c=B;K=217}}else{e=j+16&-16;x=0;c=qa(318,e|0)|0;K=x;x=0;if(K&1){K=228;break}f[B>>2]=c;f[B+8>>2]=e|-2147483648;f[B+4>>2]=j;K=217}if((K|0)==217)Lu(c|0,g|0,j|0)|0;b[c+j>>0]=0;x=0;c=ta(43,B|0,0,40443)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[H>>2]=f[c>>2];f[H+4>>2]=f[c+4>>2];f[H+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,H|0,48413)|0;g=x;x=0;do if(g&1)c=Ya()|0;else{f[A>>2]=f[c>>2];f[A+4>>2]=f[c+4>>2];f[A+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;k=F;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Ia(100,A|0,F|0,i|0);i=x;x=0;if(i&1){c=Ya()|0;if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0);break}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);break h}while(0);if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0)}while(0);if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0)}while(0);if((K|0)==228)c=Ya()|0;break d}while(0);i:do if(q){x=0;o=qa(318,88)|0;i=x;x=0;j:do if(i&1)K=259;else{k=F;l=h;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));x=0;Fa(427,o|0);h=x;x=0;do if(h&1)c=Ya()|0;else{k=o+12|0;l=F;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));b[o+52>>0]=0;b[o+53>>0]=0;b[o+54>>0]=0;c=o+56|0;f[c>>2]=0;f[o>>2]=6516;e=o+60|0;f[e>>2]=9660;l=o+64|0;m=o+68|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(516,l|0,1);F=x;x=0;if(F&1){c=Ya()|0;k=I;e=f[l>>2]|0;if(e|0){j=f[m>>2]|0;if((j|0)!=(e|0)){do{H=j+-8|0;f[m>>2]=H;Kc[f[f[H>>2]>>2]&511](H);j=f[m>>2]|0}while((j|0)!=(e|0));e=f[l>>2]|0}Hta(e)}break}f[o>>2]=9488;f[e>>2]=9620;f[o+80>>2]=1;b[o+84>>0]=0;b[o+85>>0]=0;b[o+86>>0]=0;f[c>>2]=5;x=0;Ga(462,H|0,o|0);F=x;x=0;if(F&1){K=259;break j}f[H>>2]=7584;m=L+4|0;do if(f[m>>2]|0){x=0;Fa(429,L|0);F=x;x=0;if(!(F&1))break;c=Ya()|0;_P(H);break j}while(0);c=H+4|0;f[m>>2]=f[c>>2];f[c>>2]=0;_P(H);c=(f[m>>2]|0)+60|0;e=f[(f[c>>2]|0)+20>>2]|0;l=z+60|0;k=~~n>>>0;j=z+84|0;x=0;Ga(462,C|0,f[(f[j>>2]|0)+(k<<3)+4>>2]|0);H=x;x=0;do if(!(H&1)){f[C>>2]=7696;x=0;Ga(e|0,c|0,C|0);H=x;x=0;if(H&1){c=Ya()|0;_P(C);break d}_P(C);c=(f[m>>2]|0)+60|0;e=f[(f[c>>2]|0)+20>>2]|0;x=0;Ga(462,E|0,f[(f[j>>2]|0)+(k<<3)+4>>2]|0);H=x;x=0;if(H&1)break;f[E>>2]=7696;x=0;Ia(78,D|0,l|0,E|0);H=x;x=0;do if(H&1)c=Ya()|0;else{x=0;Ga(e|0,c|0,D|0);H=x;x=0;if(H&1){c=Ya()|0;_P(D);break}_P(D);_P(E);c=f[m>>2]|0;if(!c)c=0;else b[c+8>>0]=1;break i}while(0);_P(E);break d}while(0);c=Ya()|0;break d}while(0);Hta(o)}while(0);if((K|0)==259)c=Ya()|0;break d}else{x=0;Ia(106,F|0,f[L+4>>2]|0,~~n|0);H=x;x=0;do if(H&1)c=Ya()|0;else{c=F+4|0;H=f[c>>2]|0;x=0;Ga(f[(f[H>>2]|0)+100>>2]|0,H|0,0);H=x;x=0;if(H&1){c=Ya()|0;_P(F);break}c=f[c>>2]|0;if(!c)c=0;else b[c+8>>0]=1;_P(F);break i}while(0);break d}while(0);_P(L);L=c;u=G;return L|0}while(0);_P(L)}}}if((K|0)==121){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[F>>2]|0)}L=c;jb(L|0)}while(0);if((b[p>>0]|0)<0)Hta(f[H>>2]|0);L=c;jb(L|0);return 0}function Cd(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,v=0,w=0,y=0,z=0,A=0,B=0;z=0;A=u;u=u+400|0;B=A+120|0;y=A+80|0;t=A+40|0;p=A;i=A+216|0;h=A+384|0;d=A+376|0;e=A+368|0;g=A+360|0;o=A+348|0;j=A+336|0;v=A+296|0;w=A+280|0;k=A+240|0;m=A+228|0;l=A+176|0;n=A+160|0;Fy(c,0,0)|0;if(ex(c,1,0)|0){do if(!(Mka(f[c+76>>2]|0)|0))d=c+108|0;else{d=VN(96)|0;f[h>>2]=d;f[h+8>>2]=-2147483552;f[h+4>>2]=94;s=d;q=44786;r=s+94|0;do{b[s>>0]=b[q>>0]|0;s=s+1|0;q=q+1|0}while((s|0)<(r|0));b[d+94>>0]=0;d=c+108|0;x=0;s=B;q=d;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ga(601,h|0,B|0);c=x;x=0;if(!(c&1)){if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}d=Ya()|0;if((b[h+11>>0]|0)>=0){B=d;jb(B|0)}Hta(f[h>>2]|0);B=d;jb(B|0)}while(0);e=VN(104)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=i+11|0;b[g>>0]=1;b[i>>0]=38;b[i+1>>0]=0;x=0;s=B;q=d;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(88,e|0,B|0,i|0);B=x;x=0;if(B&1){d=Ya()|0;if((b[g>>0]|0)<0)Hta(f[i>>2]|0);Hta(e);B=d;jb(B|0)}else{if((b[g>>0]|0)<0)Hta(f[i>>2]|0);f[e>>2]=13868;b[e+101>>0]=1;qV(a,e);f[a>>2]=7696;u=A;return}}if(Ew(c,1,0)|0){d=VN(80)|0;x=0;s=B;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ja(33,d|0,B|0,49953,1);B=x;x=0;if(B&1){B=Ya()|0;Hta(d);jb(B|0)}else{qV(a,d);f[a>>2]=7696;u=A;return}}if(fu(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1027,c+108|0,B|0)|0;c=x;x=0;if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(!(c&1)){f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}}d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(_s(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1026,c+108|0,B|0)|0;c=x;x=0;if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(!(c&1)){f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}}d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(ku(c,1,0)|0){z=c+168|0;f[B>>2]=f[z>>2];f[B+4>>2]=f[z+4>>2];f[B+8>>2]=f[z+8>>2];Md(d,c,B,0,1);x=0;Ga(462,a|0,f[d+4>>2]|0);B=x;x=0;if(B&1){B=Ya()|0;_P(d);jb(B|0)}else{f[a>>2]=7696;_P(d);u=A;return}}d=f[c+76>>2]|0;s=VX(d)|0;d=iS(s|0?s:d)|0;if(!((d|0)==0?1:d>>>0>(f[c+80>>2]|0)>>>0)){gd(e,c,d);x=0;Ga(462,a|0,f[e+4>>2]|0);B=x;x=0;if(B&1){B=Ya()|0;_P(e);jb(B|0)}else{f[a>>2]=7696;_P(e);u=A;return}}if(Bw(c,1,0)|0){z=c+168|0;f[B>>2]=f[z>>2];f[B+4>>2]=f[z+4>>2];f[B+8>>2]=f[z+8>>2];Md(g,c,B,0,1);x=0;Ga(462,a|0,f[g+4>>2]|0);B=x;x=0;if(B&1){B=Ya()|0;_P(g);jb(B|0)}else{f[a>>2]=7696;_P(g);u=A;return}}if(ix(c,1,0)|0){d=VN(68)|0;s=p;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,d|0);B=x;x=0;if(B&1){B=Ya()|0;Hta(d);jb(B|0)}else{s=d+12|0;q=p;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=1;f[d+64>>2]=0;f[d+56>>2]=1;qV(a,d);f[a>>2]=7696;u=A;return}}if(cx(c,1,0)|0){d=VN(68)|0;s=t;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,d|0);B=x;x=0;if(B&1){B=Ya()|0;Hta(d);jb(B|0)}else{s=d+12|0;q=t;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=11240;b[d+60>>0]=0;f[d+64>>2]=0;f[d+56>>2]=1;qV(a,d);f[a>>2]=7696;u=A;return}}if(kx(c,1,0)|0){d=VN(60)|0;s=y;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,d|0);B=x;x=0;if(B&1){B=Ya()|0;Hta(d);jb(B|0)}else{s=d+12|0;q=y;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d>>2]=13152;f[d+56>>2]=8;qV(a,d);f[a>>2]=7696;u=A;return}}if(Zw(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1028,c|0,B|0)|0;c=x;x=0;if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(!(c&1)){f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}}d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(Ww(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1027,c+108|0,B|0)|0;c=x;x=0;if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(!(c&1)){f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}}d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(Us(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1029,c+108|0,B|0)|0;c=x;x=0;if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(!(c&1)){f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}}d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(Jx(c,1,0)|0){k=c+172|0;e=f[k>>2]|0;l=c+176|0;h=f[l>>2]|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(y);if(i>>>0<11){b[y+11>>0]=i;d=y}else{s=i+16&-16;d=VN(s)|0;f[y>>2]=d;f[y+8>>2]=s|-2147483648;f[y+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ia(92,t|0,44881,y|0);s=x;x=0;a:do if(s&1){d=Ya()|0;z=180}else{x=0;d=sa(991,t|0,44893)|0;s=x;x=0;do if(s&1)d=Ya()|0;else{f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;Ia(92,p|0,44964,y|0);s=x;x=0;do if(s&1)d=Ya()|0;else{x=0;d=sa(991,p|0,45004)|0;s=x;x=0;do if(s&1)d=Ya()|0;else{f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;d=c+108|0;x=0;s=B;q=d;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ja(20,o|0,j|0,1,B|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);x=0;j=qa(318,80)|0;c=x;x=0;if(c&1){d=Ya()|0;break a}s=v;q=d;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));e=f[k>>2]|0;h=f[l>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,w|0);x=0;z=182}else{if(i>>>0<11){b[w+11>>0]=i;d=w}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;c=x;x=0;if(c&1){z=182;break}f[w>>2]=d;f[w+8>>2]=g|-2147483648;f[w+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;s=B;q=v;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Na(1,j|0,B|0,w|0,0,0,0,1,1);B=x;x=0;do if(B&1)e=1;else{x=0;Ga(462,a|0,j|0);B=x;x=0;if(B&1){e=0;break}f[a>>2]=7696;if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);u=A;return}while(0);d=Ya()|0;if((b[w+11>>0]|0)<0){Hta(f[w>>2]|0);if(e)break;else break a}else if(e)break;else break a}while(0);if((z|0)==182)d=Ya()|0;Hta(j);break a}while(0);if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0)}while(0);if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0)}while(0);if((b[t+11>>0]|0)>=0){z=180;break}Hta(f[t>>2]|0);z=180}while(0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);B=d;jb(B|0)}if(bu(c,1,0)|0){j=VN(80)|0;s=k;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,m|0);x=0;z=204}else{if(i>>>0<11){b[m+11>>0]=i;d=m}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;c=x;x=0;if(c&1){z=204;break}f[m>>2]=d;f[m+8>>2]=g|-2147483648;f[m+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;s=B;q=k;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Na(1,j|0,B|0,m|0,0,0,0,1,1);B=x;x=0;do if(B&1)e=1;else{x=0;Ga(462,a|0,j|0);B=x;x=0;if(B&1){e=0;break}f[a>>2]=7696;if((b[m+11>>0]|0)>=0){u=A;return}Hta(f[m>>2]|0);u=A;return}while(0);d=Ya()|0;if((b[m+11>>0]|0)<0){Hta(f[m>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((z|0)==204)d=Ya()|0;Hta(j);B=d;jb(B|0)}if(Bs(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1030,c+108|0,B|0)|0;c=x;x=0;do if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(c&1)break;f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}while(0);d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(Qs(c,1,0)|0){d=VN(80)|0;e=c+168|0;x=0;s=B;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ja(29,d|0,B|0,e|0,1);B=x;x=0;if(B&1){B=Ya()|0;Hta(d);jb(B|0)}else{qV(a,d);f[a>>2]=7696;u=A;return}}if(wx(c,1,0)|0){e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;i=h-e|0;if(i>>>0>4294967279)CO(B);if(i>>>0<11){b[B+11>>0]=i;d=B}else{z=i+16&-16;d=VN(z)|0;f[B>>2]=d;f[B+8>>2]=z|-2147483648;f[B+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;d=sa(1026,c+108|0,B|0)|0;c=x;x=0;do if(!(c&1)){x=0;Ga(462,a|0,d|0);c=x;x=0;if(c&1)break;f[a>>2]=7696;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);u=A;return}while(0);d=Ya()|0;if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}if(!(gx(c,1,0)|0)){if(ct(c,1,0)|0){d=VN(80)|0;e=c+168|0;x=0;s=B;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ja(29,d|0,B|0,e|0,1);B=x;x=0;if(B&1){B=Ya()|0;Hta(d);jb(B|0)}else{qV(a,d);f[a>>2]=7696;u=A;return}}d=VN(16)|0;f[B>>2]=d;f[B+8>>2]=-2147483632;f[B+4>>2]=11;s=d;q=44242;r=s+11|0;do{b[s>>0]=b[q>>0]|0;s=s+1|0;q=q+1|0}while((s|0)<(r|0));b[d+11>>0]=0;f[y+8>>2]=0;e=y+11|0;b[e>>0]=7;b[y>>0]=b[44254]|0;b[y+1>>0]=b[44255]|0;b[y+2>>0]=b[44256]|0;b[y+3>>0]=b[44257]|0;b[y+4>>0]=b[44258]|0;b[y+5>>0]=b[44259]|0;b[y+6>>0]=b[44260]|0;b[y+7>>0]=0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;x=0;d=qa(318,48)|0;z=x;x=0;do if(z&1)d=Ya()|0;else{f[t>>2]=d;f[t+8>>2]=-2147483600;f[t+4>>2]=44;s=d;q=44621;r=s+44|0;do{b[s>>0]=b[q>>0]|0;s=s+1|0;q=q+1|0}while((s|0)<(r|0));b[d+44>>0]=0;x=0;Ka(8,c|0,B|0,y|0,t|0,1);c=x;x=0;if(c&1){d=Ya()|0;if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0);break}if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);if((b[e>>0]|0)<0)Hta(f[y>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);qV(a,0);f[a>>2]=7696;u=A;return}while(0);if((b[e>>0]|0)<0)Hta(f[y>>2]|0);if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);B=d;jb(B|0)}j=VN(72)|0;s=l;q=c+108|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));e=f[c+172>>2]|0;h=f[c+176>>2]|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,y|0);x=0;z=267}else{if(i>>>0<11){b[y+11>>0]=i;d=y}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;c=x;x=0;if(c&1){z=267;break}f[y>>2]=d;f[y+8>>2]=g|-2147483648;f[y+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;x=0;Ga(558,n|0,y|0);c=x;x=0;do if(c&1){d=Ya()|0;e=1}else{s=B;q=l;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,j|0);c=x;x=0;do if(c&1){d=1;z=269}else{s=j+12|0;q=B;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;d=j+56|0;f[d>>2]=0;f[j>>2]=10992;x=0;Ga(459,j+60|0,n|0);B=x;x=0;if(B&1){d=Ya()|0;e=1;break}f[d>>2]=13;x=0;Ga(462,a|0,j|0);B=x;x=0;if(B&1){d=0;z=269;break}f[a>>2]=7696;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);u=A;return}while(0);if((z|0)==269){B=Ya()|0;e=d;d=B}if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0)}while(0);if((b[y+11>>0]|0)<0){Hta(f[y>>2]|0);if(e)break;jb(d|0)}else{if(e)break;jb(d|0)}}while(0);if((z|0)==267)d=Ya()|0;Hta(j);B=d;jb(B|0)}function Dd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,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=0;N=u;u=u+416|0;O=N+368|0;P=N+352|0;D=N+336|0;K=N+296|0;H=N+240|0;q=N+192|0;S=N+184|0;Q=N+64|0;r=N+320|0;s=N+308|0;t=N+256|0;y=N+232|0;w=N+176|0;z=N+168|0;v=N+160|0;A=N+120|0;F=N+112|0;E=N+104|0;G=N+96|0;B=N+88|0;C=N+80|0;I=N+24|0;L=N+16|0;M=N+8|0;J=N;qV(S,0);f[S>>2]=7904;x=0;d=ta(140,c|0,1,0)|0;p=x;x=0;a:do if(!(p&1)){b:do if(!d){x=0;d=ta(141,c|0,1,0)|0;p=x;x=0;if(p&1)break a;if(!d){f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;x=0;d=qa(318,16)|0;p=x;x=0;if(p&1)d=Ya()|0;else{f[O>>2]=d;f[O+8>>2]=-2147483632;f[O+4>>2]=11;m=d;n=44242;o=m+11|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+11>>0]=0;f[P+8>>2]=0;e=P+11|0;b[e>>0]=7;b[P>>0]=b[44254]|0;b[P+1>>0]=b[44255]|0;b[P+2>>0]=b[44256]|0;b[P+3>>0]=b[44257]|0;b[P+4>>0]=b[44258]|0;b[P+5>>0]=b[44259]|0;b[P+6>>0]=b[44260]|0;b[P+7>>0]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;x=0;d=qa(318,32)|0;p=x;x=0;do if(p&1)d=Ya()|0;else{f[D>>2]=d;f[D+8>>2]=-2147483616;f[D+4>>2]=20;m=d;n=45073;o=m+20|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+20>>0]=0;x=0;Ka(8,c|0,O|0,P|0,D|0,1);p=x;x=0;if(p&1){d=Ya()|0;if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0);break}if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);if((b[e>>0]|0)<0)Hta(f[P>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);p=0;g=c+176|0;d=c+172|0;break b}while(0);if((b[e>>0]|0)<0)Hta(f[P>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0)}R=d;_P(S);jb(R|0)}k=c+168|0;l=c+172|0;e=f[l>>2]|0;g=c+176|0;i=f[g>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;j=i-e|0;do if(j>>>0>4294967279){x=0;Fa(428,P|0);x=0;R=48}else{if(j>>>0<11){b[P+11>>0]=j;d=P}else{h=j+16&-16;x=0;d=qa(318,h|0)|0;p=x;x=0;if(p&1){R=48;break}f[P>>2]=d;f[P+8>>2]=h|-2147483648;f[P+4>>2]=j}if((e|0)!=(i|0)){h=d;while(1){b[h>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(i|0))break;else h=h+1|0}d=d+j|0}b[d>>0]=0;x=0;d=ua(14,P|0,0,2,45673)|0;p=x;x=0;if(p&1)d=Ya()|0;else{e=(d|0)==0;x=0;d=qa(318,80)|0;p=x;x=0;do if(p&1)R=50;else{x=0;m=O;n=c+108|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ja(29,d|0,O|0,k|0,1);p=x;x=0;if(p&1){Q=Ya()|0;Hta(d);d=Q;break}x=0;Ga(462,D|0,d|0);p=x;x=0;if(p&1)R=50;else{f[D>>2]=7904;d=S+4|0;if(f[d>>2]|0){x=0;Fa(429,S|0);p=x;x=0;if(p&1){d=Ya()|0;_P(D);break}}p=D+4|0;f[d>>2]=f[p>>2];f[p>>2]=0;_P(D);if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);p=e;d=l;break b}}while(0);if((R|0)==50)d=Ya()|0}if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0)}while(0);if((R|0)==48)d=Ya()|0;R=d;_P(S);jb(R|0)}else{k=c+172|0;e=f[k>>2]|0;g=c+176|0;i=f[g>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;j=i-e|0;do if(j>>>0>4294967279){x=0;Fa(428,O|0);x=0;R=20}else{if(j>>>0<11){b[O+11>>0]=j;d=O}else{h=j+16&-16;x=0;d=qa(318,h|0)|0;p=x;x=0;if(p&1){R=20;break}f[O>>2]=d;f[O+8>>2]=h|-2147483648;f[O+4>>2]=j}if((e|0)!=(i|0)){h=d;while(1){b[h>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(i|0))break;else h=h+1|0}d=d+j|0}b[d>>0]=0;x=0;d=ua(14,O|0,0,2,45673)|0;p=x;x=0;if(p&1)d=Ya()|0;else{d=(d|0)==0;x=0;Ga(594,P|0,c|0);p=x;x=0;do if(p&1)d=Ya()|0;else{e=S+4|0;if(f[e>>2]|0){x=0;Fa(429,S|0);p=x;x=0;if(p&1){d=Ya()|0;_P(P);break}}p=P+4|0;f[e>>2]=f[p>>2];f[p>>2]=0;_P(P);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);p=d;d=k;break b}while(0)}if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0)}while(0);if((R|0)==20)d=Ya()|0;R=d;_P(S);jb(R|0)}while(0);j=c+168|0;e=f[d>>2]|0;h=f[g>>2]|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;i=h-e|0;do if(i>>>0>4294967279){x=0;Fa(428,Q|0);x=0;R=104}else{if(i>>>0<11){b[Q+11>>0]=i;d=Q}else{g=i+16&-16;x=0;d=qa(318,g|0)|0;o=x;x=0;if(o&1){R=104;break}f[Q>>2]=d;f[Q+8>>2]=g|-2147483648;f[Q+4>>2]=i}if((e|0)!=(h|0)){g=d;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else g=g+1|0}d=d+i|0}b[d>>0]=0;f[O>>2]=f[j>>2];f[O+4>>2]=f[j+4>>2];f[O+8>>2]=f[j+8>>2];i=c+76|0;e=f[i>>2]|0;g=c+84|0;f[K>>2]=f[g>>2];f[K+4>>2]=f[g+4>>2];f[K+8>>2]=f[g+8>>2];h=c+96|0;f[H>>2]=f[h>>2];f[H+4>>2]=f[h+4>>2];f[H+8>>2]=f[h+8>>2];k=c+108|0;m=q;n=k;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;ta(52,c|0,1,0)|0;o=x;x=0;c:do if(o&1)R=105;else{x=0;d=ta(142,c|0,1,0)|0;o=x;x=0;if(o&1)R=105;else{d:do if(!d){m=k;n=q;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f[j>>2]=f[O>>2];f[j+4>>2]=f[O+4>>2];f[j+8>>2]=f[O+8>>2];f[i>>2]=e;f[h>>2]=f[H>>2];f[h+4>>2]=f[H+4>>2];f[h+8>>2]=f[H+8>>2];f[g>>2]=f[K>>2];f[g+4>>2]=f[K+4>>2];f[g+8>>2]=f[K+8>>2];x=0;Ga(627,K|0,Q|0);q=x;x=0;if(q&1)d=Ya()|0;else{x=0;d=ta(43,K|0,0,45676)|0;q=x;x=0;if(q&1)d=Ya()|0;else{f[P>>2]=f[d>>2];f[P+4>>2]=f[d+4>>2];f[P+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;d=sa(991,P|0,45687)|0;q=x;x=0;if(q&1)d=Ya()|0;else{f[r>>2]=f[d>>2];f[r+4>>2]=f[d+4>>2];f[r+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;Ga(459,D|0,r|0);q=x;x=0;do if(q&1)d=Ya()|0;else{q=c+108|0;x=0;f[O>>2]=f[q>>2];f[O+4>>2]=f[q+4>>2];f[O+8>>2]=f[q+8>>2];Ia(113,c|0,D|0,O|0);q=x;x=0;if(q&1){d=Ya()|0;if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0);break}if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0);break d}while(0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0)}if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0)}if((b[K+11>>0]|0)<0)Hta(f[K>>2]|0)}break c}while(0);e:do if(!p){x=0;d=qa(379,f[i>>2]|0)|0;r=x;x=0;if(r&1){R=105;break c}if(d|0)if((b[d>>0]|0)==59){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;x=0;d=qa(318,48)|0;r=x;x=0;if(r&1){R=105;break c}f[s>>2]=d;f[s+8>>2]=-2147483600;f[s+4>>2]=38;m=d;n=45715;o=m+38|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+38>>0]=0;x=0;Ga(459,P|0,s|0);r=x;x=0;do if(r&1)d=Ya()|0;else{r=c+108|0;x=0;f[O>>2]=f[r>>2];f[O+4>>2]=f[r+4>>2];f[O+8>>2]=f[r+8>>2];Ia(113,c|0,P|0,O|0);r=x;x=0;if(r&1){d=Ya()|0;if((b[P+11>>0]|0)>=0)break;Hta(f[P>>2]|0);break}if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);if((b[s+11>>0]|0)>=0)break e;Hta(f[s>>2]|0);break e}while(0);if((b[s+11>>0]|0)>=0)break c;Hta(f[s>>2]|0);break c}}while(0);x=0;d=qa(379,f[i>>2]|0)|0;s=x;x=0;if(s&1)R=105;else{if(!d)d=0;else d=(b[d>>0]|0)==123?d+1|0:0;h=(d|0)==0;f:do if(p){x=0;g=qa(318,92)|0;P=x;x=0;if(P&1){R=105;break c}d=f[S+4>>2]|0;m=t;n=d+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(462,y|0,d|0);P=x;x=0;do if(P&1)d=Ya()|0;else{f[y>>2]=7904;x=0;Ia(125,z|0,c|0,1);P=x;x=0;if(P&1){d=Ya()|0;_P(y);break}x=0;Ga(462,w|0,f[z+4>>2]|0);P=x;x=0;if(P&1){d=Ya()|0;e=1}else{f[w>>2]=7696;x=0;Ga(462,v|0,0);P=x;x=0;if(P&1){d=Ya()|0;e=1}else{f[v>>2]=7280;x=0;m=O;n=t;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ma(7,g|0,O|0,y|0,w|0,0,1,v|0);P=x;x=0;do if(P&1)e=1;else{x=0;Ga(462,a|0,g|0);P=x;x=0;if(P&1){e=0;break}f[a>>2]=17112;_P(v);_P(w);_P(z);_P(y);break f}while(0);d=Ya()|0;_P(v)}_P(w)}_P(z);_P(y);if(!e)break c}while(0);Hta(g);break c}else{x=0;ta(52,c|0,0,0)|0;z=x;x=0;if(z&1){R=105;break c}x=0;d=qa(347,f[i>>2]|0)|0;z=x;x=0;if(z&1){R=105;break c}g=c+80|0;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)d=f[i>>2]|0;x=0;e=qa(348,d|0)|0;z=x;x=0;if(z&1){R=105;break c}x=0;d=qa(353,(e|0?e:d)|0)|0;z=x;x=0;if(z&1){R=105;break c}if(!((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)){x=0;g=qa(318,92)|0;P=x;x=0;if(P&1){R=105;break c}d=f[S+4>>2]|0;m=A;n=d+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(462,F|0,d|0);P=x;x=0;do if(P&1)d=Ya()|0;else{f[F>>2]=7904;x=0;Ga(628,G|0,c|0);P=x;x=0;if(P&1){d=Ya()|0;_P(F);break}x=0;Ga(462,E|0,f[G+4>>2]|0);P=x;x=0;if(P&1){d=Ya()|0;e=1}else{f[E>>2]=7696;x=0;Ga(462,B|0,0);P=x;x=0;if(P&1){d=Ya()|0;e=1}else{f[B>>2]=7280;x=0;m=O;n=A;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ma(7,g|0,O|0,F|0,E|0,0,0,B|0);P=x;x=0;do if(P&1)e=1;else{x=0;Ga(462,a|0,g|0);P=x;x=0;if(P&1){e=0;break}f[a>>2]=17112;_P(B);_P(E);_P(G);_P(F);break f}while(0);d=Ya()|0;_P(B)}_P(E)}_P(G);_P(F);if(!e)break c}while(0);Hta(g);break c}x=0;Ga(462,P|0,0);G=x;x=0;if(G&1)d=Ya()|0;else{f[P>>2]=7696;x=0;Ia(124,D|0,c|0,f[i>>2]|0);G=x;x=0;g:do if(G&1)R=187;else{d=f[D>>2]|0;h:do if(!d){x=0;Ia(114,O|0,c|0,1);G=x;x=0;i:do if(G&1)d=Ya()|0;else{d=P+4|0;do if(f[d>>2]|0){x=0;Fa(429,P|0);G=x;x=0;if(!(G&1))break;d=Ya()|0;_P(O);break i}while(0);G=O+4|0;f[d>>2]=f[G>>2];f[G>>2]=0;_P(O);x=0;d=qa(340,f[d>>2]|0)|0;G=x;x=0;do if(!(G&1)){if(!d)break h;if(b[d+85>>0]|0)break h;if((f[d+68>>2]|0)!=(f[d+64>>2]|0))break h;d=f[i>>2]|0;x=0;e=qa(348,d|0)|0;G=x;x=0;if(G&1)break;G=e|0?e:d;G=(b[G>>0]|0)==123?G+1|0:0;if(!((G|0)==0?1:G>>>0>(f[g>>2]|0)>>>0))break h;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;x=0;d=qa(318,16)|0;G=x;x=0;do if(G&1)d=Ya()|0;else{f[O>>2]=d;f[O+8>>2]=-2147483632;f[O+4>>2]=11;m=d;n=44242;o=m+11|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+11>>0]=0;f[K+8>>2]=0;e=K+11|0;b[e>>0]=7;b[K>>0]=b[44254]|0;b[K+1>>0]=b[44255]|0;b[K+2>>0]=b[44256]|0;b[K+3>>0]=b[44257]|0;b[K+4>>0]=b[44258]|0;b[K+5>>0]=b[44259]|0;b[K+6>>0]=b[44260]|0;b[K+7>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;d=qa(318,48)|0;G=x;x=0;do if(G&1)d=Ya()|0;else{f[H>>2]=d;f[H+8>>2]=-2147483600;f[H+4>>2]=44;m=d;n=44621;o=m+44|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+44>>0]=0;x=0;Ka(8,c|0,O|0,K|0,H|0,1);G=x;x=0;if(G&1){d=Ya()|0;if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0);break}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[e>>0]|0)<0)Hta(f[K>>2]|0);if((b[O+11>>0]|0)<0)Hta(f[O>>2]|0);break h}while(0);if((b[e>>0]|0)<0)Hta(f[K>>2]|0);if((b[O+11>>0]|0)>=0)break;Hta(f[O>>2]|0)}while(0);break g}while(0);d=Ya()|0;break g}while(0);break g}else{if(!(b[D+13>>0]|0)){x=0;Ia(114,O|0,c|0,1);K=x;x=0;j:do if(K&1)d=Ya()|0;else{d=P+4|0;do if(f[d>>2]|0){x=0;Fa(429,P|0);K=x;x=0;if(!(K&1))break;d=Ya()|0;_P(O);break j}while(0);K=O+4|0;f[d>>2]=f[K>>2];f[K>>2]=0;_P(O);break h}while(0);break g}x=0;Ia(118,C|0,c|0,d|0);K=x;x=0;if(K&1)d=Ya()|0;else{x=0;Ga(462,O|0,f[C+4>>2]|0);K=x;x=0;k:do if(K&1)d=Ya()|0;else{f[O>>2]=7696;d=P+4|0;do if(f[d>>2]|0){x=0;Fa(429,P|0);K=x;x=0;if(!(K&1))break;d=Ya()|0;_P(O);break k}while(0);K=O+4|0;f[d>>2]=f[K>>2];f[K>>2]=0;_P(O);_P(C);break h}while(0);_P(C)}break g}while(0);x=0;ta(52,c|0,0,0)|0;K=x;x=0;if(K&1){R=187;break}x=0;g=qa(318,92)|0;K=x;x=0;if(K&1){R=187;break}d=f[S+4>>2]|0;m=I;n=d+12|0;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;Ga(462,L|0,d|0);K=x;x=0;do if(K&1)d=Ya()|0;else{f[L>>2]=7904;x=0;Ga(462,M|0,f[P+4>>2]|0);K=x;x=0;if(K&1){d=Ya()|0;_P(L);break}f[M>>2]=7696;x=0;Ga(462,J|0,0);K=x;x=0;if(K&1){d=Ya()|0;e=1}else{f[J>>2]=7280;x=0;m=O;n=I;o=m+40|0;do{f[m>>2]=f[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ma(7,g|0,O|0,L|0,M|0,0,0,J|0);O=x;x=0;do if(O&1)d=1;else{x=0;Ga(462,a|0,g|0);O=x;x=0;if(O&1){d=0;break}f[a>>2]=17112;_P(J);_P(M);_P(L);O=f[a+4>>2]|0;b[O+90>>0]=h&1;x=0;Ga(575,O|0,k|0);O=x;x=0;if(O&1){d=Ya()|0;_P(a);break g}else{_P(P);break f}}while(0);O=Ya()|0;_P(J);e=d;d=O}_P(M);_P(L);if(!e)break g}while(0);Hta(g)}while(0);if((R|0)==187)d=Ya()|0;_P(P)}break c}while(0);if((b[Q+11>>0]|0)>=0){_P(S);u=N;return}Hta(f[Q>>2]|0);_P(S);u=N;return}}}while(0);if((R|0)==105)d=Ya()|0;if((b[Q+11>>0]|0)<0)Hta(f[Q>>2]|0)}while(0);if((R|0)==104)d=Ya()|0;R=d;_P(S);jb(R|0)}while(0);R=Ya()|0;_P(S);jb(R|0)}function Ed(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,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=0;Q=u;u=u+496|0;R=Q+368|0;T=Q+316|0;U=Q+292|0;S=Q;V=Q+280|0;m=Q+328|0;o=Q+304|0;P=Q+48|0;M=Q+40|0;z=Q+272|0;A=Q+232|0;G=Q+224|0;H=Q+208|0;B=Q+200|0;C=Q+160|0;J=Q+152|0;K=Q+136|0;E=Q+96|0;L=Q+80|0;F=Q+72|0;N=Q+64|0;O=Q+56|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;k=R+11|0;b[k>>0]=5;b[R>>0]=b[40756]|0;b[R+1>>0]=b[40757]|0;b[R+2>>0]=b[40758]|0;b[R+3>>0]=b[40759]|0;b[R+4>>0]=b[40760]|0;b[R+5>>0]=0;x=0;j=sa(992,a|0,R|0)|0;D=x;x=0;a:do if(D&1){j=Ya()|0;if((b[k>>0]|0)<0)Hta(f[R>>2]|0)}else{j=f[j+4>>2]|0;if(!j)D=0;else D=(f[291]|0)==(f[(f[(f[j>>2]|0)+-4>>2]|0)+4>>2]|0)?j:0;if((b[k>>0]|0)<0)Hta(f[R>>2]|0);f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;k=R+11|0;b[k>>0]=5;b[R>>0]=b[40756]|0;b[R+1>>0]=b[40757]|0;b[R+2>>0]=b[40758]|0;b[R+3>>0]=b[40759]|0;b[R+4>>0]=b[40760]|0;b[R+5>>0]=0;x=0;j=sa(992,a|0,R|0)|0;y=x;x=0;if(!(y&1)){x=0;j=qa(334,f[j+4>>2]|0)|0;y=x;x=0;if(!(y&1)){if((b[k>>0]|0)<0)Hta(f[R>>2]|0);b:do if(!j){if(D|0){j=f[D+64>>2]|0;if(!j){f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0}else{x=0;Ga(459,R|0,j+72|0);y=x;x=0;if(y&1){j=Ya()|0;break a}}j=V+11|0;if((b[j>>0]|0)<0){b[f[V>>2]>>0]=0;f[V+4>>2]=0}else{b[V>>0]=0;b[j>>0]=0}x=0;Ga(501,V|0,0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else{f[V>>2]=f[R>>2];f[V+4>>2]=f[R+4>>2];f[V+8>>2]=f[R+8>>2];break}}}else{x=0;Ka(5,T|0,j+64|0,0,0,1);y=x;x=0;do if(y&1)j=Ya()|0;else{x=0;Ga(558,R|0,T|0);y=x;x=0;if(y&1){j=Ya()|0;if((b[T+11>>0]|0)>=0)break;Hta(f[T>>2]|0);break}j=V+11|0;if((b[j>>0]|0)<0){b[f[V>>2]>>0]=0;f[V+4>>2]=0}else{b[V>>0]=0;b[j>>0]=0}x=0;Ga(501,V|0,0);y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}f[V>>2]=f[R>>2];f[V+4>>2]=f[R+4>>2];f[V+8>>2]=f[R+8>>2];f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;if((b[T+11>>0]|0)<0)Hta(f[T>>2]|0);x=0;ta(44,82616,53456,21)|0;y=x;x=0;c:do if(y&1)p=60;else{x=0;k=ta(44,82616,40809,60)|0;y=x;x=0;if(y&1)p=60;else{x=0;Ga(536,R|0,k+(f[(f[k>>2]|0)+-12>>2]|0)|0);y=x;x=0;if(y&1)p=60;else{x=0;j=sa(994,R|0,83320)|0;y=x;x=0;do if(!(y&1)){x=0;j=sa(f[(f[j>>2]|0)+28>>2]|0,j|0,10)|0;y=x;x=0;if(y&1)break;uga(R);x=0;sa(1012,k|0,j|0)|0;y=x;x=0;if(y&1){p=60;break c}x=0;qa(341,k|0)|0;y=x;x=0;if(y&1){p=60;break c}x=0;Ia(105,S|0,V|0,0);y=x;x=0;do if(y&1)j=Ya()|0;else{x=0;j=ta(43,S|0,0,40870)|0;y=x;x=0;do if(y&1)j=Ya()|0;else{f[U>>2]=f[j>>2];f[U+4>>2]=f[j+4>>2];f[U+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;j=sa(991,U|0,40906)|0;y=x;x=0;do if(y&1)j=Ya()|0;else{f[R>>2]=f[j>>2];f[R+4>>2]=f[j+4>>2];f[R+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=R+11|0;k=b[l>>0]|0;y=k<<24>>24<0;x=0;k=ta(44,82616,(y?f[R>>2]|0:R)|0,(y?f[R+4>>2]|0:k&255)|0)|0;y=x;x=0;d:do if(y&1)p=65;else{x=0;Ga(536,T|0,k+(f[(f[k>>2]|0)+-12>>2]|0)|0);y=x;x=0;if(y&1){p=65;break}x=0;j=sa(994,T|0,83320)|0;y=x;x=0;do if(!(y&1)){x=0;j=sa(f[(f[j>>2]|0)+28>>2]|0,j|0,10)|0;y=x;x=0;if(y&1)break;uga(T);x=0;sa(1012,k|0,j|0)|0;y=x;x=0;if(y&1){p=65;break d}x=0;qa(341,k|0)|0;y=x;x=0;if(y&1){p=65;break d}if((b[l>>0]|0)<0)Hta(f[R>>2]|0);if((b[U+11>>0]|0)<0)Hta(f[U>>2]|0);if((b[S+11>>0]|0)<0)Hta(f[S>>2]|0);x=0;Ga(536,U|0,82616+(f[(f[20654]|0)+-12>>2]|0)|0);y=x;x=0;if(y&1){p=60;break c}x=0;j=sa(994,U|0,83320)|0;y=x;x=0;do if(!(y&1)){x=0;j=sa(f[(f[j>>2]|0)+28>>2]|0,j|0,10)|0;y=x;x=0;if(y&1)break;uga(U);x=0;sa(1012,82616,j|0)|0;y=x;x=0;if(y&1){p=60;break c}x=0;qa(341,82616)|0;y=x;x=0;if(y&1){p=60;break c}else break b}while(0);j=Ya()|0;uga(U);break c}while(0);j=Ya()|0;uga(T)}while(0);if((p|0)==65)j=Ya()|0;if((b[l>>0]|0)>=0)break;Hta(f[R>>2]|0)}while(0);if((b[U+11>>0]|0)>=0)break;Hta(f[U>>2]|0)}while(0);if((b[S+11>>0]|0)>=0)break;Hta(f[S>>2]|0)}while(0);break a}while(0);j=Ya()|0;uga(R)}}}while(0);if((p|0)==60)j=Ya()|0;break a}while(0);break a}while(0);f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;n=U+11|0;b[n>>0]=5;b[U>>0]=b[40730]|0;b[U+1>>0]=b[40731]|0;b[U+2>>0]=b[40732]|0;b[U+3>>0]=b[40733]|0;b[U+4>>0]=b[40734]|0;b[U+5>>0]=0;s=m;t=g;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Ga(511,o|0,h|0);y=x;x=0;do if(y&1){j=Ya()|0;p=118}else{x=0;s=R;t=m;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));j=wa(29,U|0,a|0,e|0,R|0,o|0)|0;y=x;x=0;if(!(y&1)){x=0;j=qa(f[(f[j>>2]|0)+12>>2]|0,j|0)|0;y=x;x=0;if(!(y&1)){x=0;Ga(462,T|0,j|0);y=x;x=0;if(!(y&1)){f[T>>2]=7584;j=f[o>>2]|0;if(j|0){a=o+4|0;k=f[a>>2]|0;if((k|0)!=(j|0)){do{l=k+-52|0;f[a>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[a>>2]|0}else k=l}while((k|0)!=(j|0));j=f[o>>2]|0}Hta(j)}if((b[n>>0]|0)<0)Hta(f[U>>2]|0);x=0;h=qa(318,84)|0;y=x;x=0;e:do if(y&1)p=121;else{s=S;t=g;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Fa(427,h|0);y=x;x=0;do if(y&1)j=Ya()|0;else{s=h+12|0;t=S;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));f[h>>2]=10464;b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h+56>>2]=0;j=h+60|0;f[j>>2]=10424;m=h+64|0;e=h+68|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(555,m|0,0);y=x;x=0;if(y&1){j=Ya()|0;a=I;k=f[m>>2]|0;if(k|0){l=f[e>>2]|0;if((l|0)!=(k|0)){do{U=l+-8|0;f[e>>2]=U;Kc[f[f[U>>2]>>2]&511](U);l=f[e>>2]|0}while((l|0)!=(k|0));k=f[m>>2]|0}Hta(k)}break}f[h>>2]=10240;f[j>>2]=10368;b[h+80>>0]=0;b[h+81>>0]=0;b[h+82>>0]=0;x=0;Ga(462,U|0,h|0);y=x;x=0;if(y&1){p=121;break e}f[U>>2]=9376;h=T+4|0;k=f[h>>2]|0;n=(f[k+68>>2]|0)-(f[k+64>>2]|0)>>3;f:do if(!n)p=109;else{o=U+4|0;p=S+4|0;w=K+11|0;q=P+4|0;r=M+4|0;y=H+11|0;j=0;g:while(1){x=0;Ia(106,S|0,k|0,j|0);v=x;x=0;if(v&1){p=142;break}k=f[h>>2]|0;if(!(b[k+84>>0]|0)){k=(f[o>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;x=0;a=qa(318,88)|0;v=x;x=0;if(v&1){p=143;break}s=C;t=g;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Ga(462,J|0,f[p>>2]|0);v=x;x=0;if(v&1){p=166;break}f[J>>2]=7696;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;x=0;s=R;t=C;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));La(13,a|0,R|0,J|0,K|0,0,0);v=x;x=0;if(v&1){j=1;p=167;break}x=0;Ga(462,B|0,a|0);v=x;x=0;if(v&1){j=0;p=167;break}f[B>>2]=10408;x=0;Ga(l|0,k|0,B|0);v=x;x=0;if(v&1){p=168;break}_P(B);if((b[w>>0]|0)<0)Hta(f[K>>2]|0);_P(J)}else{k=k+60|0;x=0;k=sa(f[(f[k>>2]|0)+16>>2]|0,k|0,j|0)|0;v=x;x=0;if(v&1){p=144;break}x=0;Ga(462,P|0,f[k+4>>2]|0);v=x;x=0;if(v&1){p=144;break}f[P>>2]=7696;x=0;Ga(462,M|0,f[q>>2]|0);v=x;x=0;if(v&1){p=145;break}f[M>>2]=10408;a=(f[o>>2]|0)+60|0;m=f[(f[a>>2]|0)+20>>2]|0;x=0;e=qa(318,88)|0;v=x;x=0;if(v&1){p=146;break}s=A;t=g;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Ga(462,G|0,f[p>>2]|0);v=x;x=0;if(v&1){p=147;break}f[G>>2]=7696;k=f[r>>2]|0;do if(!k){f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;l=0;k=0}else{x=0;Ga(459,H|0,k+68|0);v=x;x=0;if(v&1){p=148;break g}k=f[r>>2]|0;if(!k){l=0;k=0;break}l=(b[k+80>>0]|0)!=0;k=(b[k+81>>0]|0)!=0}while(0);x=0;s=R;t=A;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));La(13,e|0,R|0,G|0,H|0,l|0,k|0);v=x;x=0;if(v&1){j=1;p=149;break}x=0;Ga(462,z|0,e|0);v=x;x=0;if(v&1){j=0;p=149;break}f[z>>2]=10408;x=0;Ga(m|0,a|0,z|0);v=x;x=0;if(v&1){p=150;break}_P(z);if((b[y>>0]|0)<0)Hta(f[H>>2]|0);_P(G);_P(M);_P(P)}_P(S);j=j+1|0;if(j>>>0>=n>>>0){p=109;break f}k=f[h>>2]|0}switch(p|0){case 142:{j=Ya()|0;break}case 143:{j=Ya()|0;p=175;break}case 144:{j=Ya()|0;p=157;break}case 145:{j=Ya()|0;p=156;break}case 146:{j=Ya()|0;p=155;break}case 147:{j=Ya()|0;p=154;break}case 148:{j=Ya()|0;_P(G);p=154;break}case 149:{k=j;j=Ya()|0;p=151;break}case 150:{j=Ya()|0;_P(z);k=0;p=151;break}case 166:{j=Ya()|0;p=172;break}case 167:{k=j;j=Ya()|0;p=169;break}case 168:{j=Ya()|0;_P(B);k=0;p=169;break}}do if((p|0)==151)if((b[y>>0]|0)<0){Hta(f[H>>2]|0);_P(G);if(k){p=154;break}else{p=155;break}}else{_P(G);if(k){p=154;break}else{p=155;break}}else if((p|0)==169)if((b[w>>0]|0)<0){Hta(f[K>>2]|0);_P(J);if(k){p=172;break}else{p=175;break}}else{_P(J);if(k){p=172;break}else{p=175;break}}while(0);if((p|0)==154){Hta(e);p=155}else if((p|0)==172){Hta(a);p=175}if((p|0)==155){_P(M);p=156}if((p|0)==156){_P(P);p=157}if((p|0)==157)p=175;if((p|0)==175)_P(S)}while(0);if((p|0)==109){x=0;l=qa(318,100)|0;P=x;x=0;h:do if(P&1)j=Ya()|0;else{s=E;t=g;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));x=0;Ga(459,L|0,V|0);P=x;x=0;do if(P&1)j=Ya()|0;else{x=0;Ga(462,F|0,f[U+4>>2]|0);P=x;x=0;if(P&1){j=Ya()|0;k=1}else{f[F>>2]=9376;x=0;s=R;t=E;v=s+40|0;do{f[s>>2]=f[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(v|0));Ja(22,l|0,R|0,L|0,F|0);P=x;x=0;do if(P&1)j=1;else{x=0;Ga(462,S|0,l|0);P=x;x=0;if(P&1){j=0;break}f[S>>2]=16816;_P(F);if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);x=0;Ja(15,R|0,d|0,c|0,i|0);P=x;x=0;if(P&1)j=Ya()|0;else{l=S+4|0;j=f[l>>2]|0;b[j+88>>0]=1;i:do if(!D)p=202;else{x=0;Ga(462,O|0,D|0);P=x;x=0;if(P&1){p=200;break}f[O>>2]=10852;f[j+96>>2]=0;k=j+80|0;j=j+84|0;if(!(f[j>>2]|0))p=188;else{x=0;Fa(429,k|0);P=x;x=0;if(!(P&1))p=188}do if((p|0)==188){f[j>>2]=f[O+4>>2];x=0;Fa(430,k|0);P=x;x=0;if(P&1)break;x=0;Ga(462,N|0,f[j>>2]|0);P=x;x=0;if(P&1)break;f[N>>2]=10852;_P(N);_P(O);j=f[l>>2]|0;p=202;break i}while(0);j=Ya()|0;_P(O)}while(0);do if((p|0)==202){x=0;j=sa(f[(f[j>>2]|0)+56>>2]|0,j|0,R+12|0)|0;P=x;x=0;if(P&1){p=200;break}dy(R);_P(S);_P(U);_P(T);if((b[V+11>>0]|0)>=0){u=Q;return j|0}Hta(f[V>>2]|0);u=Q;return j|0}while(0);if((p|0)==200)j=Ya()|0;dy(R)}_P(S);break h}while(0);S=Ya()|0;_P(F);k=j;j=S}if((b[L+11>>0]|0)<0){Hta(f[L>>2]|0);if(k)break;else break h}else if(k)break;else break h}while(0);Hta(l)}while(0)}_P(U);break e}while(0);Hta(h)}while(0);if((p|0)==121)j=Ya()|0;_P(T);break}}}j=Ya()|0;m=I;k=f[o>>2]|0;if(!k)p=118;else{e=o+4|0;l=f[e>>2]|0;if((l|0)!=(k|0)){do{a=l+-52|0;f[e>>2]=a;l=l+-12|0;if((b[l+11>>0]|0)<0){Hta(f[l>>2]|0);l=f[e>>2]|0}else l=a}while((l|0)!=(k|0));k=f[o>>2]|0}Hta(k);p=118}}while(0);if((p|0)==118)if((b[n>>0]|0)<0)Hta(f[U>>2]|0);break}}j=Ya()|0;if((b[k>>0]|0)<0)Hta(f[R>>2]|0)}while(0);if((b[V+11>>0]|0)>=0)jb(j|0);Hta(f[V>>2]|0);jb(j|0);return 0} +function Vc(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0.0;f[fc>>2]=a;c=fc+8|0;g=j[a+2>>1]|0;fc=fc+(g+1<<3)|0;if((ec|0)!=2){}else{a=(f[c-4>>2]|0)-8|0}a=a+4|0;while(1){a=a+4|0;e=f[a>>2]|0;g=e>>8&255;i=e>>16&255;k=e>>>24;switch(e&255){case 0:f[c+(g<<3)>>2]=f[c+(i<<3)>>2]|0;break;case 1:f[c+(g<<3)>>2]=e>>16;break;case 2:a=a+4|0;f[c+(g<<3)>>2]=f[a>>2]|0;break;case 3:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)+(f[c+(k<<3)>>2]|0)|0;break;case 4:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)-(f[c+(k<<3)>>2]|0)|0;break;case 11:f[c+(g<<3)>>2]=~(f[c+(i<<3)>>2]|0);break;case 13:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)==(f[c+(k<<3)>>2]|0)|0;break;case 16:f[c+(g<<3)>>2]=f[c+(i<<3)>>2]>>>0>2]>>>0|0;break;case 19:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)&(f[c+(k<<3)>>2]|0);break;case 20:f[c+(g<<3)>>2]=f[c+(i<<3)>>2]|0|(f[c+(k<<3)>>2]|0);break;case 25:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)+(e>>24)|0;break;case 26:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)-(e>>24)|0;break;case 27:i=X(f[c+(i<<3)>>2]|0,e>>24)|0;f[c+(g<<3)>>2]=i;break;case 28:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)/(e>>24)|0;break;case 32:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)==e>>24|0;break;case 33:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)!=e>>24|0;break;case 34:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)>24|0;break;case 35:f[c+(g<<3)>>2]=f[c+(i<<3)>>2]>>>0>>0|0;break;case 38:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)&e>>24;break;case 39:f[c+(g<<3)>>2]=f[c+(i<<3)>>2]|0|e>>24;break;case 40:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)^e>>24;break;case 41:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)<>2]=(f[c+(i<<3)>>2]|0)>>k;break;case 43:f[c+(g<<3)>>2]=(f[c+(i<<3)>>2]|0)>>>k;break;case 45:if((f[c+(i<<3)>>2]|0)==(f[c+(k<<3)>>2]|0)){a=a+4|0}else{a=f[a+4>>2]|0;a=a-4|0;continue}break;case 46:if((f[c+(i<<3)>>2]|0)!=(f[c+(k<<3)>>2]|0)){a=a+4|0}else{a=f[a+4>>2]|0;a=a-4|0;continue}break;case 47:if((f[c+(i<<3)>>2]|0)<(f[c+(k<<3)>>2]|0)){a=a+4|0}else{a=f[a+4>>2]|0;a=a-4|0;continue}break;case 48:if(f[c+(i<<3)>>2]>>>0>2]>>>0){a=a+4|0}else{a=f[a+4>>2]|0;a=a-4|0;continue}break;case 49:if((f[c+(i<<3)>>2]|0)<=(f[c+(k<<3)>>2]|0)){a=a+4|0}else{a=f[a+4>>2]|0;a=a-4|0;continue}break;case 50:if(f[c+(i<<3)>>2]>>>0<=f[c+(k<<3)>>2]>>>0){a=a+4|0}else{a=f[a+4>>2]|0;a=a-4|0;continue}break;case 52:if((f[c+(i<<3)>>2]|0)==(f[c+(k<<3)>>2]|0)){a=f[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 53:if((f[c+(i<<3)>>2]|0)!=(f[c+(k<<3)>>2]|0)){a=f[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 54:if((f[c+(i<<3)>>2]|0)<(f[c+(k<<3)>>2]|0)){a=f[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 55:if(f[c+(i<<3)>>2]>>>0>2]>>>0){a=f[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 56:if((f[c+(i<<3)>>2]|0)<=(f[c+(k<<3)>>2]|0)){a=f[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 57:if(f[c+(i<<3)>>2]>>>0<=f[c+(k<<3)>>2]>>>0){a=f[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 59:p[c+(g<<3)>>3]=+(e>>16);break;case 78:f[c+(g<<3)>>2]=b[f[c+(i<<3)>>2]>>0];break;case 82:f[c+(g<<3)>>2]=f[f[c+(i<<3)>>2]>>2];break;case 83:b[f[c+(g<<3)>>2]>>0]=f[c+(i<<3)>>2]|0;break;case 85:f[f[c+(g<<3)>>2]>>2]=f[c+(i<<3)>>2]|0;break;case 94:f[c+(g<<3)>>2]=f[(f[c+(i<<3)>>2]|0)+(f[c+(k<<3)>>2]|0)>>2];break;case 95:b[(f[c+(g<<3)>>2]|0)+(f[c+(i<<3)>>2]|0)>>0]=f[c+(k<<3)>>2]|0;break;case 97:f[(f[c+(g<<3)>>2]|0)+(f[c+(i<<3)>>2]|0)>>2]=f[c+(k<<3)>>2]|0;break;case 102:f[c+(g<<3)>>2]=b[(f[c+(i<<3)>>2]|0)+(e>>24)>>0];break;case 104:f[c+(g<<3)>>2]=d[(f[c+(i<<3)>>2]|0)+(e>>24)>>1];break;case 106:f[c+(g<<3)>>2]=f[(f[c+(i<<3)>>2]|0)+(e>>24)>>2];break;case 107:b[(f[c+(g<<3)>>2]|0)+(i<<24>>24)>>0]=f[c+(k<<3)>>2]|0;break;case 108:d[(f[c+(g<<3)>>2]|0)+(i<<24>>24)>>1]=f[c+(k<<3)>>2]|0;break;case 109:f[(f[c+(g<<3)>>2]|0)+(i<<24>>24)>>2]=f[c+(k<<3)>>2]|0;break;case 116:f[f[c+(g<<3)>>2]>>2]=f[f[c+(i<<3)>>2]>>2]|0;break;case 119:a=a+(e>>16<<2)|0;a=a-4|0;continue;break;case 120:if(f[c+(g<<3)>>2]|0){a=a+(e>>16<<2)|0;a=a-4|0;continue}break;case 121:if(!(f[c+(g<<3)>>2]|0)){a=a+(e>>16<<2)|0;a=a-4|0;continue}break;case 125:a=a+4|0;f[c+(g<<3)>>2]=f[c+(i<<3)>>2]|0?f[c+(k<<3)>>2]|0:f[c+((h[a>>0]|0)<<3)>>2]|0;break;case 128:f[c+(g<<3)>>2]=I;break;case 130:switch(i|0){case 0:{f[c+(g<<3)>>2]=x;continue}default:}break;case 132:switch(e>>8&255){case 0:{x=f[c+(k<<3)>>2]|0;continue}default:}break;case 134:k=h[(f[a+4>>2]|0)+1|0]|0;i=0;if((ec|0)!=2){while((i|0)<(k|0)){f[fc+(i<<3)+8>>2]=f[c+(h[a+8+i>>0]<<3)>>2]|0;f[fc+(i<<3)+12>>2]=f[c+(h[a+8+i>>0]<<3)+4>>2]|0;i=i+1|0}}f[c-4>>2]=a;Vc(f[a+4>>2]|0);if((ec|0)==1){fc=c-8|0;return}f[c+(g<<3)>>2]=f[fc>>2]|0;f[c+(g<<3)+4>>2]=f[fc+4>>2]|0;a=a+(4+k+3>>2<<2)|0;break;case 135:switch(e>>>16|0){case 0:{f[c-4>>2]=a;qV(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 1:{f[c-4>>2]=a;Fa(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 2:{f[c-4>>2]=a;k=ta(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 3:{f[c-4>>2]=a;Ga(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 4:{f[c-4>>2]=a;k=Ya()|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;continue}case 5:{f[c-4>>2]=a;_P(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 6:{f[c-4>>2]=a;Ia(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 7:{f[c-4>>2]=a;k=qa(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 8:{f[c-4>>2]=a;Hta(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 9:{f[c-4>>2]=a;Ka(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0,f[c+(h[a+9>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+8|0;continue}case 10:{f[c-4>>2]=a;Ja(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+8|0;continue}case 11:{f[c-4>>2]=a;jb(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 12:{f[c-4>>2]=a;k=VN(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 13:{f[c-4>>2]=a;SG(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 14:{f[c-4>>2]=a;Kc[f[c+(h[a+4>>0]<<3)>>2]&511](f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 15:{f[c-4>>2]=a;La(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0,f[c+(h[a+9>>0]<<3)>>2]|0,f[c+(h[a+10>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+8|0;continue}case 16:{f[c-4>>2]=a;k=za(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0,f[c+(h[a+9>>0]<<3)>>2]|0,f[c+(h[a+10>>0]<<3)>>2]|0,f[c+(h[a+11>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+8|0;continue}case 17:{f[c-4>>2]=a;k=hL(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 18:{f[c-4>>2]=a;k=Lu(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 19:{f[c-4>>2]=a;xi(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+8|0;continue}case 20:{f[c-4>>2]=a;k=Za(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 21:{f[c-4>>2]=a;soa(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 22:{f[c-4>>2]=a;k=wa(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0,f[c+(h[a+9>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+8|0;continue}case 23:{f[c-4>>2]=a;k=sa(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 24:{f[c-4>>2]=a;Na(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0,f[c+(h[a+9>>0]<<3)>>2]|0,f[c+(h[a+10>>0]<<3)>>2]|0,f[c+(h[a+11>>0]<<3)>>2]|0,f[c+(h[a+12>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+12|0;continue}case 25:{f[c-4>>2]=a;k=sra(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 26:{f[c-4>>2]=a;k=yc[f[c+(h[a+4>>0]<<3)>>2]&255](f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 27:{f[c-4>>2]=a;ND(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 28:{f[c-4>>2]=a;Bca(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 29:{f[c-4>>2]=a;KU(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 30:{f[c-4>>2]=a;uma(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 31:{f[c-4>>2]=a;hO(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 32:{f[c-4>>2]=a;BM(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 33:{f[c-4>>2]=a;aA(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 34:{f[c-4>>2]=a;ds(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 35:{f[c-4>>2]=a;dh(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 36:{f[c-4>>2]=a;k=yN(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 37:{f[c-4>>2]=a;ZA(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 38:{f[c-4>>2]=a;k=wR(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 39:{f[c-4>>2]=a;gB(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 40:{f[c-4>>2]=a;dP(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 41:{f[c-4>>2]=a;k=iO(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 42:{f[c-4>>2]=a;xp(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 43:{f[c-4>>2]=a;k=Ta(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 44:{f[c-4>>2]=a;bb(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 45:{f[c-4>>2]=a;Gv(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 46:{f[c-4>>2]=a;Ip(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 47:{f[c-4>>2]=a;Kk(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 48:{f[c-4>>2]=a;vh(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 49:{f[c-4>>2]=a;k=Eo(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 50:{f[c-4>>2]=a;CG(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 51:{f[c-4>>2]=a;zP(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 52:{f[c-4>>2]=a;k=Fy(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 53:{f[c-4>>2]=a;k=fv(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 54:{f[c-4>>2]=a;CO(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 55:{f[c-4>>2]=a;$h(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 56:{f[c-4>>2]=a;k=ua(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0,f[c+(h[a+8>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+8|0;continue}case 57:{f[c-4>>2]=a;Dra(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 58:{f[c-4>>2]=a;k=Ua(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 59:{f[c-4>>2]=a;Ea(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 60:{f[c-4>>2]=a;Va(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 61:{f[c-4>>2]=a;Wa();if((ec|0)==1){fc=c-8|0;return};continue}case 62:{f[c-4>>2]=a;k=_4(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 63:{f[c-4>>2]=a;k=yo(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 64:{f[c-4>>2]=a;k=jsa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 65:{f[c-4>>2]=a;k=To(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 66:{f[c-4>>2]=a;k=ksa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 67:{f[c-4>>2]=a;k=Isa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 68:{f[c-4>>2]=a;Ina(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 69:{f[c-4>>2]=a;Xna(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 70:{f[c-4>>2]=a;_ka(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 71:{f[c-4>>2]=a;Gka(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 72:{f[c-4>>2]=a;sja(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 73:{f[c-4>>2]=a;tja(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 74:{f[c-4>>2]=a;sia(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 75:{f[c-4>>2]=a;hoa(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 76:{f[c-4>>2]=a;Jna(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 77:{f[c-4>>2]=a;uX(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 78:{f[c-4>>2]=a;tX(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 79:{f[c-4>>2]=a;jX(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 80:{f[c-4>>2]=a;PW(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 81:{f[c-4>>2]=a;OW(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 82:{f[c-4>>2]=a;k=Lqa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 83:{f[c-4>>2]=a;k=_U(f[c+(h[a+4>>0]<<3)>>2]|0,+p[c+(h[a+5>>0]<<3)>>3],f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 84:{f[c-4>>2]=a;cfa(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 85:{f[c-4>>2]=a;Xma(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 86:{f[c-4>>2]=a;k=Mq(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 87:{f[c-4>>2]=a;k=Wpa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 88:{f[c-4>>2]=a;k=ppa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 89:{f[c-4>>2]=a;k=Gpa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 90:{f[c-4>>2]=a;k=Jb(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 91:{f[c-4>>2]=a;k=vqa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 92:{f[c-4>>2]=a;k=Opa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 93:{f[c-4>>2]=a;k=Ib(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 94:{f[c-4>>2]=a;kka(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 95:{f[c-4>>2]=a;Z4(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 96:{f[c-4>>2]=a;k=nm(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 97:{f[c-4>>2]=a;hF(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 98:{f[c-4>>2]=a;Cm(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 99:{f[c-4>>2]=a;k=Cy(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 100:{f[c-4>>2]=a;k=kv(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 101:{f[c-4>>2]=a;k=VX(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 102:{f[c-4>>2]=a;k=Gma(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 103:{f[c-4>>2]=a;k=tea(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 104:{f[c-4>>2]=a;k=_qa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 105:{f[c-4>>2]=a;k=Hb(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 106:{f[c-4>>2]=a;Ob(f[c+(h[a+4>>0]<<3)>>2]|0);if((ec|0)==1){fc=c-8|0;return};a=a+4|0;continue}case 107:{f[c-4>>2]=a;k=Zqa(f[c+(h[a+4>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 108:{f[c-4>>2]=a;k=GN(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}case 109:{f[c-4>>2]=a;k=uO(f[c+(h[a+4>>0]<<3)>>2]|0,f[c+(h[a+5>>0]<<3)>>2]|0,f[c+(h[a+6>>0]<<3)>>2]|0,f[c+(h[a+7>>0]<<3)>>2]|0)|0;if((ec|0)==1){fc=c-8|0;return}else f[c+(g<<3)>>2]=k;a=a+4|0;continue}default:}break;case 136:f[c+(g<<3)>>2]=u;break;case 137:u=f[c+(g<<3)>>2]|0;break;case 138:k=f[c+(k<<3)>>2]|0;g=(f[c+(g<<3)>>2]|0)-(f[c+(i<<3)>>2]|0)>>>0;if(g>>>0>=k>>>0){a=a+(k<<2)|0;continue}a=f[a+4+(g<<2)>>2]|0;a=a-4|0;continue;break;case 139:fc=c-8|0;f[fc>>2]=f[c+(g<<3)>>2]|0;f[fc+4>>2]=f[c+(g<<3)+4>>2]|0;return;break;default:}}}function Wc(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0;Ca=0;Ba=u;u=u+832|0;Da=Ba+800|0;za=Ba+772|0;ya=Ba+744|0;Ha=Ba+716|0;Ea=Ba+688|0;xa=Ba+648|0;ua=Ba+584|0;F=Ba+680|0;G=Ba+632|0;B=Ba+616|0;ra=Ba+556|0;C=Ba+520|0;D=Ba+504|0;E=Ba+488|0;pa=Ba+528|0;O=Ba+480|0;K=Ba+472|0;L=Ba+456|0;U=Ba+448|0;R=Ba+440|0;S=Ba+368|0;T=Ba+360|0;X=Ba+352|0;Y=Ba+344|0;V=Ba+336|0;W=Ba+328|0;Z=Ba+288|0;_=Ba+280|0;oa=Ba+408|0;na=Ba+380|0;ma=Ba+296|0;la=Ba+248|0;ca=Ba+240|0;$=Ba+232|0;aa=Ba+216|0;ba=Ba+208|0;fa=Ba+200|0;ga=Ba+192|0;da=Ba+184|0;ea=Ba+144|0;ha=Ba+136|0;ia=Ba+128|0;ka=Ba+152|0;ja=Ba+104|0;p=Ba+120|0;M=Ba+112|0;N=Ba+96|0;q=Ba+88|0;J=Ba+80|0;P=Ba+72|0;Q=Ba+64|0;A=Ba+56|0;y=Ba+48|0;z=Ba+32|0;w=Ba+24|0;s=Ba+16|0;v=Ba;UE(Ha);x=0;Fa(451,Ea|0);Aa=x;x=0;if(Aa&1)g=Ya()|0;else{x=0;Ga(674,c|0,Ha|0);Aa=x;x=0;a:do if(Aa&1)Ca=17;else{x=0;Ga(674,d|0,Ea|0);Aa=x;x=0;if(Aa&1)Ca=17;else{H=Ha+20|0;g=f[H>>2]|0;Aa=Ha+24|0;i=f[Aa>>2]|0;j=(i|0)==0;if(!j)ega(i);do if(!(f[g+20>>2]|0)){g=f[Ea+20>>2]|0;h=f[Ea+24>>2]|0;if(!h){g=(f[g+20>>2]|0)==0;break}else{ega(h);g=(f[g+20>>2]|0)==0;QZ(h);break}}else g=0;while(0);if(!j)QZ(i);b:do if(g){f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];g=a+12|0;x=0;Ga(462,g|0,f[e+16>>2]|0);Da=x;x=0;if(Da&1){Ca=17;break a}f[g>>2]=15556;f[a+20>>2]=f[e+20>>2];g=f[e+24>>2]|0;f[a+24>>2]=g;if(g|0)ega(g)}else{g=f[H>>2]|0;i=f[Aa>>2]|0;j=(i|0)==0;if(!j)ega(i);do if((f[g+20>>2]|0)>>>0>1)g=1;else{g=f[Ea+20>>2]|0;h=f[Ea+24>>2]|0;if(!h){g=(f[g+20>>2]|0)>>>0>1;break}else{ega(h);g=(f[g+20>>2]|0)>>>0>1;QZ(h);break}}while(0);if(!j)QZ(i);if(g){x=0;Ja(50,ua|0,Ha|0,Ea|0,xa|0);d=x;x=0;if(d&1)g=Ya()|0;else{x=0;g=sa(1052,ua|0,Ha|0)|0;d=x;x=0;c:do if(d&1)Ca=34;else{do if(g)Ca=35;else{x=0;g=sa(1052,ua|0,Ea|0)|0;d=x;x=0;if(d&1){Ca=34;break c}if(g){Ca=35;break}x=0;Fa(453,a|0);Da=x;x=0;if(Da&1){Ca=34;break c}}while(0);do if((Ca|0)==35){g=f[H>>2]|0;i=f[Aa>>2]|0;j=(i|0)==0;if(!j)ega(i);k=f[g+20>>2]|0;l=Ea+20|0;g=f[l>>2]|0;m=Ea+24|0;h=f[m>>2]|0;if(!h)g=f[g+20>>2]|0;else{ega(h);g=f[g+20>>2]|0;QZ(h)}if(!j)QZ(i);q=e+20|0;h=f[q>>2]|0;r=e+24|0;s=f[r>>2]|0;t=(s|0)==0;do if(k>>>0>g>>>0){do if(t){g=h;i=0;p=1}else{ega(s);i=f[r>>2]|0;g=f[q>>2]|0;if(!i){i=0;p=1;break}ega(i);p=0}while(0);c=g;d=f[c+4>>2]|0;g=f[c+16>>2]|0;j=d+(((g>>>0)/146|0)<<2)|0;if((f[c+8>>2]|0)==(d|0))g=0;else g=(f[j>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[F>>2]=j;f[F+4>>2]=g;g=f[H>>2]|0;n=f[Aa>>2]|0;o=(n|0)==0;if(!o)ega(n);j=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;d=f[g+4>>2]|0;k=d+(((j>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(d|0))g=0;else g=(f[k>>2]|0)+(((j>>>0)%146|0)*28|0)|0;l=k;f[G>>2]=l;f[G+4>>2]=g;f[G+8>>2]=l;f[G+12>>2]=g;g=f[H>>2]|0;l=f[Aa>>2]|0;m=(l|0)==0;if(!m)ega(l);d=f[g+4>>2]|0;j=f[g+16>>2]|0;k=d+(((j>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(d|0))g=0;else g=(f[k>>2]|0)+(((j>>>0)%146|0)*28|0)|0;d=k;f[B>>2]=d;f[B+4>>2]=g;f[B+8>>2]=d;f[B+12>>2]=g;x=0;f[ya>>2]=f[F>>2];f[ya+4>>2]=f[F+4>>2];f[za>>2]=f[G>>2];f[za+4>>2]=f[G+4>>2];f[za+8>>2]=f[G+8>>2];f[za+12>>2]=f[G+12>>2];f[Da>>2]=f[B>>2];f[Da+4>>2]=f[B+4>>2];f[Da+8>>2]=f[B+8>>2];f[Da+12>>2]=f[B+12>>2];La(26,ra|0,h|0,ya|0,za|0,Da|0,0);Da=x;x=0;if(Da&1){g=Ya()|0;if(!m)QZ(l);if(!o)QZ(n);if(!p)QZ(i);if(t)break c;QZ(s);break c}else{if(!m)QZ(l);if(!o)QZ(n);if(!p)QZ(i);if(t)break;QZ(s);break}}else{do if(t){g=h;i=0;p=1}else{ega(s);i=f[r>>2]|0;g=f[q>>2]|0;if(!i){i=0;p=1;break}ega(i);p=0}while(0);c=g;d=f[c+4>>2]|0;g=f[c+16>>2]|0;j=d+(((g>>>0)/146|0)<<2)|0;if((f[c+8>>2]|0)==(d|0))g=0;else g=(f[j>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[C>>2]=j;f[C+4>>2]=g;g=f[l>>2]|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);j=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;d=f[g+4>>2]|0;k=d+(((j>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(d|0))g=0;else g=(f[k>>2]|0)+(((j>>>0)%146|0)*28|0)|0;j=k;f[D>>2]=j;f[D+4>>2]=g;f[D+8>>2]=j;f[D+12>>2]=g;j=f[l>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);d=f[j+4>>2]|0;g=f[j+16>>2]|0;k=d+(((g>>>0)/146|0)<<2)|0;if((f[j+8>>2]|0)==(d|0))g=0;else g=(f[k>>2]|0)+(((g>>>0)%146|0)*28|0)|0;d=k;f[E>>2]=d;f[E+4>>2]=g;f[E+8>>2]=d;f[E+12>>2]=g;x=0;f[ya>>2]=f[C>>2];f[ya+4>>2]=f[C+4>>2];f[za>>2]=f[D>>2];f[za+4>>2]=f[D+4>>2];f[za+8>>2]=f[D+8>>2];f[za+12>>2]=f[D+12>>2];f[Da>>2]=f[E>>2];f[Da+4>>2]=f[E+4>>2];f[Da+8>>2]=f[E+8>>2];f[Da+12>>2]=f[E+12>>2];La(26,pa|0,h|0,ya|0,za|0,Da|0,0);Da=x;x=0;if(Da&1){g=Ya()|0;if(!m)QZ(l);if(!o)QZ(n);if(!p)QZ(i);if(t)break c;QZ(s);break c}else{if(!m)QZ(l);if(!o)QZ(n);if(!p)QZ(i);if(t)break;QZ(s);break}}while(0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];g=a+12|0;x=0;Ga(462,g|0,f[e+16>>2]|0);Da=x;x=0;if(Da&1){Ca=34;break c}f[g>>2]=15556;f[a+20>>2]=f[q>>2];g=f[r>>2]|0;f[a+24>>2]=g;if(!g)break;ega(g)}while(0);g=f[ua+24>>2]|0;if(g|0)QZ(g);_P(ua+12|0);break b}while(0);if((Ca|0)==34)g=Ya()|0;h=f[ua+24>>2]|0;if(h|0)QZ(h);_P(ua+12|0)}break a}g=f[H>>2]|0;i=f[Aa>>2]|0;j=(i|0)==0;if(!j)ega(i);do if(!(f[g+20>>2]|0))g=0;else{g=f[Ea+20>>2]|0;h=f[Ea+24>>2]|0;if(!h){g=(f[g+20>>2]|0)!=0;break}else{ega(h);g=(f[g+20>>2]|0)!=0;QZ(h);break}}while(0);if(!j)QZ(i);if(!g){g=f[H>>2]|0;h=f[Aa>>2]|0;do if(!h){if(!(f[g+20>>2]|0))break;s=Da;h=0;k=1;Ca=1049}else{ega(h);za=(f[g+20>>2]|0)==0;QZ(h);if(za)break;g=f[H>>2]|0;h=f[Aa>>2]|0;if(!h){s=Da;h=0;k=1;Ca=1049;break}ega(h);s=Da;k=0;Ca=1049}while(0);if((Ca|0)==1049){j=f[g+16>>2]|0;i=f[(f[g+4>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;za=i+(j*28|0)|0;g=za|0;f[s>>2]=f[g>>2];f[s+4>>2]=f[g+4>>2];f[s+8>>2]=f[g+8>>2];g=Da+12|0;x=0;Ga(462,g|0,f[za+16>>2]|0);za=x;x=0;do if(za&1){g=Ya()|0;if(k)break;QZ(h)}else{f[g>>2]=15556;r=Da+20|0;g=i+(j*28|0)|0;f[r>>2]=f[g+20>>2];t=Da+24|0;g=f[g+24>>2]|0;f[t>>2]=g;if(g|0)ega(g);if(!k)QZ(h);d:do if((f[Da+8>>2]|0)==1){g=d+20|0;h=f[g>>2]|0;o=d+24|0;p=f[o>>2]|0;q=(p|0)==0;if(!q)ega(p);e:do if(!(f[h+20>>2]|0))g=0;else{g=f[g>>2]|0;m=f[o>>2]|0;n=(m|0)==0;if(!n)ega(m);za=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;x=0;Ga(462,A|0,f[(f[(f[g+4>>2]|0)+(((za>>>0)/146|0)<<2)>>2]|0)+(((za>>>0)%146|0)*28|0)+16>>2]|0);za=x;x=0;if(za&1)g=Ya()|0;else{f[A>>2]=15556;h=f[A+4>>2]|0;i=f[(f[h>>2]|0)+144>>2]|0;g=f[c+20>>2]|0;k=f[c+24>>2]|0;l=(k|0)==0;if(!l)ega(k);za=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;x=0;Ga(462,y|0,f[(f[(f[g+4>>2]|0)+(((za>>>0)/146|0)<<2)>>2]|0)+(((za>>>0)%146|0)*28|0)+16>>2]|0);za=x;x=0;do if(za&1)g=Ya()|0;else{f[y>>2]=15556;j=z+11|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;x=0;g=ta(i|0,h|0,y|0,z|0)|0;za=x;x=0;if(za&1){g=Ya()|0;if((b[j>>0]|0)<0)Hta(f[z>>2]|0);_P(y);break}if((b[j>>0]|0)<0)Hta(f[z>>2]|0);_P(y);if(!l)QZ(k);_P(A);if(n)break e;QZ(m);break e}while(0);if(!l)QZ(k);_P(A)}if(!n)QZ(m);if(q)break d;QZ(p);break d}while(0);if(q){if(!g){Ca=1097;break}}else{QZ(p);if(!g){Ca=1097;break}}k=f[d+20>>2]|0;l=f[o>>2]|0;m=(l|0)==0;if(!m)ega(l);g=k+20|0;n=k+16|0;i=(f[g>>2]|0)+-1+(f[n>>2]|0)|0;o=k+4|0;h=f[(f[o>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;j=f[h+(i*28|0)+24>>2]|0;if(j|0)QZ(j);_P(h+(i*28|0)+12|0);za=f[g>>2]|0;f[g>>2]=za+-1;g=k+8|0;h=f[g>>2]|0;Ca=h-(f[o>>2]|0)>>2;if((1-za-(f[n>>2]|0)+((Ca|0)==0?0:(Ca*146|0)+-1|0)|0)>>>0>291){Hta(f[h+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}if(m){Ca=1097;break}QZ(l);Ca=1097}else Ca=1097;while(0);f:do if((Ca|0)==1097){j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);za=x;x=0;if(za&1)break;g=f[l>>2]|0;Ca=1102}else Ca=1102;while(0);do if((Ca|0)==1102){za=f[k+4>>2]|0;i=za+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(za|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[s>>2];f[g+4>>2]=f[s+4>>2];f[g+8>>2]=f[s+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);za=x;x=0;if(za&1)break;f[g>>2]=15556;f[h+-8>>2]=f[r>>2];g=f[t>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;za=k+20|0;f[za>>2]=(f[za>>2]|0)+1;if(!o)QZ(n);n=f[j>>2]|0;o=f[m>>2]|0;p=(o|0)==0;if(!p)ega(o);m=c+20|0;g=f[m>>2]|0;q=c+24|0;r=f[q>>2]|0;s=(r|0)==0;if(!s)ega(r);k=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;j=f[(f[g+4>>2]|0)+(((k>>>0)/146|0)<<2)>>2]|0;k=(k>>>0)%146|0;l=n+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,n|0);za=x;x=0;if(za&1)break;g=f[l>>2]|0;Ca=1118}else Ca=1118;while(0);do if((Ca|0)==1118){za=f[n+4>>2]|0;i=za+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[n+8>>2]|0)==(za|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;za=j+(k*28|0)|0;ya=za|0;f[g>>2]=f[ya>>2];f[g+4>>2]=f[ya+4>>2];f[g+8>>2]=f[ya+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[za+16>>2]|0);za=x;x=0;if(za&1)break;f[g>>2]=15556;g=j+(k*28|0)|0;f[h+-8>>2]=f[g+20>>2];g=f[g+24>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;za=n+20|0;f[za>>2]=(f[za>>2]|0)+1;if(!s)QZ(r);if(!p)QZ(o);k=f[m>>2]|0;l=f[q>>2]|0;m=(l|0)==0;if(!m)ega(l);g=k+20|0;n=k+16|0;i=(f[g>>2]|0)+-1+(f[n>>2]|0)|0;o=k+4|0;h=f[(f[o>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;j=f[h+(i*28|0)+24>>2]|0;if(j|0)QZ(j);_P(h+(i*28|0)+12|0);ya=f[g>>2]|0;f[g>>2]=ya+-1;g=k+8|0;h=f[g>>2]|0;za=h-(f[o>>2]|0)>>2;if((1-ya-(f[n>>2]|0)+((za|0)==0?0:(za*146|0)+-1|0)|0)>>>0>291){Hta(f[h+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}if(!m)QZ(l);x=0;Ja(51,a|0,c|0,d|0,e|0);a=x;x=0;if(a&1){g=Ya()|0;break f}g=f[t>>2]|0;if(g|0)QZ(g);_P(Da+12|0);break b}while(0);g=Ya()|0;if(!s)QZ(r);if(p)break f;QZ(o);break f}while(0);g=Ya()|0;if(o)break;QZ(n)}while(0);h=f[t>>2]|0;if(h|0)QZ(h);_P(Da+12|0)}while(0);break a}g=f[Ea+20>>2]|0;j=f[Ea+24>>2]|0;k=(j|0)==0;if(!k)ega(j);i=f[g+16>>2]|0;h=f[(f[g+4>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;za=h+(i*28|0)|0;g=za|0;f[Da>>2]=f[g>>2];f[Da+4>>2]=f[g+4>>2];f[Da+8>>2]=f[g+8>>2];g=Da+12|0;x=0;Ga(462,g|0,f[za+16>>2]|0);za=x;x=0;do if(za&1){g=Ya()|0;if(k)break;QZ(j)}else{f[g>>2]=15556;r=Da+20|0;g=h+(i*28|0)|0;f[r>>2]=f[g+20>>2];t=Da+24|0;g=f[g+24>>2]|0;f[t>>2]=g;if(g|0)ega(g);if(!k)QZ(j);g:do if((f[Da+8>>2]|0)==1){g=c+20|0;h=f[g>>2]|0;o=c+24|0;p=f[o>>2]|0;q=(p|0)==0;if(!q)ega(p);h:do if(!(f[h+20>>2]|0))g=0;else{g=f[g>>2]|0;m=f[o>>2]|0;n=(m|0)==0;if(!n)ega(m);za=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;x=0;Ga(462,w|0,f[(f[(f[g+4>>2]|0)+(((za>>>0)/146|0)<<2)>>2]|0)+(((za>>>0)%146|0)*28|0)+16>>2]|0);za=x;x=0;if(za&1)g=Ya()|0;else{f[w>>2]=15556;h=f[w+4>>2]|0;i=f[(f[h>>2]|0)+144>>2]|0;g=f[d+20>>2]|0;k=f[d+24>>2]|0;l=(k|0)==0;if(!l)ega(k);za=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;x=0;Ga(462,s|0,f[(f[(f[g+4>>2]|0)+(((za>>>0)/146|0)<<2)>>2]|0)+(((za>>>0)%146|0)*28|0)+16>>2]|0);za=x;x=0;do if(za&1)g=Ya()|0;else{f[s>>2]=15556;j=v+11|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;x=0;g=ta(i|0,h|0,s|0,v|0)|0;za=x;x=0;if(za&1){g=Ya()|0;if((b[j>>0]|0)<0)Hta(f[v>>2]|0);_P(s);break}if((b[j>>0]|0)<0)Hta(f[v>>2]|0);_P(s);if(!l)QZ(k);_P(w);if(n)break h;QZ(m);break h}while(0);if(!l)QZ(k);_P(w)}if(!n)QZ(m);if(q)break g;QZ(p);break g}while(0);if(q){if(!g){Ca=1201;break}}else{QZ(p);if(!g){Ca=1201;break}}k=f[c+20>>2]|0;l=f[o>>2]|0;m=(l|0)==0;if(!m)ega(l);g=k+20|0;n=k+16|0;i=(f[g>>2]|0)+-1+(f[n>>2]|0)|0;o=k+4|0;h=f[(f[o>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;j=f[h+(i*28|0)+24>>2]|0;if(j|0)QZ(j);_P(h+(i*28|0)+12|0);za=f[g>>2]|0;f[g>>2]=za+-1;g=k+8|0;h=f[g>>2]|0;Ca=h-(f[o>>2]|0)>>2;if((1-za-(f[n>>2]|0)+((Ca|0)==0?0:(Ca*146|0)+-1|0)|0)>>>0>291){Hta(f[h+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}if(m){Ca=1201;break}QZ(l);Ca=1201}else Ca=1201;while(0);i:do if((Ca|0)==1201){j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);za=x;x=0;if(za&1)break;g=f[l>>2]|0;Ca=1206}else Ca=1206;while(0);do if((Ca|0)==1206){za=f[k+4>>2]|0;i=za+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(za|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[Da>>2];f[g+4>>2]=f[Da+4>>2];f[g+8>>2]=f[Da+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);za=x;x=0;if(za&1)break;f[g>>2]=15556;f[h+-8>>2]=f[r>>2];g=f[t>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;za=k+20|0;f[za>>2]=(f[za>>2]|0)+1;if(!o)QZ(n);n=f[j>>2]|0;o=f[m>>2]|0;p=(o|0)==0;if(!p)ega(o);m=d+20|0;g=f[m>>2]|0;q=d+24|0;r=f[q>>2]|0;s=(r|0)==0;if(!s)ega(r);k=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;j=f[(f[g+4>>2]|0)+(((k>>>0)/146|0)<<2)>>2]|0;k=(k>>>0)%146|0;l=n+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,n|0);za=x;x=0;if(za&1)break;g=f[l>>2]|0;Ca=1222}else Ca=1222;while(0);do if((Ca|0)==1222){za=f[n+4>>2]|0;i=za+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[n+8>>2]|0)==(za|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;za=j+(k*28|0)|0;ya=za|0;f[g>>2]=f[ya>>2];f[g+4>>2]=f[ya+4>>2];f[g+8>>2]=f[ya+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[za+16>>2]|0);za=x;x=0;if(za&1)break;f[g>>2]=15556;g=j+(k*28|0)|0;f[h+-8>>2]=f[g+20>>2];g=f[g+24>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;za=n+20|0;f[za>>2]=(f[za>>2]|0)+1;if(!s)QZ(r);if(!p)QZ(o);k=f[m>>2]|0;l=f[q>>2]|0;m=(l|0)==0;if(!m)ega(l);g=k+20|0;n=k+16|0;i=(f[g>>2]|0)+-1+(f[n>>2]|0)|0;o=k+4|0;h=f[(f[o>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;j=f[h+(i*28|0)+24>>2]|0;if(j|0)QZ(j);_P(h+(i*28|0)+12|0);ya=f[g>>2]|0;f[g>>2]=ya+-1;g=k+8|0;h=f[g>>2]|0;za=h-(f[o>>2]|0)>>2;if((1-ya-(f[n>>2]|0)+((za|0)==0?0:(za*146|0)+-1|0)|0)>>>0>291){Hta(f[h+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}if(!m)QZ(l);x=0;Ja(51,a|0,c|0,d|0,e|0);a=x;x=0;if(a&1){g=Ya()|0;break i}g=f[t>>2]|0;if(g|0)QZ(g);_P(Da+12|0);break b}while(0);g=Ya()|0;if(!s)QZ(r);if(p)break i;QZ(o);break i}while(0);g=Ya()|0;if(o)break;QZ(n)}while(0);h=f[t>>2]|0;if(h|0)QZ(h);_P(Da+12|0)}while(0);break a}g=f[H>>2]|0;j=f[Aa>>2]|0;k=(j|0)==0;if(!k)ega(j);i=f[g+16>>2]|0;h=f[(f[g+4>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;wa=h+(i*28|0)|0;g=wa|0;f[Da>>2]=f[g>>2];f[Da+4>>2]=f[g+4>>2];f[Da+8>>2]=f[g+8>>2];g=Da+12|0;x=0;Ga(462,g|0,f[wa+16>>2]|0);wa=x;x=0;do if(wa&1){g=Ya()|0;if(k)break;QZ(j)}else{f[g>>2]=15556;y=Da+20|0;g=h+(i*28|0)|0;f[y>>2]=f[g+20>>2];wa=Da+24|0;g=f[g+24>>2]|0;f[wa>>2]=g;if(g|0)ega(g);if(!k)QZ(j);g=f[Ea+20>>2]|0;j=f[Ea+24>>2]|0;k=(j|0)==0;if(!k)ega(j);i=f[g+16>>2]|0;h=f[(f[g+4>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;va=h+(i*28|0)|0;g=va|0;f[za>>2]=f[g>>2];f[za+4>>2]=f[g+4>>2];f[za+8>>2]=f[g+8>>2];g=za+12|0;x=0;Ga(462,g|0,f[va+16>>2]|0);va=x;x=0;do if(va&1){g=Ya()|0;if(k)break;QZ(j)}else{f[g>>2]=15556;w=za+20|0;g=h+(i*28|0)|0;f[w>>2]=f[g+20>>2];va=za+24|0;g=f[g+24>>2]|0;f[va>>2]=g;if(g|0)ega(g);if(!k)QZ(j);t=c+20|0;g=f[t>>2]|0;v=c+24|0;j=f[v>>2]|0;k=(j|0)==0;if(!k)ega(j);i=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;h=f[(f[g+4>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;H=h+(i*28|0)|0;g=H|0;f[ya>>2]=f[g>>2];f[ya+4>>2]=f[g+4>>2];f[ya+8>>2]=f[g+8>>2];g=ya+12|0;x=0;Ga(462,g|0,f[H+16>>2]|0);H=x;x=0;do if(H&1){g=Ya()|0;if(k)break;QZ(j)}else{f[g>>2]=15556;F=ya+20|0;g=h+(i*28|0)|0;f[F>>2]=f[g+20>>2];H=ya+24|0;g=f[g+24>>2]|0;f[H>>2]=g;if(g|0)ega(g);if(!k)QZ(j);g=f[t>>2]|0;l=f[v>>2]|0;m=(l|0)==0;if(!m)ega(l);h=g+20|0;n=g+16|0;j=(f[h>>2]|0)+-1+(f[n>>2]|0)|0;o=g+4|0;i=f[(f[o>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[i+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(i+(j*28|0)+12|0);E=f[h>>2]|0;f[h>>2]=E+-1;g=g+8|0;h=f[g>>2]|0;G=h-(f[o>>2]|0)>>2;if((1-E-(f[n>>2]|0)+((G|0)==0?0:(G*146|0)+-1|0)|0)>>>0>291){Hta(f[h+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}if(!m)QZ(l);r=d+20|0;g=f[r>>2]|0;s=d+24|0;j=f[s>>2]|0;k=(j|0)==0;if(!k)ega(j);i=(f[g+20>>2]|0)+-1+(f[g+16>>2]|0)|0;h=f[(f[g+4>>2]|0)+(((i>>>0)/146|0)<<2)>>2]|0;i=(i>>>0)%146|0;G=h+(i*28|0)|0;g=G|0;f[xa>>2]=f[g>>2];f[xa+4>>2]=f[g+4>>2];f[xa+8>>2]=f[g+8>>2];g=xa+12|0;x=0;Ga(462,g|0,f[G+16>>2]|0);G=x;x=0;do if(G&1){g=Ya()|0;if(k)break;QZ(j)}else{f[g>>2]=15556;E=xa+20|0;g=h+(i*28|0)|0;f[E>>2]=f[g+20>>2];G=xa+24|0;g=f[g+24>>2]|0;f[G>>2]=g;if(g|0)ega(g);if(!k)QZ(j);g=f[r>>2]|0;l=f[s>>2]|0;m=(l|0)==0;if(!m)ega(l);h=g+20|0;n=g+16|0;j=(f[h>>2]|0)+-1+(f[n>>2]|0)|0;o=g+4|0;i=f[(f[o>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[i+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(i+(j*28|0)+12|0);C=f[h>>2]|0;f[h>>2]=C+-1;g=g+8|0;h=f[g>>2]|0;D=h-(f[o>>2]|0)>>2;if((1-C-(f[n>>2]|0)+((D|0)==0?0:(D*146|0)+-1|0)|0)>>>0>291){Hta(f[h+-4>>2]|0);f[g>>2]=(f[g>>2]|0)+-4}if(!m)QZ(l);i=Da+8|0;h=f[i>>2]|0;j:do switch(h|0){case 2:{switch(f[za+8>>2]|0){case 3:{Ca=542;break j}case 2:break;default:{Ca=830;break j}}A=ya+16|0;x=0;Ga(462,O|0,f[A>>2]|0);ka=x;x=0;if(ka&1){Ca=212;break j}f[O>>2]=15556;g=f[O+4>>2]|0;h=f[(f[g>>2]|0)+144>>2]|0;s=xa+16|0;x=0;Ga(462,K|0,f[s>>2]|0);ka=x;x=0;do if(ka&1){g=Ya()|0;h=I}else{f[K>>2]=15556;i=L+11|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;x=0;g=ta(h|0,g|0,K|0,L|0)|0;ka=x;x=0;if(ka&1){g=Ya()|0;h=I;if((b[i>>0]|0)<0)Hta(f[L>>2]|0);_P(K);break}if((b[i>>0]|0)<0)Hta(f[L>>2]|0);_P(K);_P(O);if(g){j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[l>>2]|0;Ca=181}else Ca=181;while(0);do if((Ca|0)==181){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[Da>>2];f[g+4>>2]=f[Da+4>>2];f[g+8>>2]=f[Da+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[y>>2];g=f[wa>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;ua=k+20|0;f[ua>>2]=(f[ua>>2]|0)+1;if(!o)QZ(n);k=f[j>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);j=k+16|0;g=f[j>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[j>>2]|0;Ca=195}else Ca=195;while(0);do if((Ca|0)==195){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[xa>>2];f[g+4>>2]=f[xa+4>>2];f[g+8>>2]=f[xa+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[s>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[E>>2];g=f[G>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[j>>2]=(f[j>>2]|0)+-1;Ca=k+20|0;f[Ca>>2]=(f[Ca>>2]|0)+1;if(m){Ca=1020;break j}QZ(l);Ca=1020;break j}while(0);g=Ya()|0;if(m)break j;QZ(l);break j}while(0);g=Ya()|0;if(o)break j;QZ(n);break j}x=0;Ga(462,U|0,f[s>>2]|0);ka=x;x=0;if(ka&1){Ca=212;break j}f[U>>2]=15556;g=f[U+4>>2]|0;h=f[(f[g>>2]|0)+144>>2]|0;x=0;Ga(462,R|0,f[A>>2]|0);ka=x;x=0;do if(ka&1)g=Ya()|0;else{f[R>>2]=15556;i=S+11|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;x=0;g=ta(h|0,g|0,R|0,S|0)|0;ka=x;x=0;if(ka&1){g=Ya()|0;if((b[i>>0]|0)<0)Hta(f[S>>2]|0);_P(R);break}if((b[i>>0]|0)<0)Hta(f[S>>2]|0);_P(R);_P(U);if(g){j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[l>>2]|0;Ca=233}else Ca=233;while(0);do if((Ca|0)==233){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[Da>>2];f[g+4>>2]=f[Da+4>>2];f[g+8>>2]=f[Da+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[y>>2];g=f[wa>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;ua=k+20|0;f[ua>>2]=(f[ua>>2]|0)+1;if(!o)QZ(n);k=f[j>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);j=k+16|0;g=f[j>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[j>>2]|0;Ca=247}else Ca=247;while(0);do if((Ca|0)==247){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[ya>>2];f[g+4>>2]=f[ya+4>>2];f[g+8>>2]=f[ya+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[A>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[F>>2];g=f[H>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[j>>2]=(f[j>>2]|0)+-1;Ca=k+20|0;f[Ca>>2]=(f[Ca>>2]|0)+1;if(m){Ca=1020;break j}QZ(l);Ca=1020;break j}while(0);g=Ya()|0;if(m)break j;QZ(l);break j}while(0);g=Ya()|0;if(o)break j;QZ(n);break j}x=0;Ga(462,T|0,f[A>>2]|0);ka=x;x=0;k:do if(ka&1)g=Ya()|0;else{f[T>>2]=15556;g=f[T+4>>2]|0;x=0;g=qa(f[(f[g>>2]|0)+16>>2]|0,g|0)|0;ka=x;x=0;do if(!(ka&1)){x=0;Ga(462,ua|0,g|0);ka=x;x=0;if(ka&1)break;f[ua>>2]=15556;_P(T);x=0;Ga(462,Y|0,f[A>>2]|0);ka=x;x=0;l:do if(ka&1)Ca=438;else{f[Y>>2]=15556;x=0;Ga(462,X|0,f[(f[Y+4>>2]|0)+80>>2]|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{f[X>>2]=15572;g=f[X+4>>2]|0;x=0;Ga(462,W|0,f[s>>2]|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{f[W>>2]=15556;x=0;Ga(462,V|0,f[(f[W+4>>2]|0)+80>>2]|0);ka=x;x=0;do if(ka&1)g=Ya()|0;else{f[V>>2]=15572;x=0;y=sa(988,g|0,f[V+4>>2]|0)|0;ka=x;x=0;if(ka&1){g=Ya()|0;_P(V);break}_P(V);_P(W);_P(X);_P(Y);z=ua+4|0;g=f[z>>2]|0;x=0;Ga(462,_|0,y|0);ka=x;x=0;if(ka&1){Ca=438;break l}f[_>>2]=15572;f[g+68>>2]=0;h=g+76|0;g=g+80|0;if(!(f[g>>2]|0))Ca=276;else{x=0;Fa(429,h|0);ka=x;x=0;if(!(ka&1))Ca=276}do if((Ca|0)==276){f[g>>2]=f[_+4>>2];x=0;Fa(430,h|0);ka=x;x=0;if(ka&1)break;x=0;Ga(462,Z|0,f[g>>2]|0);ka=x;x=0;if(ka&1)break;f[Z>>2]=15572;_P(Z);_P(_);x=0;Fa(451,ra|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{x=0;Fa(451,pa|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{r=pa+20|0;g=f[r>>2]|0;B=pa+24|0;p=f[B>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;j=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;Ca=j-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;i=f[o>>2]|0;do if((((Ca|0)==0?0:(Ca*146|0)+-1|0)|0)==(i+l|0)){x=0;Fa(433,g|0);Ca=x;x=0;if(Ca&1){Ca=449;break}i=f[o>>2]|0;l=f[k>>2]|0;j=f[m>>2]|0;h=f[n>>2]|0;Ca=285}else Ca=285;while(0);m:do if((Ca|0)==285){g=i+l|0;if((j|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[ya>>2];f[h+4>>2]=f[ya+4>>2];f[h+8>>2]=f[ya+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[A>>2]|0);ka=x;x=0;if(ka&1){Ca=449;break}f[g>>2]=15556;f[h+20>>2]=f[F>>2];g=f[H>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[r>>2]|0;p=f[B>>2]|0;q=(p|0)==0;if(!q)ega(p);f[na>>2]=2;x=0;Ga(675,oa|0,na|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=298}else{g=l;Ca=298}while(0);do if((Ca|0)==298){g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[oa>>2];f[g+4>>2]=f[oa+4>>2];f[g+8>>2]=f[oa+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[oa+16>>2]|0);ka=x;x=0;if(ka&1)break;f[h>>2]=15556;ja=oa+20|0;f[g+20>>2]=f[ja>>2];ka=oa+24|0;f[g+24>>2]=f[ka>>2];f[ja>>2]=0;f[ka>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(oa+12|0);if(!q)QZ(p);g=f[r>>2]|0;p=f[B>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=308}else{g=l;Ca=308}while(0);do if((Ca|0)==308){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[xa>>2];f[h+4>>2]=f[xa+4>>2];f[h+8>>2]=f[xa+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[s>>2]|0);ka=x;x=0;if(ka&1)break;f[g>>2]=15556;f[h+20>>2]=f[E>>2];g=f[G>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[r>>2]|0;p=f[B>>2]|0;q=(p|0)==0;if(!q)ega(p);f[na>>2]=2;x=0;Ga(675,oa|0,na|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=321}else{g=l;Ca=321}while(0);do if((Ca|0)==321){g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[oa>>2];f[g+4>>2]=f[oa+4>>2];f[g+8>>2]=f[oa+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[oa+16>>2]|0);ka=x;x=0;if(ka&1)break;f[h>>2]=15556;ja=oa+20|0;f[g+20>>2]=f[ja>>2];ka=oa+24|0;f[g+24>>2]=f[ka>>2];f[ja>>2]=0;f[ka>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(oa+12|0);if(!q)QZ(p);t=ra+20|0;k=f[t>>2]|0;w=ra+24|0;p=f[w>>2]|0;q=(p|0)==0;if(!q)ega(p);m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;ka=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);ka=x;x=0;if(ka&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=331}else Ca=331;while(0);do if((Ca|0)==331){g=g+j|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[pa>>2];f[h+4>>2]=f[pa+4>>2];f[h+8>>2]=f[pa+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[pa+16>>2]|0);ka=x;x=0;if(ka&1)break;f[g>>2]=15556;f[h+20>>2]=f[r>>2];g=f[B>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);x=0;Fa(451,oa|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{r=oa+20|0;g=f[r>>2]|0;v=oa+24|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;j=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;Ca=j-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;i=f[o>>2]|0;do if((((Ca|0)==0?0:(Ca*146|0)+-1|0)|0)==(i+l|0)){x=0;Fa(433,g|0);Ca=x;x=0;if(Ca&1){Ca=468;break}i=f[o>>2]|0;l=f[k>>2]|0;j=f[m>>2]|0;h=f[n>>2]|0;Ca=344}else Ca=344;while(0);n:do if((Ca|0)==344){g=i+l|0;if((j|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[xa>>2];f[h+4>>2]=f[xa+4>>2];f[h+8>>2]=f[xa+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[s>>2]|0);ka=x;x=0;if(ka&1){Ca=468;break}f[g>>2]=15556;f[h+20>>2]=f[E>>2];g=f[G>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[r>>2]|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);f[ma>>2]=2;x=0;Ga(675,na|0,ma|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=357}else{g=l;Ca=357}while(0);do if((Ca|0)==357){g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[na>>2];f[g+4>>2]=f[na+4>>2];f[g+8>>2]=f[na+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[na+16>>2]|0);ka=x;x=0;if(ka&1)break;f[h>>2]=15556;ja=na+20|0;f[g+20>>2]=f[ja>>2];ka=na+24|0;f[g+24>>2]=f[ka>>2];f[ja>>2]=0;f[ka>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(na+12|0);if(!q)QZ(p);g=f[r>>2]|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=367}else{g=l;Ca=367}while(0);do if((Ca|0)==367){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[ya>>2];f[h+4>>2]=f[ya+4>>2];f[h+8>>2]=f[ya+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[A>>2]|0);ka=x;x=0;if(ka&1)break;f[g>>2]=15556;f[h+20>>2]=f[F>>2];g=f[H>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[r>>2]|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);f[ma>>2]=2;x=0;Ga(675,na|0,ma|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=380}else{g=l;Ca=380}while(0);do if((Ca|0)==380){g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[na>>2];f[g+4>>2]=f[na+4>>2];f[g+8>>2]=f[na+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[na+16>>2]|0);ka=x;x=0;if(ka&1)break;f[h>>2]=15556;ja=na+20|0;f[g+20>>2]=f[ja>>2];ka=na+24|0;f[g+24>>2]=f[ka>>2];f[ja>>2]=0;f[ka>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(na+12|0);if(!q)QZ(p);g=f[t>>2]|0;p=f[w>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=390}else{g=l;Ca=390}while(0);do if((Ca|0)==390){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[oa>>2];f[h+4>>2]=f[oa+4>>2];f[h+8>>2]=f[oa+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[oa+16>>2]|0);ka=x;x=0;if(ka&1)break;f[g>>2]=15556;f[h+20>>2]=f[r>>2];g=f[v>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);o:do if(y|0){x=0;Fa(451,na|0);ka=x;x=0;if(ka&1)g=Ya()|0;else{r=na+20|0;k=f[r>>2]|0;s=na+24|0;p=f[s>>2]|0;q=(p|0)==0;if(!q)ega(p);x=0;Ga(520,ma|0,f[z>>2]|0);ka=x;x=0;p:do if(ka&1){g=Ya()|0;Ca=491}else{m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;ka=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);ka=x;x=0;if(ka&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=405}else Ca=405;while(0);do if((Ca|0)==405){g=g+j|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[ma>>2];f[g+4>>2]=f[ma+4>>2];f[g+8>>2]=f[ma+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[ma+16>>2]|0);ka=x;x=0;if(ka&1)break;f[h>>2]=15556;ja=ma+20|0;f[g+20>>2]=f[ja>>2];ka=ma+24|0;f[g+24>>2]=f[ka>>2];f[ja>>2]=0;f[ka>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(ma+12|0);if(!q)QZ(p);k=f[r>>2]|0;p=f[s>>2]|0;q=(p|0)==0;if(!q)ega(p);f[la>>2]=2;x=0;Ga(675,ma|0,la|0);la=x;x=0;if(la&1)g=Ya()|0;else{m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;la=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((la|0)==0?0:(la*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);la=x;x=0;if(la&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=416}else Ca=416;while(0);do if((Ca|0)==416){g=g+j|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[ma>>2];f[g+4>>2]=f[ma+4>>2];f[g+8>>2]=f[ma+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[ma+16>>2]|0);la=x;x=0;if(la&1)break;f[h>>2]=15556;ka=ma+20|0;f[g+20>>2]=f[ka>>2];la=ma+24|0;f[g+24>>2]=f[la>>2];f[ka>>2]=0;f[la>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(ma+12|0);if(!q)QZ(p);g=f[t>>2]|0;p=f[w>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ma=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ma|0)==0?0:(ma*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ma=x;x=0;if(ma&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=426}else{g=l;Ca=426}while(0);do if((Ca|0)==426){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[na>>2];f[h+4>>2]=f[na+4>>2];f[h+8>>2]=f[na+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[na+16>>2]|0);ma=x;x=0;if(ma&1)break;f[g>>2]=15556;f[h+20>>2]=f[r>>2];g=f[s>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[s>>2]|0;if(g|0)QZ(g);_P(na+12|0);break o}while(0);g=Ya()|0;if(q)break p;QZ(p);break p}while(0);g=Ya()|0;h=f[ma+24>>2]|0;if(h|0)QZ(h);_P(ma+12|0)}if(q)break p;QZ(p);break p}while(0);g=Ya()|0;h=f[ma+24>>2]|0;if(h|0)QZ(h);_P(ma+12|0);Ca=491}while(0);do if((Ca|0)==491){if(q)break;QZ(p)}while(0);h=f[s>>2]|0;if(h|0)QZ(h);_P(na+12|0)}break n}while(0);j=f[e+20>>2]|0;l=f[e+24>>2]|0;m=(l|0)==0;if(!m)ega(l);k=j+16|0;g=f[k>>2]|0;do if(!g){x=0;Fa(452,j|0);na=x;x=0;if(na&1)break;g=f[k>>2]|0;Ca=510}else Ca=510;while(0);do if((Ca|0)==510){na=f[j+4>>2]|0;i=na+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[j+8>>2]|0)==(na|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[ra>>2];f[g+4>>2]=f[ra+4>>2];f[g+8>>2]=f[ra+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[ra+16>>2]|0);na=x;x=0;if(na&1)break;f[g>>2]=15556;f[h+-8>>2]=f[t>>2];g=f[w>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[k>>2]=(f[k>>2]|0)+-1;Ca=j+20|0;f[Ca>>2]=(f[Ca>>2]|0)+1;if(!m)QZ(l);g=f[v>>2]|0;if(g|0)QZ(g);_P(oa+12|0);g=f[B>>2]|0;if(g|0)QZ(g);_P(pa+12|0);g=f[w>>2]|0;if(g|0)QZ(g);_P(ra+12|0);_P(ua);Ca=1020;break j}while(0);g=Ya()|0;if(m)break n;QZ(l);break n}while(0);g=Ya()|0;if(q)break n;QZ(p);break n}while(0);g=Ya()|0;h=f[na+24>>2]|0;if(h|0)QZ(h);_P(na+12|0)}if(q)break n;QZ(p);break n}while(0);g=Ya()|0;if(q)break n;QZ(p);break n}while(0);g=Ya()|0;h=f[na+24>>2]|0;if(h|0)QZ(h);_P(na+12|0)}if(q)break;QZ(p)}while(0);do if((Ca|0)==468){g=Ya()|0;if(q)break;QZ(p)}while(0);h=f[v>>2]|0;if(h|0)QZ(h);_P(oa+12|0)}break m}while(0);g=Ya()|0;if(q)break m;QZ(p);break m}while(0);g=Ya()|0;h=f[oa+24>>2]|0;if(h|0)QZ(h);_P(oa+12|0)}if(q)break m;QZ(p);break m}while(0);g=Ya()|0;if(q)break m;QZ(p);break m}while(0);g=Ya()|0;h=f[oa+24>>2]|0;if(h|0)QZ(h);_P(oa+12|0)}if(q)break;QZ(p)}while(0);do if((Ca|0)==449){g=Ya()|0;if(q)break;QZ(p)}while(0);h=f[B>>2]|0;if(h|0)QZ(h);_P(pa+12|0)}h=f[ra+24>>2]|0;if(h|0)QZ(h);_P(ra+12|0)}break l}while(0);g=Ya()|0;_P(_);break l}while(0);_P(W)}_P(X)}_P(Y)}while(0);if((Ca|0)==438)g=Ya()|0;_P(ua);break k}while(0);g=Ya()|0;_P(T)}while(0);break j}while(0);_P(U);break j}while(0);_P(O);break}case 3:{if((f[za+8>>2]|0)==2)Ca=542;else Ca=830;break}case 1:{g=f[za+8>>2]|0;if((g&-2|0)!=2){Ca=892;break j}j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[l>>2]|0;Ca=837}else Ca=837;while(0);do if((Ca|0)==837){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[za>>2];f[g+4>>2]=f[za+4>>2];f[g+8>>2]=f[za+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[za+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[w>>2];g=f[va>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;ua=k+20|0;f[ua>>2]=(f[ua>>2]|0)+1;if(!o)QZ(n);k=f[j>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);j=k+16|0;g=f[j>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[j>>2]|0;Ca=851}else Ca=851;while(0);do if((Ca|0)==851){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[xa>>2];f[g+4>>2]=f[xa+4>>2];f[g+8>>2]=f[xa+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[xa+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[E>>2];g=f[G>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[j>>2]=(f[j>>2]|0)+-1;ua=k+20|0;f[ua>>2]=(f[ua>>2]|0)+1;if(!m)QZ(l);g=f[t>>2]|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ua=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ua|0)==0?0:(ua*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ua=x;x=0;if(ua&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=865}else{g=l;Ca=865}while(0);do if((Ca|0)==865){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[ya>>2];f[h+4>>2]=f[ya+4>>2];f[h+8>>2]=f[ya+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[ya+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+20>>2]=f[F>>2];g=f[H>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);k=f[t>>2]|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;ua=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((ua|0)==0?0:(ua*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);ua=x;x=0;if(ua&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=877}else Ca=877;while(0);do if((Ca|0)==877){g=g+j|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[Da>>2];f[h+4>>2]=f[Da+4>>2];f[h+8>>2]=f[Da+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+20>>2]=f[y>>2];g=f[wa>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(q){Ca=1020;break j}QZ(p);Ca=1020;break j}while(0);g=Ya()|0;if(q)break j;QZ(p);break j}while(0);g=Ya()|0;if(q)break j;QZ(p);break j}while(0);g=Ya()|0;if(m)break j;QZ(l);break j}while(0);g=Ya()|0;h=I;if(o)break j;QZ(n);break}default:Ca=830}while(0);q:do if((Ca|0)==542){f[ua>>2]=f[ya>>2];f[ua+4>>2]=f[ya+4>>2];f[ua+8>>2]=f[ya+8>>2];g=ua+12|0;j=ya+16|0;x=0;Ga(462,g|0,f[j>>2]|0);_=x;x=0;if(_&1)g=Ya()|0;else{f[g>>2]=15556;s=ua+20|0;f[s>>2]=f[F>>2];D=ua+24|0;g=f[H>>2]|0;f[D>>2]=g;if(g|0)ega(g);f[ra>>2]=f[xa>>2];f[ra+4>>2]=f[xa+4>>2];f[ra+8>>2]=f[xa+8>>2];g=ra+12|0;h=xa+16|0;x=0;Ga(462,g|0,f[h>>2]|0);_=x;x=0;if(_&1)g=Ya()|0;else{f[g>>2]=15556;v=ra+20|0;f[v>>2]=f[E>>2];C=ra+24|0;g=f[G>>2]|0;f[C>>2]=g;if(g|0)ega(g);f[pa>>2]=f[za>>2];f[pa+4>>2]=f[za+4>>2];f[pa+8>>2]=f[za+8>>2];g=pa+12|0;x=0;Ga(462,g|0,f[za+16>>2]|0);_=x;x=0;if(_&1)g=Ya()|0;else{f[g>>2]=15556;p=pa+20|0;f[p>>2]=f[w>>2];B=pa+24|0;g=f[va>>2]|0;f[B>>2]=g;if(g|0)ega(g);do if((f[i>>2]|0)==2){r=ua+16|0;Ca=578}else{f[ua>>2]=f[xa>>2];f[ua+4>>2]=f[xa+4>>2];f[ua+8>>2]=f[xa+8>>2];g=ua+12|0;i=ua+16|0;if(f[i>>2]|0){x=0;Fa(429,g|0);Ca=x;x=0;if(Ca&1){Ca=577;break}}f[i>>2]=f[h>>2];x=0;Fa(430,g|0);Ca=x;x=0;if(Ca&1){Ca=577;break}g=f[E>>2]|0;h=f[G>>2]|0;if(h|0)ega(h);f[s>>2]=g;g=f[D>>2]|0;f[D>>2]=h;if(g|0)QZ(g);f[ra>>2]=f[ya>>2];f[ra+4>>2]=f[ya+4>>2];f[ra+8>>2]=f[ya+8>>2];g=ra+12|0;h=ra+16|0;if(f[h>>2]|0){x=0;Fa(429,g|0);Ca=x;x=0;if(Ca&1){Ca=577;break}}f[h>>2]=f[j>>2];x=0;Fa(430,g|0);Ca=x;x=0;if(Ca&1){Ca=577;break}g=f[F>>2]|0;h=f[H>>2]|0;if(h|0)ega(h);f[v>>2]=g;g=f[C>>2]|0;f[C>>2]=h;if(g|0)QZ(g);f[pa>>2]=f[Da>>2];f[pa+4>>2]=f[Da+4>>2];f[pa+8>>2]=f[Da+8>>2];g=pa+12|0;h=pa+16|0;if(f[h>>2]|0){x=0;Fa(429,g|0);Ca=x;x=0;if(Ca&1){Ca=577;break}}f[h>>2]=f[Da+16>>2];x=0;Fa(430,g|0);Ca=x;x=0;if(Ca&1){Ca=577;break}g=f[y>>2]|0;h=f[wa>>2]|0;if(h|0)ega(h);f[p>>2]=g;g=f[B>>2]|0;f[B>>2]=h;if(!g){r=i;Ca=578;break}QZ(g);r=i;Ca=578}while(0);r:do if((Ca|0)==578){x=0;Ga(462,ca|0,f[r>>2]|0);_=x;x=0;if(_&1){Ca=577;break}f[ca>>2]=15556;g=f[ca+4>>2]|0;h=f[(f[g>>2]|0)+144>>2]|0;t=ra+16|0;x=0;Ga(462,$|0,f[t>>2]|0);_=x;x=0;do if(_&1)g=Ya()|0;else{f[$>>2]=15556;i=aa+11|0;f[aa>>2]=0;f[aa+4>>2]=0;f[aa+8>>2]=0;x=0;g=ta(h|0,g|0,$|0,aa|0)|0;_=x;x=0;if(_&1){g=Ya()|0;if((b[i>>0]|0)<0)Hta(f[aa>>2]|0);_P($);break}if((b[i>>0]|0)<0)Hta(f[aa>>2]|0);_P($);_P(ca);s:do if(g){j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);oa=x;x=0;if(oa&1)break;g=f[l>>2]|0;Ca=589}else Ca=589;while(0);do if((Ca|0)==589){oa=f[k+4>>2]|0;i=oa+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(oa|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[pa>>2];f[g+4>>2]=f[pa+4>>2];f[g+8>>2]=f[pa+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[pa+16>>2]|0);oa=x;x=0;if(oa&1)break;f[g>>2]=15556;f[h+-8>>2]=f[p>>2];g=f[B>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;oa=k+20|0;f[oa>>2]=(f[oa>>2]|0)+1;if(!o)QZ(n);k=f[j>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);j=k+16|0;g=f[j>>2]|0;do if(!g){x=0;Fa(452,k|0);oa=x;x=0;if(oa&1)break;g=f[j>>2]|0;Ca=603}else Ca=603;while(0);do if((Ca|0)==603){oa=f[k+4>>2]|0;i=oa+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(oa|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[ra>>2];f[g+4>>2]=f[ra+4>>2];f[g+8>>2]=f[ra+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[t>>2]|0);oa=x;x=0;if(oa&1)break;f[g>>2]=15556;f[h+-8>>2]=f[v>>2];g=f[C>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[j>>2]=(f[j>>2]|0)+-1;Ca=k+20|0;f[Ca>>2]=(f[Ca>>2]|0)+1;if(m)break s;QZ(l);break s}while(0);g=Ya()|0;if(m)break r;QZ(l);break r}while(0);g=Ya()|0;if(o)break r;QZ(n);break r}else{x=0;Ga(462,ba|0,f[t>>2]|0);ca=x;x=0;t:do if(ca&1)g=Ya()|0;else{f[ba>>2]=15556;g=f[ba+4>>2]|0;x=0;g=qa(f[(f[g>>2]|0)+16>>2]|0,g|0)|0;ca=x;x=0;do if(!(ca&1)){x=0;Ga(462,oa|0,g|0);ca=x;x=0;if(ca&1)break;f[oa>>2]=15556;_P(ba);x=0;Ga(462,ga|0,f[t>>2]|0);ca=x;x=0;u:do if(ca&1)Ca=735;else{f[ga>>2]=15556;x=0;Ga(462,fa|0,f[(f[ga+4>>2]|0)+80>>2]|0);ca=x;x=0;if(ca&1)g=Ya()|0;else{f[fa>>2]=15572;g=f[fa+4>>2]|0;x=0;Ga(462,ea|0,f[r>>2]|0);ca=x;x=0;if(ca&1)g=Ya()|0;else{f[ea>>2]=15556;x=0;Ga(462,da|0,f[(f[ea+4>>2]|0)+80>>2]|0);ca=x;x=0;do if(ca&1)g=Ya()|0;else{f[da>>2]=15572;x=0;y=sa(988,g|0,f[da+4>>2]|0)|0;ca=x;x=0;if(ca&1){g=Ya()|0;_P(da);break}_P(da);_P(ea);_P(fa);_P(ga);z=oa+4|0;g=f[z>>2]|0;x=0;Ga(462,ia|0,y|0);ga=x;x=0;if(ga&1){Ca=735;break u}f[ia>>2]=15572;f[g+68>>2]=0;h=g+76|0;g=g+80|0;if(!(f[g>>2]|0))Ca=632;else{x=0;Fa(429,h|0);ga=x;x=0;if(!(ga&1))Ca=632}do if((Ca|0)==632){f[g>>2]=f[ia+4>>2];x=0;Fa(430,h|0);ga=x;x=0;if(ga&1)break;x=0;Ga(462,ha|0,f[g>>2]|0);ga=x;x=0;if(ga&1)break;f[ha>>2]=15572;_P(ha);_P(ia);x=0;Fa(451,na|0);ia=x;x=0;if(ia&1)g=Ya()|0;else{x=0;Fa(451,ma|0);ia=x;x=0;if(ia&1)g=Ya()|0;else{w=ma+20|0;g=f[w>>2]|0;A=ma+24|0;p=f[A>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;j=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;Ca=j-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;i=f[o>>2]|0;do if((((Ca|0)==0?0:(Ca*146|0)+-1|0)|0)==(i+l|0)){x=0;Fa(433,g|0);Ca=x;x=0;if(Ca&1){Ca=746;break}i=f[o>>2]|0;l=f[k>>2]|0;j=f[m>>2]|0;h=f[n>>2]|0;Ca=641}else Ca=641;while(0);v:do if((Ca|0)==641){g=i+l|0;if((j|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[ua>>2];f[h+4>>2]=f[ua+4>>2];f[h+8>>2]=f[ua+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[r>>2]|0);ia=x;x=0;if(ia&1){Ca=746;break}f[g>>2]=15556;f[h+20>>2]=f[s>>2];g=f[D>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[w>>2]|0;p=f[A>>2]|0;q=(p|0)==0;if(!q)ega(p);f[ka>>2]=2;x=0;Ga(675,la|0,ka|0);ia=x;x=0;if(ia&1)g=Ya()|0;else{m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ia=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ia|0)==0?0:(ia*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ia=x;x=0;if(ia&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=654}else{g=l;Ca=654}while(0);do if((Ca|0)==654){g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[la>>2];f[g+4>>2]=f[la+4>>2];f[g+8>>2]=f[la+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[la+16>>2]|0);ia=x;x=0;if(ia&1)break;f[h>>2]=15556;ha=la+20|0;f[g+20>>2]=f[ha>>2];ia=la+24|0;f[g+24>>2]=f[ia>>2];f[ha>>2]=0;f[ia>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(la+12|0);if(!q)QZ(p);g=f[w>>2]|0;p=f[A>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ia=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ia|0)==0?0:(ia*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ia=x;x=0;if(ia&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=664}else{g=l;Ca=664}while(0);do if((Ca|0)==664){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[ra>>2];f[h+4>>2]=f[ra+4>>2];f[h+8>>2]=f[ra+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[t>>2]|0);ia=x;x=0;if(ia&1)break;f[g>>2]=15556;f[h+20>>2]=f[v>>2];g=f[C>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[w>>2]|0;p=f[A>>2]|0;q=(p|0)==0;if(!q)ega(p);f[ka>>2]=3;x=0;Ga(675,la|0,ka|0);ia=x;x=0;if(ia&1)g=Ya()|0;else{m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ia=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ia|0)==0?0:(ia*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ia=x;x=0;if(ia&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=677}else{g=l;Ca=677}while(0);do if((Ca|0)==677){g=j+g|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[la>>2];f[g+4>>2]=f[la+4>>2];f[g+8>>2]=f[la+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[la+16>>2]|0);ia=x;x=0;if(ia&1)break;f[h>>2]=15556;ha=la+20|0;f[g+20>>2]=f[ha>>2];ia=la+24|0;f[g+24>>2]=f[ia>>2];f[ha>>2]=0;f[ia>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(la+12|0);if(!q)QZ(p);t=na+20|0;g=f[t>>2]|0;v=na+24|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ia=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ia|0)==0?0:(ia*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ia=x;x=0;if(ia&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=687}else{g=l;Ca=687}while(0);do if((Ca|0)==687){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[ma>>2];f[h+4>>2]=f[ma+4>>2];f[h+8>>2]=f[ma+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[ma+16>>2]|0);ia=x;x=0;if(ia&1)break;f[g>>2]=15556;f[h+20>>2]=f[w>>2];g=f[A>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);w:do if(y|0){x=0;Fa(451,la|0);ia=x;x=0;if(ia&1)g=Ya()|0;else{r=la+20|0;k=f[r>>2]|0;s=la+24|0;p=f[s>>2]|0;q=(p|0)==0;if(!q)ega(p);x=0;Ga(520,ka|0,f[z>>2]|0);ia=x;x=0;x:do if(ia&1){g=Ya()|0;Ca=769}else{m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;ia=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((ia|0)==0?0:(ia*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);ia=x;x=0;if(ia&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=702}else Ca=702;while(0);do if((Ca|0)==702){g=g+j|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[ka>>2];f[g+4>>2]=f[ka+4>>2];f[g+8>>2]=f[ka+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[ka+16>>2]|0);ia=x;x=0;if(ia&1)break;f[h>>2]=15556;ha=ka+20|0;f[g+20>>2]=f[ha>>2];ia=ka+24|0;f[g+24>>2]=f[ia>>2];f[ha>>2]=0;f[ia>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(ka+12|0);if(!q)QZ(p);k=f[r>>2]|0;p=f[s>>2]|0;q=(p|0)==0;if(!q)ega(p);f[ja>>2]=3;x=0;Ga(675,ka|0,ja|0);ja=x;x=0;if(ja&1)g=Ya()|0;else{m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;ja=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((ja|0)==0?0:(ja*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);ja=x;x=0;if(ja&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=713}else Ca=713;while(0);do if((Ca|0)==713){g=g+j|0;if((i|0)==(h|0))g=0;else g=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[g>>2]=f[ka>>2];f[g+4>>2]=f[ka+4>>2];f[g+8>>2]=f[ka+8>>2];h=g+12|0;x=0;Ga(462,h|0,f[ka+16>>2]|0);ja=x;x=0;if(ja&1)break;f[h>>2]=15556;ia=ka+20|0;f[g+20>>2]=f[ia>>2];ja=ka+24|0;f[g+24>>2]=f[ja>>2];f[ia>>2]=0;f[ja>>2]=0;f[o>>2]=(f[o>>2]|0)+1;_P(ka+12|0);if(!q)QZ(p);g=f[t>>2]|0;p=f[v>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ka=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ka|0)==0?0:(ka*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ka=x;x=0;if(ka&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=723}else{g=l;Ca=723}while(0);do if((Ca|0)==723){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[la>>2];f[h+4>>2]=f[la+4>>2];f[h+8>>2]=f[la+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[la+16>>2]|0);ka=x;x=0;if(ka&1)break;f[g>>2]=15556;f[h+20>>2]=f[r>>2];g=f[s>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);g=f[s>>2]|0;if(g|0)QZ(g);_P(la+12|0);break w}while(0);g=Ya()|0;if(q)break x;QZ(p);break x}while(0);g=Ya()|0;h=f[ka+24>>2]|0;if(h|0)QZ(h);_P(ka+12|0)}if(q)break x;QZ(p);break x}while(0);g=Ya()|0;h=f[ka+24>>2]|0;if(h|0)QZ(h);_P(ka+12|0);Ca=769}while(0);do if((Ca|0)==769){if(q)break;QZ(p)}while(0);h=f[s>>2]|0;if(h|0)QZ(h);_P(la+12|0)}break v}while(0);j=f[e+20>>2]|0;l=f[e+24>>2]|0;m=(l|0)==0;if(!m)ega(l);k=j+16|0;g=f[k>>2]|0;do if(!g){x=0;Fa(452,j|0);la=x;x=0;if(la&1)break;g=f[k>>2]|0;Ca=788}else Ca=788;while(0);do if((Ca|0)==788){la=f[j+4>>2]|0;i=la+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[j+8>>2]|0)==(la|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[na>>2];f[g+4>>2]=f[na+4>>2];f[g+8>>2]=f[na+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[na+16>>2]|0);la=x;x=0;if(la&1)break;f[g>>2]=15556;f[h+-8>>2]=f[t>>2];g=f[v>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[k>>2]=(f[k>>2]|0)+-1;Ca=j+20|0;f[Ca>>2]=(f[Ca>>2]|0)+1;if(!m)QZ(l);g=f[A>>2]|0;if(g|0)QZ(g);_P(ma+12|0);g=f[v>>2]|0;if(g|0)QZ(g);_P(na+12|0);_P(oa);break s}while(0);g=Ya()|0;if(m)break v;QZ(l);break v}while(0);g=Ya()|0;if(q)break v;QZ(p);break v}while(0);g=Ya()|0;h=f[la+24>>2]|0;if(h|0)QZ(h);_P(la+12|0)}if(q)break v;QZ(p);break v}while(0);g=Ya()|0;if(q)break v;QZ(p);break v}while(0);g=Ya()|0;h=f[la+24>>2]|0;if(h|0)QZ(h);_P(la+12|0)}if(q)break;QZ(p)}while(0);do if((Ca|0)==746){g=Ya()|0;if(q)break;QZ(p)}while(0);h=f[A>>2]|0;if(h|0)QZ(h);_P(ma+12|0)}h=f[na+24>>2]|0;if(h|0)QZ(h);_P(na+12|0)}break u}while(0);g=Ya()|0;_P(ia);break u}while(0);_P(ea)}_P(fa)}_P(ga)}while(0);if((Ca|0)==735)g=Ya()|0;_P(oa);break t}while(0);g=Ya()|0;_P(ba)}while(0);break r}while(0);g=f[B>>2]|0;if(g|0)QZ(g);_P(pa+12|0);g=f[C>>2]|0;if(g|0)QZ(g);_P(ra+12|0);g=f[D>>2]|0;if(g|0)QZ(g);_P(ua+12|0);Ca=1020;break q}while(0);_P(ca)}while(0);if((Ca|0)==577)g=Ya()|0;h=f[B>>2]|0;if(h|0)QZ(h);_P(pa+12|0)}h=f[C>>2]|0;if(h|0)QZ(h);_P(ra+12|0)}h=f[D>>2]|0;if(h|0)QZ(h);_P(ua+12|0)}}else if((Ca|0)==830){g=f[za+8>>2]|0;Ca=892}while(0);y:do if((Ca|0)==892){if((g|0)==1&(h&-2|0)==2){j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[l>>2]|0;Ca=898}else Ca=898;while(0);do if((Ca|0)==898){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[Da>>2];f[g+4>>2]=f[Da+4>>2];f[g+8>>2]=f[Da+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[y>>2];g=f[wa>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;ua=k+20|0;f[ua>>2]=(f[ua>>2]|0)+1;if(!o)QZ(n);k=f[j>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);j=k+16|0;g=f[j>>2]|0;do if(!g){x=0;Fa(452,k|0);ua=x;x=0;if(ua&1)break;g=f[j>>2]|0;Ca=912}else Ca=912;while(0);do if((Ca|0)==912){ua=f[k+4>>2]|0;i=ua+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(ua|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[ya>>2];f[g+4>>2]=f[ya+4>>2];f[g+8>>2]=f[ya+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[ya+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+-8>>2]=f[F>>2];g=f[H>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[j>>2]=(f[j>>2]|0)+-1;ua=k+20|0;f[ua>>2]=(f[ua>>2]|0)+1;if(!m)QZ(l);g=f[r>>2]|0;p=f[s>>2]|0;q=(p|0)==0;if(!q)ega(p);m=g+8|0;i=f[m>>2]|0;n=g+4|0;h=f[n>>2]|0;ua=i-h>>2;k=g+16|0;l=f[k>>2]|0;o=g+20|0;j=f[o>>2]|0;do if((((ua|0)==0?0:(ua*146|0)+-1|0)|0)==(j+l|0)){x=0;Fa(433,g|0);ua=x;x=0;if(ua&1)break;j=f[o>>2]|0;g=f[k>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=926}else{g=l;Ca=926}while(0);do if((Ca|0)==926){g=j+g|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[xa>>2];f[h+4>>2]=f[xa+4>>2];f[h+8>>2]=f[xa+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[xa+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+20>>2]=f[E>>2];g=f[G>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(!q)QZ(p);k=f[r>>2]|0;p=f[s>>2]|0;q=(p|0)==0;if(!q)ega(p);m=k+8|0;i=f[m>>2]|0;n=k+4|0;h=f[n>>2]|0;ua=i-h>>2;l=k+16|0;j=f[l>>2]|0;o=k+20|0;g=f[o>>2]|0;do if((((ua|0)==0?0:(ua*146|0)+-1|0)|0)==(g+j|0)){x=0;Fa(433,k|0);ua=x;x=0;if(ua&1)break;g=f[o>>2]|0;j=f[l>>2]|0;i=f[m>>2]|0;h=f[n>>2]|0;Ca=938}else Ca=938;while(0);do if((Ca|0)==938){g=g+j|0;if((i|0)==(h|0))h=0;else h=(f[h+(((g>>>0)/146|0)<<2)>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[h>>2]=f[za>>2];f[h+4>>2]=f[za+4>>2];f[h+8>>2]=f[za+8>>2];g=h+12|0;x=0;Ga(462,g|0,f[za+16>>2]|0);ua=x;x=0;if(ua&1)break;f[g>>2]=15556;f[h+20>>2]=f[w>>2];g=f[va>>2]|0;f[h+24>>2]=g;if(g|0)ega(g);f[o>>2]=(f[o>>2]|0)+1;if(q){Ca=1020;break y}QZ(p);Ca=1020;break y}while(0);g=Ya()|0;if(q)break y;QZ(p);break y}while(0);g=Ya()|0;if(q)break y;QZ(p);break y}while(0);g=Ya()|0;if(m)break y;QZ(l);break y}while(0);g=Ya()|0;if(o)break;QZ(n);break}if((h|0)!=(g|0)){x=0;Fa(453,a|0);Ca=x;x=0;if(Ca&1){Ca=212;break}else{Ca=1021;break}}g=ya+16|0;x=0;Ga(462,p|0,f[g>>2]|0);pa=x;x=0;z:do if(pa&1)g=Ya()|0;else{f[p>>2]=15556;h=f[p+4>>2]|0;x=0;h=qa(f[(f[h>>2]|0)+16>>2]|0,h|0)|0;pa=x;x=0;do if(!(pa&1)){x=0;Ga(462,ua|0,h|0);pa=x;x=0;if(pa&1)break;f[ua>>2]=15556;_P(p);x=0;Ga(462,N|0,f[g>>2]|0);pa=x;x=0;A:do if(pa&1)Ca=971;else{f[N>>2]=15556;x=0;Ga(462,M|0,f[(f[N+4>>2]|0)+80>>2]|0);pa=x;x=0;if(pa&1)g=Ya()|0;else{f[M>>2]=15572;g=f[M+4>>2]|0;x=0;Ga(462,J|0,f[xa+16>>2]|0);pa=x;x=0;if(pa&1)g=Ya()|0;else{f[J>>2]=15556;x=0;Ga(462,q|0,f[(f[J+4>>2]|0)+80>>2]|0);pa=x;x=0;do if(pa&1)g=Ya()|0;else{f[q>>2]=15572;x=0;i=sa(988,g|0,f[q+4>>2]|0)|0;pa=x;x=0;if(pa&1){g=Ya()|0;_P(q);break}_P(q);_P(J);_P(M);_P(N);p=ua+4|0;g=f[p>>2]|0;x=0;Ga(462,Q|0,i|0);pa=x;x=0;if(pa&1){Ca=971;break A}f[Q>>2]=15572;f[g+68>>2]=0;h=g+76|0;g=g+80|0;if(!(f[g>>2]|0))Ca=965;else{x=0;Fa(429,h|0);pa=x;x=0;if(!(pa&1))Ca=965}do if((Ca|0)==965){f[g>>2]=f[Q+4>>2];x=0;Fa(430,h|0);pa=x;x=0;if(pa&1)break;x=0;Ga(462,P|0,f[g>>2]|0);pa=x;x=0;if(pa&1)break;f[P>>2]=15572;_P(P);_P(Q);if(!i){x=0;Fa(453,a|0);Ca=x;x=0;if(Ca&1){Ca=971;break A}_P(ua);Ca=1021;break y}j=e+20|0;k=f[j>>2]|0;m=e+24|0;n=f[m>>2]|0;o=(n|0)==0;if(!o)ega(n);l=k+16|0;g=f[l>>2]|0;do if(!g){x=0;Fa(452,k|0);pa=x;x=0;if(pa&1)break;g=f[l>>2]|0;Ca=985}else Ca=985;while(0);do if((Ca|0)==985){pa=f[k+4>>2]|0;i=pa+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(pa|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))h=(f[i+-4>>2]|0)+4088|0;else h=g;g=h+-28|0;f[g>>2]=f[Da>>2];f[g+4>>2]=f[Da+4>>2];f[g+8>>2]=f[Da+8>>2];g=h+-16|0;x=0;Ga(462,g|0,f[Da+16>>2]|0);pa=x;x=0;if(pa&1)break;f[g>>2]=15556;f[h+-8>>2]=f[y>>2];g=f[wa>>2]|0;f[h+-4>>2]=g;if(g|0)ega(g);f[l>>2]=(f[l>>2]|0)+-1;pa=k+20|0;f[pa>>2]=(f[pa>>2]|0)+1;if(!o)QZ(n);k=f[j>>2]|0;l=f[m>>2]|0;m=(l|0)==0;if(!m)ega(l);x=0;Ga(520,ra|0,f[p>>2]|0);pa=x;x=0;if(pa&1)g=Ya()|0;else{j=k+16|0;g=f[j>>2]|0;do if(!g){x=0;Fa(452,k|0);pa=x;x=0;if(pa&1)break;g=f[j>>2]|0;Ca=1e3}else Ca=1e3;while(0);do if((Ca|0)==1e3){pa=f[k+4>>2]|0;i=pa+(((g>>>0)/146|0)<<2)|0;h=f[i>>2]|0;if((f[k+8>>2]|0)==(pa|0))g=0;else g=h+(((g>>>0)%146|0)*28|0)|0;if((g|0)==(h|0))g=(f[i+-4>>2]|0)+4088|0;h=g+-28|0;f[h>>2]=f[ra>>2];f[h+4>>2]=f[ra+4>>2];f[h+8>>2]=f[ra+8>>2];h=g+-16|0;x=0;Ga(462,h|0,f[ra+16>>2]|0);pa=x;x=0;if(pa&1)break;f[h>>2]=15556;pa=ra+20|0;f[g+-8>>2]=f[pa>>2];Ca=ra+24|0;f[g+-4>>2]=f[Ca>>2];f[pa>>2]=0;f[Ca>>2]=0;f[j>>2]=(f[j>>2]|0)+-1;Ca=k+20|0;f[Ca>>2]=(f[Ca>>2]|0)+1;_P(ra+12|0);if(!m)QZ(l);_P(ua);Ca=1020;break y}while(0);g=Ya()|0;h=f[ra+24>>2]|0;if(h|0)QZ(h);_P(ra+12|0)}if(m)break A;QZ(l);break A}while(0);g=Ya()|0;if(o)break A;QZ(n);break A}while(0);g=Ya()|0;_P(Q);break A}while(0);_P(J)}_P(M)}_P(N)}while(0);if((Ca|0)==971)g=Ya()|0;_P(ua);break z}while(0);g=Ya()|0;_P(p)}while(0)}while(0);if((Ca|0)==1020){x=0;Ja(51,a|0,c|0,d|0,e|0);Ca=x;x=0;if(Ca&1)Ca=212;else Ca=1021}if((Ca|0)==212)g=Ya()|0;else if((Ca|0)==1021){g=f[G>>2]|0;if(g|0)QZ(g);_P(xa+12|0);g=f[H>>2]|0;if(g|0)QZ(g);_P(ya+12|0);g=f[va>>2]|0;if(g|0)QZ(g);_P(za+12|0);g=f[wa>>2]|0;if(g|0)QZ(g);_P(Da+12|0);break b}h=f[G>>2]|0;if(h|0)QZ(h);_P(xa+12|0)}while(0);h=f[H>>2]|0;if(h|0)QZ(h);_P(ya+12|0)}while(0);h=f[va>>2]|0;if(h|0)QZ(h);_P(za+12|0)}while(0);h=f[wa>>2]|0;if(h|0)QZ(h);_P(Da+12|0)}while(0);break a}while(0);g=f[Ea+24>>2]|0;if(g|0)QZ(g);_P(Ea+12|0);g=f[Aa>>2]|0;if(!g){Ha=Ha+12|0;_P(Ha);u=Ba;return}QZ(g);Ha=Ha+12|0;_P(Ha);u=Ba;return}}while(0);if((Ca|0)==17)g=Ya()|0;h=f[Ea+24>>2]|0;if(h|0)QZ(h);_P(Ea+12|0)}h=f[Ha+24>>2]|0;if(!h){Ha=Ha+12|0;_P(Ha);jb(g|0)}QZ(h);Ha=Ha+12|0;_P(Ha);jb(g|0)}function Xc(){var a=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=u;u=u+1264|0;m=l;n=l+1240|0;j=l+1236|0;k=l+1232|0;e=l+40|0;p[9758]=3.141592653589793;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;h=m+11|0;b[h>>0]=5;b[m>>0]=b[52897]|0;b[m+1>>0]=b[52898]|0;b[m+2>>0]=b[52899]|0;b[m+3>>0]=b[52900]|0;b[m+4>>0]=b[52901]|0;b[m+5>>0]=0;g=m+12|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=g+11|0;b[i>>0]=5;b[g>>0]=b[52903]|0;b[g+1>>0]=b[52904]|0;b[g+2>>0]=b[52905]|0;b[g+3>>0]=b[52906]|0;b[g+4>>0]=b[52907]|0;b[g+5>>0]=0;f[19868]=0;f[19869]=0;f[19870]=0;x=0;a=qa(318,24)|0;d=x;x=0;if(d&1)a=Ya()|0;else{f[19869]=a;f[19868]=a;f[19870]=a+24;x=0;Ga(459,a|0,m|0);d=x;x=0;if(!(d&1)){d=(f[19869]|0)+12|0;f[19869]=d;x=0;Ga(459,d|0,g|0);d=x;x=0;if(!(d&1)){f[19869]=(f[19869]|0)+12;if((b[i>>0]|0)<0)Hta(f[g>>2]|0);if((b[h>>0]|0)<0)Hta(f[m>>2]|0);f[19871]=0;f[19872]=0;f[19873]=0;a=VN(32)|0;f[19871]=a;f[19873]=-2147483616;f[19872]=21;d=a;g=52909;h=d+21|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));b[a+21>>0]=0;f[19874]=0;f[19875]=0;f[19876]=0;a=VN(32)|0;f[19874]=a;f[19876]=-2147483616;f[19875]=19;d=a;g=52931;h=d+19|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));b[a+19>>0]=0;f[19877]=0;f[19878]=0;f[19879]=0;a=VN(32)|0;f[19877]=a;f[19879]=-2147483616;f[19878]=22;d=a;g=52951;h=d+22|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));b[a+22>>0]=0;f[19880]=0;f[19881]=0;f[19882]=0;a=VN(32)|0;f[19880]=a;f[19882]=-2147483616;f[19881]=23;d=a;g=52974;h=d+23|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));b[a+23>>0]=0;f[19883]=0;f[19884]=0;f[19885]=0;b[79543]=6;b[79532]=b[52998]|0;b[79533]=b[52999]|0;b[79534]=b[53e3]|0;b[79535]=b[53001]|0;b[79536]=b[53002]|0;b[79537]=b[53003]|0;b[79538]=0;dP(79544,43125,0,-1);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(61376);d=61388;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[61428]=0;b[61429]=0;b[61430]=0;f[15358]=0;f[15344]=11116;p[7680]=240.0;p[7681]=248.0;p[7682]=255.0;p[7683]=1.0;x=0;Ga(459,61472,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15371]=0;f[15358]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(61488);d=61500;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[61540]=0;b[61541]=0;b[61542]=0;f[15386]=0;f[15372]=11116;p[7694]=250.0;p[7695]=235.0;p[7696]=215.0;p[7697]=1.0;x=0;Ga(459,61584,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15399]=0;f[15386]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(61600);d=61612;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[61652]=0;b[61653]=0;b[61654]=0;f[15414]=0;f[15400]=11116;p[7708]=0.0;p[7709]=255.0;p[7710]=255.0;p[7711]=1.0;x=0;Ga(459,61696,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15427]=0;f[15414]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(61712);d=61724;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[61764]=0;b[61765]=0;b[61766]=0;f[15442]=0;f[15428]=11116;p[7722]=0.0;p[7723]=255.0;p[7724]=255.0;p[7725]=1.0;x=0;Ga(459,61808,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15455]=0;f[15442]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(61824);d=61836;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[61876]=0;b[61877]=0;b[61878]=0;f[15470]=0;f[15456]=11116;p[7736]=127.0;p[7737]=255.0;p[7738]=212.0;p[7739]=1.0;x=0;Ga(459,61920,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15483]=0;f[15470]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(61936);d=61948;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[61988]=0;b[61989]=0;b[61990]=0;f[15498]=0;f[15484]=11116;p[7750]=240.0;p[7751]=255.0;p[7752]=255.0;p[7753]=1.0;x=0;Ga(459,62032,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15511]=0;f[15498]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62048);d=62060;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62100]=0;b[62101]=0;b[62102]=0;f[15526]=0;f[15512]=11116;p[7764]=245.0;p[7765]=245.0;p[7766]=220.0;p[7767]=1.0;x=0;Ga(459,62144,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15539]=0;f[15526]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62160);d=62172;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62212]=0;b[62213]=0;b[62214]=0;f[15554]=0;f[15540]=11116;p[7778]=255.0;p[7779]=228.0;p[7780]=196.0;p[7781]=1.0;x=0;Ga(459,62256,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15567]=0;f[15554]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62272);d=62284;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62324]=0;b[62325]=0;b[62326]=0;f[15582]=0;f[15568]=11116;f[15584]=0;f[15585]=0;f[15586]=0;f[15587]=0;f[15588]=0;f[15589]=0;p[7795]=1.0;x=0;Ga(459,62368,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15595]=0;f[15582]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62384);d=62396;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62436]=0;b[62437]=0;b[62438]=0;f[15610]=0;f[15596]=11116;p[7806]=255.0;p[7807]=235.0;p[7808]=205.0;p[7809]=1.0;x=0;Ga(459,62480,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15623]=0;f[15610]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62496);d=62508;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62548]=0;b[62549]=0;b[62550]=0;f[15638]=0;f[15624]=11116;f[15640]=0;f[15641]=0;f[15642]=0;f[15643]=0;p[7822]=255.0;p[7823]=1.0;x=0;Ga(459,62592,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15651]=0;f[15638]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62608);d=62620;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62660]=0;b[62661]=0;b[62662]=0;f[15666]=0;f[15652]=11116;p[7834]=138.0;p[7835]=43.0;p[7836]=226.0;p[7837]=1.0;x=0;Ga(459,62704,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15679]=0;f[15666]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62720);d=62732;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62772]=0;b[62773]=0;b[62774]=0;f[15694]=0;f[15680]=11116;p[7848]=165.0;p[7849]=42.0;p[7850]=42.0;p[7851]=1.0;x=0;Ga(459,62816,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15707]=0;f[15694]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62832);d=62844;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62884]=0;b[62885]=0;b[62886]=0;f[15722]=0;f[15708]=11116;p[7862]=222.0;p[7863]=184.0;p[7864]=135.0;p[7865]=1.0;x=0;Ga(459,62928,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15735]=0;f[15722]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(62944);d=62956;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[62996]=0;b[62997]=0;b[62998]=0;f[15750]=0;f[15736]=11116;p[7876]=95.0;p[7877]=158.0;p[7878]=160.0;p[7879]=1.0;x=0;Ga(459,63040,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15763]=0;f[15750]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63056);d=63068;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63108]=0;b[63109]=0;b[63110]=0;f[15778]=0;f[15764]=11116;p[7890]=127.0;p[7891]=255.0;p[7892]=0.0;p[7893]=1.0;x=0;Ga(459,63152,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15791]=0;f[15778]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63168);d=63180;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63220]=0;b[63221]=0;b[63222]=0;f[15806]=0;f[15792]=11116;p[7904]=210.0;p[7905]=105.0;p[7906]=30.0;p[7907]=1.0;x=0;Ga(459,63264,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15819]=0;f[15806]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63280);d=63292;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63332]=0;b[63333]=0;b[63334]=0;f[15834]=0;f[15820]=11116;p[7918]=255.0;p[7919]=127.0;p[7920]=80.0;p[7921]=1.0;x=0;Ga(459,63376,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15847]=0;f[15834]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63392);d=63404;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63444]=0;b[63445]=0;b[63446]=0;f[15862]=0;f[15848]=11116;p[7932]=100.0;p[7933]=149.0;p[7934]=237.0;p[7935]=1.0;x=0;Ga(459,63488,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15875]=0;f[15862]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63504);d=63516;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63556]=0;b[63557]=0;b[63558]=0;f[15890]=0;f[15876]=11116;p[7946]=255.0;p[7947]=248.0;p[7948]=220.0;p[7949]=1.0;x=0;Ga(459,63600,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15903]=0;f[15890]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63616);d=63628;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63668]=0;b[63669]=0;b[63670]=0;f[15918]=0;f[15904]=11116;p[7960]=220.0;p[7961]=20.0;p[7962]=60.0;p[7963]=1.0;x=0;Ga(459,63712,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15931]=0;f[15918]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63728);d=63740;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63780]=0;b[63781]=0;b[63782]=0;f[15946]=0;f[15932]=11116;f[15948]=0;f[15949]=0;f[15950]=0;f[15951]=0;p[7976]=139.0;p[7977]=1.0;x=0;Ga(459,63824,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15959]=0;f[15946]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63840);d=63852;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[63892]=0;b[63893]=0;b[63894]=0;f[15974]=0;f[15960]=11116;p[7988]=0.0;p[7989]=139.0;p[7990]=139.0;p[7991]=1.0;x=0;Ga(459,63936,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[15987]=0;f[15974]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(63952);d=63964;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64004]=0;b[64005]=0;b[64006]=0;f[16002]=0;f[15988]=11116;p[8002]=184.0;p[8003]=134.0;p[8004]=11.0;p[8005]=1.0;x=0;Ga(459,64048,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16015]=0;f[16002]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64064);d=64076;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64116]=0;b[64117]=0;b[64118]=0;f[16030]=0;f[16016]=11116;p[8016]=169.0;p[8017]=169.0;p[8018]=169.0;p[8019]=1.0;x=0;Ga(459,64160,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16043]=0;f[16030]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64176);d=64188;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64228]=0;b[64229]=0;b[64230]=0;f[16058]=0;f[16044]=11116;p[8030]=169.0;p[8031]=169.0;p[8032]=169.0;p[8033]=1.0;x=0;Ga(459,64272,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16071]=0;f[16058]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64288);d=64300;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64340]=0;b[64341]=0;b[64342]=0;f[16086]=0;f[16072]=11116;p[8044]=0.0;p[8045]=100.0;p[8046]=0.0;p[8047]=1.0;x=0;Ga(459,64384,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16099]=0;f[16086]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64400);d=64412;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64452]=0;b[64453]=0;b[64454]=0;f[16114]=0;f[16100]=11116;p[8058]=189.0;p[8059]=183.0;p[8060]=107.0;p[8061]=1.0;x=0;Ga(459,64496,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16127]=0;f[16114]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64512);d=64524;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64564]=0;b[64565]=0;b[64566]=0;f[16142]=0;f[16128]=11116;p[8072]=139.0;p[8073]=0.0;p[8074]=139.0;p[8075]=1.0;x=0;Ga(459,64608,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16155]=0;f[16142]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64624);d=64636;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64676]=0;b[64677]=0;b[64678]=0;f[16170]=0;f[16156]=11116;p[8086]=85.0;p[8087]=107.0;p[8088]=47.0;p[8089]=1.0;x=0;Ga(459,64720,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16183]=0;f[16170]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64736);d=64748;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64788]=0;b[64789]=0;b[64790]=0;f[16198]=0;f[16184]=11116;p[8100]=255.0;p[8101]=140.0;p[8102]=0.0;p[8103]=1.0;x=0;Ga(459,64832,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16211]=0;f[16198]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64848);d=64860;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[64900]=0;b[64901]=0;b[64902]=0;f[16226]=0;f[16212]=11116;p[8114]=153.0;p[8115]=50.0;p[8116]=204.0;p[8117]=1.0;x=0;Ga(459,64944,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16239]=0;f[16226]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(64960);d=64972;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65012]=0;b[65013]=0;b[65014]=0;f[16254]=0;f[16240]=11116;p[8128]=139.0;f[16258]=0;f[16259]=0;f[16260]=0;f[16261]=0;p[8131]=1.0;x=0;Ga(459,65056,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16267]=0;f[16254]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65072);d=65084;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65124]=0;b[65125]=0;b[65126]=0;f[16282]=0;f[16268]=11116;p[8142]=233.0;p[8143]=150.0;p[8144]=122.0;p[8145]=1.0;x=0;Ga(459,65168,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16295]=0;f[16282]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65184);d=65196;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65236]=0;b[65237]=0;b[65238]=0;f[16310]=0;f[16296]=11116;p[8156]=143.0;p[8157]=188.0;p[8158]=143.0;p[8159]=1.0;x=0;Ga(459,65280,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16323]=0;f[16310]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65296);d=65308;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65348]=0;b[65349]=0;b[65350]=0;f[16338]=0;f[16324]=11116;p[8170]=72.0;p[8171]=61.0;p[8172]=139.0;p[8173]=1.0;x=0;Ga(459,65392,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16351]=0;f[16338]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65408);d=65420;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65460]=0;b[65461]=0;b[65462]=0;f[16366]=0;f[16352]=11116;p[8184]=47.0;p[8185]=79.0;p[8186]=79.0;p[8187]=1.0;x=0;Ga(459,65504,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16379]=0;f[16366]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65520);d=65532;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65572]=0;b[65573]=0;b[65574]=0;f[16394]=0;f[16380]=11116;p[8198]=47.0;p[8199]=79.0;p[8200]=79.0;p[8201]=1.0;x=0;Ga(459,65616,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16407]=0;f[16394]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65632);d=65644;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65684]=0;b[65685]=0;b[65686]=0;f[16422]=0;f[16408]=11116;p[8212]=0.0;p[8213]=206.0;p[8214]=209.0;p[8215]=1.0;x=0;Ga(459,65728,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16435]=0;f[16422]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65744);d=65756;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65796]=0;b[65797]=0;b[65798]=0;f[16450]=0;f[16436]=11116;p[8226]=148.0;p[8227]=0.0;p[8228]=211.0;p[8229]=1.0;x=0;Ga(459,65840,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16463]=0;f[16450]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65856);d=65868;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[65908]=0;b[65909]=0;b[65910]=0;f[16478]=0;f[16464]=11116;p[8240]=255.0;p[8241]=20.0;p[8242]=147.0;p[8243]=1.0;x=0;Ga(459,65952,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16491]=0;f[16478]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(65968);d=65980;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66020]=0;b[66021]=0;b[66022]=0;f[16506]=0;f[16492]=11116;p[8254]=0.0;p[8255]=191.0;p[8256]=255.0;p[8257]=1.0;x=0;Ga(459,66064,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16519]=0;f[16506]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66080);d=66092;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66132]=0;b[66133]=0;b[66134]=0;f[16534]=0;f[16520]=11116;p[8268]=105.0;p[8269]=105.0;p[8270]=105.0;p[8271]=1.0;x=0;Ga(459,66176,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16547]=0;f[16534]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66192);d=66204;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66244]=0;b[66245]=0;b[66246]=0;f[16562]=0;f[16548]=11116;p[8282]=105.0;p[8283]=105.0;p[8284]=105.0;p[8285]=1.0;x=0;Ga(459,66288,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16575]=0;f[16562]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66304);d=66316;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66356]=0;b[66357]=0;b[66358]=0;f[16590]=0;f[16576]=11116;p[8296]=30.0;p[8297]=144.0;p[8298]=255.0;p[8299]=1.0;x=0;Ga(459,66400,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16603]=0;f[16590]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66416);d=66428;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66468]=0;b[66469]=0;b[66470]=0;f[16618]=0;f[16604]=11116;p[8310]=178.0;p[8311]=34.0;p[8312]=34.0;p[8313]=1.0;x=0;Ga(459,66512,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16631]=0;f[16618]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66528);d=66540;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66580]=0;b[66581]=0;b[66582]=0;f[16646]=0;f[16632]=11116;p[8324]=255.0;p[8325]=250.0;p[8326]=240.0;p[8327]=1.0;x=0;Ga(459,66624,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16659]=0;f[16646]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66640);d=66652;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66692]=0;b[66693]=0;b[66694]=0;f[16674]=0;f[16660]=11116;p[8338]=34.0;p[8339]=139.0;p[8340]=34.0;p[8341]=1.0;x=0;Ga(459,66736,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16687]=0;f[16674]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66752);d=66764;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66804]=0;b[66805]=0;b[66806]=0;f[16702]=0;f[16688]=11116;p[8352]=255.0;p[8353]=0.0;p[8354]=255.0;p[8355]=1.0;x=0;Ga(459,66848,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16715]=0;f[16702]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66864);d=66876;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[66916]=0;b[66917]=0;b[66918]=0;f[16730]=0;f[16716]=11116;p[8366]=255.0;p[8367]=0.0;p[8368]=255.0;p[8369]=1.0;x=0;Ga(459,66960,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16743]=0;f[16730]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(66976);d=66988;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67028]=0;b[67029]=0;b[67030]=0;f[16758]=0;f[16744]=11116;p[8380]=220.0;p[8381]=220.0;p[8382]=220.0;p[8383]=1.0;x=0;Ga(459,67072,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16771]=0;f[16758]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67088);d=67100;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67140]=0;b[67141]=0;b[67142]=0;f[16786]=0;f[16772]=11116;p[8394]=248.0;p[8395]=248.0;p[8396]=255.0;p[8397]=1.0;x=0;Ga(459,67184,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16799]=0;f[16786]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67200);d=67212;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67252]=0;b[67253]=0;b[67254]=0;f[16814]=0;f[16800]=11116;p[8408]=255.0;p[8409]=215.0;p[8410]=0.0;p[8411]=1.0;x=0;Ga(459,67296,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16827]=0;f[16814]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67312);d=67324;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67364]=0;b[67365]=0;b[67366]=0;f[16842]=0;f[16828]=11116;p[8422]=218.0;p[8423]=165.0;p[8424]=32.0;p[8425]=1.0;x=0;Ga(459,67408,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16855]=0;f[16842]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67424);d=67436;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67476]=0;b[67477]=0;b[67478]=0;f[16870]=0;f[16856]=11116;p[8436]=128.0;p[8437]=128.0;p[8438]=128.0;p[8439]=1.0;x=0;Ga(459,67520,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16883]=0;f[16870]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67536);d=67548;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67588]=0;b[67589]=0;b[67590]=0;f[16898]=0;f[16884]=11116;p[8450]=128.0;p[8451]=128.0;p[8452]=128.0;p[8453]=1.0;x=0;Ga(459,67632,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16911]=0;f[16898]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67648);d=67660;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67700]=0;b[67701]=0;b[67702]=0;f[16926]=0;f[16912]=11116;p[8464]=0.0;p[8465]=128.0;p[8466]=0.0;p[8467]=1.0;x=0;Ga(459,67744,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16939]=0;f[16926]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67760);d=67772;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67812]=0;b[67813]=0;b[67814]=0;f[16954]=0;f[16940]=11116;p[8478]=173.0;p[8479]=255.0;p[8480]=47.0;p[8481]=1.0;x=0;Ga(459,67856,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16967]=0;f[16954]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67872);d=67884;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[67924]=0;b[67925]=0;b[67926]=0;f[16982]=0;f[16968]=11116;p[8492]=240.0;p[8493]=255.0;p[8494]=240.0;p[8495]=1.0;x=0;Ga(459,67968,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[16995]=0;f[16982]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(67984);d=67996;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68036]=0;b[68037]=0;b[68038]=0;f[17010]=0;f[16996]=11116;p[8506]=255.0;p[8507]=105.0;p[8508]=180.0;p[8509]=1.0;x=0;Ga(459,68080,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17023]=0;f[17010]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68096);d=68108;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68148]=0;b[68149]=0;b[68150]=0;f[17038]=0;f[17024]=11116;p[8520]=205.0;p[8521]=92.0;p[8522]=92.0;p[8523]=1.0;x=0;Ga(459,68192,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17051]=0;f[17038]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68208);d=68220;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68260]=0;b[68261]=0;b[68262]=0;f[17066]=0;f[17052]=11116;p[8534]=75.0;p[8535]=0.0;p[8536]=130.0;p[8537]=1.0;x=0;Ga(459,68304,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17079]=0;f[17066]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68320);d=68332;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68372]=0;b[68373]=0;b[68374]=0;f[17094]=0;f[17080]=11116;p[8548]=255.0;p[8549]=255.0;p[8550]=240.0;p[8551]=1.0;x=0;Ga(459,68416,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17107]=0;f[17094]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68432);d=68444;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68484]=0;b[68485]=0;b[68486]=0;f[17122]=0;f[17108]=11116;p[8562]=240.0;p[8563]=230.0;p[8564]=140.0;p[8565]=1.0;x=0;Ga(459,68528,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17135]=0;f[17122]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68544);d=68556;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68596]=0;b[68597]=0;b[68598]=0;f[17150]=0;f[17136]=11116;p[8576]=230.0;p[8577]=230.0;p[8578]=250.0;p[8579]=1.0;x=0;Ga(459,68640,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17163]=0;f[17150]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68656);d=68668;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68708]=0;b[68709]=0;b[68710]=0;f[17178]=0;f[17164]=11116;p[8590]=255.0;p[8591]=240.0;p[8592]=245.0;p[8593]=1.0;x=0;Ga(459,68752,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17191]=0;f[17178]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68768);d=68780;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68820]=0;b[68821]=0;b[68822]=0;f[17206]=0;f[17192]=11116;p[8604]=124.0;p[8605]=252.0;p[8606]=0.0;p[8607]=1.0;x=0;Ga(459,68864,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17219]=0;f[17206]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68880);d=68892;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[68932]=0;b[68933]=0;b[68934]=0;f[17234]=0;f[17220]=11116;p[8618]=255.0;p[8619]=250.0;p[8620]=205.0;p[8621]=1.0;x=0;Ga(459,68976,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17247]=0;f[17234]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(68992);d=69004;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69044]=0;b[69045]=0;b[69046]=0;f[17262]=0;f[17248]=11116;p[8632]=173.0;p[8633]=216.0;p[8634]=230.0;p[8635]=1.0;x=0;Ga(459,69088,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17275]=0;f[17262]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69104);d=69116;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69156]=0;b[69157]=0;b[69158]=0;f[17290]=0;f[17276]=11116;p[8646]=240.0;p[8647]=128.0;p[8648]=128.0;p[8649]=1.0;x=0;Ga(459,69200,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17303]=0;f[17290]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69216);d=69228;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69268]=0;b[69269]=0;b[69270]=0;f[17318]=0;f[17304]=11116;p[8660]=224.0;p[8661]=255.0;p[8662]=255.0;p[8663]=1.0;x=0;Ga(459,69312,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17331]=0;f[17318]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69328);d=69340;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69380]=0;b[69381]=0;b[69382]=0;f[17346]=0;f[17332]=11116;p[8674]=250.0;p[8675]=250.0;p[8676]=210.0;p[8677]=1.0;x=0;Ga(459,69424,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17359]=0;f[17346]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69440);d=69452;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69492]=0;b[69493]=0;b[69494]=0;f[17374]=0;f[17360]=11116;p[8688]=211.0;p[8689]=211.0;p[8690]=211.0;p[8691]=1.0;x=0;Ga(459,69536,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17387]=0;f[17374]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69552);d=69564;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69604]=0;b[69605]=0;b[69606]=0;f[17402]=0;f[17388]=11116;p[8702]=211.0;p[8703]=211.0;p[8704]=211.0;p[8705]=1.0;x=0;Ga(459,69648,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17415]=0;f[17402]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69664);d=69676;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69716]=0;b[69717]=0;b[69718]=0;f[17430]=0;f[17416]=11116;p[8716]=144.0;p[8717]=238.0;p[8718]=144.0;p[8719]=1.0;x=0;Ga(459,69760,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17443]=0;f[17430]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69776);d=69788;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69828]=0;b[69829]=0;b[69830]=0;f[17458]=0;f[17444]=11116;p[8730]=255.0;p[8731]=182.0;p[8732]=193.0;p[8733]=1.0;x=0;Ga(459,69872,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17471]=0;f[17458]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(69888);d=69900;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[69940]=0;b[69941]=0;b[69942]=0;f[17486]=0;f[17472]=11116;p[8744]=255.0;p[8745]=160.0;p[8746]=122.0;p[8747]=1.0;x=0;Ga(459,69984,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17499]=0;f[17486]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(7e4);d=70012;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70052]=0;b[70053]=0;b[70054]=0;f[17514]=0;f[17500]=11116;p[8758]=32.0;p[8759]=178.0;p[8760]=170.0;p[8761]=1.0;x=0;Ga(459,70096,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17527]=0;f[17514]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70112);d=70124;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70164]=0;b[70165]=0;b[70166]=0;f[17542]=0;f[17528]=11116;p[8772]=135.0;p[8773]=206.0;p[8774]=250.0;p[8775]=1.0;x=0;Ga(459,70208,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17555]=0;f[17542]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70224);d=70236;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70276]=0;b[70277]=0;b[70278]=0;f[17570]=0;f[17556]=11116;p[8786]=119.0;p[8787]=136.0;p[8788]=153.0;p[8789]=1.0;x=0;Ga(459,70320,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17583]=0;f[17570]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70336);d=70348;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70388]=0;b[70389]=0;b[70390]=0;f[17598]=0;f[17584]=11116;p[8800]=119.0;p[8801]=136.0;p[8802]=153.0;p[8803]=1.0;x=0;Ga(459,70432,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17611]=0;f[17598]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70448);d=70460;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70500]=0;b[70501]=0;b[70502]=0;f[17626]=0;f[17612]=11116;p[8814]=176.0;p[8815]=196.0;p[8816]=222.0;p[8817]=1.0;x=0;Ga(459,70544,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17639]=0;f[17626]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70560);d=70572;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70612]=0;b[70613]=0;b[70614]=0;f[17654]=0;f[17640]=11116;p[8828]=255.0;p[8829]=255.0;p[8830]=224.0;p[8831]=1.0;x=0;Ga(459,70656,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17667]=0;f[17654]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70672);d=70684;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70724]=0;b[70725]=0;b[70726]=0;f[17682]=0;f[17668]=11116;p[8842]=0.0;p[8843]=255.0;p[8844]=0.0;p[8845]=1.0;x=0;Ga(459,70768,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17695]=0;f[17682]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70784);d=70796;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70836]=0;b[70837]=0;b[70838]=0;f[17710]=0;f[17696]=11116;p[8856]=50.0;p[8857]=205.0;p[8858]=50.0;p[8859]=1.0;x=0;Ga(459,70880,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17723]=0;f[17710]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(70896);d=70908;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[70948]=0;b[70949]=0;b[70950]=0;f[17738]=0;f[17724]=11116;p[8870]=250.0;p[8871]=240.0;p[8872]=230.0;p[8873]=1.0;x=0;Ga(459,70992,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17751]=0;f[17738]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71008);d=71020;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71060]=0;b[71061]=0;b[71062]=0;f[17766]=0;f[17752]=11116;p[8884]=128.0;f[17770]=0;f[17771]=0;f[17772]=0;f[17773]=0;p[8887]=1.0;x=0;Ga(459,71104,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17779]=0;f[17766]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71120);d=71132;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71172]=0;b[71173]=0;b[71174]=0;f[17794]=0;f[17780]=11116;p[8898]=102.0;p[8899]=205.0;p[8900]=170.0;p[8901]=1.0;x=0;Ga(459,71216,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17807]=0;f[17794]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71232);d=71244;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71284]=0;b[71285]=0;b[71286]=0;f[17822]=0;f[17808]=11116;f[17824]=0;f[17825]=0;f[17826]=0;f[17827]=0;p[8914]=205.0;p[8915]=1.0;x=0;Ga(459,71328,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17835]=0;f[17822]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71344);d=71356;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71396]=0;b[71397]=0;b[71398]=0;f[17850]=0;f[17836]=11116;p[8926]=186.0;p[8927]=85.0;p[8928]=211.0;p[8929]=1.0;x=0;Ga(459,71440,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17863]=0;f[17850]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71456);d=71468;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71508]=0;b[71509]=0;b[71510]=0;f[17878]=0;f[17864]=11116;p[8940]=147.0;p[8941]=112.0;p[8942]=219.0;p[8943]=1.0;x=0;Ga(459,71552,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17891]=0;f[17878]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71568);d=71580;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71620]=0;b[71621]=0;b[71622]=0;f[17906]=0;f[17892]=11116;p[8954]=60.0;p[8955]=179.0;p[8956]=113.0;p[8957]=1.0;x=0;Ga(459,71664,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17919]=0;f[17906]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71680);d=71692;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71732]=0;b[71733]=0;b[71734]=0;f[17934]=0;f[17920]=11116;p[8968]=123.0;p[8969]=104.0;p[8970]=238.0;p[8971]=1.0;x=0;Ga(459,71776,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17947]=0;f[17934]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71792);d=71804;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71844]=0;b[71845]=0;b[71846]=0;f[17962]=0;f[17948]=11116;p[8982]=0.0;p[8983]=250.0;p[8984]=154.0;p[8985]=1.0;x=0;Ga(459,71888,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[17975]=0;f[17962]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(71904);d=71916;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[71956]=0;b[71957]=0;b[71958]=0;f[17990]=0;f[17976]=11116;p[8996]=72.0;p[8997]=209.0;p[8998]=204.0;p[8999]=1.0;x=0;Ga(459,72e3,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18003]=0;f[17990]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72016);d=72028;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72068]=0;b[72069]=0;b[72070]=0;f[18018]=0;f[18004]=11116;p[9010]=199.0;p[9011]=21.0;p[9012]=133.0;p[9013]=1.0;x=0;Ga(459,72112,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18031]=0;f[18018]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72128);d=72140;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72180]=0;b[72181]=0;b[72182]=0;f[18046]=0;f[18032]=11116;p[9024]=25.0;p[9025]=25.0;p[9026]=112.0;p[9027]=1.0;x=0;Ga(459,72224,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18059]=0;f[18046]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72240);d=72252;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72292]=0;b[72293]=0;b[72294]=0;f[18074]=0;f[18060]=11116;p[9038]=245.0;p[9039]=255.0;p[9040]=250.0;p[9041]=1.0;x=0;Ga(459,72336,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18087]=0;f[18074]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72352);d=72364;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72404]=0;b[72405]=0;b[72406]=0;f[18102]=0;f[18088]=11116;p[9052]=255.0;p[9053]=228.0;p[9054]=225.0;p[9055]=1.0;x=0;Ga(459,72448,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18115]=0;f[18102]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72464);d=72476;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72516]=0;b[72517]=0;b[72518]=0;f[18130]=0;f[18116]=11116;p[9066]=255.0;p[9067]=228.0;p[9068]=181.0;p[9069]=1.0;x=0;Ga(459,72560,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18143]=0;f[18130]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72576);d=72588;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72628]=0;b[72629]=0;b[72630]=0;f[18158]=0;f[18144]=11116;p[9080]=255.0;p[9081]=222.0;p[9082]=173.0;p[9083]=1.0;x=0;Ga(459,72672,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18171]=0;f[18158]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72688);d=72700;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72740]=0;b[72741]=0;b[72742]=0;f[18186]=0;f[18172]=11116;f[18188]=0;f[18189]=0;f[18190]=0;f[18191]=0;p[9096]=128.0;p[9097]=1.0;x=0;Ga(459,72784,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18199]=0;f[18186]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72800);d=72812;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72852]=0;b[72853]=0;b[72854]=0;f[18214]=0;f[18200]=11116;p[9108]=253.0;p[9109]=245.0;p[9110]=230.0;p[9111]=1.0;x=0;Ga(459,72896,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18227]=0;f[18214]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(72912);d=72924;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[72964]=0;b[72965]=0;b[72966]=0;f[18242]=0;f[18228]=11116;p[9122]=128.0;p[9123]=128.0;p[9124]=0.0;p[9125]=1.0;x=0;Ga(459,73008,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18255]=0;f[18242]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73024);d=73036;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73076]=0;b[73077]=0;b[73078]=0;f[18270]=0;f[18256]=11116;p[9136]=107.0;p[9137]=142.0;p[9138]=35.0;p[9139]=1.0;x=0;Ga(459,73120,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18283]=0;f[18270]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73136);d=73148;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73188]=0;b[73189]=0;b[73190]=0;f[18298]=0;f[18284]=11116;p[9150]=255.0;p[9151]=165.0;p[9152]=0.0;p[9153]=1.0;x=0;Ga(459,73232,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18311]=0;f[18298]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73248);d=73260;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73300]=0;b[73301]=0;b[73302]=0;f[18326]=0;f[18312]=11116;p[9164]=255.0;p[9165]=69.0;p[9166]=0.0;p[9167]=1.0;x=0;Ga(459,73344,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18339]=0;f[18326]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73360);d=73372;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73412]=0;b[73413]=0;b[73414]=0;f[18354]=0;f[18340]=11116;p[9178]=218.0;p[9179]=112.0;p[9180]=214.0;p[9181]=1.0;x=0;Ga(459,73456,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18367]=0;f[18354]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73472);d=73484;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73524]=0;b[73525]=0;b[73526]=0;f[18382]=0;f[18368]=11116;p[9192]=238.0;p[9193]=232.0;p[9194]=170.0;p[9195]=1.0;x=0;Ga(459,73568,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18395]=0;f[18382]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73584);d=73596;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73636]=0;b[73637]=0;b[73638]=0;f[18410]=0;f[18396]=11116;p[9206]=152.0;p[9207]=251.0;p[9208]=152.0;p[9209]=1.0;x=0;Ga(459,73680,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18423]=0;f[18410]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73696);d=73708;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73748]=0;b[73749]=0;b[73750]=0;f[18438]=0;f[18424]=11116;p[9220]=175.0;p[9221]=238.0;p[9222]=238.0;p[9223]=1.0;x=0;Ga(459,73792,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18451]=0;f[18438]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73808);d=73820;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73860]=0;b[73861]=0;b[73862]=0;f[18466]=0;f[18452]=11116;p[9234]=219.0;p[9235]=112.0;p[9236]=147.0;p[9237]=1.0;x=0;Ga(459,73904,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18479]=0;f[18466]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(73920);d=73932;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[73972]=0;b[73973]=0;b[73974]=0;f[18494]=0;f[18480]=11116;p[9248]=255.0;p[9249]=239.0;p[9250]=213.0;p[9251]=1.0;x=0;Ga(459,74016,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18507]=0;f[18494]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74032);d=74044;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74084]=0;b[74085]=0;b[74086]=0;f[18522]=0;f[18508]=11116;p[9262]=255.0;p[9263]=218.0;p[9264]=185.0;p[9265]=1.0;x=0;Ga(459,74128,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18535]=0;f[18522]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74144);d=74156;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74196]=0;b[74197]=0;b[74198]=0;f[18550]=0;f[18536]=11116;p[9276]=205.0;p[9277]=133.0;p[9278]=63.0;p[9279]=1.0;x=0;Ga(459,74240,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18563]=0;f[18550]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74256);d=74268;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74308]=0;b[74309]=0;b[74310]=0;f[18578]=0;f[18564]=11116;p[9290]=255.0;p[9291]=192.0;p[9292]=203.0;p[9293]=1.0;x=0;Ga(459,74352,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18591]=0;f[18578]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74368);d=74380;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74420]=0;b[74421]=0;b[74422]=0;f[18606]=0;f[18592]=11116;p[9304]=221.0;p[9305]=160.0;p[9306]=221.0;p[9307]=1.0;x=0;Ga(459,74464,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18619]=0;f[18606]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74480);d=74492;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74532]=0;b[74533]=0;b[74534]=0;f[18634]=0;f[18620]=11116;p[9318]=176.0;p[9319]=224.0;p[9320]=230.0;p[9321]=1.0;x=0;Ga(459,74576,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18647]=0;f[18634]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74592);d=74604;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74644]=0;b[74645]=0;b[74646]=0;f[18662]=0;f[18648]=11116;p[9332]=128.0;p[9333]=0.0;p[9334]=128.0;p[9335]=1.0;x=0;Ga(459,74688,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18675]=0;f[18662]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74704);d=74716;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74756]=0;b[74757]=0;b[74758]=0;f[18690]=0;f[18676]=11116;p[9346]=255.0;f[18694]=0;f[18695]=0;f[18696]=0;f[18697]=0;p[9349]=1.0;x=0;Ga(459,74800,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18703]=0;f[18690]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74816);d=74828;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74868]=0;b[74869]=0;b[74870]=0;f[18718]=0;f[18704]=11116;p[9360]=188.0;p[9361]=143.0;p[9362]=143.0;p[9363]=1.0;x=0;Ga(459,74912,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18731]=0;f[18718]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(74928);d=74940;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[74980]=0;b[74981]=0;b[74982]=0;f[18746]=0;f[18732]=11116;p[9374]=65.0;p[9375]=105.0;p[9376]=225.0;p[9377]=1.0;x=0;Ga(459,75024,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18759]=0;f[18746]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75040);d=75052;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75092]=0;b[75093]=0;b[75094]=0;f[18774]=0;f[18760]=11116;p[9388]=139.0;p[9389]=69.0;p[9390]=19.0;p[9391]=1.0;x=0;Ga(459,75136,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18787]=0;f[18774]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75152);d=75164;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75204]=0;b[75205]=0;b[75206]=0;f[18802]=0;f[18788]=11116;p[9402]=250.0;p[9403]=128.0;p[9404]=114.0;p[9405]=1.0;x=0;Ga(459,75248,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18815]=0;f[18802]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75264);d=75276;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75316]=0;b[75317]=0;b[75318]=0;f[18830]=0;f[18816]=11116;p[9416]=244.0;p[9417]=164.0;p[9418]=96.0;p[9419]=1.0;x=0;Ga(459,75360,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18843]=0;f[18830]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75376);d=75388;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75428]=0;b[75429]=0;b[75430]=0;f[18858]=0;f[18844]=11116;p[9430]=46.0;p[9431]=139.0;p[9432]=87.0;p[9433]=1.0;x=0;Ga(459,75472,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18871]=0;f[18858]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75488);d=75500;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75540]=0;b[75541]=0;b[75542]=0;f[18886]=0;f[18872]=11116;p[9444]=255.0;p[9445]=245.0;p[9446]=238.0;p[9447]=1.0;x=0;Ga(459,75584,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18899]=0;f[18886]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75600);d=75612;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75652]=0;b[75653]=0;b[75654]=0;f[18914]=0;f[18900]=11116;p[9458]=160.0;p[9459]=82.0;p[9460]=45.0;p[9461]=1.0;x=0;Ga(459,75696,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18927]=0;f[18914]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75712);d=75724;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75764]=0;b[75765]=0;b[75766]=0;f[18942]=0;f[18928]=11116;p[9472]=192.0;p[9473]=192.0;p[9474]=192.0;p[9475]=1.0;x=0;Ga(459,75808,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18955]=0;f[18942]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75824);d=75836;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75876]=0;b[75877]=0;b[75878]=0;f[18970]=0;f[18956]=11116;p[9486]=135.0;p[9487]=206.0;p[9488]=235.0;p[9489]=1.0;x=0;Ga(459,75920,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[18983]=0;f[18970]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(75936);d=75948;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[75988]=0;b[75989]=0;b[75990]=0;f[18998]=0;f[18984]=11116;p[9500]=106.0;p[9501]=90.0;p[9502]=205.0;p[9503]=1.0;x=0;Ga(459,76032,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19011]=0;f[18998]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76048);d=76060;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76100]=0;b[76101]=0;b[76102]=0;f[19026]=0;f[19012]=11116;p[9514]=112.0;p[9515]=128.0;p[9516]=144.0;p[9517]=1.0;x=0;Ga(459,76144,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19039]=0;f[19026]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76160);d=76172;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76212]=0;b[76213]=0;b[76214]=0;f[19054]=0;f[19040]=11116;p[9528]=112.0;p[9529]=128.0;p[9530]=144.0;p[9531]=1.0;x=0;Ga(459,76256,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19067]=0;f[19054]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76272);d=76284;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76324]=0;b[76325]=0;b[76326]=0;f[19082]=0;f[19068]=11116;p[9542]=255.0;p[9543]=250.0;p[9544]=250.0;p[9545]=1.0;x=0;Ga(459,76368,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19095]=0;f[19082]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76384);d=76396;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76436]=0;b[76437]=0;b[76438]=0;f[19110]=0;f[19096]=11116;p[9556]=0.0;p[9557]=255.0;p[9558]=127.0;p[9559]=1.0;x=0;Ga(459,76480,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19123]=0;f[19110]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76496);d=76508;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76548]=0;b[76549]=0;b[76550]=0;f[19138]=0;f[19124]=11116;p[9570]=70.0;p[9571]=130.0;p[9572]=180.0;p[9573]=1.0;x=0;Ga(459,76592,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19151]=0;f[19138]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76608);d=76620;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76660]=0;b[76661]=0;b[76662]=0;f[19166]=0;f[19152]=11116;p[9584]=210.0;p[9585]=180.0;p[9586]=140.0;p[9587]=1.0;x=0;Ga(459,76704,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19179]=0;f[19166]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76720);d=76732;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76772]=0;b[76773]=0;b[76774]=0;f[19194]=0;f[19180]=11116;p[9598]=0.0;p[9599]=128.0;p[9600]=128.0;p[9601]=1.0;x=0;Ga(459,76816,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19207]=0;f[19194]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76832);d=76844;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76884]=0;b[76885]=0;b[76886]=0;f[19222]=0;f[19208]=11116;p[9612]=216.0;p[9613]=191.0;p[9614]=216.0;p[9615]=1.0;x=0;Ga(459,76928,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19235]=0;f[19222]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(76944);d=76956;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[76996]=0;b[76997]=0;b[76998]=0;f[19250]=0;f[19236]=11116;p[9626]=255.0;p[9627]=99.0;p[9628]=71.0;p[9629]=1.0;x=0;Ga(459,77040,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19263]=0;f[19250]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77056);d=77068;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77108]=0;b[77109]=0;b[77110]=0;f[19278]=0;f[19264]=11116;p[9640]=64.0;p[9641]=224.0;p[9642]=208.0;p[9643]=1.0;x=0;Ga(459,77152,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19291]=0;f[19278]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77168);d=77180;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77220]=0;b[77221]=0;b[77222]=0;f[19306]=0;f[19292]=11116;p[9654]=238.0;p[9655]=130.0;p[9656]=238.0;p[9657]=1.0;x=0;Ga(459,77264,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19319]=0;f[19306]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77280);d=77292;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77332]=0;b[77333]=0;b[77334]=0;f[19334]=0;f[19320]=11116;p[9668]=245.0;p[9669]=222.0;p[9670]=179.0;p[9671]=1.0;x=0;Ga(459,77376,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19347]=0;f[19334]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77392);d=77404;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77444]=0;b[77445]=0;b[77446]=0;f[19362]=0;f[19348]=11116;p[9682]=255.0;p[9683]=255.0;p[9684]=255.0;p[9685]=1.0;x=0;Ga(459,77488,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19375]=0;f[19362]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77504);d=77516;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77556]=0;b[77557]=0;b[77558]=0;f[19390]=0;f[19376]=11116;p[9696]=245.0;p[9697]=245.0;p[9698]=245.0;p[9699]=1.0;x=0;Ga(459,77600,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19403]=0;f[19390]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77616);d=77628;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77668]=0;b[77669]=0;b[77670]=0;f[19418]=0;f[19404]=11116;p[9710]=255.0;p[9711]=255.0;p[9712]=0.0;p[9713]=1.0;x=0;Ga(459,77712,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19431]=0;f[19418]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77728);d=77740;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77780]=0;b[77781]=0;b[77782]=0;f[19446]=0;f[19432]=11116;p[9724]=154.0;p[9725]=205.0;p[9726]=50.0;p[9727]=1.0;x=0;Ga(459,77824,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19459]=0;f[19446]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77840);d=77852;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[77892]=0;b[77893]=0;b[77894]=0;f[19474]=0;f[19460]=11116;p[9738]=102.0;p[9739]=51.0;p[9740]=153.0;p[9741]=1.0;x=0;Ga(459,77936,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19487]=0;f[19474]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);c=n+11|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;d=m;g=79544;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));efa(77952);d=77964;g=m;h=d+40|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));b[78004]=0;b[78005]=0;b[78006]=0;f[19502]=0;f[19488]=11116;f[19504]=0;f[19505]=0;f[19506]=0;f[19507]=0;f[19508]=0;f[19509]=0;f[19510]=0;f[19511]=0;x=0;Ga(459,78048,n|0);i=x;x=0;if(i&1){a=Ya()|0;if((b[c>>0]|0)>=0)jb(a|0);Hta(f[n>>2]|0);jb(a|0)}f[19515]=0;f[19502]=3;if((b[c>>0]|0)<0)Hta(f[n>>2]|0);f[e>>2]=15792383;f[e+4>>2]=41643;f[e+8>>2]=16444375;f[e+12>>2]=41653;f[e+16>>2]=65535;f[e+20>>2]=41666;f[e+24>>2]=8388564;f[e+28>>2]=41676;f[e+32>>2]=15794175;f[e+36>>2]=41687;f[e+40>>2]=16119260;f[e+44>>2]=41693;f[e+48>>2]=16770244;f[e+52>>2]=41699;f[e+56>>2]=0;f[e+60>>2]=41706;f[e+64>>2]=16772045;f[e+68>>2]=41712;f[e+72>>2]=255;f[e+76>>2]=41727;f[e+80>>2]=9055202;f[e+84>>2]=41732;f[e+88>>2]=10824234;f[e+92>>2]=41743;f[e+96>>2]=14596231;f[e+100>>2]=41749;f[e+104>>2]=6266528;f[e+108>>2]=41759;f[e+112>>2]=8388352;f[e+116>>2]=41769;f[e+120>>2]=13789470;f[e+124>>2]=41780;f[e+128>>2]=16744272;f[e+132>>2]=41790;f[e+136>>2]=6591981;f[e+140>>2]=41796;f[e+144>>2]=16775388;f[e+148>>2]=41811;f[e+152>>2]=14423100;f[e+156>>2]=41820;f[e+160>>2]=139;f[e+164>>2]=41828;f[e+168>>2]=35723;f[e+172>>2]=41837;f[e+176>>2]=12092939;f[e+180>>2]=41846;f[e+184>>2]=11119017;f[e+188>>2]=41860;f[e+192>>2]=25600;f[e+196>>2]=41878;f[e+200>>2]=12433259;f[e+204>>2]=41888;f[e+208>>2]=9109643;f[e+212>>2]=41898;f[e+216>>2]=5597999;f[e+220>>2]=41910;f[e+224>>2]=16747520;f[e+228>>2]=41925;f[e+232>>2]=10040012;f[e+236>>2]=41936;f[e+240>>2]=9109504;f[e+244>>2]=41947;f[e+248>>2]=15308410;f[e+252>>2]=41955;f[e+256>>2]=9419919;f[e+260>>2]=41966;f[e+264>>2]=4734347;f[e+268>>2]=41979;f[e+272>>2]=3100495;f[e+276>>2]=41993;f[e+280>>2]=52945;f[e+284>>2]=42021;f[e+288>>2]=9699539;f[e+292>>2]=42035;f[e+296>>2]=16716947;f[e+300>>2]=42046;f[e+304>>2]=49151;f[e+308>>2]=42055;f[e+312>>2]=6908265;f[e+316>>2]=42067;f[e+320>>2]=2003199;f[e+324>>2]=42083;f[e+328>>2]=11674146;f[e+332>>2]=42094;f[e+336>>2]=16775920;f[e+340>>2]=42104;f[e+344>>2]=2263842;f[e+348>>2]=42116;f[e+352>>2]=16711935;f[e+356>>2]=42128;f[e+360>>2]=14474460;f[e+364>>2]=42144;f[e+368>>2]=16316671;f[e+372>>2]=42154;f[e+376>>2]=16766720;f[e+380>>2]=42165;f[e+384>>2]=14329120;f[e+388>>2]=42170;f[e+392>>2]=8421504;f[e+396>>2]=42180;f[e+400>>2]=32768;f[e+404>>2]=42190;f[e+408>>2]=11403055;f[e+412>>2]=42196;f[e+416>>2]=15794160;f[e+420>>2]=42208;f[e+424>>2]=16738740;f[e+428>>2]=42217;f[e+432>>2]=13458524;f[e+436>>2]=42225;f[e+440>>2]=4915330;f[e+444>>2]=42235;f[e+448>>2]=16777200;f[e+452>>2]=42242;f[e+456>>2]=15787660;f[e+460>>2]=42248;f[e+464>>2]=15132410;f[e+468>>2]=42254;f[e+472>>2]=16773365;f[e+476>>2]=42263;f[e+480>>2]=8190976;f[e+484>>2]=42277;f[e+488>>2]=16775885;f[e+492>>2]=42287;f[e+496>>2]=11393254;f[e+500>>2]=42300;f[e+504>>2]=15761536;f[e+508>>2]=42310;f[e+512>>2]=14745599;f[e+516>>2]=42321;f[e+520>>2]=16448210;f[e+524>>2]=42331;f[e+528>>2]=13882323;f[e+532>>2]=42352;f[e+536>>2]=9498256;f[e+540>>2]=42372;f[e+544>>2]=16758465;f[e+548>>2]=42383;f[e+552>>2]=16752762;f[e+556>>2]=42393;f[e+560>>2]=2142890;f[e+564>>2]=42405;f[e+568>>2]=8900346;f[e+572>>2]=42419;f[e+576>>2]=7833753;f[e+580>>2]=42432;f[e+584>>2]=11584734;f[e+588>>2]=42462;f[e+592>>2]=16777184;f[e+596>>2]=42477;f[e+600>>2]=65280;f[e+604>>2]=42489;f[e+608>>2]=3329330;f[e+612>>2]=42494;f[e+616>>2]=16445670;f[e+620>>2]=42504;f[e+624>>2]=8388608;f[e+628>>2]=42510;f[e+632>>2]=6737322;f[e+636>>2]=42517;f[e+640>>2]=205;f[e+644>>2]=42534;f[e+648>>2]=12211667;f[e+652>>2]=42545;f[e+656>>2]=9662683;f[e+660>>2]=42558;f[e+664>>2]=3978097;f[e+668>>2]=42571;f[e+672>>2]=8087790;f[e+676>>2]=42586;f[e+680>>2]=64154;f[e+684>>2]=42602;f[e+688>>2]=4772300;f[e+692>>2]=42620;f[e+696>>2]=13047173;f[e+700>>2]=42636;f[e+704>>2]=1644912;f[e+708>>2]=42652;f[e+712>>2]=16121850;f[e+716>>2]=42665;f[e+720>>2]=16770273;f[e+724>>2]=42675;f[e+728>>2]=16770229;f[e+732>>2]=42685;f[e+736>>2]=16768685;f[e+740>>2]=42694;f[e+744>>2]=128;f[e+748>>2]=42706;f[e+752>>2]=16643558;f[e+756>>2]=42711;f[e+760>>2]=8421376;f[e+764>>2]=42719;f[e+768>>2]=7048739;f[e+772>>2]=42725;f[e+776>>2]=16753920;f[e+780>>2]=42735;f[e+784>>2]=16729344;f[e+788>>2]=42742;f[e+792>>2]=14315734;f[e+796>>2]=42752;f[e+800>>2]=15657130;f[e+804>>2]=42759;f[e+808>>2]=10025880;f[e+812>>2]=42773;f[e+816>>2]=11529966;f[e+820>>2]=42783;f[e+824>>2]=14381203;f[e+828>>2]=42797;f[e+832>>2]=16773077;f[e+836>>2]=42811;f[e+840>>2]=16767673;f[e+844>>2]=42822;f[e+848>>2]=13468991;f[e+852>>2]=42832;f[e+856>>2]=16761035;f[e+860>>2]=42837;f[e+864>>2]=14524637;f[e+868>>2]=42842;f[e+872>>2]=11591910;f[e+876>>2]=42847;f[e+880>>2]=8388736;f[e+884>>2]=42858;f[e+888>>2]=16711680;f[e+892>>2]=42865;f[e+896>>2]=12357519;f[e+900>>2]=42869;f[e+904>>2]=4286945;f[e+908>>2]=42879;f[e+912>>2]=9127187;f[e+916>>2]=42889;f[e+920>>2]=16416882;f[e+924>>2]=42901;f[e+928>>2]=16032864;f[e+932>>2]=42908;f[e+936>>2]=3050327;f[e+940>>2]=42919;f[e+944>>2]=16774638;f[e+948>>2]=42928;f[e+952>>2]=10506797;f[e+956>>2]=42937;f[e+960>>2]=12632256;f[e+964>>2]=42944;f[e+968>>2]=8900331;f[e+972>>2]=42951;f[e+976>>2]=6970061;f[e+980>>2]=42959;f[e+984>>2]=7372944;f[e+988>>2]=42969;f[e+992>>2]=16775930;f[e+996>>2]=42989;f[e+1e3>>2]=65407;f[e+1004>>2]=42994;f[e+1008>>2]=4620980;f[e+1012>>2]=43006;f[e+1016>>2]=13808780;f[e+1020>>2]=43016;f[e+1024>>2]=32896;f[e+1028>>2]=43020;f[e+1032>>2]=14204888;f[e+1036>>2]=43025;f[e+1040>>2]=16737095;f[e+1044>>2]=43033;f[e+1048>>2]=4251856;f[e+1052>>2]=43040;f[e+1056>>2]=15631086;f[e+1060>>2]=43050;f[e+1064>>2]=16113331;f[e+1068>>2]=43057;f[e+1072>>2]=16777215;f[e+1076>>2]=43063;f[e+1080>>2]=16119285;f[e+1084>>2]=43069;f[e+1088>>2]=16776960;f[e+1092>>2]=43080;f[e+1096>>2]=10145074;f[e+1100>>2]=43087;f[e+1104>>2]=6697881;f[e+1108>>2]=43099;f[19897]=0;f[19898]=0;f[19896]=79588;h=e+1112|0;g=e;while(1){f[k>>2]=79588;x=0;f[m>>2]=f[k>>2];c=wa(33,79584,m|0,n|0,j|0,g|0)|0;i=x;x=0;if(i&1){a=923;break}if(!(f[c>>2]|0)){x=0;a=qa(318,24)|0;i=x;x=0;if(i&1){a=923;break}o=g;i=f[o+4>>2]|0;d=a+16|0;f[d>>2]=f[o>>2];f[d+4>>2]=i;d=f[n>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=d;f[c>>2]=a;d=f[f[19896]>>2]|0;if(d){f[19896]=d;a=f[c>>2]|0}Ip(f[19897]|0,a);f[19898]=(f[19898]|0)+1}g=g+8|0;if((g|0)==(h|0)){a=924;break}}if((a|0)==923){o=Ya()|0;DJ(79584,f[19897]|0);jb(o|0)}else if((a|0)==924){f[e>>2]=41643;f[e+4>>2]=61376;f[e+8>>2]=41653;f[e+12>>2]=61488;f[e+16>>2]=41666;f[e+20>>2]=61600;f[e+24>>2]=41671;f[e+28>>2]=61712;f[e+32>>2]=41676;f[e+36>>2]=61824;f[e+40>>2]=41687;f[e+44>>2]=61936;f[e+48>>2]=41693;f[e+52>>2]=62048;f[e+56>>2]=41699;f[e+60>>2]=62160;f[e+64>>2]=41706;f[e+68>>2]=62272;f[e+72>>2]=41712;f[e+76>>2]=62384;f[e+80>>2]=41727;f[e+84>>2]=62496;f[e+88>>2]=41732;f[e+92>>2]=62608;f[e+96>>2]=41743;f[e+100>>2]=62720;f[e+104>>2]=41749;f[e+108>>2]=62832;f[e+112>>2]=41759;f[e+116>>2]=62944;f[e+120>>2]=41769;f[e+124>>2]=63056;f[e+128>>2]=41780;f[e+132>>2]=63168;f[e+136>>2]=41790;f[e+140>>2]=63280;f[e+144>>2]=41796;f[e+148>>2]=63392;f[e+152>>2]=41811;f[e+156>>2]=63504;f[e+160>>2]=41820;f[e+164>>2]=63616;f[e+168>>2]=41828;f[e+172>>2]=63728;f[e+176>>2]=41837;f[e+180>>2]=63840;f[e+184>>2]=41846;f[e+188>>2]=63952;f[e+192>>2]=41860;f[e+196>>2]=64064;f[e+200>>2]=41869;f[e+204>>2]=64176;f[e+208>>2]=41878;f[e+212>>2]=64288;f[e+216>>2]=41888;f[e+220>>2]=64400;f[e+224>>2]=41898;f[e+228>>2]=64512;f[e+232>>2]=41910;f[e+236>>2]=64624;f[e+240>>2]=41925;f[e+244>>2]=64736;f[e+248>>2]=41936;f[e+252>>2]=64848;f[e+256>>2]=41947;f[e+260>>2]=64960;f[e+264>>2]=41955;f[e+268>>2]=65072;f[e+272>>2]=41966;f[e+276>>2]=65184;f[e+280>>2]=41979;f[e+284>>2]=65296;f[e+288>>2]=41993;f[e+292>>2]=65408;f[e+296>>2]=42007;f[e+300>>2]=65520;f[e+304>>2]=42021;f[e+308>>2]=65632;f[e+312>>2]=42035;f[e+316>>2]=65744;f[e+320>>2]=42046;f[e+324>>2]=65856;f[e+328>>2]=42055;f[e+332>>2]=65968;f[e+336>>2]=42067;f[e+340>>2]=66080;f[e+344>>2]=42075;f[e+348>>2]=66192;f[e+352>>2]=42083;f[e+356>>2]=66304;f[e+360>>2]=42094;f[e+364>>2]=66416;f[e+368>>2]=42104;f[e+372>>2]=66528;f[e+376>>2]=42116;f[e+380>>2]=66640;f[e+384>>2]=42128;f[e+388>>2]=66752;f[e+392>>2]=42136;f[e+396>>2]=66864;f[e+400>>2]=42144;f[e+404>>2]=66976;f[e+408>>2]=42154;f[e+412>>2]=67088;f[e+416>>2]=42165;f[e+420>>2]=67200;f[e+424>>2]=42170;f[e+428>>2]=67312;f[e+432>>2]=42180;f[e+436>>2]=67424;f[e+440>>2]=42185;f[e+444>>2]=67536;f[e+448>>2]=42190;f[e+452>>2]=67648;f[e+456>>2]=42196;f[e+460>>2]=67760;f[e+464>>2]=42208;f[e+468>>2]=67872;f[e+472>>2]=42217;f[e+476>>2]=67984;f[e+480>>2]=42225;f[e+484>>2]=68096;f[e+488>>2]=42235;f[e+492>>2]=68208;f[e+496>>2]=42242;f[e+500>>2]=68320;f[e+504>>2]=42248;f[e+508>>2]=68432;f[e+512>>2]=42254;f[e+516>>2]=68544;f[e+520>>2]=42263;f[e+524>>2]=68656;f[e+528>>2]=42277;f[e+532>>2]=68768;f[e+536>>2]=42287;f[e+540>>2]=68880;f[e+544>>2]=42300;f[e+548>>2]=68992;f[e+552>>2]=42310;f[e+556>>2]=69104;f[e+560>>2]=42321;f[e+564>>2]=69216;f[e+568>>2]=42331;f[e+572>>2]=69328;f[e+576>>2]=42352;f[e+580>>2]=69440;f[e+584>>2]=42362;f[e+588>>2]=69552;f[e+592>>2]=42372;f[e+596>>2]=69664;f[e+600>>2]=42383;f[e+604>>2]=69776;f[e+608>>2]=42393;f[e+612>>2]=69888;f[e+616>>2]=42405;f[e+620>>2]=7e4;f[e+624>>2]=42419;f[e+628>>2]=70112;f[e+632>>2]=42432;f[e+636>>2]=70224;f[e+640>>2]=42447;f[e+644>>2]=70336;f[e+648>>2]=42462;f[e+652>>2]=70448;f[e+656>>2]=42477;f[e+660>>2]=70560;f[e+664>>2]=42489;f[e+668>>2]=70672;f[e+672>>2]=42494;f[e+676>>2]=70784;f[e+680>>2]=42504;f[e+684>>2]=70896;f[e+688>>2]=42510;f[e+692>>2]=71008;f[e+696>>2]=42517;f[e+700>>2]=71120;f[e+704>>2]=42534;f[e+708>>2]=71232;f[e+712>>2]=42545;f[e+716>>2]=71344;f[e+720>>2]=42558;f[e+724>>2]=71456;f[e+728>>2]=42571;f[e+732>>2]=71568;f[e+736>>2]=42586;f[e+740>>2]=71680;f[e+744>>2]=42602;f[e+748>>2]=71792;f[e+752>>2]=42620;f[e+756>>2]=71904;f[e+760>>2]=42636;f[e+764>>2]=72016;f[e+768>>2]=42652;f[e+772>>2]=72128;f[e+776>>2]=42665;f[e+780>>2]=72240;f[e+784>>2]=42675;f[e+788>>2]=72352;f[e+792>>2]=42685;f[e+796>>2]=72464;f[e+800>>2]=42694;f[e+804>>2]=72576;f[e+808>>2]=42706;f[e+812>>2]=72688;f[e+816>>2]=42711;f[e+820>>2]=72800;f[e+824>>2]=42719;f[e+828>>2]=72912;f[e+832>>2]=42725;f[e+836>>2]=73024;f[e+840>>2]=42735;f[e+844>>2]=73136;f[e+848>>2]=42742;f[e+852>>2]=73248;f[e+856>>2]=42752;f[e+860>>2]=73360;f[e+864>>2]=42759;f[e+868>>2]=73472;f[e+872>>2]=42773;f[e+876>>2]=73584;f[e+880>>2]=42783;f[e+884>>2]=73696;f[e+888>>2]=42797;f[e+892>>2]=73808;f[e+896>>2]=42811;f[e+900>>2]=73920;f[e+904>>2]=42822;f[e+908>>2]=74032;f[e+912>>2]=42832;f[e+916>>2]=74144;f[e+920>>2]=42837;f[e+924>>2]=74256;f[e+928>>2]=42842;f[e+932>>2]=74368;f[e+936>>2]=42847;f[e+940>>2]=74480;f[e+944>>2]=42858;f[e+948>>2]=74592;f[e+952>>2]=42865;f[e+956>>2]=74704;f[e+960>>2]=42869;f[e+964>>2]=74816;f[e+968>>2]=42879;f[e+972>>2]=74928;f[e+976>>2]=42889;f[e+980>>2]=75040;f[e+984>>2]=42901;f[e+988>>2]=75152;f[e+992>>2]=42908;f[e+996>>2]=75264;f[e+1e3>>2]=42919;f[e+1004>>2]=75376;f[e+1008>>2]=42928;f[e+1012>>2]=75488;f[e+1016>>2]=42937;f[e+1020>>2]=75600;f[e+1024>>2]=42944;f[e+1028>>2]=75712;f[e+1032>>2]=42951;f[e+1036>>2]=75824;f[e+1040>>2]=42959;f[e+1044>>2]=75936;f[e+1048>>2]=42969;f[e+1052>>2]=76048;f[e+1056>>2]=42979;f[e+1060>>2]=76160;f[e+1064>>2]=42989;f[e+1068>>2]=76272;f[e+1072>>2]=42994;f[e+1076>>2]=76384;f[e+1080>>2]=43006;f[e+1084>>2]=76496;f[e+1088>>2]=43016;f[e+1092>>2]=76608;f[e+1096>>2]=43020;f[e+1100>>2]=76720;f[e+1104>>2]=43025;f[e+1108>>2]=76832;f[e+1112>>2]=43033;f[e+1116>>2]=76944;f[e+1120>>2]=43040;f[e+1124>>2]=77056;f[e+1128>>2]=43050;f[e+1132>>2]=77168;f[e+1136>>2]=43057;f[e+1140>>2]=77280;f[e+1144>>2]=43063;f[e+1148>>2]=77392;f[e+1152>>2]=43069;f[e+1156>>2]=77504;f[e+1160>>2]=43080;f[e+1164>>2]=77616;f[e+1168>>2]=43087;f[e+1172>>2]=77728;f[e+1176>>2]=43099;f[e+1180>>2]=77840;f[e+1184>>2]=43113;f[e+1188>>2]=77952;f[19900]=0;f[19901]=0;f[19899]=79600;g=e+1192|0;while(1){f[k>>2]=79600;x=0;f[m>>2]=f[k>>2];c=wa(34,79596,m|0,n|0,j|0,e|0)|0;o=x;x=0;if(o&1){a=932;break}if(!(f[c>>2]|0)){x=0;a=qa(318,24)|0;o=x;x=0;if(o&1){a=932;break}i=e;o=f[i+4>>2]|0;d=a+16|0;f[d>>2]=f[i>>2];f[d+4>>2]=o;d=f[n>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=d;f[c>>2]=a;d=f[f[19899]>>2]|0;if(d){f[19899]=d;a=f[c>>2]|0}Ip(f[19900]|0,a);f[19901]=(f[19901]|0)+1}e=e+8|0;if((e|0)==(g|0)){a=933;break}}if((a|0)==932){o=Ya()|0;JI(79596,f[19900]|0);jb(o|0)}else if((a|0)==933){u=l;return}}}}a=Ya()|0;e=I;c=f[19868]|0;if(c){d=f[19869]|0;if((d|0)!=(c|0)){do{d=d+-12|0;f[19869]=d;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[19869]|0}}while((d|0)!=(c|0));c=f[19868]|0}Hta(c)}}if((b[i>>0]|0)<0)Hta(f[g>>2]|0);if((b[h>>0]|0)>=0)jb(a|0);Hta(f[m>>2]|0);jb(a|0)} +function aP(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;while(1){if((c|0)==(e|0)){c=e;break}if((f[c>>2]|0)>>>0<128){a=gT()|0;if((d[a+(f[c>>2]<<1)>>1]&b)<<16>>16)break}c=c+4|0}return c|0}function bP(a,b){a=a|0;b=b|0;var c=0;f[a+4>>2]=b+-1;f[a>>2]=28972;x=0;b=la(3)|0;c=x;x=0;if(c&1){c=Ya()|0;$sa(a);jb(c|0)}else{f[a+8>>2]=b;return}}function cP(a,c){a=a|0;c=c|0;b[a>>0]=0;f[a+4>>2]=c;c=c+(f[(f[c>>2]|0)+-12>>2]|0)|0;if(!(f[c+16>>2]|0)){c=f[c+72>>2]|0;if(c|0)Pv(c)|0;b[a>>0]=1}return}function dP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=d;f[a+12>>2]=b;f[a+16>>2]=c;d=a+20|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;return}function eP(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=5;b[a>>0]=b[39252]|0;b[a+1>>0]=b[39253]|0;b[a+2>>0]=b[39254]|0;b[a+3>>0]=b[39255]|0;b[a+4>>0]=b[39256]|0;b[a+5>>0]=0;return}function fP(a){a=a|0;var c=0,d=0,e=0.0,g=0;c=hua()|0;c=b[f[c>>2]>>0]|0;if(c<<24>>24!=46){d=aca(a,46)|0;if(d|0){g=wR(a)|0;b[g+(d-a)>>0]=c;e=+jra(g,0);$h(g);return +e}}e=+jra(a,0);return +e}function gP(a){a=a|0;var b=0;b=Rd((hL(a)|0)+1|0)|0;if(!b){vO(50780,15,1,f[5414]|0)|0;Pb(1)}Upa(b,a)|0;a=YP(1,32)|0;if(!a){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{f[a+16>>2]=2;f[a+24>>2]=b;return a|0}return 0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+8>>2]|0;e=f[c>>2]|0;if(!e)c=(f[c+4>>2]|0)+(f[b+4>>2]|0)|0;else c=f[c+4>>2]|0;f[a>>2]=e+(f[b>>2]|0);f[a+4>>2]=c;f[a+8>>2]=d;return}function iP(a,b){a=a|0;b=b|0;var c=0,d=0;d=hL(b)|0;c=VN(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=uja(c)|0;Lu(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function jP(a,b,c,d,e,f,g,h,i,j,k,l){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;j=j|0;k=k|0;l=l|0;return Hc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kP(a,b){a=a|0;b=b|0;f[a+4>>2]=b+-1;f[a>>2]=29132;f[a+8>>2]=46;f[a+12>>2]=44;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[b+(a<<2)>>2]=0;a=a+1|0}return}function lP(a){a=a|0;do if(!(b[78576]|0))if(lda(78576)|0){x=0;Ea(11);a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21208]=84544;break}}while(0);return f[21208]|0}function mP(a){a=a|0;do if(!(b[78592]|0))if(lda(78592)|0){x=0;Ea(10);a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21251]=84836;break}}while(0);return f[21251]|0}function nP(a){a=a|0;do if(!(b[78560]|0))if(lda(78560)|0){x=0;Ea(12);a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21135]=84252;break}}while(0);return f[21135]|0}function oP(a){a=a|0;do if(!(b[78496]|0))if(lda(78496)|0){x=0;Ea(8);a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21005]=83732;break}}while(0);return f[21005]|0}function pP(a){a=a|0;var b=0,c=0;b=a+68|0;c=f[b>>2]|0;if(c|0)return c|0;a=f[a+56>>2]|0;a=(vc[f[(f[a>>2]|0)+8>>2]&511](a)|0)+-1640531527|0;c=f[b>>2]|0;c=a+(c<<6)+(c>>>2)^c;f[b>>2]=c;return c|0}function qP(a){a=a|0;do if(!(b[78512]|0))if(lda(78512)|0){x=0;Ea(7);a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21048]=84024;break}}while(0);return f[21048]|0}function rP(a){a=a|0;do if(!(b[78480]|0))if(lda(78480)|0){x=0;Ea(9);a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[20932]=83440;break}}while(0);return f[20932]|0}function sP(a,c){a=a|0;c=c|0;f[a+4>>2]=c+-1;f[a>>2]=29092;b[a+8>>0]=46;b[a+9>>0]=44;c=a+12|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}return}function tP(a,b){a=a|0;b=b|0;a=Ta(8)|0;x=0;Ga(496,a|0,52563);b=x;x=0;if(b&1){b=Ya()|0;bb(a|0);jb(b|0)}else fb(a|0,6176,414);return 0}function uP(a){a=a|0;var c=0;f[a>>2]=15112;_P(a+104|0);f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function vP(a){a=a|0;var c=0;f[a>>2]=14928;_P(a+104|0);f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function wP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=YP(1,40)|0;if(!e){e=0;return e|0}f[e>>2]=4;f[e+12>>2]=a;f[e+4>>2]=c;b[e+8>>0]=d&1;d=YP(a,4)|0;f[e+16>>2]=d;if(d|0)return e|0;$h(e);e=0;return e|0}function xP(a,c,d){a=a|0;c=c|0;d=d|0;while(1){if((c|0)==(d|0))break;a=b[c>>0]|0;if(a<<24>>24>-1){a=MS()|0;a=f[a+(b[c>>0]<<2)>>2]&255}b[c>>0]=a;c=c+1|0}return d|0}function yP(a,c,d){a=a|0;c=c|0;d=d|0;while(1){if((c|0)==(d|0))break;a=b[c>>0]|0;if(a<<24>>24>-1){a=NS()|0;a=f[a+(b[c>>0]<<2)>>2]&255}b[c>>0]=a;c=c+1|0}return d|0}function zP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=f[b>>2]|0;if(!d){e=a+4|0;c=e;b=(f[b+4>>2]|0)+(f[e>>2]|0)|0}else{c=a+4|0;b=f[b+4>>2]|0}f[a>>2]=d+(f[a>>2]|0);f[c>>2]=b;return}function AP(a,b,c){a=a|0;b=b|0;c=c|0;while(1){if((b|0)==(c|0))break;a=f[b>>2]|0;if(a>>>0<128){a=MS()|0;a=f[a+(f[b>>2]<<2)>>2]|0}f[b>>2]=a;b=b+4|0}return c|0}function BP(a,b,c){a=a|0;b=b|0;c=c|0;while(1){if((b|0)==(c|0))break;a=f[b>>2]|0;if(a>>>0<128){a=NS()|0;a=f[a+(f[b>>2]<<2)>>2]|0}f[b>>2]=a;b=b+4|0}return c|0}function CP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(gea(a,f[b+8>>2]|0,0)|0)yJ(0,b,c,d);return}function DP(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 Lu(a,c,d)|0;return a|0}function EP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+8|0;e=c;PQ(e,b,a+12|0);gR(d,e,b+20|0);mR(a+32|0,d);u=c;return}function FP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=u;u=u+16|0;c=d;f[c>>2]=f[a>>2];while(1){e=(f[c>>2]|0)+(4-1)&~(4-1);a=f[e>>2]|0;f[c>>2]=e+4;if(b>>>0>1)b=b+-1|0;else break}u=d;return a|0}function GP(a,c){a=a|0;c=c|0;vc[f[(f[a>>2]|0)+24>>2]&511](a)|0;c=b_(c,85120)|0;f[a+36>>2]=c;c=(vc[f[(f[c>>2]|0)+28>>2]&511](c)|0)&1;b[a+44>>0]=c;return}function HP(a,c){a=a|0;c=c|0;vc[f[(f[a>>2]|0)+24>>2]&511](a)|0;c=b_(c,85112)|0;f[a+36>>2]=c;c=(vc[f[(f[c>>2]|0)+28>>2]&511](c)|0)&1;b[a+44>>0]=c;return}function IP(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=dda(a)|0;a=hL(e)|0;if(a>>>0>>0){Lu(c|0,e|0,a+1|0)|0;a=0}else{a=d+-1|0;if(!d)a=34;else{Lu(c|0,e|0,a|0)|0;b[c+a>>0]=0;a=34}}return a|0}function JP(a){a=a|0;var b=0;f[a>>2]=16932;b=a+108|0;f[b>>2]=16952;dC(a+8|0);$na(a,16964);uma(b);Hta(a);return}function KP(){var a=0;do if(!(b[79088]|0))if(lda(79088)|0){x=0;la(9)|0;a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21289]=85152;break}}while(0);return f[21289]|0}function LP(a){a=a|0;var b=0,c=0;if(Gqa(a)|0){a=ema(f[a>>2]|0)|0;c=a+8|0;b=f[c>>2]|0;f[c>>2]=b+-1;if((b+-1|0)<0)Hta(a)}return}function MP(){var a=0;do if(!(b[78920]|0))if(lda(78920)|0){x=0;la(8)|0;a=x;x=0;if(a&1){a=Ya()|0;jb(a|0)}else{f[21287]=85144;break}}while(0);return f[21287]|0}function NP(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)==35){c=R5(a+1|0)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;a=c-a|0;return ((a|0)!=5&(a|0)!=9?0:c)|0}function OP(a){a=a|0;var c=0,d=0;if((b[a>>0]|0)==35){c=R5(a+1|0)|0;if(!c)c=0;else while(1){d=R5(c)|0;if(!d)break;else c=d}}else c=0;a=c-a|0;return ((a|0)!=4&(a|0)!=7?0:c)|0}function PP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!b)d=a;else{x=0;ta(169,a|0,c|0,b|0)|0;c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}else d=a}return d|0}function QP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=a;else{x=0;ta(176,a|0,b|0,c|0)|0;c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}else d=a}return d|0}function RP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=a;else{x=0;ta(166,a|0,b|0,c|0)|0;c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}else d=a}return d|0}function SP(a,c){a=a|0;c=c|0;c=f[c>>2]|0;b[a>>0]=0;f[a+4>>2]=1;f[a+8>>2]=c;c=a+12|0;qV(c,0);f[c>>2]=15556;f[a+20>>2]=0;f[a+24>>2]=0;return}function TP(a,c){a=a|0;c=c|0;f[a+76>>2]=0;if(!((f[f[a+68>>2]>>2]|0)!=3|c^1))b[a+84>>0]=0;c=a+80|0;if(!(f[c>>2]|0)){qq(a);return}f[c>>2]=1;qq(a);return}function UP(a,b){a=a|0;b=b|0;var c=0;c=f[b+96>>2]|0;if((c|0)==(f[b+92>>2]|0)){qV(a,0);f[a>>2]=7168;return}else{qV(a,f[c+-4>>2]|0);f[a>>2]=7168;return}}function VP(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function WP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=yc[f[(f[a>>2]|0)+16>>2]&255](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function XP(a,b,c,d,e,f,g,h,i,j,k){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;j=j|0;k=k|0;return Gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function YP(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else{c=X(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}a=Rd(c)|0;if(!a)return a|0;if(!(f[a+-4>>2]&3))return a|0;AD(a|0,0,c|0)|0;return a|0}function ZP(a){a=a|0;var b=0;b=Ta(8)|0;x=0;Ga(496,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;bb(b|0);jb(a|0)}else fb(b|0,6176,414)}function _P(a){a=a|0;var c=0,d=0;f[a>>2]=21372;a=f[a+4>>2]|0;if(!a)return;d=a+4|0;c=(f[d>>2]|0)+-1|0;f[d>>2]=c;if(c|0)return;if(b[a+8>>0]|0)return;Kc[f[(f[a>>2]|0)+4>>2]&511](a);return}function $P(a){a=a|0;var b=0;f[a>>2]=16932;b=a+108|0;f[b>>2]=16952;dC(a+8|0);$na(a,16964);uma(b);return}function aQ(a,b){a=a|0;b=b|0;var c=0;c=a+8|0;a=b;b=f[c>>2]|0;do{f[b>>2]=0;b=(f[c>>2]|0)+4|0;f[c>>2]=b;a=a+-1|0}while((a|0)!=0);return}function bQ(a){a=a|0;var b=0,c=0;x=0;b=la(10)|0;c=x;x=0;if(c&1){c=Za(0)|0;soa(c)}else{c=f[b>>2]|0;f[a>>2]=c;Pea(c);return}}function cQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function dQ(a){a=a|0;if(b[a+100>>0]|0)if(b[a+102>>0]|0)return;switch(f[f[a+68>>2]>>2]|0){case 2:{f[a+76>>2]=1;return}case 3:return;default:{f[a+80>>2]=1;f[a+76>>2]=0;return}}}function eQ(a){a=a|0;var b=0;b=a+8|0;if(!(f[b>>2]|0))Kc[f[(f[a>>2]|0)+16>>2]&511](a);else if((tba(b)|0)==-1)Kc[f[(f[a>>2]|0)+16>>2]&511](a);return}function fQ(a){a=a|0;var b=0;b=VN(104)|0;x=0;Ga(498,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else{f[b>>2]=14040;return b|0}return 0}function gQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function hQ(a){a=a|0;var b=0;b=VN(104)|0;x=0;Ga(498,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else{f[b>>2]=14212;return b|0}return 0}function iQ(a){a=a|0;var c=0;f[a>>2]=15112;_P(a+104|0);f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);a=a+72|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function jQ(a,b,c,d,e,f,g,h,i,j,k){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;j=j|0;k=k|0;Tc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function kQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function lQ(a,b){a=+a;b=b|0;var c=0.0;c=+Mn(a,1.0)+-.5;if(c>-+M(.1,+(+((b+1|0)>>>0)))){c=+W(+a);return +c}if(c>+M(.1,+(+(b>>>0)))){c=+J(+a);return +c}else{c=+qoa(+a);return +c}return 0.0}function mQ(a){a=a|0;var c=0;f[a>>2]=14928;_P(a+104|0);f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);a=a+72|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function nQ(a){a=a|0;var b=0;b=VN(104)|0;x=0;Ga(498,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else{f[b>>2]=14400;return b|0}return 0}function oQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function pQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function qQ(){f[20299]=0;f[20300]=0;f[20301]=0;b[81207]=6;b[81196]=b[52998]|0;b[81197]=b[52999]|0;b[81198]=b[53e3]|0;b[81199]=b[53001]|0;b[81200]=b[53002]|0;b[81201]=b[53003]|0;b[81202]=0;return}function rQ(a,b){a=a|0;b=b|0;var c=0;c=a+4|0;a=b;b=f[c>>2]|0;do{f[b>>2]=0;b=(f[c>>2]|0)+4|0;f[c>>2]=b;a=a+-1|0}while((a|0)!=0);return}function sQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function tQ(a){a=a|0;var b=0;if(f[a+68>>2]|0){b=f[a+116>>2]|0;a=a+112|0;if(b|0)f[b+112>>2]=f[a>>2];a=f[a>>2]|0;if(!a)a=(mta()|0)+232|0;else a=a+116|0;f[a>>2]=b}return}function uQ(a){a=a|0;var b=0;b=VN(104)|0;x=0;Ga(498,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else{f[b>>2]=14572;return b|0}return 0}function vQ(a){a=a|0;var c=0,d=0;a=f[a+4>>2]|0;if(!a)return;d=a+4|0;c=(f[d>>2]|0)+-1|0;f[d>>2]=c;if(c|0)return;if(b[a+8>>0]|0)return;Kc[f[(f[a>>2]|0)+4>>2]&511](a);return}function wQ(a,b){a=a|0;b=b|0;f[a>>2]=18320;f[a+4>>2]=b;f[a+8>>2]=b+300;b=a+12|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[b+20>>2]=0;return}function xQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function yQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function zQ(a){a=a|0;var c=0,d=0,e=0;d=f[a>>2]|0;e=(b[d>>0]|0)+-48|0;if(e>>>0<10){c=0;do{c=e+(c*10|0)|0;d=d+1|0;f[a>>2]=d;e=(b[d>>0]|0)+-48|0}while(e>>>0<10)}else c=0;return c|0}function AQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function BQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function CQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function DQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function EQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function FQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=c+8|0;Qc[f[(f[b>>2]|0)+16>>2]&31](a,b,f[c>>2]|0,f[c+4>>2]|0,0,d);return}function GQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=f[c>>2]|0;if((f[a+8>>2]|0)-d>>3>>>0>b>>>0)return d+(b<<3)|0;else DO(c);return 0}function HQ(a,b){a=+a;b=b|0;var c=0;c=YP(1,40)|0;if(!c){c=0;return c|0}f[c>>2]=1;p[c+8>>3]=a;if(b|0){b=wR(b)|0;f[c+16>>2]=b;if(b|0)return c|0}$h(c);c=0;return c|0}function IQ(a){a=a|0;var c=0;f[a>>2]=7600;_P(a+92|0);_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function JQ(a){a=a|0;var c=0;c=b[a>>0]|0;if(c<<24>>24!=32&((c<<24>>24)+-9|0)>>>0>4){c=0;return c|0}do{a=a+1|0;c=b[a>>0]|0}while(!(c<<24>>24!=32&((c<<24>>24)+-9|0)>>>0>4));return a|0}function KQ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;f[a+4>>2]=e+-1;f[a>>2]=29040;e=a+8|0;f[e>>2]=c;b[a+12>>0]=d&1;if(!c){d=gT()|0;f[e>>2]=d}return}function LQ(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[54893+(a&15)>>0]|0|e;a=kX(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}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;g=a;f[g>>2]=0;f[g+4>>2]=0;g=a+8|0;f[g>>2]=-1;f[g+4>>2]=-1;return}function NQ(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;g=a;f[g>>2]=0;f[g+4>>2]=0;g=a+8|0;f[g>>2]=-1;f[g+4>>2]=-1;return}function OQ(a){a=a|0;var c=0;f[a>>2]=8688;_P(a+92|0);_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function PQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=f[b>>2]|0;d=f[c>>2]|0;c=(f[b+4>>2]|0)-((e|0)==(d|0)?f[c+4>>2]|0:0)|0;f[a>>2]=e-d;f[a+4>>2]=c;return}function QQ(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)>256){dma()|0;b=29588}else{Rla()|0;b=29584}f[a>>2]=c;f[a+4>>2]=b;return}function RQ(a){a=a|0;var b=0,c=0,d=0;b=f[a+4>>2]|0;d=f[a+8>>2]|0;c=(f[a>>2]|0)+(d>>1)|0;if(!(d&1))a=b;else a=f[(f[c>>2]|0)+b>>2]|0;Kc[a&511](c);return}function SQ(a,c){a=a|0;c=c|0;var d=0;d=(b[c+84>>0]|0)!=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=d?7:4;b[a+11>>0]=c;Lu(a|0,(d?32012:32020)|0,c|0)|0;b[a+c>>0]=0;return}function TQ(a,c){a=a|0;c=c|0;a=c+64|0;if((b[a+11>>0]|0)<0)a=f[a>>2]|0;if(!(b[c+60>>0]|0)){c=xS(a)|0;return c|0}else{c=aR(a)|0;return c|0}return 0}function UQ(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;a=a+4|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~(((b+-24-c|0)>>>0)/24|0)*24|0);Hta(c);return}function VQ(a){a=a|0;var c=0;f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function WQ(a){a=a|0;f[a>>2]=26064;bQ(a+4|0);a=a+8|0;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;return}function XQ(a){a=a|0;f[a>>2]=26e3;bQ(a+4|0);a=a+8|0;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;return}function YQ(a){a=a|0;var c=0;f[a>>2]=7600;_P(a+92|0);_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);return}function ZQ(a,b){a=a|0;b=b|0;if(FU(a,b)|0)return f[(f[a+8>>2]|0)+(b<<2)>>2]|0;else{b=Ta(4)|0;Era(b);fb(b|0,6240,419)}return 0}function _Q(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(489,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function $Q(a){a=a|0;var c=0;f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function aR(a){a=a|0;var c=0;c=YP(1,40)|0;if(!c){c=0;return c|0}b[c+4>>0]=1;f[c>>2]=3;if(a|0){a=wR(a)|0;f[c+8>>2]=a;if(a|0)return c|0}$h(c);c=0;return c|0}function bR(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;a=b[c>>0]|0;b[f>>0]=a<<24>>24>-1?a:e;f=f+1|0;c=c+1|0}return d|0}function cR(a){a=a|0;var b=0;b=VN(76)|0;x=0;Ga(492,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function dR(a){a=a|0;var b=0;b=VN(76)|0;x=0;Ga(486,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function eR(a){a=a|0;var c=0;f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function fR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Lu(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function gR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[c>>2]|0;if(!d)c=(f[c+4>>2]|0)+(f[b+4>>2]|0)|0;else c=f[c+4>>2]|0;f[a>>2]=d+(f[b>>2]|0);f[a+4>>2]=c;return}function hR(a){a=a|0;var b=0;b=VN(128)|0;x=0;Ga(499,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function iR(a){a=a|0;var c=0;f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function jR(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0;e=YP(1,40)|0;if(!e){e=0;return e|0}f[e>>2]=2;p[e+8>>3]=a;p[e+16>>3]=b;p[e+24>>3]=c;p[e+32>>3]=d;return e|0}function kR(a,c,d){a=a|0;c=c|0;d=d|0;d=b[d+85>>0]|0?49836:49838;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=1;b[a>>0]=b[d>>0]|0;b[a+1>>0]=0;return}function lR(a,c,d){a=a|0;c=c|0;d=d|0;d=b[d+85>>0]|0?49840:49842;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=1;b[a>>0]=b[d>>0]|0;b[a+1>>0]=0;return}function mR(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b>>2]|0;if(!c)b=(f[b+4>>2]|0)+(f[a+4>>2]|0)|0;else b=f[b+4>>2]|0;d=a;f[d>>2]=c+(f[a>>2]|0);f[d+4>>2]=b;return}function nR(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(491,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function oR(a){a=a|0;var b=0;b=VN(88)|0;x=0;Ga(481,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function pR(a){a=a|0;var b=0;b=VN(100)|0;x=0;Ga(502,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function qR(a){a=a|0;var c=0;f[a>>2]=8688;_P(a+92|0);_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);return}function rR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zH(a,b,c,d,yqa(d)|0)|0}function sR(a){a=a|0;var c=0,d=0;c=b[a>>0]|0;d=c<<24>>24;if(c<<24>>24<0|c<<24>>24==45|((d+-48|0)>>>0<10|((d&-33)+-65|0)>>>0<26))return 0;else return (c<<24>>24==35?0:a)|0;return 0}function tR(a){a=a|0;var c=0;f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);c=a+72|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function uR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=0;while(1){if((b|0)==(c|0))break;d=(f[b>>2]|0)+(a<<4)|0;e=d&-268435456;a=(e>>>24|e)^d;b=b+4|0}return a|0}function vR(a){a=a|0;f[a>>2]=19840;a=a+4|0;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+28>>2]=0;return}function wR(a){a=a|0;var b=0,c=0;b=(hL(a)|0)+1|0;c=Rd(b)|0;if(!c){zV(82616,50780)|0;Pb(1)}else{Lu(c|0,a|0,b|0)|0;return c|0}return 0}function xR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a=0;while(1){if((c|0)==(d|0))break;e=(a<<4)+(b[c>>0]|0)|0;f=e&-268435456;a=(f>>>24|f)^e;c=c+1|0}return a|0}function yR(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(490,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function zR(a){a=a|0;var b=0;b=VN(112)|0;x=0;Ga(503,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function AR(a){a=a|0;var b=0;b=VN(100)|0;x=0;Ga(485,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function BR(a){a=a|0;switch(b[a>>0]|0){case 10:case 0:{a=a+1|0;return a|0}case 13:{a=a+((b[a+1>>0]|0)==10?2:1)|0;return a|0}default:{a=0;return a|0}}return 0}function CR(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(467,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function DR(a){a=a|0;var b=0;b=VN(76)|0;x=0;Ga(493,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function ER(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(494,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function FR(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;a=a+4|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);return}function GR(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;a=a+4|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);return}function HR(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;a=a+4|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-8-c|0)>>>3)<<3);Hta(c);return}function IR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)){a=b+28|0;if((f[a>>2]|0)!=1)f[a>>2]=d}return}function JR(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;$(37)}function KR(a){a=a|0;var b=0;b=VN(92)|0;x=0;Ga(487,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function LR(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(465,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function MR(a){a=a|0;var b=0;b=VN(92)|0;x=0;Ga(468,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function NR(a){a=a|0;var b=0;b=VN(120)|0;x=0;Ga(477,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function OR(a){a=a|0;var c=0;f[a>>2]=10728;_P(a+80|0);_P(a+72|0);c=a+60|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function PR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function QR(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;a=a+4|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);return}function RR(a){a=a|0;var b=0;b=VN(92)|0;x=0;Ga(478,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function SR(a){a=a|0;var b=0;b=VN(88)|0;x=0;Ga(469,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function TR(a){a=a|0;var b=0;b=VN(100)|0;x=0;Ga(466,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=caa(sb(3,e|0)|0)|0;u=d;return c|0}function VR(a){a=a|0;var b=0;b=VN(88)|0;x=0;Ga(482,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function WR(a,c){a=a|0;c=c|0;c=a+4|0;f[c>>2]=0;f[c+4>>2]=0;b[a+11>>0]=3;b[a>>0]=b[39033]|0;b[a+1>>0]=b[39034]|0;b[a+2>>0]=b[39035]|0;b[a+3>>0]=0;return}function XR(a,b){a=a|0;b=b|0;b=Yaa(b)|0;if(!b){a=0;return a|0}a=xc[f[(f[a>>2]|0)+160>>2]&2047](a,b)|0;return a|0}function YR(a){a=a|0;var b=0;b=VN(84)|0;x=0;Ga(463,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function ZR(a){a=a|0;var b=0;b=VN(104)|0;x=0;Ga(455,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function _R(a,b){a=a|0;b=b|0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)!=31229){b=0;return b|0}b=xc[f[(f[a>>2]|0)+160>>2]&2047](a,b)|0;return b|0}function $R(a){a=a|0;var c=0;f[a>>2]=16336;c=a+32|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);Bca(a);Hta(a);return}function aS(a){a=a|0;var b=0;b=VN(96)|0;x=0;Ga(470,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function bS(a){a=a|0;var b=0;b=VN(80)|0;x=0;Ga(476,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function cS(a){a=a|0;var b=0;b=VN(88)|0;x=0;Ga(464,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function dS(a){a=a|0;var b=0;b=VN(92)|0;x=0;Ga(475,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function eS(a){a=a|0;var b=0;b=VN(104)|0;x=0;Ga(474,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function fS(a,b){a=a|0;b=b|0;if((f[(f[(f[b>>2]|0)+-4>>2]|0)+4>>2]|0)!=31009){b=0;return b|0}b=xc[f[(f[a>>2]|0)+120>>2]&2047](a,b)|0;return b|0}function gS(a){a=a|0;var b=0;b=VN(88)|0;x=0;Ga(473,b|0,a|0);a=x;x=0;if(a&1){a=Ya()|0;Hta(b);jb(a|0)}else return b|0;return 0}function hS(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if(!(cJ(a)|0))if((yc[f[a+32>>2]&255](a,b,1)|0)==1)a=h[b>>0]|0;else a=-1;else a=-1;u=c;return a|0}function iS(a){a=a|0;return Wi(a)|0}function jS(a){a=a|0;var c=0;f[a>>2]=9280;_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function kS(a){a=a|0;var c=0;f[a>>2]=9168;_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function lS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Nl(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function mS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=a;f[d>>2]=0;f[d+4>>2]=0;d=a+8|0;f[d>>2]=-1;f[d+4>>2]=-1;return}function nS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=a;f[d>>2]=0;f[d+4>>2]=0;d=a+8|0;f[d>>2]=-1;f[d+4>>2]=-1;return}function oS(a,b,c){a=a|0;b=b|0;c=c|0;if(gea(a,b,0)|0)a=1;else a=gea(b,6328,0)|0;return a|0}function pS(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 Fc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qS(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;a=a+4|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Hta(c);return}function rS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((f[a+76>>2]|0)>-1){d=(Vta(a)|0)==0;b=PG(a,b,c)|0;if(!d)Uta(a)}else b=PG(a,b,c)|0;return b|0}function sS(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a;do{$h(f[b>>2]|0);$h(b);c=c+4|0;b=f[c>>2]|0}while((b|0)!=0)}$h(a);return}function tS(a){a=a|0;return _m(a)|0}function uS(a){a=a|0;var b=0;b=YP(1,40)|0;if(!b){b=0;return b|0}f[b>>2]=8;if(a|0){a=wR(a)|0;f[b+4>>2]=a;if(a|0)return b|0}$h(b);b=0;return b|0}function vS(a,c,d){a=a|0;c=c|0;d=d|0;d=Esa((b[c+11>>0]|0)<0?f[c>>2]|0:c,1)|0;return d>>>((d|0)!=(-1|0)&1)|0}function wS(a,c,d){a=a|0;c=c|0;d=d|0;d=Esa((b[c+11>>0]|0)<0?f[c>>2]|0:c,1)|0;return d>>>((d|0)!=(-1|0)&1)|0}function xS(a){a=a|0;var b=0;b=YP(1,40)|0;if(!b){b=0;return b|0}f[b>>2]=3;if(a|0){a=wR(a)|0;f[b+8>>2]=a;if(a|0)return b|0}$h(b);b=0;return b|0}function yS(a){a=a|0;var b=0;b=YP(1,40)|0;if(!b){b=0;return b|0}f[b>>2]=7;if(a|0){a=wR(a)|0;f[b+4>>2]=a;if(a|0)return b|0}$h(b);b=0;return b|0}function zS(a){a=a|0;var c=0;c=b[a+64+11>>0]|0;if(c<<24>>24<0)c=f[a+68>>2]|0;else c=c&255;if(c|0){a=0;return a|0}a=(b[a+60>>0]|0)==0;return a|0}function AS(a){a=a|0;var c=0;b[a>>0]=0;f[a+4>>2]=3;f[a+8>>2]=0;c=a+12|0;qV(c,0);f[c>>2]=15556;f[a+20>>2]=0;f[a+24>>2]=0;return}function BS(a){a=a|0;var c=0;f[a>>2]=16336;c=a+32|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);Bca(a);return}function CS(a,c){a=a|0;c=c|0;if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=32799){c=0;return c|0}c=(b[a+60>>0]|0)!=0^(b[c+60>>0]|0)!=0^1;return c|0}function DS(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=kX(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ES(a){a=a|0;var b=0;b=YP(1,40)|0;if(!b){b=0;return b|0}f[b>>2]=5;f[b+4>>2]=a;a=YP(a,8)|0;f[b+8>>2]=a;if(a|0)return b|0;$h(b);b=0;return b|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return KA(a,b,c,yqa(c)|0)|0}function GS(a,b){a=a|0;b=b|0;f[a>>2]=29764;x=0;Ga(746,a+4|0,b|0);b=x;x=0;if(b&1){b=Ya()|0;jb(b|0)}else return}function HS(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=8;c=a;f[c>>2]=1701602675;f[c+4>>2]=1919906915;b[a+8>>0]=0;return}function IS(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;Sc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function JS(a,b){a=a|0;b=b|0;f[a>>2]=29744;x=0;Ga(746,a+4|0,b|0);b=x;x=0;if(b&1){b=Ya()|0;jb(b|0)}else return}function KS(a){a=a|0;var c=0;f[a>>2]=9280;_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);return}function LS(a){a=a|0;var c=0;f[a>>2]=9168;_P(a+84|0);c=a+72|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);return}function MS(){var a=0,b=0;x=0;a=la(6)|0;b=x;x=0;if(b&1){b=Za(0)|0;soa(b)}else return f[a>>2]|0;return 0}function NS(){var a=0,b=0;x=0;a=la(5)|0;b=x;x=0;if(b&1){b=Za(0)|0;soa(b)}else return f[a>>2]|0;return 0}function OS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function PS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function QS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function RS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function SS(a){a=a|0;var c=0;f[a>>2]=13680;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);a=a+72|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function TS(a){a=a|0;if(vc[f[(f[a>>2]|0)+108>>2]&511](a)|0){a=1;return a|0}a=vc[f[(f[a>>2]|0)+112>>2]&511](a)|0;return a|0}function US(a){a=a|0;var b=0;b=f[a+68>>2]|0;if(b|0)if(vc[f[(f[b>>2]|0)+84>>2]&511](b)|0){b=1;return b|0}b=(f[a+52>>2]|0)==7;return b|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[b>>2]|0;b=f[b+4>>2]|0;f[a>>2]=c;f[a+4>>2]=d;f[a+8>>2]=b;return}function WS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function XS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function YS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function ZS(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function _S(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=8;c=a;f[c>>2]=1668183398;f[c+4>>2]=1852795252;b[a+8>>0]=0;return}function $S(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function aT(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function bT(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function cT(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;f[a+(b<<2)>>2]=0;b=b+1|0}return}function dT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c|0){d=a;while(1){c=c+-1|0;f[d>>2]=f[b>>2];if(!c)break;else{b=b+4|0;d=d+4|0}}}return a|0}function eT(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=oO(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function fT(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Pta(a)|0;f[c>>2]=a;a=vb(6,c|0)|0;a=caa((a|0)==-4?0:a)|0;u=b;return a|0}function gT(){var a=0,b=0;x=0;a=la(7)|0;b=x;x=0;if(b&1){b=Za(0)|0;soa(b)}else return f[a>>2]|0;return 0}function hT(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;f[e>>2]=c;f[i>>2]=g;return 3}function iT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+196>>2]&255](a,c,b);return}function jT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+204>>2]&255](a,c,b);return}function kT(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Pta(f[a+60>>2]|0)|0;f[c>>2]=a;a=caa(vb(6,c|0)|0)|0;u=b;return a|0}function lT(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;f[e>>2]=c;f[i>>2]=g;return 3}function mT(a,b){a=a|0;b=b|0;b=Yaa(b)|0;if(!b){a=0;return a|0}a=Tt(a,b)|0;return a|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+192>>2]&255](a,c,b);return}function oT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+240>>2]&255](a,c,b);return}function pT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+140>>2]&255](a,c,b);return}function qT(){var a=0,b=0;a=u;u=u+16|0;if(!($b(85236,38)|0)){b=Zb(f[21310]|0)|0;u=a;return b|0}else _W(60751,a);return 0}function rT(a){a=a|0;switch(f[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function sT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+256>>2]&255](a,c,b);return}function tT(a,c,d){a=a|0;c=c|0;d=d|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;f[a+12>>2]=c;b[a+16>>0]=d&1;return}function uT(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Ec[a&127](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function vT(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a;do{$h(b);c=c+4|0;b=f[c>>2]|0}while((b|0)!=0)}$h(a);return}function wT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+184>>2]&255](a,c,b);return}function xT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+188>>2]&255](a,c,b);return}function yT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+268>>2]&255](a,c,b);return}function zT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+128>>2]&255](a,c,b);return}function AT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+264>>2]&255](a,c,b);return}function BT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+132>>2]&255](a,c,b);return}function CT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+244>>2]&255](a,c,b);return}function DT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+272>>2]&255](a,c,b);return}function ET(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=caa(wb(91,d|0)|0)|0;u=c;return b|0}function FT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+176>>2]&255](a,c,b);return}function GT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+236>>2]&255](a,c,b);return}function HT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+260>>2]&255](a,c,b);return}function IT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+216>>2]&255](a,c,b);return}function JT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+248>>2]&255](a,c,b);return}function KT(a){a=a|0;var c=0;f[a>>2]=7920;_P(a+76|0);c=a+64|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function LT(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=caa(pb(195,d|0)|0)|0;u=c;return b|0}function MT(a){a=a|0;var c=0;f[a>>2]=13276;_P(a+64|0);c=a+52|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function NT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+28>>2]&255](a,c,b);return}function OT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+168>>2]&255](a,c,b);return}function PT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+172>>2]&255](a,c,b);return}function QT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+276>>2]&255](a,c,b);return}function RT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+136>>2]&255](a,c,b);return}function ST(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+208>>2]&255](a,c,b);return}function TT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+44>>2]&255](a,c,b);return}function UT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+36>>2]&255](a,c,b);return}function VT(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a;do{$h(b);c=c+4|0;b=f[c>>2]|0}while((b|0)!=0)}$h(a);return}function WT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+200>>2]&255](a,c,b);return}function XT(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+252>>2]&255](a,c,b);return}function YT(a,b){a=a|0;b=b|0;return DD(a,b,xqa(b)|0)|0}function ZT(a,b){a=a|0;b=b|0;return XD(a,b,yqa(b)|0)|0}function _T(a,b){a=a|0;b=b|0;return VD(a,b,yqa(b)|0)|0}function $T(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+32>>2]&255](a,c,b);return}function aU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+60>>2]&255](a,c,b);return}function bU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+48>>2]&255](a,c,b);return}function cU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+224>>2]&255](a,c,b);return}function dU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+112>>2]&255](a,c,b);return}function eU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+108>>2]&255](a,c,b);return}function fU(){f[19715]=0;f[19714]=29216;Soa(78864);f[19714]=27064;f[19716]=27112;return}function gU(){f[19711]=0;f[19710]=29216;Toa(78848);f[19710]=26980;f[19712]=27028;return}function hU(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<128){a=(gT()|0)+(c<<1)|0;a=(d[a>>1]&b)<<16>>16!=0}else a=0;return a|0}function iU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+52>>2]&255](a,c,b);return}function jU(a){a=a|0;if((tba(a+4|0)|0)==-1){Kc[f[(f[a>>2]|0)+8>>2]&511](a);a=1}else a=0;return a|0}function kU(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function lU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+220>>2]&255](a,c,b);return}function mU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+104>>2]&255](a,c,b);return}function nU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+232>>2]&255](a,c,b);return}function oU(a){a=a|0;f[a>>2]=10728;_P(a+80|0);_P(a+72|0);a=a+60|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function pU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+40>>2]&255](a,c,b);return}function qU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+152>>2]&255](a,c,b);return}function rU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+124>>2]&255](a,c,b);return}function sU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+228>>2]&255](a,c,b);return}function tU(a){a=a|0;var b=0;b=u;u=u+16|0;$h(a);if(!(ac(f[21310]|0,0)|0)){u=b;return}else _W(60850,b)}function uU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=kD(a,b,c,g)|0;u=e;return d|0}function vU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+100>>2]&255](a,c,b);return}function wU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+164>>2]&255](a,c,b);return}function xU(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Rc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function yU(a,b,c,d,e,f,g,h,i,j,k,l){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;j=j|0;k=k|0;l=l|0;$(25);return 0}function zU(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;f[e>>2]=b[c>>0];e=e+4|0;c=c+1|0}return d|0}function AU(a){a=a|0;if((((f[a+4>>2]|0)-(f[a>>2]|0)|0)/12|0)>>>0>=2){a=0;return a|0}a=(f[a+16>>2]|0)==(f[a+12>>2]|0);return a|0}function BU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+64>>2]&255](a,c,b);return}function CU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+16>>2]&255](a,c,b);return}function DU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+76>>2]&255](a,c,b);return}function EU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+156>>2]&255](a,c,b);return}function FU(a,b){a=a|0;b=b|0;var c=0;c=f[a+8>>2]|0;if((f[a+12>>2]|0)-c>>2>>>0>b>>>0)a=(f[c+(b<<2)>>2]|0)!=0;else a=0;return a|0}function GU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+96>>2]&255](a,c,b);return}function HU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+56>>2]&255](a,c,b);return}function IU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+20>>2]&255](a,c,b);return}function JU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+160>>2]&255](a,c,b);return}function KU(a,b){a=a|0;b=b|0;Zna(a+8|0,b+12|0);$na(a,b+4|0);return}function LU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+92>>2]&255](a,c,b);return}function MU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+24>>2]&255](a,c,b);return}function NU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+68>>2]&255](a,c,b);return}function OU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+72>>2]&255](a,c,b);return}function PU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+12>>2]&255](a,c,b);return}function QU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+212>>2]&255](a,c,b);return}function RU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+116>>2]&255](a,c,b);return}function SU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[f[c>>2]>>2]&255](a,c,b);return}function TU(a){a=a|0;if(b[a+89>>0]|0){a=0;return a|0}a=f[a+84>>2]|0;if(!a){a=1;return a|0}a=(f[a+56>>2]|0)==8;return a|0}function UU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+88>>2]&255](a,c,b);return}function VU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+120>>2]&255](a,c,b);return}function WU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zo(c,d,e,1114111,0)|0}function XU(a){a=a|0;var c=0;f[a>>2]=7392;c=a+76|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function YU(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+84>>2]&255](a,c,b);return}function ZU(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;return +pc[a&1](b|0,c|0,d|0,e|0,f|0,+g,+h)}function _U(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=YP(1,24)|0;if(!d){d=0;return d|0}f[d>>2]=a;p[d+8>>3]=b;f[d+16>>2]=c;return d|0}function $U(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ep(c,d,e,1114111,0)|0}function aV(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[(f[c>>2]|0)+80>>2]&255](a,c,b);return}function bV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85088)|0);return}function cV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85080)|0);return}function dV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85072)|0);return}function eV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85064)|0);return}function fV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85024)|0);return}function gV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85016)|0);return}function hV(a,b){a=a|0;b=b|0;hG(a,b,lJ(85008)|0);return}function iV(a,b){a=a|0;b=b|0;hG(a,b,lJ(84196)|0);return}function jV(a){a=a|0;x=0;qa(411,f[a>>2]|0)|0;a=x;x=0;if(a&1){a=Za(0)|0;soa(a)}else return}function kV(a,c){a=a|0;c=c|0;var d=0;d=f[a+64>>2]|0;if(d|0)Lc[f[(f[d>>2]|0)+100>>2]&1023](d,c);b[a+52>>0]=c&1;return}function lV(a,b){a=a|0;b=b|0;hG(a,b,lJ(83384)|0);return}function mV(a,b){a=a|0;b=b|0;hG(a,b,lJ(83376)|0);return}function nV(a,b){a=a|0;b=b|0;hG(a,b,lJ(83368)|0);return}function oV(a,b){a=a|0;b=b|0;hG(a,b,lJ(83344)|0);return}function pV(a){a=+a;var b=0;b=YP(1,32)|0;if(!b){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{f[b+16>>2]=3;p[b+24>>3]=a;return b|0}return 0}function qV(a,c){a=a|0;c=c|0;f[a>>2]=21372;f[a+4>>2]=c;if(!c)return;a=c+4|0;f[a>>2]=(f[a>>2]|0)+1;b[c+8>>0]=0;return}function rV(a){a=a|0;var c=0;f[a>>2]=16904;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);PF(a);Hta(a);return}function sV(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);Hta(a);return}function tV(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[f[c>>2]>>2]&255](a,c,b);return}function uV(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);Hta(a);return}function vV(a){a=a|0;var b=0,c=0;b=Mta()|0;f[a+56>>2]=f[b>>2];c=f[b>>2]|0;if(c|0)f[c+52>>2]=a;f[b>>2]=a;Tta();return a|0}function wV(a,b){a=a|0;b=b|0;WO(a+52|0,b)|0;return}function xV(a,b,c){a=a|0;b=b|0;c=c|0;Nc[f[f[c>>2]>>2]&255](a,c,b);return}function yV(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);Hta(a);return}function zV(a,b){a=a|0;b=b|0;return sp(a,b,hL(b)|0)|0}function AV(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);Hta(a);return}function BV(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);Hta(a);return}function CV(a){a=a|0;var c=0;f[a>>2]=17688;c=a+88|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);PF(a);Hta(a);return}function DV(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(NS()|0)+(b<<24>>24<<2)|0;b=f[b>>2]&255}return b|0}function EV(a,c){a=a|0;c=c|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;f[a+12>>2]=0;b[a+16>>0]=0;return}function FV(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 Dc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function GV(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);Hta(a);return}function HV(a){a=a|0;f[a>>2]=7808;_P(a+80|0);_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function IV(a){a=a|0;a=f[a+108>>2]|0;if(!a){a=0;return a|0}a=vc[f[(f[a>>2]|0)+116>>2]&511](a)|0;return a|0}function JV(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=4;f[a>>2]=1953720684;b[a+4>>0]=0;return}function KV(a){a=a|0;var c=0;f[a>>2]=7392;c=a+76|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);f[a>>2]=7184;_P(a+64|0);return}function LV(a){a=a|0;var b=0,c=0;b=(rta()|0)+188|0;c=f[b>>2]|0;if(a|0)f[b>>2]=(a|0)==(-1|0)?82188:a;return ((c|0)==82188?-1:c)|0}function MV(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(MS()|0)+((b&255)<<2)|0;b=f[b>>2]&255}return b|0}function NV(a,b){a=a|0;b=b|0;FI(a+4|0,b+64|0,b);return}function OV(a,c){a=a|0;c=c|0;b[c+61>>0]=b[a+61>>0]|0;return kk(a,c)|0}function PV(a,b,c,d,e,f,g,h,i,j,k){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;j=j|0;k=k|0;$(24);return 0}function QV(a,b){a=a|0;b=b|0;FI(a+4|0,b+60|0,b);return}function RV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=Tja(a,b,e)|0;u=d;return c|0}function SV(a){a=a|0;var c=0;f[a>>2]=16904;c=a+84|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);PF(a);return}function TV(a){a=a|0;if((b[a>>0]|0)!=37){a=0;return a|0}a=By(a+1|0)|0;return a|0}function UV(a,b){a=a|0;b=b|0;FI(a+4|0,b+60|0,b);return}function VV(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;return Cc[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function WV(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function XV(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function YV(a){a=a|0;var c=0;f[a>>2]=11668;c=a+64|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function ZV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=UN(a,b,e)|0;u=d;return c|0}function _V(a,c,d){a=a|0;c=c|0;d=d|0;if(!c)a=0;else a=HB(a,mqa(b[d>>0]|0)|0,c)|0;return a|0}function $V(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=4;f[a>>2]=1819242338;b[a+4>>0]=0;return}function aW(a){a=a|0;a=b[a>>0]|0;if(((a<<24>>24)+-48|0)>>>0<10)return 1;else{a=a<<24>>24|0;return (a|0)==45|(a|0)==43|0}return 0}function bW(a){a=a|0;var c=0;while(1){c=b[a>>0]|0;if(c<<24>>24!=32&((c<<24>>24)+-9|0)>>>0>4)break;else a=a+1|0}return a|0}function cW(a){a=a|0;var c=0;f[a>>2]=10116;c=a+68|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);_P(a+60|0);Hta(a);return}function dW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c|0){d=a;while(1){c=c+-1|0;f[d>>2]=b;if(!c)break;else d=d+4|0}}return a|0}function eW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function fW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function gW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function hW(a){a=a|0;var c=0;f[a>>2]=11668;c=a+64|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function iW(a,b){a=a|0;b=b|0;al(a+-52|0,b);return}function jW(a){a=a|0;f[a>>2]=8592;_P(a+80|0);_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function kW(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;Qc[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function lW(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+11>>0]=4;f[a>>2]=1819047278;b[a+4>>0]=0;return}function mW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function nW(a){a=a|0;var c=0;f[a>>2]=17688;c=a+88|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);PF(a);return}function oW(a){a=a|0;if((b[a>>0]|0)!=35){a=0;return a|0}a=By(a+1|0)|0;return a|0}function pW(a,b){a=a|0;b=b|0;FI(a+4|0,b+60|0,b);return}function qW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function rW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function sW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function tW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function uW(a,b){a=a|0;b=b|0;var c=0.0;c=+Cqa(f[a>>2]|0);return c>+Cqa(f[b>>2]|0)|0}function vW(a){a=a|0;$h(f[a>>2]|0);$h(f[a+4>>2]|0);$h(f[a+8>>2]|0);$h(f[a+12>>2]|0);$h(f[a+16>>2]|0);$h(a);return}function wW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function xW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function yW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function zW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function AW(a,b,c){a=a|0;b=b|0;c=c|0;Qg(a,b,c);return}function BW(a,b){a=a|0;b=b|0;var c=0;c=f[b+4>>2]|0;Nc[f[(f[c>>2]|0)+24>>2]&255](a,c,f[b>>2]|0);return}function CW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function DW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function EW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function FW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function GW(a){a=a|0;var c=0;f[a>>2]=6640;c=a+8|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);dfa(a);return}function HW(a){a=a|0;f[a>>2]=7808;_P(a+80|0);_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function IW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function KW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function LW(a){a=a|0;var c=0;f[a>>2]=10992;c=a+60|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function MW(a){a=a|0;var c=0;c=a+1|0;if((b[a>>0]|0)!=58){c=0;return c|0}c=(b[c>>0]|0)==58?a+2|0:c;return c|0}function NW(a){a=a|0;var b=0;b=f[a+60>>2]|0;if((b|0)==(f[a+56>>2]|0)){b=0;return b|0}b=f[b+-4>>2]|0;return b|0}function OW(a,b){a=a|0;b=b|0;var c=0;c=a+64|0;$h(f[c>>2]|0);if(!b)a=0;else a=wR(b)|0;f[c>>2]=a;return}function PW(a,b){a=a|0;b=b|0;var c=0;c=a+60|0;$h(f[c>>2]|0);if(!b)a=0;else a=wR(b)|0;f[c>>2]=a;return}function QW(a,b){a=a|0;b=b|0;Ei(a+-60|0,b);return}function RW(a){a=a|0;if((f[a>>2]|0)!=(f[a+4>>2]|0)){a=0;return a|0}a=(f[a+12>>2]|0)==(f[a+16>>2]|0);return a|0}function SW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function TW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function UW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function VW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function WW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function XW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function YW(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function ZW(a){a=a|0;if(((b[a>>0]|0)+-48|0)>>>0>9){a=0;return a|0}do a=a+1|0;while(((b[a>>0]|0)+-48|0)>>>0<=9);return a|0}function _W(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[5414]|0;Ky(b,a,c)|0;eF(10,b)|0;Cb()}function $W(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(MS()|0)+(b<<2)|0;b=f[b>>2]|0}return b|0}function aX(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(NS()|0)+(b<<2)|0;b=f[b>>2]|0}return b|0}function bX(a){a=a|0;a=f[a+12>>2]|0;if(!a){a=0;return a|0}a=(f[a+12>>2]|0)!=0;return a|0}function cX(a,b){a=+a;b=+b;if(!(a>0.0&b<0.0))if(!(a<0.0&b>0.0)){b=+Mn(a,b);return +b}a=+Mn(a,b);b=a!=0.0?a+b:a;return +b}function dX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function eX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function fX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function gX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function hX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function iX(a){a=a|0;var c=0;f[a>>2]=11116;c=a+96|0;if((b[c+11>>0]|0)>=0){Hta(a);return}Hta(f[c>>2]|0);Hta(a);return}function jX(a,b){a=a|0;b=b|0;var c=0;c=a+40|0;$h(f[c>>2]|0);if(!b)a=0;else a=wR(b)|0;f[c>>2]=a;return}function kX(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lX(a){a=a|0;if(vja(a,Jta()|0)|0)a=~(Jta()|0);return a|0}function mX(a){a=a|0;if(wja(a,Kta()|0)|0)a=~(Kta()|0);return a|0}function nX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function oX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function pX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function qX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function rX(a){a=a|0;f[a>>2]=15768;_P(a+92|0);_P(a+84|0);_P(a+76|0);Hta(a);return}function sX(){var a=0;a=u;u=u+16|0;if(!(_b(85240,474)|0)){u=a;return}else _W(60800,a)}function tX(a,b){a=a|0;b=b|0;var c=0;c=a+32|0;$h(f[c>>2]|0);if(!b)a=0;else a=wR(b)|0;f[c>>2]=a;return}function uX(a,b){a=a|0;b=b|0;var c=0;c=a+28|0;$h(f[c>>2]|0);if(!b)a=0;else a=wR(b)|0;f[c>>2]=a;return}function vX(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)AD(a|0,(mqa(c)|0)&255|0,b|0)|0;return a|0}function wX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function xX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function yX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function zX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function AX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function BX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function CX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function DX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function EX(a){a=a|0;var c=0;a=f[a+4>>2]|0;if(!a)return;c=a+4|0;f[c>>2]=(f[c>>2]|0)+1;b[a+8>>0]=0;return}function FX(a){a=a|0;var c=0;f[a>>2]=10116;c=a+68|0;if((b[c+11>>0]|0)<0)Hta(f[c>>2]|0);_P(a+60|0);return}function GX(a){a=a|0;var b=0;b=a+16|0;f[b>>2]=f[b>>2]|1;if(!(f[a+20>>2]&1))return;else eb()}function HX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function IX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function JX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function KX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function LX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function MX(a){a=a|0;f[a>>2]=7920;_P(a+76|0);a=a+64|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function NX(a,b){a=a|0;b=b|0;hG(a,b,lJ(85128)|0);return}function OX(a,b){a=a|0;b=b|0;hG(a,b,lJ(85136)|0);return}function PX(a){a=a|0;KU(a,26332);uma(a+12|0);return}function QX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function RX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function SX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function TX(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function UX(a){a=a|0;f[a>>2]=13276;_P(a+64|0);a=a+52|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function VX(a){a=a|0;return Xu(a)|0}function WX(a){a=a|0;f[a>>2]=8592;_P(a+80|0);_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function XX(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=f|0;g=g|0;return tc[a&1](+b,+c,+d,+e,f|0,g|0)|0}function YX(a,b,c,d,e,f,g,h,i,j){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;j=j|0;$(23);return 0}function ZX(a,b){a=a|0;b=b|0;hG(a,b,lJ(85120)|0);return}function _X(a,b){a=a|0;b=b|0;hG(a,b,lJ(85112)|0);return}function $X(a){a=a|0;var c=0;f[a>>2]=29040;c=f[a+8>>2]|0;if(c|0)if(b[a+12>>0]|0)zta(c);$sa(a);return}function aY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function bY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function cY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function dY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function eY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function fY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function gY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function hY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function iY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function jY(a){a=a|0;var b=0,c=0;b=a+64|0;c=f[b>>2]|0;if(c|0)return c|0;c=h[a+60>>0]|0;f[b>>2]=c;return c|0}function kY(a){a=a|0;var b=0;if((f[a+76>>2]|0)>-1){b=(Vta(a)|0)==0;a=IO(a)|0}else a=IO(a)|0;return a|0}function lY(a){a=a|0;Yna(a,26264);tma(a+4|0);return}function mY(a){a=a|0;Zna(a,26216);uma(a+4|0);return}function nY(a){a=a|0;_na(a,26208);tma(a+8|0);return}function oY(a){a=a|0;$na(a,26160);uma(a+8|0);return}function pY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function qY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function rY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Bc[a&63](b|0,c|0,d|0,e|0,f|0)|0}function sY(a,b,c){a=a|0;b=b|0;c=c|0;return ((f[b>>2]|0)==(c|0)?(f[b+4>>2]|0)==(a|0):0)|0}function tY(a){a=a|0;a=vc[f[(f[a>>2]|0)+12>>2]&511](a)|0;Kc[f[(f[a>>2]|0)+36>>2]&511](a);return a|0}function uY(a,b){a=a|0;b=b|0;hG(a,b,lJ(85056)|0);return}function vY(a,b){a=a|0;b=b|0;hG(a,b,lJ(85048)|0);return}function wY(a,b){a=a|0;b=b|0;hG(a,b,lJ(85040)|0);return}function xY(a,b){a=a|0;b=b|0;hG(a,b,lJ(85032)|0);return}function yY(a,b,c){a=a|0;b=b|0;c=c|0;return gea(a,b,0)|0}function zY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +oc[a&3](b|0,c|0,d|0,e|0,f|0)}function AY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d|0;d=(d|0)-(c>>>0>a>>>0|0)>>>0;return (I=d,a-c>>>0|0)|0}function BY(a){a=a|0;PX(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function CY(a){a=a|0;aba(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function DY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+196>>2]&2047](b,a)|0}function EY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+204>>2]&2047](b,a)|0}function FY(a){a=a|0;f[a>>2]=15768;_P(a+92|0);_P(a+84|0);_P(a+76|0);return}function GY(a){a=a|0;return $u(a)|0}function HY(){var a=0;a=YP(1,32)|0;if(!a){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{f[a+16>>2]=5;return a|0}return 0}function IY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Ac[a&7](b|0,c|0,d|0,e|0,+f)|0}function JY(a){a=a|0;lY(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function KY(a){a=a|0;iba(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function LY(a){a=a|0;mY(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function MY(a){a=a|0;jba(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function NY(a){a=a|0;nY(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function OY(a){a=a|0;kba(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function PY(a){a=a|0;oY(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function QY(a){a=a|0;lba(a+(f[(f[a>>2]|0)+-12>>2]|0)|0);return}function RY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+196>>2]&2047](b,a)|0}function SY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+204>>2]&2047](b,a)|0}function TY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+192>>2]&2047](b,a)|0}function UY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+240>>2]&2047](b,a)|0}function VY(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+140>>2]&2047](b,a)|0}function WY(a){a=a|0;f[a>>2]=12276;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function XY(){var a=0;a=YP(1,32)|0;if(!a){vO(50780,15,1,f[5414]|0)|0;Pb(1)}else{f[a+16>>2]=4;return a|0}return 0}function YY(a,b,c,d,e,f,g,h,i,j){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;j=j|0;$(36)}function ZY(a){a=a|0;if((f[a+64>>2]|0)!=(f[a+68>>2]|0)){a=0;return a|0}a=(b[a+85>>0]|0)==0;return a|0}function _Y(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+196>>2]&2047](b,a)|0}function $Y(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+196>>2]&2047](b,a)|0}function aZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+204>>2]&2047](b,a)|0}function bZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+204>>2]&2047](b,a)|0}function cZ(a){a=a|0;f[a>>2]=13040;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function dZ(a){a=a|0;f[a>>2]=29132;Aaa(a+16|0);$sa(a);return}function eZ(a){a=a|0;f[a>>2]=29092;Aaa(a+12|0);$sa(a);return}function fZ(a){a=a|0;a=vc[f[(f[a>>2]|0)+152>>2]&511](a)|0;return (a?f[4162]|0:f[4163]|0)|0}function gZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+196>>2]&2047](b,a)|0}function hZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+204>>2]&2047](b,a)|0}function iZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+192>>2]&2047](b,a)|0}function jZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+240>>2]&2047](b,a)|0}function kZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+140>>2]&2047](b,a)|0}function lZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+256>>2]&2047](b,a)|0}function mZ(a){a=a|0;f[a>>2]=7712;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function nZ(a,b){a=a|0;b=b|0;hG(a,b,lJ(83360)|0);return}function oZ(a,b){a=a|0;b=b|0;hG(a,b,lJ(83336)|0);return}function pZ(a,b){a=a|0;b=b|0;hG(a,b,lJ(85104)|0);return}function qZ(a,b){a=a|0;b=b|0;hG(a,b,lJ(85096)|0);return}function rZ(a){a=a|0;a=a+8|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function sZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+192>>2]&2047](b,a)|0}function tZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+192>>2]&2047](b,a)|0}function uZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+240>>2]&2047](b,a)|0}function vZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+240>>2]&2047](b,a)|0}function wZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+140>>2]&2047](b,a)|0}function xZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+140>>2]&2047](b,a)|0}function yZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+184>>2]&2047](b,a)|0}function zZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+188>>2]&2047](b,a)|0}function AZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+268>>2]&2047](b,a)|0}function BZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+128>>2]&2047](b,a)|0}function CZ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Pc[a&15](b|0,c|0,d|0,e|0,f|0)}function DZ(a,b){a=a|0;b=b|0;hG(a,b,lJ(83312)|0);return}function EZ(a,b){a=a|0;b=b|0;hG(a,b,lJ(83304)|0);return}function FZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+196>>2]&2047](b,a)|0}function GZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+204>>2]&2047](b,a)|0}function HZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+192>>2]&2047](b,a)|0}function IZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+240>>2]&2047](b,a)|0}function JZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+140>>2]&2047](b,a)|0}function KZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+256>>2]&2047](b,a)|0}function LZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+264>>2]&2047](b,a)|0}function MZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+132>>2]&2047](b,a)|0}function NZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+244>>2]&2047](b,a)|0}function OZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+272>>2]&2047](b,a)|0}function PZ(a){a=a|0;f[a>>2]=7488;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function QZ(a){a=a|0;if(jU(a)|0)eQ(a);return}function RZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+256>>2]&2047](b,a)|0}function SZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+256>>2]&2047](b,a)|0}function TZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+184>>2]&2047](b,a)|0}function UZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+188>>2]&2047](b,a)|0}function VZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+268>>2]&2047](b,a)|0}function WZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+128>>2]&2047](b,a)|0}function XZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+176>>2]&2047](b,a)|0}function YZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+236>>2]&2047](b,a)|0}function ZZ(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+260>>2]&2047](b,a)|0}function _Z(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+216>>2]&2047](b,a)|0}function $Z(a,b){a=a|0;b=b|0;hG(a,b,lJ(83352)|0);return}function a_(a,b){a=a|0;b=b|0;hG(a,b,lJ(83320)|0);return}function b_(a,b){a=a|0;b=b|0;a=f[a>>2]|0;return ZQ(a,lJ(b)|0)|0}function c_(a,b){a=a|0;b=b|0;a=f[a>>2]|0;return FU(a,lJ(b)|0)|0}function d_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+192>>2]&2047](b,a)|0}function e_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+240>>2]&2047](b,a)|0}function f_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+140>>2]&2047](b,a)|0}function g_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+256>>2]&2047](b,a)|0}function h_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+184>>2]&2047](b,a)|0}function i_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+184>>2]&2047](b,a)|0}function j_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+188>>2]&2047](b,a)|0}function k_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+188>>2]&2047](b,a)|0}function l_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+268>>2]&2047](b,a)|0}function m_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+268>>2]&2047](b,a)|0}function n_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+128>>2]&2047](b,a)|0}function o_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+128>>2]&2047](b,a)|0}function p_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+264>>2]&2047](b,a)|0}function q_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+132>>2]&2047](b,a)|0}function r_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+244>>2]&2047](b,a)|0}function s_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+272>>2]&2047](b,a)|0}function t_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+248>>2]&2047](b,a)|0}function u_(a){a=a|0;return fs(a)|0}function v_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+184>>2]&2047](b,a)|0}function w_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+188>>2]&2047](b,a)|0}function x_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+268>>2]&2047](b,a)|0}function y_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+128>>2]&2047](b,a)|0}function z_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+264>>2]&2047](b,a)|0}function A_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+264>>2]&2047](b,a)|0}function B_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+132>>2]&2047](b,a)|0}function C_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+132>>2]&2047](b,a)|0}function D_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+244>>2]&2047](b,a)|0}function E_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+244>>2]&2047](b,a)|0}function F_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+272>>2]&2047](b,a)|0}function G_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+272>>2]&2047](b,a)|0}function H_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+176>>2]&2047](b,a)|0}function I_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+236>>2]&2047](b,a)|0}function J_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+260>>2]&2047](b,a)|0}function K_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+216>>2]&2047](b,a)|0}function L_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+28>>2]&2047](b,a)|0}function M_(a,b){a=a|0;b=b|0;return Hba(b)|0}function N_(a,b){a=a|0;b=b|0;return Hba(b)|0}function O_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+168>>2]&2047](b,a)|0}function P_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+172>>2]&2047](b,a)|0}function Q_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+276>>2]&2047](b,a)|0}function R_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+136>>2]&2047](b,a)|0}function S_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+208>>2]&2047](b,a)|0}function T_(a,c){a=a|0;c=c|0;a=c+60|0;if((b[a+11>>0]|0)<0)a=f[a>>2]|0;return uS(a)|0}function U_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+256>>2]&2047](b,a)|0}function V_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+264>>2]&2047](b,a)|0}function W_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+132>>2]&2047](b,a)|0}function X_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+244>>2]&2047](b,a)|0}function Y_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+272>>2]&2047](b,a)|0}function Z_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+176>>2]&2047](b,a)|0}function __(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+176>>2]&2047](b,a)|0}function $_(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+236>>2]&2047](b,a)|0}function a$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+236>>2]&2047](b,a)|0}function b$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+260>>2]&2047](b,a)|0}function c$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+260>>2]&2047](b,a)|0}function d$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+216>>2]&2047](b,a)|0}function e$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+216>>2]&2047](b,a)|0}function f$(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function g$(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function h$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+248>>2]&2047](b,a)|0}function i$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+44>>2]&2047](b,a)|0}function j$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+36>>2]&2047](b,a)|0}function k$(a){a=a|0;WN(a+8|0);$sa(a);Hta(a);return}function l$(a){a=a|0;WN(a+8|0);$sa(a);Hta(a);return}function m$(a){a=a|0;f[a>>2]=7072;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function n$(a,b){a=a|0;b=b|0;return jR(+p[b+64>>3],+p[b+72>>3],+p[b+80>>3],+p[b+88>>3])|0}function o$(a,c){a=a|0;c=c|0;a=c+64|0;if((b[a+11>>0]|0)<0)a=f[a>>2]|0;return aR(a)|0}function p$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+184>>2]&2047](b,a)|0}function q$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+188>>2]&2047](b,a)|0}function r$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+268>>2]&2047](b,a)|0}function s$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+128>>2]&2047](b,a)|0}function t$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+176>>2]&2047](b,a)|0}function u$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+236>>2]&2047](b,a)|0}function v$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+260>>2]&2047](b,a)|0}function w$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+216>>2]&2047](b,a)|0}function x$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+28>>2]&2047](b,a)|0}function y$(a,b){a=a|0;b=b|0;return Hba(b)|0}function z$(a,b){a=a|0;b=b|0;return Hba(b)|0}function A$(a,b){a=a|0;b=b|0;return Hba(b)|0}function B$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+248>>2]&2047](b,a)|0}function C$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+248>>2]&2047](b,a)|0}function D$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+168>>2]&2047](b,a)|0}function E$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+172>>2]&2047](b,a)|0}function F$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+276>>2]&2047](b,a)|0}function G$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+136>>2]&2047](b,a)|0}function H$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+208>>2]&2047](b,a)|0}function I$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+200>>2]&2047](b,a)|0}function J$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+252>>2]&2047](b,a)|0}function K$(a){a=a|0;a=a+20|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function L$(a,b){a=a|0;b=b|0;Uk(a,b+64|0,42);return}function M$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+264>>2]&2047](b,a)|0}function N$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+132>>2]&2047](b,a)|0}function O$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+244>>2]&2047](b,a)|0}function P$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+272>>2]&2047](b,a)|0}function Q$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+28>>2]&2047](b,a)|0}function R$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+28>>2]&2047](b,a)|0}function S$(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function T$(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function U$(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function V$(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function W$(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function X$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+248>>2]&2047](b,a)|0}function Y$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+168>>2]&2047](b,a)|0}function Z$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+168>>2]&2047](b,a)|0}function _$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+172>>2]&2047](b,a)|0}function $$(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+172>>2]&2047](b,a)|0}function a0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+276>>2]&2047](b,a)|0}function b0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+276>>2]&2047](b,a)|0}function c0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+44>>2]&2047](b,a)|0}function d0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+136>>2]&2047](b,a)|0}function e0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+136>>2]&2047](b,a)|0}function f0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+208>>2]&2047](b,a)|0}function g0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+208>>2]&2047](b,a)|0}function h0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+36>>2]&2047](b,a)|0}function i0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+32>>2]&2047](b,a)|0}function j0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+60>>2]&2047](b,a)|0}function k0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+48>>2]&2047](b,a)|0}function l0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+224>>2]&2047](b,a)|0}function m0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+112>>2]&2047](b,a)|0}function n0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+108>>2]&2047](b,a)|0}function o0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Mc[a&1](b|0,c|0,+d,e|0,f|0)}function p0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function q0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function r0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function s0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function t0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function u0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function v0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function w0(a,c){a=a|0;c=c|0;b[a>>0]=2;b[a+1>>0]=3;b[a+2>>0]=0;b[a+3>>0]=4;return}function x0(a){a=a|0;f[a>>2]=8880;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);Hta(a);return}function y0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+176>>2]&2047](b,a)|0}function z0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+236>>2]&2047](b,a)|0}function A0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+260>>2]&2047](b,a)|0}function B0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+216>>2]&2047](b,a)|0}function C0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+28>>2]&2047](b,a)|0}function D0(a,b){a=a|0;b=b|0;return Hba(b)|0}function E0(a,b){a=a|0;b=b|0;return Hba(b)|0}function F0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+168>>2]&2047](b,a)|0}function G0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+172>>2]&2047](b,a)|0}function H0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+276>>2]&2047](b,a)|0}function I0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+44>>2]&2047](b,a)|0}function J0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+44>>2]&2047](b,a)|0}function K0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+136>>2]&2047](b,a)|0}function L0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+208>>2]&2047](b,a)|0}function M0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+36>>2]&2047](b,a)|0}function N0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+36>>2]&2047](b,a)|0}function O0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+200>>2]&2047](b,a)|0}function P0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+252>>2]&2047](b,a)|0}function Q0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+52>>2]&2047](b,a)|0}function R0(a){a=a|0;RQ(f[f[a>>2]>>2]|0);return}function S0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=c;return 3}function T0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=c;return 3}function U0(a,b){a=a|0;b=b|0;Uk(a,b+64|0,42);return}function V0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+220>>2]&2047](b,a)|0}function W0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+104>>2]&2047](b,a)|0}function X0(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+232>>2]&2047](b,a)|0}function Y0(a,c){a=a|0;c=c|0;a=c+60|0;if((b[a+11>>0]|0)<0)a=f[a>>2]|0;return yS(a)|0}function Z0(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function _0(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function $0(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function a1(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function b1(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function c1(a,b){a=a|0;b=b|0;return Hba(b)|0}function d1(a,b){a=a|0;b=b|0;return Hba(b)|0}function e1(a,b){a=a|0;b=b|0;return Hba(b)|0}function f1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+248>>2]&2047](b,a)|0}function g1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+44>>2]&2047](b,a)|0}function h1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+36>>2]&2047](b,a)|0}function i1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+200>>2]&2047](b,a)|0}function j1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+200>>2]&2047](b,a)|0}function k1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+32>>2]&2047](b,a)|0}function l1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+60>>2]&2047](b,a)|0}function m1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+252>>2]&2047](b,a)|0}function n1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+252>>2]&2047](b,a)|0}function o1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+48>>2]&2047](b,a)|0}function p1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+224>>2]&2047](b,a)|0}function q1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+112>>2]&2047](b,a)|0}function r1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+108>>2]&2047](b,a)|0}function s1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=c;return 3}function t1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+40>>2]&2047](b,a)|0}function u1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+152>>2]&2047](b,a)|0}function v1(a){a=a|0;if((b[a>>0]|0)!=45){a=0;return a|0}do a=a+1|0;while((b[a>>0]|0)==45);return a|0}function w1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+124>>2]&2047](b,a)|0}function x1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+228>>2]&2047](b,a)|0}function y1(a){a=a|0;if((f[f[a+68>>2]>>2]|0)==3)return;f[a+80>>2]=1;f[a+76>>2]=0;return}function z1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+28>>2]&2047](b,a)|0}function A1(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function B1(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function C1(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function D1(a,b){a=a|0;b=b|0;return Hba(b)|0}function E1(a,b){a=a|0;b=b|0;return Hba(b)|0}function F1(a,b){a=a|0;b=b|0;return Hba(b)|0}function G1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+168>>2]&2047](b,a)|0}function H1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+172>>2]&2047](b,a)|0}function I1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+276>>2]&2047](b,a)|0}function J1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+136>>2]&2047](b,a)|0}function K1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+208>>2]&2047](b,a)|0}function L1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+200>>2]&2047](b,a)|0}function M1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+32>>2]&2047](b,a)|0}function N1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+32>>2]&2047](b,a)|0}function O1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+60>>2]&2047](b,a)|0}function P1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+60>>2]&2047](b,a)|0}function Q1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+252>>2]&2047](b,a)|0}function R1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+48>>2]&2047](b,a)|0}function S1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+48>>2]&2047](b,a)|0}function T1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+224>>2]&2047](b,a)|0}function U1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+224>>2]&2047](b,a)|0}function V1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+112>>2]&2047](b,a)|0}function W1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+112>>2]&2047](b,a)|0}function X1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+108>>2]&2047](b,a)|0}function Y1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+108>>2]&2047](b,a)|0}function Z1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+52>>2]&2047](b,a)|0}function _1(a){a=a|0;a=a+8|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function $1(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+220>>2]&2047](b,a)|0}function a2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+104>>2]&2047](b,a)|0}function b2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+232>>2]&2047](b,a)|0}function c2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+100>>2]&2047](b,a)|0}function d2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+164>>2]&2047](b,a)|0}function e2(a){a=a|0;f[a>>2]=12276;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function f2(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function g2(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function h2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function i2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function j2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function k2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function l2(a,b){a=a|0;b=b|0;return Hba(b)|0}function m2(a,b){a=a|0;b=b|0;return Hba(b)|0}function n2(a,b){a=a|0;b=b|0;return Hba(b)|0}function o2(a,b){a=a|0;b=b|0;return Hba(b)|0}function p2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+44>>2]&2047](b,a)|0}function q2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+36>>2]&2047](b,a)|0}function r2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+32>>2]&2047](b,a)|0}function s2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+60>>2]&2047](b,a)|0}function t2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+48>>2]&2047](b,a)|0}function u2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+224>>2]&2047](b,a)|0}function v2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+112>>2]&2047](b,a)|0}function w2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+108>>2]&2047](b,a)|0}function x2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+52>>2]&2047](b,a)|0}function y2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+52>>2]&2047](b,a)|0}function z2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+220>>2]&2047](b,a)|0}function A2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+220>>2]&2047](b,a)|0}function B2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+104>>2]&2047](b,a)|0}function C2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+104>>2]&2047](b,a)|0}function D2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+40>>2]&2047](b,a)|0}function E2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+232>>2]&2047](b,a)|0}function F2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+232>>2]&2047](b,a)|0}function G2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+152>>2]&2047](b,a)|0}function H2(a){a=a|0;var c=0;c=b[a>>0]|0;c=c<<24>>24|0;return ((c|0)==32|(c+-9|0)>>>0<5?a+1|0:0)|0}function I2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+124>>2]&2047](b,a)|0}function J2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+228>>2]&2047](b,a)|0}function K2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+64>>2]&2047](b,a)|0}function L2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+16>>2]&2047](b,a)|0}function M2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+76>>2]&2047](b,a)|0}function N2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+156>>2]&2047](b,a)|0}function O2(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function P2(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function Q2(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function R2(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function S2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function T2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function U2(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function V2(a,b){a=a|0;b=b|0;return Hba(b)|0}function W2(a,b){a=a|0;b=b|0;return Hba(b)|0}function X2(a,b){a=a|0;b=b|0;return Hba(b)|0}function Y2(a){a=a|0;f[a>>2]=13040;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function Z2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+200>>2]&2047](b,a)|0}function _2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+252>>2]&2047](b,a)|0}function $2(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+52>>2]&2047](b,a)|0}function a3(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function b3(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function c3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+220>>2]&2047](b,a)|0}function d3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+104>>2]&2047](b,a)|0}function e3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+40>>2]&2047](b,a)|0}function f3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+40>>2]&2047](b,a)|0}function g3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+232>>2]&2047](b,a)|0}function h3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+152>>2]&2047](b,a)|0}function i3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+152>>2]&2047](b,a)|0}function j3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+124>>2]&2047](b,a)|0}function k3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+124>>2]&2047](b,a)|0}function l3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+228>>2]&2047](b,a)|0}function m3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+228>>2]&2047](b,a)|0}function n3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+100>>2]&2047](b,a)|0}function o3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+164>>2]&2047](b,a)|0}function p3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+96>>2]&2047](b,a)|0}function q3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0}function r3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+20>>2]&2047](b,a)|0}function s3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+160>>2]&2047](b,a)|0}function t3(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+196>>2]&1023](b,a);return}function u3(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+204>>2]&1023](b,a);return}function v3(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function w3(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function x3(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function y3(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function z3(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function A3(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function B3(a,b){a=a|0;b=b|0;return Hba(b)|0}function C3(a,b){a=a|0;b=b|0;return Hba(b)|0}function D3(a,b){a=a|0;b=b|0;return Hba(b)|0}function E3(a,b){a=a|0;b=b|0;return Hba(b)|0}function F3(a,b){a=a|0;b=b|0;return Hba(b)|0}function G3(a,b){a=a|0;b=b|0;return Hba(b)|0}function H3(a){a=a|0;f[a>>2]=7712;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function I3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+32>>2]&2047](b,a)|0}function J3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+60>>2]&2047](b,a)|0}function K3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+48>>2]&2047](b,a)|0}function L3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+224>>2]&2047](b,a)|0}function M3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+112>>2]&2047](b,a)|0}function N3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+108>>2]&2047](b,a)|0}function O3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+40>>2]&2047](b,a)|0}function P3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+152>>2]&2047](b,a)|0}function Q3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=c;f[a+4>>2]=d;f[a+8>>2]=b;return}function R3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+124>>2]&2047](b,a)|0}function S3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+228>>2]&2047](b,a)|0}function T3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+64>>2]&2047](b,a)|0}function U3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+16>>2]&2047](b,a)|0}function V3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+100>>2]&2047](b,a)|0}function W3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+100>>2]&2047](b,a)|0}function X3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+76>>2]&2047](b,a)|0}function Y3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+164>>2]&2047](b,a)|0}function Z3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+164>>2]&2047](b,a)|0}function _3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+156>>2]&2047](b,a)|0}function $3(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+92>>2]&2047](b,a)|0}function a4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+24>>2]&2047](b,a)|0}function b4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+68>>2]&2047](b,a)|0}function c4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+72>>2]&2047](b,a)|0}function d4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+12>>2]&2047](b,a)|0}function e4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+212>>2]&2047](b,a)|0}function f4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+116>>2]&2047](b,a)|0}function g4(a){a=a|0;f[a>>2]=12152;_P(a+68|0);_P(a+60|0);Hta(a);return}function h4(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function i4(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function j4(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function k4(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function l4(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function m4(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function n4(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function o4(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function p4(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function q4(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function r4(a,b){a=a|0;b=b|0;return Hba(b)|0}function s4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+52>>2]&2047](b,a)|0}function t4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+220>>2]&2047](b,a)|0}function u4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+104>>2]&2047](b,a)|0}function v4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+232>>2]&2047](b,a)|0}function w4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+64>>2]&2047](b,a)|0}function x4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+64>>2]&2047](b,a)|0}function y4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+16>>2]&2047](b,a)|0}function z4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+16>>2]&2047](b,a)|0}function A4(a,b,c){a=a|0;b=b|0;c=c|0;mf(a,b+16|0,c);return}function B4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+100>>2]&2047](b,a)|0}function C4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+76>>2]&2047](b,a)|0}function D4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+76>>2]&2047](b,a)|0}function E4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+164>>2]&2047](b,a)|0}function F4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+96>>2]&2047](b,a)|0}function G4(a){a=a|0;var b=0.0;b=+Ui(a+60|0);a=a+88|0;p[a>>3]=b*+p[a>>3];return}function H4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+156>>2]&2047](b,a)|0}function I4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+156>>2]&2047](b,a)|0}function J4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0}function K4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+20>>2]&2047](b,a)|0}function L4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+160>>2]&2047](b,a)|0}function M4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+88>>2]&2047](b,a)|0}function N4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+120>>2]&2047](b,a)|0}function O4(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+192>>2]&1023](b,a);return}function P4(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+240>>2]&1023](b,a);return}function Q4(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+140>>2]&1023](b,a);return}function R4(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function S4(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function T4(a,b){a=a|0;b=b|0;return Hba(b)|0}function U4(a,b){a=a|0;b=b|0;return Hba(b)|0}function V4(a,b){a=a|0;b=b|0;return Hba(b)|0}function W4(a,b){a=a|0;b=b|0;return Hba(b)|0}function X4(a,b){a=a|0;b=b|0;return Hba(b)|0}function Y4(a){a=a|0;f[a>>2]=7488;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function Z4(a){a=a|0;var b=0;b=f[a+128>>2]|0;if(b|0)$h(b);sG(a);$h(a);return}function _4(a){a=a|0;var b=0,c=0;c=(hL(a)|0)+1|0;b=Rd(c)|0;if(!b)b=0;else Lu(b|0,a|0,c|0)|0;return b|0}function $4(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+40>>2]&2047](b,a)|0}function a5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+152>>2]&2047](b,a)|0}function b5(a){a=a|0;var c=0;c=b[a>>0]|0;c=c<<24>>24|0;return ((c|0)==32|(c+-9|0)>>>0<5?0:a)|0}function c5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+124>>2]&2047](b,a)|0}function d5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+228>>2]&2047](b,a)|0}function e5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+64>>2]&2047](b,a)|0}function f5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+16>>2]&2047](b,a)|0}function g5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+76>>2]&2047](b,a)|0}function h5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+96>>2]&2047](b,a)|0}function i5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+96>>2]&2047](b,a)|0}function j5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+156>>2]&2047](b,a)|0}function k5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0}function l5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0}function m5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+20>>2]&2047](b,a)|0}function n5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+20>>2]&2047](b,a)|0}function o5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+92>>2]&2047](b,a)|0}function p5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+24>>2]&2047](b,a)|0}function q5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+68>>2]&2047](b,a)|0}function r5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+72>>2]&2047](b,a)|0}function s5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+160>>2]&2047](b,a)|0}function t5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+160>>2]&2047](b,a)|0}function u5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+12>>2]&2047](b,a)|0}function v5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+212>>2]&2047](b,a)|0}function w5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+116>>2]&2047](b,a)|0}function x5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+84>>2]&2047](b,a)|0}function y5(a){a=a|0;f[a>>2]=12660;_P(a+68|0);_P(a+60|0);Hta(a);return}function z5(a){a=a|0;f[a>>2]=10868;_P(a+68|0);_P(a+60|0);Hta(a);return}function A5(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function B5(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function C5(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function D5(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function E5(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function F5(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function G5(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function H5(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function I5(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function J5(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function K5(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function L5(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function M5(a,b){a=a|0;b=b|0;return Hba(b)|0}function N5(a,b){a=a|0;b=b|0;return Hba(b)|0}function O5(a,b){a=a|0;b=b|0;return Hba(b)|0}function P5(a,b){a=a|0;b=b|0;return Hba(b)|0}function Q5(a,b){a=a|0;b=b|0;if(!b)b=0;else b=_y(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function R5(a){a=a|0;var c=0;c=b[a>>0]|0;return ((c+-48|0)>>>0<10|((c&-33)+-65|0)>>>0<6?a+1|0:0)|0}function S5(a){a=a|0;var c=0;c=b[a>>0]|0;return ((c+-48|0)>>>0<10|((c&-33)+-65|0)>>>0<26?a+1|0:0)|0}function T5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+100>>2]&2047](b,a)|0}function U5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+164>>2]&2047](b,a)|0}function V5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+96>>2]&2047](b,a)|0}function W5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0}function X5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+20>>2]&2047](b,a)|0}function Y5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+92>>2]&2047](b,a)|0}function Z5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+92>>2]&2047](b,a)|0}function _5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+24>>2]&2047](b,a)|0}function $5(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+24>>2]&2047](b,a)|0}function a6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+68>>2]&2047](b,a)|0}function b6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+68>>2]&2047](b,a)|0}function c6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+72>>2]&2047](b,a)|0}function d6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+72>>2]&2047](b,a)|0}function e6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+160>>2]&2047](b,a)|0}function f6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+12>>2]&2047](b,a)|0}function g6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+12>>2]&2047](b,a)|0}function h6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+212>>2]&2047](b,a)|0}function i6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+212>>2]&2047](b,a)|0}function j6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+116>>2]&2047](b,a)|0}function k6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+116>>2]&2047](b,a)|0}function l6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+88>>2]&2047](b,a)|0}function m6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+120>>2]&2047](b,a)|0}function n6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+80>>2]&2047](b,a)|0}function o6(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+256>>2]&1023](b,a);return}function p6(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function q6(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function r6(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function s6(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function t6(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function u6(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function v6(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function w6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return zc[a&31](b|0,c|0,d|0,e|0)|0}function x6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+64>>2]&2047](b,a)|0}function y6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+16>>2]&2047](b,a)|0}function z6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+76>>2]&2047](b,a)|0}function A6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+156>>2]&2047](b,a)|0}function B6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+92>>2]&2047](b,a)|0}function C6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+24>>2]&2047](b,a)|0}function D6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+68>>2]&2047](b,a)|0}function E6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+72>>2]&2047](b,a)|0}function F6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+12>>2]&2047](b,a)|0}function G6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+212>>2]&2047](b,a)|0}function H6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+116>>2]&2047](b,a)|0}function I6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+88>>2]&2047](b,a)|0}function J6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+88>>2]&2047](b,a)|0}function K6(a){a=a|0;if(!a){a=0;return a|0}a=uy(a,64,1504,0)|0;return a|0}function L6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+120>>2]&2047](b,a)|0}function M6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+120>>2]&2047](b,a)|0}function N6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+84>>2]&2047](b,a)|0}function O6(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+184>>2]&1023](b,a);return}function P6(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+188>>2]&1023](b,a);return}function Q6(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+268>>2]&1023](b,a);return}function R6(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+128>>2]&1023](b,a);return}function S6(a){a=a|0;f[a>>2]=11668;a=a+64|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function T6(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function U6(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function V6(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function W6(a,b){a=a|0;b=b|0;return Hba(b)|0}function X6(a,b){a=a|0;b=b|0;return Hba(b)|0}function Y6(a,b){a=a|0;b=b|0;return Hba(b)|0}function Z6(a,b){a=a|0;b=b|0;return Hba(b)|0}function _6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+96>>2]&2047](b,a)|0}function $6(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+56>>2]&2047](b,a)|0}function a7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+20>>2]&2047](b,a)|0}function b7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+160>>2]&2047](b,a)|0}function c7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+88>>2]&2047](b,a)|0}function d7(a){a=a|0;if(!a){a=0;return a|0}a=uy(a,64,1352,0)|0;return a|0}function e7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+120>>2]&2047](b,a)|0}function f7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+84>>2]&2047](b,a)|0}function g7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+84>>2]&2047](b,a)|0}function h7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+80>>2]&2047](b,a)|0}function i7(a){a=a|0;f[a>>2]=12388;_P(a+68|0);_P(a+60|0);Hta(a);return}function j7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+264>>2]&1023](b,a);return}function k7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+132>>2]&1023](b,a);return}function l7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+244>>2]&1023](b,a);return}function m7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+272>>2]&1023](b,a);return}function n7(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function o7(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function p7(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function q7(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function r7(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function s7(a,b){a=a|0;b=b|0;return Hba(b)|0}function t7(a,b){a=a|0;b=b|0;return Hba(b)|0}function u7(a,b){a=a|0;b=b|0;return Hba(b)|0}function v7(a,b){a=a|0;b=b|0;return Hba(b)|0}function w7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function x7(a){a=a|0;WN(a+8|0);$sa(a);return}function y7(a){a=a|0;WN(a+8|0);$sa(a);return}function z7(a){a=a|0;f[a>>2]=7072;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function A7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+92>>2]&2047](b,a)|0}function B7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+24>>2]&2047](b,a)|0}function C7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+68>>2]&2047](b,a)|0}function D7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+72>>2]&2047](b,a)|0}function E7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+12>>2]&2047](b,a)|0}function F7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+212>>2]&2047](b,a)|0}function G7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+116>>2]&2047](b,a)|0}function H7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+84>>2]&2047](b,a)|0}function I7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+80>>2]&2047](b,a)|0}function J7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+80>>2]&2047](b,a)|0}function K7(a){a=a|0;f[a>>2]=9868;_P(a+76|0);_P(a+68|0);Hta(a);return}function L7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+176>>2]&1023](b,a);return}function M7(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function N7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+236>>2]&1023](b,a);return}function O7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+260>>2]&1023](b,a);return}function P7(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+216>>2]&1023](b,a);return}function Q7(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function R7(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function S7(a,b){a=a|0;b=b|0;return Hba(b)|0}function T7(a,b){a=a|0;b=b|0;return Hba(b)|0}function U7(a,b){a=a|0;b=b|0;return Hba(b)|0}function V7(a,b){a=a|0;b=b|0;return Hba(b)|0}function W7(a,b){a=a|0;b=b|0;return Hba(b)|0}function X7(a,b){a=a|0;b=b|0;ND(a,b+16|0);return}function Y7(a,b){a=a|0;b=b|0;ND(a,b+12|0);return}function Z7(a){a=a|0;var b=0.0;b=+Ti(a+60|0);a=a+88|0;p[a>>3]=b*+p[a>>3];return}function _7(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+88>>2]&2047](b,a)|0}function $7(a){a=a|0;if(!a){a=0;return a|0}a=uy(a,64,1352,0)|0;return a|0}function a8(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+120>>2]&2047](b,a)|0}function b8(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+80>>2]&2047](b,a)|0}function c8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function d8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function e8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function f8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function g8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function h8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function i8(a,b){a=a|0;b=b|0;return Hba(b)|0}function j8(a,b){a=a|0;b=b|0;return Hba(b)|0}function k8(a,b){a=a|0;b=b|0;return Hba(b)|0}function l8(a,b){a=a|0;b=b|0;return Hba(b)|0}function m8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+248>>2]&1023](b,a);return}function n8(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function o8(a){a=a|0;f[a>>2]=8880;_P(a+72|0);f[a>>2]=7184;_P(a+64|0);return}function p8(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+84>>2]&2047](b,a)|0}function q8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+28>>2]&1023](b,a);return}function r8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function s8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function t8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function u8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function v8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function w8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function x8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function y8(a,b){a=a|0;b=b|0;return Hba(b)|0}function z8(a,b){a=a|0;b=b|0;return Hba(b)|0}function A8(a,b){a=a|0;b=b|0;return Hba(b)|0}function B8(a,b){a=a|0;b=b|0;return Hba(b)|0}function C8(a,b){a=a|0;b=b|0;return Hba(b)|0}function D8(a,b){a=a|0;b=b|0;return Hba(b)|0}function E8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+168>>2]&1023](b,a);return}function F8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+172>>2]&1023](b,a);return}function G8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+276>>2]&1023](b,a);return}function H8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+136>>2]&1023](b,a);return}function I8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+208>>2]&1023](b,a);return}function J8(a,b){a=a|0;b=b|0;return xc[f[(f[b>>2]|0)+80>>2]&2047](b,a)|0}function K8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function L8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function M8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function N8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function O8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function P8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function Q8(a,b){a=a|0;b=b|0;return Hba(b)|0}function R8(a,b){a=a|0;b=b|0;return Hba(b)|0}function S8(a,b){a=a|0;b=b|0;return Hba(b)|0}function T8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+44>>2]&1023](b,a);return}function U8(a){a=a|0;f[a>>2]=12916;_P(a+68|0);_P(a+60|0);Hta(a);return}function V8(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+36>>2]&1023](b,a);return}function W8(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function X8(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function Y8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function Z8(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function _8(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function $8(a,b){a=a|0;b=b|0;return Hba(b)|0}function a9(a,b){a=a|0;b=b|0;return Hba(b)|0}function b9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+200>>2]&1023](b,a);return}function c9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+252>>2]&1023](b,a);return}function d9(a,c){a=a|0;c=c|0;b[a+-60+53>>0]=0;return}function e9(a){a=a|0;var c=0;c=b[a>>0]|0;return (c<<24>>24==47|(c+-42&255)<85?a+1|0:0)|0}function f9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function g9(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function h9(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function i9(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function j9(a,b){a=a|0;b=b|0;return Hba(b)|0}function k9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+32>>2]&1023](b,a);return}function l9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+60>>2]&1023](b,a);return}function m9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+48>>2]&1023](b,a);return}function n9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+224>>2]&1023](b,a);return}function o9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+112>>2]&1023](b,a);return}function p9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+108>>2]&1023](b,a);return}function q9(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;$(22);return 0}function r9(a){a=a|0;f[a>>2]=10992;a=a+60|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function s9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function t9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function u9(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function v9(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function w9(a,b){a=a|0;b=b|0;tP(0,0)|0;return 0}function x9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+52>>2]&1023](b,a);return}function y9(a,b){a=a|0;b=b|0;b=f[b>>2]|0;f[a>>2]=b;Pea(b);return}function z9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+220>>2]&1023](b,a);return}function A9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+104>>2]&1023](b,a);return}function B9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+232>>2]&1023](b,a);return}function C9(a,b){a=a|0;b=b|0;Ry(a+16|0,b);return}function D9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function E9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function F9(a,b){a=a|0;b=b|0;xc[f[(f[b>>2]|0)+56>>2]&2047](b,a+12|0)|0;return 0}function G9(a,b){a=a|0;b=b|0;return Lh(a,b)|0}function H9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+40>>2]&1023](b,a);return}function I9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+152>>2]&1023](b,a);return}function J9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+124>>2]&1023](b,a);return}function K9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+228>>2]&1023](b,a);return}function L9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function M9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function N9(a){a=a|0;f[a>>2]=12152;_P(a+68|0);_P(a+60|0);return}function O9(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Oc[a&63](b|0,c|0,d|0,e|0)}function P9(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=c;f[a+4>>2]=b;return}function Q9(a,b){a=a|0;b=b|0;XC(a+16|0,b);return}function R9(a,b){a=a|0;b=b|0;ND(a,b+4|0);return}function S9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+100>>2]&1023](b,a);return}function T9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+164>>2]&1023](b,a);return}function U9(a,b){a=a|0;b=b|0;xc[f[(f[b>>2]|0)+56>>2]&2047](b,a+12|0)|0;return 0}function V9(a,b){a=a|0;b=b|0;xc[f[(f[b>>2]|0)+56>>2]&2047](b,a+12|0)|0;return 0}function W9(a){a=a|0;f[a>>2]=11116;a=a+96|0;if((b[a+11>>0]|0)>=0)return;Hta(f[a>>2]|0);return}function X9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+64>>2]&1023](b,a);return}function Y9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+16>>2]&1023](b,a);return}function Z9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+76>>2]&1023](b,a);return}function _9(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function $9(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+156>>2]&1023](b,a);return}function aaa(a){a=a|0;f[a>>2]=12660;_P(a+68|0);_P(a+60|0);return}function baa(a){a=a|0;f[a>>2]=10868;_P(a+68|0);_P(a+60|0);return}function caa(a){a=a|0;var b=0;if(a>>>0>4294963200){b=bua()|0;f[b>>2]=0-a;a=-1}return a|0}function daa(a,b,c){a=a|0;b=b|0;c=c|0;if(!c)a=0;else a=lO(a,b,c)|0;return a|0}function eaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+96>>2]&1023](b,a);return}function faa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+56>>2]&1023](b,a);return}function gaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+20>>2]&1023](b,a);return}function haa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+160>>2]&1023](b,a);return}function iaa(a){a=a|0;if(!a){a=0;return a|0}a=uy(a,64,1336,0)|0;return a|0}function jaa(a){a=a|0;if((b[a+8+3>>0]|0)<0)Hta(f[a>>2]|0);return}function kaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+92>>2]&1023](b,a);return}function laa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+24>>2]&1023](b,a);return}function maa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+68>>2]&1023](b,a);return}function naa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+72>>2]&1023](b,a);return}function oaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+12>>2]&1023](b,a);return}function paa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+212>>2]&1023](b,a);return}function qaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+116>>2]&1023](b,a);return}function raa(a,b){a=a|0;b=b|0;Lc[f[f[b>>2]>>2]&1023](b,a);return}function saa(a){a=a|0;var c=0;c=YP(1,40)|0;if(!c){c=0;return c|0}b[c+4>>0]=a&1;return c|0}function taa(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=-1;return}function uaa(a){a=a|0;f[a>>2]=17384;_P(a+28|0);_P(a+20|0);Hta(a);return}function vaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+88>>2]&1023](b,a);return}function waa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+120>>2]&1023](b,a);return}function xaa(a){a=a|0;f[a>>2]=12388;_P(a+68|0);_P(a+60|0);return}function yaa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+84>>2]&1023](b,a);return}function zaa(a){a=a|0;f[a>>2]=9868;_P(a+76|0);_P(a+68|0);return}function Aaa(a){a=a|0;if((b[a+11>>0]|0)<0)Hta(f[a>>2]|0);return}function Baa(a){a=a|0;switch(b[a>>0]|0){case 13:case 10:case 0:break;default:a=0}return a|0}function Caa(a,b){a=a|0;b=b|0;return xc[f[f[b>>2]>>2]&2047](b,a)|0}function Daa(a,b){a=a|0;b=b|0;Lc[f[(f[b>>2]|0)+80>>2]&1023](b,a);return}function Eaa(a){a=a|0;var b=0;b=a+36|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Faa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;$(35)}function Gaa(){f[19709]=0;f[19708]=28784;return}function Haa(){f[19707]=0;f[19706]=28756;return}function Iaa(){f[19705]=0;f[19704]=28728;return}function Jaa(){f[19703]=0;f[19702]=28700;return}function Kaa(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)DP(a|0,b|0,c|0)|0;return a|0}function Laa(a,c){a=a|0;c=c|0;b[a+53>>0]=0;return}function Maa(a){a=a|0;f[a>>2]=12916;_P(a+68|0);_P(a+60|0);return}function Naa(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Lu(a|0,b|0,c|0)|0;return a|0}function Oaa(){f[19693]=0;f[19692]=26928;return}function Paa(){f[19691]=0;f[19690]=26876;return}function Qaa(){f[19689]=0;f[19688]=26812;return}function Raa(){f[19687]=0;f[19686]=26748;return}function Saa(a,b){a=a|0;b=b|0;b=b<<24>>24==10;f[a>>2]=b&1;f[a+4>>2]=(b^1)&1;return}function Taa(a){a=a|0;rca(a);Hta(a);return}function Uaa(a){a=a|0;Bca(a);Hta(a);return}function Vaa(a,b){a=a|0;b=b|0;Lc[f[f[b>>2]>>2]&1023](b,a);return}function Waa(a,b){a=a|0;b=b|0;return xc[f[(f[a>>2]|0)+92>>2]&2047](a,b)|0}function Xaa(a){a=a|0;a=b[a>>0]|0;a=a<<24>>24|0;return (a|0)==32|(a+-9|0)>>>0<5|0}function Yaa(a){a=a|0;if(!a)a=0;else a=uy(a,64,80,0)|0;return a|0}function Zaa(a){a=a|0;PX(a+-8|0);return}function _aa(a){a=a|0;aba(a+-8|0);return}function $aa(a,c){a=a|0;c=c|0;b[a+-60+53>>0]=0;return}function aba(a){a=a|0;PX(a);Hta(a);return}function bba(a,b){a=a|0;b=b|0;Lc[f[f[b>>2]>>2]&1023](b,a);return}function cba(a,b){a=a|0;b=b|0;return yS(52446)|0}function dba(a,b){a=a|0;b=b|0;return yS(52446)|0}function eba(a){a=a|0;Hta(a);return}function fba(a){a=a|0;if(!a)a=0;else a=uy(a,64,80,0)|0;return a|0}function gba(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;$(21);return 0}function hba(a){a=a|0;if(a|0)Kc[f[(f[a>>2]|0)+4>>2]&511](a);return}function iba(a){a=a|0;lY(a);Hta(a);return}function jba(a){a=a|0;mY(a);Hta(a);return}function kba(a){a=a|0;nY(a);Hta(a);return}function lba(a){a=a|0;oY(a);Hta(a);return}function mba(a){a=a|0;dC(a);Hta(a);return}function nba(a,b){a=a|0;b=b|0;return yS(52446)|0}function oba(a,b){a=a|0;b=b|0;return yS(52446)|0}function pba(a,b){a=a|0;b=b|0;return yS(52446)|0}function qba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return yc[a&255](b|0,c|0,d|0)|0}function rba(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function sba(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function tba(a){a=a|0;var b=0;b=f[a>>2]|0;f[a>>2]=b+-1;return b+-1|0}function uba(a){a=a|0;$sa(a);Hta(a);return}function vba(a){a=a|0;$sa(a);Hta(a);return}function wba(a){a=a|0;$sa(a);Hta(a);return}function xba(a){a=a|0;$sa(a);Hta(a);return}function yba(a){a=a|0;var b=0;b=f[20833]|0;f[20833]=b+1;f[a+4>>2]=b+1;return}function zba(a,b,c){a=a|0;b=b|0;c=c|0;Gs(a,c);return}function Aba(a){a=a|0;a=b[a>>0]|0;return (a+-48|0)>>>0<10|((a&-33)+-65|0)>>>0<26|0}function Bba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Cba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Dba(a,b){a=a|0;b=b|0;return zf(a,b)|0}function Eba(a){a=a|0;$sa(a);Hta(a);return}function Fba(a){a=a|0;$sa(a);Hta(a);return}function Gba(a){a=a|0;f[a>>2]=17384;_P(a+28|0);_P(a+20|0);return}function Hba(a){a=a|0;if(!a)a=0;else a=uy(a,64,112,0)|0;return a|0}function Iba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Jba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Kba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Lba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Mba(a){a=a|0;$sa(a);Hta(a);return}function Nba(a){a=a|0;$sa(a);Hta(a);return}function Oba(a){a=a|0;$sa(a);Hta(a);return}function Pba(a){a=a|0;$sa(a);Hta(a);return}function Qba(a,b){a=a|0;b=b|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Rba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Sba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Tba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Uba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Vba(a){a=a|0;if(!a)a=0;else a=uy(a,64,384,0)|0;return a|0}function Wba(a){a=a|0;if(!a)a=0;else a=uy(a,64,464,0)|0;return a|0}function Xba(a){a=a|0;if(!a)a=0;else a=uy(a,64,96,0)|0;return a|0}function Yba(a,b){a=a|0;b=b|0;return yS(52446)|0}function Zba(a,b){a=a|0;b=b|0;return yS(52446)|0}function _ba(a,b){a=a|0;b=b|0;return yS(52446)|0}function $ba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +nc[a&3](b|0,c|0,d|0)}function aca(a,c){a=a|0;c=c|0;a=PE(a,c)|0;return ((b[a>>0]|0)==(c&255)<<24>>24?a:0)|0}function bca(a,b){a=a|0;b=b|0;return Jta()|0}function cca(a,b){a=a|0;b=b|0;return Kta()|0}function dca(a,b){a=a|0;b=b|0;return yS(52446)|0}function eca(a,b){a=a|0;b=b|0;return yS(52446)|0}function fca(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;$(6);return 0.0}function gca(a,b){a=a|0;b=b|0;return Jta()|0}function hca(a,b){a=a|0;b=b|0;return Kta()|0}function ica(a,b){a=a|0;b=b|0;return yS(52446)|0}function jca(a,b){a=a|0;b=b|0;return yS(52446)|0}function kca(a,b){a=a|0;b=b|0;return yS(52446)|0}function lca(a,b){a=a|0;b=b|0;return yS(52446)|0}function mca(a,b){a=a|0;b=b|0;return yS(52446)|0}function nca(a,b){a=a|0;b=b|0;return yS(52446)|0}function oca(a,b,c){a=a|0;b=b|0;c=c|0;f[(f[a+8>>2]|0)+(b<<3)+4>>2]=c;return}function pca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ra(a|0,b|0,c|0,d|0)}function qca(a){a=a|0;if(!a)a=0;else a=uy(a,64,952,0)|0;return a|0}function rca(a){a=a|0;f[a>>2]=26064;uga(a+4|0);return}function sca(a){a=a|0;if(!a)a=0;else a=uy(a,64,224,0)|0;return a|0}function tca(a){a=a|0;f[a>>2]=12788;_P(a+60|0);Hta(a);return}function uca(a,b){a=a|0;b=b|0;return yS(52446)|0}function vca(a,b){a=a|0;b=b|0;return yS(52446)|0}function wca(a,b){a=a|0;b=b|0;return yS(52446)|0}function xca(a,b){a=a|0;b=b|0;return yS(52446)|0}function yca(a,b){a=a|0;b=b|0;return yS(52446)|0}function zca(a){a=a|0;var b=0;b=a;while(1)if(!(f[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function Aca(a,b,c){a=a|0;b=b|0;c=c|0;f[(f[a+16>>2]|0)+(b<<2)>>2]=c;return}function Bca(a){a=a|0;f[a>>2]=26e3;uga(a+4|0);return}function Cca(a,c){a=a|0;c=c|0;b[a+53>>0]=0;return}function Dca(a){a=a|0;if(!a)a=0;else a=uy(a,64,952,0)|0;return a|0}function Eca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Fca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Gca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Hca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Ica(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;$(34)}function Jca(a,b){a=a|0;b=b|0;return}function Kca(){var a=0;a=Ta(4)|0;Dra(a);fb(a|0,6144,409)}function Lca(){Ala();f[21286]=78928;return 85144}function Mca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Nc[a&255](b|0,c|0,d|0)}function Nca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Oca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Pca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Qca(a,b){a=a|0;b=b|0;return}function Rca(a){a=a|0;var b=0;b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;return a|0}function Sca(a,b){a=a|0;b=b|0;zP(a+24|0,b);return}function Tca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Uca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Vca(a,b){a=a|0;b=b|0;return yS(52446)|0}function Wca(a,b,c){a=a|0;b=b|0;c=c|0;f[(f[a+8>>2]|0)+(b<<3)>>2]=c;return}function Xca(a){a=a|0;var b=0;b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;return a|0}function Yca(a,b){a=a|0;b=b|0;return}function Zca(a,b){a=a|0;b=b|0;return 0}function _ca(a){a=a|0;f[a>>2]=12532;_P(a+60|0);Hta(a);return}function $ca(a,b){a=a|0;b=b|0;return yS(52446)|0}function ada(a,b){a=a|0;b=b|0;return yS(52446)|0}function bda(a,b){a=a|0;b=b|0;return yS(52446)|0}function cda(a,b){a=a|0;b=b|0;return yS(52446)|0}function dda(a){a=a|0;var b=0;b=(sta()|0)+188|0;return cL(a,f[b>>2]|0)|0}function eda(a){a=a|0;jU(a)|0;return}function fda(a,b){a=a|0;b=b|0;return b|0}function gda(a,b){a=a|0;b=b|0;return b|0}function hda(a,b){a=a|0;b=b|0;return yS(52446)|0}function ida(a,b){a=a|0;b=b|0;return yS(52446)|0}function jda(a,b){a=a|0;b=b|0;return yS(52446)|0}function kda(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function lda(a){a=a|0;if((b[a>>0]|0)==1)a=0;else{b[a>>0]=1;a=1}return a|0}function mda(a){a=a|0;$sa(a);return}function nda(a){a=a|0;$sa(a);return}function oda(a){a=a|0;$sa(a);return}function pda(a){a=a|0;$sa(a);return}function qda(a,b){a=a|0;b=b|0;return 0}function rda(a,b){a=a|0;b=b|0;return}function sda(a){a=a|0;f[a>>2]=9992;_P(a+64|0);Hta(a);return}function tda(a,b){a=a|0;b=b|0;return 0}function uda(a){a=a|0;f[a>>2]=13544;_P(a+52|0);Hta(a);return}function vda(a,b){a=a|0;b=b|0;return yS(52446)|0}function wda(a,b){a=a|0;b=b|0;return yS(52446)|0}function xda(a,b){a=a|0;b=b|0;return yS(52446)|0}function yda(a,b){a=a|0;b=b|0;return yS(52446)|0}function zda(a,b){a=a|0;b=b|0;return yS(52446)|0}function Ada(a){a=a|0;if(!a)a=0;else a=(uy(a,6104,6288,0)|0)!=0&1;return a|0}function Bda(){var a=0;a=Ta(4)|0;nra(a);fb(a|0,6256,421)}function Cda(){var a=0;a=(Gta()|0)+188|0;return (f[f[a>>2]>>2]|0?4:1)|0}function Dda(a){a=a|0;$sa(a);return}function Eda(a){a=a|0;$sa(a);return}function Fda(a,b){a=a|0;b=b|0;return}function Gda(a,b){a=a|0;b=b|0;return b|0}function Hda(a,b){a=a|0;b=b|0;return b|0}function Ida(a,b){a=a|0;b=b|0;return b|0}function Jda(a,b){a=a|0;b=b|0;return b|0}function Kda(a,b){a=a|0;b=b|0;return yS(52446)|0}function Lda(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(20);return 0}function Mda(a){a=a|0;$sa(a);return}function Nda(a){a=a|0;$sa(a);return}function Oda(a){a=a|0;$sa(a);return}function Pda(a){a=a|0;$sa(a);return}function Qda(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;f[a+4>>2]=c;return}function Rda(a,b){a=a|0;b=b|0;return yS(52446)|0}function Sda(a,b){a=a|0;b=b|0;return}function Tda(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function Uda(a){a=a|0;return (((b[a>>0]|0)+-32&255)<95?a+1|0:0)|0}function Vda(a,b){a=a|0;b=b|0;return b|0}function Wda(a,b){a=a|0;b=b|0;return b|0}function Xda(a,b){a=a|0;b=b|0;return b|0}function Yda(a,b){a=a|0;b=b|0;return b|0}function Zda(a,b){a=a|0;b=b|0;return yS(52446)|0}function _da(a,b){a=a|0;b=b|0;return}function $da(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=sga(a,b,c)|0;return d|0}function aea(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function bea(a,b){a=a|0;b=b|0;return b|0}function cea(a,b){a=a|0;b=b|0;return b|0}function dea(a,b){a=a|0;b=b|0;return b|0}function eea(a,b){a=a|0;b=b|0;return b|0}function fea(a,b){a=a|0;b=b|0;return}function gea(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function hea(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return sc[a&1](+b,+c,+d)|0}function iea(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;$(19);return 0}function jea(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function kea(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function lea(){bP(78656,1);return}function mea(a,b){a=a|0;b=b|0;return b|0}function nea(a,b){a=a|0;b=b|0;return b|0}function oea(a,b){a=a|0;b=b|0;return b|0}function pea(a,b){a=a|0;b=b|0;return b|0}function qea(a,b){a=a|0;b=b|0;return b|0}function rea(a){a=a|0;isa(a);Hta(a);return}function sea(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dea(a,b,c)|0;return d|0}function tea(a){a=a|0;return f[(f[(f[a+8>>2]|0)+280>>2]|0)+-4>>2]|0}function uea(a,c){a=a|0;c=c|0;return saa((b[c+60>>0]|0)!=0)|0}function vea(a,b){a=a|0;b=b|0;return}function wea(a,b){a=a|0;b=b|0;return}function xea(a,b){a=a|0;b=b|0;return b|0}function yea(a,b){a=a|0;b=b|0;return b|0}function zea(a,b){a=a|0;b=b|0;return b|0}function Aea(a,b){a=a|0;b=b|0;return b|0}function Bea(a,b){a=a|0;b=b|0;return b|0}function Cea(a,b){a=a|0;b=b|0;var c=0;c=dga(a|0)|0;return ((b|0)==0?a:c)|0}function Dea(a,b,c){a=a|0;b=b|0;c=c|0;c=xJ(a,b,c,0,-2147483648)|0;return c|0}function Eea(a){a=a|0;f[a>>2]=12788;_P(a+60|0);return}function Fea(a,b){a=a|0;b=b|0;return b|0}function Gea(a,b){a=a|0;b=b|0;return b|0}function Hea(a,b){a=a|0;b=b|0;return b|0}function Iea(a,b){a=a|0;b=b|0;return b|0}function Jea(a,b){a=a|0;b=b|0;return b|0}function Kea(a){a=a|0;isa(a);Hta(a);return}function Lea(a,b,c){a=a|0;b=b|0;c=c|0;c=xJ(a,b,c,-2147483648,0)|0;return c|0}function Mea(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nl(a,b,c,d,0)|0}function Nea(a){a=a|0;return Jta()|0}function Oea(a){a=a|0;return Kta()|0}function Pea(a){a=a|0;Oha(a+4|0);return}function Qea(a){a=a|0;f[a>>2]=9072;_P(a+64|0);Hta(a);return}function Rea(a){a=a|0;f[a>>2]=10588;_P(a+60|0);Hta(a);return}function Sea(a,b){a=a|0;b=b|0;return}function Tea(a,b){a=a|0;b=b|0;return}function Uea(a,b){a=a|0;b=b|0;return}function Vea(a,b){a=a|0;b=b|0;return b|0}function Wea(a,b){a=a|0;b=b|0;return b|0}function Xea(a,b){a=a|0;b=b|0;return b|0}function Yea(a,b){a=a|0;b=b|0;return b|0}function Zea(a,b){a=a|0;b=b|0;return b|0}function _ea(a,b){a=a|0;b=b|0;return b|0}function $ea(a,b){a=a|0;b=b|0;return b|0}function afa(a,b){a=a|0;b=b|0;return}function bfa(a){a=a|0;isa(a);Hta(a);return}function cfa(a,b,c){a=a|0;b=b|0;c=c|0;f[a+(b<<2)>>2]=c;return}function dfa(a){a=a|0;f[a>>2]=29764;LP(a+4|0);return}function efa(a){a=a|0;f[a>>2]=21356;b[a+8>>0]=0;f[a+4>>2]=0;return}function ffa(a,b){a=a|0;b=b|0;f[a+64>>2]=b;return}function gfa(a,b){a=a|0;b=b|0;return b|0}function hfa(a,b){a=a|0;b=b|0;return b|0}function ifa(a){a=a|0;isa(a);Hta(a);return}function jfa(a){a=a|0;UK(a);Hta(a);return}function kfa(a){a=a|0;f[a>>2]=8208;_P(a+64|0);Hta(a);return}function lfa(a){a=a|0;f[a>>2]=8496;_P(a+64|0);Hta(a);return}function mfa(a,b){a=a|0;b=b|0;return}function nfa(a,b){a=a|0;b=b|0;return}function ofa(a,b){a=a|0;b=b|0;return b|0}function pfa(a,b){a=a|0;b=b|0;return b|0}function qfa(a,b){a=a|0;b=b|0;return b|0}function rfa(a,b){a=a|0;b=b|0;return b|0}function sfa(a,b){a=a|0;b=b|0;return b|0}function tfa(a,b){a=a|0;b=b|0;return b|0}function ufa(a,b){a=a|0;b=b|0;return b|0}function vfa(a,b){a=a|0;b=b|0;return}function wfa(a,b){a=a|0;b=b|0;return}function xfa(a){a=a|0;_P(a);Hta(a);return}function yfa(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))IC(b,c,a)|0;return}function zfa(){y9(85152,MP()|0);return 85152}function Afa(a){a=a|0;f[a>>2]=29744;LP(a+4|0);return}function Bfa(a){a=a|0;f[a>>2]=8976;_P(a+64|0);Hta(a);return}function Cfa(a){a=a|0;f[a>>2]=7296;_P(a+64|0);Hta(a);return}function Dfa(a,b){a=a|0;b=b|0;return}function Efa(a,b){a=a|0;b=b|0;return}function Ffa(a,b){a=a|0;b=b|0;return}function Gfa(a,b){a=a|0;b=b|0;return}function Hfa(a,b){a=a|0;b=b|0;return b|0}function Ifa(a,b){a=a|0;b=b|0;return b|0}function Jfa(a,b){a=a|0;b=b|0;return b|0}function Kfa(a,b){a=a|0;b=b|0;return b|0}function Lfa(a,b){a=a|0;b=b|0;return b|0}function Mfa(a,b){a=a|0;b=b|0;return b|0}function Nfa(a,b){a=a|0;b=b|0;return b|0}function Ofa(a,b){a=a|0;b=b|0;return}function Pfa(a){a=a|0;isa(a);Hta(a);return}function Qfa(a,b,c){a=a|0;b=b|0;c=c|0;return xc[a&2047](b|0,c|0)|0}function Rfa(a){a=a|0;f[a>>2]=0;b[a+4>>0]=0;f[a+8>>2]=0;return}function Sfa(){f[19669]=0;f[19668]=29352;return}function Tfa(){f[19671]=0;f[19670]=29400;return}function Ufa(a){a=a|0;return (((b[a>>0]&-33)+-65|0)>>>0<26?a+1|0:0)|0}function Vfa(a){a=a|0;f[a>>2]=8304;_P(a+64|0);Hta(a);return}function Wfa(a){a=a|0;f[a>>2]=8400;_P(a+64|0);Hta(a);return}function Xfa(a){a=a|0;f[a>>2]=12532;_P(a+60|0);return}function Yfa(a,b){a=a|0;b=b|0;return}function Zfa(a,b){a=a|0;b=b|0;return}function _fa(a,b){a=a|0;b=b|0;return}function $fa(a,b){a=a|0;b=b|0;return}function aga(a){a=a|0;_P(a);Hta(a);return}function bga(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(33)}function cga(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<3)+4>>2]|0}function dga(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ega(a){a=a|0;Pea(a);return}function fga(){f[19663]=0;f[19662]=29304;return}function gga(a,b){a=a|0;b=b|0;f[a+92>>2]=b;return}function hga(a,b){a=a|0;b=b|0;return}function iga(a,b){a=a|0;b=b|0;return}function jga(a,b){a=a|0;b=b|0;return}function kga(a,b){a=a|0;b=b|0;return}function lga(a,b){a=a|0;b=b|0;return b|0}function mga(a,b){a=a|0;b=b|0;return b|0}function nga(a,b){a=a|0;b=b|0;return b|0}function oga(a,b){a=a|0;b=b|0;return b|0}function pga(a,b){a=a|0;b=b|0;return b|0}function qga(a,b){a=a|0;b=b|0;return b|0}function rga(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;$(10);return 0}function sga(a,b,c){a=a|0;b=b|0;c=c|0;c=xJ(a,b,c,-1,-1)|0;return c|0}function tga(a){a=a|0;a=a+-4|0;RH(a+4|0);Hta(a);return}function uga(a){a=a|0;jU(f[a>>2]|0)|0;return}function vga(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function wga(a){a=a|0;return (((b[a>>0]|0)+-48|0)>>>0<10?a+1|0:0)|0}function xga(a){a=a|0;f[a>>2]=9992;_P(a+64|0);return}function yga(a){a=a|0;f[a>>2]=13544;_P(a+52|0);return}function zga(a,b){a=a|0;b=b|0;return}function Aga(a,b){a=a|0;b=b|0;return}function Bga(a,b){a=a|0;b=b|0;return b|0}function Cga(a,b){a=a|0;b=b|0;return b|0}function Dga(a,b){a=a|0;b=b|0;return b|0}function Ega(a,b){a=a|0;b=b|0;return b|0}function Fga(a,b){a=a|0;b=b|0;return b|0}function Gga(a,b){a=a|0;b=b|0;return b|0}function Hga(a){a=a|0;_P(a);Hta(a);return}function Iga(a){a=a|0;_P(a);Hta(a);return}function Jga(a,b){a=a|0;b=b|0;return f[(f[a+16>>2]|0)+(b<<2)>>2]|0}function Kga(a,b){a=a|0;b=b|0;return}function Lga(a,b){a=a|0;b=b|0;return}function Mga(a,b){a=a|0;b=b|0;return}function Nga(a,b){a=a|0;b=b|0;return}function Oga(a,b){a=a|0;b=b|0;return}function Pga(a,b){a=a|0;b=b|0;return}function Qga(a,b){a=a|0;b=b|0;return}function Rga(a,b){a=a|0;b=b|0;return}function Sga(a,b){a=a|0;b=b|0;return b|0}function Tga(a,b){a=a|0;b=b|0;return b|0}function Uga(a,b){a=a|0;b=b|0;return b|0}function Vga(a,b){a=a|0;b=b|0;return b|0}function Wga(a,b){a=a|0;b=b|0;return b|0}function Xga(a,b){a=a|0;b=b|0;return b|0}function Yga(a){a=a|0;_P(a);Hta(a);return}function Zga(a){a=a|0;_P(a);Hta(a);return}function _ga(a){a=a|0;_P(a);Hta(a);return}function $ga(a,b){a=a|0;b=b|0;f[a>>2]=f[b>>2];return}function aha(a,b){a=a|0;b=b|0;return}function bha(a,b){a=a|0;b=b|0;return b|0}function cha(a,b){a=a|0;b=b|0;return b|0}function dha(a,b){a=a|0;b=b|0;return b|0}function eha(a,b){a=a|0;b=b|0;return b|0}function fha(a,b){a=a|0;b=b|0;return b|0}function gha(a,b){a=a|0;b=b|0;return b|0}function hha(a){a=a|0;_P(a);Hta(a);return}function iha(a){a=a|0;_P(a);Hta(a);return}function jha(a){a=a|0;_P(a);Hta(a);return}function kha(a,b){a=a|0;b=b|0;y9(a,b+28|0);return}function lha(a,b){a=a|0;b=b|0;return}function mha(a,b){a=a|0;b=b|0;return}function nha(a,b){a=a|0;b=b|0;return}function oha(a,b){a=a|0;b=b|0;return}function pha(a,b){a=a|0;b=b|0;return b|0}function qha(a,b){a=a|0;b=b|0;return b|0}function rha(a,b){a=a|0;b=b|0;return b|0}function sha(a,b){a=a|0;b=b|0;return b|0}function tha(a,b){a=a|0;b=b|0;return b|0}function uha(a){a=a|0;_P(a);Hta(a);return}function vha(a){a=a|0;_P(a);Hta(a);return}function wha(a){a=a|0;_P(a);Hta(a);return}function xha(a){a=a|0;_P(a);Hta(a);return}function yha(a,b,c){a=a|0;b=b|0;c=c|0;return +mc[a&1](b|0,c|0)}function zha(){KQ(78624,0,0,1);return}function Aha(a){a=a|0;rca(a);return}function Bha(a){a=a|0;Bca(a);return}function Cha(a){a=a|0;return 1073741823}function Dha(a){a=a|0;return (f[a+84>>2]|0)==(f[a+88>>2]|0)|0}function Eha(a){a=a|0;PF(a);Hta(a);return}function Fha(a){a=a|0;PF(a);Hta(a);return}function Gha(a,b){a=a|0;b=b|0;return}function Hha(a,b){a=a|0;b=b|0;return}function Iha(a,b){a=a|0;b=b|0;return}function Jha(a,b){a=a|0;b=b|0;return}function Kha(a,b){a=a|0;b=b|0;return b|0}function Lha(a,b){a=a|0;b=b|0;return b|0}function Mha(a){a=a|0;_P(a);Hta(a);return}function Nha(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<3)>>2]|0}function Oha(a){a=a|0;f[a>>2]=(f[a>>2]|0)+1;return}function Pha(){f[19701]=0;f[19700]=28644;return}function Qha(){f[19699]=0;f[19698]=28588;return}function Rha(){f[19697]=0;f[19696]=28532;return}function Sha(){f[19695]=0;f[19694]=28476;return}function Tha(a){a=a|0;rca(a);return}function Uha(a){a=a|0;Bca(a);return}function Vha(a){a=a|0;return 2}function Wha(a){a=a|0;return 2}function Xha(a,b){a=a|0;b=b|0;return (f[b+56>>2]|0)==8|0}function Yha(a,b){a=a|0;b=b|0;return}function Zha(a,b){a=a|0;b=b|0;return}function _ha(a,b){a=a|0;b=b|0;return b|0}function $ha(a,b){a=a|0;b=b|0;return b|0}function aia(a){a=a|0;_P(a);Hta(a);return}function bia(a){a=a|0;_P(a);Hta(a);return}function cia(a){a=a|0;_P(a);Hta(a);return}function dia(a){a=a|0;_P(a);Hta(a);return}function eia(a){a=a|0;_P(a);Hta(a);return}function fia(a){a=a|0;_P(a);Hta(a);return}function gia(a){a=a|0;_P(a);Hta(a);return}function hia(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(18);return 0}function iia(){var a=0;a=YP(1,40)|0;if(!a)a=0;else f[a>>2]=6;return a|0}function jia(a,b){a=a|0;b=b|0;return}function kia(a,b){a=a|0;b=b|0;return}function lia(a,b){a=a|0;b=b|0;return}function mia(a,b){a=a|0;b=b|0;return}function nia(a,b){a=a|0;b=b|0;return}function oia(a,b){a=a|0;b=b|0;return b|0}function pia(a,b,c){a=a|0;b=b|0;c=+c;return wc[a&1](b|0,+c)|0}function qia(a,b,c){a=a|0;b=+b;c=c|0;return uc[a&1](+b,c|0)|0}function ria(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(5);return 0.0}function sia(a,c){a=a|0;c=c|0;b[a+25>>0]=c&1;return}function tia(a,b,c){a=a|0;b=b|0;c=c|0;return av(0,a,b,c|0?c:82268)|0}function uia(a){a=a|0;$sa(a);Hta(a);return}function via(a){a=a|0;$sa(a);Hta(a);return}function wia(a){a=a|0;$sa(a);Hta(a);return}function xia(a,b){a=a|0;b=b|0;return}function yia(a,b){a=a|0;b=b|0;return}function zia(a){a=a|0;PF(a);Hta(a);return}function Aia(a,b){a=a|0;b=b|0;return}function Bia(a,b){a=a|0;b=b|0;return}function Cia(a,b){a=a|0;b=b|0;return}function Dia(a,b){a=a|0;b=b|0;return}function Eia(a,b){a=a|0;b=b|0;return}function Fia(a,b){a=a|0;b=b|0;return}function Gia(a,b){a=a|0;b=b|0;return}function Hia(a,b){a=a|0;b=b|0;return}function Iia(a,c){a=a|0;c=c|0;b[a+52>>0]=c&1;return}function Jia(a){a=a|0;_P(a);Hta(a);return}function Kia(a){a=a|0;_P(a);Hta(a);return}function Lia(a){a=a|0;_P(a);Hta(a);return}function Mia(a,b,c){a=a|0;b=b|0;c=c|0;fb(a|0,b|0,c|0)}function Nia(a){a=a|0;$sa(a);Hta(a);return}function Oia(a){a=a|0;$sa(a);Hta(a);return}function Pia(a,b){a=a|0;b=b|0;return a<<24>>24==b<<24>>24|0}function Qia(a){a=a|0;f[a>>2]=9072;_P(a+64|0);return}function Ria(a){a=a|0;PF(a);Hta(a);return}function Sia(a){a=a|0;PF(a);Hta(a);return}function Tia(a){a=a|0;f[a>>2]=10588;_P(a+60|0);return}function Uia(a,b){a=a|0;b=b|0;return}function Via(a,b){a=a|0;b=b|0;return}function Wia(a,b){a=a|0;b=b|0;return}function Xia(a,b){a=a|0;b=b|0;return}function Yia(a,b){a=a|0;b=b|0;return}function Zia(a,b){a=a|0;b=b|0;return}function _ia(a,b){a=a|0;b=b|0;return}function $ia(a){a=a|0;_P(a);Hta(a);return}function aja(a){a=a|0;_P(a);Hta(a);return}function bja(a){a=a|0;_P(a);Hta(a);return}function cja(a){a=a|0;_P(a);Hta(a);return}function dja(a){a=a|0;_P(a);Hta(a);return}function eja(a,b,c){a=a|0;b=b|0;c=c|0;Lc[a&1023](b|0,c|0)}function fja(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;$(17);return 0}function gja(a){a=a|0;return Np(a,0)|0}function hja(a){a=a|0;return Mp(a,0)|0}function ija(a){a=a|0;return (b[a+101>>0]|0)!=0|0}function jja(a){a=a|0;PF(a);Hta(a);return}function kja(a,b){a=a|0;b=b|0;return}function lja(a,b){a=a|0;b=b|0;return}function mja(a,b){a=a|0;b=b|0;return}function nja(a,b){a=a|0;b=b|0;return}function oja(a,b){a=a|0;b=b|0;return}function pja(a,b){a=a|0;b=b|0;return}function qja(a,b,c){a=a|0;b=+b;c=c|0;return +kc[a&1](+b,c|0)}function rja(a,b){a=a|0;b=b|0;if(!a)a=0;else a=xC(a,b,0)|0;return a|0}function sja(a,c){a=a|0;c=c|0;b[a+22>>0]=c&1;return}function tja(a,c){a=a|0;c=c|0;b[a+24>>0]=c&1;return}function uja(a){a=a|0;return a+12|0}function vja(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function wja(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function xja(a){a=a|0;return Epa(a+4|0)|0}function yja(a){a=a|0;PF(a);Hta(a);return}function zja(a){a=a|0;return ((b[a>>0]|0)==61?a+1|0:0)|0}function Aja(a){a=a|0;f[a>>2]=8208;_P(a+64|0);return}function Bja(a){a=a|0;f[a>>2]=8496;_P(a+64|0);return}function Cja(a,b){a=a|0;b=b|0;return}function Dja(a,b){a=a|0;b=b|0;return}function Eja(a,b){a=a|0;b=b|0;return}function Fja(a,b){a=a|0;b=b|0;return}function Gja(a,b){a=a|0;b=b|0;return}function Hja(a,b){a=a|0;b=b|0;return}function Ija(a,b){a=a|0;b=b|0;return}function Jja(a,b){a=a|0;b=b|0;return}function Kja(a,b){a=a|0;b=b|0;return}function Lja(a,b){a=a|0;b=b|0;return}function Mja(a,b){a=a|0;b=b|0;return}function Nja(a){a=a|0;_P(a);Hta(a);return}function Oja(a){a=a|0;_P(a);Hta(a);return}function Pja(a){a=a|0;_P(a);Hta(a);return}function Qja(a){a=a|0;_P(a);Hta(a);return}function Rja(a){a=a|0;_P(a);Hta(a);return}function Sja(a,c){a=a|0;c=c|0;b[a+52>>0]=c&1;return}function Tja(a,b,c){a=a|0;b=b|0;c=c|0;return kD(a,2147483647,b,c)|0}function Uja(a){a=a|0;PF(a);Hta(a);return}function Vja(a){a=a|0;f[a>>2]=8976;_P(a+64|0);return}function Wja(a){a=a|0;f[a>>2]=7296;_P(a+64|0);return}function Xja(a,b){a=a|0;b=b|0;return}function Yja(a,b){a=a|0;b=b|0;return}function Zja(a,b){a=a|0;b=b|0;return}function _ja(a,b){a=a|0;b=b|0;return}function $ja(a,b){a=a|0;b=b|0;return}function aka(a,b){a=a|0;b=b|0;return}function bka(a,b){a=a|0;b=b|0;return}function cka(a,b){a=a|0;b=b|0;return}function dka(a,b){a=a|0;b=b|0;return}function eka(a,b){a=a|0;b=b|0;return}function fka(a,b){a=a|0;b=b|0;return}function gka(a){a=a|0;_P(a);Hta(a);return}function hka(a){a=a|0;_P(a);Hta(a);return}function ika(a){a=a|0;_P(a);Hta(a);return}function jka(a){a=a|0;_P(a);Hta(a);return}function kka(a){a=a|0;sG(a);$h(a);return}function lka(a){a=a|0;return (a|0)!=21428&((a|0)!=0&(a|0)!=82212)&1|0}function mka(a){a=a|0;Moa(a);Hta(a);return}function nka(){f[19729]=0;f[19728]=28844;return}function oka(){f[19727]=0;f[19726]=28812;return}function pka(a){a=a|0;return Epa(a+4|0)|0}function qka(a){a=a|0;f[a>>2]=8304;_P(a+64|0);return}function rka(a){a=a|0;f[a>>2]=8400;_P(a+64|0);return}function ska(a,b){a=a|0;b=b|0;return}function tka(a,b){a=a|0;b=b|0;return}function uka(a,b){a=a|0;b=b|0;return}function vka(a,b){a=a|0;b=b|0;return}function wka(a,b){a=a|0;b=b|0;return}function xka(a,b){a=a|0;b=b|0;return}function yka(a,b){a=a|0;b=b|0;return}function zka(a,b){a=a|0;b=b|0;return}function Aka(a,b){a=a|0;b=b|0;return}function Bka(a,b){a=a|0;b=b|0;return}function Cka(a){a=a|0;_P(a);Hta(a);return}function Dka(a){a=a|0;_P(a);Hta(a);return}function Eka(a){a=a|0;_P(a);Hta(a);return}function Fka(a){a=a|0;_P(a);Hta(a);return}function Gka(a,c){a=a|0;c=c|0;b[a+21>>0]=c&1;return}function Hka(){f[19655]=0;f[19654]=26716;return}function Ika(){f[19653]=0;f[19652]=26684;return}function Jka(a){a=a|0;return Np(a,1)|0}function Kka(a){a=a|0;return Mp(a,1)|0}function Lka(a,b){a=a|0;b=b|0;return 0}function Mka(a){a=a|0;return ((b[a>>0]|0)==38?a+1|0:0)|0}function Nka(a,b){a=a|0;b=b|0;return}function Oka(a,b){a=a|0;b=b|0;return}function Pka(a,b){a=a|0;b=b|0;return}function Qka(a,b){a=a|0;b=b|0;return}function Rka(a,b){a=a|0;b=b|0;return}function Ska(a,b){a=a|0;b=b|0;return}function Tka(a,b){a=a|0;b=b|0;return}function Uka(a,b){a=a|0;b=b|0;return}function Vka(a){a=a|0;_P(a);Hta(a);return}function Wka(a){a=a|0;_P(a);Hta(a);return}function Xka(a){a=a|0;_P(a);Hta(a);return}function Yka(a){a=a|0;_P(a);Hta(a);return}function Zka(a){a=a|0;_P(a);Hta(a);return}function _ka(a,c){a=a|0;c=c|0;b[a+20>>0]=c&1;return}function $ka(a){a=a|0;a=a+-60|0;KF(a);Hta(a);return}function ala(a){a=a|0;Aha(a);Hta(a);return}function bla(a){a=a|0;Bha(a);Hta(a);return}function cla(a){a=a|0;$sa(a);Hta(a);return}function dla(a){a=a|0;$sa(a);Hta(a);return}function ela(a){a=a|0;$sa(a);Hta(a);return}function fla(a){a=a|0;$sa(a);Hta(a);return}function gla(a){a=a|0;return (b[a+54>>0]|0)!=0|0}function hla(a){a=a|0;return ((b[a>>0]&-33)+-65|0)>>>0<26|0}function ila(a,b){a=a|0;b=b|0;return}function jla(a,b){a=a|0;b=b|0;return}function kla(a,b){a=a|0;b=b|0;return}function lla(a,b){a=a|0;b=b|0;return}function mla(a,b){a=a|0;b=b|0;return}function nla(a,b){a=a|0;b=b|0;return}function ola(a,b){a=a|0;b=b|0;return}function pla(a,b){a=a|0;b=b|0;return}function qla(a,b){a=a|0;b=b|0;return}function rla(a){a=a|0;_P(a);Hta(a);return}function sla(a){a=a|0;_P(a);Hta(a);return}function tla(a){a=a|0;_P(a);Hta(a);return}function ula(a){a=a|0;_P(a);Hta(a);return}function vla(a){a=a|0;_P(a);Hta(a);return}function wla(a){a=a|0;_P(a);Hta(a);return}function xla(a){a=a|0;_P(a);Hta(a);return}function yla(a){a=a|0;var b=0;b=fT(f[a>>2]|0)|0;$h(a);return b|0}function zla(){if(!(b[78432]|0))lda(78432)|0;return 26416}function Ala(){Zf(78928,1);return}function Bla(){f[19661]=0;f[19660]=29236;return}function Cla(a){a=a|0;return (b[a+54>>0]|0)!=0|0}function Dla(a,b){a=a|0;b=b|0;f[a+8>>2]=b;return}function Ela(a,b){a=a|0;b=b|0;return}function Fla(a,b){a=a|0;b=b|0;return}function Gla(a,b){a=a|0;b=b|0;return}function Hla(a,b){a=a|0;b=b|0;return}function Ila(a,b){a=a|0;b=b|0;return}function Jla(a,b){a=a|0;b=b|0;return}function Kla(a,b){a=a|0;b=b|0;return}function Lla(a,b){a=a|0;b=b|0;return}function Mla(a){a=a|0;_P(a);Hta(a);return}function Nla(a){a=a|0;_P(a);Hta(a);return}function Ola(a,b,c){a=a|0;b=+b;c=+c;return +jc[a&7](+b,+c)}function Pla(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function Qla(a){a=a|0;pD(a+-72|0);return}function Rla(){if(!(b[79096]|0))lda(79096)|0;return 29584}function Sla(a,b){a=a|0;b=b|0;return b-a>>2|0}function Tla(a){a=a|0;Tha(a);Hta(a);return}function Ula(a){a=a|0;Uha(a);Hta(a);return}function Vla(a){a=a|0;return ((b[a>>0]|0)<0?a+1|0:0)|0}function Wla(a,b){a=a|0;b=b|0;return}function Xla(a,b){a=a|0;b=b|0;return}function Yla(a,b){a=a|0;b=b|0;return}function Zla(a,b){a=a|0;b=b|0;return}function _la(a,b){a=a|0;b=b|0;return}function $la(a,b){a=a|0;b=b|0;return}function ama(a){a=a|0;_P(a);Hta(a);return}function bma(a){a=a|0;_P(a);Hta(a);return}function cma(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(32)}function dma(){if(!(b[79104]|0))lda(79104)|0;return 29588}function ema(a){a=a|0;return a+-12|0}function fma(){kP(78712,1);return}function gma(){sP(78688,1);return}function hma(a){a=a|0;return ((b[a>>0]|0)<0?a+1|0:0)|0}function ima(a,c){a=a|0;c=c|0;b[a+52>>0]=c&1;return}function jma(a,b){a=a|0;b=b|0;return}function kma(a,b){a=a|0;b=b|0;return}function lma(a,b){a=a|0;b=b|0;return}function mma(a,b){a=a|0;b=b|0;return}function nma(a,b){a=a|0;b=b|0;return}function oma(a,b){a=a|0;b=b|0;return}function pma(a,b){a=a|0;b=b|0;return}function qma(a,b){a=a|0;b=b|0;return}function rma(a){a=a|0;_P(a);Hta(a);return}function sma(){var a=0;a=f[21311]|0;f[21311]=a+0;return a|0}function tma(a){a=a|0;ON(a);return}function uma(a){a=a|0;ON(a);return}function vma(a){a=a|0;tpa(a);Hta(a);return}function wma(a){a=a|0;PF(a);Hta(a);return}function xma(a,b){a=a|0;b=b|0;return}function yma(a,b){a=a|0;b=b|0;return}function zma(a,b){a=a|0;b=b|0;return}function Ama(a,b){a=a|0;b=b|0;return}function Bma(a){a=a|0;return a|0}function Cma(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Dma(a){a=a|0;var b=0;b=(fsa(a)|0)==0;return (b?a:a&95)|0}function Ema(a){a=a|0;var b=0;b=(esa(a)|0)==0;return (b?a:a|32)|0}function Fma(a){a=a|0;return (b[a+54>>0]|0)!=0|0}function Gma(a){a=a|0;return ((b[a>>0]|0)==0?a:0)|0}function Hma(a,b){a=a|0;b=b|0;return}function Ima(a,b){a=a|0;b=b|0;return}function Jma(a,b){a=a|0;b=b|0;return}function Kma(a,b){a=a|0;b=b|0;return}function Lma(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;$(29)}function Mma(a){a=a|0;if(!a)a=1;else a=(f[a>>2]|0)==0&1;return a|0}function Nma(a,b,c){a=a|0;b=b|0;c=c|0;return cO(a,b,c)|0}function Oma(a){a=a|0;$sa(a);Hta(a);return}function Pma(a){a=a|0;uJ(a);Hta(a);return}function Qma(a,b){a=a|0;b=b|0;return}function Rma(a,b){a=a|0;b=b|0;return}function Sma(a,b){a=a|0;b=b|0;return}function Tma(a,b){a=a|0;b=b|0;return}function Uma(a,b){a=a|0;b=b|0;return}function Vma(a,b){a=a|0;b=b|0;return}function Wma(a,b){a=a|0;b=b|0;return}function Xma(a,b){a=a|0;b=b|0;f[a+72>>2]=b;return}function Yma(a){a=a|0;$sa(a);Hta(a);return}function Zma(a){a=a|0;$sa(a);Hta(a);return}function _ma(a,b){a=a|0;b=b|0;return b-a|0}function $ma(a){a=a|0;return (b[a>>0]|0?a+1|0:a)|0}function ana(a,b){a=a|0;b=b|0;return}function bna(a,b){a=a|0;b=b|0;return}function cna(a,b){a=a|0;b=b|0;return}function dna(a,b){a=a|0;b=b|0;return}function ena(a,b){a=a|0;b=b|0;return}function fna(a,b){a=a|0;b=b|0;return}function gna(a,b){a=a|0;b=b|0;return}function hna(a,b){a=a|0;b=b|0;return}function ina(a,b){a=a|0;b=b|0;return}function jna(){var a=0;a=f[7403]|0;f[7403]=a+0;return a|0}function kna(a){a=a|0;dZ(a);Hta(a);return}function lna(a){a=a|0;eZ(a);Hta(a);return}function mna(a,b){a=a|0;b=b|0;return ((a|0)==0?b:a)|0}function nna(a,b){a=a|0;b=b|0;return}function ona(a,b){a=a|0;b=b|0;return}function pna(a,b){a=a|0;b=b|0;return}function qna(a,b){a=a|0;b=b|0;return}function rna(a,b){a=a|0;b=b|0;return}function sna(a,b){a=a|0;b=b|0;return}function tna(a,b){a=a|0;b=b|0;return}function una(a,b){a=a|0;b=b|0;return}function vna(a){a=a|0;dfa(a);Hta(a);return}function wna(a){a=a|0;return f[f[a+68>>2]>>2]|0}function xna(a,b){a=a|0;b=b|0;return}function yna(a,b){a=a|0;b=b|0;return}function zna(a,b){a=a|0;b=b|0;return}function Ana(a,b){a=a|0;b=b|0;return}function Bna(a,b){a=a|0;b=b|0;return}function Cna(a,b){a=a|0;b=b|0;return}function Dna(a,b){a=a|0;b=b|0;return}function Ena(a,b){a=a|0;b=b|0;return}function Fna(a,b){a=a|0;b=b|0;return}function Gna(a,b){a=a|0;b=b|0;return}function Hna(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(16);return 0}function Ina(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Jna(a,b){a=a|0;b=b|0;f[a+16>>2]=b;return}function Kna(a){a=a|0;ypa(a);Hta(a);return}function Lna(a){a=a|0;zpa(a);Hta(a);return}function Mna(a){a=a|0;$sa(a);Hta(a);return}function Nna(a){a=a|0;dfa(a);Hta(a);return}function Ona(a){a=a|0;RH(a+4|0);Hta(a);return}function Pna(a,b){a=a|0;b=b|0;return}function Qna(a,b){a=a|0;b=b|0;return}function Rna(a,b){a=a|0;b=b|0;return}function Sna(a,b){a=a|0;b=b|0;return}function Tna(a,b){a=a|0;b=b|0;return}function Una(a,b){a=a|0;b=b|0;return}function Vna(a,b){a=a|0;b=b|0;return}function Wna(a,b){a=a|0;b=b|0;return}function Xna(a,b){a=a|0;b=b|0;f[a>>2]=b;return}function Yna(a,b){a=a|0;b=b|0;return}function Zna(a,b){a=a|0;b=b|0;return}function _na(a,b){a=a|0;b=b|0;return}function $na(a,b){a=a|0;b=b|0;return}function aoa(a){a=a|0;return (f[a+52>>2]|0)==7|0}function boa(a){a=a|0;f[a+76>>2]=1;return}function coa(a,b){a=a|0;b=b|0;return}function doa(a,b){a=a|0;b=b|0;return}function eoa(a,b){a=a|0;b=b|0;return}function foa(a,b){a=a|0;b=b|0;return}function goa(a,b){a=a|0;b=b|0;return}function hoa(a,b){a=a|0;b=b|0;f[a+12>>2]=b;return}function ioa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function joa(a,b){a=a|0;b=b|0;return}function koa(a,b){a=a|0;b=b|0;return}function loa(a,b){a=a|0;b=b|0;return}function moa(a){a=a|0;Vf(a);Hta(a);return}function noa(a){a=a|0;Vf(a);Hta(a);return}function ooa(a,b){a=a|0;b=b|0;return vc[a&511](b|0)|0}function poa(a){a=a|0;return hta(a|0)|0}function qoa(a){a=+a;return a>=0.0?+J(a+.5):+W(a-.5)}function roa(a,b,c){a=a|0;b=b|0;c=c|0;return rS(a,b,c)|0}function soa(a){a=a|0;Ua(a|0)|0;tM()}function toa(a){a=a|0;Afa(a);Hta(a);return}function uoa(a){a=a|0;Afa(a);Hta(a);return}function voa(a){a=a|0;return f[a+12>>2]|0}function woa(a,b){a=a|0;b=b|0;return b<<24>>24|0}function xoa(a,b){a=a|0;b=b|0;return b|0}function yoa(a,b){a=a|0;b=b|0;return}function zoa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Xqa(a,b))}function Aoa(a){a=a|0;return xr(a+-60|0)|0}function Boa(a){a=a|0;RH(a+-4+4|0);return}function Coa(a){a=a|0;ON(a);Hta(a);return}function Doa(a){a=a|0;$X(a);Hta(a);return}function Eoa(a){a=a|0;$sa(a);return}function Foa(a){a=a|0;$sa(a);return}function Goa(a){a=a|0;$sa(a);return}function Hoa(a){a=a|0;$sa(a);return}function Ioa(a){a=a|0;Afa(a);Hta(a);return}function Joa(a){a=a|0;return f[a+8>>2]|0}function Koa(a,b){a=a|0;b=b|0;return b|0}function Loa(a,b){a=a|0;b=b|0;return iia()|0}function Moa(a){a=a|0;tpa(a);return}function Noa(a){a=a|0;return b[a+9>>0]|0}function Ooa(a){a=a|0;return b[a+8>>0]|0}function Poa(a,b){a=a|0;b=b|0;return b|0}function Qoa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+ira(a,b))}function Roa(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jra(a,b))}function Soa(a){a=a|0;f[a>>2]=29484;return}function Toa(a){a=a|0;f[a>>2]=29448;return}function Uoa(a){a=a|0;vta(a);Hta(a);return}function Voa(a,b){a=a|0;b=b|0;return b|0}function Woa(a,b){a=a|0;b=b|0;return +lc[a&15](b|0)}function Xoa(a){a=a|0;return lta(a|0)|0}function Yoa(a){a=a|0;return 0}function Zoa(a){a=a|0;return 0}function _oa(a){a=a|0;return f[4163]|0}function $oa(a,b){a=a|0;b=b|0;return b|0}function apa(a){a=a|0;RH(a);Hta(a);return}function bpa(a){a=a|0;return (b[a+60>>0]|0)==0|0}function cpa(a){a=a|0;$h(f[a>>2]|0);$h(a);return}function dpa(a){a=a|0;return f[4163]|0}function epa(a,b){a=a|0;b=b|0;u=a;v=b}function fpa(a){a=a|0;return (b[a+8>>0]|0)!=0|0}function gpa(a){a=a|0;Eta(a);Hta(a);return}function hpa(a){a=a|0;return 2147483647}function ipa(a){a=a|0;return 2147483647}function jpa(a){a=a|0;return 2147483647}function kpa(a){a=a|0;return 2147483647}function lpa(a){a=a|0;aG(a);Hta(a);return}function mpa(a){a=a|0;dy(a);Hta(a);return}function npa(a,b){a=a|0;b=+b;return rc[a&3](+b)|0}function opa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(31)}function ppa(a){a=a|0;return f[a+88>>2]|0}function qpa(a){a=a|0;return wta(a|0)|0}function rpa(a){a=a|0;$sa(a);return}function spa(a){a=a|0;$sa(a);return}function tpa(a){a=a|0;dfa(a);return}function upa(a,b){a=a|0;b=b|0;return b|0}function vpa(a){a=a|0;f[a>>2]=20128;return}function wpa(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function xpa(a){a=a|0;Ita(a);Hta(a);return}function ypa(a){a=a|0;$sa(a);return}function zpa(a){a=a|0;$sa(a);return}function Apa(a){a=a|0;return 0}function Bpa(a){a=a|0;return 0}function Cpa(a){a=a|0;return 0}function Dpa(a){a=a|0;return 0}function Epa(a){a=a|0;return f[a>>2]|0}function Fpa(a,b){a=a|0;b=b|0;return b|0}function Gpa(a){a=a|0;return f[a+124>>2]|0}function Hpa(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function Ipa(a){a=a|0;return 0}function Jpa(a){a=a|0;return 1}function Kpa(a){a=a|0;return f[4163]|0}function Lpa(a,b){a=a|0;b=b|0;return b|0}function Mpa(a){a=a|0;Hta(a);return}function Npa(a,b){a=a|0;b=b|0;Kc[a&511](b|0)}function Opa(a){a=a|0;return f[a+104>>2]|0}function Ppa(a){a=a|0;return (b[a+4>>0]|0)!=0|0}function Qpa(a){a=a|0;KF(a+-60|0);return}function Rpa(a,b){a=a|0;b=b|0;return b|0}function Spa(a){a=a|0;RH(a+4|0);return}function Tpa(a){a=a|0;return (b[a+60>>0]|0)!=0|0}function Upa(a,b){a=a|0;b=b|0;jF(a,b)|0;return a|0}function Vpa(a){a=a|0;return (b[a+4>>0]|0)!=0|0}function Wpa(a){a=a|0;return f[a+84>>2]|0}function Xpa(a){a=a|0;if(lka(a)|0)$h(a);return}function Ypa(a,b){a=a|0;b=b|0;return Q5(a,b)|0}function Zpa(a){a=a|0;return 4}function _pa(a){a=a|0;return 4}function $pa(a,b){a=a|0;b=b|0;return b|0}function aqa(a,b){a=a|0;b=b|0;return b|0}function bqa(a){a=a|0;return f[a+16>>2]|0}function cqa(a){a=a|0;return a&255|0}function dqa(a){a=a|0;return 1}function eqa(a){a=a|0;return 53401}function fqa(a){a=a|0;return 53005}function gqa(a){a=a|0;return f[4164]|0}function hqa(a,b){a=a|0;b=b|0;return b|0}function iqa(a,b){a=a|0;b=b|0;return b|0}function jqa(a){a=a|0;KF(a);Hta(a);return}function kqa(a){a=a|0;return f[a+24>>2]|0}function lqa(a){a=a|0;Hta(a);return}function mqa(a){a=a|0;return a&255|0}function nqa(a){a=a|0;return 0}function oqa(a){a=a|0;return 0}function pqa(a){a=a|0;return 127}function qqa(a){a=a|0;return 127}function rqa(a){a=a|0;return 127}function sqa(a){a=a|0;return 127}function tqa(a,b){a=a|0;b=b|0;return b|0}function uqa(a,b,c){a=a|0;b=b|0;c=c|0;$(15);return 0}function vqa(a){a=a|0;return f[a+96>>2]|0}function wqa(a){a=a|0;Hta(a);return}function xqa(a){a=a|0;return zca(a)|0}function yqa(a){a=a|0;return hL(a)|0}function zqa(a){a=a|0;return 1}function Aqa(a,b){a=a|0;b=b|0;return b|0}function Bqa(a,b,c){a=a|0;b=b|0;c=c|0;$(4);return 0.0}function Cqa(a){a=a|0;return +(+p[a+8>>3])}function Dqa(a){a=a|0;return f[a+20>>2]|0}function Eqa(a,b){a=a|0;b=b|0;return}function Fqa(a,b){a=a|0;b=b|0;return}function Gqa(a){a=a|0;return 1}function Hqa(a){a=a|0;return 53005}function Iqa(a){a=a|0;return 0}function Jqa(a,b){a=a|0;b=b|0;return b|0}function Kqa(a){a=a|0;return 1}function Lqa(a){a=a|0;return YP(a+1|0,4)|0}function Mqa(a){a=a|0;return f[a+4>>2]|0}function Nqa(a){a=a|0;return 60284}function Oqa(a){a=a|0;return 0}function Pqa(a){a=a|0;return 0}function Qqa(a){a=a|0;return 0}function Rqa(a){a=a|0;return 0}function Sqa(a){a=a|0;return 53005}function Tqa(a){a=a|0;return 53005}function Uqa(a){a=a|0;return 0}function Vqa(a,b){a=a|0;b=b|0;return 0}function Wqa(a,b){a=a|0;b=b|0;return 0}function Xqa(a,b){a=a|0;b=b|0;return +(+MI(a,b,2))}function Yqa(a){a=a|0;return f[a+4>>2]|0}function Zqa(a){a=a|0;return YP(a+1|0,4)|0}function _qa(a){a=a|0;return f[a+4>>2]|0}function $qa(a){a=a|0;return f[a+8>>2]|0}function ara(a){a=a|0;Hta(a);return}function bra(a){a=a|0;return a|0}function cra(a){a=a|0;return 60409}function dra(a,b){a=+a;b=+b;return +(a-b)}function era(a,b){a=+a;b=+b;return +(a*b)}function fra(a,b){a=+a;b=+b;return +(a/b)}function gra(a,b){a=+a;b=+b;return +(a+b)}function hra(a,b){a=a|0;b=b|0;return 0}function ira(a,b){a=a|0;b=b|0;return +(+MI(a,b,0))}function jra(a,b){a=a|0;b=b|0;return +(+MI(a,b,1))}function kra(a){a=a|0;return f[a+4>>2]|0}function lra(a){a=a|0;return f[a>>2]|0}function mra(a){a=a|0;return a|0}function nra(a){a=a|0;f[a>>2]=29864;return}function ora(a){a=a|0;return 53259}function pra(a){a=a|0;return a<<24>>24>-1|0}function qra(a){a=a|0;Hta(a);return}function rra(a){a=a|0;return +(+p[a+8>>3])}function sra(a){a=a|0;return f[a>>2]|0}function tra(a){a=a|0;return f[a+4>>2]|0}function ura(a,b){a=a|0;b=b|0;return Pla(a)|0}function vra(a){a=a|0;return 0}function wra(a){a=a|0;return 1}function xra(a){a=a|0;Hta(a);return}function yra(a){a=a|0;f[a>>2]=18032;return}function zra(a){a=a|0;return 0}function Ara(a){a=a|0;return f[a+8>>2]|0}function Bra(a){a=a|0;return f[a+16>>2]|0}function Cra(a){a=a|0;return f[a+12>>2]|0}function Dra(a){a=a|0;f[a>>2]=29704;return}function Era(a){a=a|0;f[a>>2]=29844;return}function Fra(a){a=a|0;return 57425}function Gra(a){a=a|0;return f[a+4>>2]|0}function Hra(a,b){a=+a;b=+b;return +(+_O(a,b))}function Ira(a){a=a|0;return 0}function Jra(a){a=a|0;return 0}function Kra(a){a=a|0;return 0}function Lra(a){a=a|0;Hta(a);return}function Mra(a,b){a=+a;b=b|0;return +(+UH(a,b))}function Nra(a){a=a|0;return +(+p[a+16>>3])}function Ora(a){a=a|0;return +(+p[a+24>>3])}function Pra(a){a=a|0;return +(+p[a+32>>3])}function Qra(a){a=a|0;return 39928}function Rra(a){a=a|0;return}function Sra(a){a=a|0;return}function Tra(a,b,c){a=+a;b=+b;c=+c;$(9);return 0}function Ura(a,b,c){a=a|0;b=b|0;c=c|0;$(30)}function Vra(a){a=a|0;return +(+p[a+8>>3])}function Wra(a){a=a|0;return}function Xra(a){a=a|0;return qc[a&15]()|0}function Yra(a){a=a|0;if(a|0)$h(a);return}function Zra(a,b){a=+a;b=b|0;return +(+vI(a,b))}function _ra(a){a=a|0;Hta(a);return}function $ra(){Gl(0);return}function asa(a){a=a|0;return 39911}function bsa(a){a=a|0;return 0}function csa(a){a=a|0;return f[a>>2]|0}function dsa(a){a=a|0;return 0}function esa(a){a=a|0;return (a+-65|0)>>>0<26|0}function fsa(a){a=a|0;return (a+-97|0)>>>0<26|0}function gsa(a){a=a|0;return 0}function hsa(a){a=a|0;return}function isa(a){a=a|0;return}function jsa(a){a=a|0;return a|0}function ksa(a){a=a|0;return a|0}function lsa(a){a=a|0;return 39897}function msa(a){a=a|0;return 1}function nsa(a){a=a|0;Hta(a);return}function osa(a){a=a|0;return 1}function psa(a,b){a=+a;b=+b;return +(+Mn(a,b))}function qsa(a){a=a|0;return 0}function rsa(a){a=a|0;return}function ssa(a){a=a|0;Hta(a);return}function tsa(a){a=a|0;return 1}function usa(a,b){a=a|0;b=b|0;$(14);return 0}function vsa(a){a=a|0;return}function wsa(a){a=a|0;Hta(a);return}function xsa(a){a=a|0;Hta(a);return}function ysa(a){a=a|0;Hta(a);return}function zsa(a,b){a=a|0;b=b|0;$(3);return 0.0}function Asa(a){a=a|0;Hta(a);return}function Bsa(a){a=a|0;return 1}function Csa(a){a=a|0;return 0}function Dsa(a){a=a|0;$h(a);return}function Esa(a,b){a=a|0;b=b|0;return -1|0}function Fsa(a){a=a|0;return 1}function Gsa(a,b){a=a|0;b=+b;$(13);return 0}function Hsa(a,b){a=+a;b=b|0;$(11);return 0}function Isa(a){a=a|0;return a|0}function Jsa(a){a=a|0;return 61149}function Ksa(a){a=a|0;Hta(a);return}function Lsa(a){a=a|0;Hta(a);return}function Msa(a,b){a=+a;b=b|0;$(1);return 0.0}function Nsa(a){a=a|0;return 0}function Osa(a){a=a|0;Wb()}function Psa(a){a=a|0;Jc[a&63]()}function Qsa(a){a=a|0;return}function Rsa(a){a=a|0;return}function Ssa(a){a=a|0;return 61021}function Tsa(a){a=a|0;return 60993}function Usa(a){a=a|0;return 0}function Vsa(a){a=a|0;return 61123}function Wsa(){$ra();return}function Xsa(a,b){a=+a;b=+b;$(0);return 0.0}function Ysa(a){a=a|0;return 1}function Zsa(a){a=a|0;return 1}function _sa(){db()}function $sa(a){a=a|0;return}function ata(a){a=a|0;return}function bta(a){a=a|0;return 0}function cta(a){a=a|0;Wb()}function dta(a){a=a|0;return 1}function eta(a){a=a|0;gc=a}function fta(a){a=a|0;return}function gta(a){a=a|0;fc=a}function hta(a){a=a|0;return 0}function ita(a){a=a|0;Wb()}function jta(a,b){a=a|0;b=b|0;$(28)}function kta(a){a=a|0;return -1}function lta(a){a=a|0;return 0}function mta(){return gua()|0}function nta(){return gua()|0}function ota(){return gua()|0}function pta(){return gua()|0}function qta(){return gua()|0}function rta(){return gua()|0}function sta(){return gua()|0}function tta(a){a=a|0;return}function uta(a){a=a|0;ec=a}function vta(a){a=a|0;return}function wta(a){a=a|0;return 0}function xta(){Wa()}function yta(a){a=a|0;return VN(a)|0}function zta(a){a=a|0;Hta(a);return}function Ata(a){a=a|0;return 0}function Bta(a){a=a|0;return}function Cta(a){a=a|0;return}function Dta(a){a=a|0;return}function Eta(a){a=a|0;return}function Fta(a){a=a|0;u=a}function Gta(){return gua()|0}function Hta(a){a=a|0;$h(a);return}function Ita(a){a=a|0;return}function Jta(){return -1}function Kta(){return -1}function Lta(a){a=a|0;I=a}function Mta(){hb(82256);return 82264}function Nta(a){a=a|0;return}function Ota(a){a=a|0;$(12);return 0}function Pta(a){a=a|0;return a|0}function Qta(){eb()}function Rta(){return gc|0}function Sta(a){a=a|0;$(2);return 0.0}function Tta(){xb(82256);return}function Uta(a){a=a|0;return}function Vta(a){a=a|0;return 0}function Wta(){return fc|0}function Xta(a){a=+a;$(8);return 0}function Yta(){return}function Zta(a){a=a|0;return 0}function _ta(){return 23956}function $ta(){return 22416}function aua(){return I|0}function bua(){return 82236}function cua(){return u|0}function dua(a){a=a|0;$(27)}function eua(){return 50796}function fua(){return 22412}function gua(){return 22168}function hua(){return 25536}function iua(){$(7);return 0}function jua(){return}function kua(){$(26)} +function fd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Aa=0;za=u;u=u+784|0;fa=za;Q=za+736|0;O=za+728|0;P=za+688|0;R=za+680|0;S=za+640|0;K=za+632|0;z=za+624|0;W=za+616|0;t=za+608|0;M=za+600|0;N=za+560|0;U=za+552|0;X=za+544|0;ka=za+536|0;aa=za+528|0;p=za+520|0;k=za+512|0;j=za+504|0;ia=za+496|0;h=za+488|0;la=za+480|0;va=za+472|0;Ca=za+464|0;Da=za+456|0;Ba=za+448|0;i=za+440|0;o=za+428|0;A=za+416|0;m=za+408|0;n=za+400|0;q=za+392|0;s=za+384|0;v=za+376|0;D=za+360|0;y=za+352|0;G=za+336|0;B=za+328|0;H=za+312|0;E=za+304|0;J=za+288|0;L=za+280|0;C=za+272|0;r=za+264|0;w=za+256|0;V=za+248|0;Y=za+240|0;Z=za+200|0;ba=za+192|0;$=za+184|0;_=za+176|0;ca=za+168|0;da=za+160|0;ga=za+152|0;ha=za+144|0;na=za+136|0;pa=za+128|0;oa=za+120|0;ea=za+112|0;ja=za+104|0;ra=za+96|0;ua=za+88|0;ta=za+80|0;wa=za+72|0;ya=za+64|0;xa=za+56|0;l=c+4|0;qV(Ca,f[(f[l>>2]|0)+88>>2]|0);f[Ca>>2]=15556;T=f[l>>2]|0;ma=f[T+72>>2]|0;x=0;Ga(462,Da|0,f[T+96>>2]|0);T=x;x=0;if(T&1){Da=Ya()|0;_P(Ca);jb(Da|0)}f[Da>>2]=7904;x=0;Ga(462,Ba|0,f[(f[l>>2]|0)+80>>2]|0);T=x;x=0;if(T&1)a=Ya()|0;else{f[Ba>>2]=15572;c=f[l>>2]|0;if(b[c+60>>0]|0)b[a+60>>0]=1;if(b[c+61>>0]|0)b[a+61>>0]=1;T=Ba+4|0;c=f[T>>2]|0;a:do if(!c)Aa=224;else if((f[c+80>>2]|0)==(f[c+76>>2]|0))Aa=224;else{F=(a|0)==0;if(F)c=0;else{e=h+4|0;c=a;while(1){x=0;Ga(462,h|0,f[c+88>>2]|0);g=x;x=0;if(g&1){Aa=7;break a}f[h>>2]=15556;g=f[e>>2]|0;_P(h);if(!g)break;else c=g}}x=0;Ga(462,i|0,c|0);h=x;x=0;if(h&1)Aa=7;else{f[i>>2]=15556;h=ma|0?(f[(f[i+4>>2]|0)+72>>2]|0)!=0:0;_P(i);if(h){h=o+11|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;k=fa;i=a+12|0;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));g=fa+40|0;x=0;Ga(459,g|0,o|0);za=x;x=0;b:do if(za&1)a=Ya()|0;else{c=d+4|0;e=f[c>>2]|0;do if(e>>>0<(f[d+8>>2]|0)>>>0){k=e;i=fa;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));za=e+40|0;f[za>>2]=f[g>>2];f[za+4>>2]=f[g+4>>2];f[za+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[c>>2]=(f[c>>2]|0)+52}else{x=0;Ga(510,d|0,fa|0);za=x;x=0;if(za&1){a=Ya()|0;if((b[g+11>>0]|0)>=0)break b;Hta(f[g>>2]|0);break b}else{if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}}while(0);if((b[h>>0]|0)<0)Hta(f[o>>2]|0);k=Ta(92)|0;x=0;Ga(511,A|0,d|0);za=x;x=0;do if(za&1)a=Ya()|0;else{x=0;Ja(12,k|0,a|0,A|0,f[l>>2]|0);za=x;x=0;if(za&1)j=1;else{x=0;Ia(77,k|0,2128,181);x=0;j=0}a=Ya()|0;h=I;c=f[A>>2]|0;if(!c)if(j)break;else break a;i=A+4|0;e=f[i>>2]|0;if((e|0)!=(c|0)){do{g=e+-52|0;f[i>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[i>>2]|0}else e=g}while((e|0)!=(c|0));c=f[A>>2]|0}Hta(c);if(!j)break a}while(0);bb(k|0);break a}while(0);if((b[h>>0]|0)<0)Hta(f[o>>2]|0);break}if(F)c=0;else{e=j+4|0;c=a;while(1){x=0;Ga(462,j|0,f[c+88>>2]|0);A=x;x=0;if(A&1){Aa=7;break a}f[j>>2]=15556;g=f[e>>2]|0;_P(j);if(!g)break;else c=g}}x=0;Ga(462,m|0,c|0);A=x;x=0;if(A&1)Aa=7;else{f[m>>2]=15556;do if(!(f[(f[m+4>>2]|0)+80>>2]|0))_P(m);else{c:do if(F){c=0;Aa=56}else{e=k+4|0;c=a;while(1){x=0;Ga(462,k|0,f[c+88>>2]|0);A=x;x=0;if(A&1)break c;f[k>>2]=15556;g=f[e>>2]|0;_P(k);if(!g){Aa=56;break}else c=g}}while(0);if((Aa|0)==56){x=0;Ga(462,n|0,c|0);A=x;x=0;if(!(A&1)){f[n>>2]=15556;A=f[(f[n+4>>2]|0)+80>>2]|0;A=(f[A+80>>2]|0)==(f[A+76>>2]|0);_P(n);_P(m);if(A)break;d:do if(F){c=0;Aa=62}else{e=p+4|0;c=a;while(1){x=0;Ga(462,p|0,f[c+88>>2]|0);Aa=x;x=0;if(Aa&1){Aa=91;break d}f[p>>2]=15556;g=f[e>>2]|0;_P(p);if(!g){Aa=62;break}else c=g}}while(0);do if((Aa|0)==62){x=0;Ga(462,q|0,c|0);A=x;x=0;if(A&1){Aa=91;break}f[q>>2]=15556;x=0;Ga(462,W|0,f[(f[q+4>>2]|0)+80>>2]|0);A=x;x=0;if(A&1){a=Ya()|0;_P(q);break}f[W>>2]=15572;_P(q);d=f[T>>2]|0;A=f[d+76>>2]|0;d=(f[d+80>>2]|0)-A>>3;x=0;Ga(462,s|0,f[A+4>>2]|0);A=x;x=0;e:do if(A&1)Aa=93;else{f[s>>2]=13852;c=f[s+4>>2]|0;f:do if(!c)Aa=67;else{if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=30898){Aa=67;break}_P(s);l=W+4|0;x=0;Ga(462,v|0,f[(f[(f[l>>2]|0)+80>>2]|0)+-4>>2]|0);C=x;x=0;if(C&1){a=Ya()|0;break e}f[v>>2]=13852;c=f[v+4>>2]|0;do if(c|0){if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=34127)break;_P(v);x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;S=x;x=0;g:do if(S&1)Aa=96;else{e=c+84|0;x=0;Ia(80,D|0,e|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+84|0);S=x;x=0;if(S&1){Aa=96;break}x=0;sa(986,e|0,D|0)|0;S=x;x=0;if(S&1){a=Ya()|0;if((b[D+11>>0]|0)>=0)break e;Hta(f[D>>2]|0);break e}if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);DP(c+12|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+12|0,40)|0;x=0;Ga(462,fa|0,c|0);S=x;x=0;h:do if(S&1)a=Ya()|0;else{f[fa>>2]=13852;c=f[l>>2]|0;e=f[c+76>>2]|0;c=((f[c+80>>2]|0)-e>>3)+-1|0;g=e+(c<<3)|0;if((g|0)!=(fa|0)){c=e+(c<<3)+4|0;do if(f[c>>2]|0){x=0;Fa(429,g|0);S=x;x=0;if(!(S&1))break;a=Ya()|0;_P(fa);break h}while(0);S=fa+4|0;f[c>>2]=f[S>>2];f[S>>2]=0}_P(fa);g=f[l>>2]|0;e=f[T>>2]|0;DP(g+12|0,e+12|0,40)|0;if(d>>>0<=1)break f;h=N+20|0;c=1;while(1){e=f[(f[e+76>>2]|0)+(c<<3)+4>>2]|0;x=0;Ga(462,M|0,e|0);S=x;x=0;if(S&1){Aa=95;break}f[M>>2]=13852;x=0;Ga(120,g+72|0,M|0);S=x;x=0;if(S&1){Aa=87;break}_P(M);k=N;i=e+12|0;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));x=0;Ga(512,g+32|0,h|0);S=x;x=0;if(S&1){Aa=95;break}c=c+1|0;if(c>>>0>=d>>>0)break f;e=f[T>>2]|0;g=f[l>>2]|0}if((Aa|0)==87){a=Ya()|0;_P(M);break g}else if((Aa|0)==95){a=Ya()|0;break g}}while(0);break e}while(0);if((Aa|0)==96)a=Ya()|0;break e}while(0);_P(v);x=0;Ga(462,y|0,f[(f[(f[l>>2]|0)+80>>2]|0)+-4>>2]|0);N=x;x=0;if(N&1){a=Ya()|0;break e}f[y>>2]=13852;c=f[y+4>>2]|0;do if(c|0){if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=34151)break;_P(y);x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;S=x;x=0;i:do if(S&1)Aa=126;else{e=c+84|0;x=0;Ia(80,G|0,e|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+84|0);S=x;x=0;if(S&1){Aa=126;break}x=0;sa(986,e|0,G|0)|0;S=x;x=0;if(S&1){a=Ya()|0;if((b[G+11>>0]|0)>=0)break e;Hta(f[G>>2]|0);break e}if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);DP(c+12|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+12|0,40)|0;x=0;Ga(462,fa|0,c|0);S=x;x=0;j:do if(S&1)a=Ya()|0;else{f[fa>>2]=13852;c=f[l>>2]|0;e=f[c+76>>2]|0;c=((f[c+80>>2]|0)-e>>3)+-1|0;g=e+(c<<3)|0;if((g|0)!=(fa|0)){c=e+(c<<3)+4|0;do if(f[c>>2]|0){x=0;Fa(429,g|0);S=x;x=0;if(!(S&1))break;a=Ya()|0;_P(fa);break j}while(0);S=fa+4|0;f[c>>2]=f[S>>2];f[S>>2]=0}_P(fa);g=f[l>>2]|0;e=f[T>>2]|0;DP(g+12|0,e+12|0,40)|0;if(d>>>0<=1)break f;h=P+20|0;c=1;while(1){e=f[(f[e+76>>2]|0)+(c<<3)+4>>2]|0;x=0;Ga(462,O|0,e|0);S=x;x=0;if(S&1){Aa=125;break}f[O>>2]=13852;x=0;Ga(120,g+72|0,O|0);S=x;x=0;if(S&1){Aa=121;break}_P(O);k=P;i=e+12|0;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));x=0;Ga(512,g+32|0,h|0);S=x;x=0;if(S&1){Aa=125;break}c=c+1|0;if(c>>>0>=d>>>0)break f;e=f[T>>2]|0;g=f[l>>2]|0}if((Aa|0)==121){a=Ya()|0;_P(O);break i}else if((Aa|0)==125){a=Ya()|0;break i}}while(0);break e}while(0);if((Aa|0)==126)a=Ya()|0;break e}while(0);_P(y);x=0;Ga(462,B|0,f[(f[(f[l>>2]|0)+80>>2]|0)+-4>>2]|0);P=x;x=0;if(P&1){a=Ya()|0;break e}f[B>>2]=13852;c=f[B+4>>2]|0;do if(c|0){if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=30898)break;_P(B);x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;S=x;x=0;k:do if(S&1)Aa=156;else{e=c+84|0;x=0;Ia(80,H|0,e|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+84|0);S=x;x=0;if(S&1){Aa=156;break}x=0;sa(986,e|0,H|0)|0;S=x;x=0;if(S&1){a=Ya()|0;if((b[H+11>>0]|0)>=0)break e;Hta(f[H>>2]|0);break e}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);DP(c+12|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+12|0,40)|0;x=0;Ga(462,fa|0,c|0);S=x;x=0;l:do if(S&1)a=Ya()|0;else{f[fa>>2]=13852;c=f[l>>2]|0;e=f[c+76>>2]|0;c=((f[c+80>>2]|0)-e>>3)+-1|0;g=e+(c<<3)|0;if((g|0)!=(fa|0)){c=e+(c<<3)+4|0;do if(f[c>>2]|0){x=0;Fa(429,g|0);S=x;x=0;if(!(S&1))break;a=Ya()|0;_P(fa);break l}while(0);S=fa+4|0;f[c>>2]=f[S>>2];f[S>>2]=0}_P(fa);g=f[l>>2]|0;e=f[T>>2]|0;DP(g+12|0,e+12|0,40)|0;if(d>>>0<=1)break f;h=Q+20|0;c=1;while(1){e=f[(f[e+76>>2]|0)+(c<<3)+4>>2]|0;x=0;Ga(462,fa|0,e|0);S=x;x=0;if(S&1){Aa=155;break}f[fa>>2]=13852;x=0;Ga(120,g+72|0,fa|0);S=x;x=0;if(S&1){Aa=151;break}_P(fa);k=Q;i=e+12|0;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));x=0;Ga(512,g+32|0,h|0);S=x;x=0;if(S&1){Aa=155;break}c=c+1|0;if(c>>>0>=d>>>0)break f;e=f[T>>2]|0;g=f[l>>2]|0}if((Aa|0)==151){a=Ya()|0;_P(fa);break k}else if((Aa|0)==155){a=Ya()|0;break k}}while(0);break e}while(0);if((Aa|0)==156)a=Ya()|0;break e}while(0);_P(B);x=0;Ga(462,E|0,f[(f[(f[l>>2]|0)+80>>2]|0)+-4>>2]|0);Q=x;x=0;m:do if(!(Q&1)){f[E>>2]=13852;c=f[E+4>>2]|0;do if(c|0){if((f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)!=34097)break;_P(E);x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;Q=x;x=0;n:do if(Q&1)Aa=186;else{e=c+84|0;x=0;Ia(80,J|0,e|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+84|0);Q=x;x=0;if(Q&1){Aa=186;break}x=0;sa(986,e|0,J|0)|0;Q=x;x=0;if(Q&1){a=Ya()|0;if((b[J+11>>0]|0)>=0)break e;Hta(f[J>>2]|0);break e}if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);DP(c+12|0,(f[(f[(f[T>>2]|0)+76>>2]|0)+4>>2]|0)+12|0,40)|0;x=0;Ga(462,fa|0,c|0);Q=x;x=0;o:do if(Q&1)a=Ya()|0;else{f[fa>>2]=13852;c=f[l>>2]|0;e=f[c+76>>2]|0;c=((f[c+80>>2]|0)-e>>3)+-1|0;g=e+(c<<3)|0;if((g|0)!=(fa|0)){c=e+(c<<3)+4|0;do if(f[c>>2]|0){x=0;Fa(429,g|0);Q=x;x=0;if(!(Q&1))break;a=Ya()|0;_P(fa);break o}while(0);Q=fa+4|0;f[c>>2]=f[Q>>2];f[Q>>2]=0}_P(fa);g=f[l>>2]|0;e=f[T>>2]|0;DP(g+12|0,e+12|0,40)|0;if(d>>>0<=1)break f;h=S+20|0;c=1;while(1){e=f[(f[e+76>>2]|0)+(c<<3)+4>>2]|0;x=0;Ga(462,R|0,e|0);Q=x;x=0;if(Q&1){Aa=185;break}f[R>>2]=13852;x=0;Ga(120,g+72|0,R|0);Q=x;x=0;if(Q&1){Aa=181;break}_P(R);k=S;i=e+12|0;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));x=0;Ga(512,g+32|0,h|0);Q=x;x=0;if(Q&1){Aa=185;break}c=c+1|0;if(c>>>0>=d>>>0)break f;e=f[T>>2]|0;g=f[l>>2]|0}if((Aa|0)==181){a=Ya()|0;_P(R);break n}else if((Aa|0)==185){a=Ya()|0;break n}}while(0);break e}while(0);if((Aa|0)==186)a=Ya()|0;break e}while(0);_P(E);if(F)c=0;else{e=K+4|0;c=a;while(1){x=0;Ga(462,K|0,f[c+88>>2]|0);S=x;x=0;if(S&1)break m;f[K>>2]=15556;g=f[e>>2]|0;_P(K);if(!g)break;else c=g}}x=0;Ga(462,L|0,c|0);S=x;x=0;if(S&1)break;f[L>>2]=15556;S=(f[(f[L+4>>2]|0)+80>>2]|0)+72|0;T=f[T>>2]|0;x=0;Ga(f[(f[S>>2]|0)+24>>2]|0,S|0,((T|0)==0?0:T+72|0)|0);T=x;x=0;if(T&1){a=Ya()|0;_P(L);break e}else{_P(L);break f}}while(0);a=Ya()|0;break e}while(0);do if((Aa|0)==67){_P(s);if(F)c=0;else{e=z+4|0;c=a;while(1){x=0;Ga(462,z|0,f[c+88>>2]|0);S=x;x=0;if(S&1){Aa=93;break e}f[z>>2]=15556;g=f[e>>2]|0;_P(z);if(!g)break;else c=g}}x=0;Ga(462,C|0,c|0);S=x;x=0;if(S&1){Aa=93;break e}f[C>>2]=15556;S=(f[(f[C+4>>2]|0)+80>>2]|0)+72|0;T=f[T>>2]|0;x=0;Ga(f[(f[S>>2]|0)+24>>2]|0,S|0,((T|0)==0?0:T+72|0)|0);T=x;x=0;if(T&1){a=Ya()|0;_P(C);break e}else{_P(C);break}}while(0);_P(W);Aa=224;break a}while(0);if((Aa|0)==93)a=Ya()|0;_P(W)}while(0);if((Aa|0)==91)a=Ya()|0;break a}}a=Ya()|0;_P(m);break a}while(0);if(F)c=0;else{e=W+4|0;c=a;while(1){x=0;Ga(462,W|0,f[c+88>>2]|0);S=x;x=0;if(S&1){Aa=7;break a}f[W>>2]=15556;g=f[e>>2]|0;_P(W);if(!g)break;else c=g}}x=0;Ga(462,r|0,c|0);W=x;x=0;if(W&1)Aa=7;else{f[r>>2]=15556;W=(f[(f[r+4>>2]|0)+80>>2]|0)==0;_P(r);if(W)Aa=224;else{if(F)c=0;else{e=t+4|0;c=a;while(1){x=0;Ga(462,t|0,f[c+88>>2]|0);W=x;x=0;if(W&1){Aa=7;break a}f[t>>2]=15556;g=f[e>>2]|0;_P(t);if(!g)break;else c=g}}x=0;Ga(462,w|0,c|0);W=x;x=0;if(W&1)Aa=7;else{f[w>>2]=15556;S=(f[(f[w+4>>2]|0)+80>>2]|0)+72|0;W=f[T>>2]|0;x=0;Ga(f[(f[S>>2]|0)+24>>2]|0,S|0,((W|0)==0?0:W+72|0)|0);W=x;x=0;if(W&1){a=Ya()|0;_P(w);break}else{_P(w);Aa=224;break}}}}}}}while(0);p:do if((Aa|0)==224){h=(a|0)==0;if(h)c=0;else{e=U+4|0;c=a;while(1){x=0;Ga(462,U|0,f[c+88>>2]|0);W=x;x=0;if(W&1){Aa=7;break p}f[U>>2]=15556;g=f[e>>2]|0;_P(U);if(!g)break;else c=g}}x=0;Ga(462,V|0,c|0);W=x;x=0;if(W&1)Aa=7;else{f[V>>2]=15556;W=(f[V+4>>2]|0)==0;_P(V);if(W){_P(Ba);_P(Da);_P(Ca);u=za;return}if(h)c=0;else{e=X+4|0;c=a;while(1){x=0;Ga(462,X|0,f[c+88>>2]|0);W=x;x=0;if(W&1){Aa=7;break p}f[X>>2]=15556;g=f[e>>2]|0;_P(X);if(!g)break;else c=g}}x=0;Ga(462,Y|0,c|0);X=x;x=0;if(X&1)Aa=7;else{f[Y>>2]=15556;X=ma|0?(f[(f[Y+4>>2]|0)+72>>2]|0)!=0:0;_P(Y);if(X){x=0;h=qa(318,100)|0;ya=x;x=0;q:do if(!(ya&1)){k=Z;i=a+12|0;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));x=0;Ga(462,ba|0,0);ya=x;x=0;if(ya&1)a=Ya()|0;else{f[ba>>2]=15572;x=0;Ga(462,$|0,0);ya=x;x=0;if(ya&1)a=Ya()|0;else{f[$>>2]=15556;x=0;Ga(462,_|0,0);ya=x;x=0;do if(ya&1)a=Ya()|0;else{f[_>>2]=7904;x=0;k=fa;i=Z;j=k+40|0;do{f[k>>2]=f[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));La(10,h|0,fa|0,0,ba|0,$|0,_|0);ya=x;x=0;if(ya&1){a=Ya()|0;_P(_);break}_P(_);_P($);_P(ba);x=0;Ga(462,da|0,f[Da+4>>2]|0);ya=x;x=0;if(ya&1)break q;f[da>>2]=7904;c=h+68|0;f[c>>2]=0;e=h+92|0;g=h+96|0;if(!(f[g>>2]|0))Aa=244;else{x=0;Fa(429,e|0);ya=x;x=0;if(!(ya&1))Aa=244}do if((Aa|0)==244){f[g>>2]=f[da+4>>2];x=0;Fa(430,e|0);ya=x;x=0;if(ya&1)break;x=0;Ga(462,ca|0,f[g>>2]|0);ya=x;x=0;if(ya&1)break;f[ca>>2]=7904;_P(ca);_P(da);f[c>>2]=0;f[h+72>>2]=ma;x=0;Ga(462,ha|0,f[Ca+4>>2]|0);ya=x;x=0;if(ya&1)break q;f[ha>>2]=15556;f[c>>2]=0;c=h+84|0;e=h+88|0;if(!(f[e>>2]|0))Aa=249;else{x=0;Fa(429,c|0);ya=x;x=0;if(!(ya&1))Aa=249}do if((Aa|0)==249){f[e>>2]=f[ha+4>>2];x=0;Fa(430,c|0);ya=x;x=0;if(ya&1)break;x=0;Ga(462,ga|0,f[e>>2]|0);ya=x;x=0;if(ya&1)break;f[ga>>2]=15556;_P(ga);_P(ha);e=ka+4|0;while(1){x=0;Ga(462,ka|0,f[a+88>>2]|0);ya=x;x=0;if(ya&1)break q;f[ka>>2]=15556;c=f[e>>2]|0;_P(ka);if(!c)break;else a=c}x=0;Ga(462,pa|0,a|0);ya=x;x=0;if(ya&1)break q;f[pa>>2]=15556;a=f[pa+4>>2]|0;x=0;Ga(462,oa|0,h|0);ya=x;x=0;if(ya&1)a=Ya()|0;else{f[oa>>2]=15556;f[a+68>>2]=0;c=a+84|0;a=a+88|0;if(!(f[a>>2]|0))Aa=258;else{x=0;Fa(429,c|0);ya=x;x=0;if(!(ya&1))Aa=258}do if((Aa|0)==258){f[a>>2]=f[oa+4>>2];x=0;Fa(430,c|0);ya=x;x=0;if(ya&1)break;x=0;Ga(462,na|0,f[a>>2]|0);ya=x;x=0;if(ya&1)break;f[na>>2]=15556;_P(na);_P(oa);_P(pa);_P(Ba);_P(Da);_P(Ca);u=za;return}while(0);a=Ya()|0;_P(oa)}_P(pa);break p}while(0);a=Ya()|0;_P(ha);break p}while(0);a=Ya()|0;_P(da);break p}while(0);_P($)}_P(ba)}Hta(h);break p}while(0);a=Ya()|0;break}if(h)c=0;else{e=aa+4|0;c=a;while(1){x=0;Ga(462,aa|0,f[c+88>>2]|0);pa=x;x=0;if(pa&1){Aa=7;break p}f[aa>>2]=15556;g=f[e>>2]|0;_P(aa);if(!g)break;else c=g}}x=0;Ga(462,ea|0,c|0);pa=x;x=0;if(pa&1)Aa=7;else{f[ea>>2]=15556;pa=(f[(f[ea+4>>2]|0)+72>>2]|0)==0;_P(ea);r:do if(pa){if(h)c=0;else{e=ia+4|0;c=a;while(1){x=0;Ga(462,ia|0,f[c+88>>2]|0);pa=x;x=0;if(pa&1){Aa=7;break p}f[ia>>2]=15556;g=f[e>>2]|0;_P(ia);if(!g)break;else c=g}}x=0;Ga(462,ja|0,c|0);pa=x;x=0;if(pa&1){Aa=7;break p}f[ja>>2]=15556;pa=f[ja+4>>2]|0;f[pa+68>>2]=0;f[pa+72>>2]=ma;_P(ja);if(h)c=0;else{e=la+4|0;c=a;while(1){x=0;Ga(462,la|0,f[c+88>>2]|0);pa=x;x=0;if(pa&1){Aa=7;break p}f[la>>2]=15556;g=f[e>>2]|0;_P(la);if(!g)break;else c=g}}x=0;Ga(462,ua|0,c|0);pa=x;x=0;if(pa&1){Aa=7;break p}f[ua>>2]=15556;c=f[ua+4>>2]|0;x=0;Ga(462,ta|0,f[Da+4>>2]|0);pa=x;x=0;if(pa&1)a=Ya()|0;else{f[ta>>2]=7904;f[c+68>>2]=0;e=c+92|0;c=c+96|0;if(!(f[c>>2]|0))Aa=293;else{x=0;Fa(429,e|0);pa=x;x=0;if(!(pa&1))Aa=293}do if((Aa|0)==293){f[c>>2]=f[ta+4>>2];x=0;Fa(430,e|0);pa=x;x=0;if(pa&1)break;x=0;Ga(462,ra|0,f[c>>2]|0);pa=x;x=0;if(pa&1)break;f[ra>>2]=7904;_P(ra);_P(ta);_P(ua);break r}while(0);a=Ya()|0;_P(ta)}_P(ua);break p}while(0);if(h)a=0;else{e=va+4|0;while(1){x=0;Ga(462,va|0,f[a+88>>2]|0);ua=x;x=0;if(ua&1){Aa=7;break p}f[va>>2]=15556;c=f[e>>2]|0;_P(va);if(!c)break;else a=c}}x=0;Ga(462,ya|0,a|0);va=x;x=0;if(va&1)Aa=7;else{f[ya>>2]=15556;a=f[ya+4>>2]|0;x=0;Ga(462,xa|0,f[Ca+4>>2]|0);va=x;x=0;if(va&1)a=Ya()|0;else{f[xa>>2]=15556;f[a+68>>2]=0;c=a+84|0;a=a+88|0;if(!(f[a>>2]|0))Aa=307;else{x=0;Fa(429,c|0);va=x;x=0;if(!(va&1))Aa=307}do if((Aa|0)==307){f[a>>2]=f[xa+4>>2];x=0;Fa(430,c|0);va=x;x=0;if(va&1)break;x=0;Ga(462,wa|0,f[a>>2]|0);va=x;x=0;if(va&1)break;f[wa>>2]=15556;_P(wa);_P(xa);_P(ya);_P(Ba);_P(Da);_P(Ca);u=za;return}while(0);a=Ya()|0;_P(xa)}_P(ya)}}}}}while(0);if((Aa|0)==7)a=Ya()|0;_P(Ba)}_P(Da);Da=a;_P(Ca);jb(Da|0)}function gd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,La=0,Ma=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Za=0,_a=0,$a=0;$a=0;Wa=u;u=u+416|0;_a=Wa+80|0;Xa=Wa+40|0;Ra=Wa;Da=Wa+408|0;Ma=Wa+400|0;Ea=Wa+392|0;Oa=Wa+204|0;Ha=Wa+384|0;pa=Wa+376|0;La=Wa+368|0;ra=Wa+360|0;ua=Wa+352|0;va=Wa+312|0;Sa=Wa+296|0;wa=Wa+288|0;xa=Wa+280|0;ya=Wa+272|0;za=Wa+264|0;Aa=Wa+256|0;Ba=Wa+216|0;Pa=Wa+192|0;Ca=Wa+184|0;Ua=Wa+176|0;Va=Wa+136|0;Za=Wa+120|0;l=VN(88)|0;Qa=c+108|0;n=Ra;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,l|0);Ta=x;x=0;do if(Ta&1)e=Ya()|0;else{n=l+12|0;o=Ra;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;e=l+56|0;f[l>>2]=11536;f[e>>2]=4;g=l+60|0;f[g>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,0);Ta=x;x=0;if(Ta&1){e=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0)){do{a=h+-8|0;f[k>>2]=a;Kc[f[f[a>>2]>>2]&511](a);h=f[k>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[l>>2]=11364;f[g>>2]=11496;b[l+80>>0]=1;f[l+84>>2]=0;f[e>>2]=4;qV(a,l);f[a>>2]=13648;Ta=c+76|0;e=f[Ta>>2]|0;x=0;g=qa(348,e|0)|0;oa=x;x=0;a:do if(oa&1)e=Ya()|0;else{oa=g|0?g:e;oa=(b[oa>>0]|0)==125?oa+1|0:0;la=c+80|0;e=f[la>>2]|0;b:do if((oa|0)==0|oa>>>0>e>>>0){oa=la;na=e}else{f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;x=0;e=qa(318,16)|0;oa=x;x=0;if(oa&1)e=Ya()|0;else{f[_a>>2]=e;f[_a+8>>2]=-2147483632;f[_a+4>>2]=11;n=e;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[e+11>>0]=0;f[Xa+8>>2]=0;g=Xa+11|0;b[g>>0]=7;b[Xa>>0]=b[44254]|0;b[Xa+1>>0]=b[44255]|0;b[Xa+2>>0]=b[44256]|0;b[Xa+3>>0]=b[44257]|0;b[Xa+4>>0]=b[44258]|0;b[Xa+5>>0]=b[44259]|0;b[Xa+6>>0]=b[44260]|0;b[Xa+7>>0]=0;f[Ra>>2]=0;f[Ra+4>>2]=0;f[Ra+8>>2]=0;x=0;e=qa(318,48)|0;oa=x;x=0;do if(oa&1)e=Ya()|0;else{f[Ra>>2]=e;f[Ra+8>>2]=-2147483600;f[Ra+4>>2]=44;n=e;o=44621;p=n+44|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[e+44>>0]=0;x=0;Ka(8,c|0,_a|0,Xa|0,Ra|0,1);oa=x;x=0;if(oa&1){e=Ya()|0;if((b[Ra+11>>0]|0)>=0)break;Hta(f[Ra>>2]|0);break}if((b[Ra+11>>0]|0)<0)Hta(f[Ra>>2]|0);if((b[g>>0]|0)<0)Hta(f[Xa>>2]|0);if((b[_a+11>>0]|0)<0)Hta(f[_a>>2]|0);oa=la;na=f[la>>2]|0;break b}while(0);if((b[g>>0]|0)<0)Hta(f[Xa>>2]|0);if((b[_a+11>>0]|0)<0)Hta(f[_a>>2]|0)}break a}while(0);f[la>>2]=d;e=f[Ta>>2]|0;c:do if(e>>>0>>0){q=a+4|0;r=Ma+4|0;s=c+172|0;t=c+176|0;ja=Pa+11|0;v=Pa+8|0;w=Pa+4|0;_=_a+11|0;y=_a+8|0;z=_a+4|0;$=_a+11|0;A=_a+8|0;B=_a+4|0;aa=_a+11|0;C=_a+8|0;D=_a+4|0;ba=_a+11|0;E=_a+8|0;F=_a+4|0;ca=Xa+11|0;ka=Sa+11|0;ma=_a+11|0;G=Xa+8|0;H=Xa+4|0;J=c+168|0;K=La+4|0;L=Xa+4|0;M=_a+4|0;N=_a+8|0;O=_a+4|0;fa=Ra+11|0;P=Ra+7|0;Q=Oa+8|0;R=Oa+4|0;da=Oa+11|0;ga=_a+11|0;S=Ra+4|0;T=_a+8|0;U=_a+4|0;ha=Xa+11|0;V=Xa+7|0;W=Ra+8|0;X=Ra+4|0;ea=Ra+11|0;ia=_a+11|0;Y=Ra+8|0;Z=Xa+8|0;d:while(1){x=0;ta(95,c|0,1,0)|0;p=x;x=0;if(p&1)break c;e=f[Ta>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1)break c;x=0;e=qa(373,(g|0?g:e)|0)|0;p=x;x=0;if(p&1)break c;p=e>>>0<=(f[la>>2]|0)>>>0?e:0;e:do if((p|0)!=0&p>>>0>>0){e=(f[q>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(596,Ma|0,c|0);p=x;x=0;if(p&1)break c;x=0;Ga(462,Da|0,f[r>>2]|0);p=x;x=0;if(p&1){$a=45;break d}f[Da>>2]=7696;x=0;Ga(g|0,e|0,Da|0);p=x;x=0;if(p&1){$a=46;break d}_P(Da);_P(Ma)}else{x=0;e=ta(96,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){e=f[Ta>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1)break c;e=g|0?g:e;do if(e|0){g=b[51458]|0;f:do if(!(g<<24>>24))g=0;else{h=51458;while(1){if((b[e>>0]|0)!=g<<24>>24)break f;e=e+1|0;h=h+1|0;g=b[h>>0]|0;if(!(g<<24>>24)){g=0;break}}}while(0);p=g<<24>>24==0?e:0;if((p|0)==0?1:p>>>0>(f[la>>2]|0)>>>0)break;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;x=0;e=qa(318,16)|0;p=x;x=0;if(p&1){$a=66;break d}f[_a>>2]=e;f[T>>2]=-2147483632;f[U>>2]=11;n=e;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[e+11>>0]=0;f[Z>>2]=0;b[ha>>0]=7;b[Xa>>0]=b[44254]|0;b[Xa+1>>0]=b[44255]|0;b[Xa+2>>0]=b[44256]|0;b[Xa+3>>0]=b[44257]|0;b[Xa+4>>0]=b[44258]|0;b[Xa+5>>0]=b[44259]|0;b[Xa+6>>0]=b[44260]|0;b[V>>0]=0;f[Ra>>2]=0;f[Ra+4>>2]=0;f[Ra+8>>2]=0;x=0;e=qa(318,48)|0;p=x;x=0;if(p&1){$a=67;break d}f[Ra>>2]=e;f[W>>2]=-2147483600;f[X>>2]=44;n=e;o=44621;p=n+44|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[e+44>>0]=0;x=0;Ka(8,c|0,_a|0,Xa|0,Ra|0,1);p=x;x=0;if(p&1){$a=68;break d}if((b[ea>>0]|0)<0)Hta(f[Ra>>2]|0);if((b[ha>>0]|0)<0)Hta(f[Xa>>2]|0);if((b[ia>>0]|0)<0)Hta(f[_a>>2]|0)}while(0);x=0;Ga(462,Xa|0,0);p=x;x=0;if(p&1){$a=84;break d}f[Xa>>2]=7696;x=0;e=ta(97,c|0,1,0)|0;p=x;x=0;if(p&1){$a=85;break d}if(!e){x=0;Ia(114,_a|0,c|0,1);p=x;x=0;if(p&1){$a=94;break d}if(f[L>>2]|0){x=0;Fa(429,Xa|0);p=x;x=0;if(p&1){$a=95;break d}}f[L>>2]=f[M>>2];f[M>>2]=0;_P(_a)}else{x=0;e=qa(318,80)|0;p=x;x=0;if(p&1){$a=86;break d}x=0;n=_a;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(29,e|0,_a|0,J|0,1);p=x;x=0;if(p&1){$a=87;break d}x=0;Ga(462,Ra|0,e|0);p=x;x=0;if(p&1){$a=86;break d}f[Ra>>2]=7696;if(f[L>>2]|0){x=0;Fa(429,Xa|0);p=x;x=0;if(p&1){$a=88;break d}}f[L>>2]=f[S>>2];f[S>>2]=0;_P(Ra)}p=f[L>>2]|0;b[p+54>>0]=1;e=(f[q>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,Ea|0,p|0);p=x;x=0;if(p&1){$a=85;break d}f[Ea>>2]=7696;x=0;Ga(g|0,e|0,Ea|0);p=x;x=0;if(p&1){$a=111;break d}_P(Ea);x=0;e=ta(98,c|0,1,0)|0;p=x;x=0;if(p&1){$a=85;break d}if(!e){f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;x=0;e=qa(318,16)|0;p=x;x=0;if(p&1){$a=112;break d}f[_a>>2]=e;f[N>>2]=-2147483632;f[O>>2]=11;n=e;o=44242;p=n+11|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[e+11>>0]=0;f[Y>>2]=0;b[fa>>0]=7;b[Ra>>0]=b[44254]|0;b[Ra+1>>0]=b[44255]|0;b[Ra+2>>0]=b[44256]|0;b[Ra+3>>0]=b[44257]|0;b[Ra+4>>0]=b[44258]|0;b[Ra+5>>0]=b[44259]|0;b[Ra+6>>0]=b[44260]|0;b[P>>0]=0;f[Oa>>2]=0;f[Oa+4>>2]=0;f[Oa+8>>2]=0;x=0;e=qa(318,32)|0;p=x;x=0;if(p&1){$a=113;break d}f[Oa>>2]=e;f[Q>>2]=-2147483616;f[R>>2]=20;n=e;o=45073;p=n+20|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[e+20>>0]=0;x=0;Ka(8,c|0,_a|0,Ra|0,Oa|0,1);p=x;x=0;if(p&1){$a=114;break d}if((b[da>>0]|0)<0)Hta(f[Oa>>2]|0);if((b[fa>>0]|0)<0)Hta(f[Ra>>2]|0);if((b[ga>>0]|0)<0)Hta(f[_a>>2]|0)}_P(Xa);break}x=0;e=ta(99,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){e=(f[q>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;p=x;x=0;if(p&1)break c;x=0;n=_a;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(29,h|0,_a|0,J|0,1);p=x;x=0;if(p&1){$a=131;break d}x=0;Ga(462,Ha|0,h|0);p=x;x=0;if(p&1)break c;f[Ha>>2]=7696;x=0;Ga(g|0,e|0,Ha|0);p=x;x=0;if(p&1){$a=132;break d}_P(Ha);break}x=0;e=ta(71,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){e=(f[q>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;f[_a>>2]=f[J>>2];f[_a+4>>2]=f[J+4>>2];f[_a+8>>2]=f[J+8>>2];Ka(9,La|0,c|0,_a|0,0,1);p=x;x=0;if(p&1)break c;x=0;Ga(462,pa|0,f[K>>2]|0);p=x;x=0;if(p&1){$a=142;break d}f[pa>>2]=7696;x=0;Ga(g|0,e|0,pa|0);p=x;x=0;if(p&1){$a=143;break d}_P(pa);_P(La);e=f[Ta>>2]|0;switch(b[e>>0]|0){case 39:case 34:break;default:{x=0;qa(348,e|0)|0;p=x;x=0;if(p&1)break c;x=0;p=x;x=0;if(p&1)break c;e=f[Ta>>2]|0}}x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1)break c;p=g|0?g:e;p=(b[p>>0]|0)==45?p+1|0:0;if((p|0)==0?1:p>>>0>(f[la>>2]|0)>>>0)break;else{$a=324;break d}}x=0;e=ta(47,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){e=(f[q>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;p=x;x=0;if(p&1)break c;x=0;n=_a;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ja(29,h|0,_a|0,J|0,1);p=x;x=0;if(p&1){$a=157;break d}x=0;Ga(462,ra|0,h|0);p=x;x=0;if(p&1)break c;f[ra>>2]=7696;x=0;Ga(g|0,e|0,ra|0);p=x;x=0;if(p&1){$a=158;break d}_P(ra);e=f[Ta>>2]|0;switch(b[e>>0]|0){case 39:case 34:break e;default:{}}x=0;qa(348,e|0)|0;p=x;x=0;if(p&1)break c;x=0;p=x;x=0;if(p&1)break c;else break}x=0;e=ta(100,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){g=f[s>>2]|0;i=f[t>>2]|0;f[Xa>>2]=0;f[Xa+4>>2]=0;f[Xa+8>>2]=0;j=i-g|0;if(j>>>0>4294967279){$a=162;break d}if(j>>>0<11){b[ca>>0]=j;e=Xa}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;p=x;x=0;if(p&1){$a=185;break d}f[Xa>>2]=e;f[G>>2]=h|-2147483648;f[H>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;Ga(558,_a|0,Xa|0);p=x;x=0;if(p&1){$a=186;break d}if((b[ca>>0]|0)<0)Hta(f[Xa>>2]|0);g=(f[q>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;i=qa(318,72)|0;p=x;x=0;if(p&1){$a=189;break d}n=va;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Ga(459,Sa|0,_a|0);p=x;x=0;if(p&1){$a=190;break d}n=Xa;o=va;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,i|0);p=x;x=0;if(p&1){e=1;$a=191;break d}n=i+12|0;o=Xa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;e=i+56|0;f[e>>2]=0;f[i>>2]=10992;x=0;Ga(459,i+60|0,Sa|0);p=x;x=0;if(p&1){$a=177;break d}f[e>>2]=13;x=0;Ga(462,ua|0,i|0);p=x;x=0;if(p&1){e=0;$a=191;break d}f[ua>>2]=7696;x=0;Ga(h|0,g|0,ua|0);p=x;x=0;if(p&1){$a=193;break d}_P(ua);if((b[ka>>0]|0)<0)Hta(f[Sa>>2]|0);if((b[ma>>0]|0)<0)Hta(f[_a>>2]|0);break}x=0;e=ta(101,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){k=(f[q>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;g=f[s>>2]|0;i=f[t>>2]|0;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;j=i-g|0;if(j>>>0>4294967279){$a=204;break d}if(j>>>0<11){b[ba>>0]=j;e=_a}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;p=x;x=0;if(p&1){$a=218;break d}f[_a>>2]=e;f[E>>2]=h|-2147483648;f[F>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;e=sa(1027,Qa|0,_a|0)|0;p=x;x=0;if(p&1){$a=219;break d}x=0;Ga(462,wa|0,e|0);p=x;x=0;if(p&1){$a=219;break d}f[wa>>2]=7696;x=0;Ga(l|0,k|0,wa|0);p=x;x=0;if(p&1){$a=220;break d}_P(wa);if((b[ba>>0]|0)<0)Hta(f[_a>>2]|0);break}x=0;e=ta(102,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){k=(f[q>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;g=f[s>>2]|0;i=f[t>>2]|0;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;j=i-g|0;if(j>>>0>4294967279){$a=227;break d}if(j>>>0<11){b[aa>>0]=j;e=_a}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;p=x;x=0;if(p&1){$a=241;break d}f[_a>>2]=e;f[C>>2]=h|-2147483648;f[D>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;e=sa(1030,Qa|0,_a|0)|0;p=x;x=0;if(p&1){$a=242;break d}x=0;Ga(462,xa|0,e|0);p=x;x=0;if(p&1){$a=242;break d}f[xa>>2]=7696;x=0;Ga(l|0,k|0,xa|0);p=x;x=0;if(p&1){$a=243;break d}_P(xa);if((b[aa>>0]|0)<0)Hta(f[_a>>2]|0);break}x=0;e=ta(103,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){k=(f[q>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;g=f[s>>2]|0;i=f[t>>2]|0;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;j=i-g|0;if(j>>>0>4294967279){$a=250;break d}if(j>>>0<11){b[$>>0]=j;e=_a}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;p=x;x=0;if(p&1){$a=264;break d}f[_a>>2]=e;f[A>>2]=h|-2147483648;f[B>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;e=sa(1026,Qa|0,_a|0)|0;p=x;x=0;if(p&1){$a=265;break d}x=0;Ga(462,ya|0,e|0);p=x;x=0;if(p&1){$a=265;break d}f[ya>>2]=7696;x=0;Ga(l|0,k|0,ya|0);p=x;x=0;if(p&1){$a=266;break d}_P(ya);if((b[$>>0]|0)<0)Hta(f[_a>>2]|0);break}x=0;e=ta(104,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(e|0){k=(f[q>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;g=f[s>>2]|0;i=f[t>>2]|0;f[_a>>2]=0;f[_a+4>>2]=0;f[_a+8>>2]=0;j=i-g|0;if(j>>>0>4294967279){$a=273;break d}if(j>>>0<11){b[_>>0]=j;e=_a}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;p=x;x=0;if(p&1){$a=287;break d}f[_a>>2]=e;f[y>>2]=h|-2147483648;f[z>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;e=sa(1029,Qa|0,_a|0)|0;p=x;x=0;if(p&1){$a=288;break d}x=0;Ga(462,za|0,e|0);p=x;x=0;if(p&1){$a=288;break d}f[za>>2]=7696;x=0;Ga(l|0,k|0,za|0);p=x;x=0;if(p&1){$a=289;break d}_P(za);if((b[_>>0]|0)<0)Hta(f[_a>>2]|0);break}x=0;e=ta(105,c|0,1,0)|0;p=x;x=0;if(p&1)break c;if(!e){e=f[Ta>>2]|0;x=0;g=qa(348,e|0)|0;p=x;x=0;if(p&1)break c;x=0;e=qa(377,(g|0?g:e)|0)|0;p=x;x=0;if(p&1)break c;if((e|0)==0?1:e>>>0>(f[la>>2]|0)>>>0){$a=324;break d}e=(f[q>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(587,Ca|0,c|0);p=x;x=0;if(p&1)break c;x=0;Ga(g|0,e|0,Ca|0);p=x;x=0;if(p&1){$a=323;break d}_P(Ca);break}k=(f[q>>2]|0)+60|0;l=f[(f[k>>2]|0)+20>>2]|0;x=0;m=qa(318,80)|0;p=x;x=0;if(p&1)break c;n=Ba;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));g=f[s>>2]|0;i=f[t>>2]|0;f[Pa>>2]=0;f[Pa+4>>2]=0;f[Pa+8>>2]=0;j=i-g|0;if(j>>>0>4294967279){$a=297;break d}if(j>>>0<11){b[ja>>0]=j;e=Pa}else{h=j+16&-16;x=0;e=qa(318,h|0)|0;p=x;x=0;if(p&1){$a=310;break d}f[Pa>>2]=e;f[v>>2]=h|-2147483648;f[w>>2]=j}if((g|0)!=(i|0)){h=e;while(1){b[h>>0]=b[g>>0]|0;g=g+1|0;if((g|0)==(i|0))break;else h=h+1|0}e=e+j|0}b[e>>0]=0;x=0;n=_a;o=Ba;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Na(1,m|0,_a|0,Pa|0,0,0,0,1,1);p=x;x=0;if(p&1){e=1;$a=311;break d}x=0;Ga(462,Aa|0,m|0);p=x;x=0;if(p&1){e=0;$a=311;break d}f[Aa>>2]=7696;x=0;Ga(l|0,k|0,Aa|0);p=x;x=0;if(p&1){$a=312;break d}_P(Aa);if((b[ja>>0]|0)>=0)break;Hta(f[Pa>>2]|0)}while(0);if((f[Ta>>2]|0)>>>0>=d>>>0){$a=324;break}}switch($a|0){case 45:{e=Ya()|0;$a=47;break}case 46:{e=Ya()|0;_P(Da);$a=47;break}case 66:{e=Ya()|0;$a=74;break}case 67:{e=Ya()|0;$a=70;break}case 68:{e=Ya()|0;if((b[ea>>0]|0)<0){Hta(f[Ra>>2]|0);$a=70}else $a=70;break}case 84:{e=Ya()|0;$a=123;break}case 85:{e=Ya()|0;$a=122;break}case 86:{e=Ya()|0;$a=89;break}case 87:{_a=Ya()|0;Hta(e);e=_a;$a=89;break}case 88:{e=Ya()|0;_P(Ra);$a=89;break}case 94:{e=Ya()|0;$a=96;break}case 95:{e=Ya()|0;_P(_a);$a=96;break}case 111:{e=Ya()|0;_P(Ea);$a=122;break}case 112:{e=Ya()|0;$a=120;break}case 113:{e=Ya()|0;$a=116;break}case 114:{e=Ya()|0;if((b[da>>0]|0)<0){Hta(f[Oa>>2]|0);$a=116}else $a=116;break}case 131:{e=Ya()|0;Hta(h);break a}case 132:{e=Ya()|0;_P(Ha);break a}case 142:{e=Ya()|0;$a=144;break}case 143:{e=Ya()|0;_P(pa);$a=144;break}case 157:{e=Ya()|0;Hta(h);break a}case 158:{e=Ya()|0;_P(ra);break a}case 162:{x=0;Fa(428,Xa|0);x=0;$a=185;break}case 177:{e=Ya()|0;g=1;$a=192;break}case 186:{e=Ya()|0;if((b[ca>>0]|0)<0){Hta(f[Xa>>2]|0);$a=188}else $a=188;break}case 189:{e=Ya()|0;$a=198;break}case 190:{e=Ya()|0;$a=197;break}case 191:{Za=Ya()|0;g=e;e=Za;$a=192;break}case 193:{e=Ya()|0;_P(ua);g=0;$a=194;break}case 204:{x=0;Fa(428,_a|0);x=0;$a=218;break}case 219:{e=Ya()|0;$a=221;break}case 220:{e=Ya()|0;_P(wa);$a=221;break}case 227:{x=0;Fa(428,_a|0);x=0;$a=241;break}case 242:{e=Ya()|0;$a=244;break}case 243:{e=Ya()|0;_P(xa);$a=244;break}case 250:{x=0;Fa(428,_a|0);x=0;$a=264;break}case 265:{e=Ya()|0;$a=267;break}case 266:{e=Ya()|0;_P(ya);$a=267;break}case 273:{x=0;Fa(428,_a|0);x=0;$a=287;break}case 288:{e=Ya()|0;$a=290;break}case 289:{e=Ya()|0;_P(za);$a=290;break}case 297:{x=0;Fa(428,Pa|0);x=0;$a=310;break}case 311:{g=e;e=Ya()|0;$a=313;break}case 312:{e=Ya()|0;_P(Aa);g=0;$a=313;break}case 323:{e=Ya()|0;_P(Ca);break a}case 324:{e=f[Ta>>2]|0;$a=325;break c}}switch($a|0){case 47:{_P(Ma);break a}case 70:{if((b[ha>>0]|0)<0)Hta(f[Xa>>2]|0);if((b[ia>>0]|0)<0){Hta(f[_a>>2]|0);$a=74}else $a=74;break}case 89:{$a=122;break}case 96:{$a=122;break}case 116:{if((b[fa>>0]|0)<0)Hta(f[Ra>>2]|0);if((b[ga>>0]|0)<0){Hta(f[_a>>2]|0);$a=120}else $a=120;break}case 144:{_P(La);break a}case 185:{e=Ya()|0;$a=188;break}case 192:{$a=194;break}case 218:{e=Ya()|0;$a=223;break}case 221:{if((b[ba>>0]|0)<0){Hta(f[_a>>2]|0);$a=223}else $a=223;break}case 241:{e=Ya()|0;$a=246;break}case 244:{if((b[aa>>0]|0)<0){Hta(f[_a>>2]|0);$a=246}else $a=246;break}case 264:{e=Ya()|0;$a=269;break}case 267:{if((b[$>>0]|0)<0){Hta(f[_a>>2]|0);$a=269}else $a=269;break}case 287:{e=Ya()|0;$a=292;break}case 290:{if((b[_>>0]|0)<0){Hta(f[_a>>2]|0);$a=292}else $a=292;break}case 310:{e=Ya()|0;$a=316;break}case 313:if((b[ja>>0]|0)<0){Hta(f[Pa>>2]|0);if(g){$a=316;break}else break a}else if(g){$a=316;break}else break a}do if(($a|0)==74)break a;else if(($a|0)==120)$a=122;else if(($a|0)!=188)if(($a|0)==194)if((b[ka>>0]|0)<0){Hta(f[Sa>>2]|0);if(g){$a=197;break}else{$a=198;break}}else if(g){$a=197;break}else{$a=198;break}else if(($a|0)==223)break a;else if(($a|0)==246)break a;else if(($a|0)==269)break a;else if(($a|0)==292)break a;else if(($a|0)==316){Hta(m);break a}while(0);if(($a|0)==122){_P(Xa);$a=123}else if(($a|0)==197){Hta(i);$a=198}if(($a|0)==123)break a;if(($a|0)==198)if((b[ma>>0]|0)<0)Hta(f[_a>>2]|0);break a}else $a=325;while(0);if(($a|0)==325){if((e|0)==(d|0)){f[oa>>2]=na;u=Wa;return}j=(f[a+4>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;x=0;l=qa(318,80)|0;Xa=x;x=0;if(!(Xa&1)){n=Va;o=Qa;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f[Za>>2]=0;f[Za+4>>2]=0;f[Za+8>>2]=0;i=d-e|0;do if(i>>>0>4294967279){x=0;Fa(428,Za|0);x=0;$a=343}else{if(i>>>0<11){b[Za+11>>0]=i;h=Za}else{g=i+16&-16;x=0;h=qa(318,g|0)|0;Xa=x;x=0;if(Xa&1){$a=343;break}f[Za>>2]=h;f[Za+8>>2]=g|-2147483648;f[Za+4>>2]=i}g=h;while(1){b[g>>0]=b[e>>0]|0;e=e+1|0;if((e|0)==(d|0))break;else g=g+1|0}b[h+i>>0]=0;n=_a;o=Va;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;Fa(427,l|0);Xa=x;x=0;do if(Xa&1){e=1;$a=344}else{n=l+12|0;o=_a;p=n+40|0;do{f[n>>2]=f[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=4;f[l>>2]=11668;b[l+60>>0]=0;b[l+61>>0]=0;x=0;Ia(101,l+64|0,Za|0,1);_a=x;x=0;if(_a&1){e=Ya()|0;g=1;$a=345;break}f[l+76>>2]=0;x=0;Ga(462,Ua|0,l|0);_a=x;x=0;if(_a&1){e=0;$a=344}else{f[Ua>>2]=7696;x=0;Ga(k|0,j|0,Ua|0);_a=x;x=0;if(_a&1){e=Ya()|0;_P(Ua);g=0;break}_P(Ua);if((b[Za+11>>0]|0)<0)Hta(f[Za>>2]|0);f[Ta>>2]=d;f[oa>>2]=na;u=Wa;return}}while(0);if(($a|0)==344){_a=Ya()|0;g=e;e=_a;$a=345}if((b[Za+11>>0]|0)<0){Hta(f[Za>>2]|0);if(g)break;else break a}else if(g)break;else break a}while(0);if(($a|0)==343)e=Ya()|0;Hta(l);break}}e=Ya()|0}while(0);_P(a);a=e;jb(a|0)}while(0);Hta(l);a=e;jb(a|0)}function hd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,sa=0,ua=0,va=0;pa=0;sa=u;u=u+1008|0;ra=sa+160|0;X=sa+120|0;V=sa+80|0;T=sa+40|0;S=sa;E=sa+996|0;y=sa+984|0;z=sa+972|0;A=sa+960|0;w=sa+920|0;l=sa+904|0;m=sa+892|0;n=sa+880|0;o=sa+840|0;B=sa+828|0;q=sa+816|0;r=sa+804|0;s=sa+792|0;t=sa+752|0;g=sa+740|0;i=sa+728|0;j=sa+676|0;k=sa+624|0;d=sa+688|0;p=sa+664|0;h=sa+608|0;C=sa+596|0;F=sa+584|0;D=sa+576|0;G=sa+568|0;L=sa+560|0;M=sa+552|0;N=sa+544|0;O=sa+536|0;P=sa+528|0;Q=sa+520|0;R=sa+480|0;Y=sa+472|0;Z=sa+464|0;_=sa+456|0;U=sa+416|0;ba=sa+408|0;ca=sa+400|0;da=sa+392|0;W=sa+352|0;ea=sa+344|0;fa=sa+336|0;ga=sa+328|0;$=sa+288|0;ha=sa+280|0;ia=sa+272|0;ja=sa+264|0;ka=sa+224|0;la=sa+216|0;ma=sa+208|0;na=sa+200|0;ua=c+164|0;va=f[ua>>2]|0;oa=va+1|0;f[ua>>2]=oa;if(oa>>>0>512){l=Ta(84)|0;H=d;J=c+108|0;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Ga(511,p|0,c+148|0);a=x;x=0;do if(a&1)d=Ya()|0;else{x=0;Ga(459,h|0,80148);a=x;x=0;if(a&1){d=Ya()|0;k=I;g=1}else{x=0;H=ra;J=d;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));Ja(28,l|0,ra|0,p|0,h|0);a=x;x=0;if(a&1)g=1;else{x=0;Ia(77,l|0,3328,181);x=0;g=0}d=Ya()|0;e=I;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);k=e}else k=e}e=f[p>>2]|0;if(!e){if(g)break;f[ua>>2]=va;jb(d|0)}j=p+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[p>>2]|0}Hta(e);if(!g){a=d;f[ua>>2]=va;jb(a|0)}}while(0);bb(l|0);a=d;f[ua>>2]=va;jb(a|0)}x=0;ta(52,c|0,0,0)|0;oa=x;x=0;a:do if(!(oa&1)){v=c+168|0;f[g>>2]=f[v>>2];f[g+4>>2]=f[v+4>>2];f[g+8>>2]=f[v+8>>2];aa=c+76|0;d=f[aa>>2]|0;h=c+84|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];p=c+96|0;f[j>>2]=f[p>>2];f[j+4>>2]=f[p+4>>2];f[j+8>>2]=f[p+8>>2];oa=c+108|0;H=k;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;ta(52,c|0,1,0)|0;K=x;x=0;if(!(K&1)){x=0;e=ta(82,c|0,1,0)|0;K=x;x=0;if(!(K&1)){if(e|0){x=0;Ga(588,a|0,c|0);na=x;x=0;if(na&1)break;f[q>>2]=f[v>>2];f[q+4>>2]=f[v+4>>2];f[q+8>>2]=f[v+8>>2];e=f[aa>>2]|0;f[r>>2]=f[h>>2];f[r+4>>2]=f[h+4>>2];f[r+8>>2]=f[h+8>>2];f[s>>2]=f[p>>2];f[s+4>>2]=f[p+4>>2];f[s+8>>2]=f[p+8>>2];H=t;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;ta(52,c|0,1,0)|0;na=x;x=0;if(na&1)pa=38;else{x=0;d=ta(66,c|0,1,0)|0;na=x;x=0;if(na&1)pa=38;else{if(d|0){f[ua>>2]=va;u=sa;return}H=oa;J=t;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));f[v>>2]=f[q>>2];f[v+4>>2]=f[q+4>>2];f[v+8>>2]=f[q+8>>2];f[aa>>2]=e;f[p>>2]=f[s>>2];f[p+4>>2]=f[s+4>>2];f[p+8>>2]=f[s+8>>2];f[h>>2]=f[r>>2];f[h+4>>2]=f[r+4>>2];f[h+8>>2]=f[r+8>>2];f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;x=0;d=qa(318,32)|0;oa=x;x=0;if(oa&1)pa=38;else{f[C>>2]=d;f[C+8>>2]=-2147483616;f[C+4>>2]=20;H=d;J=44740;K=H+20|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));b[d+20>>0]=0;x=0;Ga(459,B|0,C|0);oa=x;x=0;do if(oa&1)d=Ya()|0;else{oa=c+108|0;x=0;f[ra>>2]=f[oa>>2];f[ra+4>>2]=f[oa+4>>2];f[ra+8>>2]=f[oa+8>>2];Ia(113,c|0,B|0,ra|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[B+11>>0]|0)>=0)break;Hta(f[B>>2]|0);break}if((b[B+11>>0]|0)<0)Hta(f[B>>2]|0);if((b[C+11>>0]|0)>=0){f[ua>>2]=va;u=sa;return}Hta(f[C>>2]|0);f[ua>>2]=va;u=sa;return}while(0);if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0)}}}if((pa|0)==38)d=Ya()|0;_P(a);a=d;f[ua>>2]=va;jb(a|0)}H=oa;J=k;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));f[v>>2]=f[g>>2];f[v+4>>2]=f[g+4>>2];f[v+8>>2]=f[g+8>>2];f[aa>>2]=d;f[p>>2]=f[j>>2];f[p+4>>2]=f[j+4>>2];f[p+8>>2]=f[j+8>>2];f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];f[l>>2]=f[v>>2];f[l+4>>2]=f[v+4>>2];f[l+8>>2]=f[v+8>>2];f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[n>>2]=f[p>>2];f[n+4>>2]=f[p+4>>2];f[n+8>>2]=f[p+8>>2];H=o;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;ta(52,c|0,1,0)|0;K=x;x=0;if(!(K&1)){x=0;e=ta(83,c|0,1,0)|0;K=x;x=0;if(!(K&1)){if(e|0){x=0;Ga(589,a|0,c|0);na=x;x=0;if(na&1)break;f[y>>2]=f[v>>2];f[y+4>>2]=f[v+4>>2];f[y+8>>2]=f[v+8>>2];e=f[aa>>2]|0;f[z>>2]=f[h>>2];f[z+4>>2]=f[h+4>>2];f[z+8>>2]=f[h+8>>2];f[A>>2]=f[p>>2];f[A+4>>2]=f[p+4>>2];f[A+8>>2]=f[p+8>>2];H=w;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;ta(52,c|0,1,0)|0;na=x;x=0;if(na&1)pa=59;else{x=0;d=ta(84,c|0,1,0)|0;na=x;x=0;if(na&1)pa=59;else{if(d|0){f[ua>>2]=va;u=sa;return}H=oa;J=w;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));f[v>>2]=f[y>>2];f[v+4>>2]=f[y+4>>2];f[v+8>>2]=f[y+8>>2];f[aa>>2]=e;f[p>>2]=f[A>>2];f[p+4>>2]=f[A+4>>2];f[p+8>>2]=f[A+8>>2];f[h>>2]=f[z>>2];f[h+4>>2]=f[z+4>>2];f[h+8>>2]=f[z+8>>2];f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;x=0;d=qa(318,32)|0;oa=x;x=0;if(oa&1)pa=59;else{f[F>>2]=d;f[F+8>>2]=-2147483616;f[F+4>>2]=24;H=d;J=44761;K=H+24|0;do{b[H>>0]=b[J>>0]|0;H=H+1|0;J=J+1|0}while((H|0)<(K|0));b[d+24>>0]=0;x=0;Ga(459,E|0,F|0);oa=x;x=0;do if(oa&1)d=Ya()|0;else{oa=c+108|0;x=0;f[ra>>2]=f[oa>>2];f[ra+4>>2]=f[oa+4>>2];f[ra+8>>2]=f[oa+8>>2];Ia(113,c|0,E|0,ra|0);c=x;x=0;if(c&1){d=Ya()|0;if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0);break}if((b[E+11>>0]|0)<0)Hta(f[E>>2]|0);if((b[F+11>>0]|0)>=0){f[ua>>2]=va;u=sa;return}Hta(f[F>>2]|0);f[ua>>2]=va;u=sa;return}while(0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0)}}}if((pa|0)==59)d=Ya()|0;_P(a);a=d;f[ua>>2]=va;jb(a|0)}H=oa;J=o;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));f[v>>2]=f[l>>2];f[v+4>>2]=f[l+4>>2];f[v+8>>2]=f[l+8>>2];f[aa>>2]=d;f[p>>2]=f[n>>2];f[p+4>>2]=f[n+4>>2];f[p+8>>2]=f[n+8>>2];f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];f[h+8>>2]=f[m+8>>2];x=0;e=qa(348,d|0)|0;K=x;x=0;if(!(K&1)){x=0;d=qa(367,(e|0?e:d)|0)|0;K=x;x=0;if(!(K&1)){g=c+80|0;if(!((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)){x=0;Ga(590,D|0,c|0);c=x;x=0;if(c&1)break;x=0;Ga(462,a|0,f[D+4>>2]|0);c=x;x=0;if(c&1){a=Ya()|0;_P(D);f[ua>>2]=va;jb(a|0)}else{f[a>>2]=7696;_P(D);f[ua>>2]=va;u=sa;return}}d=f[aa>>2]|0;x=0;e=qa(348,d|0)|0;K=x;x=0;if(!(K&1)){x=0;d=qa(368,(e|0?e:d)|0)|0;K=x;x=0;if(!(K&1)){if(!((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)){x=0;Ga(591,G|0,c|0);c=x;x=0;if(c&1)break;x=0;Ga(462,a|0,f[G+4>>2]|0);c=x;x=0;if(c&1){a=Ya()|0;_P(G);f[ua>>2]=va;jb(a|0)}else{f[a>>2]=7696;_P(G);f[ua>>2]=va;u=sa;return}}d=f[aa>>2]|0;x=0;e=qa(348,d|0)|0;K=x;x=0;if(!(K&1)){x=0;d=qa(369,(e|0?e:d)|0)|0;K=x;x=0;if(!(K&1)){if(d|0){K=(b[d>>0]|0)==40?d+1|0:0;if(!((K|0)==0?1:K>>>0>(f[g>>2]|0)>>>0)){x=0;Ga(592,L|0,c|0);c=x;x=0;if(c&1)break;x=0;Ga(462,a|0,f[L+4>>2]|0);c=x;x=0;if(c&1){a=Ya()|0;_P(L);f[ua>>2]=va;jb(a|0)}else{f[a>>2]=7696;_P(L);f[ua>>2]=va;u=sa;return}}}x=0;d=ta(85,c|0,1,0)|0;L=x;x=0;if(!(L&1)){if(d|0){x=0;Ga(593,M|0,c|0);c=x;x=0;if(c&1)break;x=0;Ga(462,a|0,f[M+4>>2]|0);c=x;x=0;if(c&1){a=Ya()|0;_P(M);f[ua>>2]=va;jb(a|0)}else{f[a>>2]=7696;_P(M);f[ua>>2]=va;u=sa;return}}x=0;d=ta(86,c|0,1,0)|0;M=x;x=0;if(M&1)break;if(d|0){x=0;Ga(594,ra|0,c|0);oa=x;x=0;if(oa&1)d=Ya()|0;else{g=ra+4|0;d=f[g>>2]|0;b:do if(!d)pa=104;else{if((f[327]|0)!=(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){pa=104;break}x=0;e=ta(82,c|0,1,0)|0;oa=x;x=0;do if(!(oa&1)){if(!e){pa=104;break b}d=d+60|0;e=f[(f[d>>2]|0)+20>>2]|0;x=0;Ia(114,N|0,c|0,0);oa=x;x=0;if(oa&1)break;x=0;Ga(e|0,d|0,N|0);oa=x;x=0;if(oa&1){d=Ya()|0;_P(N);break b}else{_P(N);x=0;ta(66,c|0,1,0)|0;c=x;x=0;if(c&1)break;else{pa=104;break b}}}while(0);d=Ya()|0}while(0);do if((pa|0)==104){x=0;Ga(462,O|0,f[g>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[O>>2]=7904;x=0;Ga(462,a|0,f[O+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;_P(O);break}f[a>>2]=7696;_P(O);_P(ra);f[ua>>2]=va;u=sa;return}while(0);_P(ra)}a=d;f[ua>>2]=va;jb(a|0)}d=f[aa>>2]|0;x=0;e=qa(348,d|0)|0;O=x;x=0;if(O&1)break;x=0;d=qa(370,(e|0?e:d)|0)|0;O=x;x=0;if(O&1)break;do if(d|0){x=0;d=qa(371,d|0)|0;O=x;x=0;if(O&1)break a;if(!d)break;x=0;d=qa(372,d|0)|0;O=x;x=0;if(O&1)break a;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)break;x=0;Ga(595,P|0,c|0);c=x;x=0;if(c&1)break a;x=0;Ga(462,a|0,f[P+4>>2]|0);c=x;x=0;if(c&1){a=Ya()|0;_P(P);f[ua>>2]=va;jb(a|0)}else{f[a>>2]=7696;_P(P);f[ua>>2]=va;u=sa;return}}while(0);d=f[aa>>2]|0;x=0;e=qa(348,d|0)|0;P=x;x=0;if(P&1)break;x=0;d=qa(373,(e|0?e:d)|0)|0;P=x;x=0;if(P&1)break;if(!((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)){x=0;Ga(596,Q|0,c|0);c=x;x=0;if(c&1)break;x=0;Ga(462,a|0,f[Q+4>>2]|0);c=x;x=0;if(c&1){a=Ya()|0;_P(Q);f[ua>>2]=va;jb(a|0)}else{f[a>>2]=7696;_P(Q);f[ua>>2]=va;u=sa;return}}x=0;d=ta(56,c|0,1,0)|0;Q=x;x=0;if(Q&1)break;if(d|0){x=0;g=qa(318,76)|0;ra=x;x=0;c:do if(!(ra&1)){H=R;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Ga(587,Y|0,c|0);c=x;x=0;if(c&1)d=Ya()|0;else{H=S;J=R;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Fa(427,g|0);c=x;x=0;do if(c&1)d=Ya()|0;else{H=g+12|0;J=S;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));e=g+52|0;b[e>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=9992;f[g+60>>2]=0;d=g+64|0;x=0;Ga(462,d|0,f[Y+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[d>>2]=7696;f[g+72>>2]=0;_P(Y);d=g+68|0;x=0;Ga(462,Z|0,f[d>>2]|0);c=x;x=0;if(c&1)break c;f[Z>>2]=7696;c=(f[Z+4>>2]|0)==0;_P(Z);if(!c){x=0;Ga(462,_|0,f[d>>2]|0);c=x;x=0;if(c&1)break c;f[_>>2]=7696;b[e>>0]=b[(f[_+4>>2]|0)+52>>0]|0;_P(_)}x=0;Ga(462,a|0,g|0);c=x;x=0;if(c&1)break c;f[a>>2]=7696;f[ua>>2]=va;u=sa;return}while(0);_P(Y)}Hta(g);a=d;f[ua>>2]=va;jb(a|0)}while(0);a=Ya()|0;f[ua>>2]=va;jb(a|0)}x=0;d=ta(87,c|0,1,0)|0;_=x;x=0;if(_&1)break;if(d|0){x=0;g=qa(318,76)|0;ra=x;x=0;d:do if(!(ra&1)){H=U;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Ga(587,ba|0,c|0);c=x;x=0;if(c&1)d=Ya()|0;else{H=T;J=U;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Fa(427,g|0);c=x;x=0;do if(c&1)d=Ya()|0;else{H=g+12|0;J=T;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));e=g+52|0;b[e>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=9992;f[g+60>>2]=1;d=g+64|0;x=0;Ga(462,d|0,f[ba+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[d>>2]=7696;f[g+72>>2]=0;_P(ba);d=g+68|0;x=0;Ga(462,ca|0,f[d>>2]|0);c=x;x=0;if(c&1)break d;f[ca>>2]=7696;c=(f[ca+4>>2]|0)==0;_P(ca);if(!c){x=0;Ga(462,da|0,f[d>>2]|0);c=x;x=0;if(c&1)break d;f[da>>2]=7696;b[e>>0]=b[(f[da+4>>2]|0)+52>>0]|0;_P(da)}x=0;Ga(462,a|0,g|0);c=x;x=0;if(c&1)break d;f[a>>2]=7696;f[ua>>2]=va;u=sa;return}while(0);_P(ba)}Hta(g);a=d;f[ua>>2]=va;jb(a|0)}while(0);a=Ya()|0;f[ua>>2]=va;jb(a|0)}x=0;d=ta(61,c|0,1,0)|0;da=x;x=0;if(da&1)break;if(d|0){x=0;g=qa(318,76)|0;ra=x;x=0;e:do if(!(ra&1)){H=W;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Ga(587,ea|0,c|0);c=x;x=0;if(c&1)d=Ya()|0;else{H=V;J=W;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Fa(427,g|0);c=x;x=0;do if(c&1)d=Ya()|0;else{H=g+12|0;J=V;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));e=g+52|0;b[e>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=9992;f[g+60>>2]=3;d=g+64|0;x=0;Ga(462,d|0,f[ea+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[d>>2]=7696;f[g+72>>2]=0;_P(ea);d=g+68|0;x=0;Ga(462,fa|0,f[d>>2]|0);c=x;x=0;if(c&1)break e;f[fa>>2]=7696;c=(f[fa+4>>2]|0)==0;_P(fa);if(!c){x=0;Ga(462,ga|0,f[d>>2]|0);c=x;x=0;if(c&1)break e;f[ga>>2]=7696;b[e>>0]=b[(f[ga+4>>2]|0)+52>>0]|0;_P(ga)}x=0;Ga(462,a|0,g|0);c=x;x=0;if(c&1)break e;f[a>>2]=7696;f[ua>>2]=va;u=sa;return}while(0);_P(ea)}Hta(g);a=d;f[ua>>2]=va;jb(a|0)}while(0);a=Ya()|0;f[ua>>2]=va;jb(a|0)}x=0;d=ta(88,c|0,1,0)|0;ga=x;x=0;if(ga&1)break;if(d|0){x=0;g=qa(318,76)|0;ra=x;x=0;f:do if(!(ra&1)){H=$;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Ga(587,ha|0,c|0);c=x;x=0;if(c&1)d=Ya()|0;else{H=X;J=$;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Fa(427,g|0);c=x;x=0;do if(c&1)d=Ya()|0;else{H=g+12|0;J=X;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));e=g+52|0;b[e>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=9992;f[g+60>>2]=2;d=g+64|0;x=0;Ga(462,d|0,f[ha+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[d>>2]=7696;f[g+72>>2]=0;_P(ha);d=g+68|0;x=0;Ga(462,ia|0,f[d>>2]|0);c=x;x=0;if(c&1)break f;f[ia>>2]=7696;c=(f[ia+4>>2]|0)==0;_P(ia);if(!c){x=0;Ga(462,ja|0,f[d>>2]|0);c=x;x=0;if(c&1)break f;f[ja>>2]=7696;b[e>>0]=b[(f[ja+4>>2]|0)+52>>0]|0;_P(ja)}x=0;Ga(462,a|0,g|0);c=x;x=0;if(c&1)break f;f[a>>2]=7696;f[ua>>2]=va;u=sa;return}while(0);_P(ha)}Hta(g);a=d;f[ua>>2]=va;jb(a|0)}while(0);a=Ya()|0;f[ua>>2]=va;jb(a|0)}d=f[aa>>2]|0;x=0;e=qa(348,d|0)|0;ja=x;x=0;if(ja&1)break;e=e|0?e:d;x=0;d=qa(374,e|0)|0;ja=x;x=0;if(ja&1)break;if(!d){ja=b[e>>0]|0;d=e+1|0;ja=ja<<24>>24|0;d=(ja|0)!=45?((ja|0)==43?d:0):d;if(d|0)pa=205}else pa=205;do if((pa|0)==205){while(1){x=0;e=qa(374,d|0)|0;pa=x;x=0;if(pa&1)break a;if(e|0){d=e;pa=205;continue}pa=b[d>>0]|0;e=d+1|0;pa=pa<<24>>24|0;e=(pa|0)!=45?((pa|0)==43?e:0):e;if(!e)break;else{d=e;pa=205}}x=0;d=qa(375,d|0)|0;pa=x;x=0;if(pa&1)break a;if((d|0)==0?1:d>>>0>(f[g>>2]|0)>>>0)break;else e=1;while(1){while(1){x=0;d=ta(55,c|0,1,0)|0;pa=x;x=0;if(pa&1)break a;if(d|0)continue;x=0;d=ta(89,c|0,1,0)|0;pa=x;x=0;if(pa&1)break a;if(!d)break}x=0;d=ta(87,c|0,1,0)|0;pa=x;x=0;if(pa&1)break a;if(!d)break;else e=e^1}if(e){x=0;Ga(597,a|0,c|0);a=x;x=0;if(a&1)break a;f[ua>>2]=va;u=sa;return}x=0;g=qa(318,76)|0;pa=x;x=0;g:do if(!(pa&1)){H=ka;J=oa;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Ga(597,la|0,c|0);c=x;x=0;if(c&1)d=Ya()|0;else{H=ra;J=ka;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));x=0;Fa(427,g|0);c=x;x=0;do if(c&1)d=Ya()|0;else{H=g+12|0;J=ra;K=H+40|0;do{f[H>>2]=f[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));e=g+52|0;b[e>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g+56>>2]=0;f[g>>2]=9992;f[g+60>>2]=1;d=g+64|0;x=0;Ga(462,d|0,f[la+4>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[d>>2]=7696;f[g+72>>2]=0;_P(la);d=g+68|0;x=0;Ga(462,ma|0,f[d>>2]|0);c=x;x=0;if(c&1)break g;f[ma>>2]=7696;c=(f[ma+4>>2]|0)==0;_P(ma);if(!c){x=0;Ga(462,na|0,f[d>>2]|0);c=x;x=0;if(c&1)break g;f[na>>2]=7696;b[e>>0]=b[(f[na+4>>2]|0)+52>>0]|0;_P(na)}x=0;Ga(462,a|0,g|0);c=x;x=0;if(c&1)break g;f[a>>2]=7696;f[ua>>2]=va;u=sa;return}while(0);_P(la)}Hta(g);a=d;f[ua>>2]=va;jb(a|0)}while(0);a=Ya()|0;f[ua>>2]=va;jb(a|0)}while(0);x=0;Ga(597,a|0,c|0);a=x;x=0;if(a&1)break;f[ua>>2]=va;u=sa;return}}}}}}}}}}}}while(0);a=Ya()|0;f[ua>>2]=va;jb(a|0)}function id(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;_=0;U=u;u=u+608|0;V=U+56|0;X=U+16|0;m=U+596|0;ea=U+528|0;g=U+584|0;e=U+544|0;da=U+520|0;ca=U+512|0;ba=U+496|0;h=U+504|0;j=U+480|0;i=U+440|0;aa=U+432|0;k=U+400|0;$=U+424|0;Z=U+408|0;n=U+360|0;v=U+348|0;Y=U+328|0;w=U+320|0;W=U+312|0;y=U+272|0;K=U;A=U+264|0;z=U+256|0;F=U+248|0;G=U+228|0;D=U+216|0;C=U+208|0;B=U+200|0;J=U+160|0;N=U+144|0;L=U+136|0;S=U+240|0;M=U+128|0;R=U+120|0;Q=U+112|0;T=a+48|0;d=f[T>>2]|0;if(d>>>0>500){l=Ta(88)|0;x=0;Ga(511,m|0,f[a+8>>2]|0);ea=x;x=0;do if(ea&1)d=Ya()|0;else{x=0;Ia(138,l|0,m|0,c|0);ea=x;x=0;if(ea&1)k=1;else{x=0;Ia(77,l|0,3984,181);x=0;k=0}d=Ya()|0;i=I;e=f[m>>2]|0;if(!e){if(k)break;jb(d|0)}j=m+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[m>>2]|0}Hta(e);if(!k){ea=d;jb(ea|0)}}while(0);bb(l|0);ea=d;jb(ea|0)}f[T>>2]=d+1;m=a+56|0;P=a+60|0;d=f[P>>2]|0;if((d|0)==(f[m>>2]|0))O=0;else O=f[d+-4>>2]|0;E=c+72|0;jB(ea,E,48337);x=0;d=sa(1009,O|0,ea|0)|0;H=x;x=0;a:do if(H&1)_=23;else{do if(!d){x=0;Ia(92,g|0,48341,E|0);H=x;x=0;if(H&1){_=23;break a}o=e;p=c+12|0;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));d=f[a+8>>2]|0;x=0;o=V;p=e;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ia(100,g|0,V|0,d|0);H=x;x=0;if(H&1){d=Ya()|0;if((b[g+11>>0]|0)>=0)break a;Hta(f[g>>2]|0);break a}else{if((b[g+11>>0]|0)>=0)break;Hta(f[g>>2]|0);break}}while(0);x=0;d=sa(992,O|0,ea|0)|0;H=x;x=0;if(H&1)_=48;else{d=f[d+4>>2]|0;if(!d)d=0;else d=(f[215]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,da|0,d|0);H=x;x=0;if(H&1)_=48;else{f[da>>2]=10712;l=da+4|0;x=0;Ga(462,ca|0,f[(f[l>>2]|0)+68>>2]|0);H=x;x=0;if(H&1)d=Ya()|0;else{f[ca>>2]=7280;x=0;Ga(462,ba|0,f[(f[l>>2]|0)+88>>2]|0);H=x;x=0;if(H&1)d=Ya()|0;else{f[ba>>2]=9264;t=c+68|0;x=0;Ga(462,h|0,f[t>>2]|0);H=x;x=0;b:do if(H&1)d=Ya()|0;else{f[h>>2]=7280;c:do if(!(f[h+4>>2]|0))_P(h);else{H=b[E+11>>0]|0;do if(((H<<24>>24<0?f[c+76>>2]|0:H&255)|0)==8){x=0;d=wa(21,E|0,0,-1,52219,8)|0;H=x;x=0;if(H&1){H=Za(0)|0;soa(H)}if(d|0)break;_P(h);break c}while(0);d=f[ca+4>>2]|0;x=0;d=qa(f[(f[d>>2]|0)+84>>2]|0,d|0)|0;H=x;x=0;if(H&1){d=Ya()|0;_P(h);break b}_P(h);if(!d){x=0;Ia(92,X|0,48357,E|0);H=x;x=0;do if(H&1)d=Ya()|0;else{x=0;d=sa(991,X|0,48365)|0;H=x;x=0;do if(H&1)d=Ya()|0;else{f[j>>2]=f[d>>2];f[j+4>>2]=f[d+4>>2];f[j+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;o=i;p=c+12|0;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));d=f[a+8>>2]|0;x=0;o=V;p=i;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ia(100,j|0,V|0,d|0);H=x;x=0;if(H&1){d=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[X+11>>0]|0)<0)Hta(f[X>>2]|0);break c}while(0);if((b[X+11>>0]|0)>=0)break;Hta(f[X>>2]|0)}while(0);break b}}while(0);x=0;Ga(462,k|0,f[c+88>>2]|0);H=x;x=0;d:do if(H&1)d=Ya()|0;else{f[k>>2]=9376;d=f[k+4>>2]|0;r=a+12|0;x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,r|0)|0;H=x;x=0;do if(!(H&1)){x=0;Ga(462,aa|0,d|0);H=x;x=0;if(H&1)break;f[aa>>2]=7696;_P(k);d=f[aa+4>>2]|0;if(!d)d=0;else d=(f[275]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,$|0,d|0);H=x;x=0;if(H&1)d=Ya()|0;else{f[$>>2]=9376;x=0;Ia(92,V|0,48400,E|0);H=x;x=0;do if(H&1){d=Ya()|0;_=127}else{x=0;d=sa(991,V|0,48413)|0;H=x;x=0;if(H&1){d=Ya()|0;if((b[V+11>>0]|0)>=0){_=127;break}Hta(f[V>>2]|0);_=127;break}f[Z>>2]=f[d>>2];f[Z+4>>2]=f[d+4>>2];f[Z+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);H=a+8|0;g=f[H>>2]|0;s=c+12|0;o=n;p=s;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(459,v|0,Z|0);q=x;x=0;e:do if(q&1){d=Ya()|0;_=134}else{o=V;p=n;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));h=V+40|0;x=0;Ga(459,h|0,v|0);q=x;x=0;f:do if(q&1)d=Ya()|0;else{d=g+4|0;e=f[d>>2]|0;do if(e>>>0<(f[g+8>>2]|0)>>>0){o=e;p=V;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));q=e+40|0;f[q>>2]=f[h>>2];f[q+4>>2]=f[h+4>>2];f[q+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[d>>2]=(f[d>>2]|0)+52}else{x=0;Ga(510,g|0,V|0);q=x;x=0;if(!(q&1))break;d=Ya()|0;if((b[h+11>>0]|0)>=0)break f;Hta(f[h>>2]|0);break f}while(0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);v=a+4|0;g=f[v>>2]|0;if((b[E+11>>0]|0)<0)d=f[E>>2]|0;else d=E;f[V>>2]=d;f[V+4>>2]=f[c+24>>2];f[V+8>>2]=(f[c+12>>2]|0)+1;f[V+12>>2]=(f[c+16>>2]|0)+1;f[V+16>>2]=0;f[V+20>>2]=O;d=g+292|0;e=f[d>>2]|0;do if(e>>>0<(f[g+296>>2]|0)>>>0){f[e>>2]=f[V>>2];f[e+4>>2]=f[V+4>>2];f[e+8>>2]=f[V+8>>2];f[e+12>>2]=f[V+12>>2];f[e+16>>2]=f[V+16>>2];f[e+20>>2]=f[V+20>>2];f[d>>2]=(f[d>>2]|0)+24}else{x=0;Ga(645,g+288|0,V|0);c=x;x=0;if(!(c&1))break;d=Ya()|0;break e}while(0);x=0;Ia(132,Y|0,f[(f[l>>2]|0)+92>>2]|0,0);c=x;x=0;if(c&1)d=Ya()|0;else{f[V>>2]=Y;d=f[P>>2]|0;do if(d>>>0<(f[a+64>>2]|0)>>>0){f[d>>2]=Y;f[P>>2]=(f[P>>2]|0)+4;_=91}else{x=0;Ga(646,m|0,V|0);c=x;x=0;if(!(c&1)){_=91;break}d=Ya()|0}while(0);g:do if((_|0)==91){x=0;Ga(462,w|0,f[t>>2]|0);c=x;x=0;if(c&1){d=Ya()|0;break}f[w>>2]=7280;c=(f[w+4>>2]|0)==0;_P(w);h:do if(!c){x=0;l=qa(318,120)|0;w=x;x=0;i:do if(w&1)d=Ya()|0;else{o=y;p=s;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;m=K+11|0;b[m>>0]=8;k=K;f[k>>2]=1852793664;f[k+4>>2]=1953391988;b[K+8>>0]=0;x=0;k=qa(318,76)|0;w=x;x=0;j:do if(w&1)_=140;else{o=X;p=s;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Fa(427,k|0);w=x;x=0;do if(w&1)d=Ya()|0;else{f[k>>2]=6696;o=k+12|0;p=X;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));d=k+52|0;f[d>>2]=13504;i=k+56|0;j=k+60|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(567,i|0,0);w=x;x=0;if(w&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{X=g+-8|0;f[j>>2]=X;Kc[f[f[X>>2]>>2]&511](X);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=13360;f[d>>2]=13448;b[k+72>>0]=0;b[k+73>>0]=0;x=0;Ga(462,A|0,k|0);w=x;x=0;if(w&1){_=140;break j}f[A>>2]=9264;x=0;Ga(462,z|0,f[t>>2]|0);w=x;x=0;if(w&1){d=Ya()|0;e=1}else{f[z>>2]=7280;x=0;o=V;p=y;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));La(15,l|0,V|0,K|0,A|0,z|0,0);y=x;x=0;do if(y&1)d=1;else{x=0;Ga(462,W|0,l|0);y=x;x=0;if(y&1){d=0;break}f[W>>2]=10712;_P(z);_P(A);if((b[m>>0]|0)<0)Hta(f[K>>2]|0);K=f[W+4>>2]|0;f[K+92>>2]=O;x=0;Ga(462,F|0,K|0);K=x;x=0;if(K&1)d=Ya()|0;else{f[F>>2]=10712;x=0;Ga(462,V|0,f[F+4>>2]|0);K=x;x=0;if(K&1)d=Ya()|0;else{f[V>>2]=6664;x=0;d=qa(342,Y|0)|0;K=x;x=0;if(K&1)d=Ya()|0;else{f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;x=0;e=qa(318,16)|0;K=x;x=0;do if(K&1)d=Ya()|0;else{f[X>>2]=e;f[X+8>>2]=-2147483632;f[X+4>>2]=11;o=e;p=48415;q=o+11|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[e+11>>0]=0;x=0;d=sa(1042,d|0,X|0)|0;K=x;x=0;do if(!(K&1)){if((d|0)!=(V|0)){e=d+4|0;if(f[e>>2]|0){x=0;Fa(429,d|0);K=x;x=0;if(K&1)break}K=V+4|0;f[e>>2]=f[K>>2];f[K>>2]=0}if((b[X+11>>0]|0)<0)Hta(f[X>>2]|0);_P(V);_P(F);_P(W);break h}while(0);d=Ya()|0;if((b[X+11>>0]|0)>=0)break;Hta(f[X>>2]|0)}while(0)}_P(V)}_P(F)}_P(W);break i}while(0);X=Ya()|0;_P(z);e=d;d=X}_P(A);break j}while(0);Hta(k);e=1}while(0);if((_|0)==140){d=Ya()|0;e=1}if((b[m>>0]|0)<0){Hta(f[K>>2]|0);if(!e)break}else if(!e)break;Hta(l)}while(0);break g}while(0);f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;e=G+11|0;b[e>>0]=5;b[G>>0]=b[48427]|0;b[G+1>>0]=b[48428]|0;b[G+2>>0]=b[48429]|0;b[G+3>>0]=b[48430]|0;b[G+4>>0]=b[48431]|0;b[G+5>>0]=0;x=0;Ga(459,D|0,E|0);K=x;x=0;do if(K&1)d=Ya()|0;else{x=0;Ga(462,C|0,f[ba+4>>2]|0);K=x;x=0;if(K&1)d=Ya()|0;else{f[C>>2]=9264;x=0;Ga(462,B|0,f[$+4>>2]|0);K=x;x=0;do if(K&1)d=Ya()|0;else{f[B>>2]=9376;x=0;Ma(8,G|0,D|0,C|0,B|0,f[v>>2]|0,Y|0,r|0);K=x;x=0;if(K&1){d=Ya()|0;_P(B);break}_P(B);_P(C);if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);if((b[e>>0]|0)<0)Hta(f[G>>2]|0);x=0;k=qa(318,88)|0;K=x;x=0;k:do if(K&1)_=204;else{o=V;p=s;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Fa(427,k|0);K=x;x=0;do if(K&1)d=Ya()|0;else{o=k+12|0;p=V;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));f[k>>2]=6976;f[k+52>>2]=0;f[k+56>>2]=0;b[k+60>>0]=0;d=k+64|0;f[d>>2]=6936;i=k+68|0;j=k+72|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(568,i|0,0);K=x;x=0;if(K&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{X=g+-8|0;f[j>>2]=X;Kc[f[f[X>>2]>>2]&511](X);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[k>>2]=6780;f[d>>2]=6880;b[k+84>>0]=0;x=0;Ga(462,X|0,k|0);K=x;x=0;if(K&1){_=204;break k}f[X>>2]=7280;x=0;h=qa(318,88)|0;K=x;x=0;l:do if(K&1)d=Ya()|0;else{o=J;p=s;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Ga(459,N|0,E|0);K=x;x=0;do if(K&1)d=Ya()|0;else{g=X+4|0;x=0;Ga(462,L|0,f[g>>2]|0);K=x;x=0;if(K&1){d=Ya()|0;e=1}else{f[L>>2]=7280;x=0;o=V;p=J;q=o+40|0;do{f[o>>2]=f[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Ka(14,h|0,V|0,N|0,L|0,109);K=x;x=0;do if(K&1)e=1;else{x=0;Ga(462,W|0,h|0);K=x;x=0;if(K&1){e=0;break}f[W>>2]=18e3;_P(L);if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;x=0;d=qa(318,16)|0;N=x;x=0;m:do if(N&1){d=Ya()|0;_=222}else{f[V>>2]=d;f[V+8>>2]=-2147483632;f[V+4>>2]=11;o=d;p=48433;q=o+11|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[d+11>>0]=0;x=0;Ga(462,M|0,f[a+120>>2]|0);N=x;x=0;if(N&1)d=Ya()|0;else{f[M>>2]=16864;x=0;Ga(462,S|0,f[M+4>>2]|0);N=x;x=0;do if(N&1)d=Ya()|0;else{f[S>>2]=6664;x=0;Ia(127,O|0,V|0,S|0);N=x;x=0;if(N&1){d=Ya()|0;_P(S);break}_P(S);_P(M);if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);n=a+72|0;e=f[n>>2]|0;d=f[e+-4>>2]|0;if(!d){m=g;d=f[g>>2]|0}else{N=f[g>>2]|0;b[N+84>>0]=b[d+84>>0]|0;m=g;d=N}f[V>>2]=d;do if(e>>>0<(f[a+76>>2]|0)>>>0){f[e>>2]=d;f[n>>2]=(f[n>>2]|0)+4}else{x=0;Ga(655,a+68|0,V|0);N=x;x=0;if(!(N&1))break;d=Ya()|0;break m}while(0);h=f[ca+4>>2]|0;d=f[h+68>>2]|0;h=f[h+72>>2]|0;n:do if((d|0)!=(h|0)){i=V+4|0;j=S+4|0;k=W+4|0;l=R+4|0;while(1){x=0;Ga(462,V|0,f[d+4>>2]|0);N=x;x=0;if(N&1){_=235;break}f[V>>2]=6920;g=f[i>>2]|0;do if(!g)e=0;else{e=f[g>>2]|0;if((f[101]|0)!=(f[(f[e+-4>>2]|0)+4>>2]|0))break;b[g+80>>0]=b[(f[m>>2]|0)+84>>0]|0}while(0);x=0;e=sa(f[e+52>>2]|0,g|0,a|0)|0;N=x;x=0;if(N&1){_=243;break}x=0;Ga(462,S|0,e|0);N=x;x=0;if(N&1){_=243;break}f[S>>2]=6920;if(f[j>>2]|0){x=0;Ga(462,R|0,f[(f[k>>2]|0)+68>>2]|0);N=x;x=0;if(N&1){_=244;break}f[R>>2]=7280;e=(f[l>>2]|0)+64|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,Q|0,f[j>>2]|0);N=x;x=0;if(N&1){_=245;break}f[Q>>2]=6920;x=0;Ga(g|0,e|0,Q|0);N=x;x=0;if(N&1){_=246;break}_P(Q);_P(R)}_P(S);_P(V);d=d+8|0;if((d|0)==(h|0))break n}if((_|0)==235)d=Ya()|0;else if((_|0)==243){d=Ya()|0;_=250}else if((_|0)==244){d=Ya()|0;_=249}else if((_|0)==245){d=Ya()|0;_=247}else if((_|0)==246){d=Ya()|0;_P(Q);_=247}if((_|0)==247){_P(R);_=249}if((_|0)==249){_P(S);_=250}if((_|0)==250)_P(V);break m}while(0);f[n>>2]=(f[n>>2]|0)+-4;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;x=0;d=qa(318,16)|0;S=x;x=0;do if(S&1)d=Ya()|0;else{f[V>>2]=d;f[V+8>>2]=-2147483632;f[V+4>>2]=11;o=d;p=48433;q=o+11|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[d+11>>0]=0;x=0;Ga(659,O|0,V|0);S=x;x=0;if(S&1){d=Ya()|0;if((b[V+11>>0]|0)>=0)break;Hta(f[V>>2]|0);break}if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);g=(f[v>>2]|0)+292|0;f[g>>2]=(f[g>>2]|0)+-24;f[P>>2]=(f[P>>2]|0)+-4;g=(f[H>>2]|0)+4|0;e=f[g>>2]|0;h=e+-52|0;while(1){d=e+-52|0;f[g>>2]=d;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);d=f[g>>2]|0}if((d|0)==(h|0))break;else e=d}f[T>>2]=(f[T>>2]|0)+-1;d=f[W+4>>2]|0;if(!d)d=0;else b[d+8>>0]=1;_P(W);_P(X);rE(Y,f[Y+4>>2]|0);if((b[Z+11>>0]|0)<0)Hta(f[Z>>2]|0);_P($);_P(aa);_P(ba);_P(ca);_P(da);if((b[ea+11>>0]|0)>=0){u=U;return d|0}Hta(f[ea>>2]|0);u=U;return d|0}while(0);break m}while(0);_P(M)}if((b[V+11>>0]|0)>=0){_=222;break}Hta(f[V>>2]|0);_=222}while(0);_P(W);break l}while(0);d=Ya()|0;_P(L)}if((b[N+11>>0]|0)<0){Hta(f[N>>2]|0);if(e)break;else break l}else if(e)break;else break l}while(0);Hta(h)}while(0);_P(X);break k}while(0);Hta(k)}while(0);if((_|0)==204)d=Ya()|0;break g}while(0);_P(C)}if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0)}while(0);if((b[e>>0]|0)>=0)break;Hta(f[G>>2]|0)}while(0);rE(Y,f[Y+4>>2]|0)}break e}while(0);if((b[v+11>>0]|0)>=0){_=134;break}Hta(f[v>>2]|0);_=134}while(0);if((b[Z+11>>0]|0)>=0)break;Hta(f[Z>>2]|0)}while(0);_P($)}_P(aa);break d}while(0);d=Ya()|0;_P(k)}while(0)}while(0);_P(ba)}_P(ca)}_P(da)}}if((_|0)==48)d=Ya()|0}while(0);if((_|0)==23)d=Ya()|0;if((b[ea+11>>0]|0)<0)Hta(f[ea>>2]|0);ea=d;jb(ea|0);return 0}function jd(a,b){a=a|0;b=b|0;if((ec|0)!=2){f[fc+8>>2]=a;f[fc+16>>2]=b;if((ec|0)==1)ec=3}Vc(hc+13424|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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;m=0;R=u;u=u+336|0;S=R+120|0;U=R+80|0;W=R+40|0;T=R;_=R+312|0;Z=R+304|0;g=R+296|0;Y=R+288|0;X=R+280|0;h=R+272|0;l=R+264|0;V=R+208|0;v=R+256|0;C=R+248|0;G=R+184|0;w=R+240|0;y=R+232|0;D=R+224|0;E=R+216|0;F=R+200|0;K=R+192|0;L=R+176|0;M=R+168|0;N=R+160|0;hz(_,c+72|0);x=0;Ga(462,g|0,f[c+88>>2]|0);Q=x;x=0;do if(Q&1)c=Ya()|0;else{f[g>>2]=7696;e=f[g+4>>2]|0;Q=a+12|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,Q|0)|0;P=x;x=0;if(!(P&1)){x=0;Ga(462,Z|0,e|0);P=x;x=0;if(!(P&1)){f[Z>>2]=7696;_P(g);x=0;Ga(462,Y|0,0);P=x;x=0;if(P&1)e=Ya()|0;else{f[Y>>2]=7584;x=0;Ga(462,X|0,0);P=x;x=0;if(P&1)e=Ya()|0;else{f[X>>2]=16784;H=Z+4|0;g=f[H>>2]|0;e=f[g+56>>2]|0;a:do if((e|0)==6){if(!g)e=0;else e=(f[249]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;x=0;Ga(462,S|0,e|0);P=x;x=0;do if(P&1)e=Ya()|0;else{f[S>>2]=16784;e=X+4|0;if(f[e>>2]|0){x=0;Fa(429,X|0);P=x;x=0;if(P&1){e=Ya()|0;_P(S);break}}m=S+4|0;f[e>>2]=f[m>>2];f[m>>2]=0;_P(S);m=68;break a}while(0)}else{if(g|0)if((f[517]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;Fa(443,S|0);P=x;x=0;if(P&1)e=Ya()|0;else{x=0;e=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,S|0)|0;P=x;x=0;if(P&1)m=32;else{x=0;Ga(462,U|0,e|0);P=x;x=0;if(P&1)m=32;else{f[U>>2]=7696;x=0;e=qa(340,f[U+4>>2]|0)|0;P=x;x=0;b:do if(P&1)m=33;else{x=0;Ga(462,W|0,e|0);P=x;x=0;if(P&1){m=33;break}f[W>>2]=7584;e=Y+4|0;do if(f[e>>2]|0){x=0;Fa(429,Y|0);P=x;x=0;if(!(P&1))break;e=Ya()|0;_P(W);break b}while(0);m=W+4|0;f[e>>2]=f[m>>2];f[m>>2]=0;_P(W);_P(U);m=68;break a}while(0);if((m|0)==33)e=Ya()|0;_P(U)}}if((m|0)==32)e=Ya()|0}break}if((e|0)==5){x=0;e=qa(340,g|0)|0;P=x;x=0;do if(P&1)m=65;else{x=0;Ga(462,S|0,e|0);P=x;x=0;if(P&1)m=65;else{f[S>>2]=7584;e=Y+4|0;if(f[e>>2]|0){x=0;Fa(429,Y|0);P=x;x=0;if(P&1){e=Ya()|0;_P(S);break}}m=S+4|0;f[e>>2]=f[m>>2];f[m>>2]=0;_P(S);m=68;break a}}while(0);if((m|0)==65)e=Ya()|0;break}x=0;k=qa(318,88)|0;P=x;x=0;c:do if(P&1)m=54;else{B=W;z=g+12|0;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));x=0;Fa(427,k|0);P=x;x=0;do if(P&1)e=Ya()|0;else{B=k+12|0;z=W;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;e=k+56|0;f[e>>2]=0;f[k>>2]=6516;g=k+60|0;f[g>>2]=9660;i=k+64|0;j=k+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,1);P=x;x=0;if(P&1){e=Ya()|0;c=I;g=f[i>>2]|0;if(g|0){h=f[j>>2]|0;if((h|0)!=(g|0)){do{W=h+-8|0;f[j>>2]=W;Kc[f[f[W>>2]>>2]&511](W);h=f[j>>2]|0}while((h|0)!=(g|0));g=f[i>>2]|0}Hta(g)}break}f[k>>2]=9488;f[g>>2]=9620;P=k+80|0;f[P>>2]=0;d[P+4>>1]=0;b[P+6>>0]=0;f[e>>2]=5;x=0;Ga(462,S|0,k|0);P=x;x=0;if(P&1){m=54;break c}f[S>>2]=7584;e=Y+4|0;do if(f[e>>2]|0){x=0;Fa(429,Y|0);P=x;x=0;if(!(P&1))break;e=Ya()|0;_P(S);break c}while(0);g=S+4|0;f[e>>2]=f[g>>2];f[g>>2]=0;_P(S);e=(f[e>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,h|0,f[H>>2]|0);P=x;x=0;if(P&1){e=Ya()|0;break a}f[h>>2]=7696;x=0;Ga(g|0,e|0,h|0);P=x;x=0;if(P&1){e=Ya()|0;_P(h);break a}else{_P(h);m=68;break a}}while(0);Hta(k)}while(0);if((m|0)==54)e=Ya()|0}while(0);if((m|0)==68){g=a+56|0;P=a+60|0;e=f[P>>2]|0;if((e|0)==(f[g>>2]|0))e=0;else e=f[e+-4>>2]|0;x=0;Ia(132,W|0,e|0,1);O=x;x=0;if(O&1)e=Ya()|0;else{f[S>>2]=W;e=f[P>>2]|0;if(e>>>0<(f[a+64>>2]|0)>>>0){f[e>>2]=W;f[P>>2]=(f[P>>2]|0)+4;m=74}else{x=0;Ga(646,g|0,S|0);O=x;x=0;if(O&1)e=Ya()|0;else m=74}d:do if((m|0)==74){e=a+80|0;x=0;Ga(462,S|0,c|0);O=x;x=0;do if(O&1)e=Ya()|0;else{f[S>>2]=6664;O=a+84|0;g=f[O>>2]|0;do if(g>>>0<(f[a+88>>2]|0)>>>0){x=0;Ga(462,g|0,f[S+4>>2]|0);J=x;x=0;if(J&1){m=86;break}f[g>>2]=6664;f[O>>2]=(f[O>>2]|0)+8}else{x=0;Ga(657,e|0,S|0);J=x;x=0;if(J&1)m=86}while(0);if((m|0)==86){e=Ya()|0;_P(S);break}_P(S);x=0;Ga(462,l|0,f[c+68>>2]|0);J=x;x=0;if(J&1){e=Ya()|0;break d}f[l>>2]=7280;J=f[l+4>>2]|0;_P(l);t=X+4|0;e=f[t>>2]|0;e:do if(!e){y=Y+4|0;h=f[y>>2]|0;e=f[h+68>>2]|0;g=f[h+64>>2]|0;f:do if(!((h|0)==0|(e-g|0)!=8)){if((f[517]|0)!=(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0))break;x=0;e=qa(340,h|0)|0;G=x;x=0;g:do if(G&1)m=165;else{x=0;Ga(462,S|0,e|0);G=x;x=0;if(G&1){m=165;break}f[S>>2]=7584;do if(f[y>>2]|0){x=0;Fa(429,Y|0);G=x;x=0;if(!(G&1))break;e=Ya()|0;_P(S);break g}while(0);h=S+4|0;f[y>>2]=f[h>>2];f[h>>2]=0;_P(S);h=f[y>>2]|0;e=f[h+68>>2]|0;g=f[h+64>>2]|0;break f}while(0);if((m|0)==165)e=Ya()|0;break d}while(0);j=e-g>>3;if(!j)break;k=S+4|0;l=U+4|0;m=V+4|0;n=_+4|0;o=M+4|0;p=U+4|0;q=N+4|0;r=U+4|0;s=K+4|0;t=T+4|0;v=L+4|0;w=T+4|0;e=0;h:while(1){g=h+60|0;x=0;g=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,e|0)|0;G=x;x=0;if(G&1){m=180;break}x=0;Ga(462,S|0,f[g+4>>2]|0);G=x;x=0;if(G&1){m=180;break}f[S>>2]=7696;g=f[k>>2]|0;if(!g)g=0;else g=(f[271]|0)==(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)?g:0;x=0;Ga(462,U|0,g|0);G=x;x=0;if(G&1){m=181;break}f[U>>2]=10408;g=f[l>>2]|0;if(g|0){x=0;Ga(462,T|0,f[g+64>>2]|0);G=x;x=0;if(G&1){m=182;break}f[T>>2]=7696;if(f[k>>2]|0){x=0;Fa(429,S|0);G=x;x=0;if(G&1){m=183;break}}f[k>>2]=f[w>>2];f[w>>2]=0;_P(T)}_P(U);x=0;g=qa(340,f[k>>2]|0)|0;G=x;x=0;if(G&1){m=196;break}x=0;Ga(462,V|0,g|0);G=x;x=0;if(G&1){m=196;break}f[V>>2]=7584;c=f[m>>2]|0;g=f[_>>2]|0;h=(f[n>>2]|0)-g|0;i=(h|0)/12|0;i:do if(!c){if(!h)break;x=0;Ga(462,M|0,f[k>>2]|0);G=x;x=0;if(G&1){m=228;break h}f[M>>2]=7696;x=0;Ga(462,U|0,f[o>>2]|0);G=x;x=0;if(G&1){m=229;break h}f[U>>2]=6664;x=0;Ia(128,W|0,g|0,U|0);G=x;x=0;if(G&1){m=230;break h}_P(U);_P(M);c=((f[n>>2]|0)-(f[_>>2]|0)|0)/12|0;if(c>>>0>1)h=1;else break;do{x=0;g=qa(318,60)|0;G=x;x=0;if(G&1){m=240;break h}B=T;z=(f[H>>2]|0)+12|0;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));x=0;Fa(427,g|0);G=x;x=0;if(G&1){m=241;break h}B=g+12|0;z=T;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g>>2]=13152;f[g+56>>2]=8;x=0;Ga(462,U|0,g|0);G=x;x=0;if(G&1){m=240;break h}f[U>>2]=7696;g=(f[_>>2]|0)+(h*12|0)|0;x=0;Ga(462,N|0,f[p>>2]|0);G=x;x=0;if(G&1){m=242;break h}f[N>>2]=7696;x=0;Ga(462,T|0,f[q>>2]|0);G=x;x=0;if(G&1){m=243;break h}f[T>>2]=6664;x=0;Ia(128,W|0,g|0,T|0);G=x;x=0;if(G&1){m=244;break h}_P(T);_P(N);_P(U);h=h+1|0}while(h>>>0>>0)}else{switch(h|0){case 0:break i;case 12:{x=0;Ga(462,U|0,c|0);G=x;x=0;if(G&1){m=197;break h}f[U>>2]=7584;g=f[_>>2]|0;x=0;Ga(462,K|0,f[r>>2]|0);G=x;x=0;if(G&1){m=198;break h}f[K>>2]=7584;x=0;Ga(462,T|0,f[s>>2]|0);G=x;x=0;if(G&1){m=199;break h}f[T>>2]=6664;x=0;Ia(128,W|0,g|0,T|0);G=x;x=0;if(G&1){m=200;break h}_P(T);_P(K);_P(U);break i}default:{}}g=0;h=c;while(1){c=f[h+64>>2]|0;if(g>>>0<(f[h+68>>2]|0)-c>>3>>>0){h=f[c+(g<<3)+4>>2]|0;x=0;h=sa(f[(f[h>>2]|0)+56>>2]|0,h|0,Q|0)|0;G=x;x=0;if(G&1){m=215;break h}}else{x=0;h=qa(318,60)|0;G=x;x=0;if(G&1){m=215;break h}B=U;z=(f[H>>2]|0)+12|0;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));x=0;Fa(427,h|0);G=x;x=0;if(G&1){m=216;break h}B=h+12|0;z=U;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=13152;f[h+56>>2]=8}x=0;Ga(462,T|0,h|0);G=x;x=0;if(G&1){m=215;break h}f[T>>2]=7696;h=(f[_>>2]|0)+(g*12|0)|0;x=0;Ga(462,L|0,f[t>>2]|0);G=x;x=0;if(G&1){m=217;break h}f[L>>2]=7696;x=0;Ga(462,U|0,f[v>>2]|0);G=x;x=0;if(G&1){m=218;break h}f[U>>2]=6664;x=0;Ia(128,W|0,h|0,U|0);G=x;x=0;if(G&1){m=219;break h}_P(U);_P(L);_P(T);g=g+1|0;if(g>>>0>=i>>>0)break i;h=f[m>>2]|0}}while(0);_P(V);x=0;Ga(656,a|0,J|0);G=x;x=0;if(G&1){m=253;break}_P(S);e=e+1|0;if(e>>>0>=j>>>0)break e;h=f[y>>2]|0}switch(m|0){case 180:{e=Ya()|0;break}case 181:{e=Ya()|0;m=195;break}case 182:{e=Ya()|0;m=184;break}case 183:{e=Ya()|0;_P(T);m=184;break}case 196:{e=Ya()|0;m=252;break}case 197:{e=Ya()|0;m=203;break}case 198:{e=Ya()|0;m=202;break}case 199:{e=Ya()|0;m=201;break}case 200:{e=Ya()|0;_P(T);m=201;break}case 215:{e=Ya()|0;m=222;break}case 216:{e=Ya()|0;Hta(h);m=222;break}case 217:{e=Ya()|0;m=221;break}case 218:{e=Ya()|0;m=220;break}case 219:{e=Ya()|0;_P(U);m=220;break}case 228:{e=Ya()|0;m=232;break}case 229:{e=Ya()|0;m=231;break}case 230:{e=Ya()|0;_P(U);m=231;break}case 240:{e=Ya()|0;m=247;break}case 241:{e=Ya()|0;Hta(g);m=247;break}case 242:{e=Ya()|0;m=246;break}case 243:{e=Ya()|0;m=245;break}case 244:{e=Ya()|0;_P(T);m=245;break}case 253:{e=Ya()|0;m=254;break}}if((m|0)==184){_P(U);m=195}else if((m|0)==201){_P(K);m=202}else if((m|0)==220){_P(L);m=221}else if((m|0)==231){_P(M);m=232}else if((m|0)==245){_P(N);m=246}if((m|0)==195)m=254;else if((m|0)==202){_P(U);m=203}else if((m|0)==221){_P(T);m=222}else if((m|0)==232)m=251;else if((m|0)==246){_P(U);m=247}if((m|0)==203)m=251;else if((m|0)==222)m=251;else if((m|0)==247)m=251;if((m|0)==251){_P(V);m=252}if((m|0)==252)m=254;if((m|0)==254)_P(S);break d}else{g=f[e+84>>2]|0;c=f[e+88>>2]|0;if((g|0)==(c|0))break;i=U+4|0;l=v+4|0;m=_+4|0;n=G+4|0;o=T+4|0;p=V+4|0;q=D+4|0;r=E+4|0;s=F+4|0;while(1){x=0;Ga(462,U|0,f[g+4>>2]|0);N=x;x=0;if(N&1){m=115;break}f[U>>2]=7696;e=f[i>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,Q|0)|0;N=x;x=0;if(N&1){m=116;break}x=0;Ga(462,T|0,e|0);N=x;x=0;if(N&1){m=116;break}f[T>>2]=7696;e=f[t>>2]|0;x=0;Ga(462,C|0,f[i>>2]|0);N=x;x=0;if(N&1){m=117;break}f[C>>2]=7696;x=0;Ia(78,v|0,e+60|0,C|0);N=x;x=0;if(N&1){m=118;break}e=f[l>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,Q|0)|0;N=x;x=0;if(N&1){m=119;break}x=0;Ga(462,V|0,e|0);N=x;x=0;if(N&1){m=119;break}f[V>>2]=7696;_P(v);_P(C);N=f[_>>2]|0;e=N;if(((f[m>>2]|0)-N|0)==12){x=0;k=qa(318,88)|0;N=x;x=0;if(N&1){m=121;break}B=S;z=(f[t>>2]|0)+12|0;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));x=0;Fa(427,k|0);N=x;x=0;if(N&1){m=122;break}B=k+12|0;z=S;A=B+40|0;do{f[B>>2]=f[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));b[k+52>>0]=0;b[k+53>>0]=0;b[k+54>>0]=0;e=k+56|0;f[e>>2]=0;f[k>>2]=6516;h=k+60|0;f[h>>2]=9660;j=k+64|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,2);N=x;x=0;if(N&1){m=100;break}f[k>>2]=9488;f[h>>2]=9620;f[k+80>>2]=1;b[k+84>>0]=0;b[k+85>>0]=0;b[k+86>>0]=0;f[e>>2]=5;x=0;Ga(462,G|0,k|0);N=x;x=0;if(N&1){m=121;break}f[G>>2]=7584;e=(f[n>>2]|0)+60|0;h=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,w|0,f[o>>2]|0);N=x;x=0;if(N&1){m=124;break}f[w>>2]=7696;x=0;Ga(h|0,e|0,w|0);N=x;x=0;if(N&1){m=125;break}_P(w);e=(f[n>>2]|0)+60|0;h=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,y|0,f[p>>2]|0);N=x;x=0;if(N&1){m=124;break}f[y>>2]=7696;x=0;Ga(h|0,e|0,y|0);N=x;x=0;if(N&1){m=126;break}_P(y);e=f[_>>2]|0;x=0;Ga(462,D|0,f[n>>2]|0);N=x;x=0;if(N&1){m=127;break}f[D>>2]=7584;x=0;Ga(462,S|0,f[q>>2]|0);N=x;x=0;if(N&1){m=128;break}f[S>>2]=6664;x=0;Ia(128,W|0,e|0,S|0);N=x;x=0;if(N&1){m=129;break}_P(S);_P(D);_P(G)}else{x=0;Ga(462,E|0,f[o>>2]|0);N=x;x=0;if(N&1){m=142;break}f[E>>2]=7696;x=0;Ga(462,S|0,f[r>>2]|0);N=x;x=0;if(N&1){m=143;break}f[S>>2]=6664;x=0;Ia(128,W|0,e|0,S|0);N=x;x=0;if(N&1){m=144;break}_P(S);_P(E);e=(f[_>>2]|0)+12|0;x=0;Ga(462,F|0,f[p>>2]|0);N=x;x=0;if(N&1){m=147;break}f[F>>2]=7696;x=0;Ga(462,S|0,f[s>>2]|0);N=x;x=0;if(N&1){m=148;break}f[S>>2]=6664;x=0;Ia(128,W|0,e|0,S|0);N=x;x=0;if(N&1){m=149;break}_P(S);_P(F)}x=0;Ga(656,a|0,J|0);N=x;x=0;if(N&1){m=141;break}_P(V);_P(T);_P(U);g=g+8|0;if((g|0)==(c|0))break e}switch(m|0){case 100:{e=Ya()|0;c=I;i=k+68|0;g=f[j>>2]|0;if(g|0){h=f[i>>2]|0;if((h|0)!=(g|0)){do{S=h+-8|0;f[i>>2]=S;Kc[f[f[S>>2]>>2]&511](S);h=f[i>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}m=123;break}case 115:{e=Ya()|0;break}case 116:{e=Ya()|0;m=156;break}case 117:{e=Ya()|0;m=155;break}case 118:{e=Ya()|0;m=120;break}case 119:{e=Ya()|0;_P(v);m=120;break}case 121:{e=Ya()|0;m=133;break}case 122:{e=Ya()|0;m=123;break}case 124:{e=Ya()|0;m=132;break}case 125:{e=Ya()|0;_P(w);m=132;break}case 126:{e=Ya()|0;_P(y);m=132;break}case 127:{e=Ya()|0;m=131;break}case 128:{e=Ya()|0;m=130;break}case 129:{e=Ya()|0;_P(S);m=130;break}case 141:{e=Ya()|0;m=154;break}case 142:{e=Ya()|0;m=146;break}case 143:{e=Ya()|0;m=145;break}case 144:{e=Ya()|0;_P(S);m=145;break}case 147:{e=Ya()|0;m=151;break}case 148:{e=Ya()|0;m=150;break}case 149:{e=Ya()|0;_P(S);m=150;break}}if((m|0)==120){_P(C);m=155}else if((m|0)==123){Hta(k);m=133}else if((m|0)==130){_P(D);m=131}else if((m|0)==145){_P(E);m=146}else if((m|0)==150){_P(F);m=151}if((m|0)==131)m=132;else if((m|0)==146)m=154;else if((m|0)==151)m=154;if((m|0)==132){_P(G);m=133}if((m|0)==133)m=154;if((m|0)==154){_P(V);m=155}if((m|0)==155){_P(T);m=156}if((m|0)==156)_P(U);break d}while(0);g=f[O>>2]|0;e=g+-8|0;do{V=g+-8|0;f[O>>2]=V;Kc[f[f[V>>2]>>2]&511](V);g=f[O>>2]|0}while((g|0)!=(e|0));f[P>>2]=(f[P>>2]|0)+-4;rE(W,f[W+4>>2]|0);_P(X);_P(Y);_P(Z);e=f[_>>2]|0;if(!e){u=R;return 0}h=_+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[_>>2]|0}Hta(e);u=R;return 0}while(0)}while(0);rE(W,f[W+4>>2]|0)}}_P(X)}_P(Y)}_P(Z);c=e;break}}c=Ya()|0;_P(g)}while(0);e=f[_>>2]|0;if(!e)jb(c|0);h=_+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[_>>2]|0}Hta(e);jb(c|0);return 0}function ld(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,xa=0,ya=0,za=0,Aa=0,Ba=0;la=0;oa=u;u=u+304|0;ua=oa+288|0;ra=oa+276|0;pa=oa+264|0;na=oa+256|0;A=oa+248|0;B=oa+244|0;C=oa+240|0;D=oa+236|0;E=oa+8|0;za=oa+224|0;ga=oa+216|0;_=oa+208|0;$=oa+188|0;aa=oa+184|0;ba=oa+160|0;ca=oa;Aa=oa+136|0;Ba=oa+108|0;va=oa+40|0;N=oa+200|0;O=oa+192|0;U=oa+176|0;R=oa+164|0;S=oa+152|0;P=oa+128|0;V=oa+120|0;T=oa+96|0;Q=oa+88|0;da=oa+80|0;ea=oa+72|0;ia=oa+64|0;ha=oa+52|0;fa=oa+32|0;ka=oa+24|0;ja=oa+12|0;y=a+76|0;z=a+80|0;i=f[z>>2]|0;j=f[y>>2]|0;m=j;if((i|0)==(j|0))w=0;else{g=f[m+4>>2]|0;if(!g)w=0;else w=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30898?g:0}ma=c+4|0;c=f[ma>>2]|0;k=f[c+80>>2]|0;l=f[c+76>>2]|0;if((k|0)==(l|0))v=0;else{g=f[l+4>>2]|0;if(!g)v=0;else v=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30898?g:0}f[Aa+4>>2]=0;q=Aa+8|0;f[q>>2]=0;xa=Aa+4|0;f[Aa>>2]=xa;f[Ba+4>>2]=0;r=Ba+8|0;f[r>>2]=0;ya=Ba+4|0;f[Ba>>2]=ya;o=i-j>>3;do if(!o){g=k;e=l}else{k=a+76|0;n=ua+11|0;l=ua+4|0;g=0;c=m;while(1){c=f[c+(g<<3)+4>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+152>>2]|0,c|0)|0;la=x;x=0;if(la&1){la=12;break}if(c){la=f[(f[k>>2]|0)+(g<<3)+4>>2]|0;x=0;Ga(f[(f[la>>2]|0)+32>>2]|0,ua|0,la|0);la=x;x=0;if(la&1){la=31;break}c=b[n>>0]|0;la=c<<24>>24<0;j=la?f[ua>>2]|0:ua;c=la?f[l>>2]|0:c&255;a:do if(!c)c=-1;else{i=j+c|0;c=j;while(1){if(!(HB(53454,h[c>>0]|0,1)|0))break;c=c+1|0;if((c|0)==(i|0)){c=-1;break a}}c=c-j|0}while(0);x=0;Ka(4,ra|0,ua|0,c|0,-1,ua|0);la=x;x=0;if(la&1){la=32;break}if((b[n>>0]|0)<0){b[f[ua>>2]>>0]=0;f[l>>2]=0}else{b[ua>>0]=0;b[n>>0]=0}x=0;Ga(501,ua|0,0);la=x;x=0;if(la&1){la=26;break}f[ua>>2]=f[ra>>2];f[ua+4>>2]=f[ra+4>>2];f[ua+8>>2]=f[ra+8>>2];x=0;Ja(10,za|0,Aa|0,ua|0,ua|0);la=x;x=0;if(la&1){la=33;break}if((b[n>>0]|0)<0)Hta(f[ua>>2]|0)}g=g+1|0;if(g>>>0>=o>>>0){la=9;break}c=f[k>>2]|0}if((la|0)==9){e=f[ma>>2]|0;c=e;g=f[e+80>>2]|0;e=f[e+76>>2]|0;break}else if((la|0)==12){za=Ya()|0;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);jb(za|0)}else if((la|0)==26){za=Za(0)|0;soa(za)}else if((la|0)==31)e=Ya()|0;else if((la|0)==32){e=Ya()|0;la=34}else if((la|0)==33){e=Ya()|0;la=34}if((la|0)==34)if((b[n>>0]|0)<0)Hta(f[ua>>2]|0);za=e;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);jb(za|0)}while(0);j=g-e>>3;b:do if(j|0){l=ua+11|0;k=ua+4|0;e=0;g=c;while(1){g=f[(f[g+76>>2]|0)+(e<<3)+4>>2]|0;x=0;g=qa(f[(f[g>>2]|0)+152>>2]|0,g|0)|0;X=x;x=0;if(X&1){la=61;break}if(g){X=f[(f[(f[ma>>2]|0)+76>>2]|0)+(e<<3)+4>>2]|0;x=0;Ga(f[(f[X>>2]|0)+32>>2]|0,ua|0,X|0);X=x;x=0;if(X&1){la=80;break}g=b[l>>0]|0;X=g<<24>>24<0;i=X?f[ua>>2]|0:ua;g=X?f[k>>2]|0:g&255;c:do if(!g)g=-1;else{c=i+g|0;g=i;while(1){if(!(HB(53454,h[g>>0]|0,1)|0))break;g=g+1|0;if((g|0)==(c|0)){g=-1;break c}}g=g-i|0}while(0);x=0;Ka(4,ra|0,ua|0,g|0,-1,ua|0);X=x;x=0;if(X&1){la=81;break}if((b[l>>0]|0)<0){b[f[ua>>2]>>0]=0;f[k>>2]=0}else{b[ua>>0]=0;b[l>>0]=0}x=0;Ga(501,ua|0,0);X=x;x=0;if(X&1){la=75;break}f[ua>>2]=f[ra>>2];f[ua+4>>2]=f[ra+4>>2];f[ua+8>>2]=f[ra+8>>2];x=0;Ja(10,na|0,Ba|0,ua|0,ua|0);X=x;x=0;if(X&1){la=82;break}if((b[l>>0]|0)<0)Hta(f[ua>>2]|0)}e=e+1|0;if(e>>>0>=j>>>0)break b;g=f[ma>>2]|0}if((la|0)==61){za=Ya()|0;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);jb(za|0)}else if((la|0)==75){za=Za(0)|0;soa(za)}else if((la|0)==80)s=Ya()|0;else if((la|0)==81){e=Ya()|0;la=83}else if((la|0)==82){e=Ya()|0;la=83}if((la|0)==83)if((b[l>>0]|0)<0){Hta(f[ua>>2]|0);s=e}else s=e;za=s;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);jb(za|0)}while(0);if((f[q>>2]|0)!=(f[r>>2]|0)){za=0;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);u=oa;return za|0}e=f[Aa>>2]|0;d:do if((e|0)!=(xa|0)){p=f[Ba>>2]|0;j=p;e:while(1){i=e+16|0;g=j+16|0;c=b[i+11>>0]|0;n=c<<24>>24<0;c=c&255;o=n?f[e+20>>2]|0:c;X=b[g+11>>0]|0;k=X<<24>>24<0;if((o|0)!=((k?f[j+20>>2]|0:X&255)|0)){e=0;la=380;break}l=f[i>>2]|0;m=n?l:i;g=k?f[g>>2]|0:g;j=(o|0)==0;f:do if(n){if(!j)if(lO(m,g,o)|0){e=0;la=380;break e}}else if(!j){if((b[g>>0]|0)!=(l&255)<<24>>24){e=0;la=380;break e}while(1){c=c+-1|0;i=i+1|0;if(!c)break f;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){e=0;la=380;break e}}}while(0);g=f[e+4>>2]|0;if(!g){g=e+8|0;c=f[g>>2]|0;if((f[c>>2]|0)==(e|0))e=c;else do{X=f[g>>2]|0;g=X+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(X|0))}else{e=g;while(1){g=f[e>>2]|0;if(!g)break;else e=g}}g=f[p+4>>2]|0;if(!g){c=p+8|0;g=f[c>>2]|0;if((f[g>>2]|0)!=(p|0))do{X=f[c>>2]|0;c=X+8|0;g=f[c>>2]|0}while((f[g>>2]|0)!=(X|0))}else while(1){c=f[g>>2]|0;if(!c)break;else g=c}if((e|0)==(xa|0))break d;else{j=g;p=g}}if((la|0)==380){za=f[ya>>2]|0;bJ(Ba,za);Ba=f[xa>>2]|0;bJ(Aa,Ba);u=oa;return e|0}}while(0);f[za+4>>2]=0;K=za+8|0;f[K>>2]=0;W=za+4|0;f[za>>2]=W;f[va+4>>2]=0;f[va+8>>2]=0;X=va+4|0;f[va>>2]=X;g:do if((w|0)!=0&(v|0)!=0){x=0;Ga(f[(f[w>>2]|0)+32>>2]|0,ua|0,w|0);ka=x;x=0;do if(ka&1)e=Ya()|0;else{x=0;Ga(f[(f[v>>2]|0)+32>>2]|0,ra|0,v|0);ka=x;x=0;if(ka&1){e=Ya()|0;if((b[ua+11>>0]|0)>=0)break;Hta(f[ua>>2]|0);break}n=ua+11|0;e=b[n>>0]|0;i=e<<24>>24<0;c=e&255;j=i?f[ua+4>>2]|0:c;la=b[ra+11>>0]|0;o=la<<24>>24<0;h:do if((j|0)==((o?f[ra+4>>2]|0:la&255)|0)){k=f[ua>>2]|0;l=i?k:ua;g=o?f[ra>>2]|0:ra;m=(j|0)==0;if(i){if(m){g=1;break}g=(lO(l,g,j)|0)==0;break}if(m)g=1;else if((b[g>>0]|0)==(k&255)<<24>>24){i=ua;while(1){c=c+-1|0;i=i+1|0;if(!c){g=1;break h}g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){g=0;break}}}else g=0}else g=0;while(0);if(o){Hta(f[ra>>2]|0);e=b[n>>0]|0}if(e<<24>>24<0)Hta(f[ua>>2]|0);if(!g){e=0;la=378;break g}g=f[y>>2]|0;i=(f[z>>2]|0)-g>>3;i:do if(i>>>0>1){c=a+76|0;j=ua+11|0;e=1;while(1){la=f[g+(e<<3)+4>>2]|0;x=0;Ga(f[(f[la>>2]|0)+32>>2]|0,ua|0,la|0);la=x;x=0;if(la&1){la=118;break}x=0;Ja(10,pa|0,za|0,ua|0,ua|0);la=x;x=0;if(la&1){la=119;break}if((b[j>>0]|0)<0)Hta(f[ua>>2]|0);e=e+1|0;if(e>>>0>=i>>>0)break i;g=f[c>>2]|0}if((la|0)==118)e=Ya()|0;else if((la|0)==119){e=Ya()|0;if((b[j>>0]|0)<0)Hta(f[ua>>2]|0)}break g}while(0);g=f[ma>>2]|0;c=(f[g+80>>2]|0)-(f[g+76>>2]|0)>>3;j:do if(c>>>0>1){i=ua+11|0;e=1;while(1){la=f[(f[g+76>>2]|0)+(e<<3)+4>>2]|0;x=0;Ga(f[(f[la>>2]|0)+32>>2]|0,ua|0,la|0);la=x;x=0;if(la&1){la=130;break}x=0;Ja(10,ra|0,va|0,ua|0,ua|0);la=x;x=0;if(la&1){la=131;break}if((b[i>>0]|0)<0)Hta(f[ua>>2]|0);e=e+1|0;if(e>>>0>=c>>>0)break j;g=f[ma>>2]|0}if((la|0)==130)e=Ya()|0;else if((la|0)==131){e=Ya()|0;if((b[i>>0]|0)<0)Hta(f[ua>>2]|0)}break g}while(0);e=f[za>>2]|0;f[A>>2]=f[va>>2];f[B>>2]=X;f[C>>2]=e;f[D>>2]=W;x=0;f[na>>2]=f[A>>2];f[pa>>2]=f[B>>2];f[ra>>2]=f[C>>2];f[ua>>2]=f[D>>2];e=wa(22,na|0,pa|0,ra|0,ua|0,E|0)|0;ua=x;x=0;if(ua&1){la=134;break g}la=378;break g}while(0)}else{g=f[y>>2]|0;r=(f[z>>2]|0)-g>>3;k:do if(r|0){s=a+76|0;t=N+4|0;v=ra+4|0;w=ua+4|0;H=pa+11|0;y=O+4|0;z=pa+4|0;I=R+11|0;A=S+4|0;B=pa+4|0;C=P+4|0;D=pa+4|0;E=na+4|0;F=d+11|0;G=d+4|0;J=T+11|0;q=0;e=0;l:while(1){x=0;Ga(462,N|0,f[g+(q<<3)+4>>2]|0);p=x;x=0;if(p&1){la=158;break}f[N>>2]=13852;x=0;Ga(462,ra|0,f[t>>2]|0);p=x;x=0;if(p&1){la=159;break}f[ra>>2]=15588;_P(N);g=f[v>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30844?g:0;x=0;Ga(462,ua|0,g|0);p=x;x=0;if(p&1){la=160;break}f[ua>>2]=15604;g=f[w>>2]|0;m:do if(!g)g=0;else{p=b[g+95>>0]|0;do if(((p<<24>>24<0?f[g+88>>2]|0:p&255)|0)==4){x=0;g=wa(21,g+84|0,0,-1,51731,4)|0;p=x;x=0;if(p&1){la=145;break l}if(g|0)break;x=0;Ga(462,O|0,f[(f[w>>2]|0)+108>>2]|0);p=x;x=0;if(p&1){la=161;break l}f[O>>2]=7168;g=f[y>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==31229?g:0;x=0;Ga(462,pa|0,g|0);p=x;x=0;if(p&1){la=162;break l}f[pa>>2]=7168;_P(O);g=f[z>>2]|0;if(!g){la=168;break l}c=f[(f[g>>2]|0)+144>>2]|0;x=0;Ga(462,U|0,f[ma>>2]|0);p=x;x=0;if(p&1){la=163;break l}f[U>>2]=15572;x=0;Ga(459,R|0,(f[w>>2]|0)+84|0);p=x;x=0;if(p&1){la=164;break l}x=0;g=ta(c|0,g|0,U|0,R|0)|0;p=x;x=0;if(p&1){la=165;break l}if((b[I>>0]|0)<0)Hta(f[R>>2]|0);_P(U);e=e&(g^1);_P(pa);if(g){g=1;break m}}while(0);j=f[w>>2]|0;g=j+84|0;c=b[g+11>>0]|0;i=f[j+88>>2]|0;do if(((c<<24>>24<0?i:c&255)|0)==8){x=0;g=wa(21,g|0,0,-1,52098,8)|0;la=x;x=0;if(la&1){la=175;break l}if(!g){la=182;break}g=f[w>>2]|0;c=b[g+84+11>>0]|0;i=f[g+88>>2]|0;la=178}else{g=j;la=178}while(0);do if((la|0)==178){la=0;if(((c<<24>>24<0?i:c&255)|0)!=9)break;x=0;g=wa(21,g+84|0,0,-1,34440,9)|0;p=x;x=0;if(p&1){la=180;break l}if(!g)la=182}while(0);if((la|0)==182){la=0;x=0;Ga(462,S|0,f[(f[w>>2]|0)+108>>2]|0);p=x;x=0;if(p&1){la=207;break l}f[S>>2]=7168;x=0;Ga(462,pa|0,f[A>>2]|0);p=x;x=0;if(p&1){la=208;break l}f[pa>>2]=15588;if(f[v>>2]|0){x=0;Fa(429,ra|0);p=x;x=0;if(p&1){la=209;break l}}f[v>>2]=f[B>>2];f[B>>2]=0;_P(pa);_P(S);x=0;Ga(462,P|0,f[(f[w>>2]|0)+108>>2]|0);p=x;x=0;if(p&1){la=212;break l}f[P>>2]=7168;g=f[C>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==31229?g:0;x=0;Ga(462,pa|0,g|0);p=x;x=0;if(p&1){la=213;break l}f[pa>>2]=7168;_P(P);if(f[D>>2]|0){g=f[ma>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==33850?g:0;x=0;Ga(462,na|0,g|0);p=x;x=0;if(p&1){la=214;break l}f[na>>2]=15572;o=f[E>>2]|0;n:do if(o|0){m=b[F>>0]|0;n=m<<24>>24<0;if(n)g=f[G>>2]|0;else g=m&255;o:do if(!g)la=216;else{l=f[w>>2]|0;g=l+84|0;c=m&255;j=n?f[G>>2]|0:c;p=b[g+11>>0]|0;i=p<<24>>24<0;if((j|0)!=((i?f[l+88>>2]|0:p&255)|0)){e=0;break}k=f[d>>2]|0;l=n?k:d;g=i?f[g>>2]|0:g;i=(j|0)==0;if(n){if(i){la=217;break}if(!(lO(l,g,j)|0)){la=217;break}else{e=0;break}}if(i){la=218;break}if((b[g>>0]|0)==(k&255)<<24>>24)i=d;else{e=0;break}while(1){c=c+-1|0;i=i+1|0;if(!c){la=216;break o}g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){e=0;break}}}while(0);if((la|0)==216)if(n)la=217;else la=218;if((la|0)==217){g=f[G>>2]|0;la=219}else if((la|0)==218){g=m&255;la=219}if((la|0)==219){la=0;do if(g|0){l=f[w>>2]|0;i=l+84|0;c=m&255;j=n?f[G>>2]|0:c;p=b[i+11>>0]|0;g=p<<24>>24<0;if((j|0)!=((g?f[l+88>>2]|0:p&255)|0))break;k=f[d>>2]|0;l=n?k:d;g=g?f[i>>2]|0:i;i=(j|0)==0;if(n){if(i)break n;if(!(lO(l,g,j)|0))break n;else break}if(i)break n;if((b[g>>0]|0)==(k&255)<<24>>24)i=d;else break;do{c=c+-1|0;i=i+1|0;if(!c)break n;g=g+1|0}while((b[i>>0]|0)==(b[g>>0]|0))}while(0);g=f[D>>2]|0;c=f[(f[g>>2]|0)+144>>2]|0;x=0;Ga(462,V|0,o|0);p=x;x=0;if(p&1){la=215;break l}f[V>>2]=15572;x=0;Ga(459,T|0,(f[w>>2]|0)+84|0);p=x;x=0;if(p&1){la=234;break l}x=0;g=ta(c|0,g|0,V|0,T|0)|0;p=x;x=0;if(p&1){la=235;break l}if((b[J>>0]|0)<0)Hta(f[T>>2]|0);_P(V);if(g)e=1;else break}_P(na);_P(pa);g=1;break m}while(0);_P(na)}_P(pa)}p=f[ma>>2]|0;g=f[p+76>>2]|0;p:do if((f[p+80>>2]|0)-g>>3>>>0>q>>>0){o=f[g+(q<<3)+4>>2]|0;if(!o)break;if((f[(f[(f[o>>2]|0)+-4>>2]|0)+4>>2]|0)!=30844)break;p=f[w>>2]|0;i=p+84|0;g=o+84|0;c=b[i+11>>0]|0;k=c<<24>>24<0;c=c&255;l=k?f[p+88>>2]|0:c;n=b[g+11>>0]|0;j=n<<24>>24<0;if((l|0)!=((j?f[o+88>>2]|0:n&255)|0))break;m=f[i>>2]|0;n=k?m:i;g=j?f[g>>2]|0:g;j=(l|0)==0;q:do if(k){if(j)break;if(lO(n,g,l)|0)break p}else{if(j)break;if((b[g>>0]|0)!=(m&255)<<24>>24)break p;while(1){c=c+-1|0;i=i+1|0;if(!c)break q;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0))break p}}while(0);g=f[(f[p>>2]|0)+164>>2]|0;x=0;Ga(462,Q|0,o|0);o=x;x=0;if(o&1){la=258;break l}f[Q>>2]=15604;x=0;g=sa(g|0,p|0,Q|0)|0;p=x;x=0;if(p&1){la=259;break l}_P(Q);if(g){g=16;break m}}while(0);g=0}while(0);_P(ua);if(!g){p=f[v>>2]|0;x=0;Ga(f[(f[p>>2]|0)+32>>2]|0,pa|0,p|0);p=x;x=0;if(p&1){la=272;break}x=0;Ja(10,ua|0,za|0,pa|0,pa|0);p=x;x=0;if(p&1){la=273;break}if((b[H>>0]|0)<0)Hta(f[pa>>2]|0);_P(ra)}else{_P(ra);if((g|0)!=16){la=378;break g}}g=q+1|0;if(g>>>0>=r>>>0)break k;q=g;g=f[s>>2]|0}switch(la|0){case 145:{soa(Za(0)|0);break}case 158:{L=Ya()|0;break}case 159:{L=Ya()|0;_P(N);break}case 160:{e=Ya()|0;la=271;break}case 161:{e=Ya()|0;la=172;break}case 162:{e=Ya()|0;_P(O);la=172;break}case 164:{e=Ya()|0;la=167;break}case 165:{e=Ya()|0;if((b[I>>0]|0)<0){Hta(f[R>>2]|0);la=167}else la=167;break}case 168:{e=Ta(8)|0;x=0;Ga(496,e|0,34405);oa=x;x=0;if(oa&1){la=Ya()|0;bb(e|0);e=la;la=171;break}else{x=0;Ia(77,e|0,6176,414);x=0;la=163;break}}case 175:{soa(Za(0)|0);break}case 180:{soa(Za(0)|0);break}case 207:{e=Ya()|0;la=211;break}case 208:{e=Ya()|0;la=210;break}case 209:{e=Ya()|0;_P(pa);la=210;break}case 212:{e=Ya()|0;la=243;break}case 213:{e=Ya()|0;_P(P);la=243;break}case 214:{e=Ya()|0;la=240;break}case 215:{e=Ya()|0;la=239;break}case 234:{e=Ya()|0;la=237;break}case 235:{e=Ya()|0;if((b[J>>0]|0)<0){Hta(f[T>>2]|0);la=237}else la=237;break}case 258:{e=Ya()|0;la=270;break}case 259:{e=Ya()|0;_P(Q);la=270;break}case 272:{e=Ya()|0;la=275;break}case 273:{e=Ya()|0;if((b[H>>0]|0)<0){Hta(f[pa>>2]|0);la=275}else la=275;break}}if((la|0)==163){e=Ya()|0;la=171}else if((la|0)==167){_P(U);la=171}else if((la|0)==210){_P(S);la=211}else if((la|0)==237){_P(V);la=239}else if((la|0)==275)la=276;if((la|0)==171){_P(pa);la=172}else if((la|0)==211)la=270;else if((la|0)==239){_P(na);la=240}if((la|0)==172)la=270;else if((la|0)==240){_P(pa);la=243}if((la|0)==243)la=270;if((la|0)==270){_P(ua);la=271}if((la|0)==271)la=276;if((la|0)==276){_P(ra);L=e}e=L;break g}while(0);g=f[ma>>2]|0;o=(f[g+80>>2]|0)-(f[g+76>>2]|0)>>3;r:do if(o|0){p=da+4|0;q=ua+4|0;y=ra+4|0;z=ra+11|0;r=ea+4|0;s=pa+4|0;A=ha+11|0;t=d+11|0;v=d+4|0;w=fa+4|0;B=pa+4|0;C=ja+11|0;e=0;s:while(1){x=0;Ga(462,da|0,f[(f[g+76>>2]|0)+(e<<3)+4>>2]|0);V=x;x=0;if(V&1){la=302;break}f[da>>2]=13852;x=0;Ga(462,ua|0,f[p>>2]|0);V=x;x=0;if(V&1){la=303;break}f[ua>>2]=15588;_P(da);g=f[q>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==30844?g:0;x=0;Ga(462,ra|0,g|0);V=x;x=0;if(V&1){la=304;break}f[ra>>2]=15604;g=f[y>>2]|0;do if(g|0){V=b[g+95>>0]|0;do if(((V<<24>>24<0?f[g+88>>2]|0:V&255)|0)==4){x=0;g=wa(21,g+84|0,0,-1,51731,4)|0;V=x;x=0;if(V&1){la=288;break s}if(g|0)break;x=0;Ga(462,ea|0,f[(f[y>>2]|0)+108>>2]|0);V=x;x=0;if(V&1){la=305;break s}f[ea>>2]=7168;g=f[r>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==31229?g:0;x=0;Ga(462,pa|0,g|0);V=x;x=0;if(V&1){la=306;break s}f[pa>>2]=7168;_P(ea);g=f[s>>2]|0;if(g|0){x=0;Fa(431,g|0);V=x;x=0;if(V&1){la=307;break s}g=f[(f[a>>2]|0)+152>>2]|0;x=0;Ga(462,ia|0,f[s>>2]|0);V=x;x=0;if(V&1){la=307;break s}f[ia>>2]=7168;x=0;Ga(459,ha|0,(f[y>>2]|0)+84|0);V=x;x=0;if(V&1){la=308;break s}x=0;g=ta(g|0,a|0,ia|0,ha|0)|0;V=x;x=0;if(V&1){la=309;break s}if((b[A>>0]|0)<0)Hta(f[ha>>2]|0);_P(ia);if(g){la=313;break s}}_P(pa)}while(0);g=f[y>>2]|0;c=g+84|0;i=b[c+11>>0]|0;j=f[g+88>>2]|0;do if(((i<<24>>24<0?j:i&255)|0)==8){x=0;g=wa(21,c|0,0,-1,52098,8)|0;V=x;x=0;if(V&1){la=318;break s}if(!g)break;g=f[y>>2]|0;i=b[g+84+11>>0]|0;c=f[g+88>>2]|0;la=321}else{c=j;la=321}while(0);if((la|0)==321){la=0;if(((i<<24>>24<0?c:i&255)|0)!=9)break;x=0;g=wa(21,g+84|0,0,-1,34440,9)|0;V=x;x=0;if(V&1){la=323;break s}if(g|0)break}c=b[t>>0]|0;n=c<<24>>24<0;if(n)g=f[v>>2]|0;else g=c&255;t:do if(!g)g=f[y>>2]|0;else{g=f[y>>2]|0;j=g+84|0;i=c&255;k=n?f[v>>2]|0:i;V=b[j+11>>0]|0;c=V<<24>>24<0;if((k|0)!=((c?f[g+88>>2]|0:V&255)|0)){e=0;la=366;break s}l=f[d>>2]|0;m=n?l:d;c=c?f[j>>2]|0:j;j=(k|0)==0;if(n){if(j)break;if(!(lO(m,c,k)|0))break;else{e=0;la=366;break s}}if(j)break;if((b[c>>0]|0)==(l&255)<<24>>24)j=d;else{e=0;la=366;break s}while(1){i=i+-1|0;j=j+1|0;if(!i)break t;c=c+1|0;if((b[j>>0]|0)!=(b[c>>0]|0)){e=0;la=366;break s}}}while(0);x=0;Ga(462,fa|0,f[g+108>>2]|0);V=x;x=0;if(V&1){la=350;break s}f[fa>>2]=7168;g=f[w>>2]|0;if(!g)g=0;else g=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==31229?g:0;x=0;Ga(462,pa|0,g|0);V=x;x=0;if(V&1){la=351;break s}f[pa>>2]=7168;_P(fa);g=f[B>>2]|0;if(g|0){la=344;break s}_P(pa)}while(0);_P(ra);V=f[q>>2]|0;x=0;Ga(f[(f[V>>2]|0)+32>>2]|0,ra|0,V|0);V=x;x=0;if(V&1){la=369;break}x=0;Ja(10,ga|0,va|0,ra|0,ra|0);V=x;x=0;if(V&1){la=370;break}if((b[z>>0]|0)<0)Hta(f[ra>>2]|0);_P(ua);e=e+1|0;if(e>>>0>=o>>>0)break r;g=f[ma>>2]|0}u:switch(la|0){case 288:{soa(Za(0)|0);break}case 302:{Y=Ya()|0;break}case 303:{Y=Ya()|0;_P(da);break}case 304:{e=Ya()|0;la=368;break}case 305:{e=Ya()|0;la=315;break}case 306:{e=Ya()|0;_P(ea);la=315;break}case 307:{e=Ya()|0;la=314;break}case 308:{e=Ya()|0;la=311;break}case 309:{e=Ya()|0;if((b[A>>0]|0)<0){Hta(f[ha>>2]|0);la=311}else la=311;break}case 313:{_P(pa);e=0;la=366;break}case 318:{soa(Za(0)|0);break}case 323:{soa(Za(0)|0);break}case 344:{x=0;Fa(431,g|0);na=x;x=0;if(na&1)la=352;else{e=f[(f[a>>2]|0)+152>>2]|0;x=0;Ga(462,ka|0,f[B>>2]|0);na=x;x=0;if(na&1)la=352;else{f[ka>>2]=7168;x=0;Ga(459,ja|0,(f[y>>2]|0)+84|0);na=x;x=0;do if(na&1)e=Ya()|0;else{x=0;e=ta(e|0,a|0,ka|0,ja|0)|0;na=x;x=0;if(na&1){e=Ya()|0;if((b[C>>0]|0)>=0)break;Hta(f[ja>>2]|0);break}if((b[C>>0]|0)<0)Hta(f[ja>>2]|0);_P(ka);_P(pa);la=366;break u}while(0);_P(ka)}}if((la|0)==352)e=Ya()|0;_P(pa);la=359;break}case 350:{e=Ya()|0;la=359;break}case 351:{e=Ya()|0;_P(fa);la=359;break}case 369:{e=Ya()|0;la=372;break}case 370:{e=Ya()|0;if((b[z>>0]|0)<0){Hta(f[ra>>2]|0);la=372}else la=372;break}}if((la|0)==311){_P(ia);la=314}else if((la|0)==359)la=367;else if((la|0)==366){_P(ra);_P(ua);la=378;break g}else if((la|0)==372)la=373;if((la|0)==314){_P(pa);la=315}if((la|0)==315)la=367;if((la|0)==367){_P(ra);la=368}if((la|0)==368)la=373;if((la|0)==373){_P(ua);Y=e}e=Y;break g}while(0);if(!(f[K>>2]|0)){e=1;la=378}else{e=f[za>>2]|0;f[_>>2]=f[va>>2];f[$>>2]=X;f[aa>>2]=e;f[ba>>2]=W;x=0;f[na>>2]=f[_>>2];f[pa>>2]=f[$>>2];f[ra>>2]=f[aa>>2];f[ua>>2]=f[ba>>2];e=wa(22,na|0,pa|0,ra|0,ua|0,ca|0)|0;ua=x;x=0;if(ua&1)la=134;else la=378}}while(0);if((la|0)==134)e=Ya()|0;else if((la|0)==378){bJ(va,f[X>>2]|0);bJ(za,f[W>>2]|0);za=e;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);u=oa;return za|0}bJ(va,f[X>>2]|0);bJ(za,f[W>>2]|0);za=e;ya=f[ya>>2]|0;bJ(Ba,ya);Ba=f[xa>>2]|0;bJ(Aa,Ba);jb(za|0);return 0}function md(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0;H=0;E=u;u=u+432|0;D=E+80|0;J=E+40|0;G=E;O=E+416|0;N=E+312|0;M=E+280|0;L=E+216|0;K=E+200|0;i=E+376|0;n=E+360|0;k=E+320|0;p=E+296|0;r=E+288|0;q=E+240|0;s=E+224|0;v=E+208|0;t=E+160|0;y=E+144|0;A=E+132|0;F=E+120|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=6;b[D>>0]=b[40544]|0;b[D+1>>0]=b[40545]|0;b[D+2>>0]=b[40546]|0;b[D+3>>0]=b[40547]|0;b[D+4>>0]=b[40548]|0;b[D+5>>0]=b[40549]|0;b[D+6>>0]=0;x=0;c=sa(992,a|0,D|0)|0;z=x;x=0;if(!(z&1)){c=f[c+4>>2]|0;if(!c)c=0;else c=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,O|0,c|0);z=x;x=0;if(!(z&1)){f[O>>2]=16784;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=6;b[D>>0]=b[40551]|0;b[D+1>>0]=b[40552]|0;b[D+2>>0]=b[40553]|0;b[D+3>>0]=b[40554]|0;b[D+4>>0]=b[40555]|0;b[D+5>>0]=b[40556]|0;b[D+6>>0]=0;x=0;c=sa(992,a|0,D|0)|0;z=x;x=0;if(z&1)H=79;else{c=f[c+4>>2]|0;if(!c)c=0;else c=(f[249]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,N|0,c|0);z=x;x=0;if(z&1)H=79;else{f[N>>2]=16784;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=6;b[D>>0]=b[40544]|0;b[D+1>>0]=b[40545]|0;b[D+2>>0]=b[40546]|0;b[D+3>>0]=b[40547]|0;b[D+4>>0]=b[40548]|0;b[D+5>>0]=b[40549]|0;b[D+6>>0]=0;x=0;c=sa(992,a|0,D|0)|0;z=x;x=0;if(z&1)H=82;else{x=0;c=qa(340,f[c+4>>2]|0)|0;z=x;x=0;if(z&1)H=82;else{x=0;Ga(462,M|0,c|0);z=x;x=0;if(z&1)H=82;else{f[M>>2]=7584;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;d=D+11|0;b[d>>0]=6;b[D>>0]=b[40551]|0;b[D+1>>0]=b[40552]|0;b[D+2>>0]=b[40553]|0;b[D+3>>0]=b[40554]|0;b[D+4>>0]=b[40555]|0;b[D+5>>0]=b[40556]|0;b[D+6>>0]=0;x=0;c=sa(992,a|0,D|0)|0;z=x;x=0;if(z&1)H=85;else{x=0;c=qa(340,f[c+4>>2]|0)|0;z=x;x=0;if(z&1)H=85;else{x=0;Ga(462,L|0,c|0);z=x;x=0;if(z&1)H=85;else{f[L>>2]=7584;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);m=J+11|0;b[m>>0]=10;c=J;l=40558;o=c+10|0;do{b[c>>0]=b[l>>0]|0;c=c+1|0;l=l+1|0}while((c|0)<(o|0));b[J+10>>0]=0;c=i;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Ga(511,n|0,h|0);z=x;x=0;a:do if(z&1){c=Ya()|0;H=96}else{x=0;c=D;l=i;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));c=wa(27,J|0,a|0,e|0,D|0,n|0)|0;z=x;x=0;do if(!(z&1)){x=0;Ga(462,K|0,c|0);z=x;x=0;if(z&1)break;f[K>>2]=16800;c=f[n>>2]|0;if(c|0){j=n+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[n>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[J>>2]|0);z=M+4|0;c=f[z>>2]|0;if(!c)d=1;else d=f[c+80>>2]|0;m=J+11|0;b[m>>0]=10;c=J;l=40569;o=c+10|0;do{b[c>>0]=b[l>>0]|0;c=c+1|0;l=l+1|0}while((c|0)<(o|0));b[J+10>>0]=0;c=k;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Ga(511,p|0,h|0);w=x;x=0;b:do if(w&1){c=Ya()|0;H=107}else{x=0;c=D;l=k;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));w=wa(30,J|0,a|0,e|0,D|0,p|0)|0;o=x;x=0;if(o&1){c=Ya()|0;k=I;d=f[p>>2]|0;if(!d){H=107;break}l=p+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[p>>2]|0}Hta(d);H=107;break}c=f[p>>2]|0;if(c|0){k=p+4|0;i=f[k>>2]|0;if((i|0)!=(c|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(c|0));c=f[p>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[J>>2]|0);c=f[z>>2]|0;c:do if(!c){x=0;m=qa(318,88)|0;p=x;x=0;d:do if(p&1)H=110;else{c=G;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Fa(427,m|0);p=x;x=0;do if(p&1)c=Ya()|0;else{c=m+12|0;l=G;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;c=m+56|0;f[c>>2]=0;f[m>>2]=6516;d=m+60|0;f[d>>2]=9660;k=m+64|0;l=m+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,1);p=x;x=0;if(p&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){i=f[l>>2]|0;if((i|0)!=(d|0)){do{J=i+-8|0;f[l>>2]=J;Kc[f[f[J>>2]>>2]&511](J);i=f[l>>2]|0}while((i|0)!=(d|0));d=f[k>>2]|0}Hta(d)}break}f[m>>2]=9488;f[d>>2]=9620;f[m+80>>2]=1;b[m+84>>0]=0;b[m+85>>0]=0;b[m+86>>0]=0;f[c>>2]=5;x=0;Ga(462,D|0,m|0);p=x;x=0;if(p&1){H=110;break d}f[D>>2]=7584;do if(f[z>>2]|0){x=0;Fa(429,M|0);p=x;x=0;if(!(p&1))break;c=Ya()|0;_P(D);break d}while(0);d=D+4|0;f[z>>2]=f[d>>2];f[d>>2]=0;_P(D);d=(f[z>>2]|0)+60|0;i=f[(f[d>>2]|0)+20>>2]|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;m=J+11|0;b[m>>0]=6;b[J>>0]=b[40544]|0;b[J+1>>0]=b[40545]|0;b[J+2>>0]=b[40546]|0;b[J+3>>0]=b[40547]|0;b[J+4>>0]=b[40548]|0;b[J+5>>0]=b[40549]|0;b[J+6>>0]=0;c=q;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Ga(511,s|0,h|0);p=x;x=0;do if(p&1)c=Ya()|0;else{x=0;c=D;l=q;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));c=wa(25,J|0,a|0,e|0,D|0,s|0)|0;q=x;x=0;do if(q&1)H=116;else{x=0;Ga(462,r|0,c|0);q=x;x=0;if(q&1){H=116;break}f[r>>2]=7696;x=0;Ga(i|0,d|0,r|0);q=x;x=0;if(q&1){c=Ya()|0;k=I;_P(r);break}_P(r);c=f[s>>2]|0;if(c|0){j=s+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[s>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[J>>2]|0);j=L+4|0;c=f[j>>2]|0;if(!c){i=0;d=1;n=j;H=129;break c}i=(b[c+85>>0]|0)!=0;d=f[c+80>>2]|0;n=j;break c}while(0);if((H|0)==116){c=Ya()|0;k=I}d=f[s>>2]|0;if(!d)break;l=s+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[s>>2]|0}Hta(d)}while(0);if((b[m>>0]|0)<0)Hta(f[J>>2]|0);break b}while(0);Hta(m)}while(0);if((H|0)==110)c=Ya()|0;break b}else{i=(b[c+85>>0]|0)!=0;c=L+4|0;if(!(f[c>>2]|0)){n=c;H=129}else n=c}while(0);e:do if((H|0)==129){x=0;m=qa(318,88)|0;s=x;x=0;f:do if(s&1)H=155;else{c=J;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Fa(427,m|0);s=x;x=0;do if(s&1)c=Ya()|0;else{c=m+12|0;l=J;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;c=m+56|0;f[c>>2]=0;f[m>>2]=6516;j=m+60|0;f[j>>2]=9660;k=m+64|0;l=m+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,1);s=x;x=0;if(s&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){i=f[l>>2]|0;if((i|0)!=(d|0)){do{J=i+-8|0;f[l>>2]=J;Kc[f[f[J>>2]>>2]&511](J);i=f[l>>2]|0}while((i|0)!=(d|0));d=f[k>>2]|0}Hta(d)}break}f[m>>2]=9488;f[j>>2]=9620;f[m+80>>2]=1;b[m+84>>0]=0;b[m+85>>0]=0;b[m+86>>0]=0;f[c>>2]=5;x=0;Ga(462,D|0,m|0);s=x;x=0;if(s&1){H=155;break f}f[D>>2]=7584;do if(f[n>>2]|0){x=0;Fa(429,L|0);s=x;x=0;if(!(s&1))break;c=Ya()|0;_P(D);break f}while(0);j=D+4|0;f[n>>2]=f[j>>2];f[j>>2]=0;_P(D);j=(f[n>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;m=J+11|0;b[m>>0]=6;b[J>>0]=b[40551]|0;b[J+1>>0]=b[40552]|0;b[J+2>>0]=b[40553]|0;b[J+3>>0]=b[40554]|0;b[J+4>>0]=b[40555]|0;b[J+5>>0]=b[40556]|0;b[J+6>>0]=0;c=t;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Ga(511,y|0,h|0);s=x;x=0;do if(s&1)c=Ya()|0;else{x=0;c=D;l=t;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));c=wa(25,J|0,a|0,e|0,D|0,y|0)|0;a=x;x=0;do if(a&1)H=161;else{x=0;Ga(462,v|0,c|0);a=x;x=0;if(a&1){H=161;break}f[v>>2]=7696;x=0;Ga(k|0,j|0,v|0);a=x;x=0;if(a&1){c=Ya()|0;k=I;_P(v);break}_P(v);c=f[y>>2]|0;if(c|0){l=y+4|0;j=f[l>>2]|0;if((j|0)!=(c|0)){do{k=j+-52|0;f[l>>2]=k;j=j+-12|0;if((b[j+11>>0]|0)<0){Hta(f[j>>2]|0);j=f[l>>2]|0}else j=k}while((j|0)!=(c|0));c=f[y>>2]|0}Hta(c)}if((b[m>>0]|0)<0)Hta(f[J>>2]|0);break e}while(0);if((H|0)==161){c=Ya()|0;k=I}d=f[y>>2]|0;if(!d)break;l=y+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[y>>2]|0}Hta(d)}while(0);if((b[m>>0]|0)<0)Hta(f[J>>2]|0);break b}while(0);Hta(m)}while(0);if((H|0)==155)c=Ya()|0;break b}while(0);c=f[O+4>>2]|0;g:do if(c){x=0;Ia(107,D|0,c|0,g|0);y=x;x=0;h:do if(y&1)c=Ya()|0;else{do if(f[z>>2]|0){x=0;Fa(429,M|0);y=x;x=0;if(!(y&1))break;c=Ya()|0;_P(D);break h}while(0);d=D+4|0;f[z>>2]=f[d>>2];f[d>>2]=0;_P(D);d=0;break g}while(0);break b}while(0);c=f[N+4>>2]|0;i:do if(c|0){x=0;Ia(107,D|0,c|0,g|0);y=x;x=0;j:do if(y&1)c=Ya()|0;else{do if(f[n>>2]|0){x=0;Fa(429,L|0);y=x;x=0;if(!(y&1))break;c=Ya()|0;_P(D);break j}while(0);y=D+4|0;f[n>>2]=f[y>>2];f[y>>2]=0;_P(D);break i}while(0);break b}while(0);p=f[z>>2]|0;y=f[n>>2]|0;p=((f[y+68>>2]|0)-(f[y+64>>2]|0)>>3)+((f[p+68>>2]|0)-(f[p+64>>2]|0)>>3)|0;x=0;Ka(5,J|0,(f[K+4>>2]|0)+64|0,0,0,1);y=x;x=0;do if(y&1)c=Ya()|0;else{q=J+11|0;c=b[q>>0]|0;k=J+4|0;j=f[k>>2]|0;do if(((c<<24>>24<0?j:c&255)|0)==5){x=0;c=wa(21,J|0,0,-1,40580,5)|0;H=x;x=0;if(H&1){H=Za(0)|0;soa(H)}if(!c){j=1;H=232;break}c=b[q>>0]|0;j=f[k>>2]|0;H=196}else H=196;while(0);k:do if((H|0)==196){if(((c<<24>>24<0?j:c&255)|0)==5){x=0;c=wa(21,J|0,0,-1,40586,5)|0;y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}if(!c){j=0;H=232;break}c=b[q>>0]|0;j=f[k>>2]|0}do if(((c<<24>>24<0?j:c&255)|0)==4){x=0;c=wa(21,J|0,0,-1,40592,4)|0;y=x;x=0;if(y&1){y=Za(0)|0;soa(y)}else if(!c){j=d;H=232;break k}else break}while(0);f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;k=hL(e)|0;do if(k>>>0>4294967279){x=0;Fa(428,F|0);x=0;H=222}else{if(k>>>0<11){b[F+11>>0]=k;if(!k)c=F;else{c=F;H=211}}else{j=k+16&-16;x=0;c=qa(318,j|0)|0;H=x;x=0;if(H&1){H=222;break}f[F>>2]=c;f[F+8>>2]=j|-2147483648;f[F+4>>2]=k;H=211}if((H|0)==211)Lu(c|0,e|0,k|0)|0;b[c+k>>0]=0;x=0;c=ta(43,F|0,0,40597)|0;e=x;x=0;do if(e&1)c=Ya()|0;else{f[G>>2]=f[c>>2];f[G+4>>2]=f[c+4>>2];f[G+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=sa(991,G|0,40624)|0;e=x;x=0;do if(e&1)c=Ya()|0;else{f[A>>2]=f[c>>2];f[A+4>>2]=f[c+4>>2];f[A+8>>2]=f[c+8>>2];f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;x=0;c=D;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));Ia(100,A|0,D|0,h|0);h=x;x=0;if(h&1){c=Ya()|0;if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0);break}if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);if((b[F+11>>0]|0)<0)Hta(f[F>>2]|0);j=d;H=232;break k}while(0);if((b[G+11>>0]|0)>=0)break;Hta(f[G>>2]|0)}while(0);if((b[F+11>>0]|0)>=0)break;Hta(f[F>>2]|0)}while(0);if((H|0)==222)c=Ya()|0}while(0);if((H|0)==232){x=0;c=qa(334,w|0)|0;h=x;x=0;do if(h&1)H=245;else{x=0;Ga(462,G|0,c|0);h=x;x=0;if(h&1){H=245;break}f[G>>2]=16800;c=f[G+4>>2]|0;do if(!c)H=243;else{x=0;Ka(5,D|0,c+64|0,0,0,1);h=x;x=0;if(h&1){c=Ya()|0;break}d=D+11|0;c=b[d>>0]|0;do if(((c<<24>>24<0?f[D+4>>2]|0:c&255)|0)==4){x=0;c=wa(21,D|0,0,-1,40592,4)|0;H=x;x=0;if(H&1){H=Za(0)|0;soa(H)}else{B=(c|0)==0;C=b[d>>0]|0;break}}else{B=0;C=c}while(0);if(C<<24>>24<0)Hta(f[D>>2]|0);if(B)H=248;else H=243}while(0);do if((H|0)==243){x=0;c=qa(f[(f[w>>2]|0)+88>>2]|0,w|0)|0;C=x;x=0;if(C&1){c=Ya()|0;break}else{i=c^1;H=248;break}}while(0);if((H|0)==248){x=0;m=qa(318,88)|0;C=x;x=0;l:do if(C&1)H=265;else{c=D;l=g;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));x=0;Fa(427,m|0);g=x;x=0;do if(g&1)c=Ya()|0;else{c=m+12|0;l=D;o=c+40|0;do{f[c>>2]=f[l>>2];c=c+4|0;l=l+4|0}while((c|0)<(o|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;c=m+56|0;f[c>>2]=0;f[m>>2]=6516;d=m+60|0;f[d>>2]=9660;k=m+64|0;l=m+68|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,p|0);D=x;x=0;if(D&1){c=Ya()|0;j=I;d=f[k>>2]|0;if(d|0){i=f[l>>2]|0;if((i|0)!=(d|0)){do{F=i+-8|0;f[l>>2]=F;Kc[f[f[F>>2]>>2]&511](F);i=f[l>>2]|0}while((i|0)!=(d|0));d=f[k>>2]|0}Hta(d)}break}f[m>>2]=9488;f[d>>2]=9620;f[m+80>>2]=j;b[m+84>>0]=0;b[m+85>>0]=i&1;b[m+86>>0]=0;f[c>>2]=5;x=0;Ga(462,F|0,m|0);D=x;x=0;if(D&1){H=265;break l}f[F>>2]=7584;c=F+4|0;g=(f[c>>2]|0)+60|0;D=f[z>>2]|0;x=0;Ga(f[(f[g>>2]|0)+24>>2]|0,g|0,((D|0)==0?0:D+60|0)|0);D=x;x=0;do if(!(D&1)){g=(f[c>>2]|0)+60|0;D=f[n>>2]|0;x=0;Ga(f[(f[g>>2]|0)+24>>2]|0,g|0,((D|0)==0?0:D+60|0)|0);D=x;x=0;if(D&1)break;c=f[c>>2]|0;if(!c)c=0;else b[c+8>>0]=1;_P(F);_P(G);if((b[q>>0]|0)>=0){_P(K);_P(L);_P(M);_P(N);_P(O);u=E;return c|0}Hta(f[J>>2]|0);_P(K);_P(L);_P(M);_P(N);_P(O);u=E;return c|0}while(0);c=Ya()|0;_P(F);break l}while(0);Hta(m)}while(0);if((H|0)==265)c=Ya()|0}_P(G)}while(0);if((H|0)==245)c=Ya()|0}if((b[q>>0]|0)>=0)break;Hta(f[J>>2]|0)}while(0)}while(0);if((H|0)==107)if((b[m>>0]|0)<0)Hta(f[J>>2]|0);_P(K);break a}while(0);c=Ya()|0;k=I;d=f[n>>2]|0;if(!d){H=96;break}l=n+4|0;i=f[l>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(d|0));d=f[n>>2]|0}Hta(d);H=96}while(0);if((H|0)==96)if((b[m>>0]|0)<0)Hta(f[J>>2]|0);_P(L)}}}if((H|0)==85){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0)}_P(M)}}}if((H|0)==82){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0)}_P(N)}}if((H|0)==79){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0)}_P(O);O=c;jb(O|0)}}c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[D>>2]|0);O=c;jb(O|0);return 0}function nd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;P=0;K=u;u=u+304|0;J=K+120|0;M=K+80|0;O=K+40|0;L=K;T=K+280|0;S=K+272|0;g=K+264|0;R=K+240|0;Q=K+232|0;i=K+224|0;N=K+184|0;A=K+216|0;B=K+208|0;C=K+200|0;D=K+192|0;E=K+176|0;F=K+168|0;G=K+160|0;hz(T,c+72|0);x=0;Ga(462,g|0,f[c+88>>2]|0);H=x;x=0;do if(H&1)i=Ya()|0;else{f[g>>2]=7696;e=f[g+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;H=x;x=0;if(!(H&1)){x=0;Ga(462,S|0,e|0);H=x;x=0;if(!(H&1)){f[S>>2]=7696;_P(g);H=a+4|0;x=0;e=qa(384,f[H>>2]|0)|0;z=x;x=0;if(z&1)P=15;else{x=0;Ia(132,R|0,e|0,1);z=x;x=0;if(z&1)P=15;else{e=f[H>>2]|0;f[J>>2]=R;g=e+60|0;h=f[g>>2]|0;if(h>>>0<(f[e+64>>2]|0)>>>0){f[h>>2]=R;f[g>>2]=(f[g>>2]|0)+4;P=9}else{x=0;Ga(646,e+56|0,J|0);z=x;x=0;if(z&1)e=Ya()|0;else P=9}if((P|0)==9){x=0;Ga(462,Q|0,0);z=x;x=0;if(z&1)e=Ya()|0;else{f[Q>>2]=7584;v=S+4|0;h=f[v>>2]|0;e=f[h+56>>2]|0;g=(h|0)==0;a:do if((e|0)==6)if(g){e=0;P=66}else{e=(f[249]|0)==(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0)?h:0;P=66}else{if(!g)if((f[517]|0)==(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;Fa(443,J|0);z=x;x=0;if(z&1)e=Ya()|0;else{x=0;e=sa(f[(f[h>>2]|0)+56>>2]|0,h|0,J|0)|0;z=x;x=0;do if(z&1)P=30;else{x=0;Ga(462,M|0,e|0);z=x;x=0;if(z&1){P=30;break}f[M>>2]=7696;x=0;e=qa(340,f[M+4>>2]|0)|0;z=x;x=0;b:do if(z&1)P=31;else{x=0;Ga(462,O|0,e|0);z=x;x=0;if(z&1){P=31;break}f[O>>2]=7584;e=Q+4|0;do if(f[e>>2]|0){x=0;Fa(429,Q|0);z=x;x=0;if(!(z&1))break;e=Ya()|0;_P(O);break b}while(0);P=O+4|0;f[e>>2]=f[P>>2];f[P>>2]=0;_P(O);_P(M);e=0;P=66;break a}while(0);if((P|0)==31)e=Ya()|0;_P(M)}while(0);if((P|0)==30)e=Ya()|0}break}if((e|0)==5){x=0;e=qa(340,h|0)|0;z=x;x=0;c:do if(z&1)P=63;else{x=0;Ga(462,J|0,e|0);z=x;x=0;if(z&1)P=63;else{f[J>>2]=7584;e=Q+4|0;do if(f[e>>2]|0){x=0;Fa(429,Q|0);z=x;x=0;if(!(z&1))break;e=Ya()|0;_P(J);break c}while(0);P=J+4|0;f[e>>2]=f[P>>2];f[P>>2]=0;_P(J);e=0;P=66;break a}}while(0);if((P|0)==63)e=Ya()|0;break}x=0;l=qa(318,88)|0;z=x;x=0;d:do if(z&1)P=52;else{z=O;w=h+12|0;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));x=0;Fa(427,l|0);z=x;x=0;do if(z&1)e=Ya()|0;else{z=l+12|0;w=O;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;e=l+56|0;f[e>>2]=0;f[l>>2]=6516;g=l+60|0;f[g>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,1);z=x;x=0;if(z&1){e=Ya()|0;i=I;g=f[j>>2]|0;if(g|0){h=f[k>>2]|0;if((h|0)!=(g|0)){do{O=h+-8|0;f[k>>2]=O;Kc[f[f[O>>2]>>2]&511](O);h=f[k>>2]|0}while((h|0)!=(g|0));g=f[j>>2]|0}Hta(g)}break}f[l>>2]=9488;f[g>>2]=9620;z=l+80|0;f[z>>2]=0;d[z+4>>1]=0;b[z+6>>0]=0;f[e>>2]=5;x=0;Ga(462,J|0,l|0);z=x;x=0;if(z&1){P=52;break d}f[J>>2]=7584;e=Q+4|0;do if(f[e>>2]|0){x=0;Fa(429,Q|0);z=x;x=0;if(!(z&1))break;e=Ya()|0;_P(J);break d}while(0);g=J+4|0;f[e>>2]=f[g>>2];f[g>>2]=0;_P(J);e=(f[e>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,i|0,f[v>>2]|0);z=x;x=0;if(z&1){e=Ya()|0;break a}f[i>>2]=7696;x=0;Ga(g|0,e|0,i|0);z=x;x=0;if(z&1){e=Ya()|0;_P(i);break a}else{_P(i);e=0;P=66;break a}}while(0);Hta(l)}while(0);if((P|0)==52)e=Ya()|0}while(0);if((P|0)==66){x=0;Ga(462,O|0,f[c+68>>2]|0);z=x;x=0;if(z&1)e=Ya()|0;else{f[O>>2]=7280;x=0;Ga(462,N|0,0);z=x;x=0;do if(z&1)e=Ya()|0;else{f[N>>2]=7696;e:do if(!e){t=Q+4|0;h=f[t>>2]|0;e=f[h+68>>2]|0;g=f[h+64>>2]|0;f:do if(!((h|0)==0|(e-g|0)!=8)){if((f[517]|0)!=(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0))break;x=0;e=qa(340,h|0)|0;E=x;x=0;g:do if(E&1)P=139;else{x=0;Ga(462,J|0,e|0);E=x;x=0;if(E&1){P=139;break}f[J>>2]=7584;do if(f[t>>2]|0){x=0;Fa(429,Q|0);E=x;x=0;if(!(E&1))break;e=Ya()|0;_P(J);break g}while(0);h=J+4|0;f[t>>2]=f[h>>2];f[h>>2]=0;_P(J);h=f[t>>2]|0;e=f[h+68>>2]|0;g=f[h+64>>2]|0;break f}while(0);if((P|0)==139)e=Ya()|0;P=215;break e}while(0);m=e-g>>3;if(!m)break;n=T+4|0;o=O+4|0;p=N+4|0;q=J+4|0;r=G+4|0;s=F+4|0;e=0;h:while(1){g=h+60|0;x=0;g=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,e|0)|0;E=x;x=0;if(E&1){P=150;break}g=f[g+4>>2]|0;do if(!g)g=0;else{if((f[271]|0)!=(f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0))break;x=0;Ga(462,F|0,f[g+64>>2]|0);E=x;x=0;if(E&1){P=151;break h}f[F>>2]=7696;g=f[s>>2]|0;_P(F)}while(0);x=0;j=qa(340,g|0)|0;E=x;x=0;if(E&1){P=159;break}i=f[T>>2]|0;h=(f[n>>2]|0)-i|0;c=(h|0)/12|0;i:do if(!j){if(!h)break;x=0;Ga(462,J|0,g|0);E=x;x=0;if(E&1){P=184;break h}f[J>>2]=6664;x=0;Ia(128,R|0,i|0,J|0);E=x;x=0;if(E&1){P=185;break h}_P(J);i=((f[n>>2]|0)-(f[T>>2]|0)|0)/12|0;if(i>>>0>1)h=1;else break;do{x=0;j=qa(318,60)|0;E=x;x=0;if(E&1){P=192;break h}z=L;w=(f[v>>2]|0)+12|0;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));x=0;Fa(427,j|0);E=x;x=0;if(E&1){P=193;break h}z=j+12|0;w=L;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));b[j+52>>0]=0;b[j+53>>0]=0;b[j+54>>0]=0;f[j>>2]=13152;f[j+56>>2]=8;g=f[T>>2]|0;x=0;Ga(462,J|0,j|0);E=x;x=0;if(E&1){P=194;break h}f[J>>2]=6664;x=0;Ia(128,R|0,g+(h*12|0)|0,J|0);E=x;x=0;if(E&1){P=195;break h}_P(J);h=h+1|0}while(h>>>0>>0)}else{switch(h|0){case 0:break i;case 12:{x=0;Ga(462,J|0,j|0);E=x;x=0;if(E&1){P=160;break h}f[J>>2]=6664;x=0;Ia(128,R|0,i|0,J|0);E=x;x=0;if(E&1){P=161;break h}_P(J);break i}default:{}}k=j+60|0;l=j+64|0;j=j+68|0;i=0;do{if(i>>>0<(f[j>>2]|0)-(f[l>>2]|0)>>3>>>0){x=0;g=sa(f[(f[k>>2]|0)+16>>2]|0,k|0,i|0)|0;E=x;x=0;if(E&1){P=176;break h}x=0;Ga(462,G|0,f[g+4>>2]|0);E=x;x=0;if(E&1){P=176;break h}f[G>>2]=7696;h=f[r>>2]|0;_P(G)}else{x=0;g=qa(318,60)|0;E=x;x=0;if(E&1){P=174;break h}z=M;w=(f[v>>2]|0)+12|0;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));x=0;Fa(427,g|0);E=x;x=0;if(E&1){P=175;break h}z=g+12|0;w=M;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));b[g+52>>0]=0;b[g+53>>0]=0;b[g+54>>0]=0;f[g>>2]=13152;f[g+56>>2]=8;x=0;Ga(462,G|0,g|0);E=x;x=0;if(E&1){P=174;break h}f[G>>2]=7696;h=f[r>>2]|0;_P(G)}g=f[T>>2]|0;x=0;Ga(462,J|0,h|0);E=x;x=0;if(E&1){P=177;break h}f[J>>2]=6664;x=0;Ia(128,R|0,g+(i*12|0)|0,J|0);E=x;x=0;if(E&1){P=178;break h}_P(J);i=i+1|0}while(i>>>0>>0)}while(0);g=f[o>>2]|0;x=0;g=sa(f[(f[g>>2]|0)+56>>2]|0,g|0,a|0)|0;E=x;x=0;if(E&1){P=202;break}x=0;Ga(462,J|0,g|0);E=x;x=0;if(E&1){P=202;break}f[J>>2]=7696;if(f[p>>2]|0){x=0;Fa(429,N|0);E=x;x=0;if(E&1){P=203;break}}f[p>>2]=f[q>>2];f[q>>2]=0;_P(J);e=e+1|0;if(!((f[p>>2]|0)==0&e>>>0>>0))break e;h=f[t>>2]|0}switch(P|0){case 150:{e=Ya()|0;P=215;break e}case 151:{e=Ya()|0;P=215;break e}case 159:{e=Ya()|0;P=215;break e}case 160:{e=Ya()|0;P=162;break}case 161:{e=Ya()|0;_P(J);P=162;break}case 174:{e=Ya()|0;P=215;break e}case 175:{e=Ya()|0;Hta(g);P=215;break e}case 176:{e=Ya()|0;P=215;break e}case 177:{e=Ya()|0;P=179;break}case 178:{e=Ya()|0;_P(J);P=179;break}case 184:{e=Ya()|0;P=186;break}case 185:{e=Ya()|0;_P(J);P=186;break}case 192:{e=Ya()|0;P=215;break e}case 193:{e=Ya()|0;Hta(j);P=215;break e}case 194:{e=Ya()|0;P=196;break}case 195:{e=Ya()|0;_P(J);P=196;break}case 202:{e=Ya()|0;P=204;break}case 203:{e=Ya()|0;_P(J);P=204;break}}if((P|0)==162){P=215;break}else if((P|0)==179){P=215;break}else if((P|0)==186){P=215;break}else if((P|0)==196){P=215;break}else if((P|0)==204){P=215;break}}else{q=e+60|0;g=f[e+84>>2]|0;r=f[e+88>>2]|0;if((g|0)==(r|0))break;s=M+4|0;t=T+4|0;i=e+12|0;j=L+4|0;l=O+4|0;c=N+4|0;m=J+4|0;n=D+4|0;o=E+4|0;p=f[2410]|0;while(1){x=0;Ga(462,M|0,f[g+4>>2]|0);G=x;x=0;if(G&1){P=93;break}f[M>>2]=7696;x=0;Ga(462,A|0,f[s>>2]|0);G=x;x=0;if(G&1){P=94;break}f[A>>2]=7696;x=0;Ia(78,L|0,q|0,A|0);G=x;x=0;if(G&1){P=95;break}_P(A);G=f[T>>2]|0;e=G;if(((f[t>>2]|0)-G|0)==12){x=0;v=qa(318,88)|0;G=x;x=0;if(G&1){P=96;break}z=J;w=i;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));x=0;Fa(427,v|0);G=x;x=0;if(G&1){P=97;break}z=v+12|0;w=J;y=z+40|0;do{f[z>>2]=f[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));b[v+52>>0]=0;b[v+53>>0]=0;b[v+54>>0]=0;e=v+56|0;f[e>>2]=0;f[v>>2]=6516;h=v+60|0;f[h>>2]=9660;k=v+64|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(516,k|0,2);G=x;x=0;if(G&1){P=80;break}f[v>>2]=9488;f[h>>2]=9620;f[v+80>>2]=1;b[v+84>>0]=0;b[v+85>>0]=0;b[v+86>>0]=0;f[e>>2]=5;x=0;Ga(462,B|0,f[s>>2]|0);G=x;x=0;if(G&1){P=96;break}f[B>>2]=7696;x=0;Ga(p|0,h|0,B|0);G=x;x=0;if(G&1){P=99;break}_P(B);e=f[(f[h>>2]|0)+20>>2]|0;x=0;Ga(462,C|0,f[j>>2]|0);G=x;x=0;if(G&1){P=96;break}f[C>>2]=7696;x=0;Ga(e|0,h|0,C|0);G=x;x=0;if(G&1){P=100;break}_P(C);e=f[T>>2]|0;x=0;Ga(462,J|0,v|0);G=x;x=0;if(G&1){P=101;break}f[J>>2]=6664;x=0;Ia(128,R|0,e|0,J|0);G=x;x=0;if(G&1){P=102;break}_P(J)}else{x=0;Ga(462,D|0,f[s>>2]|0);G=x;x=0;if(G&1){P=111;break}f[D>>2]=7696;x=0;Ga(462,J|0,f[n>>2]|0);G=x;x=0;if(G&1){P=112;break}f[J>>2]=6664;x=0;Ia(128,R|0,e|0,J|0);G=x;x=0;if(G&1){P=113;break}_P(J);_P(D);e=(f[T>>2]|0)+12|0;x=0;Ga(462,E|0,f[j>>2]|0);G=x;x=0;if(G&1){P=116;break}f[E>>2]=7696;x=0;Ga(462,J|0,f[o>>2]|0);G=x;x=0;if(G&1){P=117;break}f[J>>2]=6664;x=0;Ia(128,R|0,e|0,J|0);G=x;x=0;if(G&1){P=118;break}_P(J);_P(E)}e=f[l>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;G=x;x=0;if(G&1){P=126;break}x=0;Ga(462,J|0,e|0);G=x;x=0;if(G&1){P=126;break}f[J>>2]=7696;if(f[c>>2]|0){x=0;Fa(429,N|0);G=x;x=0;if(G&1){P=127;break}}f[c>>2]=f[m>>2];f[m>>2]=0;_P(J);G=(f[c>>2]|0)!=0;_P(L);_P(M);g=g+8|0;if(G|(g|0)==(r|0))break e}switch(P|0){case 80:{e=Ya()|0;i=I;j=v+68|0;g=f[k>>2]|0;if(g|0){h=f[j>>2]|0;if((h|0)!=(g|0)){do{P=h+-8|0;f[j>>2]=P;Kc[f[f[P>>2]>>2]&511](P);h=f[j>>2]|0}while((h|0)!=(g|0));g=f[k>>2]|0}Hta(g)}P=98;break}case 93:{e=Ya()|0;break}case 94:{e=Ya()|0;P=130;break}case 95:{e=Ya()|0;_P(A);P=130;break}case 96:{e=Ya()|0;P=129;break}case 97:{e=Ya()|0;P=98;break}case 99:{e=Ya()|0;_P(B);P=129;break}case 100:{e=Ya()|0;_P(C);P=129;break}case 101:{e=Ya()|0;P=103;break}case 102:{e=Ya()|0;_P(J);P=103;break}case 111:{e=Ya()|0;P=115;break}case 112:{e=Ya()|0;P=114;break}case 113:{e=Ya()|0;_P(J);P=114;break}case 116:{e=Ya()|0;P=120;break}case 117:{e=Ya()|0;P=119;break}case 118:{e=Ya()|0;_P(J);P=119;break}case 126:{e=Ya()|0;P=128;break}case 127:{e=Ya()|0;_P(J);P=128;break}}if((P|0)==98){Hta(v);P=129}else if((P|0)==103)P=129;else if((P|0)==114){_P(D);P=115}else if((P|0)==119){_P(E);P=120}else if((P|0)==128)P=129;if((P|0)==115)P=129;else if((P|0)==120)P=129;if((P|0)==129){_P(L);P=130}if((P|0)==130)_P(M);P=215}while(0);if((P|0)==215){_P(N);break}e=(f[H>>2]|0)+60|0;f[e>>2]=(f[e>>2]|0)+-4;e=f[N+4>>2]|0;if(!e)i=0;else{b[e+8>>0]=1;i=e}_P(N);_P(O);_P(Q);rE(R,f[R+4>>2]|0);_P(S);e=f[T>>2]|0;if(!e){u=K;return i|0}h=T+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[T>>2]|0}Hta(e);u=K;return i|0}while(0);_P(O)}}_P(Q)}}rE(R,f[R+4>>2]|0)}}if((P|0)==15)e=Ya()|0;_P(S);i=e;break}}i=Ya()|0;_P(g)}while(0);e=f[T>>2]|0;if(!e)jb(i|0);h=T+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{g=g+-12|0;f[h>>2]=g;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[h>>2]|0}}while((g|0)!=(e|0));e=f[T>>2]|0}Hta(e);jb(i|0);return 0}function od(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0;ha=u;u=u+496|0;ia=ha;va=ha+396|0;c=ha+456|0;m=ha+444|0;l=ha+432|0;ua=ha+376|0;K=ha+424|0;pa=ha+192|0;L=ha+408|0;oa=ha+180|0;M=ha+384|0;J=ha+336|0;na=ha+160|0;ma=ha+144|0;la=ha+128|0;ka=ha+116|0;ba=ha+168|0;Z=ha+152|0;ca=ha+136|0;ja=ha+64|0;da=ha+104|0;ea=ha+96|0;ga=ha+88|0;_=ha+80|0;$=ha+56|0;fa=ha+48|0;aa=ha+40|0;n=va+11|0;b[n>>0]=10;V=va;W=40989;X=V+10|0;do{b[V>>0]=b[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));b[va+10>>0]=0;V=c;W=g;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));x=0;Ga(511,m|0,h|0);ra=x;x=0;do if(ra&1)j=Ya()|0;else{x=0;V=ia;W=c;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));H=wa(29,va|0,a|0,e|0,ia|0,m|0)|0;ra=x;x=0;if(ra&1){j=Ya()|0;a=I;k=f[m>>2]|0;if(!k)break;e=m+4|0;c=f[e>>2]|0;if((c|0)!=(k|0)){do{i=c+-52|0;f[e>>2]=i;c=c+-12|0;if((b[c+11>>0]|0)<0){Hta(f[c>>2]|0);c=f[e>>2]|0}else c=i}while((c|0)!=(k|0));k=f[m>>2]|0}Hta(k);break}c=f[m>>2]|0;if(c|0){e=m+4|0;i=f[e>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[e>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[e>>2]|0}else i=a}while((i|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[n>>0]|0)<0)Hta(f[va>>2]|0);i=H+64|0;a=H+68|0;do if((f[a>>2]|0)==(f[i>>2]|0)){c=VN(80)|0;f[l>>2]=c;f[l+8>>2]=-2147483568;f[l+4>>2]=70;V=c;W=41202;X=V+70|0;do{b[V>>0]=b[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));b[c+70>>0]=0;x=0;V=ia;W=g;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));Ia(100,l|0,ia|0,h|0);ra=x;x=0;if(!(ra&1)){if((b[l+11>>0]|0)>=0)break;Hta(f[l>>2]|0);break}j=Ya()|0;if((b[l+11>>0]|0)>=0){va=j;jb(va|0)}Hta(f[l>>2]|0);va=j;jb(va|0)}while(0);f[va>>2]=0;ra=va+4|0;f[ra>>2]=0;f[va+8>>2]=0;l=(f[a>>2]|0)-(f[i>>2]|0)>>3;a:do if(!l)a=105;else{m=K+4|0;n=ua+4|0;F=pa+64|0;o=pa+8|0;B=pa+12|0;p=pa+4|0;q=pa+64|0;r=pa+136|0;s=pa+140|0;C=pa+44|0;t=pa+60|0;y=ia+11|0;A=pa+8|0;z=L+11|0;D=C+11|0;G=pa+11|0;v=va+8|0;w=oa+4|0;E=M+4|0;e=0;while(1){x=0;Ia(106,K|0,H|0,e|0);Y=x;x=0;if(Y&1){a=58;break}x=0;c=qa(336,f[m>>2]|0)|0;Y=x;x=0;if(Y&1){a=59;break}x=0;Ga(462,ua|0,c|0);Y=x;x=0;if(Y&1){a=59;break}f[ua>>2]=7696;_P(K);c=f[n>>2]|0;if((f[c+56>>2]|0)==8){f[o>>2]=16496;f[pa>>2]=2284;f[F>>2]=2304;f[p>>2]=0;x=0;Ga(531,q|0,B|0);Y=x;x=0;if(Y&1){a=46;break}f[r>>2]=0;f[s>>2]=-1;f[pa>>2]=16476;f[F>>2]=16516;f[o>>2]=16496;x=0;Fa(437,B|0);Y=x;x=0;if(Y&1){a=47;break}f[B>>2]=16336;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[t>>2]=24;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;x=0;Ga(532,B|0,ia|0);Y=x;x=0;if(Y&1){a=41;break}if((b[y>>0]|0)<0)Hta(f[ia>>2]|0);x=0;ta(44,A|0,41069,63)|0;Y=x;x=0;if(Y&1){a=61;break}x=0;ta(44,A|0,41273,70)|0;Y=x;x=0;if(Y&1){a=61;break}x=0;Ga(533,L|0,B|0);Y=x;x=0;if(Y&1){a=61;break}x=0;V=ia;W=g;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));Ia(100,L|0,ia|0,h|0);Y=x;x=0;if(Y&1){a=62;break}if((b[z>>0]|0)<0)Hta(f[L>>2]|0);f[pa>>2]=16476;f[F>>2]=16516;f[A>>2]=16496;f[B>>2]=16336;if((b[D>>0]|0)<0)Hta(f[C>>2]|0);Bca(B);KU(pa,16528);uma(F);c=f[n>>2]|0}x=0;c=qa(334,c|0)|0;Y=x;x=0;if(Y&1){a=71;break}if(c|0)b[c+60>>0]=0;Y=f[n>>2]|0;x=0;Ga(f[(f[Y>>2]|0)+32>>2]|0,pa|0,Y|0);Y=x;x=0;if(Y&1){a=90;break}c=(b[G>>0]|0)<0?f[pa>>2]|0:pa;x=0;Ga(511,M|0,h|0);Y=x;x=0;if(Y&1){a=91;break}x=0;Ja(14,J|0,39174,0,-1);Y=x;x=0;if(Y&1){a=92;break}x=0;V=ia;W=J;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));La(14,oa|0,c|0,d|0,M|0,ia|0,0);Y=x;x=0;if(Y&1){a=92;break}c=f[M>>2]|0;if(c|0){i=f[E>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[E>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[E>>2]|0}else i=a}while((i|0)!=(c|0));c=f[M>>2]|0}Hta(c)}c=f[ra>>2]|0;if((c|0)==(f[v>>2]|0)){x=0;Ga(565,va|0,oa|0);Y=x;x=0;if(Y&1){a=99;break}}else{x=0;Ga(462,c|0,f[w>>2]|0);Y=x;x=0;if(Y&1){a=99;break}f[c>>2]=7168;f[ra>>2]=(f[ra>>2]|0)+8}_P(oa);if((b[G>>0]|0)<0)Hta(f[pa>>2]|0);_P(ua);e=e+1|0;if(e>>>0>=l>>>0){a=31;break}}switch(a|0){case 31:{c=f[va>>2]|0;if((c|0)==(f[ra>>2]|0)){a=105;break a}x=0;Ga(462,ua|0,f[c+4>>2]|0);Y=x;x=0;if(Y&1){j=Ya()|0;k=I}else{f[ua>>2]=7168;i=c+8|0;b:do if((i|0)==(f[ra>>2]|0))a=254;else{Y=oa+4|0;o=oa+8|0;p=ua+4|0;q=pa+4|0;r=ma+4|0;s=ca+4|0;t=Z+4|0;v=ka+4|0;w=na+4|0;y=ga+4|0;z=ea+4|0;A=la+4|0;B=_+4|0;C=fa+4|0;D=aa+4|0;E=oa+8|0;F=ja+8|0;G=ja+4|0;N=ia+11|0;H=ia+4|0;O=ia+11|0;J=ia+4|0;P=da+11|0;T=ja+11|0;K=ka+8|0;d=ka+4|0;Q=ia+11|0;L=ia+4|0;R=ia+11|0;M=ia+4|0;S=ba+11|0;U=ka+11|0;c:while(1){x=0;Ga(462,pa|0,f[c+12>>2]|0);X=x;x=0;if(X&1){a=119;break}f[pa>>2]=7168;f[oa>>2]=0;f[Y>>2]=0;f[o>>2]=0;c=f[p>>2]|0;n=(f[c+80>>2]|0)-(f[c+76>>2]|0)>>3;if(n){l=0;do{m=f[q>>2]|0;m=(f[m+80>>2]|0)-(f[m+76>>2]|0)>>3;if(m|0){e=0;do{c=f[(f[(f[p>>2]|0)+76>>2]|0)+(l<<3)+4>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+16>>2]|0,c|0)|0;X=x;x=0;if(X&1){a=145;break c}x=0;Ga(462,na|0,c|0);X=x;x=0;if(X&1){a=145;break c}f[na>>2]=15556;x=0;Ga(462,ma|0,f[(f[(f[q>>2]|0)+76>>2]|0)+(e<<3)+4>>2]|0);X=x;x=0;if(X&1){a=146;break c}f[ma>>2]=15556;x=0;Ga(462,la|0,f[(f[r>>2]|0)+88>>2]|0);X=x;x=0;if(X&1){a=147;break c}f[la>>2]=15556;c=f[r>>2]|0;if(f[c+72>>2]|0){f[ka>>2]=0;f[ka+4>>2]=0;f[ka+8>>2]=0;x=0;a=qa(318,16)|0;X=x;x=0;if(X&1){a=148;break c}f[ka>>2]=a;f[K>>2]=-2147483632;f[d>>2]=14;V=a;W=41344;X=V+14|0;do{b[V>>0]=b[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));b[a+14>>0]=0;x=0;Ga(f[(f[c>>2]|0)+32>>2]|0,ia|0,c|0);X=x;x=0;if(X&1){a=149;break c}X=b[Q>>0]|0;W=X<<24>>24<0;x=0;ta(41,ka|0,(W?f[ia>>2]|0:ia)|0,(W?f[L>>2]|0:X&255)|0)|0;X=x;x=0;if(X&1){a=150;break c}if((b[Q>>0]|0)<0)Hta(f[ia>>2]|0);x=0;sa(991,ka|0,41359)|0;X=x;x=0;if(X&1){a=153;break c}X=f[w>>2]|0;x=0;Ga(f[(f[X>>2]|0)+32>>2]|0,ia|0,X|0);X=x;x=0;if(X&1){a=154;break c}X=b[R>>0]|0;W=X<<24>>24<0;x=0;ta(41,ka|0,(W?f[ia>>2]|0:ia)|0,(W?f[M>>2]|0:X&255)|0)|0;X=x;x=0;if(X&1){a=155;break c}if((b[R>>0]|0)<0)Hta(f[ia>>2]|0);x=0;sa(991,ka|0,41366)|0;X=x;x=0;if(X&1){a=153;break c}x=0;Ga(459,ba|0,ka|0);X=x;x=0;if(X&1){a=153;break c}x=0;V=ia;W=g;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));Ia(100,ba|0,ia|0,h|0);X=x;x=0;if(X&1){a=158;break c}if((b[S>>0]|0)<0)Hta(f[ba>>2]|0);if((b[U>>0]|0)<0)Hta(f[ka>>2]|0);c=f[r>>2]|0}x=0;Ga(462,ca|0,f[c+80>>2]|0);X=x;x=0;if(X&1){a=191;break c}f[ca>>2]=15572;x=0;Ga(462,Z|0,f[(f[(f[s>>2]|0)+76>>2]|0)+4>>2]|0);X=x;x=0;if(X&1){a=192;break c}f[Z>>2]=13852;c=f[t>>2]|0;if(!c)c=0;else c=(f[45]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,ka|0,c|0);X=x;x=0;if(X&1){a=193;break c}f[ka>>2]=16832;_P(Z);_P(ca);c=f[v>>2]|0;do if(c|0){X=b[c+95>>0]|0;if(((X<<24>>24<0?f[c+88>>2]|0:X&255)|0)!=1)break;x=0;c=wa(21,c+84|0,0,-1,41390,1)|0;X=x;x=0;if(X&1){a=171;break c}if(c|0)break;f[ja>>2]=0;f[ja+4>>2]=0;f[ja+8>>2]=0;x=0;c=qa(318,16)|0;X=x;x=0;if(X&1){a=196;break c}f[ja>>2]=c;f[F>>2]=-2147483632;f[G>>2]=14;V=c;W=41344;X=V+14|0;do{b[V>>0]=b[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));b[c+14>>0]=0;X=f[r>>2]|0;x=0;Ga(f[(f[X>>2]|0)+32>>2]|0,ia|0,X|0);X=x;x=0;if(X&1){a=197;break c}X=b[N>>0]|0;W=X<<24>>24<0;x=0;ta(41,ja|0,(W?f[ia>>2]|0:ia)|0,(W?f[H>>2]|0:X&255)|0)|0;X=x;x=0;if(X&1){a=198;break c}if((b[N>>0]|0)<0)Hta(f[ia>>2]|0);x=0;sa(991,ja|0,41359)|0;X=x;x=0;if(X&1){a=201;break c}X=f[w>>2]|0;x=0;Ga(f[(f[X>>2]|0)+32>>2]|0,ia|0,X|0);X=x;x=0;if(X&1){a=202;break c}X=b[O>>0]|0;W=X<<24>>24<0;x=0;ta(41,ja|0,(W?f[ia>>2]|0:ia)|0,(W?f[J>>2]|0:X&255)|0)|0;X=x;x=0;if(X&1){a=203;break c}if((b[O>>0]|0)<0)Hta(f[ia>>2]|0);x=0;sa(991,ja|0,41366)|0;X=x;x=0;if(X&1){a=201;break c}x=0;Ga(459,da|0,ja|0);X=x;x=0;if(X&1){a=201;break c}x=0;V=ia;W=g;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));Ia(100,da|0,ia|0,h|0);X=x;x=0;if(X&1){a=206;break c}if((b[P>>0]|0)<0)Hta(f[da>>2]|0);if((b[T>>0]|0)<0)Hta(f[ja>>2]|0)}while(0);x=0;Ga(566,ga|0,f[w>>2]|0);X=x;x=0;if(X&1){a=195;break c}x=0;Ga(462,ea|0,f[(f[y>>2]|0)+80>>2]|0);X=x;x=0;if(X&1){a=226;break c}f[ea>>2]=15572;c=(f[z>>2]|0)+72|0;a=f[(f[c>>2]|0)+24>>2]|0;x=0;Ga(462,_|0,f[(f[A>>2]|0)+80>>2]|0);X=x;x=0;if(X&1){a=227;break c}f[_>>2]=15572;X=f[B>>2]|0;x=0;Ga(a|0,c|0,((X|0)==0?0:X+72|0)|0);X=x;x=0;if(X&1){a=228;break c}_P(_);_P(ea);_P(ga);x=0;Ga(566,fa|0,f[w>>2]|0);X=x;x=0;if(X&1){a=195;break c}c=f[C>>2]|0;x=0;Ga(462,aa|0,f[(f[A>>2]|0)+88>>2]|0);X=x;x=0;if(X&1){a=231;break c}f[aa>>2]=15556;f[c+68>>2]=0;a=c+84|0;c=c+88|0;if(f[c>>2]|0){x=0;Fa(429,a|0);X=x;x=0;if(X&1){a=232;break c}}f[c>>2]=f[D>>2];x=0;Fa(430,a|0);X=x;x=0;if(X&1){a=232;break c}x=0;Ga(462,$|0,f[c>>2]|0);X=x;x=0;if(X&1){a=232;break c}f[$>>2]=15556;_P($);_P(aa);_P(fa);c=f[Y>>2]|0;if((c|0)==(f[E>>2]|0)){x=0;Ga(514,oa|0,na|0);X=x;x=0;if(X&1){a=195;break c}}else{x=0;Ga(462,c|0,f[w>>2]|0);X=x;x=0;if(X&1){a=195;break c}f[c>>2]=15556;f[Y>>2]=(f[Y>>2]|0)+8}_P(ka);_P(la);_P(ma);_P(na);e=e+1|0}while(e>>>0>>0)}l=l+1|0}while(l>>>0>>0);c=f[p>>2]|0}c=c+76|0;if((c|0)!=(oa|0)){x=0;Ia(108,c|0,f[oa>>2]|0,f[Y>>2]|0);X=x;x=0;if(X&1){a=246;break}}c=f[oa>>2]|0;if(c|0){a=f[Y>>2]|0;if((a|0)!=(c|0)){do{X=a+-8|0;f[Y>>2]=X;Kc[f[f[X>>2]>>2]&511](X);a=f[Y>>2]|0}while((a|0)!=(c|0));c=f[oa>>2]|0}Hta(c)}_P(pa);c=i+8|0;if((c|0)==(f[ra>>2]|0)){a=254;break b}else{X=i;i=c;c=X}}switch(a|0){case 119:{j=Ya()|0;k=I;break}case 145:{j=Ya()|0;k=I;a=239;break}case 146:{j=Ya()|0;k=I;a=238;break}case 147:{j=Ya()|0;k=I;a=237;break}case 148:{j=Ya()|0;k=I;a=162;break}case 149:{j=Ya()|0;k=I;a=152;break}case 150:{j=Ya()|0;k=I;if((b[Q>>0]|0)<0){Hta(f[ia>>2]|0);a=152}else a=152;break}case 153:{j=Ya()|0;k=I;a=160;break}case 154:{j=Ya()|0;k=I;a=157;break}case 155:{j=Ya()|0;k=I;if((b[R>>0]|0)<0){Hta(f[ia>>2]|0);a=157}else a=157;break}case 158:{j=Ya()|0;k=I;if((b[S>>0]|0)<0){Hta(f[ba>>2]|0);a=160}else a=160;break}case 171:{soa(Za(0)|0);break}case 191:{j=Ya()|0;k=I;a=235;break}case 192:{j=Ya()|0;k=I;a=194;break}case 193:{j=Ya()|0;k=I;_P(Z);a=194;break}case 195:{j=Ya()|0;k=I;a=234;break}case 196:{j=Ya()|0;k=I;a=210;break}case 197:{j=Ya()|0;k=I;a=200;break}case 198:{j=Ya()|0;k=I;if((b[N>>0]|0)<0){Hta(f[ia>>2]|0);a=200}else a=200;break}case 201:{j=Ya()|0;k=I;a=208;break}case 202:{j=Ya()|0;k=I;a=205;break}case 203:{j=Ya()|0;k=I;if((b[O>>0]|0)<0){Hta(f[ia>>2]|0);a=205}else a=205;break}case 206:{j=Ya()|0;k=I;if((b[P>>0]|0)<0){Hta(f[da>>2]|0);a=208}else a=208;break}case 226:{j=Ya()|0;k=I;a=230;break}case 227:{j=Ya()|0;k=I;a=229;break}case 228:{j=Ya()|0;k=I;_P(_);a=229;break}case 231:{j=Ya()|0;k=I;a=233;break}case 232:{j=Ya()|0;k=I;_P(aa);a=233;break}case 246:{j=Ya()|0;k=I;a=247;break}}if((a|0)==152)a=160;else if((a|0)==157)a=160;else if((a|0)==194){_P(ca);a=235}else if((a|0)==200)a=208;else if((a|0)==205)a=208;else if((a|0)==229){_P(ea);a=230}else if((a|0)==233){_P(fa);a=234}if((a|0)==160)if((b[U>>0]|0)<0){Hta(f[ka>>2]|0);a=162}else a=162;else if((a|0)==208)if((b[T>>0]|0)<0){Hta(f[ja>>2]|0);a=210}else a=210;else if((a|0)==230){_P(ga);a=234}if((a|0)==162)a=236;else if((a|0)==210)a=234;if((a|0)==234){_P(ka);a=235}if((a|0)==235)a=236;if((a|0)==236){_P(la);a=237}if((a|0)==237){_P(ma);a=238}if((a|0)==238){_P(na);a=239}if((a|0)==239)a=247;if((a|0)==247){c=f[oa>>2]|0;if(c|0){i=f[Y>>2]|0;if((i|0)!=(c|0)){do{na=i+-8|0;f[Y>>2]=na;Kc[f[f[na>>2]>>2]&511](na);i=f[Y>>2]|0}while((i|0)!=(c|0));c=f[oa>>2]|0}Hta(c)}_P(pa)}}while(0);if((a|0)==254){x=0;Fa(443,ia|0);pa=x;x=0;if(!(pa&1)){j=f[ua+4>>2]|0;x=0;j=sa(f[(f[j>>2]|0)+56>>2]|0,j|0,ia|0)|0;pa=x;x=0;if(!(pa&1)){_P(ua);c=j;a=260;break a}}j=Ya()|0;k=I}_P(ua)}i=j;a=266;break a}case 41:{j=Ya()|0;k=I;if((b[y>>0]|0)<0)Hta(f[ia>>2]|0);if((b[D>>0]|0)<0)Hta(f[C>>2]|0);Bca(B);a=48;break}case 46:{j=Ya()|0;k=I;a=60;break}case 47:{j=Ya()|0;k=I;a=48;break}case 58:{j=Ya()|0;k=I;break}case 59:{j=Ya()|0;k=I;_P(K);break}case 61:{j=Ya()|0;k=I;a=64;break}case 62:{j=Ya()|0;k=I;if((b[z>>0]|0)<0){Hta(f[L>>2]|0);a=64}else a=64;break}case 71:{j=Ya()|0;k=I;a=103;break}case 90:{j=Ya()|0;k=I;a=102;break}case 91:{j=Ya()|0;k=I;a=100;break}case 92:{j=Ya()|0;k=I;c=f[M>>2]|0;if(!c)a=100;else{i=f[E>>2]|0;if((i|0)!=(c|0)){do{a=i+-52|0;f[E>>2]=a;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[E>>2]|0}else i=a}while((i|0)!=(c|0));c=f[M>>2]|0}Hta(c);a=100}break}case 99:{j=Ya()|0;k=I;_P(oa);a=100;break}}if((a|0)==48){KU(pa,16528);a=60}else if((a|0)==64){f[pa>>2]=16476;f[F>>2]=16516;f[A>>2]=16496;f[B>>2]=16336;if((b[D>>0]|0)<0)Hta(f[C>>2]|0);Bca(B);KU(pa,16528);uma(F);a=67}else if((a|0)==100)if((b[G>>0]|0)<0){Hta(f[pa>>2]|0);a=102}else a=102;if((a|0)==60){uma(F);a=67}else if((a|0)==102)a=103;if((a|0)==67)a=103;if((a|0)==103)_P(ua);i=j;a=266}while(0);do if((a|0)==105){x=0;c=qa(318,60)|0;ua=x;x=0;if(ua&1){i=Ya()|0;k=I;a=266;break}V=ia;W=g;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));x=0;Fa(427,c|0);ua=x;x=0;if(ua&1){i=Ya()|0;k=I;Hta(c);a=266;break}else{V=c+12|0;W=ia;X=V+40|0;do{f[V>>2]=f[W>>2];V=V+4|0;W=W+4|0}while((V|0)<(X|0));b[c+52>>0]=0;b[c+53>>0]=0;b[c+54>>0]=0;f[c>>2]=13152;f[c+56>>2]=8;a=260;break}}while(0);if((a|0)==260){j=f[va>>2]|0;if(!j){u=ha;return c|0}k=f[ra>>2]|0;if((k|0)!=(j|0)){do{ua=k+-8|0;f[ra>>2]=ua;Kc[f[f[ua>>2]>>2]&511](ua);k=f[ra>>2]|0}while((k|0)!=(j|0));j=f[va>>2]|0}Hta(j);u=ha;return c|0}else if((a|0)==266){j=f[va>>2]|0;if(j|0){c=f[ra>>2]|0;if((c|0)!=(j|0)){do{ua=c+-8|0;f[ra>>2]=ua;Kc[f[f[ua>>2]>>2]&511](ua);c=f[ra>>2]|0}while((c|0)!=(j|0));j=f[va>>2]|0}Hta(j)}va=i;jb(va|0)}}while(0);if((b[n>>0]|0)<0)Hta(f[va>>2]|0);va=j;jb(va|0);return 0}function pd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0;M=u;u=u+464|0;J=M+240|0;K=M+200|0;H=M+160|0;r=M+120|0;z=M+80|0;p=M+40|0;N=M;O=M+440|0;l=M+456|0;k=M+448|0;h=M+432|0;n=M+424|0;o=M+416|0;t=M+400|0;y=M+392|0;C=M+376|0;q=M+368|0;v=M+352|0;A=M+344|0;D=M+328|0;s=M+320|0;w=M+304|0;B=M+296|0;E=M+280|0;m=VN(88)|0;L=c+108|0;j=N;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,m|0);G=x;x=0;do if(G&1)e=Ya()|0;else{j=m+12|0;F=N;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;e=m+56|0;f[m>>2]=11536;f[e>>2]=4;g=m+60|0;f[g>>2]=9660;i=m+64|0;j=m+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(516,i|0,0);G=x;x=0;if(G&1){e=Ya()|0;h=I;g=f[i>>2]|0;if(g|0){d=f[j>>2]|0;if((d|0)!=(g|0)){do{O=d+-8|0;f[j>>2]=O;Kc[f[f[O>>2]>>2]&511](O);d=f[j>>2]|0}while((d|0)!=(g|0));g=f[i>>2]|0}Hta(g)}break}f[m>>2]=11364;f[g>>2]=11496;b[m+80>>0]=1;f[m+84>>2]=0;f[e>>2]=4;qV(O,m);f[O>>2]=13648;if(d){x=0;e=ta(144,c|0,0,0)|0;G=x;x=0;if(G&1)m=21;else if(!e)m=26;else m=14}else{x=0;e=ta(145,c|0,0,0)|0;G=x;x=0;if(G&1)m=21;else if(!e)m=26;else m=14}a:do if((m|0)==14){e=c+168|0;f[K>>2]=f[e>>2];f[K+4>>2]=f[e+4>>2];f[K+8>>2]=f[e+8>>2];e=O+4|0;g=(f[e>>2]|0)+60|0;d=f[(f[g>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;N=x;x=0;do if(N&1)m=22;else{x=0;j=J;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));Ja(29,h|0,J|0,K|0,1);N=x;x=0;if(N&1){e=Ya()|0;Hta(h);break}x=0;Ga(462,l|0,h|0);N=x;x=0;if(N&1)m=22;else{f[l>>2]=7696;x=0;Ga(d|0,g|0,l|0);N=x;x=0;if(N&1){e=Ya()|0;_P(l);break}else{_P(l);m=236;break a}}}while(0);if((m|0)==22)e=Ya()|0}else if((m|0)==26){x=0;Ga(629,N|0,c|0);G=x;x=0;do if(G&1)e=Ya()|0;else{d=f[N+4>>2]|0;b:do if(!d){x=0;e=ta(71,c|0,1,0)|0;G=x;x=0;c:do if(!(G&1)){if(e|0){L=c+168|0;x=0;f[J>>2]=f[L>>2];f[J+4>>2]=f[L+4>>2];f[J+8>>2]=f[L+8>>2];Ka(9,h|0,c|0,J|0,0,1);L=x;x=0;do if(L&1)e=Ya()|0;else{x=0;Ga(462,K|0,f[h+4>>2]|0);L=x;x=0;if(L&1){e=Ya()|0;_P(h);break}f[K>>2]=7696;_P(h);e=f[K+4>>2]|0;if(!e)m=43;else if((f[327]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){L=(f[O+4>>2]|0)+60|0;x=0;Ga(f[(f[L>>2]|0)+24>>2]|0,L|0,e+60|0);L=x;x=0;if(L&1)m=47;else m=51}else m=43;do if((m|0)==43){g=(f[O+4>>2]|0)+60|0;d=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,n|0,e|0);L=x;x=0;if(L&1)m=47;else{f[n>>2]=7696;x=0;Ga(d|0,g|0,n|0);L=x;x=0;if(L&1){e=Ya()|0;_P(n);break}else{_P(n);m=51;break}}}while(0);if((m|0)==47)e=Ya()|0;else if((m|0)==51){_P(K);m=233;break b}_P(K)}while(0);m=234;break b}e=f[c+76>>2]|0;x=0;g=qa(348,e|0)|0;G=x;x=0;if(!(G&1)){G=g|0?g:e;F=b[G>>0]|0;G=G+1|0;F=F<<24>>24|0;G=(F|0)!=40&(F|0)!=91?((F|0)==123?G:0):G;if((G|0)==0?1:G>>>0>(f[c+80>>2]|0)>>>0){m=233;break b}x=0;e=ta(82,c|0,1,0)|0;G=x;x=0;if(!(G&1)){if(e|0){d=O+4|0;e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;G=x;x=0;if(G&1)break;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;i=t+11|0;b[i>>0]=1;b[t>>0]=40;b[t+1>>0]=0;j=p;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,h|0);G=x;x=0;do if(G&1){e=1;m=69}else{j=h+12|0;F=p;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h+56>>2]=4;f[h>>2]=11668;b[h+60>>0]=0;b[h+61>>0]=0;x=0;Ia(101,h+64|0,t|0,1);G=x;x=0;if(G&1){e=Ya()|0;g=1;m=70;break}f[h+76>>2]=0;x=0;Ga(462,o|0,h|0);G=x;x=0;if(G&1){e=0;m=69;break}f[o>>2]=7696;x=0;Ga(g|0,e|0,o|0);G=x;x=0;if(G&1){e=Ya()|0;_P(o);g=0;break}_P(o);if((b[i>>0]|0)<0)Hta(f[t>>2]|0);x=0;Ia(125,J|0,c|0,0);G=x;x=0;d:do if(G&1)e=Ya()|0;else{e=f[J+4>>2]|0;do if(e|0){G=(f[d>>2]|0)+60|0;x=0;Ga(f[(f[G>>2]|0)+24>>2]|0,G|0,e+60|0);G=x;x=0;if(!(G&1))break;e=Ya()|0;_P(J);break d}while(0);_P(J);x=0;e=ta(66,c|0,1,0)|0;G=x;x=0;if(G&1)break c;e:do if(!e){f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;e=qa(318,16)|0;G=x;x=0;do if(G&1)e=Ya()|0;else{f[J>>2]=e;f[J+8>>2]=-2147483632;f[J+4>>2]=11;j=e;F=44242;G=j+11|0;do{b[j>>0]=b[F>>0]|0;j=j+1|0;F=F+1|0}while((j|0)<(G|0));b[e+11>>0]=0;f[K+8>>2]=0;g=K+11|0;b[g>>0]=7;b[K>>0]=b[44254]|0;b[K+1>>0]=b[44255]|0;b[K+2>>0]=b[44256]|0;b[K+3>>0]=b[44257]|0;b[K+4>>0]=b[44258]|0;b[K+5>>0]=b[44259]|0;b[K+6>>0]=b[44260]|0;b[K+7>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;e=qa(318,32)|0;G=x;x=0;do if(G&1)e=Ya()|0;else{f[H>>2]=e;f[H+8>>2]=-2147483616;f[H+4>>2]=20;j=e;F=45161;G=j+20|0;do{b[j>>0]=b[F>>0]|0;j=j+1|0;F=F+1|0}while((j|0)<(G|0));b[e+20>>0]=0;x=0;Ka(8,c|0,J|0,K|0,H|0,1);c=x;x=0;if(c&1){e=Ya()|0;if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0);break}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);break e}while(0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0)}while(0);m=234;break b}while(0);e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;d=qa(318,80)|0;K=x;x=0;if(K&1)break c;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;h=C+11|0;b[h>>0]=1;b[C>>0]=41;b[C+1>>0]=0;j=z;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,d|0);L=x;x=0;do if(L&1){e=1;m=108}else{j=d+12|0;F=z;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d+56>>2]=4;f[d>>2]=11668;b[d+60>>0]=0;b[d+61>>0]=0;x=0;Ia(101,d+64|0,C|0,1);L=x;x=0;if(L&1){e=Ya()|0;g=1;m=109;break}f[d+76>>2]=0;x=0;Ga(462,y|0,d|0);L=x;x=0;if(L&1){e=0;m=108;break}f[y>>2]=7696;x=0;Ga(g|0,e|0,y|0);L=x;x=0;if(L&1){e=Ya()|0;_P(y);g=0;break}_P(y);if((b[h>>0]|0)>=0){m=233;break b}Hta(f[C>>2]|0);m=233;break b}while(0);if((m|0)==108){M=Ya()|0;g=e;e=M;m=109}if((b[h>>0]|0)<0){Hta(f[C>>2]|0);if(!g){m=234;break b}}else if(!g){m=234;break b}Hta(d);m=234;break b}while(0);m=234;break b}while(0);if((m|0)==69){M=Ya()|0;g=e;e=M;m=70}if((b[i>>0]|0)<0){Hta(f[t>>2]|0);if(!g){m=234;break b}}else if(!g){m=234;break b}Hta(h);m=234;break b}x=0;e=ta(83,c|0,1,0)|0;G=x;x=0;if(!(G&1)){if(e|0){d=O+4|0;e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;G=x;x=0;if(G&1)break;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;i=v+11|0;b[i>>0]=1;b[v>>0]=91;b[v+1>>0]=0;j=r;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,h|0);G=x;x=0;do if(G&1){e=1;m=128}else{j=h+12|0;F=r;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h+56>>2]=4;f[h>>2]=11668;b[h+60>>0]=0;b[h+61>>0]=0;x=0;Ia(101,h+64|0,v|0,1);G=x;x=0;if(G&1){e=Ya()|0;g=1;m=129;break}f[h+76>>2]=0;x=0;Ga(462,q|0,h|0);G=x;x=0;if(G&1){e=0;m=128;break}f[q>>2]=7696;x=0;Ga(g|0,e|0,q|0);G=x;x=0;if(G&1){e=Ya()|0;_P(q);g=0;break}_P(q);if((b[i>>0]|0)<0)Hta(f[v>>2]|0);x=0;Ia(125,J|0,c|0,0);G=x;x=0;f:do if(G&1)e=Ya()|0;else{e=f[J+4>>2]|0;do if(e|0){G=(f[d>>2]|0)+60|0;x=0;Ga(f[(f[G>>2]|0)+24>>2]|0,G|0,e+60|0);G=x;x=0;if(!(G&1))break;e=Ya()|0;_P(J);break f}while(0);_P(J);x=0;e=ta(84,c|0,1,0)|0;G=x;x=0;if(G&1)break c;g:do if(!e){f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;e=qa(318,16)|0;G=x;x=0;do if(G&1)e=Ya()|0;else{f[J>>2]=e;f[J+8>>2]=-2147483632;f[J+4>>2]=11;j=e;F=44242;G=j+11|0;do{b[j>>0]=b[F>>0]|0;j=j+1|0;F=F+1|0}while((j|0)<(G|0));b[e+11>>0]=0;f[K+8>>2]=0;g=K+11|0;b[g>>0]=7;b[K>>0]=b[44254]|0;b[K+1>>0]=b[44255]|0;b[K+2>>0]=b[44256]|0;b[K+3>>0]=b[44257]|0;b[K+4>>0]=b[44258]|0;b[K+5>>0]=b[44259]|0;b[K+6>>0]=b[44260]|0;b[K+7>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;e=qa(318,32)|0;G=x;x=0;do if(G&1)e=Ya()|0;else{f[H>>2]=e;f[H+8>>2]=-2147483616;f[H+4>>2]=20;j=e;F=45761;G=j+20|0;do{b[j>>0]=b[F>>0]|0;j=j+1|0;F=F+1|0}while((j|0)<(G|0));b[e+20>>0]=0;x=0;Ka(8,c|0,J|0,K|0,H|0,1);c=x;x=0;if(c&1){e=Ya()|0;if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0);break}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);break g}while(0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0)}while(0);m=234;break b}while(0);e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;d=qa(318,80)|0;K=x;x=0;if(K&1)break c;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;h=D+11|0;b[h>>0]=1;b[D>>0]=93;b[D+1>>0]=0;j=H;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,d|0);L=x;x=0;do if(L&1){e=1;m=167}else{j=d+12|0;F=H;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d+56>>2]=4;f[d>>2]=11668;b[d+60>>0]=0;b[d+61>>0]=0;x=0;Ia(101,d+64|0,D|0,1);L=x;x=0;if(L&1){e=Ya()|0;g=1;m=168;break}f[d+76>>2]=0;x=0;Ga(462,A|0,d|0);L=x;x=0;if(L&1){e=0;m=167;break}f[A>>2]=7696;x=0;Ga(g|0,e|0,A|0);L=x;x=0;if(L&1){e=Ya()|0;_P(A);g=0;break}_P(A);if((b[h>>0]|0)>=0){m=233;break b}Hta(f[D>>2]|0);m=233;break b}while(0);if((m|0)==167){M=Ya()|0;g=e;e=M;m=168}if((b[h>>0]|0)<0){Hta(f[D>>2]|0);if(!g){m=234;break b}}else if(!g){m=234;break b}Hta(d);m=234;break b}while(0);m=234;break b}while(0);if((m|0)==128){M=Ya()|0;g=e;e=M;m=129}if((b[i>>0]|0)<0){Hta(f[v>>2]|0);if(!g){m=234;break b}}else if(!g){m=234;break b}Hta(h);m=234;break b}x=0;e=ta(146,c|0,1,0)|0;G=x;x=0;if(!(G&1)){if(!e){m=233;break b}d=O+4|0;e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;h=qa(318,80)|0;G=x;x=0;if(G&1)break;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=w+11|0;b[i>>0]=1;b[w>>0]=123;b[w+1>>0]=0;j=K;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,h|0);G=x;x=0;do if(G&1){e=1;m=187}else{j=h+12|0;F=K;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h+56>>2]=4;f[h>>2]=11668;b[h+60>>0]=0;b[h+61>>0]=0;x=0;Ia(101,h+64|0,w|0,1);G=x;x=0;if(G&1){e=Ya()|0;g=1;m=188;break}f[h+76>>2]=0;x=0;Ga(462,s|0,h|0);G=x;x=0;if(G&1){e=0;m=187;break}f[s>>2]=7696;x=0;Ga(g|0,e|0,s|0);G=x;x=0;if(G&1){e=Ya()|0;_P(s);g=0;break}_P(s);if((b[i>>0]|0)<0)Hta(f[w>>2]|0);x=0;Ia(125,J|0,c|0,0);G=x;x=0;h:do if(G&1)e=Ya()|0;else{e=f[J+4>>2]|0;do if(e|0){G=(f[d>>2]|0)+60|0;x=0;Ga(f[(f[G>>2]|0)+24>>2]|0,G|0,e+60|0);G=x;x=0;if(!(G&1))break;e=Ya()|0;_P(J);break h}while(0);_P(J);x=0;e=ta(143,c|0,1,0)|0;G=x;x=0;if(G&1)break c;i:do if(!e){f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;x=0;e=qa(318,16)|0;G=x;x=0;do if(G&1)e=Ya()|0;else{f[J>>2]=e;f[J+8>>2]=-2147483632;f[J+4>>2]=11;j=e;F=44242;G=j+11|0;do{b[j>>0]=b[F>>0]|0;j=j+1|0;F=F+1|0}while((j|0)<(G|0));b[e+11>>0]=0;f[K+8>>2]=0;g=K+11|0;b[g>>0]=7;b[K>>0]=b[44254]|0;b[K+1>>0]=b[44255]|0;b[K+2>>0]=b[44256]|0;b[K+3>>0]=b[44257]|0;b[K+4>>0]=b[44258]|0;b[K+5>>0]=b[44259]|0;b[K+6>>0]=b[44260]|0;b[K+7>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;x=0;e=qa(318,32)|0;G=x;x=0;do if(G&1)e=Ya()|0;else{f[H>>2]=e;f[H+8>>2]=-2147483616;f[H+4>>2]=20;j=e;F=45073;G=j+20|0;do{b[j>>0]=b[F>>0]|0;j=j+1|0;F=F+1|0}while((j|0)<(G|0));b[e+20>>0]=0;x=0;Ka(8,c|0,J|0,K|0,H|0,1);c=x;x=0;if(c&1){e=Ya()|0;if((b[H+11>>0]|0)>=0)break;Hta(f[H>>2]|0);break}if((b[H+11>>0]|0)<0)Hta(f[H>>2]|0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);break i}while(0);if((b[g>>0]|0)<0)Hta(f[K>>2]|0);if((b[J+11>>0]|0)>=0)break;Hta(f[J>>2]|0)}while(0);m=234;break b}while(0);e=(f[d>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;d=qa(318,80)|0;K=x;x=0;if(K&1)break c;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;h=E+11|0;b[h>>0]=1;b[E>>0]=125;b[E+1>>0]=0;j=J;F=L;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));x=0;Fa(427,d|0);L=x;x=0;do if(L&1){e=1;m=226}else{j=d+12|0;F=J;G=j+40|0;do{f[j>>2]=f[F>>2];j=j+4|0;F=F+4|0}while((j|0)<(G|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;f[d+56>>2]=4;f[d>>2]=11668;b[d+60>>0]=0;b[d+61>>0]=0;x=0;Ia(101,d+64|0,E|0,1);L=x;x=0;if(L&1){e=Ya()|0;g=1;m=227;break}f[d+76>>2]=0;x=0;Ga(462,B|0,d|0);L=x;x=0;if(L&1){e=0;m=226;break}f[B>>2]=7696;x=0;Ga(g|0,e|0,B|0);L=x;x=0;if(L&1){e=Ya()|0;_P(B);g=0;break}_P(B);if((b[h>>0]|0)>=0){m=233;break b}Hta(f[E>>2]|0);m=233;break b}while(0);if((m|0)==226){M=Ya()|0;g=e;e=M;m=227}if((b[h>>0]|0)<0){Hta(f[E>>2]|0);if(!g){m=234;break b}}else if(!g){m=234;break b}Hta(d);m=234;break b}while(0);m=234;break b}while(0);if((m|0)==187){M=Ya()|0;g=e;e=M;m=188}if((b[i>>0]|0)<0){Hta(f[w>>2]|0);if(!g){m=234;break b}}else if(!g){m=234;break b}Hta(h);m=234;break b}}}}}while(0);e=Ya()|0;m=234}else{e=(f[O+4>>2]|0)+60|0;if((f[327]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)){x=0;Ga(f[(f[e>>2]|0)+24>>2]|0,e|0,d+60|0);L=x;x=0;if(!(L&1)){m=233;break}}else{g=f[(f[e>>2]|0)+20>>2]|0;x=0;Ga(462,k|0,d|0);L=x;x=0;if(!(L&1)){f[k>>2]=7696;x=0;Ga(g|0,e|0,k|0);L=x;x=0;if(L&1){e=Ya()|0;_P(k);m=234;break}else{_P(k);m=233;break}}}e=Ya()|0;m=234}while(0);if((m|0)==233){_P(N);e=O+4|0;m=236;break a}else if((m|0)==234){_P(N);break}}while(0)}while(0);if((m|0)==236){e=f[e>>2]|0;if((e|0)==0?1:(f[e+68>>2]|0)==(f[e+64>>2]|0))e=0;else b[e+8>>0]=1;x=0;Ga(462,a|0,e|0);N=x;x=0;if(N&1)m=21;else{f[a>>2]=13648;_P(O);u=M;return}}if((m|0)==21)e=Ya()|0;_P(O);O=e;jb(O|0)}while(0);Hta(m);O=e;jb(O|0)}function qd(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.0,l=0,m=0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,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,la=0;ja=u;u=u+768|0;ha=ja+40|0;la=ja;c=ja+728|0;y=ja+716|0;E=ja+704|0;F=ja+664|0;S=ja+648|0;P=ja+608|0;Y=ja+592|0;W=ja+552|0;ba=ja+536|0;_=ja+496|0;ea=ja+480|0;da=ja+440|0;ga=ja+424|0;G=ja+384|0;T=ja+368|0;Q=ja+328|0;Z=ja+312|0;X=ja+272|0;ca=ja+256|0;$=ja+216|0;fa=ja+200|0;H=ja+160|0;U=ja+144|0;R=ja+104|0;V=ja+92|0;J=ja+80|0;f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;B=la+11|0;b[B>>0]=6;b[la>>0]=b[39245]|0;b[la+1>>0]=b[39246]|0;b[la+2>>0]=b[39247]|0;b[la+3>>0]=b[39248]|0;b[la+4>>0]=b[39249]|0;b[la+5>>0]=b[39250]|0;b[la+6>>0]=0;M=c;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,y|0,h|0);ia=x;x=0;do if(ia&1)c=Ya()|0;else{x=0;M=ha;N=c;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));ia=wa(26,la|0,a|0,e|0,ha|0,y|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;l=I;d=f[y>>2]|0;if(!d)break;m=y+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[y>>2]|0}Hta(d);break}c=f[y>>2]|0;if(c|0){j=y+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[y>>2]|0}Hta(c)}if((b[B>>0]|0)<0)Hta(f[la>>2]|0);f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;d=ha+11|0;b[d>>0]=4;f[ha>>2]=1684369956;b[ha+4>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)l=0;else l=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;d=ha+11|0;b[d>>0]=6;b[ha>>0]=b[39214]|0;b[ha+1>>0]=b[39215]|0;b[ha+2>>0]=b[39216]|0;b[ha+3>>0]=b[39217]|0;b[ha+4>>0]=b[39218]|0;b[ha+5>>0]=b[39219]|0;b[ha+6>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)j=0;else j=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;d=ha+11|0;b[d>>0]=5;b[ha>>0]=b[39221]|0;b[ha+1>>0]=b[39222]|0;b[ha+2>>0]=b[39223]|0;b[ha+3>>0]=b[39224]|0;b[ha+4>>0]=b[39225]|0;b[ha+5>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)L=0;else L=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;d=ha+11|0;b[d>>0]=4;f[ha>>2]=1702193188;b[ha+4>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)i=0;else i=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);c=VN(16)|0;f[ha>>2]=c;f[ha+8>>2]=-2147483632;f[ha+4>>2]=11;M=c;N=39298;O=M+11|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[c+11>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[ha+11>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)m=0;else m=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[ha+11>>0]|0)<0)Hta(f[ha>>2]|0);d=ha+11|0;b[d>>0]=10;M=ha;N=39310;O=M+10|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[ha+10>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)D=0;else D=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;d=ha+11|0;b[d>>0]=6;b[ha>>0]=b[39238]|0;b[ha+1>>0]=b[39239]|0;b[ha+2>>0]=b[39240]|0;b[ha+3>>0]=b[39241]|0;b[ha+4>>0]=b[39242]|0;b[ha+5>>0]=b[39243]|0;b[ha+6>>0]=0;x=0;c=sa(992,a|0,ha|0)|0;aa=x;x=0;if(aa&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);la=c;jb(la|0)}c=f[c+4>>2]|0;if(!c)aa=0;else aa=(f[49]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;if((b[d>>0]|0)<0)Hta(f[ha>>2]|0);l=(l|0)!=0;B=(j|0)!=0;j=l|B|(L|0)!=0;i=(i|0)!=0;m=(m|0)!=0;c=i|m|(D|0)!=0;do if(j&c){d=VN(96)|0;f[E>>2]=d;f[E+8>>2]=-2147483552;f[E+4>>2]=80;M=d;N=39507;O=M+80|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[d+80>>0]=0;x=0;M=ha;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));Ia(100,E|0,ha|0,h|0);O=x;x=0;if(!(O&1)){if((b[E+11>>0]|0)>=0)break;Hta(f[E>>2]|0);break}c=Ya()|0;if((b[E+11>>0]|0)>=0){la=c;jb(la|0)}Hta(f[E>>2]|0);la=c;jb(la|0)}while(0);if(j){a:do if(l){f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=4;f[la>>2]=1684369956;b[la+4>>0]=0;M=F;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,S|0,h|0);fa=x;x=0;do if(fa&1)c=Ya()|0;else{x=0;M=ha;N=F;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,S|0,-100.0,100.0);fa=x;x=0;if(fa&1){c=Ya()|0;l=I;d=f[S>>2]|0;if(!d)break;m=S+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[S>>2]|0}Hta(d);break}k=k/100.0;c=f[S>>2]|0;if(c|0){j=S+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[S>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);q=k;break a}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}else q=0.0;while(0);b:do if(B){f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=6;b[la>>0]=b[39214]|0;b[la+1>>0]=b[39215]|0;b[la+2>>0]=b[39216]|0;b[la+3>>0]=b[39217]|0;b[la+4>>0]=b[39218]|0;b[la+5>>0]=b[39219]|0;b[la+6>>0]=0;M=P;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,Y|0,h|0);fa=x;x=0;do if(fa&1)c=Ya()|0;else{x=0;M=ha;N=P;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,Y|0,-100.0,100.0);fa=x;x=0;if(fa&1){c=Ya()|0;l=I;d=f[Y>>2]|0;if(!d)break;m=Y+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[Y>>2]|0}Hta(d);break}k=k/100.0;c=f[Y>>2]|0;if(c|0){j=Y+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[Y>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);o=k;break b}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}else o=0.0;while(0);c:do if(!L)v=0.0;else{f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=5;b[la>>0]=b[39221]|0;b[la+1>>0]=b[39222]|0;b[la+2>>0]=b[39223]|0;b[la+3>>0]=b[39224]|0;b[la+4>>0]=b[39225]|0;b[la+5>>0]=0;M=W;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,ba|0,h|0);fa=x;x=0;do if(fa&1)c=Ya()|0;else{x=0;M=ha;N=W;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,ba|0,-100.0,100.0);fa=x;x=0;if(fa&1){c=Ya()|0;l=I;d=f[ba>>2]|0;if(!d)break;m=ba+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[ba>>2]|0}Hta(d);break}k=k/100.0;c=f[ba>>2]|0;if(c|0){j=ba+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[ba>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);v=k;break c}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}while(0);d:do if(!aa)t=0.0;else{f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=6;b[la>>0]=b[39238]|0;b[la+1>>0]=b[39239]|0;b[la+2>>0]=b[39240]|0;b[la+3>>0]=b[39241]|0;b[la+4>>0]=b[39242]|0;b[la+5>>0]=b[39243]|0;b[la+6>>0]=0;M=_;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,ea|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;M=ha;N=_;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,ea|0,-100.0,100.0);ha=x;x=0;if(ha&1){c=Ya()|0;l=I;d=f[ea>>2]|0;if(!d)break;m=ea+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[ea>>2]|0}Hta(d);break}k=k/100.0;c=f[ea>>2]|0;if(c|0){j=ea+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[ea>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);t=k;break d}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}while(0);i=VN(112)|0;M=da;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+p[ia+64>>3];n=+p[ia+72>>3];r=+p[ia+80>>3];s=+p[ia+88>>3];d=ga+11|0;f[ga>>2]=0;f[ga+4>>2]=0;f[ga+8>>2]=0;M=la;N=da;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Fa(427,i|0);ia=x;x=0;do if(ia&1)c=Ya()|0;else{q=k+q*(q>0.0?255.0-k:k);o=n+o*(o>0.0?255.0-n:n);n=r+v*(v>0.0?255.0-r:r);k=s+t*(t>0.0?1.0-s:s);M=i+12|0;N=la;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=q;p[i+72>>3]=o;p[i+80>>3]=n;p[i+88>>3]=k;x=0;Ga(459,i+96|0,ga|0);la=x;x=0;if(la&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[ga>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){la=i;u=ja;return la|0}Hta(f[ga>>2]|0);la=i;u=ja;return la|0}while(0);Hta(i);la=c;jb(la|0)}if(!c){if(!aa){c=VN(48)|0;f[J>>2]=c;f[J+8>>2]=-2147483600;f[J+4>>2]=38;M=c;N=39588;O=M+38|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[c+38>>0]=0;x=0;M=ha;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));Ia(100,J|0,ha|0,h|0);la=x;x=0;if(la&1){c=Ya()|0;if((b[J+11>>0]|0)>=0){la=c;jb(la|0)}Hta(f[J>>2]|0);la=c;jb(la|0)}else{if((b[J+11>>0]|0)<0)Hta(f[J>>2]|0);la=ia;u=ja;return la|0}}f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=6;b[la>>0]=b[39238]|0;b[la+1>>0]=b[39239]|0;b[la+2>>0]=b[39240]|0;b[la+3>>0]=b[39241]|0;b[la+4>>0]=b[39242]|0;b[la+5>>0]=b[39243]|0;b[la+6>>0]=0;M=H;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,U|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;M=ha;N=H;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,U|0,-100.0,100.0);h=x;x=0;if(h&1){c=Ya()|0;l=I;d=f[U>>2]|0;if(!d)break;m=U+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[U>>2]|0}Hta(d);break}r=k/100.0;c=f[U>>2]|0;if(c|0){j=U+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[U>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);i=VN(112)|0;M=R;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));n=+p[ia+64>>3];o=+p[ia+72>>3];q=+p[ia+80>>3];k=+p[ia+88>>3];d=V+11|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;M=ha;N=R;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Fa(427,i|0);la=x;x=0;do if(la&1)c=Ya()|0;else{k=k+r*(r>0.0?1.0-k:k);M=i+12|0;N=ha;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;c=i+56|0;f[c>>2]=0;f[i>>2]=11116;p[i+64>>3]=n;p[i+72>>3]=o;p[i+80>>3]=q;p[i+88>>3]=k;x=0;Ga(459,i+96|0,V|0);la=x;x=0;if(la&1){c=Ya()|0;if((b[d>>0]|0)>=0)break;Hta(f[V>>2]|0);break}f[i+108>>2]=0;f[c>>2]=3;if((b[d>>0]|0)>=0){la=i;u=ja;return la|0}Hta(f[V>>2]|0);la=i;u=ja;return la|0}while(0);Hta(i);la=c;jb(la|0)}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}e:do if(i){f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=4;f[la>>2]=1702193188;b[la+4>>0]=0;M=G;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,T|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;M=ha;N=G;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,T|0,-100.0,100.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[T>>2]|0;if(!d)break;m=T+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[T>>2]|0}Hta(d);break}k=k/100.0;c=f[T>>2]|0;if(c|0){j=T+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[T>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);C=k;break e}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}else C=0.0;while(0);f:do if(m){c=VN(16)|0;f[la>>2]=c;f[la+8>>2]=-2147483632;f[la+4>>2]=11;M=c;N=39298;O=M+11|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[c+11>>0]=0;M=Q;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,Z|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;M=ha;N=Q;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,Z|0,-100.0,100.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[Z>>2]|0;if(!d)break;m=Z+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[Z>>2]|0}Hta(d);break}k=k/100.0;c=f[Z>>2]|0;if(c|0){j=Z+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[Z>>2]|0}Hta(c)}if((b[la+11>>0]|0)<0)Hta(f[la>>2]|0);A=k;break f}while(0);if((b[la+11>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}else A=0.0;while(0);g:do if(!D)z=0.0;else{y=la+11|0;b[y>>0]=10;M=la;N=39310;O=M+10|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[la+10>>0]=0;M=X;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,ca|0,h|0);ga=x;x=0;do if(ga&1)c=Ya()|0;else{x=0;M=ha;N=X;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,ca|0,-100.0,100.0);ga=x;x=0;if(ga&1){c=Ya()|0;l=I;d=f[ca>>2]|0;if(!d)break;m=ca+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[ca>>2]|0}Hta(d);break}k=k/100.0;c=f[ca>>2]|0;if(c|0){j=ca+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[ca>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);z=k;break g}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}while(0);h:do if(!aa)w=0.0;else{f[la>>2]=0;f[la+4>>2]=0;f[la+8>>2]=0;y=la+11|0;b[y>>0]=6;b[la>>0]=b[39238]|0;b[la+1>>0]=b[39239]|0;b[la+2>>0]=b[39240]|0;b[la+3>>0]=b[39241]|0;b[la+4>>0]=b[39242]|0;b[la+5>>0]=b[39243]|0;b[la+6>>0]=0;M=$;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));x=0;Ga(511,fa|0,h|0);h=x;x=0;do if(h&1)c=Ya()|0;else{x=0;M=ha;N=$;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));k=+ka(1,la|0,a|0,e|0,ha|0,fa|0,-100.0,100.0);h=x;x=0;if(h&1){c=Ya()|0;l=I;d=f[fa>>2]|0;if(!d)break;m=fa+4|0;i=f[m>>2]|0;if((i|0)!=(d|0)){do{j=i+-52|0;f[m>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[m>>2]|0}else i=j}while((i|0)!=(d|0));d=f[fa>>2]|0}Hta(d);break}k=k/100.0;c=f[fa>>2]|0;if(c|0){j=fa+4|0;d=f[j>>2]|0;if((d|0)!=(c|0)){do{i=d+-52|0;f[j>>2]=i;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[j>>2]|0}else d=i}while((d|0)!=(c|0));c=f[fa>>2]|0}Hta(c)}if((b[y>>0]|0)<0)Hta(f[la>>2]|0);w=k;break h}while(0);if((b[y>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0)}while(0);q=+p[ia+64>>3]/255.0;r=+p[ia+72>>3]/255.0;s=+p[ia+80>>3]/255.0;c=r0.0?360.0-q:q);o=o+A*(A>0.0?100.0-o:o);n=n+z*(z>0.0?100.0-n:n);k=+p[ia+88>>3];k=k+w*(w>0.0?1.0-k:k);M=ha;N=g;O=M+40|0;do{f[M>>2]=f[N>>2];M=M+4|0;N=N+4|0}while((M|0)<(O|0));la=Wo(q,o,n,k,0,ha)|0;u=ja;return la|0}while(0);if((b[B>>0]|0)<0)Hta(f[la>>2]|0);la=c;jb(la|0);return 0} +function $c(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,va=0,xa=0,ya=0;pa=u;u=u+96|0;ra=pa+84|0;qa=pa+72|0;da=pa+60|0;xa=pa+48|0;va=pa+36|0;ca=pa+24|0;ba=pa+12|0;aa=pa;ya=a+11|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a:do if(!(f[e>>2]&64))ma=59;else{A=qa+11|0;y=c+11|0;z=c+4|0;v=ra+11|0;t=ra+4|0;f[qa>>2]=0;f[qa+4>>2]=0;f[qa+8>>2]=0;k=0;q=0;r=0;j=0;i=0;o=0;b:while(1){ma=b[y>>0]|0;n=ma<<24>>24<0;l=n?f[c>>2]|0:c;ma=n?f[z>>2]|0:ma&255;n=l+ma|0;m=l;if(ma>>>0<=o>>>0){ma=30;break}l=l+o|0;c:while(1){switch(b[l>>0]|0){case 42:case 92:case 47:case 39:case 34:break c;default:{}}l=l+1|0;if((l|0)==(n|0)){ma=30;break b}}o=l-m|0;if((l|0)==(n|0)|(o|0)==-1){ma=30;break}x=0;l=sa(1055,c|0,o|0)|0;ma=x;x=0;if(ma&1){ma=10;break}switch(b[l>>0]|0){case 34:{l=k;n=q^((k|r)^1);p=r;k=o;break}case 39:{l=k;n=q;p=r^((k|q)^1);k=o;break}case 47:{if(k&(o|0)!=0){x=0;k=sa(1055,c|0,o+-1|0)|0;ma=x;x=0;if(ma&1){ma=10;break b}k=(b[k>>0]|0)==42;l=k^1;n=q;p=r;j=k?o+1|0:j;k=o}else{l=k;n=q;p=r;k=o}break}case 92:{l=k;n=q;p=r;k=o+((q|r)&1)|0;break}case 42:{if(q){l=k;n=1;p=r;k=o}else if((o|0)!=0&(r^1)){m=o+-1|0;x=0;l=sa(1055,c|0,m|0)|0;ma=x;x=0;if(ma&1){ma=10;break b}if((b[l>>0]|0)==47){x=0;Ka(4,ra|0,c|0,j|0,m-j|0,c|0);ma=x;x=0;if(ma&1){ma=25;break b}ma=b[v>>0]|0;la=ma<<24>>24<0;x=0;ta(41,qa|0,(la?f[ra>>2]|0:ra)|0,(la?f[t>>2]|0:ma&255)|0)|0;ma=x;x=0;if(ma&1){ma=26;break b}if((b[v>>0]|0)<0)Hta(f[ra>>2]|0);l=1;n=0;p=r;i=m;k=o}else{l=k;n=0;p=r;k=o}}else{l=k;n=0;p=r;k=o}break}default:{l=k;n=q;p=r;k=o}}o=k+1|0;if((o|0)==-1){k=l;ma=30;break}else{k=l;q=n;r=p}}d:do if((ma|0)==10)w=Ya()|0;else if((ma|0)==25){g=Ya()|0;ma=28}else if((ma|0)==26){g=Ya()|0;if((b[v>>0]|0)<0){Hta(f[ra>>2]|0);ma=28}else ma=28}else if((ma|0)==30){e:do if(k){x=0;Ka(4,ra|0,c|0,i|0,-1,c|0);la=x;x=0;do if(la&1)g=Ya()|0;else{i=ra+11|0;la=b[i>>0]|0;ka=la<<24>>24<0;x=0;ta(41,qa|0,(ka?f[ra>>2]|0:ra)|0,(ka?f[ra+4>>2]|0:la&255)|0)|0;la=x;x=0;if(la&1){g=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[ra>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[ra>>2]|0);break e}while(0);w=g;break d}else{x=0;Ka(4,ra|0,c|0,j|0,-1,c|0);la=x;x=0;do if(la&1)g=Ya()|0;else{i=ra+11|0;la=b[i>>0]|0;ka=la<<24>>24<0;x=0;ta(41,qa|0,(ka?f[ra>>2]|0:ra)|0,(ka?f[ra+4>>2]|0:la&255)|0)|0;la=x;x=0;if(la&1){g=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[ra>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[ra>>2]|0);break e}while(0);w=g;break d}while(0);if((b[y>>0]|0)<0){b[f[c>>2]>>0]=0;f[z>>2]=0}else{b[c>>0]=0;b[y>>0]=0}x=0;Ga(501,c|0,0);la=x;x=0;if(la&1){xa=Za(0)|0;soa(xa)}else{f[c>>2]=f[qa>>2];f[c+4>>2]=f[qa+4>>2];f[c+8>>2]=f[qa+8>>2];ma=59;break a}}while(0);if((ma|0)==28)w=g;if((b[A>>0]|0)<0)Hta(f[qa>>2]|0);g=w}while(0);do if((ma|0)==59){x=0;Ga(699,ra|0,c|0);ma=x;x=0;if(ma&1){g=Ya()|0;break}ia=c+11|0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[c+4>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);ma=x;x=0;if(ma&1){ma=Za(0)|0;soa(ma)}f[c>>2]=f[ra>>2];f[c+4>>2]=f[ra+4>>2];f[c+8>>2]=f[ra+8>>2];i=b[ia>>0]|0;ja=c+4|0;l=b[81207]|0;ma=i<<24>>24<0;m=ma?f[c>>2]|0:c;i=ma?f[ja>>2]|0:i&255;ma=l<<24>>24<0;k=ma?f[20299]|0:81196;l=ma?f[20300]|0:l&255;f:do if(!i)i=-1;else{j=m+i|0;g:do if(!l)i=m;else{i=m;while(1){if(!(HB(k,h[i>>0]|0,l)|0))break g;i=i+1|0;if((i|0)==(j|0)){i=-1;break f}}}while(0);i=i-m|0}while(0);ga=b[e+20>>0]|0?0:i;if((ga|0)==-1){x=0;Ia(79,ra|0,c|0,51444);xa=x;x=0;do if(xa&1)g=Ya()|0;else{i=ra+11|0;xa=b[i>>0]|0;va=xa<<24>>24<0;x=0;ta(41,e+24|0,(va?f[ra>>2]|0:ra)|0,(va?f[ra+4>>2]|0:xa&255)|0)|0;xa=x;x=0;if(xa&1){g=Ya()|0;if((b[i>>0]|0)>=0)break;Hta(f[ra>>2]|0);break}if((b[i>>0]|0)<0)Hta(f[ra>>2]|0);u=pa;return}while(0);break}x=0;Ka(4,xa|0,c|0,0,ga|0,c|0);ma=x;x=0;if(ma&1)g=Ya()|0;else{x=0;Ka(4,va|0,c|0,ga|0,2,c|0);ma=x;x=0;if(ma&1){g=Ya()|0;i=xa+11|0}else{i=xa+11|0;m=b[i>>0]|0;z=xa+4|0;A=e+56|0;ea=e+52|0;k=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;fa=e+40|0;j=f[(f[fa>>2]|0)+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;l=b[j+(k*12|0)+11>>0]|0;if(l<<24>>24<0)j=f[j+(k*12|0)+4>>2]|0;else j=l&255;la=e+8|0;ka=la+11|0;h:do if((m<<24>>24<0?f[z>>2]|0:m&255)>>>0>j>>>0){ha=e+12|0;ma=116}else{j=b[ka>>0]|0;l=e+12|0;k=f[l>>2]|0;do if(((j<<24>>24<0?k:j&255)|0)==2){x=0;j=wa(21,la|0,0,-1,51446,2)|0;ma=x;x=0;if(ma&1){ma=Za(0)|0;soa(ma)}if(!j){j=f[e>>2]|0;ma=99;break}else{j=b[ka>>0]|0;k=f[l>>2]|0;ma=94;break}}else ma=94;while(0);i:do if((ma|0)==94){if(((j<<24>>24<0?k:j&255)|0)==2){x=0;j=wa(21,la|0,0,-1,51449,2)|0;ha=x;x=0;if(ha&1){ha=Za(0)|0;soa(ha)}if(!j){j=f[e>>2]|0;if(j&128|0){ma=99;break}}}ha=b[ka>>0]|0;do if(((ha<<24>>24<0?f[l>>2]|0:ha&255)|0)==2){x=0;j=wa(21,la|0,0,-1,51449,2)|0;ha=x;x=0;if(ha&1){ha=Za(0)|0;soa(ha)}if(j|0)break;if(!(f[e>>2]&128))break i}while(0);if(b[e+6>>0]|0)if(!(b[e+5>>0]|0)){if(b[e+4>>0]|0){x=0;sa(991,a|0,51452)|0;ha=x;x=0;if(ha&1){ma=103;break h}else break}if(b[e+7>>0]|0)break;x=0;sa(991,a|0,51456)|0;ha=x;x=0;if(ha&1){ma=103;break h}}}while(0);if((ma|0)==99)if(!(j&64)){x=0;sa(991,a|0,51440)|0;ma=x;x=0;if(ma&1){ma=103;break}}x=0;sa(1032,la|0,89823)|0;ma=x;x=0;if(ma&1)ma=103;else{ha=l;ma=116}}while(0);j:do if((ma|0)==116){y=e+44|0;v=ra+11|0;s=ra+2|0;t=ra+4|0;w=da+11|0;k:while(1){p=b[i>>0]|0;m=f[A>>2]|0;k=f[ea>>2]|0;n=m+-1+k|0;l=f[fa>>2]|0;j=f[l+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;q=j+(n*12|0)|0;o=b[q+11>>0]|0;r=o<<24>>24<0;if(r)j=f[j+(n*12|0)+4>>2]|0;else j=o&255;if((p<<24>>24<0?f[z>>2]|0:p&255)>>>0>=j>>>0){ma=153;break}if(r){Hta(f[q>>2]|0);m=f[A>>2]|0;l=f[fa>>2]|0;k=f[ea>>2]|0}f[A>>2]=m+-1;j=f[y>>2]|0;r=j-l>>2;if((1-k-m+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Hta(f[j+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}r=b[ka>>0]|0;do if(!((r<<24>>24<0?f[ha>>2]|0:r&255)|0)){x=0;j=wa(21,la|0,0,-1,89823,0)|0;r=x;x=0;if(r&1){ma=128;break k}if(j|0){ma=151;break}j=f[e>>2]&-249;do if(!j){f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;b[v>>0]=2;d[ra>>1]=32032;b[s>>0]=0;j=2;k=0}else{if((j|0)<2){f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;b[v>>0]=2;d[ra>>1]=32032;b[s>>0]=0;j=2;k=0;break}r=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;x=0;Ia(92,da|0,51444,(f[(f[fa>>2]|0)+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0);r=x;x=0;if(r&1){ma=146;break k}x=0;j=sa(991,da|0,51458)|0;r=x;x=0;if(r&1){ma=139;break k}f[ra>>2]=f[j>>2];f[ra+4>>2]=f[j+4>>2];f[ra+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((b[w>>0]|0)<0)Hta(f[da>>2]|0);j=b[v>>0]|0;k=f[t>>2]|0}while(0);r=j<<24>>24<0;x=0;ta(41,a|0,(r?f[ra>>2]|0:ra)|0,(r?k:j&255)|0)|0;r=x;x=0;if(r&1){ma=148;break k}if((b[v>>0]|0)<0)Hta(f[ra>>2]|0)}else ma=151;while(0);if((ma|0)==151){ma=0;x=0;sa(991,a|0,51440)|0;r=x;x=0;if(r&1){ma=103;break j}}x=0;sa(1032,la|0,89823)|0;r=x;x=0;if(r&1){ma=103;break j}}if((ma|0)==128){ra=Za(0)|0;soa(ra)}else if((ma|0)==139){g=Ya()|0;if((b[w>>0]|0)<0)Hta(f[da>>2]|0);ma=147}else if((ma|0)==146){g=Ya()|0;ma=147}else if((ma|0)==148){g=Ya()|0;if((b[v>>0]|0)<0)Hta(f[ra>>2]|0)}else if((ma|0)==153){r=e+4|0;b[r>>0]=0;x=0;Ka(4,ra|0,c|0,ga|0,1,c|0);B=x;x=0;if(B&1){g=Ya()|0;break}j=ra+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ra+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,51460,1)|0;B=x;x=0;if(B&1){B=Za(0)|0;soa(B)}else{C=(g|0)==0;D=b[j>>0]|0;break}}else{C=0;D=g}while(0);if(D<<24>>24<0)Hta(f[ra>>2]|0);if(C){b[r>>0]=1;b[((b[ia>>0]|0)<0?f[c>>2]|0:c)+ga>>0]=32}x=0;Ka(4,ra|0,c|0,ga|0,1,c|0);D=x;x=0;l:do if(D&1)g=Ya()|0;else{k=ra+11|0;D=b[k>>0]|0;do if(((D<<24>>24<0?f[ra+4>>2]|0:D&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,53454,1)|0;D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}if(g|0){g=0;break}x=0;Ka(4,qa|0,c|0,ga|0,2,c|0);D=x;x=0;if(D&1){g=Ya()|0;if((b[k>>0]|0)>=0)break l;Hta(f[ra>>2]|0);break l}j=qa+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[qa+4>>2]|0:g&255)|0)==2){x=0;g=wa(21,qa|0,0,-1,51462,2)|0;D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}else{E=(g|0)!=0;F=b[j>>0]|0;break}}else{E=1;F=g}while(0);if(F<<24>>24<0)Hta(f[qa>>2]|0);g=E}else g=0;while(0);if((b[k>>0]|0)<0)Hta(f[ra>>2]|0);m:do if(g){b[r>>0]=1;k=b[ia>>0]|0;j=k<<24>>24<0;n=j?f[c>>2]|0:c;k=j?f[ja>>2]|0:k&255;j=b[81207]|0;$=j<<24>>24<0;m=$?f[20299]|0:81196;j=$?f[20300]|0:j&255;n:do if(!(k>>>0<=ga>>>0|(j|0)==0)){g=n+ga|0;o=n+k|0;l=m+j|0;o:do if((k|0)!=(ga|0))while(1){k=b[g>>0]|0;j=m;do{if(k<<24>>24==(b[j>>0]|0))break o;j=j+1|0}while((j|0)!=(l|0));g=g+1|0;if((g|0)==(o|0))break n}while(0);q=g-n|0;if((g|0)==(o|0)|(q|0)==-1)break;p=q-ga|0;x=0;Ka(4,ra|0,c|0,ga|0,p|0,c|0);$=x;x=0;p:do if($&1)g=Ya()|0;else{g=b[ia>>0]|0;l=g<<24>>24<0;m=l?f[c>>2]|0:c;g=l?f[ja>>2]|0:g&255;l=b[81207]|0;$=l<<24>>24<0;k=$?f[20299]|0:81196;l=$?f[20300]|0:l&255;q:do if(g>>>0>q>>>0){j=m+g|0;g=m+q|0;r:do if(l)while(1){if(!(HB(k,h[g>>0]|0,l)|0))break r;g=g+1|0;if((g|0)==(j|0))break q}while(0);g=g-m|0;if((g|0)==-1)break;x=0;g=sa(1055,c|0,g|0)|0;$=x;x=0;s:do if($&1)ma=511;else{if((b[g>>0]|0)==58)break q;j=ra+11|0;k=b[j>>0]|0;l=k<<24>>24<0;o=ra+4|0;g=f[o>>2]|0;m=l?g:k&255;do if(m|0){n=l?f[ra>>2]|0:ra;t:do if((m|0)!=1){m=n+m|0;l=n+1|0;while(1){if(!(HB(51465,h[l>>0]|0,53)|0))break;l=l+1|0;if((l|0)==(m|0))break t}l=l-n|0;if((l|0)==-1)break;x=0;ta(40,ra|0,l|0,-1)|0;$=x;x=0;if($&1){ma=511;break s}k=b[j>>0]|0;g=f[o>>2]|0}while(0);l=k<<24>>24<0?g:k&255;do if(l){while(1){l=l+-1|0;x=0;g=sa(1055,ra|0,l|0)|0;ma=x;x=0;if(ma&1){ma=510;break}g=Ema(b[g>>0]|0)|0;x=0;k=sa(1055,ra|0,l|0)|0;ma=x;x=0;if(ma&1){ma=510;break}b[k>>0]=g;if(!l){ma=206;break}}if((ma|0)==206){k=b[j>>0]|0;g=f[o>>2]|0;break}else if((ma|0)==510){g=Ya()|0;ma=512;break s}}while(0);if(((k<<24>>24<0?g:k&255)|0)==5){x=0;g=wa(21,ra|0,0,-1,51519,5)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,51525,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==7){x=0;g=wa(21,ra|0,0,-1,51534,7)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==5){x=0;g=wa(21,ra|0,0,-1,51542,5)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==12){x=0;g=wa(21,ra|0,0,-1,51548,12)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,51561,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,51568,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,51575,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==7){x=0;g=wa(21,ra|0,0,-1,51582,7)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==5){x=0;g=wa(21,ra|0,0,-1,51590,5)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==10){x=0;g=wa(21,ra|0,0,-1,51596,10)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==18){x=0;g=wa(21,ra|0,0,-1,51607,18)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==12){x=0;g=wa(21,ra|0,0,-1,51626,12)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==17){x=0;g=wa(21,ra|0,0,-1,51639,17)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==11){x=0;g=wa(21,ra|0,0,-1,51657,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==14){x=0;g=wa(21,ra|0,0,-1,51669,14)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==13){x=0;g=wa(21,ra|0,0,-1,51684,13)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==11){x=0;g=wa(21,ra|0,0,-1,51698,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==13){x=0;g=wa(21,ra|0,0,-1,51710,13)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,51724,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==4){x=0;g=wa(21,ra|0,0,-1,51731,4)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,51736,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,51745,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,51752,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==9){x=0;g=wa(21,ra|0,0,-1,51761,9)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==13){x=0;g=wa(21,ra|0,0,-1,51771,13)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==9){x=0;g=wa(21,ra|0,0,-1,51785,9)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==9){x=0;g=wa(21,ra|0,0,-1,51795,9)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==10){x=0;g=wa(21,ra|0,0,-1,51805,10)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==11){x=0;g=wa(21,ra|0,0,-1,51816,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==4){x=0;g=wa(21,ra|0,0,-1,51828,4)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,51833,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==9){x=0;g=wa(21,ra|0,0,-1,51842,9)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,51852,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;g=f[o>>2]|0;k=b[j>>0]|0}if(((k<<24>>24<0?g:k&255)|0)==14){x=0;g=wa(21,ra|0,0,-1,51861,14)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==15){x=0;g=wa(21,ra|0,0,-1,51876,15)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==9){x=0;g=wa(21,ra|0,0,-1,51892,9)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==11){x=0;g=wa(21,ra|0,0,-1,51902,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,51914,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==19){x=0;g=wa(21,ra|0,0,-1,51921,19)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==18){x=0;g=wa(21,ra|0,0,-1,51941,18)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==20){x=0;g=wa(21,ra|0,0,-1,51960,20)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,51981,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==5){x=0;g=wa(21,ra|0,0,-1,51990,5)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==7){x=0;g=wa(21,ra|0,0,-1,51996,7)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==18){x=0;g=wa(21,ra|0,0,-1,52004,18)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==11){x=0;g=wa(21,ra|0,0,-1,52023,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==6){x=0;g=wa(21,ra|0,0,-1,52035,6)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==10){x=0;g=wa(21,ra|0,0,-1,52042,10)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==15){x=0;g=wa(21,ra|0,0,-1,52053,15)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==11){x=0;g=wa(21,ra|0,0,-1,52069,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==16){x=0;g=wa(21,ra|0,0,-1,52081,16)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)==8){x=0;g=wa(21,ra|0,0,-1,52098,8)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}if(!g)break q;k=b[j>>0]|0;g=f[o>>2]|0}if(((k<<24>>24<0?g:k&255)|0)!=11)break;x=0;g=wa(21,ra|0,0,-1,52107,11)|0;$=x;x=0;if($&1){$=Za(0)|0;soa($)}else if(!g)break q;else break}while(0);x=0;Ka(4,ba|0,c|0,ga+1|0,p+-1|0,c|0);$=x;x=0;do if($&1)g=Ya()|0;else{g=b[i>>0]|0;$=g<<24>>24<0;x=0;g=ua(12,ba|0,0,($?f[xa>>2]|0:xa)|0,($?f[z>>2]|0:g&255)|0)|0;$=x;x=0;do if($&1)g=Ya()|0;else{f[ca>>2]=f[g>>2];f[ca+4>>2]=f[g+4>>2];f[ca+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=0;g=sa(991,ca|0,53454)|0;$=x;x=0;do if($&1)g=Ya()|0;else{f[da>>2]=f[g>>2];f[da+4>>2]=f[g+4>>2];f[da+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=0;Ka(4,aa|0,c|0,q|0,-1,c|0);$=x;x=0;do if($&1)g=Ya()|0;else{l=aa+11|0;k=b[l>>0]|0;$=k<<24>>24<0;x=0;k=ta(41,da|0,($?f[aa>>2]|0:aa)|0,($?f[aa+4>>2]|0:k&255)|0)|0;$=x;x=0;if($&1){g=Ya()|0;if((b[l>>0]|0)>=0)break;Hta(f[aa>>2]|0);break}g=f[k>>2]|0;j=k+4|0;f[qa>>2]=f[j>>2];d[qa+4>>1]=d[j+4>>1]|0;b[qa+6>>0]=b[j+6>>0]|0;j=b[k+11>>0]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[ja>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);$=x;x=0;if($&1){$=Za(0)|0;soa($)}f[c>>2]=g;f[ja>>2]=f[qa>>2];d[ja+4>>1]=d[qa+4>>1]|0;b[ja+6>>0]=b[qa+6>>0]|0;b[c+11>>0]=j;f[qa>>2]=0;d[qa+4>>1]=0;b[qa+6>>0]=0;if((b[l>>0]|0)<0)Hta(f[aa>>2]|0);if((b[da+11>>0]|0)<0)Hta(f[da>>2]|0);if((b[ca+11>>0]|0)<0)Hta(f[ca>>2]|0);if((b[ba+11>>0]|0)<0)Hta(f[ba>>2]|0);m=b[ia>>0]|0;ca=m<<24>>24<0;j=ca?f[c>>2]|0:c;m=ca?f[ja>>2]|0:m&255;if(m>>>0<=ga>>>0)break q;n=j+m|0;g=j+ga|0;while(1){l=b[g>>0]|0;if(!(HB(53454,l&255,1)|0))break;g=g+1|0;if((g|0)==(n|0))break q}k=g-j|0;if((k|0)==-1)break q;if(m>>>0>k>>>0){u:do if(l<<24>>24!=58)do{g=g+1|0;if((g|0)==(n|0)){g=n;break u}}while((b[g>>0]|0)!=58);while(0);g=(g|0)==(n|0)?-1:g-j|0}else g=-1;b[r>>0]=(g|0)==-1&1;break q}while(0);if((b[da+11>>0]|0)>=0)break;Hta(f[da>>2]|0)}while(0);if((b[ca+11>>0]|0)>=0)break;Hta(f[ca>>2]|0)}while(0);if((b[ba+11>>0]|0)>=0)break;Hta(f[ba>>2]|0)}while(0)}while(0);if((ma|0)==511){g=Ya()|0;j=ra+11|0;ma=512}if((b[j>>0]|0)>=0)break p;Hta(f[ra>>2]|0);break p}while(0);if((b[ra+11>>0]|0)<0)Hta(f[ra>>2]|0);break n}while(0);break j}while(0);x=0;Ka(4,ra|0,c|0,ga|0,1,c|0);ca=x;x=0;if(ca&1){g=Ya()|0;break j}j=ra+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ra+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,53454,1)|0;ca=x;x=0;if(ca&1){ca=Za(0)|0;soa(ca)}if(g|0){g=b[j>>0]|0;break}g=(b[r>>0]|0)==0;if((b[j>>0]|0)<0)Hta(f[ra>>2]|0);if(g)break m;k=b[ia>>0]|0;j=k<<24>>24<0;n=j?f[c>>2]|0:c;k=j?f[ja>>2]|0:k&255;j=b[81207]|0;ca=j<<24>>24<0;m=ca?f[20299]|0:81196;j=ca?f[20300]|0:j&255;if(k>>>0<=ga>>>0|(j|0)==0)g=-1;else{g=n+ga|0;o=n+k|0;l=m+j|0;v:do if((k|0)!=(ga|0))while(1){k=b[g>>0]|0;j=m;do{if(k<<24>>24==(b[j>>0]|0))break v;j=j+1|0}while((j|0)!=(l|0));g=g+1|0;if((g|0)==(o|0)){g=o;break}}while(0);g=(g|0)==(o|0)?-1:g-n|0}x=0;Ka(4,da|0,c|0,ga+1|0,g|0,c|0);ca=x;x=0;do if(ca&1)g=Ya()|0;else{g=b[i>>0]|0;ca=g<<24>>24<0;x=0;g=ua(12,da|0,0,(ca?f[xa>>2]|0:xa)|0,(ca?f[z>>2]|0:g&255)|0)|0;ca=x;x=0;do if(ca&1)g=Ya()|0;else{f[qa>>2]=f[g>>2];f[qa+4>>2]=f[g+4>>2];f[qa+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=0;k=sa(991,qa|0,53454)|0;ca=x;x=0;if(ca&1){g=Ya()|0;if((b[qa+11>>0]|0)>=0)break;Hta(f[qa>>2]|0);break}g=f[k>>2]|0;j=k+4|0;f[ra>>2]=f[j>>2];d[ra+4>>1]=d[j+4>>1]|0;b[ra+6>>0]=b[j+6>>0]|0;j=b[k+11>>0]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[ja>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);ca=x;x=0;if(ca&1){ca=Za(0)|0;soa(ca)}f[c>>2]=g;f[ja>>2]=f[ra>>2];d[ja+4>>1]=d[ra+4>>1]|0;b[ja+6>>0]=b[ra+6>>0]|0;b[c+11>>0]=j;f[ra>>2]=0;d[ra+4>>1]=0;b[ra+6>>0]=0;if((b[qa+11>>0]|0)<0)Hta(f[qa>>2]|0);if((b[da+11>>0]|0)<0)Hta(f[da>>2]|0);break m}while(0);if((b[da+11>>0]|0)>=0)break;Hta(f[da>>2]|0)}while(0);break j}while(0);if(g<<24>>24<0)Hta(f[ra>>2]|0)}else{x=0;Ka(4,ra|0,c|0,ga|0,5,c|0);aa=x;x=0;w:do if(aa&1)g=Ya()|0;else{n=ra+11|0;aa=b[n>>0]|0;do if(((aa<<24>>24<0?f[ra+4>>2]|0:aa&255)|0)==5){x=0;g=wa(21,ra|0,0,-1,52119,5)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else if(!g){G=1;break}else{ma=577;break}}else ma=577;while(0);x:do if((ma|0)==577){x=0;Ka(4,qa|0,c|0,ga|0,6,c|0);aa=x;x=0;y:do if(aa&1)g=Ya()|0;else{m=qa+11|0;aa=b[m>>0]|0;do if(((aa<<24>>24<0?f[qa+4>>2]|0:aa&255)|0)==6){x=0;g=wa(21,qa|0,0,-1,52125,6)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else if(!g){H=1;break}else{ma=582;break}}else ma=582;while(0);z:do if((ma|0)==582){x=0;Ka(4,da|0,c|0,ga|0,6,c|0);aa=x;x=0;A:do if(aa&1)g=Ya()|0;else{l=da+11|0;aa=b[l>>0]|0;do if(((aa<<24>>24<0?f[da+4>>2]|0:aa&255)|0)==6){x=0;g=wa(21,da|0,0,-1,52132,6)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else if(!g){I=1;break}else{ma=587;break}}else ma=587;while(0);B:do if((ma|0)==587){x=0;Ka(4,ca|0,c|0,ga|0,8,c|0);aa=x;x=0;do if(aa&1)g=Ya()|0;else{k=ca+11|0;aa=b[k>>0]|0;do if(((aa<<24>>24<0?f[ca+4>>2]|0:aa&255)|0)==8){x=0;g=wa(21,ca|0,0,-1,52139,8)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else if(!g){J=1;break}else{ma=592;break}}else ma=592;while(0);if((ma|0)==592){x=0;Ka(4,ba|0,c|0,ga|0,10,c|0);aa=x;x=0;if(aa&1){g=Ya()|0;if((b[k>>0]|0)>=0)break;Hta(f[ca>>2]|0);break}j=ba+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ba+4>>2]|0:g&255)|0)==10){x=0;g=wa(21,ba|0,0,-1,52148,10)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else{K=b[j>>0]|0;L=(g|0)==0;break}}else{K=g;L=0}while(0);if(K<<24>>24<0)Hta(f[ba>>2]|0);J=L}if((b[k>>0]|0)<0)Hta(f[ca>>2]|0);I=J;break B}while(0);if((b[l>>0]|0)>=0)break A;Hta(f[da>>2]|0);break A}while(0);if((b[l>>0]|0)<0)Hta(f[da>>2]|0);H=I;break z}while(0);if((b[m>>0]|0)>=0)break y;Hta(f[qa>>2]|0);break y}while(0);if((b[m>>0]|0)<0)Hta(f[qa>>2]|0);G=H;break x}while(0);if((b[n>>0]|0)>=0)break w;Hta(f[ra>>2]|0);break w}while(0);if((b[n>>0]|0)<0)Hta(f[ra>>2]|0);if(G){x=0;Ka(4,qa|0,c|0,ga|0,-1,c|0);da=x;x=0;do if(da&1)g=Ya()|0;else{k=b[i>>0]|0;da=k<<24>>24<0;x=0;k=ua(12,qa|0,0,(da?f[xa>>2]|0:xa)|0,(da?f[z>>2]|0:k&255)|0)|0;da=x;x=0;if(da&1){g=Ya()|0;if((b[qa+11>>0]|0)>=0)break;Hta(f[qa>>2]|0);break}g=f[k>>2]|0;j=k+4|0;f[ra>>2]=f[j>>2];d[ra+4>>1]=d[j+4>>1]|0;b[ra+6>>0]=b[j+6>>0]|0;j=b[k+11>>0]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[ja>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);da=x;x=0;if(da&1){da=Za(0)|0;soa(da)}f[c>>2]=g;f[ja>>2]=f[ra>>2];d[ja+4>>1]=d[ra+4>>1]|0;b[ja+6>>0]=b[ra+6>>0]|0;b[c+11>>0]=j;f[ra>>2]=0;d[ra+4>>1]=0;b[ra+6>>0]=0;if((b[qa+11>>0]|0)<0)Hta(f[qa>>2]|0);break m}while(0);break j}x=0;Ka(4,ra|0,c|0,ga|0,1,c|0);aa=x;x=0;if(aa&1){g=Ya()|0;break j}j=ra+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ra+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,52159,1)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else{M=(g|0)==0;N=b[j>>0]|0;break}}else{M=0;N=g}while(0);if(N<<24>>24<0)Hta(f[ra>>2]|0);if(M){x=0;Ia(79,qa|0,xa|0,52161);ca=x;x=0;do if(ca&1)g=Ya()|0;else{x=0;Ka(4,da|0,c|0,ga+1|0,-1,c|0);ca=x;x=0;do if(ca&1)g=Ya()|0;else{l=da+11|0;k=b[l>>0]|0;ca=k<<24>>24<0;x=0;k=ta(41,qa|0,(ca?f[da>>2]|0:da)|0,(ca?f[da+4>>2]|0:k&255)|0)|0;ca=x;x=0;if(ca&1){g=Ya()|0;if((b[l>>0]|0)>=0)break;Hta(f[da>>2]|0);break}g=f[k>>2]|0;j=k+4|0;f[ra>>2]=f[j>>2];d[ra+4>>1]=d[j+4>>1]|0;b[ra+6>>0]=b[j+6>>0]|0;j=b[k+11>>0]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[ja>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);ca=x;x=0;if(ca&1){ca=Za(0)|0;soa(ca)}f[c>>2]=g;f[ja>>2]=f[ra>>2];d[ja+4>>1]=d[ra+4>>1]|0;b[ja+6>>0]=b[ra+6>>0]|0;b[c+11>>0]=j;f[ra>>2]=0;d[ra+4>>1]=0;b[ra+6>>0]=0;if((b[l>>0]|0)<0)Hta(f[da>>2]|0);if((b[qa+11>>0]|0)<0)Hta(f[qa>>2]|0);break m}while(0);if((b[qa+11>>0]|0)>=0)break;Hta(f[qa>>2]|0)}while(0);break j}x=0;Ka(4,ra|0,c|0,ga|0,1,c|0);aa=x;x=0;if(aa&1){g=Ya()|0;break j}j=ra+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ra+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,52169,1)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else{O=(g|0)==0;P=b[j>>0]|0;break}}else{O=0;P=g}while(0);if(P<<24>>24<0)Hta(f[ra>>2]|0);if(O){g=ga+1|0;switch(b[((b[ia>>0]|0)<0?f[c>>2]|0:c)+g>>0]|0){case 9:case 32:case 0:break m;default:{}}x=0;Ia(79,qa|0,xa|0,52171);ca=x;x=0;do if(ca&1)g=Ya()|0;else{x=0;Ka(4,da|0,c|0,g|0,-1,c|0);ca=x;x=0;do if(ca&1)g=Ya()|0;else{l=da+11|0;k=b[l>>0]|0;ca=k<<24>>24<0;x=0;k=ta(41,qa|0,(ca?f[da>>2]|0:da)|0,(ca?f[da+4>>2]|0:k&255)|0)|0;ca=x;x=0;if(ca&1){g=Ya()|0;if((b[l>>0]|0)>=0)break;Hta(f[da>>2]|0);break}g=f[k>>2]|0;j=k+4|0;f[ra>>2]=f[j>>2];d[ra+4>>1]=d[j+4>>1]|0;b[ra+6>>0]=b[j+6>>0]|0;j=b[k+11>>0]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[ja>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);ca=x;x=0;if(ca&1){ca=Za(0)|0;soa(ca)}f[c>>2]=g;f[ja>>2]=f[ra>>2];d[ja+4>>1]=d[ra+4>>1]|0;b[ja+6>>0]=b[ra+6>>0]|0;b[c+11>>0]=j;f[ra>>2]=0;d[ra+4>>1]=0;b[ra+6>>0]=0;if((b[l>>0]|0)<0)Hta(f[da>>2]|0);if((b[qa+11>>0]|0)<0)Hta(f[qa>>2]|0);break m}while(0);if((b[qa+11>>0]|0)>=0)break;Hta(f[qa>>2]|0)}while(0);break j}x=0;Ka(4,ra|0,c|0,ga|0,7,c|0);aa=x;x=0;if(aa&1){g=Ya()|0;break j}j=ra+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ra+4>>2]|0:g&255)|0)==7){x=0;g=wa(21,ra|0,0,-1,52181,7)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else{Q=(g|0)==0;R=b[j>>0]|0;break}}else{Q=0;R=g}while(0);if(R<<24>>24<0)Hta(f[ra>>2]|0);if(!Q){x=0;Ka(4,ra|0,c|0,ga|0,7,c|0);ba=x;x=0;C:do if(ba&1)g=Ya()|0;else{m=ra+11|0;ba=b[m>>0]|0;do if(((ba<<24>>24<0?f[ra+4>>2]|0:ba&255)|0)==7){x=0;g=wa(21,ra|0,0,-1,52194,7)|0;ba=x;x=0;if(ba&1){da=Za(0)|0;soa(da)}else if(!g){S=0;break}else{ma=791;break}}else ma=791;while(0);D:do if((ma|0)==791){x=0;Ka(4,qa|0,c|0,ga|0,7,c|0);ba=x;x=0;E:do if(ba&1)g=Ya()|0;else{l=qa+11|0;ba=b[l>>0]|0;do if(((ba<<24>>24<0?f[qa+4>>2]|0:ba&255)|0)==7){x=0;g=wa(21,qa|0,0,-1,52202,7)|0;ba=x;x=0;if(ba&1){da=Za(0)|0;soa(da)}else if(!g){T=0;break}else{ma=796;break}}else ma=796;while(0);F:do if((ma|0)==796){x=0;Ka(4,da|0,c|0,ga|0,8,c|0);ba=x;x=0;do if(ba&1)g=Ya()|0;else{k=da+11|0;ba=b[k>>0]|0;do if(((ba<<24>>24<0?f[da+4>>2]|0:ba&255)|0)==8){x=0;g=wa(21,da|0,0,-1,52210,8)|0;ba=x;x=0;if(ba&1){ca=Za(0)|0;soa(ca)}else if(!g){U=0;break}else{ma=801;break}}else ma=801;while(0);if((ma|0)==801){x=0;Ka(4,ca|0,c|0,ga|0,8,c|0);ba=x;x=0;if(ba&1){g=Ya()|0;if((b[k>>0]|0)>=0)break;Hta(f[da>>2]|0);break}j=ca+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ca+4>>2]|0:g&255)|0)==8){x=0;g=wa(21,ca|0,0,-1,52219,8)|0;ba=x;x=0;if(ba&1){ba=Za(0)|0;soa(ba)}else{V=b[j>>0]|0;W=(g|0)!=0;break}}else{V=g;W=1}while(0);if(V<<24>>24<0)Hta(f[ca>>2]|0);U=W}if((b[k>>0]|0)<0)Hta(f[da>>2]|0);T=U;break F}while(0);if((b[l>>0]|0)>=0)break E;Hta(f[qa>>2]|0);break E}while(0);if((b[l>>0]|0)<0)Hta(f[qa>>2]|0);S=T;break D}while(0);if((b[m>>0]|0)>=0)break C;Hta(f[ra>>2]|0);break C}while(0);if((b[m>>0]|0)<0)Hta(f[ra>>2]|0);if(!S)break m;b[r>>0]=1;m=b[ia>>0]|0;j=m<<24>>24<0;g=f[c>>2]|0;n=j?g:c;j=j?f[ja>>2]|0:m&255;if(j>>>0<=ga>>>0)break m;l=n+j|0;j=n+ga|0;while(1){if((b[j>>0]|0)==58)break;j=j+1|0;if((j|0)==(l|0))break m}k=j-n|0;if((j|0)==(l|0)|(k|0)==-1)break m;k=k+1|0;if((b[n+k>>0]|0)==32){b[r>>0]=0;j=b[ia>>0]|0;g=f[c>>2]|0}else j=m;if((b[(j<<24>>24<0?g:c)+k>>0]|0)!=9)break m;b[r>>0]=0;break m}while(0);break j}j=ga+7|0;n=b[ia>>0]|0;q=n<<24>>24<0;r=q?f[c>>2]|0:c;n=q?f[ja>>2]|0:n&255;q=b[81207]|0;o=q<<24>>24<0;p=o?f[20299]|0:81196;q=o?f[20300]|0:q&255;o=(q|0)==0;if(n>>>0<=j>>>0|o)g=-1;else{g=r+j|0;m=r+n|0;l=p+q|0;G:do if((n|0)!=(j|0))while(1){k=b[g>>0]|0;j=p;do{if(k<<24>>24==(b[j>>0]|0))break G;j=j+1|0}while((j|0)!=(l|0));g=g+1|0;if((g|0)==(m|0)){g=m;break}}while(0);g=(g|0)==(m|0)?-1:g-r|0}H:do if(n>>>0>g>>>0){j=r+n|0;g=r+g|0;I:do if(!o)while(1){if(!(HB(p,h[g>>0]|0,q)|0))break I;g=g+1|0;if((g|0)==(j|0)){n=-1;break H}}while(0);n=g-r|0}else n=-1;while(0);x=0;Ka(4,ra|0,c|0,n|0,4,c|0);aa=x;x=0;if(aa&1){g=Ya()|0;break j}j=ra+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[ra+4>>2]|0:g&255)|0)==4){x=0;g=wa(21,ra|0,0,-1,52189,4)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else{X=(g|0)!=0;Y=b[j>>0]|0;break}}else{X=1;Y=g}while(0);if(Y<<24>>24<0)Hta(f[ra>>2]|0);if(!X)break m;x=0;Ka(4,ra|0,c|0,n|0,1,c|0);aa=x;x=0;do if(aa&1)g=Ya()|0;else{k=ra+11|0;aa=b[k>>0]|0;do if(((aa<<24>>24<0?f[ra+4>>2]|0:aa&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,53046,1)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else if(!g){Z=0;break}else{ma=731;break}}else ma=731;while(0);if((ma|0)==731){x=0;Ka(4,qa|0,c|0,n|0,1,c|0);aa=x;x=0;if(aa&1){g=Ya()|0;if((b[k>>0]|0)>=0)break;Hta(f[ra>>2]|0);break}j=qa+11|0;g=b[j>>0]|0;do if(((g<<24>>24<0?f[qa+4>>2]|0:g&255)|0)==1){x=0;g=wa(21,qa|0,0,-1,53146,1)|0;aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}else{_=(g|0)!=0;$=b[j>>0]|0;break}}else{_=1;$=g}while(0);if($<<24>>24<0)Hta(f[qa>>2]|0);Z=_}if((b[k>>0]|0)<0)Hta(f[ra>>2]|0);if(!Z)break m;j=b[ia>>0]|0;l=j<<24>>24<0;m=l?f[c>>2]|0:c;j=l?f[ja>>2]|0:j&255;l=b[81207]|0;g=l<<24>>24<0;k=g?f[20299]|0:81196;l=g?f[20300]|0:l&255;g=m+j|0;if(!l){if(!j)break m;g=g+-1|0}else do{if((g|0)==(m|0))break m;g=g+-1|0}while((HB(k,h[g>>0]|0,l)|0)!=0);g=g-m|0;if((g|0)==-1)break m;x=0;Ka(4,ca|0,c|0,0,n|0,c|0);aa=x;x=0;do if(aa&1)g=Ya()|0;else{x=0;j=sa(991,ca|0,53046)|0;aa=x;x=0;do if(aa&1)g=Ya()|0;else{f[da>>2]=f[j>>2];f[da+4>>2]=f[j+4>>2];f[da+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;x=0;Ka(4,ba|0,c|0,n|0,1-n+g|0,c|0);aa=x;x=0;do if(aa&1)g=Ya()|0;else{l=ba+11|0;g=b[l>>0]|0;aa=g<<24>>24<0;x=0;g=ta(41,da|0,(aa?f[ba>>2]|0:ba)|0,(aa?f[ba+4>>2]|0:g&255)|0)|0;aa=x;x=0;do if(aa&1)g=Ya()|0;else{f[qa>>2]=f[g>>2];f[qa+4>>2]=f[g+4>>2];f[qa+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=0;k=sa(991,qa|0,53046)|0;aa=x;x=0;if(aa&1){g=Ya()|0;if((b[qa+11>>0]|0)>=0)break;Hta(f[qa>>2]|0);break}g=f[k>>2]|0;j=k+4|0;f[ra>>2]=f[j>>2];d[ra+4>>1]=d[j+4>>1]|0;b[ra+6>>0]=b[j+6>>0]|0;j=b[k+11>>0]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[ia>>0]|0)<0){b[f[c>>2]>>0]=0;f[ja>>2]=0}else{b[c>>0]=0;b[ia>>0]=0}x=0;Ga(501,c|0,0);aa=x;x=0;if(aa&1){aa=Za(0)|0;soa(aa)}f[c>>2]=g;f[ja>>2]=f[ra>>2];d[ja+4>>1]=d[ra+4>>1]|0;b[ja+6>>0]=b[ra+6>>0]|0;b[c+11>>0]=j;f[ra>>2]=0;d[ra+4>>1]=0;b[ra+6>>0]=0;if((b[qa+11>>0]|0)<0)Hta(f[qa>>2]|0);if((b[l>>0]|0)<0)Hta(f[ba>>2]|0);if((b[da+11>>0]|0)<0)Hta(f[da>>2]|0);if((b[ca+11>>0]|0)<0)Hta(f[ca>>2]|0);break m}while(0);if((b[l>>0]|0)>=0)break;Hta(f[ba>>2]|0)}while(0);if((b[da+11>>0]|0)>=0)break;Hta(f[da>>2]|0)}while(0);if((b[ca+11>>0]|0)>=0)break;Hta(f[ca>>2]|0)}while(0);break j}while(0);break j}while(0);break j}while(0);l=b[i>>0]|0;j=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;g=f[(f[fa>>2]|0)+(((j>>>0)/341|0)<<2)>>2]|0;j=(j>>>0)%341|0;k=b[g+(j*12|0)+11>>0]|0;if(k<<24>>24<0)g=f[g+(j*12|0)+4>>2]|0;else g=k&255;J:do if((l<<24>>24<0?f[z>>2]|0:l&255)>>>0>=g>>>0){da=b[ka>>0]|0;if((da<<24>>24<0?f[ha>>2]|0:da&255)|0)break;x=0;g=wa(21,la|0,0,-1,89823,0)|0;da=x;x=0;if(da&1){da=Za(0)|0;soa(da)}if(g|0)break;j=b[ia>>0]|0;g=j<<24>>24<0;j=g?f[ja>>2]|0:j&255;if(!j)break;o=qa+11|0;p=qa+4|0;k=0;n=g?f[c>>2]|0:c;while(1){j=n+j|0;g=n+k|0;while(1){if(!(HB(52998,h[g>>0]|0,6)|0))break;g=g+1|0;if((g|0)==(j|0))break J}k=g-n|0;if((k|0)==-1)break J;x=0;Ka(4,qa|0,c|0,k|0,2,c|0);da=x;x=0;if(da&1){ma=103;break j}g=b[o>>0]|0;if(((g<<24>>24<0?f[p>>2]|0:g&255)|0)==2){x=0;g=wa(21,qa|0,0,-1,51446,2)|0;da=x;x=0;if(da&1){ma=855;break}j=(g|0)==0;g=b[o>>0]|0}else j=0;if(g<<24>>24<0)Hta(f[qa>>2]|0);if(!j){ma=866;break}j=b[ia>>0]|0;da=j<<24>>24<0;n=da?f[c>>2]|0:c;j=da?f[ja>>2]|0:j&255;if(j>>>0>>0)break J;g=n+k|0;m=n+j|0;l=m;k=l-g|0;if((k|0)<2)break J;while(1){k=k+-1|0;if(!k)break J;g=HB(g,42,k)|0;if(!g)break J;if(!(lO(g,52228,2)|0))break;g=g+1|0;k=l-g|0;if((k|0)<2)break J}da=g-n|0;k=da+2|0;if(!((g|0)!=(m|0)&(da|0)!=-1&j>>>0>k>>>0))break J}if((ma|0)==855){da=Za(0)|0;soa(da)}else if((ma|0)==866){b[e+6>>0]=1;break}}while(0);l=b[i>>0]|0;j=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;g=f[(f[fa>>2]|0)+(((j>>>0)/341|0)<<2)>>2]|0;j=(j>>>0)%341|0;k=b[g+(j*12|0)+11>>0]|0;if(k<<24>>24<0)g=f[g+(j*12|0)+4>>2]|0;else g=k&255;K:do if((l<<24>>24<0?f[z>>2]|0:l&255)>>>0>g>>>0){j=b[ka>>0]|0;g=f[ha>>2]|0;do if(!((j<<24>>24<0?g:j&255)|0)){x=0;g=wa(21,la|0,0,-1,89823,0)|0;da=x;x=0;if(da&1){da=Za(0)|0;soa(da)}if(g|0){j=b[ka>>0]|0;g=f[ha>>2]|0;break}if(!(b[e+6>>0]|0))break K;g=f[e>>2]&-249;L:do if(!g){k=qa+4|0;f[k>>2]=0;f[k+4>>2]=0;k=qa+11|0;b[k>>0]=3;b[qa>>0]=b[52231]|0;b[qa+1>>0]=b[52232]|0;b[qa+2>>0]=b[52233]|0;b[qa+3>>0]=0;g=3;j=0;ma=889}else{if((g|0)<3){f[qa>>2]=0;f[qa+4>>2]=0;f[qa+8>>2]=0;k=qa+11|0;b[k>>0]=2;d[qa>>1]=31520;b[qa+2>>0]=0;g=2;j=0;ma=889;break}da=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;x=0;Ia(92,ra|0,51444,(f[(f[fa>>2]|0)+(((da>>>0)/341|0)<<2)>>2]|0)+(((da>>>0)%341|0)*12|0)|0);da=x;x=0;do if(da&1)g=Ya()|0;else{x=0;g=sa(991,ra|0,52235)|0;da=x;x=0;if(da&1){g=Ya()|0;if((b[ra+11>>0]|0)<0)Hta(f[ra>>2]|0);break}else{f[qa>>2]=f[g>>2];f[qa+4>>2]=f[g+4>>2];f[qa+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if((b[ra+11>>0]|0)<0)Hta(f[ra>>2]|0);g=qa+11|0;k=g;g=b[g>>0]|0;j=f[qa+4>>2]|0;ma=889;break L}}while(0)}while(0);do if((ma|0)==889){da=g<<24>>24<0;x=0;ta(41,a|0,(da?f[qa>>2]|0:qa)|0,(da?j:g&255)|0)|0;da=x;x=0;if(da&1){g=Ya()|0;if((b[k>>0]|0)>=0)break;Hta(f[qa>>2]|0);break}if((b[k>>0]|0)<0)Hta(f[qa>>2]|0);f[ra>>2]=0;f[ra+4>>2]=0;f[ra+8>>2]=0;k=f[y>>2]|0;j=f[fa>>2]|0;da=k-j>>2;l=f[ea>>2]|0;g=f[A>>2]|0;do if((((da|0)==0?0:(da*341|0)+-1|0)|0)==(g+l|0)){x=0;Fa(467,e+36|0);da=x;x=0;if(da&1){g=Ya()|0;break j}else{g=f[A>>2]|0;l=f[ea>>2]|0;k=f[y>>2]|0;j=f[fa>>2]|0;break}}while(0);g=g+l|0;if((k|0)==(j|0))g=0;else g=(f[j+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[g>>2]=f[ra>>2];f[g+4>>2]=f[ra+4>>2];f[g+8>>2]=f[ra+8>>2];ma=f[A>>2]|0;f[A>>2]=ma+1;ma=ma+(f[ea>>2]|0)|0;x=0;sa(986,(f[(f[fa>>2]|0)+(((ma>>>0)/341|0)<<2)>>2]|0)+(((ma>>>0)%341|0)*12|0)|0,xa|0)|0;ma=x;x=0;if(ma&1){ma=103;break j}else break K}while(0);break j}while(0);if(((j<<24>>24<0?g:j&255)|0)==2){x=0;g=wa(21,la|0,0,-1,51446,2)|0;ma=x;x=0;if(ma&1){ma=Za(0)|0;soa(ma)}if(!g)break;j=b[ka>>0]|0;g=f[ha>>2]|0}do if(((j<<24>>24<0?g:j&255)|0)==2){x=0;g=wa(21,la|0,0,-1,51449,2)|0;ma=x;x=0;if(ma&1){ma=Za(0)|0;soa(ma)}if(g|0)break;if(f[e>>2]&128|0)break K}while(0);j=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;g=f[(f[fa>>2]|0)+(((j>>>0)/341|0)<<2)>>2]|0;j=(j>>>0)%341|0;k=b[g+(j*12|0)+11>>0]|0;if(k<<24>>24<0)g=f[g+(j*12|0)+4>>2]|0;else g=k&255;x=0;g=sa(1055,c|0,g|0)|0;ma=x;x=0;if(ma&1){ma=103;break j}b[g>>0]=47;j=(f[A>>2]|0)+-1+(f[ea>>2]|0)|0;g=f[(f[fa>>2]|0)+(((j>>>0)/341|0)<<2)>>2]|0;j=(j>>>0)%341|0;k=b[g+(j*12|0)+11>>0]|0;if(k<<24>>24<0)g=f[g+(j*12|0)+4>>2]|0;else g=k&255;x=0;g=sa(1055,c|0,g+1|0)|0;ma=x;x=0;if(ma&1){ma=103;break j}b[g>>0]=47}while(0);n=va+11|0;g=b[n>>0]|0;k=va+4|0;j=f[k>>2]|0;do if(((g<<24>>24<0?j:g&255)|0)==2){x=0;g=wa(21,va|0,0,-1,51446,2)|0;ma=x;x=0;if(ma&1){ma=Za(0)|0;soa(ma)}if(!g){ma=932;break}g=b[n>>0]|0;j=f[k>>2]|0;ma=928}else ma=928;while(0);do if((ma|0)==928){if(((g<<24>>24<0?j:g&255)|0)!=2)break;x=0;g=wa(21,va|0,0,-1,51449,2)|0;fa=x;x=0;if(fa&1){ga=Za(0)|0;soa(ga)}else if(!g){ma=932;break}else break}while(0);if((ma|0)==932){b[e+6>>0]=0;g=b[ka>>0]|0;j=f[ha>>2]|0;do if(((g<<24>>24<0?j:g&255)|0)==2){x=0;g=wa(21,la|0,0,-1,51446,2)|0;ma=x;x=0;if(ma&1){ma=Za(0)|0;soa(ma)}if(!g){ma=942;break}g=b[ka>>0]|0;j=f[ha>>2]|0;ma=937}else ma=937;while(0);do if((ma|0)==937){if(((g<<24>>24<0?j:g&255)|0)!=2)break;x=0;g=wa(21,la|0,0,-1,51449,2)|0;fa=x;x=0;if(fa&1){fa=Za(0)|0;soa(fa)}if(g|0)break;if(f[e>>2]&128|0)ma=942}while(0);M:do if((ma|0)==942){fa=b[n>>0]|0;do if(!((fa<<24>>24<0?f[k>>2]|0:fa&255)|0)){x=0;g=wa(21,va|0,0,-1,89823,0)|0;fa=x;x=0;if(fa&1){fa=Za(0)|0;soa(fa)}else if(!g)break M;else break}while(0);if(f[e>>2]&192|0)break;x=0;sa(991,a|0,51440)|0;fa=x;x=0;if(fa&1){ma=103;break j}}while(0);do if(f[e>>2]&128|0){fa=b[ka>>0]|0;if((fa<<24>>24<0?f[ha>>2]|0:fa&255)|0)break;x=0;g=wa(21,la|0,0,-1,89823,0)|0;fa=x;x=0;if(fa&1){fa=Za(0)|0;soa(fa)}if(g|0)break;x=0;g=sa(1055,c|0,ga+1|0)|0;ga=x;x=0;if(ga&1){ma=103;break j}b[g>>0]=42}while(0);x=0;sa(986,la|0,va|0)|0;ga=x;x=0;if(ga&1){ma=103;break j}}ga=b[ka>>0]|0;do if(!((ga<<24>>24<0?f[ha>>2]|0:ga&255)|0)){x=0;g=wa(21,la|0,0,-1,89823,0)|0;ga=x;x=0;if(ga&1){ga=Za(0)|0;soa(ga)}else if(!g){ma=961;break}else{ma=960;break}}else ma=960;while(0);if((ma|0)==960)if(!(f[e>>2]&64))ma=961;N:do if((ma|0)==961){ga=b[ka>>0]|0;do if(((ga<<24>>24<0?f[ha>>2]|0:ga&255)|0)==2){x=0;g=wa(21,la|0,0,-1,51449,2)|0;ga=x;x=0;if(ga&1){ga=Za(0)|0;soa(ga)}if(g|0)break;if(!(f[e>>2]&160))break N}while(0);x=0;Ia(151,ra|0,c|0,e|0);ga=x;x=0;do if(ga&1)g=Ya()|0;else{j=ra+11|0;ga=b[j>>0]|0;fa=ga<<24>>24<0;x=0;ta(41,a|0,(fa?f[ra>>2]|0:ra)|0,(fa?f[ra+4>>2]|0:ga&255)|0)|0;ga=x;x=0;if(ga&1){g=Ya()|0;if((b[j>>0]|0)>=0)break;Hta(f[ra>>2]|0);break}if((b[j>>0]|0)<0)Hta(f[ra>>2]|0);break N}while(0);break j}while(0);j=b[ia>>0]|0;l=j<<24>>24<0;m=l?f[c>>2]|0:c;j=l?f[ja>>2]|0:j&255;l=b[81207]|0;g=l<<24>>24<0;k=g?f[20299]|0:81196;l=g?f[20300]|0:l&255;g=m+j|0;O:do if(!l){if(!j)break;g=g+-1|0;ma=980}else while(1){if((g|0)==(m|0))break O;g=g+-1|0;if(!(HB(k,h[g>>0]|0,l)|0)){ma=980;break}}while(0);P:do if((ma|0)==980){j=g-m|0;if((j|0)==-1)break;x=0;Ka(4,ra|0,c|0,j|0,1,c|0);ja=x;x=0;Q:do if(ja&1)g=Ya()|0;else{ja=b[ka>>0]|0;do if(!((ja<<24>>24<0?f[ha>>2]|0:ja&255)|0)){x=0;g=wa(21,la|0,0,-1,89823,0)|0;ja=x;x=0;if(ja&1){ja=Za(0)|0;soa(ja)}if(g|0){g=0;break}ja=b[ra+11>>0]|0;do if(((ja<<24>>24<0?f[ra+4>>2]|0:ja&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,52774,1)|0;ja=x;x=0;if(ja&1){ja=Za(0)|0;soa(ja)}else{na=(g|0)==0;break}}else na=0;while(0);g=na&1}else g=0;while(0);b[e+5>>0]=g;na=b[ka>>0]|0;do if(!((na<<24>>24<0?f[ha>>2]|0:na&255)|0)){x=0;g=wa(21,la|0,0,-1,89823,0)|0;na=x;x=0;if(na&1){na=Za(0)|0;soa(na)}if(g|0){g=0;break}na=b[ra+11>>0]|0;do if(((na<<24>>24<0?f[ra+4>>2]|0:na&255)|0)==1){x=0;g=wa(21,ra|0,0,-1,51456,1)|0;na=x;x=0;if(na&1){na=Za(0)|0;soa(na)}else{oa=(g|0)==0;break}}else oa=0;while(0);g=oa&1}else g=0;while(0);b[e+7>>0]=g;R:do if(j|0){x=0;Ka(4,qa|0,c|0,j+-1|0,2,c|0);e=x;x=0;S:do if(e&1)g=Ya()|0;else{j=qa+11|0;e=b[j>>0]|0;do if(((e<<24>>24<0?f[qa+4>>2]|0:e&255)|0)==2){x=0;g=wa(21,qa|0,0,-1,52228,2)|0;e=x;x=0;if(e&1){e=Za(0)|0;soa(e)}if(g|0)break;x=0;sa(1032,la|0,89823)|0;e=x;x=0;if(!(e&1))break;g=Ya()|0;if((b[j>>0]|0)>=0)break S;Hta(f[qa>>2]|0);break S}while(0);if((b[j>>0]|0)<0)Hta(f[qa>>2]|0);break R}while(0);if((b[ra+11>>0]|0)>=0)break Q;Hta(f[ra>>2]|0);break Q}while(0);if((b[ra+11>>0]|0)<0)Hta(f[ra>>2]|0);break P}while(0);break j}while(0);if((b[n>>0]|0)<0)Hta(f[va>>2]|0);if((b[i>>0]|0)<0)Hta(f[xa>>2]|0);u=pa;return}while(0);break}}while(0);if((ma|0)==103)g=Ya()|0;if((b[va+11>>0]|0)<0)Hta(f[va>>2]|0)}if((b[i>>0]|0)<0)Hta(f[xa>>2]|0)}}while(0);if((b[ya>>0]|0)>=0)jb(g|0);Hta(f[a>>2]|0);jb(g|0)}function ad(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,xa=0,ya=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,Ka=0,Oa=0;Da=0;va=u;u=u+1440|0;xa=va+32|0;Oa=va+1e3|0;h=va+1416|0;g=va+1376|0;Ka=va+968|0;Ha=va+952|0;Ea=va+800|0;Ca=va+780|0;q=va+1368|0;r=va+1352|0;p=va+1312|0;t=va+1272|0;y=va+1256|0;v=va+1248|0;z=va+1232|0;w=va+1192|0;B=va+1152|0;D=va+1136|0;l=va+992|0;m=va+984|0;n=va+960|0;o=va+944|0;s=va+792|0;C=va+768|0;Aa=va+684|0;Ba=va+664|0;A=va+728|0;J=va+16|0;G=va+712|0;F=va+704|0;E=va+696|0;ya=va+532|0;K=va+624|0;M=va+608|0;ua=va+400|0;P=va+568|0;ga=va+556|0;aa=va+544|0;da=va+520|0;na=va+336|0;ca=va+480|0;H=va+440|0;L=va+424|0;N=va+416|0;O=va+360|0;Q=va+352|0;R=va+328|0;S=va+316|0;Z=va;V=va+304|0;U=va+296|0;T=va+288|0;_=va+248|0;$=va+236|0;la=va+224|0;ka=va+212|0;ea=va+192|0;ha=va+200|0;fa=va+152|0;ja=va+136|0;ia=va+96|0;ma=va+84|0;ra=a+12|0;pa=f[ra>>2]|0;e=f[4161]|0;a:do if((((f[pa+4>>2]|0)-(f[pa>>2]|0)|0)/52|0)>>>0>e>>>0){k=Oa+56|0;i=Oa+4|0;f[Oa>>2]=2388;f[k>>2]=2408;x=0;Ga(531,Oa+56|0,i|0);pa=x;x=0;if(pa&1){Oa=Ya()|0;uma(k);jb(Oa|0)}f[Oa+128>>2]=0;f[Oa+132>>2]=-1;f[Oa>>2]=16420;f[k>>2]=16440;x=0;Fa(437,i|0);pa=x;x=0;do if(pa&1)d=Ya()|0;else{f[i>>2]=16336;j=Oa+36|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[Oa+52>>2]=16;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;x=0;Ga(532,i|0,xa|0);pa=x;x=0;if(pa&1){d=Ya()|0;if((b[xa+11>>0]|0)<0)Hta(f[xa>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(i);break}if((b[xa+11>>0]|0)<0)Hta(f[xa>>2]|0);x=0;d=ta(44,Oa|0,47639,28)|0;pa=x;x=0;do if(pa&1)Da=25;else{x=0;sa(1001,d|0,e|0)|0;pa=x;x=0;if(pa&1)Da=25;else{x=0;Ga(533,h|0,i|0);pa=x;x=0;if(pa&1)Da=25;else{W=g;X=c+12|0;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));d=f[ra>>2]|0;x=0;W=xa;X=g;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,h|0,xa|0,d|0);pa=x;x=0;if(pa&1){d=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);f[Oa>>2]=16420;f[k>>2]=16440;f[i>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(i);Zna(Oa,16452);uma(k);break a}}}while(0);if((Da|0)==25)d=Ya()|0;f[Oa>>2]=16420;f[k>>2]=16440;f[i>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(i);Zna(Oa,16452);uma(k);Oa=d;jb(Oa|0)}while(0);Zna(Oa,16452);Oa=d;uma(k);jb(Oa|0)}while(0);oa=c+60|0;qH(Oa,oa);x=0;Ia(79,Ka|0,Oa|0,48507);Da=x;x=0;if(Da&1)d=Ya()|0;else{x=0;Ga(462,Ha|0,f[c+76>>2]|0);Da=x;x=0;if(Da&1)d=Ya()|0;else{f[Ha>>2]=9376;pa=a+4|0;x=0;ba=qa(384,f[pa>>2]|0)|0;Da=x;x=0;b:do if(Da&1)Da=49;else{x=0;d=sa(1009,ba|0,Ka|0)|0;Da=x;x=0;if(Da&1)Da=49;else{if(d)if(!(b[c+88>>0]|0)){x=0;d=qa(387,((b[Oa+11>>0]|0)<0?f[Oa>>2]|0:Oa)|0)|0;Da=x;x=0;if(Da&1){Da=49;break}if(!d)Da=127;else Da=39}else Da=127;else Da=39;c:do if((Da|0)==39){f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;e=xa+11|0;b[e>>0]=4;f[xa>>2]=1566989098;b[xa+4>>0]=0;x=0;d=sa(1009,ba|0,xa|0)|0;Y=x;x=0;if(Y&1){d=Ya()|0;if((b[e>>0]|0)<0)Hta(f[xa>>2]|0);break b}if((b[e>>0]|0)<0)Hta(f[xa>>2]|0);if(d){x=0;sa(1032,Ka|0,47741)|0;Da=x;x=0;if(Da&1){Da=49;break b}else{Da=127;break}}o=Ha+4|0;d=f[o>>2]|0;e=f[d+64>>2]|0;m=f[d+68>>2]|0;do if((e|0)!=(m|0)){g=Ea+4|0;h=q+4|0;i=Ca+4|0;j=r+8|0;k=r+4|0;l=c+12|0;n=r+11|0;d:while(1){x=0;Ga(462,Ea|0,f[e+4>>2]|0);Da=x;x=0;if(Da&1){Da=64;break}f[Ea>>2]=10408;x=0;Ga(462,q|0,f[(f[g>>2]|0)+64>>2]|0);Da=x;x=0;if(Da&1){Da=65;break}f[q>>2]=7696;x=0;d=qa(340,f[h>>2]|0)|0;Da=x;x=0;if(Da&1){Da=66;break}x=0;Ga(462,Ca|0,d|0);Da=x;x=0;if(Da&1){Da=66;break}f[Ca>>2]=7584;_P(q);d=f[i>>2]|0;do if(d|0){x=0;d=qa(f[(f[d>>2]|0)+120>>2]|0,d|0)|0;Da=x;x=0;if(Da&1){Da=67;break d}if(d|0)break;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;x=0;d=qa(318,32)|0;Da=x;x=0;if(Da&1){Da=67;break d}f[r>>2]=d;f[j>>2]=-2147483616;f[k>>2]=27;W=d;X=47668;Y=W+27|0;do{b[W>>0]=b[X>>0]|0;W=W+1|0;X=X+1|0}while((W|0)<(Y|0));b[d+27>>0]=0;W=p;X=l;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));d=f[ra>>2]|0;x=0;W=xa;X=p;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,r|0,xa|0,d|0);Da=x;x=0;if(Da&1){Da=68;break d}if((b[n>>0]|0)>=0)break;Hta(f[r>>2]|0)}while(0);_P(Ca);_P(Ea);e=e+8|0;if((e|0)==(m|0)){Da=45;break}}if((Da|0)==45){d=f[o>>2]|0;break}else if((Da|0)==64)d=Ya()|0;else if((Da|0)==65){d=Ya()|0;Da=72}else if((Da|0)==66){d=Ya()|0;_P(q);Da=72}else if((Da|0)==67){d=Ya()|0;Da=71}else if((Da|0)==68){d=Ya()|0;if((b[n>>0]|0)<0){Hta(f[r>>2]|0);Da=71}else Da=71}if((Da|0)==71){_P(Ca);Da=72}if((Da|0)==72)_P(Ea);break b}while(0);x=0;d=sa(f[(f[d>>2]|0)+56>>2]|0,d|0,a|0)|0;Ba=x;x=0;e:do if(Ba&1)Da=95;else{if(!d)d=0;else d=(f[275]|0)==(f[(f[(f[d>>2]|0)+-4>>2]|0)+4>>2]|0)?d:0;x=0;Ga(462,xa|0,d|0);Ba=x;x=0;if(Ba&1)Da=95;else{f[xa>>2]=9376;do if(f[o>>2]|0){x=0;Fa(429,Ha|0);Ba=x;x=0;if(!(Ba&1))break;d=Ya()|0;_P(xa);break e}while(0);h=xa+4|0;f[o>>2]=f[h>>2];f[h>>2]=0;_P(xa);x=0;h=qa(318,100)|0;Ba=x;x=0;f:do if(Ba&1)d=Ya()|0;else{g=c+12|0;W=t;X=g;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Ga(459,y|0,oa|0);Ba=x;x=0;do if(Ba&1)d=Ya()|0;else{x=0;Ga(462,v|0,f[o>>2]|0);Ba=x;x=0;if(Ba&1){d=Ya()|0;e=1}else{f[v>>2]=9376;x=0;W=xa;X=t;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ja(22,h|0,xa|0,y|0,v|0);Ba=x;x=0;do if(Ba&1)d=1;else{x=0;Ga(462,Ea|0,h|0);Ba=x;x=0;if(Ba&1){d=0;break}f[Ea>>2]=16816;_P(v);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);g:do if(!(b[(f[o>>2]|0)+80>>0]|0))Da=113;else{x=0;Ia(92,Ca|0,47696,oa|0);Ba=x;x=0;do if(Ba&1)d=Ya()|0;else{x=0;d=sa(991,Ca|0,47706)|0;Ba=x;x=0;do if(Ba&1)d=Ya()|0;else{f[z>>2]=f[d>>2];f[z+4>>2]=f[d+4>>2];f[z+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;W=w;X=g;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));d=f[ra>>2]|0;x=0;W=xa;X=w;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,z|0,xa|0,d|0);Ba=x;x=0;if(Ba&1){d=Ya()|0;if((b[z+11>>0]|0)>=0)break;Hta(f[z>>2]|0);break}if((b[z+11>>0]|0)<0)Hta(f[z>>2]|0);if((b[Ca+11>>0]|0)<0)Hta(f[Ca>>2]|0);Da=113;break g}while(0);if((b[Ca+11>>0]|0)>=0)break;Hta(f[Ca>>2]|0)}while(0)}while(0);do if((Da|0)==113){x=0;e=qa(318,80)|0;Ca=x;x=0;if(Ca&1){d=Ya()|0;break}W=B;X=g;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));d=f[Ea+4>>2]|0;g=f[(f[d>>2]|0)+28>>2]|0;x=0;W=xa;X=f[(f[a+8>>2]|0)+16>>2]|0;Y=W+12|0;do{b[W>>0]=b[X>>0]|0;W=W+1|0;X=X+1|0}while((W|0)<(Y|0));Ia(g|0,D|0,d|0,xa|0);Ca=x;x=0;do if(Ca&1)d=Ya()|0;else{x=0;W=xa;X=B;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Na(1,e|0,xa|0,D|0,0,0,0,1,1);Ca=x;x=0;if(Ca&1){d=Ya()|0;if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0);break}if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);b[e+54>>0]=b[c+54>>0]|0;_P(Ea);d=Ka+11|0;break c}while(0);Hta(e)}while(0);_P(Ea);break f}while(0);Ea=Ya()|0;_P(v);e=d;d=Ea}if((b[y+11>>0]|0)<0){Hta(f[y>>2]|0);if(e)break;else break f}else if(e)break;else break f}while(0);Hta(h)}while(0);break b}}while(0);if((Da|0)==95)d=Ya()|0;break b}while(0);h:do if((Da|0)==127){d=Ka+11|0;Y=b[d>>0]|0;p=Ka+4|0;do if(((Y<<24>>24<0?f[p>>2]|0:Y&255)|0)==7){x=0;e=wa(21,Ka|0,0,-1,47746,7)|0;Y=x;x=0;if(Y&1){Y=Za(0)|0;soa(Y)}else if(!e)break;else{Da=131;break}}else Da=131;while(0);if((Da|0)==131){Y=f[Ha+4>>2]|0;x=0;Ga(f[(f[Y>>2]|0)+100>>2]|0,Y|0,0);Y=x;x=0;if(Y&1){Da=49;break b}}Y=b[d>>0]|0;do if(((Y<<24>>24<0?f[p>>2]|0:Y&255)|0)==5){x=0;e=wa(21,Ka|0,0,-1,47754,5)|0;Y=x;x=0;if(Y&1){Y=Za(0)|0;soa(Y)}else if(!e)break;else{Da=136;break}}else Da=136;while(0);i:do if((Da|0)==136){g=Ha+4|0;e=f[g>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;Y=x;x=0;do if(Y&1)Da=143;else{if(!e)e=0;else e=(f[275]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,xa|0,e|0);Y=x;x=0;if(Y&1)Da=143;else{f[xa>>2]=9376;if(f[g>>2]|0){x=0;Fa(429,Ha|0);Y=x;x=0;if(Y&1){d=Ya()|0;_P(xa);break}}Y=xa+4|0;f[g>>2]=f[Y>>2];f[Y>>2]=0;_P(xa);break i}}while(0);if((Da|0)==143)d=Ya()|0;break b}while(0);x=0;e=sa(992,ba|0,Ka|0)|0;Y=x;x=0;j:do if(!(Y&1)){e=f[e+4>>2]|0;if(!e)e=0;else e=(f[215]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;i=c+84|0;x=0;Ga(462,l|0,f[i>>2]|0);Y=x;x=0;if(!(Y&1)){f[l>>2]=10852;Y=(f[l+4>>2]|0)==0;_P(l);do if(!Y){x=0;Ga(462,n|0,f[i>>2]|0);Y=x;x=0;if(Y&1)break j;f[n>>2]=10852;x=0;Ga(462,m|0,f[(f[n+4>>2]|0)+64>>2]|0);Y=x;x=0;if(Y&1){d=Ya()|0;_P(n);break b}else{f[m>>2]=10712;e=f[m+4>>2]|0;_P(m);_P(n);break}}while(0);k:do if(!(b[e+112>>0]|0))n=e;else{l=Ea+64|0;e=Ea+8|0;f[e>>2]=16496;k=Ea+12|0;f[Ea>>2]=2284;f[l>>2]=2304;f[Ea+4>>2]=0;x=0;Ga(531,Ea+64|0,k|0);Y=x;x=0;l:do if(Y&1){d=Ya()|0;Da=177}else{f[Ea+136>>2]=0;f[Ea+140>>2]=-1;f[Ea>>2]=16476;f[l>>2]=16516;f[e>>2]=16496;x=0;Fa(437,k|0);Y=x;x=0;do if(Y&1)d=Ya()|0;else{f[k>>2]=16336;j=Ea+44|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[Ea+60>>2]=24;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;x=0;Ga(532,k|0,xa|0);Y=x;x=0;if(Y&1){d=Ya()|0;if((b[xa+11>>0]|0)<0)Hta(f[xa>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);break}if((b[xa+11>>0]|0)<0)Hta(f[xa>>2]|0);Y=f[Ha+4>>2]|0;g=f[Y+68>>2]|0;e=g-(f[Y+64>>2]|0)>>3;m:do if(!(b[Y+81>>0]|0))Da=183;else{if(!e){e=0;Da=183;break}x=0;Ga(462,s|0,f[g+-4>>2]|0);Y=x;x=0;if(Y&1){d=Ya()|0;break}f[s>>2]=10408;x=0;Ga(462,o|0,f[(f[s+4>>2]|0)+64>>2]|0);Y=x;x=0;do if(Y&1)d=Ya()|0;else{f[o>>2]=7696;x=0;g=qa(340,f[o+4>>2]|0)|0;Y=x;x=0;if(Y&1){d=Ya()|0;_P(o);break}_P(o);_P(s);if(!g){Da=183;break m}e=e+-1+((f[g+68>>2]|0)-(f[g+64>>2]|0)>>3)|0;Da=183;break m}while(0);_P(s)}while(0);n:do if((Da|0)==183){h=Ea+8|0;g=b[d>>0]|0;Y=g<<24>>24<0;x=0;g=ta(44,h|0,(Y?f[Ka>>2]|0:Ka)|0,(Y?f[p>>2]|0:g&255)|0)|0;Y=x;x=0;do if(!(Y&1)){x=0;sa(993,g|0,e|0)|0;Y=x;x=0;if(Y&1)break;x=0;Ga(533,xa|0,k|0);Y=x;x=0;if(Y&1){d=Ya()|0;break n}if((b[d>>0]|0)<0){b[f[Ka>>2]>>0]=0;f[p>>2]=0}else{b[Ka>>0]=0;b[d>>0]=0}x=0;Ga(501,Ka|0,0);Y=x;x=0;if(Y&1){Y=Za(0)|0;soa(Y)}f[Ka>>2]=f[xa>>2];f[Ka+4>>2]=f[xa+4>>2];f[Ka+8>>2]=f[xa+8>>2];x=0;Ga(459,Ca|0,Ka|0);Y=x;x=0;do if(Y&1)d=Ya()|0;else{x=0;e=sa(1009,ba|0,Ca|0)|0;Y=x;x=0;o:do if(Y&1)Da=207;else{p:do if(!e){x=0;Ga(459,Ba|0,oa|0);Y=x;x=0;do if(Y&1)d=Ya()|0;else{x=0;e=ta(43,Ba|0,0,47760)|0;Y=x;x=0;do if(Y&1)d=Ya()|0;else{f[Aa>>2]=f[e>>2];f[Aa+4>>2]=f[e+4>>2];f[Aa+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;e=sa(991,Aa|0,47782)|0;Y=x;x=0;do if(Y&1)d=Ya()|0;else{f[C>>2]=f[e>>2];f[C+4>>2]=f[e+4>>2];f[C+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;W=A;X=c+12|0;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));e=f[ra>>2]|0;x=0;W=xa;X=A;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,C|0,xa|0,e|0);Y=x;x=0;if(Y&1){d=Ya()|0;if((b[C+11>>0]|0)>=0)break;Hta(f[C>>2]|0);break}if((b[C+11>>0]|0)<0)Hta(f[C>>2]|0);if((b[Aa+11>>0]|0)<0)Hta(f[Aa>>2]|0);if((b[Ba+11>>0]|0)<0)Hta(f[Ba>>2]|0);break p}while(0);if((b[Aa+11>>0]|0)>=0)break;Hta(f[Aa>>2]|0)}while(0);if((b[Ba+11>>0]|0)>=0)break;Hta(f[Ba>>2]|0)}while(0);break o}while(0);x=0;e=sa(992,ba|0,Ca|0)|0;Y=x;x=0;if(Y&1){Da=207;break}e=f[e+4>>2]|0;if(!e)e=0;else e=(f[215]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;if((b[Ca+11>>0]|0)<0)Hta(f[Ca>>2]|0);f[Ea>>2]=16476;f[l>>2]=16516;f[h>>2]=16496;f[k>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);KU(Ea,16528);uma(l);n=e;break k}while(0);if((Da|0)==207)d=Ya()|0;if((b[Ca+11>>0]|0)>=0)break;Hta(f[Ca>>2]|0)}while(0);break n}while(0);d=Ya()|0}while(0);f[Ea>>2]=16476;f[l>>2]=16516;f[Ea+8>>2]=16496;f[k>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);KU(Ea,16528);uma(l);break l}while(0);KU(Ea,16528);Da=177}while(0);if((Da|0)==177)uma(l);break b}while(0);x=0;Ga(462,Ea|0,c|0);Y=x;x=0;if(Y&1)d=Ya()|0;else{f[Ea>>2]=7696;x=0;Ga(462,Ca|0,f[n+68>>2]|0);Y=x;x=0;q:do if(Y&1)d=Ya()|0;else{f[Ca>>2]=7280;o=f[n+100>>2]|0;q=f[n+104>>2]|0;e=f[i>>2]|0;do if(!e)Da=241;else{if(!(b[e+68>>0]|0)){Da=241;break}e=f[Ea+4>>2]|0;if(!e){e=0;break}b[e+8>>0]=1}while(0);r:do if((Da|0)==241){x=0;Ga(462,Aa|0,f[n+88>>2]|0);Y=x;x=0;if(Y&1)d=Ya()|0;else{f[Aa>>2]=9264;x=0;Ia(132,Ba|0,f[n+92>>2]|0,0);Y=x;x=0;if(Y&1)d=Ya()|0;else{e=f[pa>>2]|0;f[xa>>2]=Ba;g=e+60|0;h=f[g>>2]|0;do if(h>>>0<(f[e+64>>2]|0)>>>0){f[h>>2]=Ba;f[g>>2]=(f[g>>2]|0)+4;Da=246}else{x=0;Ga(646,e+56|0,xa|0);Y=x;x=0;if(!(Y&1)){Da=246;break}d=Ya()|0}while(0);s:do if((Da|0)==246){j=(o|0)!=0;t:do if(j)Da=248;else{if(f[Ca+4>>2]|0){Da=248;break}if(!q){g=Ea+4|0;break}x=0;o=qa(385,q|0)|0;ga=x;x=0;if(ga&1){d=Ya()|0;break s}ga=b[d>>0]|0;u:do if(((ga<<24>>24<0?f[p>>2]|0:ga&255)|0)==4){x=0;e=wa(21,Ka|0,0,-1,47741,4)|0;ga=x;x=0;if(ga&1){ga=Za(0)|0;soa(ga)}if(e|0)break;x=0;g=qa(318,80)|0;ga=x;x=0;v:do if(ga&1)d=Ya()|0;else{k=c+12|0;W=H;X=k;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Ga(459,L|0,oa|0);ga=x;x=0;do if(ga&1)d=Ya()|0;else{x=0;W=xa;X=H;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Na(1,g|0,xa|0,L|0,0,0,0,1,1);ga=x;x=0;do if(ga&1)e=1;else{x=0;Ga(462,ya|0,g|0);ga=x;x=0;if(ga&1){e=0;break}f[ya>>2]=17048;if((b[L+11>>0]|0)<0)Hta(f[L>>2]|0);x=0;l=qa(318,84)|0;ga=x;x=0;w:do if(ga&1)Da=419;else{W=xa;X=k;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Fa(427,l|0);ga=x;x=0;do if(ga&1)d=Ya()|0;else{W=l+12|0;X=xa;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));f[l>>2]=10464;b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;f[l+56>>2]=0;e=l+60|0;f[e>>2]=10424;i=l+64|0;j=l+68|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;x=0;Ga(555,i|0,0);ga=x;x=0;if(ga&1){d=Ya()|0;h=I;e=f[i>>2]|0;if(e|0){g=f[j>>2]|0;if((g|0)!=(e|0)){do{xa=g+-8|0;f[j>>2]=xa;Kc[f[f[xa>>2]>>2]&511](xa);g=f[j>>2]|0}while((g|0)!=(e|0));e=f[i>>2]|0}Hta(e)}break}f[l>>2]=10240;f[e>>2]=10368;b[l+80>>0]=0;b[l+81>>0]=0;b[l+82>>0]=0;x=0;Ga(462,ua|0,l|0);ga=x;x=0;if(ga&1){Da=419;break w}f[ua>>2]=9376;h=ua+4|0;e=(f[h>>2]|0)+60|0;g=f[(f[e>>2]|0)+20>>2]|0;x=0;j=qa(318,88)|0;ga=x;x=0;x:do if(ga&1)Da=422;else{W=O;X=k;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Ga(462,R|0,f[ya+4>>2]|0);ga=x;x=0;do if(ga&1)d=Ya()|0;else{f[R>>2]=17048;x=0;Ga(462,Q|0,f[R+4>>2]|0);ga=x;x=0;if(ga&1){d=Ya()|0;_P(R);break}f[Q>>2]=7696;i=S+11|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;x=0;W=xa;X=O;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));La(13,j|0,xa|0,Q|0,S|0,0,0);ga=x;x=0;do if(ga&1){d=1;Da=425}else{x=0;Ga(462,N|0,j|0);ga=x;x=0;if(ga&1){d=0;Da=425;break}f[N>>2]=10408;x=0;Ga(g|0,e|0,N|0);ga=x;x=0;if(ga&1){d=Ya()|0;_P(N);e=0;break}_P(N);if((b[i>>0]|0)<0)Hta(f[S>>2]|0);_P(Q);_P(R);da=(f[h>>2]|0)+60|0;e=Ha+4|0;ga=f[e>>2]|0;x=0;Ga(f[(f[da>>2]|0)+24>>2]|0,da|0,((ga|0)==0?0:ga+60|0)|0);ga=x;x=0;if(ga&1){Da=422;break x}if(f[e>>2]|0){x=0;Fa(429,Ha|0);ga=x;x=0;if(ga&1){Da=422;break x}}f[e>>2]=f[h>>2];x=0;Fa(430,Ha|0);ga=x;x=0;if(ga&1){Da=422;break x}_P(ua);_P(ya);break u}while(0);if((Da|0)==425){xa=Ya()|0;e=d;d=xa}if((b[i>>0]|0)<0)Hta(f[S>>2]|0);_P(Q);_P(R);if(!e)break x}while(0);Hta(j)}while(0);if((Da|0)==422)d=Ya()|0;_P(ua);break w}while(0);Hta(l)}while(0);if((Da|0)==419)d=Ya()|0;_P(ya);break v}while(0);d=Ya()|0;if((b[L+11>>0]|0)<0){Hta(f[L>>2]|0);if(e)break;else break v}else if(e)break;else break v}while(0);Hta(g)}while(0);break s}while(0);x=0;Ga(459,ya|0,oa|0);ga=x;x=0;do if(ga&1)d=Ya()|0;else{f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;e=Z+11|0;b[e>>0]=8;ga=Z;f[ga>>2]=1668183366;f[ga+4>>2]=1852795252;b[Z+8>>0]=0;x=0;Ga(459,V|0,oa|0);ga=x;x=0;y:do if(ga&1){d=Ya()|0;Da=474}else{l=Aa+4|0;x=0;Ga(462,U|0,f[l>>2]|0);ga=x;x=0;if(ga&1)d=Ya()|0;else{f[U>>2]=9264;x=0;Ga(462,T|0,f[Ha+4>>2]|0);ga=x;x=0;do if(ga&1)d=Ya()|0;else{f[T>>2]=9376;p=a+8|0;x=0;Ma(8,Z|0,V|0,U|0,T|0,f[p>>2]|0,Ba|0,a|0);ga=x;x=0;if(ga&1){d=Ya()|0;_P(T);break}_P(T);_P(U);if((b[V+11>>0]|0)<0)Hta(f[V>>2]|0);if((b[e>>0]|0)<0)Hta(f[Z>>2]|0);x=0;Ia(92,xa|0,47816,oa|0);ga=x;x=0;do if(ga&1){d=Ya()|0;Da=479}else{x=0;e=sa(991,xa|0,48413)|0;ga=x;x=0;if(ga&1){d=Ya()|0;if((b[xa+11>>0]|0)>=0){Da=479;break}Hta(f[xa>>2]|0);Da=479;break}f[ua>>2]=f[e>>2];f[ua+4>>2]=f[e+4>>2];f[ua+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((b[xa+11>>0]|0)<0)Hta(f[xa>>2]|0);h=f[ra>>2]|0;m=c+12|0;W=_;X=m;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Ga(459,$|0,ua|0);ga=x;x=0;z:do if(ga&1){d=Ya()|0;Da=486}else{W=xa;X=_;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i=xa+40|0;x=0;Ga(459,i|0,$|0);ga=x;x=0;A:do if(ga&1)d=Ya()|0;else{e=h+4|0;g=f[e>>2]|0;do if(g>>>0<(f[h+8>>2]|0)>>>0){W=g;X=xa;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));ga=g+40|0;f[ga>>2]=f[i>>2];f[ga+4>>2]=f[i+4>>2];f[ga+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,h|0,xa|0);ga=x;x=0;if(!(ga&1))break;d=Ya()|0;if((b[i+11>>0]|0)>=0)break A;Hta(f[i>>2]|0);break A}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[$+11>>0]|0)<0)Hta(f[$>>2]|0);h=f[p>>2]|0;if((b[oa+11>>0]|0)<0)e=f[oa>>2]|0;else e=oa;f[xa>>2]=e;f[xa+4>>2]=f[c+24>>2];f[xa+8>>2]=(f[c+12>>2]|0)+1;f[xa+12>>2]=(f[c+16>>2]|0)+1;f[xa+16>>2]=2;f[xa+20>>2]=ba;e=h+292|0;g=f[e>>2]|0;do if(g>>>0<(f[h+296>>2]|0)>>>0){f[g>>2]=f[xa>>2];f[g+4>>2]=f[xa+4>>2];f[g+8>>2]=f[xa+8>>2];f[g+12>>2]=f[xa+12>>2];f[g+16>>2]=f[xa+16>>2];f[g+20>>2]=f[xa+20>>2];f[e>>2]=(f[e>>2]|0)+24}else{x=0;Ga(645,h+288|0,xa|0);ga=x;x=0;if(!(ga&1))break;d=Ya()|0;break z}while(0);f[na>>2]=20468;n=f[l>>2]|0;x=0;n=ta(155,(f[n+60>>2]|0)-(f[n+56>>2]|0)>>3|0,0,0)|0;ga=x;x=0;B:do if(ga&1)d=Ya()|0;else{e=f[l>>2]|0;C:do if((f[e+60>>2]|0)!=(f[e+56>>2]|0)){h=xa+4|0;i=ka+4|0;j=ea+4|0;k=la+11|0;g=0;while(1){e=e+52|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,g|0)|0;ga=x;x=0;if(ga&1){Da=501;break}x=0;Ga(462,xa|0,f[e+4>>2]|0);ga=x;x=0;if(ga&1){Da=501;break}f[xa>>2]=13488;x=0;Ga(459,la|0,(f[h>>2]|0)+52|0);ga=x;x=0;if(ga&1){Da=502;break}x=0;e=sa(1035,Ba|0,la|0)|0;ga=x;x=0;if(ga&1){Da=503;break}x=0;Ga(462,ka|0,f[e+4>>2]|0);ga=x;x=0;if(ga&1){Da=503;break}f[ka>>2]=6664;x=0;e=qa(336,f[i>>2]|0)|0;ga=x;x=0;if(ga&1){Da=504;break}x=0;Ga(462,ea|0,e|0);ga=x;x=0;if(ga&1){Da=504;break}f[ea>>2]=7696;e=f[j>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+68>>2]|0,e|0,na|0)|0;ga=x;x=0;if(ga&1){Da=505;break}x=0;Ia(130,n|0,g|0,e|0);ga=x;x=0;if(ga&1){Da=505;break}_P(ea);_P(ka);if((b[k>>0]|0)<0)Hta(f[la>>2]|0);_P(xa);g=g+1|0;e=f[l>>2]|0;if(g>>>0>=(f[e+60>>2]|0)-(f[e+56>>2]|0)>>3>>>0)break C}if((Da|0)==501)d=Ya()|0;else if((Da|0)==502){d=Ya()|0;Da=509}else if((Da|0)==503){d=Ya()|0;Da=507}else if((Da|0)==504){d=Ya()|0;Da=506}else if((Da|0)==505){d=Ya()|0;_P(ea);Da=506}if((Da|0)==506){_P(ka);Da=507}do if((Da|0)==507){if((b[k>>0]|0)>=0){Da=509;break}Hta(f[la>>2]|0);Da=509}while(0);if((Da|0)==509)_P(xa);break B}while(0);x=0;k=ta(o|0,n|0,q|0,f[(f[p>>2]|0)+312>>2]|0)|0;na=x;x=0;D:do if(!(na&1)){x=0;e=qa(388,k|0)|0;na=x;x=0;if(na&1)break;E:do if((e|0)==7){x=0;Ia(92,ka|0,47858,oa|0);oa=x;x=0;do if(oa&1)d=Ya()|0;else{x=0;e=sa(991,ka|0,60473)|0;oa=x;x=0;do if(oa&1)d=Ya()|0;else{f[la>>2]=f[e>>2];f[la+4>>2]=f[e+4>>2];f[la+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;e=qa(389,k|0)|0;oa=x;x=0;do if(oa&1)Da=528;else{x=0;e=sa(991,la|0,e|0)|0;oa=x;x=0;if(oa&1){Da=528;break}f[ha>>2]=f[e>>2];f[ha+4>>2]=f[e+4>>2];f[ha+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;W=fa;X=m;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));e=f[ra>>2]|0;x=0;W=xa;X=fa;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,ha|0,xa|0,e|0);oa=x;x=0;if(oa&1){d=Ya()|0;if((b[ha+11>>0]|0)>=0)break;Hta(f[ha>>2]|0);break}if((b[ha+11>>0]|0)<0)Hta(f[ha>>2]|0);if((b[la+11>>0]|0)<0)Hta(f[la>>2]|0);if((b[ka+11>>0]|0)<0)Hta(f[ka>>2]|0);break E}while(0);if((Da|0)==528)d=Ya()|0;if((b[la+11>>0]|0)>=0)break;Hta(f[la>>2]|0)}while(0);if((b[ka+11>>0]|0)>=0)break;Hta(f[ka>>2]|0)}while(0);break B}else{x=0;e=qa(388,k|0)|0;na=x;x=0;if(na&1)break D;if((e|0)!=8)break;x=0;Ia(92,ka|0,47879,oa|0);oa=x;x=0;do if(oa&1)d=Ya()|0;else{x=0;e=sa(991,ka|0,60473)|0;oa=x;x=0;do if(oa&1)d=Ya()|0;else{f[la>>2]=f[e>>2];f[la+4>>2]=f[e+4>>2];f[la+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;e=qa(390,k|0)|0;oa=x;x=0;do if(oa&1)Da=552;else{x=0;e=sa(991,la|0,e|0)|0;oa=x;x=0;if(oa&1){Da=552;break}f[ja>>2]=f[e>>2];f[ja+4>>2]=f[e+4>>2];f[ja+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;W=ia;X=m;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));e=f[ra>>2]|0;x=0;W=xa;X=ia;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,ja|0,xa|0,e|0);oa=x;x=0;if(oa&1){d=Ya()|0;if((b[ja+11>>0]|0)>=0)break;Hta(f[ja>>2]|0);break}if((b[ja+11>>0]|0)<0)Hta(f[ja>>2]|0);if((b[la+11>>0]|0)<0)Hta(f[la>>2]|0);if((b[ka+11>>0]|0)<0)Hta(f[ka>>2]|0);break E}while(0);if((Da|0)==552)d=Ya()|0;if((b[la+11>>0]|0)>=0)break;Hta(f[la>>2]|0)}while(0);if((b[ka+11>>0]|0)>=0)break;Hta(f[ka>>2]|0)}while(0);break B}while(0);x=0;Ga(511,ma|0,f[ra>>2]|0);oa=x;x=0;do if(oa&1)d=Ya()|0;else{x=0;W=xa;X=m;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));e=ta(156,k|0,ma|0,xa|0)|0;oa=x;x=0;F:do if(oa&1)Da=580;else{x=0;Ga(462,la|0,e|0);oa=x;x=0;if(oa&1){Da=580;break}f[la>>2]=7696;g=Ea+4|0;do if(f[g>>2]|0){x=0;Fa(429,Ea|0);oa=x;x=0;if(!(oa&1))break;d=Ya()|0;i=I;_P(la);break F}while(0);e=la+4|0;f[g>>2]=f[e>>2];f[e>>2]=0;_P(la);e=f[ma>>2]|0;if(e|0){j=ma+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[ma>>2]|0}Hta(e)}i=(f[p>>2]|0)+292|0;f[i>>2]=(f[i>>2]|0)+-24;i=(f[ra>>2]|0)+4|0;h=f[i>>2]|0;j=h+-52|0;while(1){e=h+-52|0;f[i>>2]=e;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);e=f[i>>2]|0}if((e|0)==(j|0))break;else h=e}x=0;Fa(449,n|0);ra=x;x=0;if(ra&1)break D;if((k|0)!=(n|0)){x=0;Fa(449,k|0);ra=x;x=0;if(ra&1)break D}if((b[ua+11>>0]|0)<0)Hta(f[ua>>2]|0);if((b[ya+11>>0]|0)<0)Hta(f[ya>>2]|0);break t}while(0);if((Da|0)==580){d=Ya()|0;i=I}e=f[ma>>2]|0;if(!e)break;j=ma+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[ma>>2]|0}Hta(e)}while(0);break B}while(0);d=Ya()|0}while(0);break z}while(0);if((b[$+11>>0]|0)>=0){Da=486;break}Hta(f[$>>2]|0);Da=486}while(0);if((b[ua+11>>0]|0)>=0)break;Hta(f[ua>>2]|0)}while(0);break y}while(0);_P(U)}if((b[V+11>>0]|0)>=0){Da=474;break}Hta(f[V>>2]|0);Da=474}while(0);do if((Da|0)==474){if((b[e>>0]|0)>=0)break;Hta(f[Z>>2]|0)}while(0);if((b[ya+11>>0]|0)>=0)break;Hta(f[ya>>2]|0)}while(0);break s}while(0);G:do if((Da|0)==248){f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;e=J+11|0;b[e>>0]=8;ma=J;f[ma>>2]=1668183366;f[ma+4>>2]=1852795252;b[J+8>>0]=0;x=0;Ga(459,G|0,oa|0);ma=x;x=0;do if(ma&1)d=Ya()|0;else{x=0;Ga(462,F|0,f[Aa+4>>2]|0);ma=x;x=0;if(ma&1)d=Ya()|0;else{f[F>>2]=9264;x=0;Ga(462,E|0,f[Ha+4>>2]|0);ma=x;x=0;do if(ma&1)d=Ya()|0;else{f[E>>2]=9376;m=a+8|0;x=0;Ma(8,J|0,G|0,F|0,E|0,f[m>>2]|0,Ba|0,a|0);ma=x;x=0;if(ma&1){d=Ya()|0;_P(E);break}_P(E);_P(F);if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);if((b[e>>0]|0)<0)Hta(f[J>>2]|0);x=0;Ia(92,xa|0,47816,oa|0);ma=x;x=0;do if(ma&1){d=Ya()|0;Da=296}else{x=0;e=sa(991,xa|0,48413)|0;ma=x;x=0;if(ma&1){d=Ya()|0;if((b[xa+11>>0]|0)>=0){Da=296;break}Hta(f[xa>>2]|0);Da=296;break}f[ya>>2]=f[e>>2];f[ya+4>>2]=f[e+4>>2];f[ya+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((b[xa+11>>0]|0)<0)Hta(f[xa>>2]|0);h=f[ra>>2]|0;l=c+12|0;W=K;X=l;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Ga(459,M|0,ya|0);ma=x;x=0;H:do if(ma&1){d=Ya()|0;Da=303}else{W=xa;X=K;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i=xa+40|0;x=0;Ga(459,i|0,M|0);ma=x;x=0;I:do if(ma&1)d=Ya()|0;else{e=h+4|0;g=f[e>>2]|0;do if(g>>>0<(f[h+8>>2]|0)>>>0){W=g;X=xa;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));ma=g+40|0;f[ma>>2]=f[i>>2];f[ma+4>>2]=f[i+4>>2];f[ma+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,h|0,xa|0);ma=x;x=0;if(!(ma&1))break;d=Ya()|0;if((b[i+11>>0]|0)>=0)break I;Hta(f[i>>2]|0);break I}while(0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);h=f[m>>2]|0;k=oa+11|0;if((b[k>>0]|0)<0)e=f[oa>>2]|0;else e=oa;f[xa>>2]=e;f[xa+4>>2]=f[c+24>>2];f[xa+8>>2]=(f[c+12>>2]|0)+1;f[xa+12>>2]=(f[c+16>>2]|0)+1;f[xa+16>>2]=1;f[xa+20>>2]=ba;e=h+292|0;g=f[e>>2]|0;do if(g>>>0<(f[h+296>>2]|0)>>>0){f[g>>2]=f[xa>>2];f[g+4>>2]=f[xa+4>>2];f[g+8>>2]=f[xa+8>>2];f[g+12>>2]=f[xa+12>>2];f[g+16>>2]=f[xa+16>>2];f[g+20>>2]=f[xa+20>>2];f[e>>2]=(f[e>>2]|0)+24}else{x=0;Ga(645,h+288|0,xa|0);ma=x;x=0;if(!(ma&1))break;d=Ya()|0;break H}while(0);e=f[Ca+4>>2]|0;J:do if(!e){if(!j){g=Ea+4|0;break}g=f[m>>2]|0;e=f[n+116>>2]|0;W=P;X=l;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Ga(511,ga|0,f[ra>>2]|0);ma=x;x=0;do if(ma&1)d=Ya()|0;else{x=0;Ga(647,aa|0,(f[pa>>2]|0)+92|0);ma=x;x=0;do if(ma&1){d=Ya()|0;i=I}else{x=0;W=xa;X=P;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));e=za(o|0,Ba|0,ba|0,g|0,e|0,xa|0,ga|0,aa|0)|0;ma=x;x=0;K:do if(ma&1)Da=331;else{x=0;Ga(462,ua|0,e|0);ma=x;x=0;if(ma&1){Da=331;break}f[ua>>2]=7696;g=Ea+4|0;do if(f[g>>2]|0){x=0;Fa(429,Ea|0);ma=x;x=0;if(!(ma&1))break;d=Ya()|0;i=I;_P(ua);break K}while(0);e=ua+4|0;f[g>>2]=f[e>>2];f[e>>2]=0;_P(ua);e=f[aa>>2]|0;if(e|0){i=aa+4|0;h=f[i>>2]|0;if((h|0)!=(e|0)){do{ma=h+-8|0;f[i>>2]=ma;Kc[f[f[ma>>2]>>2]&511](ma);h=f[i>>2]|0}while((h|0)!=(e|0));e=f[aa>>2]|0}Hta(e)}e=f[ga>>2]|0;if(e|0){j=ga+4|0;h=f[j>>2]|0;if((h|0)!=(e|0)){do{i=h+-52|0;f[j>>2]=i;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);h=f[j>>2]|0}else h=i}while((h|0)!=(e|0));e=f[ga>>2]|0}Hta(e)}break J}while(0);if((Da|0)==331){d=Ya()|0;i=I}e=f[aa>>2]|0;if(!e)break;h=aa+4|0;g=f[h>>2]|0;if((g|0)!=(e|0)){do{xa=g+-8|0;f[h>>2]=xa;Kc[f[f[xa>>2]>>2]&511](xa);g=f[h>>2]|0}while((g|0)!=(e|0));e=f[aa>>2]|0}Hta(e)}while(0);e=f[ga>>2]|0;if(!e)break;j=ga+4|0;g=f[j>>2]|0;if((g|0)!=(e|0)){do{h=g+-52|0;f[j>>2]=h;g=g+-12|0;if((b[g+11>>0]|0)<0){Hta(f[g>>2]|0);g=f[j>>2]|0}else g=h}while((g|0)!=(e|0));e=f[ga>>2]|0}Hta(e)}while(0);break H}else{x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;ma=x;x=0;L:do if(ma&1)Da=305;else{x=0;Ga(462,xa|0,e|0);ma=x;x=0;if(ma&1){Da=305;break}f[xa>>2]=7696;g=Ea+4|0;do if(f[g>>2]|0){x=0;Fa(429,Ea|0);ma=x;x=0;if(!(ma&1))break;d=Ya()|0;_P(xa);break L}while(0);ma=xa+4|0;f[g>>2]=f[ma>>2];f[ma>>2]=0;_P(xa);break J}while(0);if((Da|0)==305)d=Ya()|0;break H}while(0);M:do if(!(f[g>>2]|0)){f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;h=na+11|0;b[h>>0]=9;W=na;X=47696;Y=W+9|0;do{b[W>>0]=b[X>>0]|0;W=W+1|0;X=X+1|0}while((W|0)<(Y|0));b[na+9>>0]=0;e=b[k>>0]|0;ma=e<<24>>24<0;x=0;e=ta(41,na|0,(ma?f[oa>>2]|0:oa)|0,(ma?f[c+64>>2]|0:e&255)|0)|0;oa=x;x=0;do if(oa&1)d=Ya()|0;else{f[ua>>2]=f[e>>2];f[ua+4>>2]=f[e+4>>2];f[ua+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;x=0;e=sa(991,ua|0,47832)|0;oa=x;x=0;do if(oa&1)d=Ya()|0;else{f[da>>2]=f[e>>2];f[da+4>>2]=f[e+4>>2];f[da+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;W=ca;X=l;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));e=f[ra>>2]|0;x=0;W=xa;X=ca;Y=W+40|0;do{f[W>>2]=f[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ia(100,da|0,xa|0,e|0);oa=x;x=0;if(oa&1){d=Ya()|0;if((b[da+11>>0]|0)>=0)break;Hta(f[da>>2]|0);break}if((b[da+11>>0]|0)<0)Hta(f[da>>2]|0);if((b[ua+11>>0]|0)<0)Hta(f[ua>>2]|0);if((b[h>>0]|0)<0)Hta(f[na>>2]|0);break M}while(0);if((b[ua+11>>0]|0)>=0)break;Hta(f[ua>>2]|0)}while(0);if((b[h>>0]|0)<0)Hta(f[na>>2]|0);break H}while(0);i=(f[m>>2]|0)+292|0;f[i>>2]=(f[i>>2]|0)+-24;i=(f[ra>>2]|0)+4|0;h=f[i>>2]|0;j=h+-52|0;while(1){e=h+-52|0;f[i>>2]=e;h=h+-12|0;if((b[h+11>>0]|0)<0){Hta(f[h>>2]|0);e=f[i>>2]|0}if((e|0)==(j|0))break;else h=e}if((b[ya+11>>0]|0)<0)Hta(f[ya>>2]|0);break G}while(0);if((b[M+11>>0]|0)>=0){Da=303;break}Hta(f[M>>2]|0);Da=303}while(0);if((b[ya+11>>0]|0)>=0)break;Hta(f[ya>>2]|0)}while(0);break s}while(0);_P(F)}if((b[G+11>>0]|0)>=0)break;Hta(f[G>>2]|0)}while(0);if((b[e>>0]|0)>=0)break s;Hta(f[J>>2]|0);break s}while(0);e=f[g>>2]|0;if((f[e+20>>2]|0)==-1)DP(e+12|0,c+12|0,40)|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;ya=x;x=0;N:do if(ya&1)Da=611;else{x=0;Ga(462,xa|0,e|0);ya=x;x=0;if(ya&1){Da=611;break}f[xa>>2]=7696;do if(f[g>>2]|0){x=0;Fa(429,Ea|0);ya=x;x=0;if(!(ya&1))break;d=Ya()|0;_P(xa);break N}while(0);e=xa+4|0;f[g>>2]=f[e>>2];f[e>>2]=0;_P(xa);e=f[g>>2]|0;b[e+54>>0]=b[c+54>>0]|0;Da=(f[pa>>2]|0)+60|0;f[Da>>2]=(f[Da>>2]|0)+-4;if(!e)e=0;else b[e+8>>0]=1;rE(Ba,f[Ba+4>>2]|0);_P(Aa);break r}while(0);if((Da|0)==611)d=Ya()|0}while(0);rE(Ba,f[Ba+4>>2]|0)}_P(Aa)}_P(Ca);break q}while(0);_P(Ca);_P(Ea);break h}while(0);_P(Ea)}break b}}while(0);d=Ya()|0;break b}while(0);_P(Ha);if((b[d>>0]|0)<0)Hta(f[Ka>>2]|0);if((b[Oa+11>>0]|0)>=0){u=va;return e|0}Hta(f[Oa>>2]|0);u=va;return e|0}}while(0);if((Da|0)==49)d=Ya()|0;_P(Ha)}if((b[Ka+11>>0]|0)<0)Hta(f[Ka>>2]|0)}if((b[Oa+11>>0]|0)<0)Hta(f[Oa>>2]|0);Oa=d;jb(Oa|0);return 0}function bd(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;K=0;R=u;u=u+496|0;N=R+472|0;S=R+328|0;o=R+316|0;n=R+312|0;L=R+168|0;P=R+156|0;O=R+144|0;F=R+132|0;E=R+128|0;C=R+104|0;B=R+88|0;z=R+64|0;y=R+36|0;M=R+116|0;Q=R+92|0;G=R+76|0;D=R+52|0;A=R+40|0;m=R+24|0;l=R;q=R+12|0;x=0;Ea(3);x=0;H=ab(2144,6144,6080,4352,6344,0)|0;J=I;if((J|0)==(Sb(2144)|0)){r=Ua(H|0)|0;w=L+64|0;c=L+8|0;f[c>>2]=16496;v=L+12|0;f[L>>2]=2284;f[w>>2]=2304;f[L+4>>2]=0;x=0;Ga(531,L+64|0,v|0);t=x;x=0;a:do if(t&1){c=Ya()|0;K=303}else{f[L+136>>2]=0;f[L+140>>2]=-1;f[L>>2]=16476;f[w>>2]=16516;f[c>>2]=16496;x=0;Fa(437,v|0);t=x;x=0;do if(t&1)c=Ya()|0;else{f[v>>2]=16336;t=L+44|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[L+60>>2]=24;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;Ga(532,v|0,N|0);s=x;x=0;if(s&1){c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);Bca(v);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);x=0;Fa(440,P|0);s=x;x=0;if(s&1)c=Ya()|0;else{x=0;e=qa(f[(f[r>>2]|0)+12>>2]|0,r|0)|0;s=x;x=0;do if(s&1)K=305;else{f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;g=hL(e)|0;if(g>>>0>4294967279){x=0;Fa(428,O|0);x=0;K=305;break}if(g>>>0<11){c=O+11|0;b[c>>0]=g;if(!g){d=O;s=c}else{d=O;K=23}}else{c=g+16&-16;x=0;d=qa(318,c|0)|0;K=x;x=0;if(K&1){K=305;break}f[O>>2]=d;f[O+8>>2]=c|-2147483648;f[O+4>>2]=g;c=O+11|0;K=23}if((K|0)==23){Lu(d|0,e|0,g|0)|0;s=c}b[d+g>>0]=0;p=L+8|0;c=b[s>>0]|0;j=c<<24>>24<0;k=O+4|0;x=0;c=ta(44,p|0,(j?f[O>>2]|0:O)|0,(j?f[k>>2]|0:c&255)|0)|0;j=x;x=0;b:do if(j&1)K=306;else{x=0;ta(44,c|0,60473,2)|0;j=x;x=0;if(j&1)K=306;else{c=vc[f[(f[r>>2]|0)+8>>2]&511](r)|0;c:do if(!c)K=327;else{j=N+11|0;h=N+4|0;i=N+8|0;e=0;d:while(1){d=b[c>>0]|0;e:do switch(d<<24>>24){case 0:{K=326;break d}case 10:case 13:{e=1;break}default:{if(!e){e=0;break e}d=b[s>>0]|0;d=d<<24>>24<0?f[k>>2]|0:d&255;g=d+2|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;if(g>>>0>4294967279){K=309;break d}if(g>>>0<11){b[j>>0]=g;if(!g)d=N;else{d=N;K=314}}else{e=d+18&-16;x=0;d=qa(318,e|0)|0;K=x;x=0;if(K&1){K=319;break d}f[N>>2]=d;f[i>>2]=e|-2147483648;f[h>>2]=g;K=314}if((K|0)==314){K=0;AD(d|0,32,g|0)|0}b[d+g>>0]=0;g=b[j>>0]|0;e=g<<24>>24<0;x=0;ta(44,p|0,(e?f[N>>2]|0:N)|0,(e?f[h>>2]|0:g&255)|0)|0;g=x;x=0;if(g&1){K=320;break d}if((b[j>>0]|0)<0)Hta(f[N>>2]|0);e=0;d=b[c>>0]|0}}while(0);b[n>>0]=d;x=0;ta(44,p|0,n|0,1)|0;g=x;x=0;if(g&1){K=325;break c}c=c+1|0}do if((K|0)==309){x=0;Fa(428,N|0);x=0;K=319}else if((K|0)==320){c=Ya()|0;if((b[j>>0]|0)>=0)break;Hta(f[N>>2]|0)}else if((K|0)==326)if(e)break c;else{K=327;break c}while(0);if((K|0)==319)c=Ya()|0;break b}while(0);if((K|0)==327){x=0;ta(44,p|0,51444,1)|0;j=x;x=0;if(j&1)K=325}if((K|0)==325){c=Ya()|0;break}h=r+72|0;f:do if((f[h>>2]|0)==(f[r+76>>2]|0)){h=r+32|0;e=f[r+44>>2]|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,S|0);x=0;K=357}else{if(g>>>0<11){b[S+11>>0]=g;if(!g)c=S;else{c=S;K=335}}else{d=g+16&-16;x=0;c=qa(318,d|0)|0;K=x;x=0;if(K&1){K=357;break}f[S>>2]=c;f[S+8>>2]=d|-2147483648;f[S+4>>2]=g;K=335}if((K|0)==335)Lu(c|0,e|0,g|0)|0;b[c+g>>0]=0;x=0;Ja(17,N|0,S|0,P|0,P|0);m=x;x=0;if(m&1){c=Ya()|0;if((b[S+11>>0]|0)>=0){K=360;break}Hta(f[S>>2]|0);K=360;break}if((b[S+11>>0]|0)<0)Hta(f[S>>2]|0);c=b[s>>0]|0;c=c<<24>>24<0?f[k>>2]|0:c&255;g=c+2|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;do if(g>>>0>4294967279){x=0;Fa(428,S|0);x=0;K=361}else{if(g>>>0<11){e=S+11|0;b[e>>0]=g;if(!g)d=S;else{d=S;K=345}}else{c=c+18&-16;x=0;d=qa(318,c|0)|0;K=x;x=0;if(K&1){K=361;break}f[S>>2]=d;f[S+8>>2]=c|-2147483648;f[S+4>>2]=g;e=S+11|0;K=345}if((K|0)==345)AD(d|0,32,g|0)|0;b[d+g>>0]=0;m=b[e>>0]|0;l=m<<24>>24<0;x=0;ta(44,p|0,(l?f[S>>2]|0:S)|0,(l?f[S+4>>2]|0:m&255)|0)|0;m=x;x=0;if(m&1){c=Ya()|0;if((b[e>>0]|0)>=0){K=364;break}Hta(f[S>>2]|0);K=364;break}if((b[e>>0]|0)<0)Hta(f[S>>2]|0);x=0;c=ta(44,p|0,51140,9)|0;m=x;x=0;do if(!(m&1)){x=0;c=sa(993,c|0,(f[h>>2]|0)+1|0)|0;m=x;x=0;if(m&1)break;x=0;c=ta(44,c|0,53449,4)|0;m=x;x=0;if(m&1)break;d=N+11|0;m=b[d>>0]|0;l=m<<24>>24<0;x=0;c=ta(44,c|0,(l?f[N>>2]|0:N)|0,(l?f[N+4>>2]|0:m&255)|0)|0;m=x;x=0;if(m&1)break;x=0;ta(44,c|0,51444,1)|0;m=x;x=0;if(m&1)break;if((b[d>>0]|0)<0)Hta(f[N>>2]|0);l=h;break f}while(0);c=Ya()|0}while(0);if((K|0)==361){c=Ya()|0;K=364}if((b[N+11>>0]|0)>=0)break;Hta(f[N>>2]|0)}while(0);if((K|0)==357){c=Ya()|0;K=360}break b}else{e=f[r+44>>2]|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;g=hL(e)|0;do if(g>>>0>4294967279){x=0;Fa(428,S|0);x=0;K=396}else{if(g>>>0<11){b[S+11>>0]=g;if(!g)c=S;else{c=S;K=375}}else{d=g+16&-16;x=0;c=qa(318,d|0)|0;K=x;x=0;if(K&1){K=396;break}f[S>>2]=c;f[S+8>>2]=d|-2147483648;f[S+4>>2]=g;K=375}if((K|0)==375)Lu(c|0,e|0,g|0)|0;b[c+g>>0]=0;x=0;Ja(17,N|0,S|0,P|0,P|0);k=x;x=0;if(k&1){c=Ya()|0;if((b[S+11>>0]|0)>=0){K=399;break}Hta(f[S>>2]|0);K=399;break}if((b[S+11>>0]|0)<0)Hta(f[S>>2]|0);x=0;Ga(511,m|0,h|0);k=x;x=0;do if(k&1)c=Ya()|0;else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=l+11|0;b[g>>0]=8;k=l;f[k>>2]=538976288;f[k+4>>2]=538976288;b[l+8>>0]=0;x=0;Ia(131,S|0,m|0,l|0);k=x;x=0;do if(k&1){c=Ya()|0;i=I}else{e=S+11|0;k=b[e>>0]|0;j=k<<24>>24<0;x=0;ta(44,p|0,(j?f[S>>2]|0:S)|0,(j?f[S+4>>2]|0:k&255)|0)|0;k=x;x=0;if(k&1){c=Ya()|0;d=I;if((b[e>>0]|0)>=0){i=d;break}Hta(f[S>>2]|0);i=d;break}if((b[e>>0]|0)<0)Hta(f[S>>2]|0);if((b[g>>0]|0)<0)Hta(f[l>>2]|0);c=f[m>>2]|0;if(c|0){g=m+4|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{e=d+-52|0;f[g>>2]=e;d=d+-12|0;if((b[d+11>>0]|0)<0){Hta(f[d>>2]|0);d=f[g>>2]|0}else d=e}while((d|0)!=(c|0));c=f[m>>2]|0}Hta(c)}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);l=r+32|0;break f}while(0);if((b[g>>0]|0)<0)Hta(f[l>>2]|0);d=f[m>>2]|0;if(!d)break;h=m+4|0;e=f[h>>2]|0;if((e|0)!=(d|0)){do{g=e+-52|0;f[h>>2]=g;e=e+-12|0;if((b[e+11>>0]|0)<0){Hta(f[e>>2]|0);e=f[h>>2]|0}else e=g}while((e|0)!=(d|0));d=f[m>>2]|0}Hta(d)}while(0);if((b[N+11>>0]|0)>=0)break;Hta(f[N>>2]|0)}while(0);if((K|0)==396){c=Ya()|0;K=399}break b}while(0);c=f[l>>2]|0;g:do if((c|0)!=-1){k=r+36|0;i=f[k>>2]|0;if((i|0)==-1)break;d=f[r+48>>2]|0;f[n>>2]=d;g=d;h:do if(!d){c=0;d=0}else{e=b[g>>0]|0;if((c|0)!=0&e<<24>>24!=0){h=c;c=g;do{h=h+((e<<24>>24==10)<<31>>31)|0;d=e&255;i:do if(e<<24>>24<=-1){j:do if((d&224|0)!=192)switch(((d&240|0)==224?3:(d&248|0)==240?4:0)&7){case 2:break j;case 4:{c=c+3|0;f[n>>2]=c;break i}case 3:{c=c+2|0;f[n>>2]=c;break i}default:break i}while(0);c=c+1|0;f[n>>2]=c}while(0);c=c+1|0;f[n>>2]=c;e=b[c>>0]|0}while((h|0)!=0&e<<24>>24!=0);d=c;g=c}if(!d){c=0;break}else c=d;k:while(1){h=c;e=b[h>>0]|0;switch(e<<24>>24){case 0:break h;case 13:case 10:break k;default:{}}c=e&255;l:do if(e<<24>>24>-1)c=h;else{m:do if((c&224|0)==192)K=433;else{switch(((c&240|0)==224?3:(c&248|0)==240?4:0)&7){case 2:{K=433;break m}case 3:{c=2;break m}case 4:break;default:{c=h;break l}}c=3}while(0);if((K|0)==433){K=0;c=1}c=h+c|0}while(0);c=c+1|0}c=h+1|0}while(0);e=c-d|0;j=i>>>0>e>>>0?i:42;j=i>>>0>j>>>0?i-j|0:0;i=e>>>0>(j+76|0)>>>0?e+-76-j|0:0;e=c;n:do if(!j)K=442;else{d=0;do{x=0;sa(1018,n|0,e|0)|0;K=x;x=0;if(K&1){K=473;break n}d=d+1|0}while((d|0)!=(j|0));g=f[n>>2]|0;K=442}while(0);o:do if((K|0)==442){p:do if(i){h=0;q:while(1){if((g|0)==(c|0)){K=445;break}else d=c;while(1){d=d+-1|0;if((b[d>>0]&-64)<<24>>24!=-128)break;if((d|0)==(g|0)){K=448;break q}}e=d;f[o>>2]=d;x=0;sa(1018,o|0,c|0)|0;m=x;x=0;if(m&1){K=473;break o}h=h+1|0;if((h|0)==(i|0)){c=e;break p}else c=e}if((K|0)==445){r=Ta(4)|0;f[r>>2]=16704;x=0;Ia(77,r|0,2544,223);x=0;K=473;break o}else if((K|0)==448){r=Ta(8)|0;q=b[g>>0]|0;f[r>>2]=16724;b[r+4>>0]=q;x=0;Ia(77,r|0,2560,223);x=0;K=473;break o}}while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;g=(f[k>>2]|0)-j|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;do if(g>>>0>4294967279){x=0;Fa(428,F|0);x=0;K=474}else{if(g>>>0<11){b[F+11>>0]=g;if(!g)d=F;else{d=F;K=457}}else{e=g+16&-16;x=0;d=qa(318,e|0)|0;K=x;x=0;if(K&1){K=474;break}f[F>>2]=d;f[F+8>>2]=e|-2147483648;f[F+4>>2]=g;K=457}if((K|0)==457)AD(d|0,45,g|0)|0;b[d+g>>0]=0;e=f[n>>2]|0;d=o;do if(!(b[78368]|0)){if(!(lda(78368)|0))break;f[20280]=65533}while(0);f[S>>2]=d;n=f[20280]|0;x=0;f[N>>2]=f[S>>2];ua(19,e|0,c|0,N|0,n|0)|0;n=x;x=0;do if(!(n&1)){x=0;c=ta(44,p|0,51150,3)|0;n=x;x=0;if(n&1)break;e=o+11|0;n=b[e>>0]|0;m=n<<24>>24<0;x=0;c=ta(44,c|0,(m?f[o>>2]|0:o)|0,(m?f[o+4>>2]|0:n&255)|0)|0;n=x;x=0;if(n&1)break;x=0;ta(44,c|0,51444,1)|0;n=x;x=0;if(n&1)break;x=0;c=ta(44,p|0,51154,3)|0;n=x;x=0;if(n&1)break;d=F+11|0;n=b[d>>0]|0;m=n<<24>>24<0;x=0;c=ta(44,c|0,(m?f[F>>2]|0:F)|0,(m?f[F+4>>2]|0:n&255)|0)|0;n=x;x=0;if(n&1)break;x=0;ta(44,c|0,51158,2)|0;n=x;x=0;if(n&1)break;if((b[d>>0]|0)<0)Hta(f[F>>2]|0);if((b[e>>0]|0)<0)Hta(f[o>>2]|0);break g}while(0);c=Ya()|0;if((b[F+11>>0]|0)>=0)break;Hta(f[F>>2]|0)}while(0);if((K|0)==474)c=Ya()|0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0)}while(0);if((K|0)==473)c=Ya()|0;break b}while(0);x=0;h=la(1)|0;o=x;x=0;do if(o&1)K=502;else{x=0;c=ma(2,1.0)|0;o=x;x=0;if(o&1){K=502;break}x=0;Ia(150,h|0,51067,c|0);o=x;x=0;if(o&1){K=502;break}g=r+44|0;x=0;c=qa(403,f[g>>2]|0)|0;o=x;x=0;if(o&1){K=502;break}x=0;Ia(150,h|0,52701,c|0);o=x;x=0;if(o&1){K=502;break}x=0;c=ma(2,+(+(((f[l>>2]|0)+1|0)>>>0)))|0;o=x;x=0;if(o&1){K=502;break}x=0;Ia(150,h|0,51161,c|0);o=x;x=0;if(o&1){K=502;break}e=r+36|0;x=0;c=ma(2,+(+(((f[e>>2]|0)+1|0)>>>0)))|0;o=x;x=0;if(o&1){K=502;break}x=0;Ia(150,h|0,51166,c|0);o=x;x=0;if(o&1){K=502;break}c=vc[f[(f[r>>2]|0)+8>>2]&511](r)|0;x=0;c=qa(403,c|0)|0;o=x;x=0;if(o&1){K=502;break}x=0;Ia(150,h|0,51074,c|0);o=x;x=0;if(o&1){K=502;break}x=0;Ga(533,N|0,v|0);o=x;x=0;if(o&1){K=502;break}d=N+11|0;x=0;c=qa(403,((b[d>>0]|0)<0?f[N>>2]|0:N)|0)|0;o=x;x=0;if(o&1){c=Ya()|0;if((b[d>>0]|0)<0)Hta(f[N>>2]|0);break}if((b[d>>0]|0)<0)Hta(f[N>>2]|0);x=0;Ia(150,h|0,51082,c|0);o=x;x=0;if(o&1){K=502;break}x=0;c=sa(1054,h|0,50909)|0;o=x;x=0;if(o&1){o=Za(0)|0;Ua(o|0)|0;x=0;Ea(4);o=x;x=0;if(o&1){K=502;break}}else f[a+96>>2]=c;x=0;Ga(533,q|0,v|0);o=x;x=0;if(o&1){K=502;break}x=0;c=qa(404,q|0)|0;o=x;x=0;if(o&1){c=Ya()|0;if((b[q+11>>0]|0)>=0)break b;Hta(f[q>>2]|0);break b}f[a+104>>2]=c;if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);c=vc[f[(f[r>>2]|0)+8>>2]&511](r)|0;x=0;c=qa(325,c|0)|0;K=x;x=0;if(K&1){K=502;break}f[a+100>>2]=c;d=a+92|0;f[d>>2]=1;x=0;c=qa(325,f[g>>2]|0)|0;K=x;x=0;if(K&1){K=502;break}f[a+108>>2]=c;f[a+112>>2]=(f[l>>2]|0)+1;f[a+116>>2]=(f[e>>2]|0)+1;f[a+120>>2]=f[r+48>>2];f[a+84>>2]=0;f[a+88>>2]=0;x=0;Fa(466,h|0);K=x;x=0;if(K&1){K=502;break}if((b[s>>0]|0)<0)Hta(f[O>>2]|0);if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0);f[L>>2]=16476;f[w>>2]=16516;f[p>>2]=16496;f[v>>2]=16336;if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);Bca(v);KU(L,16528);uma(w);Wa();S=d;S=f[S>>2]|0;u=R;return S|0}while(0);if((K|0)==502)c=Ya()|0}}while(0);if((K|0)==306)c=Ya()|0;if((b[s>>0]|0)<0)Hta(f[O>>2]|0)}while(0);if((K|0)==305)c=Ya()|0;if((b[P+11>>0]|0)<0)Hta(f[P>>2]|0)}f[L>>2]=16476;f[w>>2]=16516;f[L+8>>2]=16496;f[v>>2]=16336;if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);Bca(v);KU(L,16528);uma(w);break a}while(0);KU(L,16528);K=303}while(0);if((K|0)==303)uma(w);x=0;Ea(4);w=x;x=0;if(w&1){w=Za(0)|0;soa(w)}else{S=c;jb(S|0)}}if((J|0)==(Sb(6144)|0)){g=Ua(H|0)|0;k=S+64|0;c=S+8|0;f[c>>2]=16496;j=S+12|0;f[S>>2]=2284;f[k>>2]=2304;f[S+4>>2]=0;x=0;Ga(531,S+64|0,j|0);w=x;x=0;r:do if(w&1){c=Ya()|0;K=284}else{f[S+136>>2]=0;f[S+140>>2]=-1;f[S>>2]=16476;f[k>>2]=16516;f[c>>2]=16496;x=0;Fa(437,j|0);w=x;x=0;do if(w&1)c=Ya()|0;else{f[j>>2]=16336;i=S+44|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[S+60>>2]=24;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;Ga(532,j|0,N|0);w=x;x=0;if(w&1){c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);x=0;h=la(1)|0;w=x;x=0;do if(w&1)K=285;else{d=S+8|0;x=0;c=ta(44,d|0,51039,27)|0;w=x;x=0;if(w&1)K=285;else{w=vc[f[(f[g>>2]|0)+8>>2]&511](g)|0;e=hL(w)|0;x=0;e=ta(44,c|0,w|0,e|0)|0;w=x;x=0;if(w&1)K=285;else{x=0;Ga(536,y|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);w=x;x=0;if(w&1)K=285;else{x=0;c=sa(994,y|0,83320)|0;w=x;x=0;if(!(w&1)){x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;w=x;x=0;if(!(w&1)){uga(y);x=0;sa(1012,e|0,c|0)|0;y=x;x=0;if(y&1){K=285;break}x=0;qa(341,e|0)|0;y=x;x=0;if(y&1){K=285;break}x=0;c=ma(2,2.0)|0;y=x;x=0;if(y&1){K=285;break}x=0;Ia(150,h|0,51067,c|0);y=x;x=0;if(y&1){K=285;break}c=vc[f[(f[g>>2]|0)+8>>2]&511](g)|0;x=0;c=qa(403,c|0)|0;y=x;x=0;if(y&1){K=285;break}x=0;Ia(150,h|0,51074,c|0);y=x;x=0;if(y&1){K=285;break}x=0;Ga(533,z|0,j|0);y=x;x=0;if(y&1){K=285;break}e=z+11|0;x=0;c=qa(403,((b[e>>0]|0)<0?f[z>>2]|0:z)|0)|0;y=x;x=0;if(y&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[z>>2]|0);K=286;break}if((b[e>>0]|0)<0)Hta(f[z>>2]|0);x=0;Ia(150,h|0,51082,c|0);z=x;x=0;if(z&1){K=285;break}x=0;c=sa(1054,h|0,50909)|0;z=x;x=0;if(z&1){z=Za(0)|0;Ua(z|0)|0;x=0;Ea(4);z=x;x=0;if(z&1){K=285;break}}else f[a+96>>2]=c;x=0;Ga(533,A|0,j|0);z=x;x=0;if(z&1){K=285;break}x=0;c=qa(404,A|0)|0;z=x;x=0;if(z&1){c=Ya()|0;if((b[A+11>>0]|0)>=0)break;Hta(f[A>>2]|0);break}f[a+104>>2]=c;if((b[A+11>>0]|0)<0)Hta(f[A>>2]|0);c=vc[f[(f[g>>2]|0)+8>>2]&511](g)|0;x=0;c=qa(325,c|0)|0;K=x;x=0;if(K&1){K=285;break}f[a+100>>2]=c;c=a+92|0;f[c>>2]=2;f[a+84>>2]=0;f[a+88>>2]=0;x=0;Fa(466,h|0);K=x;x=0;if(K&1){K=285;break}f[S>>2]=16476;f[k>>2]=16516;f[d>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(S,16528);uma(k);Wa();S=c;S=f[S>>2]|0;u=R;return S|0}}c=Ya()|0;uga(y);K=286}}}}while(0);if((K|0)==285){c=Ya()|0;d=S+8|0;K=286}f[S>>2]=16476;f[k>>2]=16516;f[d>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(S,16528);uma(k);break r}while(0);KU(S,16528);K=284}while(0);if((K|0)==284)uma(k);x=0;Ea(4);A=x;x=0;if(A&1){A=Za(0)|0;soa(A)}else{S=c;jb(S|0)}}if((J|0)==(Sb(6080)|0)){g=Ua(H|0)|0;k=S+64|0;c=S+8|0;f[c>>2]=16496;j=S+12|0;f[S>>2]=2284;f[k>>2]=2304;f[S+4>>2]=0;x=0;Ga(531,S+64|0,j|0);A=x;x=0;s:do if(A&1){c=Ya()|0;K=265}else{f[S+136>>2]=0;f[S+140>>2]=-1;f[S>>2]=16476;f[k>>2]=16516;f[c>>2]=16496;x=0;Fa(437,j|0);A=x;x=0;do if(A&1)c=Ya()|0;else{f[j>>2]=16336;i=S+44|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[S+60>>2]=24;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;Ga(532,j|0,N|0);A=x;x=0;if(A&1){c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);x=0;h=la(1)|0;A=x;x=0;do if(A&1)K=266;else{d=S+8|0;x=0;c=ta(44,d|0,51092,16)|0;A=x;x=0;if(A&1)K=266;else{A=vc[f[(f[g>>2]|0)+8>>2]&511](g)|0;e=hL(A)|0;x=0;e=ta(44,c|0,A|0,e|0)|0;A=x;x=0;if(A&1)K=266;else{x=0;Ga(536,B|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);A=x;x=0;if(A&1)K=266;else{x=0;c=sa(994,B|0,83320)|0;A=x;x=0;if(!(A&1)){x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;A=x;x=0;if(!(A&1)){uga(B);x=0;sa(1012,e|0,c|0)|0;B=x;x=0;if(B&1){K=266;break}x=0;qa(341,e|0)|0;B=x;x=0;if(B&1){K=266;break}x=0;c=ma(2,3.0)|0;B=x;x=0;if(B&1){K=266;break}x=0;Ia(150,h|0,51067,c|0);B=x;x=0;if(B&1){K=266;break}c=vc[f[(f[g>>2]|0)+8>>2]&511](g)|0;x=0;c=qa(403,c|0)|0;B=x;x=0;if(B&1){K=266;break}x=0;Ia(150,h|0,51074,c|0);B=x;x=0;if(B&1){K=266;break}x=0;Ga(533,C|0,j|0);B=x;x=0;if(B&1){K=266;break}e=C+11|0;x=0;c=qa(403,((b[e>>0]|0)<0?f[C>>2]|0:C)|0)|0;B=x;x=0;if(B&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[C>>2]|0);K=267;break}if((b[e>>0]|0)<0)Hta(f[C>>2]|0);x=0;Ia(150,h|0,51082,c|0);C=x;x=0;if(C&1){K=266;break}x=0;c=sa(1054,h|0,50909)|0;C=x;x=0;if(C&1){C=Za(0)|0;Ua(C|0)|0;x=0;Ea(4);C=x;x=0;if(C&1){K=266;break}}else f[a+96>>2]=c;x=0;Ga(533,D|0,j|0);C=x;x=0;if(C&1){K=266;break}x=0;c=qa(404,D|0)|0;C=x;x=0;if(C&1){c=Ya()|0;if((b[D+11>>0]|0)>=0)break;Hta(f[D>>2]|0);break}f[a+104>>2]=c;if((b[D+11>>0]|0)<0)Hta(f[D>>2]|0);c=vc[f[(f[g>>2]|0)+8>>2]&511](g)|0;x=0;c=qa(325,c|0)|0;K=x;x=0;if(K&1){K=266;break}f[a+100>>2]=c;c=a+92|0;f[c>>2]=3;f[a+84>>2]=0;f[a+88>>2]=0;x=0;Fa(466,h|0);K=x;x=0;if(K&1){K=266;break}f[S>>2]=16476;f[k>>2]=16516;f[d>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(S,16528);uma(k);Wa();S=c;S=f[S>>2]|0;u=R;return S|0}}c=Ya()|0;uga(B);K=267}}}}while(0);if((K|0)==266){c=Ya()|0;d=S+8|0;K=267}f[S>>2]=16476;f[k>>2]=16516;f[d>>2]=16496;f[j>>2]=16336;if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);Bca(j);KU(S,16528);uma(k);break s}while(0);KU(S,16528);K=265}while(0);if((K|0)==265)uma(k);x=0;Ea(4);D=x;x=0;if(D&1){D=Za(0)|0;soa(D)}else{S=c;jb(S|0)}}if((J|0)==(Sb(4352)|0)){c=Ua(H|0)|0;l=S+64|0;d=S+8|0;f[d>>2]=16496;k=S+12|0;f[S>>2]=2284;f[l>>2]=2304;f[S+4>>2]=0;x=0;Ga(531,S+64|0,k|0);D=x;x=0;t:do if(D&1){c=Ya()|0;K=244}else{f[S+136>>2]=0;f[S+140>>2]=-1;f[S>>2]=16476;f[l>>2]=16516;f[d>>2]=16496;x=0;Fa(437,k|0);D=x;x=0;do if(D&1)c=Ya()|0;else{f[k>>2]=16336;j=S+44|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[S+60>>2]=24;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;Ga(532,k|0,N|0);D=x;x=0;if(D&1){c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);x=0;i=la(1)|0;D=x;x=0;do if(D&1)K=245;else{d=S+8|0;x=0;e=ta(44,d|0,51092,16)|0;D=x;x=0;if(D&1)K=245;else{h=c+11|0;g=b[h>>0]|0;D=g<<24>>24<0;x=0;g=ta(44,e|0,(D?f[c>>2]|0:c)|0,(D?f[c+4>>2]|0:g&255)|0)|0;D=x;x=0;if(D&1)K=245;else{x=0;Ga(536,E|0,g+(f[(f[g>>2]|0)+-12>>2]|0)|0);D=x;x=0;if(D&1)K=245;else{x=0;e=sa(994,E|0,83320)|0;D=x;x=0;if(!(D&1)){x=0;e=sa(f[(f[e>>2]|0)+28>>2]|0,e|0,10)|0;D=x;x=0;if(!(D&1)){uga(E);x=0;sa(1012,g|0,e|0)|0;E=x;x=0;if(E&1){K=245;break}x=0;qa(341,g|0)|0;E=x;x=0;if(E&1){K=245;break}x=0;e=ma(2,4.0)|0;E=x;x=0;if(E&1){K=245;break}x=0;Ia(150,i|0,51067,e|0);E=x;x=0;if(E&1){K=245;break}if((b[h>>0]|0)<0)e=f[c>>2]|0;else e=c;x=0;e=qa(403,e|0)|0;E=x;x=0;if(E&1){K=245;break}x=0;Ia(150,i|0,51074,e|0);E=x;x=0;if(E&1){K=245;break}x=0;Ga(533,F|0,k|0);E=x;x=0;if(E&1){K=245;break}g=F+11|0;x=0;e=qa(403,((b[g>>0]|0)<0?f[F>>2]|0:F)|0)|0;E=x;x=0;if(E&1){c=Ya()|0;if((b[g>>0]|0)<0)Hta(f[F>>2]|0);K=246;break}if((b[g>>0]|0)<0)Hta(f[F>>2]|0);x=0;Ia(150,i|0,51082,e|0);F=x;x=0;if(F&1){K=245;break}x=0;e=sa(1054,i|0,50909)|0;F=x;x=0;if(F&1){F=Za(0)|0;Ua(F|0)|0;x=0;Ea(4);F=x;x=0;if(F&1){K=245;break}}else f[a+96>>2]=e;x=0;Ga(533,G|0,k|0);F=x;x=0;if(F&1){K=245;break}x=0;e=qa(404,G|0)|0;F=x;x=0;if(F&1){c=Ya()|0;if((b[G+11>>0]|0)>=0)break;Hta(f[G>>2]|0);break}f[a+104>>2]=e;if((b[G+11>>0]|0)<0)Hta(f[G>>2]|0);if((b[h>>0]|0)<0)c=f[c>>2]|0;x=0;c=qa(325,c|0)|0;K=x;x=0;if(K&1){K=245;break}f[a+100>>2]=c;c=a+92|0;f[c>>2]=4;f[a+84>>2]=0;f[a+88>>2]=0;x=0;Fa(466,i|0);K=x;x=0;if(K&1){K=245;break}f[S>>2]=16476;f[l>>2]=16516;f[d>>2]=16496;f[k>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);KU(S,16528);uma(l);Wa();S=c;S=f[S>>2]|0;u=R;return S|0}}c=Ya()|0;uga(E);K=246}}}}while(0);if((K|0)==245){c=Ya()|0;d=S+8|0;K=246}f[S>>2]=16476;f[l>>2]=16516;f[d>>2]=16496;f[k>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);KU(S,16528);uma(l);break t}while(0);KU(S,16528);K=244}while(0);if((K|0)==244)uma(l);x=0;Ea(4);G=x;x=0;if(G&1){G=Za(0)|0;soa(G)}else{S=c;jb(S|0)}}J=(J|0)==(Sb(6344)|0);k=Ua(H|0)|0;if(!J){j=S+64|0;c=S+8|0;f[c>>2]=16496;i=S+12|0;f[S>>2]=2284;f[j>>2]=2304;f[S+4>>2]=0;x=0;Ga(531,S+64|0,i|0);J=x;x=0;u:do if(J&1){c=Ya()|0;K=206}else{f[S+136>>2]=0;f[S+140>>2]=-1;f[S>>2]=16476;f[j>>2]=16516;f[c>>2]=16496;x=0;Fa(437,i|0);J=x;x=0;do if(J&1)c=Ya()|0;else{f[i>>2]=16336;h=S+44|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[S+60>>2]=24;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;Ga(532,i|0,N|0);J=x;x=0;if(J&1){c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(i);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);x=0;g=la(1)|0;J=x;x=0;do if(J&1)K=207;else{d=S+8|0;x=0;e=ta(44,d|0,51109,22)|0;J=x;x=0;if(J&1)K=207;else{x=0;Ga(536,L|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);J=x;x=0;if(J&1)K=207;else{x=0;c=sa(994,L|0,83320)|0;J=x;x=0;if(!(J&1)){x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;J=x;x=0;if(!(J&1)){uga(L);x=0;sa(1012,e|0,c|0)|0;L=x;x=0;if(L&1){K=207;break}x=0;qa(341,e|0)|0;L=x;x=0;if(L&1){K=207;break}x=0;c=ma(2,5.0)|0;L=x;x=0;if(L&1){K=207;break}x=0;Ia(150,g|0,51067,c|0);L=x;x=0;if(L&1){K=207;break}x=0;c=qa(403,51132)|0;L=x;x=0;if(L&1){K=207;break}x=0;Ia(150,g|0,51074,c|0);L=x;x=0;if(L&1){K=207;break}x=0;c=sa(1054,g|0,50909)|0;L=x;x=0;if(L&1){L=Za(0)|0;Ua(L|0)|0;x=0;Ea(4);L=x;x=0;if(L&1){K=207;break}}else f[a+96>>2]=c;x=0;Ga(533,M|0,i|0);L=x;x=0;if(L&1){K=207;break}x=0;c=qa(404,M|0)|0;L=x;x=0;if(L&1){c=Ya()|0;if((b[M+11>>0]|0)>=0)break;Hta(f[M>>2]|0);break}f[a+104>>2]=c;if((b[M+11>>0]|0)<0)Hta(f[M>>2]|0);x=0;c=qa(325,51132)|0;M=x;x=0;if(M&1){K=207;break}f[a+100>>2]=c;c=a+92|0;f[c>>2]=5;f[a+84>>2]=0;f[a+88>>2]=0;x=0;Fa(466,g|0);M=x;x=0;if(M&1){K=207;break}f[S>>2]=16476;f[j>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(i);KU(S,16528);uma(j);Wa();S=c;S=f[S>>2]|0;u=R;return S|0}}c=Ya()|0;uga(L);K=208}}}while(0);if((K|0)==207){c=Ya()|0;d=S+8|0;K=208}f[S>>2]=16476;f[j>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(i);KU(S,16528);uma(j);break u}while(0);KU(S,16528);K=206}while(0);if((K|0)==206)uma(j);x=0;Ea(4);M=x;x=0;if(M&1){M=Za(0)|0;soa(M)}else{S=c;jb(S|0)}}j=S+64|0;c=S+8|0;f[c>>2]=16496;i=S+12|0;f[S>>2]=2284;f[j>>2]=2304;f[S+4>>2]=0;x=0;Ga(531,S+64|0,i|0);M=x;x=0;v:do if(M&1){c=Ya()|0;K=225}else{f[S+136>>2]=0;f[S+140>>2]=-1;f[S>>2]=16476;f[j>>2]=16516;f[c>>2]=16496;x=0;Fa(437,i|0);M=x;x=0;do if(M&1)c=Ya()|0;else{f[i>>2]=16336;h=S+44|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[S+60>>2]=24;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;x=0;Ga(532,i|0,N|0);M=x;x=0;if(M&1){c=Ya()|0;if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(i);break}if((b[N+11>>0]|0)<0)Hta(f[N>>2]|0);x=0;g=la(1)|0;N=x;x=0;do if(N&1)K=226;else{d=S+8|0;x=0;c=ta(44,d|0,51092,16)|0;N=x;x=0;if(N&1)K=226;else{e=hL(k)|0;x=0;e=ta(44,c|0,k|0,e|0)|0;N=x;x=0;if(N&1)K=226;else{x=0;Ga(536,O|0,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);N=x;x=0;if(N&1)K=226;else{x=0;c=sa(994,O|0,83320)|0;N=x;x=0;if(!(N&1)){x=0;c=sa(f[(f[c>>2]|0)+28>>2]|0,c|0,10)|0;N=x;x=0;if(!(N&1)){uga(O);x=0;sa(1012,e|0,c|0)|0;O=x;x=0;if(O&1){K=226;break}x=0;qa(341,e|0)|0;O=x;x=0;if(O&1){K=226;break}x=0;c=ma(2,4.0)|0;O=x;x=0;if(O&1){K=226;break}x=0;Ia(150,g|0,51067,c|0);O=x;x=0;if(O&1){K=226;break}x=0;c=qa(403,k|0)|0;O=x;x=0;if(O&1){K=226;break}x=0;Ia(150,g|0,51074,c|0);O=x;x=0;if(O&1){K=226;break}x=0;Ga(533,P|0,i|0);O=x;x=0;if(O&1){K=226;break}e=P+11|0;x=0;c=qa(403,((b[e>>0]|0)<0?f[P>>2]|0:P)|0)|0;O=x;x=0;if(O&1){c=Ya()|0;if((b[e>>0]|0)<0)Hta(f[P>>2]|0);K=227;break}if((b[e>>0]|0)<0)Hta(f[P>>2]|0);x=0;Ia(150,g|0,51082,c|0);P=x;x=0;if(P&1){K=226;break}x=0;c=sa(1054,g|0,50909)|0;P=x;x=0;if(P&1){P=Za(0)|0;Ua(P|0)|0;x=0;Ea(4);P=x;x=0;if(P&1){K=226;break}}else f[a+96>>2]=c;x=0;Ga(533,Q|0,i|0);P=x;x=0;if(P&1){K=226;break}x=0;c=qa(404,Q|0)|0;P=x;x=0;if(P&1){c=Ya()|0;if((b[Q+11>>0]|0)>=0)break;Hta(f[Q>>2]|0);break}f[a+104>>2]=c;if((b[Q+11>>0]|0)<0)Hta(f[Q>>2]|0);x=0;c=qa(325,k|0)|0;Q=x;x=0;if(Q&1){K=226;break}f[a+100>>2]=c;c=a+92|0;f[c>>2]=4;f[a+84>>2]=0;f[a+88>>2]=0;x=0;Fa(466,g|0);a=x;x=0;if(a&1){K=226;break}f[S>>2]=16476;f[j>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(i);KU(S,16528);uma(j);Wa();S=c;S=f[S>>2]|0;u=R;return S|0}}c=Ya()|0;uga(O);K=227}}}}while(0);if((K|0)==226){c=Ya()|0;d=S+8|0;K=227}f[S>>2]=16476;f[j>>2]=16516;f[d>>2]=16496;f[i>>2]=16336;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);Bca(i);KU(S,16528);uma(j);break v}while(0);KU(S,16528);K=225}while(0);if((K|0)==225)uma(j);Wa();S=c;jb(S|0);return 0}function cd(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ta=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;za=u;u=u+656|0;Aa=za+608|0;na=za+568|0;ma=za+96|0;ya=za+40|0;la=za+528|0;O=za;ha=za+520|0;Da=za+512|0;Ea=za+496|0;j=za+504|0;Ca=za+488|0;Ba=za+480|0;P=za+472|0;Q=za+464|0;R=za+456|0;S=za+448|0;T=za+440|0;U=za+432|0;V=za+424|0;W=za+416|0;_=za+408|0;ia=za+396|0;ja=za+384|0;$=za+376|0;aa=za+368|0;ba=za+360|0;ca=za+352|0;da=za+344|0;ea=za+336|0;fa=za+328|0;ga=za+320|0;E=za+312|0;F=za+304|0;G=za+296|0;H=za+288|0;J=za+280|0;Y=za+272|0;X=za+264|0;K=za+256|0;L=za+248|0;M=za+240|0;N=za+232|0;n=za+224|0;p=za+216|0;q=za+208|0;t=za+200|0;r=za+192|0;s=za+184|0;v=za+176|0;w=za+168|0;y=za+160|0;wa=za+152|0;ta=za+144|0;va=za+136|0;qV(Da,f[a+88>>2]|0);f[Da>>2]=15556;pa=a+80|0;x=0;Ga(462,Ea|0,f[pa>>2]|0);xa=x;x=0;if(xa&1){Ea=Ya()|0;_P(Da);jb(Ea|0)}f[Ea>>2]=15572;k=c+4|0;h=f[(f[k>>2]|0)+-4>>2]|0;x=0;g=qa(f[(f[a>>2]|0)+128>>2]|0,a|0)|0;xa=x;x=0;do if(xa&1)g=Ya()|0;else{if(!(g|e)){x=0;i=qa(318,112)|0;Ca=x;x=0;if(!(Ca&1)){x=0;D=Aa;B=a+12|0;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));Ia(84,i|0,Aa|0,0);Ca=x;x=0;if(Ca&1){g=Ya()|0;Hta(i);break}g=i+72|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;Ga(462,j|0,a|0);Ca=x;x=0;if(!(Ca&1)){f[j>>2]=15556;x=0;Ga(h|0,g|0,j|0);Ca=x;x=0;if(Ca&1){g=Ya()|0;_P(j);break}_P(j);Ca=i;_P(Ea);_P(Da);u=za;return Ca|0}}g=Ya()|0;break}Z=Da+4|0;g=f[Z>>2]|0;if(!g){g=0;xa=16}else{x=0;g=ua(6,g|0,c|0,d|0,e|0)|0;xa=x;x=0;if(xa&1)xa=35;else xa=16}do if((xa|0)==16){x=0;Ga(462,Ca|0,g|0);ra=x;x=0;if(ra&1)xa=35;else{f[Ca>>2]=7168;ra=Ea+4|0;g=f[ra>>2]|0;a:do if(!g)xa=374;else if((f[g+80>>2]|0)==(f[g+76>>2]|0))xa=374;else{x=0;Ga(462,Ba|0,0);oa=x;x=0;if(oa&1)g=Ya()|0;else{f[Ba>>2]=7168;g=f[(f[(f[ra>>2]|0)+76>>2]|0)+4>>2]|0;b:do if(!g)xa=333;else if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)==33918){x=0;g=qa(318,112)|0;oa=x;x=0;c:do if(oa&1)xa=39;else{ka=a+12|0;x=0;D=Aa;B=ka;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));Ia(84,g|0,Aa|0,0);oa=x;x=0;if(oa&1){Aa=Ya()|0;Hta(g);g=Aa;break}x=0;Ga(462,na|0,g|0);oa=x;x=0;if(oa&1)xa=39;else{f[na>>2]=7168;oa=Ba+4|0;do if(f[oa>>2]|0){x=0;Fa(429,Ba|0);D=x;x=0;if(!(D&1))break;g=Ya()|0;_P(na);break c}while(0);D=na+4|0;f[oa>>2]=f[D>>2];f[D>>2]=0;_P(na);do if(!h){g=f[ra>>2]|0;x=0;g=qa(f[(f[g>>2]|0)+128>>2]|0,g|0)|0;D=x;x=0;if(D&1){g=Ya()|0;break b}if(!g){h=0;break}i=f[c>>2]|0;g=(f[k>>2]|0)-i|0;if((g|0)<=0){h=0;break}j=g>>>3;g=j+-1|0;while(1){if(j>>>0<=g>>>0){xa=33;break}h=f[i+(g<<3)+4>>2]|0;g=g+-1|0;if(!((g|0)>-1&(h|0)==0)){xa=43;break}}if((xa|0)==33){x=0;Fa(432,c|0);x=0;g=Ya()|0;break b}else if((xa|0)==43)if(!h){h=0;break}else{xa=44;break}}else xa=44;while(0);do if((xa|0)==44){C=h+76|0;D=h+80|0;j=f[D>>2]|0;i=f[C>>2]|0;k=i;if((j|0)==(i|0))break;B=Ca+4|0;g=f[B>>2]|0;do if(g|0){A=(f[g+80>>2]|0)-(f[g+76>>2]|0)>>3;if(!A)break;p=h+76|0;q=na+4|0;r=ya+4|0;s=Aa+4|0;t=Q+4|0;v=la+4|0;w=U+4|0;y=ma+4|0;z=S+4|0;g=0;d:while(1){o=j-i>>3;if(o|0){n=0;do{x=0;Ga(462,Aa|0,f[(f[(f[B>>2]|0)+76>>2]|0)+(g<<3)+4>>2]|0);ja=x;x=0;if(ja&1){xa=80;break d}f[Aa>>2]=15556;x=0;Ga(462,na|0,f[(f[p>>2]|0)+(n<<3)+4>>2]|0);ja=x;x=0;if(ja&1){xa=81;break d}f[na>>2]=15556;i=f[q>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+16>>2]|0,i|0)|0;ja=x;x=0;if(ja&1){xa=82;break d}x=0;Ga(462,ma|0,i|0);ja=x;x=0;if(ja&1){xa=82;break d}f[ma>>2]=15556;x=0;i=qa(f[(f[a>>2]|0)+16>>2]|0,a|0)|0;ja=x;x=0;if(ja&1){xa=83;break d}x=0;Ga(462,ya|0,i|0);ja=x;x=0;if(ja&1){xa=83;break d}f[ya>>2]=15556;k=f[r>>2]|0;i=f[s>>2]|0;if(!i)i=0;else{x=0;i=qa(f[(f[i>>2]|0)+16>>2]|0,i|0)|0;ja=x;x=0;if(ja&1){xa=84;break d}}x=0;Ga(462,Q|0,i|0);ja=x;x=0;if(ja&1){xa=84;break d}f[Q>>2]=15556;f[k+68>>2]=0;j=k+84|0;i=k+88|0;if(f[i>>2]|0){x=0;Fa(429,j|0);ja=x;x=0;if(ja&1){xa=85;break d}}f[i>>2]=f[t>>2];x=0;Fa(430,j|0);ja=x;x=0;if(ja&1){xa=85;break d}x=0;Ga(462,P|0,f[i>>2]|0);ja=x;x=0;if(ja&1){xa=85;break d}f[P>>2]=15556;_P(P);_P(Q);i=f[pa>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+12>>2]|0,i|0)|0;ja=x;x=0;if(ja&1){xa=86;break d}x=0;Ga(462,la|0,i|0);ja=x;x=0;if(ja&1){xa=86;break d}f[la>>2]=15572;ja=f[v>>2]|0;m=ja+80|0;ia=f[m>>2]|0;ja=f[ja+76>>2]|0;j=ja;i=ia;if((ia|0)==(ja|0)){i=f[r>>2]|0;x=0;Ga(462,U|0,0);ja=x;x=0;if(ja&1){xa=87;break d}f[U>>2]=15572;f[i+68>>2]=0;j=i+76|0;i=i+80|0;if(f[i>>2]|0){x=0;Fa(429,j|0);ja=x;x=0;if(ja&1){xa=95;break d}}f[i>>2]=f[w>>2];x=0;Fa(430,j|0);ja=x;x=0;if(ja&1){xa=95;break d}x=0;Ga(462,T|0,f[i>>2]|0);ja=x;x=0;if(ja&1){xa=95;break d}f[T>>2]=15572;_P(T);_P(U)}else{k=j+8|0;if((k|0)==(i|0))xa=72;else{do{l=j+4|0;if(f[l>>2]|0){x=0;Fa(429,j|0);ja=x;x=0;if(ja&1){xa=87;break d}}ja=k+4|0;f[l>>2]=f[ja>>2];f[ja>>2]=0;k=k+8|0;j=j+8|0}while((k|0)!=(i|0));i=f[m>>2]|0;if((i|0)!=(j|0))xa=72}if((xa|0)==72){xa=0;do{ja=i+-8|0;f[m>>2]=ja;Kc[f[f[ja>>2]>>2]&511](ja);i=f[m>>2]|0}while((i|0)!=(j|0))}i=f[r>>2]|0;x=0;Ga(462,S|0,f[v>>2]|0);ja=x;x=0;if(ja&1){xa=87;break d}f[S>>2]=15572;f[i+68>>2]=0;j=i+76|0;i=i+80|0;if(f[i>>2]|0){x=0;Fa(429,j|0);ja=x;x=0;if(ja&1){xa=88;break d}}f[i>>2]=f[z>>2];x=0;Fa(430,j|0);ja=x;x=0;if(ja&1){xa=88;break d}x=0;Ga(462,R|0,f[i>>2]|0);ja=x;x=0;if(ja&1){xa=88;break d}f[R>>2]=15572;_P(R);_P(S)}i=f[y>>2]|0;DP(i+12|0,ka|0,40)|0;x=0;Ga(462,V|0,f[r>>2]|0);ja=x;x=0;if(ja&1){xa=87;break d}f[V>>2]=15556;x=0;Ia(85,i|0,V|0,d|0);ja=x;x=0;if(ja&1){xa=101;break d}_P(V);i=(f[oa>>2]|0)+72|0;j=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,W|0,f[y>>2]|0);ja=x;x=0;if(ja&1){xa=87;break d}f[W>>2]=15556;x=0;Ga(j|0,i|0,W|0);ja=x;x=0;if(ja&1){xa=102;break d}_P(W);_P(la);_P(ya);_P(ma);_P(na);_P(Aa);n=n+1|0}while(n>>>0>>0)}g=g+1|0;if(g>>>0>=A>>>0){xa=341;break b}j=f[D>>2]|0;i=f[C>>2]|0}switch(xa|0){case 80:{g=Ya()|0;break}case 81:{g=Ya()|0;xa=108;break}case 82:{g=Ya()|0;xa=107;break}case 83:{g=Ya()|0;xa=106;break}case 84:{g=Ya()|0;xa=105;break}case 85:{g=Ya()|0;_P(Q);xa=105;break}case 86:{g=Ya()|0;xa=104;break}case 87:{g=Ya()|0;xa=103;break}case 88:{g=Ya()|0;_P(S);xa=103;break}case 95:{g=Ya()|0;_P(U);xa=103;break}case 101:{g=Ya()|0;_P(V);xa=103;break}case 102:{g=Ya()|0;_P(W);xa=103;break}}if((xa|0)==103){_P(la);xa=104}if((xa|0)==104)xa=105;if((xa|0)==105){_P(ya);xa=106}if((xa|0)==106){_P(ma);xa=107}if((xa|0)==107){_P(na);xa=108}if((xa|0)==108)_P(Aa);break b}while(0);n=j-i>>3;if(!n){xa=341;break b}o=h+76|0;y=Aa+4|0;p=_+4|0;z=ma+4|0;q=aa+4|0;r=ya+4|0;s=ea+4|0;t=na+4|0;v=ca+4|0;w=ha+4|0;g=0;i=k;e:while(1){x=0;Ga(462,Aa|0,f[i+(g<<3)+4>>2]|0);la=x;x=0;if(la&1){xa=133;break}f[Aa>>2]=15556;i=f[y>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+16>>2]|0,i|0)|0;la=x;x=0;if(la&1){xa=134;break}x=0;Ga(462,na|0,i|0);la=x;x=0;if(la&1){xa=134;break}f[na>>2]=15556;x=0;i=qa(f[(f[a>>2]|0)+16>>2]|0,a|0)|0;la=x;x=0;if(la&1){xa=135;break}x=0;Ga(462,ma|0,i|0);la=x;x=0;if(la&1){xa=135;break}f[ma>>2]=15556;i=f[y>>2]|0;if(!i)i=0;else while(1){x=0;Ga(462,ha|0,f[i+88>>2]|0);la=x;x=0;if(la&1){xa=136;break e}f[ha>>2]=15556;j=f[w>>2]|0;_P(ha);if(!j)break;else i=j}x=0;Ga(462,_|0,i|0);la=x;x=0;if(la&1){xa=136;break}f[_>>2]=15556;la=(f[(f[p>>2]|0)+72>>2]|0)==0;_P(_);if(!la){xa=122;break}k=f[z>>2]|0;i=f[Z>>2]|0;if(!i)i=0;else{x=0;i=qa(f[(f[i>>2]|0)+16>>2]|0,i|0)|0;la=x;x=0;if(la&1){xa=136;break}}x=0;Ga(462,aa|0,i|0);la=x;x=0;if(la&1){xa=136;break}f[aa>>2]=15556;f[k+68>>2]=0;j=k+84|0;i=k+88|0;if(f[i>>2]|0){x=0;Fa(429,j|0);la=x;x=0;if(la&1){xa=176;break}}f[i>>2]=f[q>>2];x=0;Fa(430,j|0);la=x;x=0;if(la&1){xa=176;break}x=0;Ga(462,$|0,f[i>>2]|0);la=x;x=0;if(la&1){xa=176;break}f[$>>2]=15556;_P($);_P(aa);i=f[pa>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+12>>2]|0,i|0)|0;la=x;x=0;if(la&1){xa=177;break}x=0;Ga(462,ya|0,i|0);la=x;x=0;if(la&1){xa=177;break}f[ya>>2]=15572;la=f[r>>2]|0;m=la+80|0;Y=f[m>>2]|0;la=f[la+76>>2]|0;j=la;i=Y;if((Y|0)==(la|0)){i=f[z>>2]|0;x=0;Ga(462,ea|0,0);la=x;x=0;if(la&1){xa=178;break}f[ea>>2]=15572;f[i+68>>2]=0;j=i+76|0;i=i+80|0;if(f[i>>2]|0){x=0;Fa(429,j|0);la=x;x=0;if(la&1){xa=186;break}}f[i>>2]=f[s>>2];x=0;Fa(430,j|0);la=x;x=0;if(la&1){xa=186;break}x=0;Ga(462,da|0,f[i>>2]|0);la=x;x=0;if(la&1){xa=186;break}f[da>>2]=15572;_P(da);_P(ea)}else{k=j+8|0;if((k|0)==(i|0))xa=168;else{do{l=j+4|0;if(f[l>>2]|0){x=0;Fa(429,j|0);la=x;x=0;if(la&1){xa=178;break e}}la=k+4|0;f[l>>2]=f[la>>2];f[la>>2]=0;k=k+8|0;j=j+8|0}while((k|0)!=(i|0));i=f[m>>2]|0;if((i|0)!=(j|0))xa=168}if((xa|0)==168){xa=0;do{la=i+-8|0;f[m>>2]=la;Kc[f[f[la>>2]>>2]&511](la);i=f[m>>2]|0}while((i|0)!=(j|0))}i=f[z>>2]|0;x=0;Ga(462,ca|0,f[r>>2]|0);la=x;x=0;if(la&1){xa=178;break}f[ca>>2]=15572;f[i+68>>2]=0;j=i+76|0;i=i+80|0;if(f[i>>2]|0){x=0;Fa(429,j|0);la=x;x=0;if(la&1){xa=179;break}}f[i>>2]=f[v>>2];x=0;Fa(430,j|0);la=x;x=0;if(la&1){xa=179;break}x=0;Ga(462,ba|0,f[i>>2]|0);la=x;x=0;if(la&1){xa=179;break}f[ba>>2]=15572;_P(ba);_P(ca)}la=f[z>>2]|0;b[la+60>>0]=0;i=f[t>>2]|0;DP(i+12|0,ka|0,40)|0;x=0;Ga(462,fa|0,la|0);la=x;x=0;if(la&1){xa=178;break}f[fa>>2]=15556;x=0;Ia(85,i|0,fa|0,d|0);la=x;x=0;if(la&1){xa=193;break}_P(fa);i=(f[oa>>2]|0)+72|0;j=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,ga|0,f[t>>2]|0);la=x;x=0;if(la&1){xa=178;break}f[ga>>2]=15556;x=0;Ga(j|0,i|0,ga|0);la=x;x=0;if(la&1){xa=194;break}_P(ga);_P(ya);_P(ma);_P(na);_P(Aa);g=g+1|0;if(g>>>0>=n>>>0){xa=341;break b}i=f[o>>2]|0}f:switch(xa|0){case 122:{j=ia+11|0;f[ia>>2]=0;f[ia+4>>2]=0;f[ia+8>>2]=0;D=ya;B=ka;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));i=ya+40|0;x=0;Ga(459,i|0,ia|0);za=x;x=0;g:do if(za&1)g=Ya()|0;else{g=d+4|0;h=f[g>>2]|0;do if(h>>>0<(f[d+8>>2]|0)>>>0){D=h;B=ya;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));za=h+40|0;f[za>>2]=f[i>>2];f[za+4>>2]=f[i+4>>2];f[za+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,d|0,ya|0);za=x;x=0;if(za&1){g=Ya()|0;if((b[i+11>>0]|0)>=0)break g;Hta(f[i>>2]|0);break g}else{if((b[i+11>>0]|0)>=0)break;Hta(f[i>>2]|0);break}}while(0);if((b[j>>0]|0)<0)Hta(f[ia>>2]|0);n=Ta(92)|0;g=f[y>>2]|0;x=0;Ga(511,ja|0,d|0);za=x;x=0;do if(za&1)g=Ya()|0;else{x=0;Ja(12,n|0,g|0,ja|0,f[z>>2]|0);za=x;x=0;if(za&1)m=1;else{x=0;Ia(77,n|0,2128,181);x=0;m=0}g=Ya()|0;k=I;h=f[ja>>2]|0;if(!h)if(m)break;else{xa=197;break f}l=ja+4|0;i=f[l>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[l>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[l>>2]|0}else i=j}while((i|0)!=(h|0));h=f[ja>>2]|0}Hta(h);if(!m){xa=197;break f}}while(0);bb(n|0);xa=197;break f}while(0);if((b[j>>0]|0)<0)Hta(f[ia>>2]|0);xa=197;break}case 133:{g=Ya()|0;break}case 134:{g=Ya()|0;xa=199;break}case 135:{g=Ya()|0;xa=198;break}case 136:{g=Ya()|0;xa=197;break}case 176:{g=Ya()|0;_P(aa);xa=197;break}case 177:{g=Ya()|0;xa=196;break}case 178:{g=Ya()|0;xa=195;break}case 179:{g=Ya()|0;_P(ca);xa=195;break}case 186:{g=Ya()|0;_P(ea);xa=195;break}case 193:{g=Ya()|0;_P(fa);xa=195;break}case 194:{g=Ya()|0;_P(ga);xa=195;break}}if((xa|0)==195){_P(ya);xa=196}if((xa|0)==196)xa=197;if((xa|0)==197){_P(ma);xa=198}if((xa|0)==198){_P(na);xa=199}if((xa|0)==199)_P(Aa);break b}while(0);A=Ca+4|0;g=f[A>>2]|0;do if(g|0){z=(f[g+80>>2]|0)-(f[g+76>>2]|0)>>3;if(!z)break;o=Aa+4|0;p=F+4|0;q=H+4|0;r=J+4|0;s=K+4|0;t=M+4|0;v=Y+4|0;w=X+4|0;y=la+20|0;n=0;h:while(1){x=0;g=qa(f[(f[a>>2]|0)+16>>2]|0,a|0)|0;xa=x;x=0;if(xa&1){xa=230;break}x=0;Ga(462,Aa|0,g|0);xa=x;x=0;if(xa&1){xa=230;break}f[Aa>>2]=15556;j=f[o>>2]|0;g=(f[A>>2]|0)+72|0;x=0;g=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,n|0)|0;xa=x;x=0;if(xa&1){xa=231;break}g=f[g+4>>2]|0;x=0;g=qa(f[(f[g>>2]|0)+16>>2]|0,g|0)|0;xa=x;x=0;if(xa&1){xa=231;break}x=0;Ga(462,F|0,g|0);xa=x;x=0;if(xa&1){xa=231;break}f[F>>2]=15556;f[j+68>>2]=0;i=j+84|0;g=j+88|0;if(f[g>>2]|0){x=0;Fa(429,i|0);xa=x;x=0;if(xa&1){xa=232;break}}f[g>>2]=f[p>>2];x=0;Fa(430,i|0);xa=x;x=0;if(xa&1){xa=232;break}x=0;Ga(462,E|0,f[g>>2]|0);xa=x;x=0;if(xa&1){xa=232;break}f[E>>2]=15556;_P(E);_P(F);j=f[o>>2]|0;x=0;m=qa(318,108)|0;xa=x;x=0;if(xa&1){xa=231;break}D=O;B=(f[ra>>2]|0)+12|0;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));x=0;Fa(427,m|0);xa=x;x=0;if(xa&1){xa=233;break}D=m+12|0;B=O;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;f[m>>2]=15620;b[m+60>>0]=0;b[m+61>>0]=0;b[m+62>>0]=0;f[m+64>>2]=0;f[m+68>>2]=0;f[m+56>>2]=7;g=m+72|0;f[g>>2]=15516;l=m+76|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(513,l|0,0);xa=x;x=0;if(xa&1){xa=216;break}f[m>>2]=15300;f[g>>2]=15476;xa=m+96|0;f[xa>>2]=0;f[m+100>>2]=0;f[m+92>>2]=xa;b[m+104>>0]=0;b[m+105>>0]=0;x=0;Ga(462,H|0,m|0);xa=x;x=0;if(xa&1){xa=231;break}f[H>>2]=15572;f[j+68>>2]=0;i=j+76|0;g=j+80|0;if(f[g>>2]|0){x=0;Fa(429,i|0);xa=x;x=0;if(xa&1){xa=235;break}}f[g>>2]=f[q>>2];x=0;Fa(430,i|0);xa=x;x=0;if(xa&1){xa=235;break}x=0;Ga(462,G|0,f[g>>2]|0);xa=x;x=0;if(xa&1){xa=235;break}f[G>>2]=15572;_P(G);_P(H);x=0;Ga(462,J|0,f[pa>>2]|0);xa=x;x=0;if(xa&1){xa=236;break}f[J>>2]=15572;k=f[r>>2]|0;k=(f[k+80>>2]|0)-(f[k+76>>2]|0)>>3;_P(J);g=f[o>>2]|0;if(k>>>0>1){j=1;do{x=0;Ga(462,Y|0,f[g+80>>2]|0);xa=x;x=0;if(xa&1){xa=236;break h}f[Y>>2]=15572;i=f[v>>2]|0;x=0;Ga(462,X|0,f[pa>>2]|0);xa=x;x=0;if(xa&1){xa=244;break h}f[X>>2]=15572;g=f[(f[(f[w>>2]|0)+76>>2]|0)+(j<<3)+4>>2]|0;x=0;Ga(462,ya|0,g|0);xa=x;x=0;if(xa&1){xa=245;break h}f[ya>>2]=13852;x=0;Ga(120,i+72|0,ya|0);xa=x;x=0;if(xa&1){xa=242;break h}_P(ya);D=la;B=g+12|0;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));x=0;Ga(512,i+32|0,y|0);xa=x;x=0;if(xa&1){xa=245;break h}_P(X);_P(Y);j=j+1|0;g=f[o>>2]|0}while(j>>>0>>0)}x=0;Ga(462,K|0,f[g+80>>2]|0);xa=x;x=0;if(xa&1){xa=231;break}f[K>>2]=15572;xa=f[s>>2]|0;xa=(f[xa+80>>2]|0)==(f[xa+76>>2]|0);_P(K);if(xa){g=f[o>>2]|0;x=0;Ga(462,M|0,0);xa=x;x=0;if(xa&1){xa=231;break}f[M>>2]=15572;f[g+68>>2]=0;i=g+76|0;g=g+80|0;if(f[g>>2]|0){x=0;Fa(429,i|0);xa=x;x=0;if(xa&1){xa=255;break}}f[g>>2]=f[t>>2];x=0;Fa(430,i|0);xa=x;x=0;if(xa&1){xa=255;break}x=0;Ga(462,L|0,f[g>>2]|0);xa=x;x=0;if(xa&1){xa=255;break}f[L>>2]=15572;_P(L);_P(M)}l=(f[oa>>2]|0)+72|0;m=f[(f[l>>2]|0)+20>>2]|0;k=f[o>>2]|0;j=k;i:while(1){g=f[j+80>>2]|0;do if(g|0){i=f[g+80>>2]|0;g=f[g+76>>2]|0;if((i|0)==(g|0))break;if((i-g|0)!=8){xa=266;break i}g=f[g+4>>2]|0;if(!g){xa=266;break i}if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)!=33918){xa=266;break i}}while(0);if(f[j+72>>2]|0){xa=266;break}g=f[j+88>>2]|0;if(!g){xa=264;break}b[g+60>>0]=b[j+60>>0]|0;j=g;k=g}if((xa|0)==264){x=0;Ga(462,N|0,0);xa=x;x=0;if(xa&1){xa=231;break}}else if((xa|0)==266){x=0;Ga(462,N|0,k|0);xa=x;x=0;if(xa&1){xa=231;break}}f[N>>2]=15556;x=0;Ga(m|0,l|0,N|0);xa=x;x=0;if(xa&1){xa=269;break}_P(N);_P(Aa);n=n+1|0;if(n>>>0>=z>>>0){xa=341;break b}}switch(xa|0){case 216:{g=Ya()|0;j=I;k=m+80|0;h=f[l>>2]|0;if(h|0){i=f[k>>2]|0;if((i|0)!=(h|0)){do{za=i+-8|0;f[k>>2]=za;Kc[f[f[za>>2]>>2]&511](za);i=f[k>>2]|0}while((i|0)!=(h|0));h=f[l>>2]|0}Hta(h)}xa=234;break}case 230:{g=Ya()|0;break}case 231:{g=Ya()|0;xa=270;break}case 232:{g=Ya()|0;_P(F);xa=270;break}case 233:{g=Ya()|0;xa=234;break}case 235:{g=Ya()|0;_P(H);xa=270;break}case 236:{g=Ya()|0;xa=270;break}case 242:{g=Ya()|0;_P(ya);xa=246;break}case 244:{g=Ya()|0;xa=247;break}case 245:{g=Ya()|0;xa=246;break}case 255:{g=Ya()|0;_P(M);xa=270;break}case 269:{g=Ya()|0;_P(N);xa=270;break}}if((xa|0)==234){Hta(m);xa=270}else if((xa|0)==246){_P(X);xa=247}if((xa|0)==247){_P(Y);xa=270}if((xa|0)==270)_P(Aa);break b}while(0);x=0;g=qa(f[(f[a>>2]|0)+16>>2]|0,a|0)|0;a=x;x=0;do if(a&1)xa=292;else{x=0;Ga(462,ya|0,g|0);a=x;x=0;if(a&1){xa=292;break}f[ya>>2]=15556;o=ya+4|0;j=f[o>>2]|0;x=0;m=qa(318,108)|0;a=x;x=0;j:do if(a&1)xa=293;else{D=ma;B=(f[ra>>2]|0)+12|0;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));x=0;Fa(427,m|0);a=x;x=0;do if(a&1)g=Ya()|0;else{D=m+12|0;B=ma;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));b[m+52>>0]=0;b[m+53>>0]=0;b[m+54>>0]=0;f[m>>2]=15620;b[m+60>>0]=0;b[m+61>>0]=0;b[m+62>>0]=0;f[m+64>>2]=0;f[m+68>>2]=0;f[m+56>>2]=7;g=m+72|0;f[g>>2]=15516;k=m+76|0;l=m+80|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;x=0;Ga(513,k|0,0);a=x;x=0;if(a&1){g=Ya()|0;j=I;h=f[k>>2]|0;if(h|0){i=f[l>>2]|0;if((i|0)!=(h|0)){do{Aa=i+-8|0;f[l>>2]=Aa;Kc[f[f[Aa>>2]>>2]&511](Aa);i=f[l>>2]|0}while((i|0)!=(h|0));h=f[k>>2]|0}Hta(h)}break}f[m>>2]=15300;f[g>>2]=15476;a=m+96|0;f[a>>2]=0;f[m+100>>2]=0;f[m+92>>2]=a;b[m+104>>0]=0;b[m+105>>0]=0;x=0;Ga(462,p|0,m|0);a=x;x=0;if(a&1){xa=293;break j}f[p>>2]=15572;f[j+68>>2]=0;i=j+76|0;g=j+80|0;if(!(f[g>>2]|0))xa=286;else{x=0;Fa(429,i|0);a=x;x=0;if(!(a&1))xa=286}do if((xa|0)==286){f[g>>2]=f[p+4>>2];x=0;Fa(430,i|0);a=x;x=0;if(a&1)break;x=0;Ga(462,n|0,f[g>>2]|0);a=x;x=0;if(a&1)break;f[n>>2]=15572;_P(n);_P(p);x=0;Ga(462,q|0,f[pa>>2]|0);a=x;x=0;k:do if(!(a&1)){f[q>>2]=15572;n=f[q+4>>2]|0;n=(f[n+80>>2]|0)-(f[n+76>>2]|0)>>3;_P(q);g=f[o>>2]|0;l:do if(n>>>0>1){k=t+4|0;l=r+4|0;m=na+20|0;j=1;while(1){x=0;Ga(462,t|0,f[g+80>>2]|0);a=x;x=0;if(a&1)break k;f[t>>2]=15572;i=f[k>>2]|0;x=0;Ga(462,r|0,f[pa>>2]|0);a=x;x=0;if(a&1){xa=305;break}f[r>>2]=15572;g=f[(f[(f[l>>2]|0)+76>>2]|0)+(j<<3)+4>>2]|0;x=0;Ga(462,Aa|0,g|0);a=x;x=0;if(a&1){xa=306;break}f[Aa>>2]=13852;x=0;Ga(120,i+72|0,Aa|0);a=x;x=0;if(a&1){xa=303;break}_P(Aa);D=na;B=g+12|0;C=D+40|0;do{f[D>>2]=f[B>>2];D=D+4|0;B=B+4|0}while((D|0)<(C|0));x=0;Ga(512,i+32|0,m|0);a=x;x=0;if(a&1){xa=306;break}_P(r);_P(t);j=j+1|0;g=f[o>>2]|0;if(j>>>0>=n>>>0)break l}if((xa|0)==303){g=Ya()|0;_P(Aa);xa=307}else if((xa|0)==305)g=Ya()|0;else if((xa|0)==306){g=Ya()|0;xa=307}if((xa|0)==307)_P(r);_P(t);break j}while(0);x=0;Ga(462,s|0,f[g+80>>2]|0);pa=x;x=0;if(pa&1){xa=293;break j}f[s>>2]=15572;pa=f[s+4>>2]|0;pa=(f[pa+80>>2]|0)==(f[pa+76>>2]|0);_P(s);m:do if(pa){g=f[o>>2]|0;x=0;Ga(462,w|0,0);pa=x;x=0;if(pa&1){xa=293;break j}f[w>>2]=15572;f[g+68>>2]=0;i=g+76|0;g=g+80|0;if(!(f[g>>2]|0))xa=313;else{x=0;Fa(429,i|0);pa=x;x=0;if(!(pa&1))xa=313}do if((xa|0)==313){f[g>>2]=f[w+4>>2];x=0;Fa(430,i|0);pa=x;x=0;if(pa&1)break;x=0;Ga(462,v|0,f[g>>2]|0);pa=x;x=0;if(pa&1)break;f[v>>2]=15572;_P(v);_P(w);break m}while(0);g=Ya()|0;_P(w);break j}while(0);l=(f[oa>>2]|0)+72|0;m=f[(f[l>>2]|0)+20>>2]|0;k=f[o>>2]|0;j=k;n:while(1){g=f[j+80>>2]|0;do if(g|0){i=f[g+80>>2]|0;g=f[g+76>>2]|0;if((i|0)==(g|0))break;if((i-g|0)!=8){xa=327;break n}g=f[g+4>>2]|0;if(!g){xa=327;break n}if((f[(f[(f[g>>2]|0)+-4>>2]|0)+4>>2]|0)!=33918){xa=327;break n}}while(0);if(f[j+72>>2]|0){xa=327;break}g=f[j+88>>2]|0;if(!g){xa=325;break}b[g+60>>0]=b[j+60>>0]|0;j=g;k=g}if((xa|0)==325){x=0;Ga(462,y|0,0);pa=x;x=0;if(pa&1){xa=293;break j}}else if((xa|0)==327){x=0;Ga(462,y|0,k|0);pa=x;x=0;if(pa&1){xa=293;break j}}f[y>>2]=15556;x=0;Ga(m|0,l|0,y|0);pa=x;x=0;if(pa&1){g=Ya()|0;_P(y);break j}else{_P(y);_P(ya);xa=341;break b}}while(0);g=Ya()|0;break j}while(0);g=Ya()|0;_P(p);break j}while(0);Hta(m)}while(0);if((xa|0)==293)g=Ya()|0;_P(ya)}while(0);if((xa|0)==292)g=Ya()|0;break b}}while(0);if((xa|0)==39)g=Ya()|0}else xa=333;while(0);o:do if((xa|0)==333){x=0;g=sa(989,a|0,f[Ca+4>>2]|0)|0;ya=x;x=0;do if(ya&1)xa=338;else{x=0;Ga(462,Aa|0,g|0);ya=x;x=0;if(ya&1)xa=338;else{f[Aa>>2]=7168;g=Ba+4|0;if(f[g>>2]|0){x=0;Fa(429,Ba|0);ya=x;x=0;if(ya&1){g=Ya()|0;_P(Aa);break}}xa=Aa+4|0;f[g>>2]=f[xa>>2];f[xa>>2]=0;_P(Aa);xa=341;break o}}while(0);if((xa|0)==338)g=Ya()|0}while(0);p:do if((xa|0)==341){m=f[ra>>2]|0;g=f[m+76>>2]|0;m=f[m+80>>2]|0;q:do if((g|0)!=(m|0)){n=Aa+4|0;k=wa+4|0;l=va+4|0;r:do if(!h)while(1){x=0;Ga(462,Aa|0,f[g+4>>2]|0);d=x;x=0;if(d&1){xa=367;break r}f[Aa>>2]=13852;h=f[n>>2]|0;do if(h|0){if((f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0)!=30844)break;x=0;Ga(462,wa|0,f[h+108>>2]|0);d=x;x=0;if(d&1){xa=368;break r}f[wa>>2]=7168;_P(wa)}while(0);_P(Aa);g=g+8|0;if((g|0)==(m|0))break q}else{s:while(1){x=0;Ga(462,Aa|0,f[g+4>>2]|0);ya=x;x=0;if(ya&1){xa=367;break r}f[Aa>>2]=13852;i=f[n>>2]|0;t:do if(i|0){if((f[(f[(f[i>>2]|0)+-4>>2]|0)+4>>2]|0)!=30844)break;j=i+108|0;x=0;Ga(462,wa|0,f[j>>2]|0);ya=x;x=0;if(ya&1){xa=368;break r}f[wa>>2]=7168;h=f[k>>2]|0;do if(h|0){if((f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0)!=31229)break;_P(wa);x=0;h=ua(7,h|0,c|0,d|0,e|0)|0;ya=x;x=0;if(ya&1){xa=368;break r}x=0;Ga(462,va|0,h|0);ya=x;x=0;if(ya&1){xa=368;break r}f[va>>2]=7168;h=i+104|0;if(f[j>>2]|0){x=0;Fa(429,h|0);ya=x;x=0;if(ya&1)break s}f[j>>2]=f[l>>2];x=0;Fa(430,h|0);ya=x;x=0;if(ya&1)break s;x=0;Ga(462,ta|0,f[j>>2]|0);ya=x;x=0;if(ya&1)break s;f[ta>>2]=7168;_P(ta);_P(va);break t}while(0);_P(wa)}while(0);_P(Aa);g=g+8|0;if((g|0)==(m|0))break q}g=Ya()|0;_P(va);xa=370}while(0);if((xa|0)==367)g=Ya()|0;else if((xa|0)==368){g=Ya()|0;xa=370}if((xa|0)==370)_P(Aa);break p}while(0);g=f[Ba+4>>2]|0;if(!g)g=0;else b[g+8>>0]=1;_P(Ba);break a}while(0);_P(Ba)}xa=376}while(0);if((xa|0)==374){x=0;g=sa(989,a|0,f[Ca+4>>2]|0)|0;Ba=x;x=0;if(Ba&1){g=Ya()|0;xa=376}}if((xa|0)==376){_P(Ca);break}_P(Ca);Ca=g;_P(Ea);_P(Da);u=za;return Ca|0}}while(0);if((xa|0)==35)g=Ya()|0}while(0);_P(Ea);Ea=g;_P(Da);jb(Ea|0);return 0}function dd(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.0,m=0.0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=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,ra=0,va=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,Ka=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,_a=0;Xa=0;Va=u;u=u+480|0;Wa=Va+440|0;za=Va+412|0;Na=Va+384|0;Ma=Va+40|0;Qa=Va;Ra=Va+368|0;Pa=Va+344|0;_a=Va+336|0;C=Va+376|0;D=Va+360|0;E=Va+352|0;F=Va+312|0;Ta=Va+296|0;Aa=Va+328|0;Sa=Va+264|0;ea=Va+320|0;fa=Va+304|0;ga=Va+288|0;Ba=Va+280|0;Oa=Va+184|0;ha=Va+256|0;ia=Va+216|0;Ea=Va+200|0;ja=Va+192|0;Ka=Va+168|0;Ha=Va+152|0;ka=Va+176|0;la=Va+128|0;Ca=Va+160|0;ma=Va+144|0;na=Va+136|0;oa=Va+120|0;Da=Va+112|0;pa=Va+104|0;ra=Va+96|0;va=Va+88|0;xa=Va+80|0;i=VN(112)|0;ya=c+4|0;r=f[ya>>2]|0;j=(f[r+80>>2]|0)-(f[r+76>>2]|0)>>3;x=0;q=Wa;r=r+12|0;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));Ia(84,i|0,Wa|0,j|0);Ua=x;x=0;if(Ua&1){_a=Ya()|0;Hta(i);jb(_a|0)}qV(_a,i);f[_a>>2]=7168;Ua=a+12|0;x=0;i=sa(1047,Ua|0,c|0)|0;ca=x;x=0;a:do if(ca&1)h=Ya()|0;else{if(i|0){b[e>>0]=1;Xa=f[i+20>>2]|0;_P(_a);u=Va;return Xa|0}b[e>>0]=0;i=f[ya>>2]|0;s=(f[i+80>>2]|0)-(f[i+76>>2]|0)>>3;b:do if(s|0){t=Wa+4|0;v=za+20|0;A=za+24|0;w=_a+4|0;B=za+12|0;y=Na+24|0;z=Na+12|0;r=0;c:while(1){x=0;Ga(462,Wa|0,f[(f[i+76>>2]|0)+(r<<3)+4>>2]|0);ca=x;x=0;if(ca&1){Xa=16;break}f[Wa>>2]=15556;x=0;i=ta(161,a|0,f[t>>2]|0,0)|0;ca=x;x=0;if(ca&1){Xa=17;break}if(i){b[e>>0]=1;x=0;La(25,za|0,a|0,f[t>>2]|0,g|0,d|0,1);ca=x;x=0;if(ca&1){Xa=30;break}i=f[t>>2]|0;x=0;i=qa(f[(f[i>>2]|0)+152>>2]|0,i|0)|0;ca=x;x=0;if(ca&1){Xa=31;break}do if(i)Xa=42;else{x=0;Ga(505,Na|0,f[t>>2]|0);ca=x;x=0;if(ca&1){Xa=32;break c}x=0;i=sa(1048,za|0,Na|0)|0;ca=x;x=0;if(ca&1){Xa=33;break c}if(i){i=f[y>>2]|0;if(i|0)QZ(i);_P(z);Xa=42;break}i=(f[w>>2]|0)+72|0;j=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,D|0,f[t>>2]|0);ca=x;x=0;if(ca&1){Xa=33;break c}f[D>>2]=15556;x=0;Ga(j|0,i|0,D|0);ca=x;x=0;if(ca&1){Xa=34;break c}_P(D);i=f[y>>2]|0;if(i|0)QZ(i);_P(z)}while(0);d:do if((Xa|0)==42){Xa=0;j=f[v>>2]|0;i=f[A>>2]|0;if(i|0){ega(i);QZ(i)}c=f[j+4>>2]|0;i=f[j+16>>2]|0;k=c+(((i>>>0)/146|0)<<2)|0;if((f[j+8>>2]|0)==(c|0)){j=0;q=0}else{q=i+(f[j+20>>2]|0)|0;j=(f[k>>2]|0)+(((i>>>0)%146|0)*28|0)|0;q=(f[c+(((q>>>0)/146|0)<<2)>>2]|0)+(((q>>>0)%146|0)*28|0)|0}i=d;p=k;while(1){do{if((q|0)==(j|0))break d;do if(i){c=f[v>>2]|0;k=f[A>>2]|0;if(!k)if((f[c+20>>2]|0)>>>0>1){i=0;break}else{Xa=54;break}else{ega(k);ca=(f[c+20>>2]|0)>>>0>1;QZ(k);if(ca){i=0;break}else{Xa=54;break}}}else Xa=54;while(0);if((Xa|0)==54){Xa=0;c=(f[w>>2]|0)+72|0;k=f[(f[c>>2]|0)+20>>2]|0;x=0;o=qa(321,j|0)|0;ca=x;x=0;if(ca&1){Xa=53;break c}x=0;Ga(462,E|0,o|0);ca=x;x=0;if(ca&1){Xa=53;break c}f[E>>2]=15556;x=0;Ga(k|0,c|0,E|0);ca=x;x=0;if(ca&1){Xa=60;break c}_P(E)}j=j+28|0}while((j-(f[p>>2]|0)|0)!=4088);j=p+4|0;p=j;j=f[j>>2]|0}}while(0);i=f[A>>2]|0;if(i|0)QZ(i);_P(B)}else{i=(f[w>>2]|0)+72|0;j=f[(f[i>>2]|0)+20>>2]|0;x=0;Ga(462,C|0,f[t>>2]|0);ca=x;x=0;if(ca&1){Xa=17;break}f[C>>2]=15556;x=0;Ga(j|0,i|0,C|0);ca=x;x=0;if(ca&1){Xa=18;break}_P(C)}_P(Wa);i=r+1|0;if(i>>>0>=s>>>0)break b;r=i;i=f[ya>>2]|0}switch(Xa|0){case 16:{h=Ya()|0;break}case 17:{h=Ya()|0;Xa=70;break}case 18:{h=Ya()|0;_P(C);Xa=70;break}case 30:{h=Ya()|0;Xa=69;break}case 31:{h=Ya()|0;Xa=66;break}case 32:{h=Ya()|0;Xa=41;break}case 33:{h=Ya()|0;Xa=38;break}case 34:{h=Ya()|0;_P(D);Xa=38;break}case 53:{h=Ya()|0;Xa=66;break}case 60:{h=Ya()|0;_P(E);Xa=66;break}}if((Xa|0)==38){i=f[y>>2]|0;if(i|0)QZ(i);_P(z);Xa=41}if((Xa|0)==41)Xa=66;if((Xa|0)==66){i=f[A>>2]|0;if(i|0)QZ(i);_P(B);Xa=69}if((Xa|0)==69)Xa=70;if((Xa|0)==70)_P(Wa);break a}while(0);x=0;Fa(436,F|0);ca=x;x=0;e:do if(ca&1)h=Ya()|0;else{ca=_a+4|0;x=0;i=sa(1049,F|0,f[ca>>2]|0)|0;ba=x;x=0;do if(ba&1)Xa=82;else{x=0;Ga(462,Wa|0,i|0);ba=x;x=0;if(ba&1)Xa=82;else{f[Wa>>2]=7168;if(f[ca>>2]|0){x=0;Fa(429,_a|0);ba=x;x=0;if(ba&1){h=Ya()|0;_P(Wa);break}}t=Wa+4|0;f[ca>>2]=f[t>>2];f[t>>2]=0;_P(Wa);t=f[ca>>2]|0;i=f[t+76>>2]|0;t=f[t+80>>2]|0;f:do if((i|0)!=(t|0)){v=Ta+4|0;w=Aa+4|0;y=Wa+4|0;z=g+4|0;A=Sa+4|0;B=Sa+8|0;ba=Sa+4|0;C=ea+4|0;D=Ra+4|0;E=xa+4|0;d=Qa+4|0;e=Pa+4|0;F=Ba+4|0;G=ga+4|0;H=ha+4|0;J=Oa+4|0;$=Na+11|0;aa=Ea+11|0;K=Na+4|0;L=a+8|0;M=Ma+4|0;N=ka+4|0;O=Wa+4|0;P=Ka+4|0;Q=Ha+4|0;R=oa+4|0;S=Ca+4|0;T=la+4|0;U=Da+4|0;V=Na+4|0;X=Ma+4|0;Y=ra+4|0;Z=ba;_=Wa+4|0;g:while(1){x=0;Ga(462,Ta|0,f[i+4>>2]|0);s=x;x=0;if(s&1){Xa=129;break}f[Ta>>2]=15556;j=f[v>>2]|0;if(j|0)do{x=0;Ga(462,Aa|0,f[j+80>>2]|0);s=x;x=0;if(s&1){Xa=130;break g}f[Aa>>2]=15572;do if(!(f[w>>2]|0))_P(Aa);else{x=0;Ga(462,Wa|0,f[(f[v>>2]|0)+80>>2]|0);s=x;x=0;if(s&1){Xa=131;break g}f[Wa>>2]=15572;c=f[z>>2]|0;do if(!c)Xa=104;else{j=z;h:while(1){o=c;while(1){c=f[o+20>>2]|0;if(!c)break;k=f[_>>2]|0;if(!k)break;x=0;c=sa(f[(f[c>>2]|0)+160>>2]|0,c|0,k|0)|0;s=x;x=0;if(s&1){Xa=132;break g}if(!c)break;c=f[o+4>>2]|0;if(!c)break h;else o=c}c=f[o>>2]|0;if(!c){j=o;break}else j=o}if((j|0)==(z|0)){Xa=104;break}c=f[_>>2]|0;if(!c)break;k=f[j+20>>2]|0;if(!k)break;x=0;c=sa(f[(f[c>>2]|0)+160>>2]|0,c|0,k|0)|0;s=x;x=0;if(s&1){Xa=132;break g}if(c)Xa=104}while(0);if((Xa|0)==104){Xa=0;j=z}_P(Wa);_P(Aa);if((j|0)!=(z|0))break;f[A>>2]=0;f[B>>2]=0;f[Sa>>2]=ba;j=f[g>>2]|0;if((j|0)!=(z|0)){k=j;while(1){s=k+16|0;f[Pa>>2]=Z;x=0;f[Wa>>2]=f[Pa>>2];ua(16,Sa|0,Wa|0,s|0,s|0)|0;s=x;x=0;if(s&1){Xa=134;break g}j=f[k+4>>2]|0;do if(!j){c=k+8|0;j=f[c>>2]|0;if((f[j>>2]|0)==(k|0))break;do{s=f[c>>2]|0;c=s+8|0;j=f[c>>2]|0}while((f[j>>2]|0)!=(s|0))}else while(1){c=f[j>>2]|0;if(!c)break;else j=c}while(0);if((j|0)==(z|0))break;else k=j}}x=0;Ga(462,Wa|0,f[(f[v>>2]|0)+80>>2]|0);s=x;x=0;if(s&1){Xa=135;break g}f[Wa>>2]=15572;x=0;Ja(46,Ra|0,Sa|0,Wa|0,Wa|0);s=x;x=0;if(s&1){Xa=136;break g}_P(Wa);x=0;p=qa(318,108)|0;s=x;x=0;if(s&1){Xa=138;break g}q=Qa;r=(f[v>>2]|0)+12|0;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));x=0;Fa(427,p|0);s=x;x=0;if(s&1){Xa=139;break g}q=p+12|0;r=Qa;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));b[p+52>>0]=0;b[p+53>>0]=0;b[p+54>>0]=0;f[p>>2]=15620;b[p+60>>0]=0;b[p+61>>0]=0;b[p+62>>0]=0;f[p+64>>2]=0;f[p+68>>2]=0;f[p+56>>2]=7;j=p+72|0;f[j>>2]=15516;o=p+76|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;x=0;Ga(513,o|0,0);s=x;x=0;if(s&1){Xa=119;break g}f[p>>2]=15300;f[j>>2]=15476;s=p+96|0;f[s>>2]=0;f[p+100>>2]=0;f[p+92>>2]=s;b[p+104>>0]=0;b[p+105>>0]=0;x=0;Ga(462,Ra|0,p|0);s=x;x=0;if(s&1){Xa=138;break g}f[Ra>>2]=15572;x=0;Ga(462,ea|0,f[(f[v>>2]|0)+80>>2]|0);s=x;x=0;if(s&1){Xa=141;break g}f[ea>>2]=15572;p=f[C>>2]|0;_P(ea);j=f[p+76>>2]|0;p=f[p+80>>2]|0;if((j|0)!=(p|0))do{x=0;Ga(462,Qa|0,f[j+4>>2]|0);s=x;x=0;if(s&1){Xa=171;break g}f[Qa>>2]=13852;c=f[d>>2]|0;if(!c)c=0;else c=(f[37]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,Pa|0,c|0);s=x;x=0;if(s&1){Xa=172;break g}f[Pa>>2]=15604;c=f[e>>2]|0;if(!c){x=0;Ga(578,f[D>>2]|0,f[d>>2]|0);s=x;x=0;if(s&1){Xa=173;break g}}else{o=c+108|0;x=0;Ga(462,Ba|0,f[o>>2]|0);s=x;x=0;if(s&1){Xa=173;break g}f[Ba>>2]=7168;k=f[F>>2]|0;x=0;k=qa(f[(f[k>>2]|0)+16>>2]|0,k|0)|0;s=x;x=0;if(s&1){Xa=174;break g}x=0;Ga(462,ga|0,k|0);s=x;x=0;if(s&1){Xa=174;break g}f[ga>>2]=7168;c=c+104|0;if(f[o>>2]|0){x=0;Fa(429,c|0);s=x;x=0;if(s&1){Xa=175;break g}}f[o>>2]=f[G>>2];x=0;Fa(430,c|0);s=x;x=0;if(s&1){Xa=175;break g}x=0;Ga(462,fa|0,f[o>>2]|0);s=x;x=0;if(s&1){Xa=175;break g}f[fa>>2]=7168;_P(fa);_P(ga);_P(Ba);x=0;Ga(462,ha|0,f[(f[e>>2]|0)+108>>2]|0);s=x;x=0;if(s&1){Xa=177;break g}f[ha>>2]=7168;c=f[H>>2]|0;if(!c)c=0;else c=(f[517]|0)==(f[(f[(f[c>>2]|0)+-4>>2]|0)+4>>2]|0)?c:0;x=0;Ga(462,Oa|0,c|0);s=x;x=0;if(s&1){Xa=178;break g}f[Oa>>2]=7168;_P(ha);c=f[J>>2]|0;i:do if(!c){x=0;Ga(578,f[D>>2]|0,f[d>>2]|0);s=x;x=0;if(s&1){Xa=179;break g}}else{if((f[c+76>>2]|0)==(f[c+80>>2]|0)){c=f[D>>2]|0;x=0;k=qa(318,104)|0;s=x;x=0;if(s&1){Xa=179;break g}q=ia;r=(f[d>>2]|0)+12|0;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));x=0;Ga(459,Ea|0,(f[e>>2]|0)+84|0);s=x;x=0;if(s&1){Xa=180;break g}q=Ma;r=ia;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));x=0;Ga(459,Na|0,Ea|0);s=x;x=0;if(s&1){h=1;Xa=181;break g}x=0;q=Wa;r=Ma;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));Ia(88,k|0,Wa|0,Na|0);s=x;x=0;if(s&1){Xa=166;break g}if((b[$>>0]|0)<0)Hta(f[Na>>2]|0);f[k>>2]=14212;x=0;Ga(578,c|0,k|0);s=x;x=0;if(s&1){h=0;Xa=181;break g}if((b[aa>>0]|0)>=0)break;Hta(f[Ea>>2]|0);break}c=f[e>>2]|0;k=c+84|0;s=b[k+11>>0]|0;do if(((s<<24>>24<0?f[c+88>>2]|0:s&255)|0)==4){x=0;c=wa(21,k|0,0,-1,51731,4)|0;s=x;x=0;if(s&1){Xa=188;break g}if(c|0){c=f[e>>2]|0;break}b[za>>0]=0;x=0;Ga(462,ja|0,f[J>>2]|0);s=x;x=0;if(s&1){Xa=196;break g}f[ja>>2]=7168;x=0;c=wa(31,a|0,ja|0,0,za|0,Sa|0)|0;s=x;x=0;if(s&1){Xa=197;break g}x=0;Ga(462,Na|0,c|0);s=x;x=0;if(s&1){Xa=197;break g}f[Na>>2]=7168;_P(ja);c=f[K>>2]|0;if((f[c+80>>2]|0)!=(f[c+76>>2]|0)){o=0;do{c=c+72|0;x=0;c=sa(f[(f[c>>2]|0)+16>>2]|0,c|0,o|0)|0;s=x;x=0;if(s&1){Xa=214;break g}x=0;Ga(462,Ma|0,f[c+4>>2]|0);s=x;x=0;if(s&1){Xa=214;break g}f[Ma>>2]=15556;if(f[M>>2]|0){c=f[e>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;s=x;x=0;if(s&1){Xa=215;break g}x=0;Ga(462,Ka|0,c|0);s=x;x=0;if(s&1){Xa=215;break g}f[Ka>>2]=15604;x=0;c=qa(318,112)|0;s=x;x=0;if(s&1){Xa=216;break g}x=0;q=Wa;r=(f[J>>2]|0)+12|0;s=q+40|0;do{f[q>>2]=f[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));Ia(84,c|0,Wa|0,0);s=x;x=0;if(s&1){Xa=217;break g}x=0;Ga(462,Ha|0,c|0);s=x;x=0;if(s&1){Xa=216;break g}f[Ha>>2]=7168;x=0;Ga(462,Wa|0,0);s=x;x=0;if(s&1){Xa=218;break g}f[Wa>>2]=15572;x=0;Ga(652,ka|0,f[M>>2]|0);s=x;x=0;if(s&1){Xa=219;break g}s=(f[N>>2]|0)==0;_P(ka);if(!s){x=0;Ga(652,Ca|0,f[M>>2]|0);s=x;x=0;if(s&1){Xa=220;break g}x=0;Ga(462,la|0,f[(f[S>>2]|0)+80>>2]|0);s=x;x=0;if(s&1){Xa=221;break g}f[la>>2]=15572;if(f[O>>2]|0){x=0;Fa(429,Wa|0);s=x;x=0;if(s&1){Xa=222;break g}}f[O>>2]=f[T>>2];f[T>>2]=0;_P(la);_P(Ca)}c=f[O>>2]|0;do if(c|0){if((f[c+80>>2]|0)==(f[c+76>>2]|0))break;c=(f[Q>>2]|0)+72|0;k=f[(f[c>>2]|0)+20>>2]|0;x=0;Ga(652,ma|0,f[M>>2]|0);s=x;x=0;if(s&1){Xa=219;break g}x=0;Ga(k|0,c|0,ma|0);s=x;x=0;if(s&1){Xa=230;break g}_P(ma)}while(0);c=f[P>>2]|0;x=0;Ga(462,oa|0,f[Q>>2]|0);s=x;x=0;if(s&1){Xa=219;break g}f[oa>>2]=7168;k=c+104|0;c=c+108|0;if(f[c>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){Xa=238;break g}}f[c>>2]=f[R>>2];x=0;Fa(430,k|0);s=x;x=0;if(s&1){Xa=238;break g}x=0;Ga(462,na|0,f[c>>2]|0);s=x;x=0;if(s&1){Xa=238;break g}f[na>>2]=7168;_P(na);_P(oa);x=0;Ga(578,f[D>>2]|0,f[P>>2]|0);s=x;x=0;if(s&1){Xa=219;break g}_P(Wa);_P(Ha);_P(Ka)}_P(Ma);o=o+1|0;c=f[K>>2]|0}while(o>>>0<(f[c+80>>2]|0)-(f[c+76>>2]|0)>>3>>>0)}c=f[L>>2]|0;if(!((c|0)==0|(b[za>>0]|0)==0)){c=f[c+4>>2]|0;k=c+96|0;o=f[k>>2]|0;if((o|0)==(f[c+100>>2]|0)){x=0;Ga(565,c+92|0,_a|0);s=x;x=0;if(s&1){Xa=252;break g}}else{x=0;Ga(462,o|0,f[ca>>2]|0);s=x;x=0;if(s&1){Xa=252;break g}f[o>>2]=7168;f[k>>2]=(f[k>>2]|0)+8}s=f[D>>2]|0;x=0;sa(f[(f[s>>2]|0)+56>>2]|0,s|0,f[L>>2]|0)|0;s=x;x=0;if(s&1){Xa=252;break g}c=(f[(f[L>>2]|0)+4>>2]|0)+96|0;o=f[c>>2]|0;k=o+-8|0;do{s=o+-8|0;f[c>>2]=s;Kc[f[f[s>>2]>>2]&511](s);o=f[c>>2]|0}while((o|0)!=(k|0))}_P(Na);break i}while(0);x=0;c=qa(f[(f[c>>2]|0)+12>>2]|0,c|0)|0;s=x;x=0;if(s&1){Xa=270;break g}x=0;Ga(462,Na|0,c|0);s=x;x=0;if(s&1){Xa=270;break g}f[Na>>2]=15604;x=0;Ga(462,Da|0,f[J>>2]|0);s=x;x=0;if(s&1){Xa=271;break g}f[Da>>2]=7168;b[Wa>>0]=0;x=0;Ga(462,za|0,f[U>>2]|0);s=x;x=0;if(s&1){Xa=272;break g}f[za>>2]=7168;x=0;c=wa(31,a|0,za|0,0,Wa|0,Sa|0)|0;s=x;x=0;if(s&1){Xa=261;break g}_P(za);x=0;Ga(462,Ma|0,c|0);s=x;x=0;if(s&1){Xa=272;break g}f[Ma>>2]=7168;_P(Da);c=f[V>>2]|0;x=0;Ga(462,ra|0,f[X>>2]|0);s=x;x=0;if(s&1){Xa=274;break g}f[ra>>2]=7168;k=c+104|0;c=c+108|0;if(f[c>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){Xa=275;break g}}f[c>>2]=f[Y>>2];x=0;Fa(430,k|0);s=x;x=0;if(s&1){Xa=275;break g}x=0;Ga(462,pa|0,f[c>>2]|0);s=x;x=0;if(s&1){Xa=275;break g}f[pa>>2]=7168;_P(pa);_P(ra);x=0;Ga(578,f[D>>2]|0,f[V>>2]|0);s=x;x=0;if(s&1){Xa=274;break g}_P(Ma);_P(Na)}while(0);_P(Oa)}_P(Pa);_P(Qa);j=j+8|0}while((j|0)!=(p|0));j=f[v>>2]|0;x=0;Ga(462,xa|0,f[D>>2]|0);s=x;x=0;if(s&1){Xa=293;break g}f[xa>>2]=15572;f[j+68>>2]=0;c=j+76|0;j=j+80|0;if(f[j>>2]|0){x=0;Fa(429,c|0);s=x;x=0;if(s&1){Xa=294;break g}}f[j>>2]=f[E>>2];x=0;Fa(430,c|0);s=x;x=0;if(s&1){Xa=294;break g}x=0;Ga(462,va|0,f[j>>2]|0);s=x;x=0;if(s&1){Xa=294;break g}f[va>>2]=15572;_P(va);_P(xa);_P(Ra);SI(Sa,f[ba>>2]|0)}while(0);x=0;Ga(462,Wa|0,f[(f[v>>2]|0)+88>>2]|0);s=x;x=0;if(s&1){Xa=303;break g}f[Wa>>2]=15556;if(f[v>>2]|0){x=0;Fa(429,Ta|0);s=x;x=0;if(s&1){Xa=304;break g}}f[v>>2]=f[y>>2];f[y>>2]=0;_P(Wa);j=f[v>>2]|0}while((j|0)!=0);_P(Ta);i=i+8|0;if((i|0)==(t|0))break f}switch(Xa|0){case 119:{h=Ya()|0;c=I;k=p+80|0;i=f[o>>2]|0;if(i|0){j=f[k>>2]|0;if((j|0)!=(i|0)){do{Xa=j+-8|0;f[k>>2]=Xa;Kc[f[f[Xa>>2]>>2]&511](Xa);j=f[k>>2]|0}while((j|0)!=(i|0));i=f[o>>2]|0}Hta(i)}Xa=140;break}case 129:{h=Ya()|0;break}case 130:{h=Ya()|0;Xa=307;break}case 131:{h=Ya()|0;Xa=133;break}case 132:{h=Ya()|0;_P(Wa);Xa=133;break}case 134:{h=Ya()|0;SI(Sa,f[ba>>2]|0);Xa=298;break}case 135:{h=Ya()|0;Xa=137;break}case 136:{h=Ya()|0;_P(Wa);Xa=137;break}case 138:{h=Ya()|0;Xa=296;break}case 139:{h=Ya()|0;Xa=140;break}case 141:{h=Ya()|0;Xa=295;break}case 166:{h=Ya()|0;if((b[$>>0]|0)<0){Hta(f[Na>>2]|0);i=1;Xa=182}else{i=1;Xa=182}break}case 171:{h=Ya()|0;Xa=287;break}case 172:{h=Ya()|0;Xa=286;break}case 173:{h=Ya()|0;Xa=285;break}case 174:{h=Ya()|0;Xa=176;break}case 175:{h=Ya()|0;_P(ga);Xa=176;break}case 177:{h=Ya()|0;Xa=282;break}case 178:{h=Ya()|0;_P(ha);Xa=282;break}case 179:{h=Ya()|0;Xa=281;break}case 180:{h=Ya()|0;Xa=185;break}case 181:{Wa=Ya()|0;i=h;h=Wa;Xa=182;break}case 188:{soa(Za(0)|0);break}case 196:{h=Ya()|0;Xa=255;break}case 197:{h=Ya()|0;_P(ja);Xa=255;break}case 214:{h=Ya()|0;Xa=244;break}case 215:{h=Ya()|0;Xa=242;break}case 216:{h=Ya()|0;Xa=241;break}case 217:{h=Ya()|0;Hta(c);Xa=241;break}case 218:{h=Ya()|0;Xa=240;break}case 219:{h=Ya()|0;Xa=239;break}case 220:{h=Ya()|0;Xa=224;break}case 221:{h=Ya()|0;Xa=223;break}case 222:{h=Ya()|0;_P(la);Xa=223;break}case 230:{h=Ya()|0;_P(ma);Xa=239;break}case 238:{h=Ya()|0;_P(oa);Xa=239;break}case 252:{h=Ya()|0;Xa=254;break}case 261:{h=Ya()|0;_P(za);Xa=273;break}case 270:{h=Ya()|0;Xa=278;break}case 271:{h=Ya()|0;Xa=277;break}case 272:{h=Ya()|0;Xa=273;break}case 274:{h=Ya()|0;Xa=276;break}case 275:{h=Ya()|0;_P(ra);Xa=276;break}case 293:{h=Ya()|0;Xa=295;break}case 294:{h=Ya()|0;_P(xa);Xa=295;break}case 303:{h=Ya()|0;Xa=305;break}case 304:{h=Ya()|0;_P(Wa);Xa=305;break}}do if((Xa|0)==133){_P(Aa);Xa=307}else if((Xa|0)==137)Xa=297;else if((Xa|0)==140){Hta(p);Xa=296}else if((Xa|0)==176){_P(Ba);Xa=285}else if((Xa|0)==182)if((b[aa>>0]|0)<0){Hta(f[Ea>>2]|0);if(i){Xa=185;break}else{Xa=281;break}}else if(i){Xa=185;break}else{Xa=281;break}else if((Xa|0)==223){_P(Ca);Xa=224}else if((Xa|0)==273){_P(Da);Xa=277}else if((Xa|0)==276){_P(Ma);Xa=277}else if((Xa|0)==305)Xa=307;while(0);if((Xa|0)==185){Hta(k);Xa=281}else if((Xa|0)==224)Xa=239;else if((Xa|0)==277){_P(Na);Xa=278}if((Xa|0)==239){_P(Wa);Xa=240}else if((Xa|0)==278)Xa=281;if((Xa|0)==240){_P(Ha);Xa=241}if((Xa|0)==241){_P(Ka);Xa=242}if((Xa|0)==242){_P(Ma);Xa=244}if((Xa|0)==244)Xa=254;if((Xa|0)==254){_P(Na);Xa=255}if((Xa|0)==255)Xa=281;if((Xa|0)==281){_P(Oa);Xa=282}if((Xa|0)==282)Xa=285;if((Xa|0)==285){_P(Pa);Xa=286}if((Xa|0)==286){_P(Qa);Xa=287}if((Xa|0)==287)Xa=295;if((Xa|0)==295){_P(Ra);Xa=296}if((Xa|0)==296)Xa=297;if((Xa|0)==297){SI(Sa,f[ba>>2]|0);Xa=298}if((Xa|0)==298)Xa=307;if((Xa|0)==307)_P(Ta);break e}while(0);x=0;Ga(462,Wa|0,f[ya>>2]|0);Xa=x;x=0;do if(Xa&1){h=Ya()|0;Xa=375}else{f[Wa>>2]=7168;h=Wa+8|0;x=0;Ga(462,h|0,f[ca>>2]|0);Xa=x;x=0;if(Xa&1){h=Ya()|0;_P(Wa);Xa=375;break}f[h>>2]=7168;q=Wa+4|0;h=f[q>>2]|0;if(!h){h=0;Xa=311}else{x=0;h=qa(f[(f[h>>2]|0)+8>>2]|0,h|0)|0;Xa=x;x=0;if(Xa&1)Xa=378;else Xa=311}j:do if((Xa|0)==311){r=a+16|0;s=f[r>>2]|0;t=(s|0)==0;k:do if(t){k=0;Xa=348}else{o=s+-1|0;j=(o&s|0)==0;do if(j)p=o&h;else{if(h>>>0>>0){p=h;break}p=(h>>>0)%(s>>>0)|0}while(0);i=f[(f[Ua>>2]|0)+(p<<2)>>2]|0;if(!i){k=p;Xa=348;break}i=f[i>>2]|0;if(!i){k=p;Xa=348;break}if(j){l:while(1){Ta=f[i+4>>2]|0;if(!((Ta|0)==(h|0)|(Ta&o|0)==(p|0))){k=p;Xa=348;break k}c=f[i+12>>2]|0;m:do if(c|0){do if(!(uy(c,2064,192,-2)|0)){j=f[q>>2]|0;k=j}else{j=f[q>>2]|0;if(!j){k=j;j=0;break}if(!(uy(j,2064,192,-2)|0)){k=j;break}x=0;j=qa(f[(f[c>>2]|0)+8>>2]|0,c|0)|0;Ta=x;x=0;if(Ta&1)break l;c=f[q>>2]|0;x=0;c=qa(f[(f[c>>2]|0)+8>>2]|0,c|0)|0;Ta=x;x=0;if(Ta&1)break l;if((j|0)==(c|0))break k;else break m}while(0);if(!k)break;x=0;j=sa(f[(f[c>>2]|0)+164>>2]|0,c|0,j|0)|0;Ta=x;x=0;if(Ta&1)break l;if(j)break k}while(0);i=f[i>>2]|0;if(!i){k=p;Xa=348;break k}}h=Ya()|0;break j}else k=i;n:while(1){i=f[k+4>>2]|0;if((i|0)!=(h|0)){if(i>>>0>=s>>>0)i=(i>>>0)%(s>>>0)|0;if((i|0)!=(p|0)){k=p;Xa=348;break k}}j=f[k+12>>2]|0;o:do if(j|0){do if(!(uy(j,2064,192,-2)|0)){i=f[q>>2]|0;c=i}else{i=f[q>>2]|0;if(!i){c=i;i=0;break}if(!(uy(i,2064,192,-2)|0)){c=i;break}x=0;i=qa(f[(f[j>>2]|0)+8>>2]|0,j|0)|0;Ta=x;x=0;if(Ta&1)break n;j=f[q>>2]|0;x=0;j=qa(f[(f[j>>2]|0)+8>>2]|0,j|0)|0;Ta=x;x=0;if(Ta&1)break n;if((i|0)==(j|0))break k;else break o}while(0);if(!c)break;x=0;i=sa(f[(f[j>>2]|0)+164>>2]|0,j|0,i|0)|0;Ta=x;x=0;if(Ta&1)break n;if(i)break k}while(0);k=f[k>>2]|0;if(!k){k=p;Xa=348;break k}}h=Ya()|0;break j}while(0);p:do if((Xa|0)==348){x=0;p=qa(318,24)|0;Ta=x;x=0;if(Ta&1){Xa=378;break j}j=p+8|0;x=0;Ga(462,j|0,f[q>>2]|0);Ta=x;x=0;do if(Ta&1)h=Ya()|0;else{f[j>>2]=7168;i=p+16|0;x=0;Ga(462,i|0,f[Wa+12>>2]|0);Ta=x;x=0;if(Ta&1){h=Ya()|0;_P(j);break}f[i>>2]=7168;f[p+4>>2]=h;f[p>>2]=0;o=a+24|0;l=+(((f[o>>2]|0)+1|0)>>>0);m=+n[a+28>>2];do if(t|m*+(s>>>0)>>0<3|(s+-1&s|0)!=0)&1;Sa=~~+W(+(l/m))>>>0;x=0;Ga(664,Ua|0,(Ta>>>0>>0?Sa:Ta)|0);Ta=x;x=0;if(Ta&1){h=Ya()|0;_P(i);_P(j);Hta(p);break j}i=f[r>>2]|0;j=i+-1|0;if(!(j&i)){c=i;h=j&h;break}if(h>>>0>>0){c=i;break}c=i;h=(h>>>0)%(i>>>0)|0}else{c=s;h=k}while(0);i=(f[Ua>>2]|0)+(h<<2)|0;h=f[i>>2]|0;do if(!h){h=a+20|0;f[p>>2]=f[h>>2];f[h>>2]=p;f[i>>2]=h;h=f[p>>2]|0;if(!h)break;h=f[h+4>>2]|0;i=c+-1|0;do if(!(i&c))h=h&i;else{if(h>>>0>>0)break;h=(h>>>0)%(c>>>0)|0}while(0);h=(f[Ua>>2]|0)+(h<<2)|0;Xa=369}else{f[p>>2]=f[h>>2];Xa=369}while(0);if((Xa|0)==369)f[h>>2]=p;f[o>>2]=(f[o>>2]|0)+1;break p}while(0);Hta(p);break j}while(0);_P(Wa+8|0);_P(Wa);h=f[ca>>2]|0;if(!h)h=0;else b[h+8>>0]=1;Xa=h;_P(_a);u=Va;return Xa|0}while(0);if((Xa|0)==378)h=Ya()|0;_P(Wa+8|0);_P(Wa)}while(0);break e}}while(0);if((Xa|0)==82)h=Ya()|0}while(0)}while(0);_P(_a);_a=h;jb(_a|0);return 0}function ed(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;Z=0;_=u;u=u+576|0;ha=_+492|0;oa=_+456|0;i=_+480|0;h=_+468|0;na=_+444|0;ma=_+432|0;la=_+420|0;l=_+408|0;j=_+396|0;ka=_+384|0;m=_+336|0;k=_+324|0;ia=_+348|0;v=_+312|0;s=_+300|0;p=_+288|0;q=_+276|0;n=_+228|0;r=_+216|0;o=_+204|0;y=_+192|0;w=_+180|0;t=_+168|0;S=_+156|0;O=_+144|0;ga=_+240|0;Q=_+132|0;P=_+120|0;U=_+108|0;T=_+96|0;R=_+84|0;ba=_+72|0;$=_+60|0;ca=_+48|0;aa=_+36|0;fa=_+24|0;ea=_+12|0;da=_;ND(i,c);x=0;Ga(459,h|0,d|0);ja=x;x=0;do if(ja&1)g=Ya()|0;else{x=0;Ia(110,oa|0,i|0,h|0);ja=x;x=0;if(ja&1){g=Ya()|0;if((b[h+11>>0]|0)>=0)break;Hta(f[h>>2]|0);break}if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[i+11>>0]|0)<0)Hta(f[i>>2]|0);h=HJ(d,47,-1)|0;if((h|0)==-1){f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;Z=10}else{x=0;Ka(4,na|0,d|0,0,h+1|0,d|0);ja=x;x=0;if(ja&1)g=Ya()|0;else Z=10}if((Z|0)==10){h=HJ(d,47,-1)|0;if((h|0)==-1){x=0;Ga(459,ma|0,d|0);ja=x;x=0;if(ja&1)Z=65;else Z=13}else{x=0;Ka(4,ma|0,d|0,h+1|0,-1,d|0);ja=x;x=0;if(ja&1)Z=65;else Z=13}if((Z|0)==13){f[a>>2]=0;W=a+4|0;f[W>>2]=0;f[a+8>>2]=0;x=0;Ga(459,l|0,na|0);ja=x;x=0;a:do if(ja&1)g=Ya()|0;else{x=0;Ga(459,j|0,ma|0);ja=x;x=0;do if(ja&1)g=Ya()|0;else{x=0;Ia(110,la|0,l|0,j|0);ja=x;x=0;if(ja&1){g=Ya()|0;if((b[j+11>>0]|0)>=0)break;Hta(f[j>>2]|0);break}if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);x=0;Ga(459,m|0,c|0);ja=x;x=0;b:do if(ja&1)g=Ya()|0;else{x=0;Ga(459,k|0,la|0);ja=x;x=0;do if(ja&1)g=Ya()|0;else{x=0;Ia(110,ka|0,m|0,k|0);ja=x;x=0;if(ja&1){g=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0);ja=ka+11|0;c:do if(!(LT((b[ja>>0]|0)<0?f[ka>>2]|0:ka,ha)|0)){if((f[ha+12>>2]&61440|0)==16384){Z=104;break}x=0;Ga(459,v|0,la|0);V=x;x=0;do if(V&1)g=Ya()|0;else{x=0;Ga(459,s|0,c|0);V=x;x=0;do if(V&1)g=Ya()|0;else{x=0;Ia(95,ia|0,v|0,s|0);V=x;x=0;do if(V&1)g=Ya()|0;else{x=0;Ga(459,p|0,ka|0);V=x;x=0;do if(V&1)g=Ya()|0;else{x=0;Ia(96,ha|0,ia|0,p|0);V=x;x=0;d:do if(V&1)g=Ya()|0;else{h=f[W>>2]|0;do if(h>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=f[ha>>2];f[h+4>>2]=f[ha+4>>2];f[h+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;V=h+12|0;Z=ha+12|0;f[V>>2]=f[Z>>2];f[V+4>>2]=f[Z+4>>2];f[V+8>>2]=f[Z+8>>2];f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;Z=h+24|0;V=ha+24|0;f[Z>>2]=f[V>>2];f[Z+4>>2]=f[V+4>>2];f[Z+8>>2]=f[V+8>>2];f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;V=h+36|0;Z=ha+36|0;f[V>>2]=f[Z>>2];f[V+4>>2]=f[Z+4>>2];f[V+8>>2]=f[Z+8>>2];f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;b[h+48>>0]=b[ha+48>>0]|0;f[W>>2]=(f[W>>2]|0)+52}else{x=0;Ga(570,a|0,ha|0);V=x;x=0;if(!(V&1)){if((b[ha+36+11>>0]|0)>=0)break;Hta(f[ha+36>>2]|0);break}g=Ya()|0;h=ha+36|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ha+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ha+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ha+11>>0]|0)>=0)break d;Hta(f[ha>>2]|0);break d}while(0);h=ha+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ha+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ha+11>>0]|0)<0)Hta(f[ha>>2]|0);if((b[p+11>>0]|0)<0)Hta(f[p>>2]|0);h=ia+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ia+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ia+11>>0]|0)<0)Hta(f[ia>>2]|0);if((b[s+11>>0]|0)<0)Hta(f[s>>2]|0);if((b[v+11>>0]|0)<0)Hta(f[v>>2]|0);Z=104;break c}while(0);if((b[p+11>>0]|0)>=0)break;Hta(f[p>>2]|0)}while(0);h=ia+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ia+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ia+11>>0]|0)>=0)break;Hta(f[ia>>2]|0)}while(0);if((b[s+11>>0]|0)>=0)break;Hta(f[s>>2]|0)}while(0);if((b[v+11>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0)}else Z=104;while(0);e:do if((Z|0)==104){x=0;Ga(459,q|0,na|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ia(92,n|0,43512,ma|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ia(110,ha|0,q|0,n|0);Z=x;x=0;if(Z&1){g=Ya()|0;if((b[n+11>>0]|0)>=0)break;Hta(f[n>>2]|0);break}V=la+11|0;if((b[V>>0]|0)<0){b[f[la>>2]>>0]=0;f[la+4>>2]=0}else{b[la>>0]=0;b[V>>0]=0}x=0;Ga(501,la|0,0);Z=x;x=0;if(Z&1){Z=Za(0)|0;soa(Z)}f[la>>2]=f[ha>>2];f[la+4>>2]=f[ha+4>>2];f[la+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;if((b[n+11>>0]|0)<0)Hta(f[n>>2]|0);if((b[q+11>>0]|0)<0)Hta(f[q>>2]|0);x=0;Ga(459,r|0,c|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ga(459,o|0,la|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ia(110,ha|0,r|0,o|0);Z=x;x=0;if(Z&1){g=Ya()|0;if((b[o+11>>0]|0)>=0)break;Hta(f[o>>2]|0);break}if((b[ja>>0]|0)<0){b[f[ka>>2]>>0]=0;f[ka+4>>2]=0}else{b[ka>>0]=0;b[ja>>0]=0}x=0;Ga(501,ka|0,0);Z=x;x=0;if(Z&1){Z=Za(0)|0;soa(Z)}f[ka>>2]=f[ha>>2];f[ka+4>>2]=f[ha+4>>2];f[ka+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;if((b[o+11>>0]|0)<0)Hta(f[o>>2]|0);if((b[r+11>>0]|0)<0)Hta(f[r>>2]|0);f:do if(!(LT((b[ja>>0]|0)<0?f[ka>>2]|0:ka,ha)|0)){if((f[ha+12>>2]&61440|0)==16384)break;x=0;Ga(459,y|0,la|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ga(459,w|0,c|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ia(95,ia|0,y|0,w|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ga(459,t|0,ka|0);Z=x;x=0;do if(Z&1)g=Ya()|0;else{x=0;Ia(96,ha|0,ia|0,t|0);Z=x;x=0;g:do if(Z&1)g=Ya()|0;else{h=f[W>>2]|0;do if(h>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=f[ha>>2];f[h+4>>2]=f[ha+4>>2];f[h+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;M=h+12|0;Z=ha+12|0;f[M>>2]=f[Z>>2];f[M+4>>2]=f[Z+4>>2];f[M+8>>2]=f[Z+8>>2];f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;Z=h+24|0;M=ha+24|0;f[Z>>2]=f[M>>2];f[Z+4>>2]=f[M+4>>2];f[Z+8>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;M=h+36|0;Z=ha+36|0;f[M>>2]=f[Z>>2];f[M+4>>2]=f[Z+4>>2];f[M+8>>2]=f[Z+8>>2];f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;b[h+48>>0]=b[ha+48>>0]|0;f[W>>2]=(f[W>>2]|0)+52}else{x=0;Ga(570,a|0,ha|0);Z=x;x=0;if(!(Z&1)){if((b[ha+36+11>>0]|0)>=0)break;Hta(f[ha+36>>2]|0);break}g=Ya()|0;h=ha+36|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ha+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ha+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ha+11>>0]|0)>=0)break g;Hta(f[ha>>2]|0);break g}while(0);h=ha+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ha+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ha+11>>0]|0)<0)Hta(f[ha>>2]|0);if((b[t+11>>0]|0)<0)Hta(f[t>>2]|0);h=ia+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ia+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ia+11>>0]|0)<0)Hta(f[ia>>2]|0);if((b[w+11>>0]|0)<0)Hta(f[w>>2]|0);if((b[y+11>>0]|0)<0)Hta(f[y>>2]|0);break f}while(0);if((b[t+11>>0]|0)>=0)break;Hta(f[t>>2]|0)}while(0);h=ia+24|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);h=ia+12|0;if((b[h+11>>0]|0)<0)Hta(f[h>>2]|0);if((b[ia+11>>0]|0)>=0)break;Hta(f[ia>>2]|0)}while(0);if((b[w+11>>0]|0)>=0)break;Hta(f[w>>2]|0)}while(0);if((b[y+11>>0]|0)>=0)break;Hta(f[y>>2]|0)}while(0);break e}while(0);h=f[e>>2]|0;p=e+4|0;i=f[p>>2]|0;h:do if((h|0)!=(i|0)){M=ia+11|0;j=ia+4|0;k=la+4|0;q=O+11|0;B=ga+11|0;E=S+11|0;l=ka+4|0;r=P+11|0;C=Q+11|0;m=ha+12|0;n=a+8|0;s=ha+12|0;t=ha+24|0;v=ha+36|0;o=ha+48|0;w=v+11|0;y=t+11|0;z=s+11|0;A=ha+11|0;D=R+11|0;F=ga+24|0;G=F+11|0;H=ga+12|0;I=H+11|0;J=ga+11|0;K=T+11|0;L=U+11|0;i:while(1){x=0;Ga(459,ia|0,h|0);Z=x;x=0;if(Z&1){Z=268;break}x=0;Ga(459,S|0,na|0);Z=x;x=0;if(Z&1){Z=269;break}x=0;Ia(92,ga|0,43512,ma|0);Z=x;x=0;if(Z&1){Z=270;break}d=b[M>>0]|0;Z=d<<24>>24<0;x=0;d=ta(41,ga|0,(Z?f[ia>>2]|0:ia)|0,(Z?f[j>>2]|0:d&255)|0)|0;Z=x;x=0;if(Z&1){Z=271;break}f[O>>2]=f[d>>2];f[O+4>>2]=f[d+4>>2];f[O+8>>2]=f[d+8>>2];f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;x=0;Ia(110,ha|0,S|0,O|0);Z=x;x=0;if(Z&1){Z=272;break}if((b[V>>0]|0)<0){b[f[la>>2]>>0]=0;f[k>>2]=0}else{b[la>>0]=0;b[V>>0]=0}x=0;Ga(501,la|0,0);Z=x;x=0;if(Z&1){Z=213;break}f[la>>2]=f[ha>>2];f[la+4>>2]=f[ha+4>>2];f[la+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;if((b[q>>0]|0)<0)Hta(f[O>>2]|0);if((b[B>>0]|0)<0)Hta(f[ga>>2]|0);if((b[E>>0]|0)<0)Hta(f[S>>2]|0);x=0;Ga(459,Q|0,c|0);Z=x;x=0;if(Z&1){Z=279;break}x=0;Ga(459,P|0,la|0);Z=x;x=0;if(Z&1){Z=280;break}x=0;Ia(110,ha|0,Q|0,P|0);Z=x;x=0;if(Z&1){Z=281;break}if((b[ja>>0]|0)<0){b[f[ka>>2]>>0]=0;f[l>>2]=0}else{b[ka>>0]=0;b[ja>>0]=0}x=0;Ga(501,ka|0,0);Z=x;x=0;if(Z&1){Z=227;break}f[ka>>2]=f[ha>>2];f[ka+4>>2]=f[ha+4>>2];f[ka+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;if((b[r>>0]|0)<0)Hta(f[P>>2]|0);if((b[C>>0]|0)<0)Hta(f[Q>>2]|0);do if(!(LT((b[ja>>0]|0)<0?f[ka>>2]|0:ka,ha)|0)){if((f[m>>2]&61440|0)==16384)break;x=0;Ga(459,U|0,la|0);Z=x;x=0;if(Z&1){Z=286;break i}x=0;Ga(459,T|0,c|0);Z=x;x=0;if(Z&1){Z=287;break i}x=0;Ia(95,ga|0,U|0,T|0);Z=x;x=0;if(Z&1){Z=288;break i}x=0;Ga(459,R|0,ka|0);Z=x;x=0;if(Z&1){Z=289;break i}Z=b[M>>0]|0;if(((Z<<24>>24<0?f[j>>2]|0:Z&255)|0)==4){x=0;d=wa(21,ia|0,0,-1,43514,4)|0;Z=x;x=0;if(Z&1){Z=242;break i}d=(d|0)==0}else d=0;x=0;Ja(25,ha|0,ga|0,R|0,d|0);Z=x;x=0;if(Z&1){Z=290;break i}d=f[W>>2]|0;do if(d>>>0<(f[n>>2]|0)>>>0){f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;Z=d+12|0;f[Z>>2]=f[s>>2];f[Z+4>>2]=f[s+4>>2];f[Z+8>>2]=f[s+8>>2];f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;Z=d+24|0;f[Z>>2]=f[t>>2];f[Z+4>>2]=f[t+4>>2];f[Z+8>>2]=f[t+8>>2];f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;Z=d+36|0;f[Z>>2]=f[v>>2];f[Z+4>>2]=f[v+4>>2];f[Z+8>>2]=f[v+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;b[d+48>>0]=b[o>>0]|0;f[W>>2]=(f[W>>2]|0)+52}else{x=0;Ga(570,a|0,ha|0);Z=x;x=0;if(Z&1){Z=291;break i}if((b[w>>0]|0)>=0)break;Hta(f[v>>2]|0)}while(0);if((b[y>>0]|0)<0)Hta(f[t>>2]|0);if((b[z>>0]|0)<0)Hta(f[s>>2]|0);if((b[A>>0]|0)<0)Hta(f[ha>>2]|0);if((b[D>>0]|0)<0)Hta(f[R>>2]|0);if((b[G>>0]|0)<0)Hta(f[F>>2]|0);if((b[I>>0]|0)<0)Hta(f[H>>2]|0);if((b[J>>0]|0)<0)Hta(f[ga>>2]|0);if((b[K>>0]|0)<0)Hta(f[T>>2]|0);if((b[L>>0]|0)<0)Hta(f[U>>2]|0)}while(0);if((b[M>>0]|0)<0)Hta(f[ia>>2]|0);h=h+12|0;if((h|0)==(i|0)){Z=202;break}}switch(Z|0){case 202:{g=f[e>>2]|0;d=f[p>>2]|0;if((g|0)==(d|0))break h;i=la+4|0;o=$+11|0;z=ba+11|0;j=ka+4|0;p=aa+11|0;A=ca+11|0;k=ha+12|0;J=ia+11|0;l=ia+4|0;m=a+8|0;q=ha+12|0;r=ha+24|0;s=ha+36|0;n=ha+48|0;t=s+11|0;v=r+11|0;w=q+11|0;y=ha+11|0;B=da+11|0;C=ga+24|0;D=C+11|0;E=ga+12|0;F=E+11|0;G=ga+11|0;H=ea+11|0;I=fa+11|0;h=g;j:while(1){x=0;Ga(459,ia|0,h|0);Z=x;x=0;if(Z&1){Z=390;break}x=0;Ga(459,ba|0,na|0);Z=x;x=0;if(Z&1){Z=391;break}x=0;Ia(80,$|0,ma|0,ia|0);Z=x;x=0;if(Z&1){Z=392;break}x=0;Ia(110,ha|0,ba|0,$|0);Z=x;x=0;if(Z&1){Z=393;break}if((b[V>>0]|0)<0){b[f[la>>2]>>0]=0;f[i>>2]=0}else{b[la>>0]=0;b[V>>0]=0}x=0;Ga(501,la|0,0);Z=x;x=0;if(Z&1){Z=337;break}f[la>>2]=f[ha>>2];f[la+4>>2]=f[ha+4>>2];f[la+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;if((b[o>>0]|0)<0)Hta(f[$>>2]|0);if((b[z>>0]|0)<0)Hta(f[ba>>2]|0);x=0;Ga(459,ca|0,c|0);Z=x;x=0;if(Z&1){Z=398;break}x=0;Ga(459,aa|0,la|0);Z=x;x=0;if(Z&1){Z=399;break}x=0;Ia(110,ha|0,ca|0,aa|0);Z=x;x=0;if(Z&1){Z=400;break}if((b[ja>>0]|0)<0){b[f[ka>>2]>>0]=0;f[j>>2]=0}else{b[ka>>0]=0;b[ja>>0]=0}x=0;Ga(501,ka|0,0);Z=x;x=0;if(Z&1){Z=349;break}f[ka>>2]=f[ha>>2];f[ka+4>>2]=f[ha+4>>2];f[ka+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;if((b[p>>0]|0)<0)Hta(f[aa>>2]|0);if((b[A>>0]|0)<0)Hta(f[ca>>2]|0);do if(!(LT((b[ja>>0]|0)<0?f[ka>>2]|0:ka,ha)|0)){if((f[k>>2]&61440|0)==16384)break;x=0;Ga(459,fa|0,la|0);Z=x;x=0;if(Z&1){Z=405;break j}x=0;Ga(459,ea|0,c|0);Z=x;x=0;if(Z&1){Z=406;break j}x=0;Ia(95,ga|0,fa|0,ea|0);Z=x;x=0;if(Z&1){Z=407;break j}x=0;Ga(459,da|0,ka|0);Z=x;x=0;if(Z&1){Z=408;break j}Z=b[J>>0]|0;if(((Z<<24>>24<0?f[l>>2]|0:Z&255)|0)==4){x=0;g=wa(21,ia|0,0,-1,43514,4)|0;Z=x;x=0;if(Z&1){Z=364;break j}g=(g|0)==0}else g=0;x=0;Ja(25,ha|0,ga|0,da|0,g|0);Z=x;x=0;if(Z&1){Z=409;break j}g=f[W>>2]|0;do if(g>>>0<(f[m>>2]|0)>>>0){f[g>>2]=f[ha>>2];f[g+4>>2]=f[ha+4>>2];f[g+8>>2]=f[ha+8>>2];f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;Z=g+12|0;f[Z>>2]=f[q>>2];f[Z+4>>2]=f[q+4>>2];f[Z+8>>2]=f[q+8>>2];f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;Z=g+24|0;f[Z>>2]=f[r>>2];f[Z+4>>2]=f[r+4>>2];f[Z+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;Z=g+36|0;f[Z>>2]=f[s>>2];f[Z+4>>2]=f[s+4>>2];f[Z+8>>2]=f[s+8>>2];f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;b[g+48>>0]=b[n>>0]|0;f[W>>2]=(f[W>>2]|0)+52}else{x=0;Ga(570,a|0,ha|0);Z=x;x=0;if(Z&1){Z=410;break j}if((b[t>>0]|0)>=0)break;Hta(f[s>>2]|0)}while(0);if((b[v>>0]|0)<0)Hta(f[r>>2]|0);if((b[w>>0]|0)<0)Hta(f[q>>2]|0);if((b[y>>0]|0)<0)Hta(f[ha>>2]|0);if((b[B>>0]|0)<0)Hta(f[da>>2]|0);if((b[D>>0]|0)<0)Hta(f[C>>2]|0);if((b[F>>0]|0)<0)Hta(f[E>>2]|0);if((b[G>>0]|0)<0)Hta(f[ga>>2]|0);if((b[H>>0]|0)<0)Hta(f[ea>>2]|0);if((b[I>>0]|0)<0)Hta(f[fa>>2]|0)}while(0);if((b[J>>0]|0)<0)Hta(f[ia>>2]|0);h=h+12|0;if((h|0)==(d|0))break h}switch(Z|0){case 337:{soa(Za(0)|0);break}case 349:{soa(Za(0)|0);break}case 364:{soa(Za(0)|0);break}case 390:{X=Ya()|0;break}case 391:{g=Ya()|0;Z=397;break}case 392:{g=Ya()|0;Z=395;break}case 393:{g=Ya()|0;if((b[o>>0]|0)>=0){Z=395;break}Hta(f[$>>2]|0);Z=395;break}case 398:{g=Ya()|0;Z=404;break}case 399:{g=Ya()|0;Z=402;break}case 400:{g=Ya()|0;if((b[p>>0]|0)>=0){Z=402;break}Hta(f[aa>>2]|0);Z=402;break}case 405:{g=Ya()|0;Z=430;break}case 406:{g=Ya()|0;Z=428;break}case 407:{g=Ya()|0;Z=426;break}case 408:{g=Ya()|0;Z=420;break}case 409:{g=Ya()|0;Z=418;break}case 410:{g=Ya()|0;if((b[t>>0]|0)<0)Hta(f[s>>2]|0);if((b[v>>0]|0)<0)Hta(f[r>>2]|0);if((b[w>>0]|0)<0)Hta(f[q>>2]|0);if((b[y>>0]|0)>=0){Z=418;break}Hta(f[ha>>2]|0);Z=418;break}}do if((Z|0)==395){if((b[z>>0]|0)>=0){Z=397;break}Hta(f[ba>>2]|0);Z=397}else if((Z|0)==402){if((b[A>>0]|0)>=0){Z=404;break}Hta(f[ca>>2]|0);Z=404}else if((Z|0)==418){if((b[B>>0]|0)>=0){Z=420;break}Hta(f[da>>2]|0);Z=420}while(0);do if((Z|0)==397)Z=434;else if((Z|0)==404)Z=434;else if((Z|0)==420){if((b[D>>0]|0)<0)Hta(f[C>>2]|0);if((b[F>>0]|0)<0)Hta(f[E>>2]|0);if((b[G>>0]|0)>=0){Z=426;break}Hta(f[ga>>2]|0);Z=426}while(0);do if((Z|0)==426){if((b[H>>0]|0)>=0){Z=428;break}Hta(f[ea>>2]|0);Z=428}while(0);do if((Z|0)==428){if((b[I>>0]|0)>=0){Z=430;break}Hta(f[fa>>2]|0);Z=430}while(0);if((Z|0)==430)Z=434;do if((Z|0)==434){if((b[J>>0]|0)>=0){X=g;break}Hta(f[ia>>2]|0);X=g}while(0);g=X;break e}case 213:{ia=Za(0)|0;soa(ia);break}case 227:{ia=Za(0)|0;soa(ia);break}case 242:{ia=Za(0)|0;soa(ia);break}case 268:{g=Ya()|0;break}case 269:{g=Ya()|0;Z=278;break}case 270:{g=Ya()|0;Z=276;break}case 271:{g=Ya()|0;Z=274;break}case 272:{g=Ya()|0;if((b[q>>0]|0)>=0){Z=274;break}Hta(f[O>>2]|0);Z=274;break}case 279:{g=Ya()|0;Z=285;break}case 280:{g=Ya()|0;Z=283;break}case 281:{g=Ya()|0;if((b[r>>0]|0)>=0){Z=283;break}Hta(f[P>>2]|0);Z=283;break}case 286:{g=Ya()|0;Z=311;break}case 287:{g=Ya()|0;Z=309;break}case 288:{g=Ya()|0;Z=307;break}case 289:{g=Ya()|0;Z=301;break}case 290:{g=Ya()|0;Z=299;break}case 291:{g=Ya()|0;if((b[w>>0]|0)<0)Hta(f[v>>2]|0);if((b[y>>0]|0)<0)Hta(f[t>>2]|0);if((b[z>>0]|0)<0)Hta(f[s>>2]|0);if((b[A>>0]|0)>=0){Z=299;break}Hta(f[ha>>2]|0);Z=299;break}}do if((Z|0)==274){if((b[B>>0]|0)>=0){Z=276;break}Hta(f[ga>>2]|0);Z=276}else if((Z|0)==283){if((b[C>>0]|0)>=0){Z=285;break}Hta(f[Q>>2]|0);Z=285}else if((Z|0)==299){if((b[D>>0]|0)>=0){Z=301;break}Hta(f[R>>2]|0);Z=301}while(0);do if((Z|0)==276){if((b[E>>0]|0)>=0){Z=278;break}Hta(f[S>>2]|0);Z=278}else if((Z|0)==285)Z=315;else if((Z|0)==301){if((b[G>>0]|0)<0)Hta(f[F>>2]|0);if((b[I>>0]|0)<0)Hta(f[H>>2]|0);if((b[J>>0]|0)>=0){Z=307;break}Hta(f[ga>>2]|0);Z=307}while(0);do if((Z|0)==278)Z=315;else if((Z|0)==307){if((b[K>>0]|0)>=0){Z=309;break}Hta(f[T>>2]|0);Z=309}while(0);do if((Z|0)==309){if((b[L>>0]|0)>=0){Z=311;break}Hta(f[U>>2]|0);Z=311}while(0);if((Z|0)==311)Z=315;do if((Z|0)==315){if((b[M>>0]|0)>=0)break;Hta(f[ia>>2]|0)}while(0);break e}while(0);if((b[ja>>0]|0)<0)Hta(f[ka>>2]|0);if((b[V>>0]|0)<0)Hta(f[la>>2]|0);if((b[ma+11>>0]|0)<0)Hta(f[ma>>2]|0);if((b[na+11>>0]|0)<0)Hta(f[na>>2]|0);if((b[oa+11>>0]|0)>=0){u=_;return}Hta(f[oa>>2]|0);u=_;return}while(0);if((b[r+11>>0]|0)>=0)break;Hta(f[r>>2]|0)}while(0);break e}while(0);if((b[q+11>>0]|0)>=0)break;Hta(f[q>>2]|0)}while(0)}while(0);if((b[ja>>0]|0)>=0)break b;Hta(f[ka>>2]|0);break b}while(0);if((b[m+11>>0]|0)<0)Hta(f[m>>2]|0)}while(0);if((b[la+11>>0]|0)>=0)break a;Hta(f[la>>2]|0);break a}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0)}while(0);SG(a);if((b[ma+11>>0]|0)<0)Hta(f[ma>>2]|0)}else if((Z|0)==65)g=Ya()|0;if((b[na+11>>0]|0)<0)Hta(f[na>>2]|0)}if((b[oa+11>>0]|0)>=0){oa=g;jb(oa|0)}Hta(f[oa>>2]|0);oa=g;jb(oa|0)}while(0);if((b[i+11>>0]|0)>=0){oa=g;jb(oa|0)}Hta(f[i>>2]|0);oa=g;jb(oa|0)} +function Yc(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,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,wa=0,xa=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ha=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Va=0,Wa=0,Xa=0,_a=0,$a=0,ab=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0;qb=0;hb=u;u=u+1536|0;ib=hb+448|0;Sa=hb+1488|0;gb=hb+408|0;Wa=hb+368|0;Na=hb+328|0;ab=hb+288|0;pb=hb+248|0;nb=hb+208|0;$a=hb+168|0;wa=hb+128|0;ma=hb+88|0;ob=hb+48|0;mb=hb+8|0;tb=hb+1320|0;ub=hb+1296|0;sb=hb+1216|0;j=hb+1480|0;k=hb+1472|0;l=hb+1464|0;n=hb+1456|0;o=hb+1448|0;p=hb+1440|0;s=hb+1424|0;t=hb+1412|0;v=hb+1400|0;m=hb+1388|0;q=hb+1376|0;r=hb+1364|0;D=hb+1352|0;E=hb+1340|0;G=hb+1328|0;w=hb+1304|0;y=hb+1284|0;C=hb+1272|0;rb=hb+1080|0;J=hb+1264|0;O=hb+1224|0;X=hb+1208|0;Y=hb+1200|0;S=hb+1192|0;T=hb+1184|0;aa=hb+1176|0;ba=hb+1168|0;K=hb+1160|0;Q=hb+1120|0;_=hb+1112|0;$=hb+1104|0;V=hb+1096|0;W=hb+1088|0;Z=hb+1072|0;ca=hb+1064|0;L=hb+1056|0;M=hb+1048|0;N=hb+1040|0;P=hb+1032|0;lb=hb+952|0;R=hb+1024|0;kb=hb+896|0;U=hb+1016|0;da=hb+976|0;fa=hb+960|0;ea=hb+944|0;ga=hb+904|0;xa=hb+888|0;na=hb+880|0;ha=hb+840|0;za=hb+832|0;oa=hb+824|0;ia=hb+784|0;Aa=hb+776|0;pa=hb+768|0;ja=hb+728|0;Ba=hb+720|0;ra=hb+712|0;ka=hb+672|0;Ca=hb+664|0;ua=hb+656|0;la=hb+616|0;Da=hb+608|0;va=hb+600|0;Va=hb+584|0;Xa=hb+572|0;Ka=hb+560|0;Pa=hb+548|0;La=hb+536|0;Qa=hb+524|0;Ha=hb;cb=hb+512|0;db=hb+500|0;qV(tb,f[c+72>>2]|0);f[tb>>2]=7696;x=0;Ga(462,ub|0,f[c+80>>2]|0);Ra=x;x=0;if(Ra&1){ub=Ya()|0;_P(tb);jb(ub|0)}f[ub>>2]=7696;Ra=f[c+60>>2]|0;a:do switch(Ra|0){case 0:{g=tb+4|0;e=f[g>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;sb=x;x=0;do if(sb&1)qb=15;else{x=0;Ga(462,ib|0,e|0);sb=x;x=0;if(sb&1)qb=15;else{f[ib>>2]=7696;if(f[g>>2]|0){x=0;Fa(429,tb|0);sb=x;x=0;if(sb&1){e=Ya()|0;g=I;_P(ib);break}}e=ib+4|0;f[g>>2]=f[e>>2];f[e>>2]=0;_P(ib);e=f[g>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+76>>2]|0,e|0)|0;sb=x;x=0;if(sb&1){qb=14;break a}if(e){e=f[ub+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;sb=x;x=0;if(sb&1){qb=14;break a}_P(ub);_P(tb);u=hb;return e|0}e=f[g>>2]|0;if(!e){sb=0;_P(ub);_P(tb);u=hb;return sb|0}b[e+8>>0]=1;sb=e;_P(ub);_P(tb);u=hb;return sb|0}}while(0);if((qb|0)==15){e=Ya()|0;g=I}break}case 1:{g=tb+4|0;e=f[g>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;sb=x;x=0;do if(sb&1)qb=27;else{x=0;Ga(462,ib|0,e|0);sb=x;x=0;if(sb&1)qb=27;else{f[ib>>2]=7696;if(f[g>>2]|0){x=0;Fa(429,tb|0);sb=x;x=0;if(sb&1){e=Ya()|0;g=I;_P(ib);break}}e=ib+4|0;f[g>>2]=f[e>>2];f[e>>2]=0;_P(ib);e=f[g>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+76>>2]|0,e|0)|0;sb=x;x=0;if(sb&1){qb=14;break a}if(!e){e=f[ub+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;sb=x;x=0;if(sb&1){qb=14;break a}_P(ub);_P(tb);u=hb;return e|0}e=f[g>>2]|0;if(!e){sb=0;_P(ub);_P(tb);u=hb;return sb|0}b[e+8>>0]=1;sb=e;_P(ub);_P(tb);u=hb;return sb|0}}while(0);if((qb|0)==27){e=Ya()|0;g=I}break}default:{Ma=tb+4|0;e=f[Ma>>2]|0;b:do if(e|0){g=f[315]|0;h=ib+4|0;while(1){if((g|0)!=(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0))break b;x=0;e=sa(f[(f[a>>2]|0)+152>>2]|0,a|0,e|0)|0;Oa=x;x=0;if(Oa&1){qb=39;break}x=0;Ga(462,ib|0,e|0);Oa=x;x=0;if(Oa&1){qb=39;break}f[ib>>2]=7696;if(f[Ma>>2]|0){x=0;Fa(429,tb|0);Oa=x;x=0;if(Oa&1){qb=40;break}}f[Ma>>2]=f[h>>2];f[h>>2]=0;_P(ib);e=f[Ma>>2]|0;if(!e)break b}if((qb|0)==39)e=Ya()|0;else if((qb|0)==40){e=Ya()|0;_P(ib)}break a}while(0);Oa=ub+4|0;e=f[Oa>>2]|0;c:do if(e|0){g=f[315]|0;h=ib+4|0;while(1){if((g|0)!=(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0))break c;x=0;e=sa(f[(f[a>>2]|0)+152>>2]|0,a|0,e|0)|0;H=x;x=0;if(H&1){qb=48;break}x=0;Ga(462,ib|0,e|0);H=x;x=0;if(H&1){qb=48;break}f[ib>>2]=7696;if(f[Oa>>2]|0){x=0;Fa(429,ub|0);H=x;x=0;if(H&1){qb=49;break}}f[Oa>>2]=f[h>>2];f[h>>2]=0;_P(ib);e=f[Oa>>2]|0;if(!e)break c}if((qb|0)==48)e=Ya()|0;else if((qb|0)==49){e=Ya()|0;_P(ib)}break a}while(0);x=0;Ga(462,sb|0,c|0);H=x;x=0;if(H&1){e=Ya()|0;g=I}else{f[sb>>2]=17672;e=f[Ma>>2]|0;d:do if(!e)qb=58;else{g=f[259]|0;h=a+16|0;i=ib+4|0;while(1){if((g|0)!=(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){qb=58;break d}if(!(b[h>>0]|0))if(b[e+52>>0]|0){qb=58;break d}x=0;e=sa(f[(f[a>>2]|0)+128>>2]|0,a|0,e|0)|0;qb=x;x=0;if(qb&1){qb=66;break}x=0;Ga(462,ib|0,e|0);qb=x;x=0;if(qb&1){qb=66;break}f[ib>>2]=7696;if(f[Ma>>2]|0){x=0;Fa(429,tb|0);qb=x;x=0;if(qb&1){qb=67;break}}f[Ma>>2]=f[i>>2];f[i>>2]=0;_P(ib);e=f[Ma>>2]|0;if(!e){qb=58;break d}}if((qb|0)==66){e=Ya()|0;g=I}else if((qb|0)==67){e=Ya()|0;g=I;_P(ib)}}while(0);e:do if((qb|0)==58){e=f[Oa>>2]|0;f:do if(!e){H=a+16|0;z=0}else{g=f[259]|0;h=a+16|0;i=ib+4|0;while(1){if((g|0)!=(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){H=h;z=e;break f}if(!(b[h>>0]|0))if(b[e+52>>0]|0){H=h;z=e;break f}x=0;e=sa(f[(f[a>>2]|0)+128>>2]|0,a|0,e|0)|0;H=x;x=0;if(H&1){qb=77;break}x=0;Ga(462,ib|0,e|0);H=x;x=0;if(H&1){qb=77;break}f[ib>>2]=7696;if(f[Oa>>2]|0){x=0;Fa(429,ub|0);H=x;x=0;if(H&1){qb=78;break}}f[Oa>>2]=f[i>>2];f[i>>2]=0;_P(ib);e=f[Oa>>2]|0;if(!e){H=h;z=0;break f}}if((qb|0)==77){e=Ya()|0;g=I}else if((qb|0)==78){e=Ya()|0;g=I;_P(ib)}break e}while(0);F=(Ra|0)==11;g:do if(F&(b[H>>0]|0)==0){i=sb+4|0;h=f[i>>2]|0;if(!(b[h+52>>0]|0))qb=106;else{g=h+80|0;x=0;Ga(462,l|0,f[g>>2]|0);rb=x;x=0;h:do if(!(rb&1)){f[l>>2]=7696;e=f[l+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;rb=x;x=0;if(rb&1)qb=100;else{x=0;Ga(462,k|0,e|0);rb=x;x=0;if(rb&1)qb=100;else{f[k>>2]=7696;f[h+84>>2]=0;e=h+76|0;if(!(f[g>>2]|0))qb=87;else{x=0;Fa(429,e|0);rb=x;x=0;if(!(rb&1))qb=87}do if((qb|0)==87){f[g>>2]=f[k+4>>2];x=0;Fa(430,e|0);rb=x;x=0;if(!(rb&1)){x=0;Ga(462,j|0,f[g>>2]|0);rb=x;x=0;if(rb&1)break;f[j>>2]=7696;_P(j);_P(k);_P(l);g=f[i>>2]|0;h=g+72|0;x=0;Ga(462,p|0,f[h>>2]|0);rb=x;x=0;if(rb&1)break h;f[p>>2]=7696;e=f[p+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;rb=x;x=0;do if(rb&1)qb=103;else{x=0;Ga(462,o|0,e|0);rb=x;x=0;if(rb&1){qb=103;break}f[o>>2]=7696;f[g+84>>2]=0;e=g+68|0;if(!(f[h>>2]|0))qb=94;else{x=0;Fa(429,e|0);rb=x;x=0;if(!(rb&1))qb=94}do if((qb|0)==94){f[h>>2]=f[o+4>>2];x=0;Fa(430,e|0);rb=x;x=0;if(rb&1)break;x=0;Ga(462,n|0,f[h>>2]|0);rb=x;x=0;if(rb&1)break;f[n>>2]=7696;_P(n);_P(o);_P(p);e=f[i>>2]|0;if(!e)e=0;else b[e+8>>0]=1;break g}while(0);e=Ya()|0;g=I;_P(o)}while(0);if((qb|0)==103){e=Ya()|0;g=I}_P(p);break e}}while(0);e=Ya()|0;g=I;_P(k)}}if((qb|0)==100){e=Ya()|0;g=I}_P(l);break e}while(0);e=Ya()|0;g=I;break e}}else qb=106;while(0);i:do if((qb|0)==106){o=f[Ma>>2]|0;j:do if(o|0){n=f[o>>2]|0;e=f[49]|0;if((e|0)==(f[(f[n+-4>>2]|0)+4>>2]|0)){if(!z)break;if((e|0)!=(f[(f[(f[z>>2]|0)+-4>>2]|0)+4>>2]|0)){if((f[319]|0)!=(f[(f[(f[z>>2]|0)+-4>>2]|0)+4>>2]|0))break;k:do switch(Ra|0){case 2:{x=0;e=sa(f[n+92>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1){qb=170;break k}e=f[(e?a+20|0:a+28|0)+4>>2]|0;break i}case 3:{x=0;e=sa(f[n+92>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1){qb=170;break k}e=f[(e?a+28|0:a+20|0)+4>>2]|0;break i}case 12:case 11:case 10:case 9:case 8:{p=f[(f[a+8>>2]|0)+16>>2]|0;f[m>>2]=f[p>>2];f[m+4>>2]=f[p+4>>2];f[m+8>>2]=f[p+8>>2];p=Sa;A=c+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;p=ib;A=m;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(42,Ra|0,o|0,z|0,ib|0,Sa|0,0)|0;B=x;x=0;if(B&1){e=Za(256)|0;g=I;break k}else break i}default:break j}while(0);if((qb|0)==170){e=Za(256)|0;g=I}if((g|0)!=(Sb(256)|0))break e;i=Ua(e|0)|0;j=a+12|0;e=f[j>>2]|0;k=c+12|0;m=q+11|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;p=ib;A=k;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));l=ib+40|0;x=0;Ga(459,l|0,q|0);B=x;x=0;l:do if(B&1){e=Ya()|0;g=I;qb=191}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));B=h+40|0;f[B>>2]=f[l>>2];f[B+4>>2]=f[l+4>>2];f[B+8>>2]=f[l+8>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);B=x;x=0;if(!(B&1))break;e=Ya()|0;g=I;if((b[l+11>>0]|0)>=0){qb=191;break l}Hta(f[l>>2]|0);qb=191;break l}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m>>0]|0)<0)Hta(f[q>>2]|0);m=Ta(84)|0;x=0;Ga(511,r|0,f[j>>2]|0);B=x;x=0;do if(B&1){e=Ya()|0;g=I}else{x=0;p=ib;A=k;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));Ja(45,m|0,r|0,ib|0,i|0);B=x;x=0;if(B&1)l=1;else{x=0;Ia(77,m|0,3872,181);x=0;l=0}e=Ya()|0;g=I;h=f[r>>2]|0;if(!h)if(l)break;else break l;k=r+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[r>>2]|0}Hta(h);if(!l)break l}while(0);bb(m|0)}while(0);if((qb|0)==191)if((b[m>>0]|0)<0)Hta(f[q>>2]|0);x=0;Ea(4);B=x;x=0;if(!(B&1))break e;B=Za(0)|0;soa(B)}m:do switch(Ra|0){case 2:{x=0;e=sa(f[n+120>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=113;else{e=f[(e?a+20|0:a+28|0)+4>>2]|0;break i}break}case 3:{x=0;e=sa(f[n+120>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=113;else{e=f[(e?a+28|0:a+20|0)+4>>2]|0;break i}break}case 6:{x=0;e=sa(f[n+116>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=113;else{e=f[(e?a+20|0:a+28|0)+4>>2]|0;break i}break}case 5:{x=0;e=sa(f[n+116>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=113;else{e=f[(e?a+28|0:a+20|0)+4>>2]|0;break i}break}case 7:{x=0;e=sa(f[n+116>>2]|0,o|0,z|0)|0;B=x;x=0;if(B&1)qb=113;else{do if(e)qb=124;else{x=0;e=sa(f[(f[o>>2]|0)+120>>2]|0,o|0,z|0)|0;B=x;x=0;if(B&1){qb=113;break m}if(e){qb=124;break}e=a+28|0}while(0);if((qb|0)==124)e=a+20|0;e=f[e+4>>2]|0;break i}break}case 4:{x=0;e=sa(f[n+116>>2]|0,o|0,z|0)|0;B=x;x=0;if(B&1)qb=113;else{do if(e)qb=131;else{x=0;e=sa(f[(f[o>>2]|0)+120>>2]|0,o|0,z|0)|0;B=x;x=0;if(B&1){qb=113;break m}if(e){qb=131;break}e=a+20|0}while(0);if((qb|0)==131)e=a+28|0;e=f[e+4>>2]|0;break i}break}case 12:case 11:case 10:case 9:case 8:{p=f[(f[a+8>>2]|0)+16>>2]|0;f[s>>2]=f[p>>2];f[s+4>>2]=f[p+4>>2];f[s+8>>2]=f[p+8>>2];p=Sa;A=c+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;p=ib;A=s;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(41,Ra|0,o|0,z|0,ib|0,Sa|0,0)|0;B=x;x=0;if(B&1){e=Za(256)|0;g=I;break m}else break i}default:break j}while(0);if((qb|0)==113){e=Za(256)|0;g=I}if((g|0)!=(Sb(256)|0))break e;i=Ua(e|0)|0;j=a+12|0;e=f[j>>2]|0;k=c+12|0;m=t+11|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;p=ib;A=k;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));l=ib+40|0;x=0;Ga(459,l|0,t|0);B=x;x=0;n:do if(B&1){e=Ya()|0;g=I;qb=152}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));B=h+40|0;f[B>>2]=f[l>>2];f[B+4>>2]=f[l+4>>2];f[B+8>>2]=f[l+8>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);B=x;x=0;if(!(B&1))break;e=Ya()|0;g=I;if((b[l+11>>0]|0)>=0){qb=152;break n}Hta(f[l>>2]|0);qb=152;break n}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m>>0]|0)<0)Hta(f[t>>2]|0);m=Ta(84)|0;x=0;Ga(511,v|0,f[j>>2]|0);B=x;x=0;do if(B&1){e=Ya()|0;g=I}else{x=0;p=ib;A=k;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));Ja(45,m|0,v|0,ib|0,i|0);B=x;x=0;if(B&1)l=1;else{x=0;Ia(77,m|0,3872,181);x=0;l=0}e=Ya()|0;g=I;h=f[v>>2]|0;if(!h)if(l)break;else break n;k=v+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[v>>2]|0}Hta(h);if(!l)break n}while(0);bb(m|0)}while(0);if((qb|0)==152)if((b[m>>0]|0)<0)Hta(f[t>>2]|0);x=0;Ea(4);B=x;x=0;if(!(B&1))break e;B=Za(0)|0;soa(B)}n=f[o>>2]|0;e=f[319]|0;if(!((z|0)==0?1:(e|0)!=(f[(f[n+-4>>2]|0)+4>>2]|0))){if((e|0)!=(f[(f[(f[z>>2]|0)+-4>>2]|0)+4>>2]|0)){if((f[49]|0)!=(f[(f[(f[z>>2]|0)+-4>>2]|0)+4>>2]|0))break;o:do switch(Ra|0){case 2:{x=0;e=sa(f[n+92>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=271;else{e=f[(e?a+20|0:a+28|0)+4>>2]|0;break i}break}case 3:{x=0;e=sa(f[n+92>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=271;else{e=f[(e?a+28|0:a+20|0)+4>>2]|0;break i}break}case 12:case 11:case 10:case 9:case 8:{p=f[(f[a+8>>2]|0)+16>>2]|0;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[w+8>>2]=f[p+8>>2];p=Sa;A=c+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;p=ib;A=w;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(44,Ra|0,o|0,z|0,ib|0,Sa|0,0)|0;B=x;x=0;if(B&1){e=Za(256)|0;g=I;break o}else break i}default:break j}while(0);if((qb|0)==271){e=Za(256)|0;g=I}if((g|0)!=(Sb(256)|0))break e;i=Ua(e|0)|0;j=a+12|0;e=f[j>>2]|0;k=c+12|0;m=y+11|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;p=ib;A=k;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));l=ib+40|0;x=0;Ga(459,l|0,y|0);B=x;x=0;p:do if(B&1){e=Ya()|0;g=I;qb=292}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));B=h+40|0;f[B>>2]=f[l>>2];f[B+4>>2]=f[l+4>>2];f[B+8>>2]=f[l+8>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);B=x;x=0;if(!(B&1))break;e=Ya()|0;g=I;if((b[l+11>>0]|0)>=0){qb=292;break p}Hta(f[l>>2]|0);qb=292;break p}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m>>0]|0)<0)Hta(f[y>>2]|0);m=Ta(84)|0;x=0;Ga(511,C|0,f[j>>2]|0);B=x;x=0;do if(B&1){e=Ya()|0;g=I}else{x=0;p=ib;A=k;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));Ja(45,m|0,C|0,ib|0,i|0);B=x;x=0;if(B&1)l=1;else{x=0;Ia(77,m|0,3872,181);x=0;l=0}e=Ya()|0;g=I;h=f[C>>2]|0;if(!h)if(l)break;else break p;k=C+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[C>>2]|0}Hta(h);if(!l)break p}while(0);bb(m|0)}while(0);if((qb|0)==292)if((b[m>>0]|0)<0)Hta(f[y>>2]|0);x=0;Ea(4);C=x;x=0;if(!(C&1))break e;C=Za(0)|0;soa(C)}q:do switch(Ra|0){case 2:{x=0;e=sa(f[n+92>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=210;else{e=f[(e?a+20|0:a+28|0)+4>>2]|0;break i}break}case 3:{x=0;e=sa(f[n+92>>2]|0,o|0,z|0)|0;qb=x;x=0;if(qb&1)qb=210;else{e=f[(e?a+28|0:a+20|0)+4>>2]|0;break i}break}case 6:{x=0;g=qa(f[n+76>>2]|0,o|0)|0;qb=x;x=0;if(qb&1)qb=210;else{x=0;e=qa(f[(f[z>>2]|0)+76>>2]|0,z|0)|0;qb=x;x=0;if(qb&1)qb=210;else{e=f[(e&(g^1)?a+20|0:a+28|0)+4>>2]|0;break i}}break}case 5:{x=0;g=qa(f[n+76>>2]|0,o|0)|0;qb=x;x=0;if(qb&1)qb=210;else{x=0;e=qa(f[(f[z>>2]|0)+76>>2]|0,z|0)|0;qb=x;x=0;if(qb&1)qb=210;else{e=f[(e&(g^1)?a+28|0:a+20|0)+4>>2]|0;break i}}break}case 7:{x=0;e=qa(f[n+76>>2]|0,o|0)|0;D=x;x=0;if(D&1)qb=210;else{x=0;g=qa(f[(f[z>>2]|0)+76>>2]|0,z|0)|0;D=x;x=0;if(D&1)qb=210;else{do if(g&(e^1))qb=224;else{x=0;e=sa(f[(f[o>>2]|0)+92>>2]|0,o|0,z|0)|0;D=x;x=0;if(D&1){qb=210;break q}if(e){qb=224;break}e=a+28|0}while(0);if((qb|0)==224)e=a+20|0;e=f[e+4>>2]|0;break i}}break}case 4:{x=0;e=qa(f[n+76>>2]|0,o|0)|0;D=x;x=0;if(D&1)qb=210;else{x=0;g=qa(f[(f[z>>2]|0)+76>>2]|0,z|0)|0;D=x;x=0;if(D&1)qb=210;else{do if(g&(e^1))qb=232;else{x=0;e=sa(f[(f[o>>2]|0)+92>>2]|0,o|0,z|0)|0;D=x;x=0;if(D&1){qb=210;break q}if(e){qb=232;break}e=a+20|0}while(0);if((qb|0)==232)e=a+28|0;e=f[e+4>>2]|0;break i}}break}case 12:case 11:case 10:case 9:case 8:{p=f[(f[a+8>>2]|0)+16>>2]|0;f[D>>2]=f[p>>2];f[D+4>>2]=f[p+4>>2];f[D+8>>2]=f[p+8>>2];p=Sa;A=c+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;p=ib;A=D;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(43,Ra|0,o|0,z|0,ib|0,Sa|0,0)|0;D=x;x=0;if(D&1){e=Za(256)|0;g=I;break q}else break i}default:break j}while(0);if((qb|0)==210){e=Za(256)|0;g=I}if((g|0)!=(Sb(256)|0))break e;j=Ua(e|0)|0;k=a+12|0;h=f[k>>2]|0;i=c+12|0;m=E+11|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;p=ib;A=i;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));l=ib+40|0;x=0;Ga(459,l|0,E|0);c=x;x=0;r:do if(c&1){e=Ya()|0;g=I;qb=253}else{e=h+4|0;g=f[e>>2]|0;do if(g>>>0<(f[h+8>>2]|0)>>>0){p=g;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));c=g+40|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,h|0,ib|0);c=x;x=0;if(!(c&1))break;e=Ya()|0;g=I;if((b[l+11>>0]|0)>=0){qb=253;break r}Hta(f[l>>2]|0);qb=253;break r}while(0);if((b[l+11>>0]|0)<0)Hta(f[l>>2]|0);if((b[m>>0]|0)<0)Hta(f[E>>2]|0);m=Ta(84)|0;x=0;Ga(511,G|0,f[k>>2]|0);E=x;x=0;do if(E&1){e=Ya()|0;g=I}else{x=0;p=ib;A=i;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));Ja(45,m|0,G|0,ib|0,j|0);E=x;x=0;if(E&1)l=1;else{x=0;Ia(77,m|0,3872,181);x=0;l=0}e=Ya()|0;g=I;h=f[G>>2]|0;if(!h)if(l)break;else break r;k=G+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[G>>2]|0}Hta(h);if(!l)break r}while(0);bb(m|0)}while(0);if((qb|0)==253)if((b[m>>0]|0)<0)Hta(f[E>>2]|0);x=0;Ea(4);G=x;x=0;if(!(G&1))break e;G=Za(0)|0;soa(G)}}while(0);x=0;Ga(462,rb|0,0);G=x;x=0;if(G&1){e=Ya()|0;g=I}else{f[rb>>2]=13648;o=sb+4|0;x=0;Ga(462,J|0,f[(f[o>>2]|0)+72>>2]|0);G=x;x=0;s:do if(G&1)qb=347;else{f[J>>2]=7696;h=f[J+4>>2]|0;t:do if(!h)qb=310;else if((f[327]|0)==(f[(f[(f[h>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(J);x=0;e=qa(f[(f[h>>2]|0)+104>>2]|0,h|0)|0;J=x;x=0;if(J&1){qb=347;break s}if(e){qb=375;break}x=0;e=qa(f[(f[h>>2]|0)+112>>2]|0,h|0)|0;J=x;x=0;if(J&1){qb=347;break s}if(e){qb=375;break}x=0;l=qa(318,88)|0;pb=x;x=0;u:do if(pb&1)qb=348;else{p=mb;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,l|0);pb=x;x=0;do if(pb&1){e=Ya()|0;g=I}else{p=l+12|0;A=mb;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;e=l+56|0;f[l>>2]=11536;f[e>>2]=4;g=l+60|0;f[g>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,0);pb=x;x=0;if(pb&1){e=Ya()|0;g=I;h=f[j>>2]|0;if(h|0){i=f[k>>2]|0;if((i|0)!=(h|0)){do{pb=i+-8|0;f[k>>2]=pb;Kc[f[f[pb>>2]>>2]&511](pb);i=f[k>>2]|0}while((i|0)!=(h|0));h=f[j>>2]|0}Hta(h)}break}f[l>>2]=11364;f[g>>2]=11496;b[l+80>>0]=1;f[l+84>>2]=0;f[e>>2]=4;x=0;Ga(462,ib|0,l|0);pb=x;x=0;if(pb&1){qb=348;break u}f[ib>>2]=13648;n=rb+4|0;do if(f[n>>2]|0){x=0;Fa(429,rb|0);pb=x;x=0;if(!(pb&1))break;e=Ya()|0;g=I;_P(ib);break u}while(0);i=ib+4|0;f[n>>2]=f[i>>2];f[i>>2]=0;_P(ib);x=0;i=qa(318,88)|0;pb=x;x=0;v:do if(pb&1){e=Ya()|0;g=I}else{e=f[o>>2]|0;p=O;A=e+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));g=e+60|0;e=f[g>>2]|0;g=f[g+4>>2]|0;l=h+60|0;m=h+68|0;x=0;Ga(462,X|0,f[(f[m>>2]|0)+-4>>2]|0);pb=x;x=0;do if(pb&1){e=Ya()|0;g=I}else{f[X>>2]=7696;x=0;Ga(462,Y|0,f[(f[o>>2]|0)+80>>2]|0);pb=x;x=0;if(pb&1){e=Ya()|0;g=I;_P(X);break}f[Y>>2]=7696;p=ob;A=O;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,i|0);pb=x;x=0;w:do if(pb&1){e=1;qb=356}else{p=i+12|0;A=ob;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=0;f[i>>2]=9868;pb=i+60|0;f[pb>>2]=e;f[pb+4>>2]=g;e=i+68|0;x=0;Ga(462,e|0,f[X+4>>2]|0);pb=x;x=0;do if(pb&1){e=Ya()|0;g=I}else{f[e>>2]=7696;g=i+76|0;x=0;Ga(462,g|0,f[Y+4>>2]|0);pb=x;x=0;if(pb&1){pb=Ya()|0;g=I;_P(e);e=pb;break}f[g>>2]=7696;f[i+84>>2]=0;x=0;Ga(462,ib|0,i|0);pb=x;x=0;if(pb&1){e=0;qb=356;break w}f[ib>>2]=17672;_P(Y);_P(X);k=ib+4|0;e=f[k>>2]|0;x=0;Ga(462,S|0,f[(f[o>>2]|0)+72>>2]|0);pb=x;x=0;x:do if(pb&1)qb=359;else{f[S>>2]=7696;do if(!(b[(f[S+4>>2]|0)+52>>0]|0)){x=0;Ga(462,T|0,f[(f[o>>2]|0)+80>>2]|0);pb=x;x=0;if(pb&1){e=Ya()|0;g=I;_P(S);break x}else{f[T>>2]=7696;b[e+52>>0]=b[(f[T+4>>2]|0)+52>>0]|0;_P(T);break}}else b[e+52>>0]=1;while(0);_P(S);j=h+64|0;h=(f[n>>2]|0)+60|0;i=f[(f[h>>2]|0)+20>>2]|0;y:do if(((f[m>>2]|0)-(f[j>>2]|0)|0)==8)g=a;else{g=0;while(1){x=0;e=sa(f[(f[l>>2]|0)+16>>2]|0,l|0,g|0)|0;pb=x;x=0;if(pb&1){qb=361;break}e=f[e+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;pb=x;x=0;if(pb&1){qb=361;break}x=0;Ga(462,aa|0,e|0);pb=x;x=0;if(pb&1){qb=361;break}f[aa>>2]=7696;x=0;Ga(i|0,h|0,aa|0);pb=x;x=0;if(pb&1){qb=367;break}_P(aa);g=g+1|0;h=(f[n>>2]|0)+60|0;i=f[(f[h>>2]|0)+20>>2]|0;if(g>>>0>=(((f[m>>2]|0)-(f[j>>2]|0)>>3)+-1|0)>>>0){g=a;break y}}if((qb|0)==361){e=Ya()|0;g=I;break x}else if((qb|0)==367){e=Ya()|0;g=I;_P(aa);break x}}while(0);e=f[k>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,g|0)|0;pb=x;x=0;if(pb&1){qb=359;break}x=0;Ga(462,ba|0,e|0);pb=x;x=0;if(pb&1){qb=359;break}f[ba>>2]=7696;x=0;Ga(i|0,h|0,ba|0);pb=x;x=0;if(pb&1){e=Ya()|0;g=I;_P(ba);break}_P(ba);e=f[n>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,g|0)|0;pb=x;x=0;if(pb&1){qb=359;break}_P(ib);break t}while(0);if((qb|0)==359){e=Ya()|0;g=I}_P(ib);break v}while(0);h=1}while(0);if((qb|0)==356){pb=Ya()|0;h=e;g=I;e=pb}_P(Y);_P(X);if(!h)break v}while(0);Hta(i)}while(0);break s}while(0);Hta(l)}while(0);if((qb|0)==348){e=Ya()|0;g=I}break s}else qb=310;while(0);if((qb|0)==310){_P(J);qb=375}z:do if((qb|0)==375){x=0;Ga(462,K|0,f[(f[o>>2]|0)+80>>2]|0);ba=x;x=0;A:do if(!(ba&1)){f[K>>2]=7696;n=f[K+4>>2]|0;do if(!n)qb=378;else{if((f[327]|0)!=(f[(f[(f[n>>2]|0)+-4>>2]|0)+4>>2]|0)){qb=378;break}_P(K);x=0;e=qa(f[(f[n>>2]|0)+104>>2]|0,n|0)|0;ba=x;x=0;if(ba&1)break A;if(e)break;x=0;e=qa(f[(f[n>>2]|0)+108>>2]|0,n|0)|0;ba=x;x=0;if(ba&1)break A;if(!(F|e^1))break;x=0;l=qa(318,88)|0;ob=x;x=0;B:do if(ob&1)qb=417;else{p=nb;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,l|0);ob=x;x=0;do if(ob&1){e=Ya()|0;g=I}else{p=l+12|0;A=nb;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[l+52>>0]=0;b[l+53>>0]=0;b[l+54>>0]=0;e=l+56|0;f[l>>2]=11536;f[e>>2]=4;g=l+60|0;f[g>>2]=9660;j=l+64|0;k=l+68|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;x=0;Ga(516,j|0,0);ob=x;x=0;if(ob&1){e=Ya()|0;g=I;h=f[j>>2]|0;if(h|0){i=f[k>>2]|0;if((i|0)!=(h|0)){do{pb=i+-8|0;f[k>>2]=pb;Kc[f[f[pb>>2]>>2]&511](pb);i=f[k>>2]|0}while((i|0)!=(h|0));h=f[j>>2]|0}Hta(h)}break}f[l>>2]=11364;f[g>>2]=11496;b[l+80>>0]=1;f[l+84>>2]=0;f[e>>2]=4;x=0;Ga(462,ib|0,l|0);ob=x;x=0;if(ob&1){qb=417;break B}f[ib>>2]=13648;m=rb+4|0;do if(f[m>>2]|0){x=0;Fa(429,rb|0);ob=x;x=0;if(!(ob&1))break;e=Ya()|0;g=I;_P(ib);break B}while(0);i=ib+4|0;f[m>>2]=f[i>>2];f[i>>2]=0;_P(ib);x=0;i=qa(318,88)|0;ob=x;x=0;C:do if(ob&1){e=Ya()|0;g=I}else{e=f[o>>2]|0;p=Q;A=e+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));h=e+60|0;g=f[h>>2]|0;h=f[h+4>>2]|0;x=0;Ga(462,_|0,f[e+72>>2]|0);ob=x;x=0;do if(ob&1){e=Ya()|0;g=I}else{f[_>>2]=7696;k=n+60|0;l=n+64|0;x=0;Ga(462,$|0,f[(f[l>>2]|0)+4>>2]|0);ob=x;x=0;if(ob&1){e=Ya()|0;g=I;_P(_);break}f[$>>2]=7696;p=pb;A=Q;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,i|0);ob=x;x=0;D:do if(ob&1){e=1;qb=425}else{p=i+12|0;A=pb;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[i+52>>0]=0;b[i+53>>0]=0;b[i+54>>0]=0;f[i+56>>2]=0;f[i>>2]=9868;e=i+60|0;f[e>>2]=g;f[e+4>>2]=h;e=i+68|0;x=0;Ga(462,e|0,f[_+4>>2]|0);pb=x;x=0;do if(pb&1){e=Ya()|0;g=I}else{f[e>>2]=7696;g=i+76|0;x=0;Ga(462,g|0,f[$+4>>2]|0);pb=x;x=0;if(pb&1){pb=Ya()|0;g=I;_P(e);e=pb;break}f[g>>2]=7696;f[i+84>>2]=0;x=0;Ga(462,ib|0,i|0);pb=x;x=0;if(pb&1){e=0;qb=425;break D}f[ib>>2]=17672;_P($);_P(_);i=ib+4|0;e=f[i>>2]|0;x=0;Ga(462,V|0,f[(f[o>>2]|0)+72>>2]|0);pb=x;x=0;E:do if(pb&1)qb=428;else{f[V>>2]=7696;do if(!(b[(f[V+4>>2]|0)+52>>0]|0)){x=0;Ga(462,W|0,f[(f[o>>2]|0)+80>>2]|0);pb=x;x=0;if(pb&1){e=Ya()|0;g=I;_P(V);break E}else{f[W>>2]=7696;b[e+52>>0]=b[(f[W+4>>2]|0)+52>>0]|0;_P(W);break}}else b[e+52>>0]=1;while(0);_P(V);g=(f[m>>2]|0)+60|0;h=f[(f[g>>2]|0)+20>>2]|0;e=f[i>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;pb=x;x=0;if(pb&1){qb=428;break}x=0;Ga(462,Z|0,e|0);pb=x;x=0;if(pb&1){qb=428;break}f[Z>>2]=7696;x=0;Ga(h|0,g|0,Z|0);pb=x;x=0;if(pb&1){e=Ya()|0;g=I;_P(Z);break}_P(Z);j=n+68|0;e=f[m>>2]|0;F:do if((f[j>>2]|0)-(f[l>>2]|0)>>3>>>0>1){i=1;while(1){g=e+60|0;h=f[(f[g>>2]|0)+20>>2]|0;x=0;e=sa(f[(f[k>>2]|0)+16>>2]|0,k|0,i|0)|0;qb=x;x=0;if(qb&1){qb=431;break}e=f[e+4>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;qb=x;x=0;if(qb&1){qb=431;break}x=0;Ga(462,ca|0,e|0);qb=x;x=0;if(qb&1){qb=431;break}f[ca>>2]=7696;x=0;Ga(h|0,g|0,ca|0);qb=x;x=0;if(qb&1){qb=437;break}_P(ca);i=i+1|0;e=f[m>>2]|0;if(i>>>0>=(f[j>>2]|0)-(f[l>>2]|0)>>3>>>0)break F}if((qb|0)==431){e=Ya()|0;g=I;break E}else if((qb|0)==437){e=Ya()|0;g=I;_P(ca);break E}}while(0);x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;qb=x;x=0;if(qb&1){qb=428;break}_P(ib);break z}while(0);if((qb|0)==428){e=Ya()|0;g=I}_P(ib);break C}while(0);h=1}while(0);if((qb|0)==425){pb=Ya()|0;h=e;g=I;e=pb}_P($);_P(_);if(!h)break C}while(0);Hta(i)}while(0);break s}while(0);Hta(l)}while(0);if((qb|0)==417){e=Ya()|0;g=I}break s}while(0);if((qb|0)==378)_P(K);G:do if((Ra+-2|0)>>>0<6){h=b[H>>0]|0;b[H>>0]=1;ca=f[Ma>>2]|0;b[ca+53>>0]=0;x=0;Ga(f[(f[ca>>2]|0)+100>>2]|0,ca|0,0);ca=x;x=0;H:do if(ca&1)qb=453;else{e=f[Ma>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;ca=x;x=0;I:do if(ca&1)qb=454;else{x=0;Ga(462,ib|0,e|0);ca=x;x=0;if(ca&1){qb=454;break}f[ib>>2]=7696;do if(f[Ma>>2]|0){x=0;Fa(429,tb|0);ca=x;x=0;if(!(ca&1))break;e=Ya()|0;g=I;_P(ib);break I}while(0);ca=ib+4|0;f[Ma>>2]=f[ca>>2];f[ca>>2]=0;_P(ib);ca=f[Oa>>2]|0;b[ca+53>>0]=0;x=0;Ga(f[(f[ca>>2]|0)+100>>2]|0,ca|0,0);ca=x;x=0;if(ca&1){qb=453;break H}e=f[Oa>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;ca=x;x=0;J:do if(ca&1)qb=457;else{x=0;Ga(462,ib|0,e|0);ca=x;x=0;if(ca&1){qb=457;break}f[ib>>2]=7696;do if(f[Oa>>2]|0){x=0;Fa(429,ub|0);ca=x;x=0;if(!(ca&1))break;e=Ya()|0;g=I;_P(ib);break J}while(0);e=ib+4|0;f[Oa>>2]=f[e>>2];f[e>>2]=0;_P(ib);b[H>>0]=h;e=a;break G}while(0);if((qb|0)==457){e=Ya()|0;g=I}break H}while(0);if((qb|0)==454){e=Ya()|0;g=I}}while(0);if((qb|0)==453){e=Ya()|0;g=I}b[H>>0]=h;break s}else{e=f[Ma>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,a|0)|0;ca=x;x=0;K:do if(ca&1)qb=466;else{x=0;Ga(462,ib|0,e|0);ca=x;x=0;if(ca&1){qb=466;break}f[ib>>2]=7696;do if(f[Ma>>2]|0){x=0;Fa(429,tb|0);ca=x;x=0;if(!(ca&1))break;e=Ya()|0;g=I;_P(ib);break K}while(0);e=ib+4|0;f[Ma>>2]=f[e>>2];f[e>>2]=0;_P(ib);e=a;break G}while(0);if((qb|0)==466){e=Ya()|0;g=I}break s}while(0);ca=f[Oa>>2]|0;x=0;e=sa(f[(f[ca>>2]|0)+56>>2]|0,ca|0,e|0)|0;ca=x;x=0;L:do if(ca&1)qb=532;else{x=0;Ga(462,ib|0,e|0);ca=x;x=0;if(ca&1){qb=532;break}f[ib>>2]=7696;do if(f[Oa>>2]|0){x=0;Fa(429,ub|0);ca=x;x=0;if(!(ca&1))break;e=Ya()|0;g=I;_P(ib);break L}while(0);ca=ib+4|0;f[Oa>>2]=f[ca>>2];f[ca>>2]=0;_P(ib);x=0;Ga(462,L|0,f[Ma>>2]|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{f[L>>2]=7696;x=0;Ga(462,pb|0,f[L+4>>2]|0);ca=x;x=0;if(ca&1){e=Ya()|0;g=I;_P(L);break}f[pb>>2]=6664;_P(L);x=0;Ga(462,M|0,f[Oa>>2]|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{f[M>>2]=7696;x=0;Ga(462,nb|0,f[M+4>>2]|0);ca=x;x=0;if(ca&1){e=Ya()|0;g=I;_P(M);break}f[nb>>2]=6664;_P(M);x=0;Ga(462,N|0,f[(f[o>>2]|0)+72>>2]|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{f[N>>2]=7696;e=f[N+4>>2]|0;if(!e)e=0;else e=(f[327]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,ob|0,e|0);ca=x;x=0;if(ca&1){e=Ya()|0;g=I;_P(N);break}f[ob>>2]=13648;_P(N);x=0;Ga(462,P|0,f[(f[o>>2]|0)+80>>2]|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{f[P>>2]=7696;e=f[P+4>>2]|0;if(!e)e=0;else e=(f[327]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,mb|0,e|0);ca=x;x=0;if(ca&1){e=Ya()|0;g=I;_P(P);break}f[mb>>2]=13648;_P(P);x=0;Ga(462,R|0,f[(f[o>>2]|0)+72>>2]|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{f[R>>2]=7696;e=f[R+4>>2]|0;if(!e)e=0;else e=(f[259]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,lb|0,e|0);ca=x;x=0;if(ca&1){e=Ya()|0;g=I;_P(R);break}f[lb>>2]=17672;_P(R);x=0;Ga(462,U|0,f[(f[o>>2]|0)+80>>2]|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{f[U>>2]=7696;e=f[U+4>>2]|0;if(!e)e=0;else e=(f[259]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,kb|0,e|0);ca=x;x=0;if(ca&1){e=Ya()|0;g=I;_P(U);break}f[kb>>2]=17672;_P(U);j=mb+4|0;e=f[j>>2]|0;do if(!e)qb=497;else{x=0;e=qa(f[(f[e>>2]|0)+108>>2]|0,e|0)|0;qb=x;x=0;if(qb&1){qb=547;break}if(!e){qb=497;break}g=ob+4|0;k=1;qb=505}while(0);do if((qb|0)==497){g=ob+4|0;e=f[g>>2]|0;if(e|0){x=0;e=qa(f[(f[e>>2]|0)+112>>2]|0,e|0)|0;qb=x;x=0;if(qb&1){qb=547;break}if(e){k=1;qb=505;break}}e=f[lb+4>>2]|0;if(e|0){x=0;e=qa(f[(f[e>>2]|0)+112>>2]|0,e|0)|0;qb=x;x=0;if(qb&1){qb=547;break}if(e){k=1;qb=505;break}}e=f[kb+4>>2]|0;if(!e){k=0;qb=505;break}x=0;e=qa(f[(f[e>>2]|0)+108>>2]|0,e|0)|0;qb=x;x=0;if(qb&1)qb=547;else{k=e;qb=505}}while(0);M:do if((qb|0)==505){e=f[g>>2]|0;N:do if(!e)qb=511;else{g=f[e+64>>2]|0;h=f[e+68>>2]|0;if((g|0)==(h|0)){qb=511;break}i=Sa+4|0;e=g;while(1){x=0;Ga(462,Sa|0,f[e+4>>2]|0);qb=x;x=0;if(qb&1){qb=547;break M}f[Sa>>2]=7696;qb=b[(f[i>>2]|0)+54>>0]|0;_P(Sa);e=e+8|0;if(qb<<24>>24){qb=519;break N}if((e|0)==(h|0)){qb=511;break}}}while(0);O:do if((qb|0)==511){e=f[j>>2]|0;if(!e)if(k){qb=519;break}else{qb=662;break}g=f[e+64>>2]|0;h=f[e+68>>2]|0;if((g|0)!=(h|0)){i=ib+4|0;e=g;do{x=0;Ga(462,ib|0,f[e+4>>2]|0);qb=x;x=0;if(qb&1){qb=547;break M}f[ib>>2]=7696;qb=b[(f[i>>2]|0)+54>>0]|0;_P(ib);e=e+8|0;if(qb<<24>>24){qb=519;break O}}while((e|0)!=(h|0))}if(k)qb=519;else qb=662}while(0);P:do if((qb|0)==519){Q:do switch(Ra|0){case 2:case 8:case 9:case 10:case 11:case 12:{x=0;e=qa(334,f[Ma>>2]|0)|0;ca=x;x=0;if(ca&1){e=Ya()|0;g=I;break M}R:do if(e|0){g=e+64|0;x=0;Ga(459,ib|0,g|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{h=ib+11|0;x=0;e=qa(386,((b[h>>0]|0)<0?f[ib>>2]|0:ib)|0)|0;ca=x;x=0;S:do if(ca&1)qb=550;else{T:do if(e|0){x=0;e=qa(349,e|0)|0;ca=x;x=0;if(ca&1){qb=550;break S}if(!e)break;p=gb;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;e=sa(1030,gb|0,g|0)|0;ca=x;x=0;U:do if(ca&1)qb=551;else{x=0;Ga(462,Sa|0,e|0);ca=x;x=0;if(ca&1){qb=551;break}f[Sa>>2]=7696;do if(f[Ma>>2]|0){x=0;Fa(429,tb|0);ca=x;x=0;if(!(ca&1))break;e=Ya()|0;g=I;_P(Sa);break U}while(0);ca=Sa+4|0;f[Ma>>2]=f[ca>>2];f[ca>>2]=0;_P(Sa);break T}while(0);if((qb|0)==551){e=Ya()|0;g=I}break S}while(0);if((b[h>>0]|0)<0)Hta(f[ib>>2]|0);break R}while(0);if((qb|0)==550){e=Ya()|0;g=I}if((b[h>>0]|0)>=0)break;Hta(f[ib>>2]|0)}while(0);break M}while(0);x=0;e=qa(334,f[Oa>>2]|0)|0;ca=x;x=0;if(ca&1){e=Ya()|0;g=I;break M}if(!e)break Q;g=e+64|0;x=0;Ga(459,ib|0,g|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{h=ib+11|0;x=0;e=qa(386,((b[h>>0]|0)<0?f[ib>>2]|0:ib)|0)|0;ca=x;x=0;V:do if(ca&1)qb=574;else{W:do if(e|0){x=0;e=qa(375,e|0)|0;ca=x;x=0;if(ca&1){qb=574;break V}if(!e)break;p=gb;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;e=sa(1030,gb|0,g|0)|0;ca=x;x=0;X:do if(ca&1)qb=575;else{x=0;Ga(462,Sa|0,e|0);ca=x;x=0;if(ca&1){qb=575;break}f[Sa>>2]=7696;do if(f[Oa>>2]|0){x=0;Fa(429,ub|0);ca=x;x=0;if(!(ca&1))break;e=Ya()|0;g=I;_P(Sa);break X}while(0);ca=Sa+4|0;f[Oa>>2]=f[ca>>2];f[ca>>2]=0;_P(Sa);break W}while(0);if((qb|0)==575){e=Ya()|0;g=I}break V}while(0);if((b[h>>0]|0)<0)Hta(f[ib>>2]|0);break Q}while(0);if((qb|0)==574){e=Ya()|0;g=I}if((b[h>>0]|0)>=0)break;Hta(f[ib>>2]|0)}while(0);break M}default:{}}while(0);i=a+8|0;e=f[i>>2]|0;f[Sa>>2]=20756;f[Sa+4>>2]=e;e=f[Ma>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+72>>2]|0,e|0,Sa|0)|0;ca=x;x=0;do if(ca&1)qb=598;else{x=0;e=qa(339,e|0)|0;ca=x;x=0;if(ca&1){qb=598;break}x=0;Ga(462,Wa|0,e|0);ca=x;x=0;if(ca&1){qb=598;break}f[Wa>>2]=16848;e=f[Oa>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+72>>2]|0,e|0,Sa|0)|0;ca=x;x=0;Y:do if(ca&1)qb=599;else{x=0;e=qa(339,e|0)|0;ca=x;x=0;if(ca&1){qb=599;break}x=0;Ga(462,Na|0,e|0);ca=x;x=0;if(ca&1){qb=599;break}f[Na>>2]=16848;Z:do if(k){j=ab+11|0;f[ab>>2]=0;f[ab+4>>2]=0;f[ab+8>>2]=0;e=f[Wa+4>>2]|0;g=f[(f[e>>2]|0)+28>>2]|0;x=0;p=ib;A=f[(f[i>>2]|0)+16>>2]|0;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));Ia(g|0,gb|0,e|0,ib|0);ca=x;x=0;_:do if(ca&1){e=Ya()|0;g=I;qb=603}else{h=gb+11|0;ca=b[h>>0]|0;ba=ca<<24>>24<0;x=0;ta(41,ab|0,(ba?f[gb>>2]|0:gb)|0,(ba?f[gb+4>>2]|0:ca&255)|0)|0;ca=x;x=0;if(ca&1){e=Ya()|0;g=I;if((b[h>>0]|0)>=0){qb=603;break}Hta(f[gb>>2]|0);qb=603;break}if((b[h>>0]|0)<0)Hta(f[gb>>2]|0);e=f[o>>2]|0;do if(!((f[e+60+4>>2]&255)<<24>>24))qb=605;else{x=0;sa(991,ab|0,53148)|0;ca=x;x=0;if(ca&1)break;e=f[o>>2]|0;qb=605}while(0);do if((qb|0)==605){do switch(f[e+60>>2]|0){case 0:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=2;d[ib>>1]=9766;e=2;break}case 1:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=2;d[ib>>1]=31868;e=2;break}case 2:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=2;d[ib>>1]=15677;e=2;break}case 3:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=2;d[ib>>1]=15649;e=2;break}case 4:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=62;e=1;break}case 5:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=2;d[ib>>1]=15678;e=2;break}case 6:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=60;e=1;break}case 7:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=2;d[ib>>1]=15676;e=2;break}case 8:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=43;e=1;break}case 9:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=45;e=1;break}case 10:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=42;e=1;break}case 11:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=47;e=1;break}case 12:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=1;b[ib>>0]=37;e=1;break}case 13:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=5;b[ib>>0]=b[53374]|0;b[ib+1>>0]=b[53375]|0;b[ib+2>>0]=b[53376]|0;b[ib+3>>0]=b[53377]|0;b[ib+4>>0]=b[53378]|0;e=5;break}default:{f[ib>>2]=0;f[ib+4>>2]=0;f[ib+8>>2]=0;h=ib+11|0;b[h>>0]=7;b[ib>>0]=b[53380]|0;b[ib+1>>0]=b[53381]|0;b[ib+2>>0]=b[53382]|0;b[ib+3>>0]=b[53383]|0;b[ib+4>>0]=b[53384]|0;b[ib+5>>0]=b[53385]|0;b[ib+6>>0]=b[53386]|0;e=7}}while(0);b[ib+e>>0]=0;ca=b[h>>0]|0;ba=ca<<24>>24<0;x=0;ta(41,ab|0,(ba?f[ib>>2]|0:ib)|0,(ba?f[ib+4>>2]|0:ca&255)|0)|0;ca=x;x=0;if(ca&1){e=Ya()|0;g=I;if((b[h>>0]|0)<0)Hta(f[ib>>2]|0);break _}if((b[h>>0]|0)<0)Hta(f[ib>>2]|0);ca=(f[o>>2]|0)+60|0;ca=kX(f[ca>>2]|0,f[ca+4>>2]|0,40)|0;if((ca&255)<<24>>24){x=0;sa(991,ab|0,53148)|0;ca=x;x=0;if(ca&1)break}e=f[Na+4>>2]|0;g=f[(f[e>>2]|0)+28>>2]|0;x=0;p=ib;A=f[(f[i>>2]|0)+16>>2]|0;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));Ia(g|0,gb|0,e|0,ib|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{h=gb+11|0;ca=b[h>>0]|0;ba=ca<<24>>24<0;x=0;ta(41,ab|0,(ba?f[gb>>2]|0:gb)|0,(ba?f[gb+4>>2]|0:ca&255)|0)|0;ca=x;x=0;if(ca&1){e=Ya()|0;g=I;if((b[h>>0]|0)>=0)break;Hta(f[gb>>2]|0);break}if((b[h>>0]|0)<0)Hta(f[gb>>2]|0);x=0;h=qa(318,80)|0;ca=x;x=0;$:do if(!(ca&1)){p=da;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(459,fa|0,ab|0);ca=x;x=0;do if(ca&1){e=Ya()|0;g=I}else{p=gb;A=da;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);da=x;x=0;do if(da&1){e=Ya()|0;g=I}else{p=h+12|0;A=gb;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;g=h+54|0;b[g>>0]=0;f[h+56>>2]=4;f[h>>2]=11668;b[h+60>>0]=0;b[h+61>>0]=0;x=0;Ia(101,h+64|0,fa|0,1);da=x;x=0;if(da&1){e=Ya()|0;g=I;break}f[h+76>>2]=0;if((b[fa+11>>0]|0)<0)Hta(f[fa>>2]|0);x=0;Ga(462,ea|0,f[(f[o>>2]|0)+72>>2]|0);fa=x;x=0;if(fa&1)break $;f[ea>>2]=7696;e=f[ea+4>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+104>>2]|0,e|0)|0;fa=x;x=0;if(fa&1){e=Ya()|0;g=I;_P(ea);break _}b[g>>0]=e&1;_P(ea);if((b[j>>0]|0)<0)Hta(f[ab>>2]|0);e=h;g=0;break Z}while(0);if((b[fa+11>>0]|0)>=0)break;Hta(f[fa>>2]|0)}while(0);Hta(h);break _}while(0);e=Ya()|0;g=I;break _}while(0);break _}while(0);e=Ya()|0;g=I}while(0);if((b[j>>0]|0)<0)Hta(f[ab>>2]|0);_P(Na);break Y}else{e=0;g=1}while(0);_P(Na);_P(Wa);if(g){qb=662;break P}else{_a=e;break P}}while(0);if((qb|0)==599){e=Ya()|0;g=I}_P(Wa)}while(0);if((qb|0)==598){e=Ya()|0;g=I}break M}while(0);aa:do if((qb|0)==662){ba:do switch(Ra|0){case 2:{x=0;h=qa(318,68)|0;gb=x;x=0;if(gb&1){qb=669;break ba}p=ga;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(462,xa|0,f[Ma>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[xa>>2]=7696;x=0;Ga(462,na|0,f[Oa>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[na>>2]=7696;x=0;e=sa(1004,xa|0,na|0)|0;gb=x;x=0;do if(!(gb&1)){p=Wa;A=ga;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);gb=x;x=0;if(gb&1)break;e=e&1;p=h+12|0;A=Wa;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=11240;b[h+60>>0]=e;f[h+64>>2]=0;f[h+56>>2]=1;_P(na);_P(xa);_a=h;break aa}while(0);e=Za(256)|0;g=I;_P(na)}_P(xa)}Hta(h);break}case 3:{x=0;h=qa(318,68)|0;gb=x;x=0;if(gb&1){qb=669;break ba}p=ha;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(462,za|0,f[Ma>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[za>>2]=7696;x=0;Ga(462,oa|0,f[Oa>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[oa>>2]=7696;x=0;e=sa(1036,za|0,oa|0)|0;gb=x;x=0;do if(!(gb&1)){p=Na;A=ha;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);gb=x;x=0;if(gb&1)break;e=e&1;p=h+12|0;A=Na;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=11240;b[h+60>>0]=e;f[h+64>>2]=0;f[h+56>>2]=1;_P(oa);_P(za);_a=h;break aa}while(0);e=Za(256)|0;g=I;_P(oa)}_P(za)}Hta(h);break}case 4:{x=0;h=qa(318,68)|0;gb=x;x=0;if(gb&1){qb=669;break ba}p=ia;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(462,Aa|0,f[Ma>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[Aa>>2]=7696;x=0;Ga(462,pa|0,f[Oa>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[pa>>2]=7696;x=0;e=sa(1037,Aa|0,pa|0)|0;gb=x;x=0;do if(!(gb&1)){p=ab;A=ia;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);gb=x;x=0;if(gb&1)break;e=e&1;p=h+12|0;A=ab;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=11240;b[h+60>>0]=e;f[h+64>>2]=0;f[h+56>>2]=1;_P(pa);_P(Aa);_a=h;break aa}while(0);e=Za(256)|0;g=I;_P(pa)}_P(Aa)}Hta(h);break}case 5:{x=0;h=qa(318,68)|0;gb=x;x=0;if(gb&1){qb=669;break ba}p=ja;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(462,Ba|0,f[Ma>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[Ba>>2]=7696;x=0;Ga(462,ra|0,f[Oa>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[ra>>2]=7696;x=0;e=sa(1038,Ba|0,ra|0)|0;gb=x;x=0;do if(!(gb&1)){p=$a;A=ja;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);gb=x;x=0;if(gb&1)break;e=e&1;p=h+12|0;A=$a;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=11240;b[h+60>>0]=e;f[h+64>>2]=0;f[h+56>>2]=1;_P(ra);_P(Ba);_a=h;break aa}while(0);e=Za(256)|0;g=I;_P(ra)}_P(Ba)}Hta(h);break}case 6:{x=0;h=qa(318,68)|0;gb=x;x=0;if(gb&1){qb=669;break ba}p=ka;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(462,Ca|0,f[Ma>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[Ca>>2]=7696;x=0;Ga(462,ua|0,f[Oa>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[ua>>2]=7696;x=0;e=sa(1039,Ca|0,ua|0)|0;gb=x;x=0;do if(!(gb&1)){p=wa;A=ka;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);gb=x;x=0;if(gb&1)break;e=e&1;p=h+12|0;A=wa;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=11240;b[h+60>>0]=e;f[h+64>>2]=0;f[h+56>>2]=1;_P(ua);_P(Ca);_a=h;break aa}while(0);e=Za(256)|0;g=I;_P(ua)}_P(Ca)}Hta(h);break}case 7:{x=0;h=qa(318,68)|0;gb=x;x=0;if(gb&1){qb=669;break ba}p=la;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Ga(462,Da|0,f[Ma>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[Da>>2]=7696;x=0;Ga(462,va|0,f[Oa>>2]|0);gb=x;x=0;if(gb&1){e=Za(256)|0;g=I}else{f[va>>2]=7696;x=0;e=sa(1040,Da|0,va|0)|0;gb=x;x=0;do if(!(gb&1)){p=ma;A=la;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));x=0;Fa(427,h|0);gb=x;x=0;if(gb&1)break;e=e&1;p=h+12|0;A=ma;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));b[h+52>>0]=0;b[h+53>>0]=0;b[h+54>>0]=0;f[h>>2]=11240;b[h+60>>0]=e;f[h+64>>2]=0;f[h+56>>2]=1;_P(va);_P(Da);_a=h;break aa}while(0);e=Za(256)|0;g=I;_P(va)}_P(Da)}Hta(h);break}default:{j=f[(f[Ma>>2]|0)+56>>2]|0;k=f[(f[Oa>>2]|0)+56>>2]|0;x=0;Ga(462,gb|0,0);_a=x;x=0;if(_a&1){e=Ya()|0;g=I}else{f[gb>>2]=7696;p=Wa;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));e=(j|0)==2;g=(k|0)==2;ca:do if(e&g){e=f[Ma>>2]|0;if(!e)g=0;else g=(f[49]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;e=f[Oa>>2]|0;if(!e)e=0;else e=(f[49]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Fa(442,g|0);ab=x;x=0;do if(!(ab&1)){x=0;Fa(442,e|0);ab=x;x=0;if(ab&1)break;x=0;p=ib;A=f[(f[a+8>>2]|0)+16>>2]|0;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(41,Ra|0,g|0,e|0,ib|0,Wa|0,0)|0;ab=x;x=0;da:do if(ab&1)qb=774;else{x=0;Ga(462,Sa|0,e|0);ab=x;x=0;if(ab&1){qb=774;break}f[Sa>>2]=7696;e=gb+4|0;do if(f[e>>2]|0){x=0;Fa(429,gb|0);ab=x;x=0;if(!(ab&1))break;e=Za(256)|0;g=I;_P(Sa);break da}while(0);qb=Sa+4|0;f[e>>2]=f[qb>>2];f[qb>>2]=0;_P(Sa);qb=907;break ca}while(0);if((qb|0)==774){e=Za(256)|0;g=I}break ca}while(0);e=Za(256)|0;g=I}else{h=(k|0)==3;if(e&h){e=f[Ma>>2]|0;if(!e)g=0;else g=(f[49]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;e=f[Oa>>2]|0;if(!e)e=0;else e=(f[319]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;p=ib;A=f[(f[a+8>>2]|0)+16>>2]|0;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(42,Ra|0,g|0,e|0,ib|0,Wa|0,0)|0;ab=x;x=0;ea:do if(ab&1)qb=787;else{x=0;Ga(462,Sa|0,e|0);ab=x;x=0;if(ab&1){qb=787;break}f[Sa>>2]=7696;e=gb+4|0;do if(f[e>>2]|0){x=0;Fa(429,gb|0);ab=x;x=0;if(!(ab&1))break;e=Za(256)|0;g=I;_P(Sa);break ea}while(0);qb=Sa+4|0;f[e>>2]=f[qb>>2];f[qb>>2]=0;_P(Sa);qb=907;break ca}while(0);if((qb|0)==787){e=Za(256)|0;g=I}break}e=(j|0)==3;if(e&g){e=f[Ma>>2]|0;if(!e)g=0;else g=(f[319]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;e=f[Oa>>2]|0;if(!e)e=0;else e=(f[49]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;p=ib;A=f[(f[a+8>>2]|0)+16>>2]|0;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(44,Ra|0,g|0,e|0,ib|0,Wa|0,0)|0;ab=x;x=0;fa:do if(ab&1)qb=800;else{x=0;Ga(462,Sa|0,e|0);ab=x;x=0;if(ab&1){qb=800;break}f[Sa>>2]=7696;e=gb+4|0;do if(f[e>>2]|0){x=0;Fa(429,gb|0);ab=x;x=0;if(!(ab&1))break;e=Za(256)|0;g=I;_P(Sa);break fa}while(0);qb=Sa+4|0;f[e>>2]=f[qb>>2];f[qb>>2]=0;_P(Sa);qb=907;break ca}while(0);if((qb|0)==800){e=Za(256)|0;g=I}break}if(e&h){e=f[Ma>>2]|0;if(!e)g=0;else g=(f[319]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;e=f[Oa>>2]|0;if(!e)e=0;else e=(f[319]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;p=ib;A=f[(f[a+8>>2]|0)+16>>2]|0;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));e=ya(43,Ra|0,g|0,e|0,ib|0,Wa|0,0)|0;ab=x;x=0;ga:do if(ab&1)qb=813;else{x=0;Ga(462,Sa|0,e|0);ab=x;x=0;if(ab&1){qb=813;break}f[Sa>>2]=7696;e=gb+4|0;do if(f[e>>2]|0){x=0;Fa(429,gb|0);ab=x;x=0;if(!(ab&1))break;e=Za(256)|0;g=I;_P(Sa);break ga}while(0);qb=Sa+4|0;f[e>>2]=f[qb>>2];f[qb>>2]=0;_P(Sa);qb=907;break ca}while(0);if((qb|0)==813){e=Za(256)|0;g=I}break}i=a+8|0;e=f[i>>2]|0;f[Na>>2]=20756;f[Na+4>>2]=e;e=f[Ma>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+72>>2]|0,e|0,Na|0)|0;_a=x;x=0;do if(_a&1)qb=828;else{x=0;e=qa(339,e|0)|0;_a=x;x=0;if(_a&1){qb=828;break}x=0;Ga(462,ab|0,e|0);_a=x;x=0;if(_a&1){qb=828;break}f[ab>>2]=16848;e=f[Oa>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+72>>2]|0,e|0,Na|0)|0;_a=x;x=0;do if(_a&1)qb=829;else{x=0;e=qa(339,e|0)|0;_a=x;x=0;if(_a&1){qb=829;break}x=0;Ga(462,$a|0,e|0);_a=x;x=0;if(_a&1){qb=829;break}f[$a>>2]=16848;e=f[o>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+112>>2]|0,e|0)|0;_a=x;x=0;ha:do if(_a&1)qb=830;else{do if(e)e=1;else{e=f[o>>2]|0;x=0;e=qa(f[(f[e>>2]|0)+108>>2]|0,e|0)|0;_a=x;x=0;if(_a&1){qb=830;break ha}if(e){e=1;break}e=(b[(f[o>>2]|0)+54>>0]|0)!=0}while(0);e=(Ra|0)!=9&e;switch(j|0){case 6:case 9:{i=a+12|0;e=f[i>>2]|0;j=ab+4|0;k=(f[j>>2]|0)+12|0;l=Ka+11|0;f[Ka>>2]=0;f[Ka+4>>2]=0;f[Ka+8>>2]=0;DP(ib|0,k|0,40)|0;k=ib+40|0;x=0;Ga(459,k|0,Ka|0);hb=x;x=0;ia:do if(hb&1){e=Za(256)|0;g=I}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));hb=h+40|0;f[hb>>2]=f[k>>2];f[hb+4>>2]=f[k+4>>2];f[hb+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);hb=x;x=0;if(!(hb&1))break;e=Za(256)|0;g=I;if((b[k+11>>0]|0)>=0)break ia;Hta(f[k>>2]|0);break ia}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l>>0]|0)<0)Hta(f[Ka>>2]|0);m=Ta(88)|0;x=0;Ga(511,Pa|0,f[i>>2]|0);hb=x;x=0;do if(hb&1){e=Za(256)|0;g=I}else{x=0;Ia(133,m|0,Pa|0,f[j>>2]|0);hb=x;x=0;if(hb&1)l=1;else{x=0;Ia(77,m|0,3856,181);x=0;l=0}e=Za(256)|0;g=I;h=f[Pa>>2]|0;if(!h)if(l)break;else break ha;k=Pa+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[Pa>>2]|0}Hta(h);if(!l)break ha}while(0);bb(m|0);break ha}while(0);if((b[l>>0]|0)<0)Hta(f[Ka>>2]|0);break ha}default:{}}if(!((j|0)==9|(k|0)==6)){A=(f[o>>2]|0)+60|0;h=f[A+4>>2]|0;g=Ha;f[g>>2]=f[A>>2];f[g+4>>2]=h;g=f[ab+4>>2]|0;h=f[$a+4>>2]|0;A=f[(f[i>>2]|0)+16>>2]|0;e=e^1;x=0;b[Sa>>0]=b[Ha>>0]|0;b[Sa+1>>0]=b[Ha+1>>0]|0;b[Sa+2>>0]=b[Ha+2>>0]|0;b[Sa+3>>0]=b[Ha+3>>0]|0;b[Sa+4>>0]=b[Ha+4>>0]|0;b[Sa+5>>0]=b[Ha+5>>0]|0;b[Sa+6>>0]=b[Ha+6>>0]|0;b[Sa+7>>0]=b[Ha+7>>0]|0;p=ib;B=p+12|0;do{b[p>>0]=b[A>>0]|0;p=p+1|0;A=A+1|0}while((p|0)<(B|0));h=ya(45,Sa|0,g|0,h|0,ib|0,Wa|0,e|0)|0;_a=x;x=0;if(_a&1){e=Za(256)|0;g=I;break}x=0;i=qa(334,h|0)|0;_a=x;x=0;ja:do if(!(_a&1)){do if(i|0){if((f[i+56>>2]|0)!=4)break;x=0;g=qa(334,f[Ma>>2]|0)|0;_a=x;x=0;if(_a&1)break ja;x=0;e=qa(334,f[Oa>>2]|0)|0;_a=x;x=0;if(_a&1)break ja;if((Ra|0)==9)break;e=g|0?g:e;if(!e)break;b[i+60>>0]=b[e+60>>0]|0}while(0);b[h+54>>0]=b[(f[o>>2]|0)+54>>0]|0;x=0;Ga(462,ib|0,h|0);_a=x;x=0;ka:do if(_a&1){e=Za(256)|0;g=I}else{f[ib>>2]=7696;e=gb+4|0;do if(f[e>>2]|0){x=0;Fa(429,gb|0);_a=x;x=0;if(!(_a&1))break;e=Za(256)|0;g=I;_P(ib);break ka}while(0);qb=ib+4|0;f[e>>2]=f[qb>>2];f[qb>>2]=0;_P(ib);_P($a);_P(ab);qb=907;break ca}while(0);break ha}while(0);e=Za(256)|0;g=I;break}i=a+12|0;e=f[i>>2]|0;j=$a+4|0;k=(f[j>>2]|0)+12|0;l=La+11|0;f[La>>2]=0;f[La+4>>2]=0;f[La+8>>2]=0;DP(ib|0,k|0,40)|0;k=ib+40|0;x=0;Ga(459,k|0,La|0);hb=x;x=0;la:do if(hb&1){e=Za(256)|0;g=I}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));hb=h+40|0;f[hb>>2]=f[k>>2];f[hb+4>>2]=f[k+4>>2];f[hb+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);hb=x;x=0;if(!(hb&1))break;e=Za(256)|0;g=I;if((b[k+11>>0]|0)>=0)break la;Hta(f[k>>2]|0);break la}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l>>0]|0)<0)Hta(f[La>>2]|0);m=Ta(88)|0;x=0;Ga(511,Qa|0,f[i>>2]|0);hb=x;x=0;do if(hb&1){e=Za(256)|0;g=I}else{x=0;Ia(133,m|0,Qa|0,f[j>>2]|0);hb=x;x=0;if(hb&1)l=1;else{x=0;Ia(77,m|0,3856,181);x=0;l=0}e=Za(256)|0;g=I;h=f[Qa>>2]|0;if(!h)if(l)break;else break ha;k=Qa+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[Qa>>2]|0}Hta(h);if(!l)break ha}while(0);bb(m|0);break ha}while(0);if((b[l>>0]|0)<0)Hta(f[La>>2]|0)}while(0);if((qb|0)==830){e=Za(256)|0;g=I}_P($a)}while(0);if((qb|0)==829){e=Za(256)|0;g=I}_P(ab)}while(0);if((qb|0)==828){e=Za(256)|0;g=I}}while(0);if((qb|0)==907){e=f[e>>2]|0;if(!e)e=0;else b[e+8>>0]=1;_P(gb);_a=e;break aa}do if((g|0)==(Sb(256)|0)){j=Ua(e|0)|0;i=a+12|0;e=f[i>>2]|0;k=(f[o>>2]|0)+12|0;l=cb+11|0;f[cb>>2]=0;f[cb+4>>2]=0;f[cb+8>>2]=0;DP(ib|0,k|0,40)|0;k=ib+40|0;x=0;Ga(459,k|0,cb|0);a=x;x=0;ma:do if(a&1){g=Ya()|0;e=I;qb=924}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));a=h+40|0;f[a>>2]=f[k>>2];f[a+4>>2]=f[k+4>>2];f[a+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);a=x;x=0;if(!(a&1))break;g=Ya()|0;e=I;if((b[k+11>>0]|0)>=0){qb=924;break ma}Hta(f[k>>2]|0);qb=924;break ma}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l>>0]|0)<0)Hta(f[cb>>2]|0);m=Ta(84)|0;x=0;Ga(511,db|0,f[i>>2]|0);a=x;x=0;do if(a&1){g=Ya()|0;e=I}else{x=0;p=ib;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));Ja(45,m|0,db|0,ib|0,j|0);ib=x;x=0;if(ib&1)l=1;else{x=0;Ia(77,m|0,3872,181);x=0;l=0}g=Ya()|0;e=I;h=f[db>>2]|0;if(!h)if(l)break;else break ma;k=db+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[db>>2]|0}Hta(h);if(!l)break ma}while(0);bb(m|0)}while(0);if((qb|0)==924)if((b[l>>0]|0)<0)Hta(f[cb>>2]|0);x=0;Ea(4);ib=x;x=0;if(!(ib&1)){eb=g;fb=e;break}ib=Za(0)|0;soa(ib)}else{eb=e;fb=g}while(0);_P(gb);e=eb;g=fb}break M}}while(0);if((qb|0)==669){e=Za(256)|0;g=I}if((g|0)!=(Sb(256)|0))break M;j=Ua(e|0)|0;i=a+12|0;e=f[i>>2]|0;k=(f[o>>2]|0)+12|0;l=Va+11|0;f[Va>>2]=0;f[Va+4>>2]=0;f[Va+8>>2]=0;DP(ib|0,k|0,40)|0;k=ib+40|0;x=0;Ga(459,k|0,Va|0);a=x;x=0;na:do if(a&1){e=Ya()|0;g=I;qb=745}else{g=e+4|0;h=f[g>>2]|0;do if(h>>>0<(f[e+8>>2]|0)>>>0){p=h;A=ib;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));a=h+40|0;f[a>>2]=f[k>>2];f[a+4>>2]=f[k+4>>2];f[a+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[g>>2]=(f[g>>2]|0)+52}else{x=0;Ga(510,e|0,ib|0);a=x;x=0;if(!(a&1))break;e=Ya()|0;g=I;if((b[k+11>>0]|0)>=0){qb=745;break na}Hta(f[k>>2]|0);qb=745;break na}while(0);if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l>>0]|0)<0)Hta(f[Va>>2]|0);m=Ta(84)|0;x=0;Ga(511,Xa|0,f[i>>2]|0);a=x;x=0;do if(a&1){e=Ya()|0;g=I}else{x=0;p=ib;A=(f[o>>2]|0)+12|0;B=p+40|0;do{f[p>>2]=f[A>>2];p=p+4|0;A=A+4|0}while((p|0)<(B|0));Ja(45,m|0,Xa|0,ib|0,j|0);ib=x;x=0;if(ib&1)l=1;else{x=0;Ia(77,m|0,3872,181);x=0;l=0}e=Ya()|0;g=I;h=f[Xa>>2]|0;if(!h)if(l)break;else break na;k=Xa+4|0;i=f[k>>2]|0;if((i|0)!=(h|0)){do{j=i+-52|0;f[k>>2]=j;i=i+-12|0;if((b[i+11>>0]|0)<0){Hta(f[i>>2]|0);i=f[k>>2]|0}else i=j}while((i|0)!=(h|0));h=f[Xa>>2]|0}Hta(h);if(!l)break na}while(0);bb(m|0)}while(0);if((qb|0)==745)if((b[l>>0]|0)<0)Hta(f[Va>>2]|0);x=0;Ea(4);ib=x;x=0;if(!(ib&1))break M;qb=Za(0)|0;soa(qb)}while(0);_P(kb);_P(lb);_P(mb);_P(ob);_P(nb);_P(pb);e=_a;break z}while(0);if((qb|0)==547){e=Ya()|0;g=I}_P(kb)}while(0);_P(lb)}while(0);_P(mb)}while(0);_P(ob)}while(0);_P(nb)}while(0);_P(pb)}while(0);break s}while(0);if((qb|0)==532){e=Ya()|0;g=I}break s}while(0);e=Ya()|0;g=I;break s}while(0);_P(rb);break i}while(0);if((qb|0)==347){e=Ya()|0;g=I}_P(rb)}break e}while(0);_P(sb);sb=e;_P(ub);_P(tb);u=hb;return sb|0}while(0);_P(sb)}}}while(0);if((qb|0)==14)e=Ya()|0;_P(ub);ub=e;_P(tb);jb(ub|0);return 0}function Zc(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,Ka=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,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=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,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;eb=0;pb=u;u=u+928|0;nb=pb+892|0;lb=pb+864|0;kb=pb+836|0;db=pb+808|0;ab=pb+780|0;ib=pb+752|0;Xa=pb+724|0;Ca=pb+696|0;Da=pb+688|0;Ea=pb+660|0;Wa=pb+632|0;Ha=pb+624|0;Ka=pb+616|0;Ma=pb+608|0;Na=pb+600|0;Oa=pb+592|0;Pa=pb+584|0;Qa=pb+576|0;Ra=pb+568|0;Sa=pb+560|0;Ta=pb+552|0;Ua=pb+544|0;Va=pb+536|0;ob=pb+504|0;ma=pb+488|0;na=pb+480|0;oa=pb+456|0;pa=pb+448|0;qa=pb+440|0;ra=pb+432|0;ta=pb+424|0;ua=pb+416|0;va=pb+408|0;wa=pb+400|0;xa=pb+392|0;ya=pb+384|0;za=pb+376|0;Aa=pb+368|0;Ba=pb+360|0;Db=pb+328|0;Cb=pb+300|0;Bb=pb+272|0;Ab=pb+244|0;zb=pb+216|0;yb=pb+188|0;xb=pb+160|0;wb=pb+136|0;vb=pb+112|0;ub=pb+88|0;n=pb+920|0;tb=pb+56|0;sb=pb+28|0;rb=pb;fb=pb+496|0;gb=pb+472|0;hb=pb+464|0;d=f[b+20>>2]|0;e=f[b+24>>2]|0;if(!e){if(!(f[d+20>>2]|0))eb=4}else{ega(e);qb=(f[d+20>>2]|0)==0;QZ(e);if(qb)eb=4}if((eb|0)==4){UE(a);d=f[a+20>>2]|0;g=a+24|0;h=f[g>>2]|0;i=(h|0)==0;if(!i)ega(h);x=0;Ga(524,d|0,c|0);Db=x;x=0;if(!(Db&1)){if(i){u=pb;return}QZ(h);u=pb;return}e=Ya()|0;if(!i)QZ(h);d=f[g>>2]|0;if(d|0)QZ(d);_P(a+12|0);Db=e;jb(Db|0)}d=f[c+20>>2]|0;e=f[c+24>>2]|0;if(!e){if(!(f[d+20>>2]|0))eb=17}else{ega(e);qb=(f[d+20>>2]|0)==0;QZ(e);if(qb)eb=17}if((eb|0)==17){UE(a);d=f[a+20>>2]|0;g=a+24|0;h=f[g>>2]|0;i=(h|0)==0;if(!i)ega(h);x=0;Ga(524,d|0,b|0);Db=x;x=0;if(!(Db&1)){if(i){u=pb;return}QZ(h);u=pb;return}e=Ya()|0;if(!i)QZ(h);d=f[g>>2]|0;if(d|0)QZ(d);_P(a+12|0);Db=e;jb(Db|0)}UE(Db);x=0;Ga(507,Db|0,b|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Fa(451,Cb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Ga(507,Cb|0,c|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Fa(451,nb|0);qb=x;x=0;a:do if(qb&1){d=Ya()|0;eb=81}else{x=0;Fa(451,lb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Ga(670,Db|0,nb|0);qb=x;x=0;if(qb&1)eb=41;else{x=0;Ga(670,Cb|0,lb|0);qb=x;x=0;if(qb&1)eb=41;else{x=0;Ja(50,db|0,nb|0,lb|0,kb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;d=sa(1052,db|0,nb|0)|0;qb=x;x=0;b:do if(qb&1)eb=43;else{do if(d)eb=44;else{x=0;d=sa(1052,db|0,lb|0)|0;qb=x;x=0;if(qb&1){eb=43;break b}if(d){eb=44;break}x=0;Fa(453,Bb|0);qb=x;x=0;if(qb&1){eb=43;break b}}while(0);do if((eb|0)==44){d=f[nb+20>>2]|0;i=f[nb+24>>2]|0;b=(i|0)==0;if(!b)ega(i);d=f[d+20>>2]|0;e=f[lb+20>>2]|0;g=f[lb+24>>2]|0;h=(g|0)==0;if(!h)ega(g);d=d>>>0>(f[e+20>>2]|0)>>>0?nb:lb;f[Bb>>2]=f[d>>2];f[Bb+4>>2]=f[d+4>>2];f[Bb+8>>2]=f[d+8>>2];e=Bb+12|0;x=0;Ga(462,e|0,f[d+16>>2]|0);qb=x;x=0;if(qb&1){d=Ya()|0;if(!h)QZ(g);if(b)break b;QZ(i);break b}f[e>>2]=15556;f[Bb+20>>2]=f[d+20>>2];d=f[d+24>>2]|0;f[Bb+24>>2]=d;if(d|0)ega(d);if(!h)QZ(g);if(b)break;QZ(i)}while(0);d=f[db+24>>2]|0;if(d|0)QZ(d);_P(db+12|0);d=f[lb+24>>2]|0;if(d|0)QZ(d);_P(lb+12|0);d=f[nb+24>>2]|0;if(d|0)QZ(d);_P(nb+12|0);c:do if((f[Bb+4>>2]|0)==3){x=0;Fa(453,a|0);Ab=x;x=0;if(!(Ab&1))break;d=Ya()|0;eb=1080}else{x=0;Fa(451,Ab|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Ja(51,zb|0,Db|0,Cb|0,Ab|0);qb=x;x=0;do if(qb&1)d=Ya()|0;else{d:do if((f[zb+4>>2]|0)==3){x=0;Fa(453,a|0);yb=x;x=0;if(yb&1){d=Ya()|0;e=zb+24|0;eb=1066;break}else{d=zb+24|0;break}}else{_a=zb+20|0;d=f[_a>>2]|0;e=zb+24|0;h=f[e>>2]|0;i=(h|0)==0;if(!i)ega(h);qb=f[d+4>>2]|0;g=f[d+16>>2]|0;j=qb+(((g>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(qb|0))d=0;else d=(f[j>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!i)QZ(h);g=f[_a>>2]|0;b=f[e>>2]|0;c=(b|0)==0;if(!c)ega(b);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;i=f[g+4>>2]|0;if((f[g+8>>2]|0)==(i|0))k=0;else k=(f[i+(((h>>>0)/146|0)<<2)>>2]|0)+(((h>>>0)%146|0)*28|0)|0;if(!c)QZ(b);b=nb+20|0;l=nb+24|0;c=nb+16|0;m=nb+12|0;e:while(1){do{if((k|0)==(d|0)){eb=106;break e}if((f[d+4>>2]|0)!=2){x=0;Fa(451,nb|0);qb=x;x=0;if(qb&1){eb=124;break e}g=f[b>>2]|0;h=f[l>>2]|0;i=(h|0)==0;if(!i)ega(h);x=0;Ga(524,g|0,d|0);qb=x;x=0;if(qb&1){eb=126;break e}if(!i)QZ(h);f[d>>2]=f[nb>>2];f[d+4>>2]=f[nb+4>>2];f[d+8>>2]=f[nb+8>>2];g=d+12|0;h=d+16|0;if(f[h>>2]|0){x=0;Fa(429,g|0);qb=x;x=0;if(qb&1){eb=125;break e}}f[h>>2]=f[c>>2];x=0;Fa(430,g|0);qb=x;x=0;if(qb&1){eb=125;break e}g=f[b>>2]|0;h=f[l>>2]|0;if(h|0)ega(h);f[d+20>>2]=g;qb=d+24|0;g=f[qb>>2]|0;f[qb>>2]=h;if(g|0)QZ(g);g=f[l>>2]|0;if(g|0)QZ(g);_P(m)}d=d+28|0}while((d-(f[j>>2]|0)|0)!=4088);d=j+4|0;j=d;d=f[d>>2]|0}do if((eb|0)==106){x=0;Ga(671,yb|0,Db|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Ga(671,xb|0,Cb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{f[wb>>2]=0;f[wb+4>>2]=0;f[wb+8>>2]=0;f[wb+12>>2]=0;f[wb+16>>2]=0;f[wb+20>>2]=0;x=0;Ga(672,yb|0,wb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{f[vb>>2]=0;f[vb+4>>2]=0;f[vb+8>>2]=0;f[vb+12>>2]=0;f[vb+16>>2]=0;f[vb+20>>2]=0;x=0;Ga(672,xb|0,vb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{f[ub>>2]=0;f[ub+4>>2]=0;f[ub+8>>2]=0;f[ub+12>>2]=0;f[ub+16>>2]=0;f[ub+20>>2]=0;x=0;Ja(52,vb|0,wb|0,n|0,ub|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Ga(673,tb|0,ub|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{x=0;Fa(451,sb|0);qb=x;x=0;if(qb&1)d=Ya()|0;else{o=sb+20|0;d=f[o>>2]|0;qb=sb+24|0;m=f[qb>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;i=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;mb=i-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;h=f[l>>2]|0;do if((((mb|0)==0?0:(mb*146|0)+-1|0)|0)==(h+c|0)){x=0;Fa(433,d|0);mb=x;x=0;if(mb&1){eb=538;break}h=f[l>>2]|0;c=f[b>>2]|0;i=f[j>>2]|0;g=f[k>>2]|0;eb=145}else eb=145;while(0);do if((eb|0)==145){d=h+c|0;if((i|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[Bb>>2];f[g+4>>2]=f[Bb+4>>2];f[g+8>>2]=f[Bb+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[Bb+16>>2]|0);mb=x;x=0;if(mb&1){eb=538;break}f[d>>2]=15556;f[g+20>>2]=f[Bb+20>>2];d=f[Bb+24>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);x=0;Fa(451,rb|0);mb=x;x=0;if(mb&1)d=Ya()|0;else{Za=rb+20|0;d=f[Za>>2]|0;mb=rb+24|0;m=f[mb>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;i=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;eb=i-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;h=f[l>>2]|0;do if((((eb|0)==0?0:(eb*146|0)+-1|0)|0)==(h+c|0)){x=0;Fa(433,d|0);eb=x;x=0;if(eb&1){eb=541;break}h=f[l>>2]|0;c=f[b>>2]|0;i=f[j>>2]|0;g=f[k>>2]|0;eb=158}else eb=158;while(0);f:do if((eb|0)==158){d=h+c|0;if((i|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[sb>>2];f[g+4>>2]=f[sb+4>>2];f[g+8>>2]=f[sb+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[sb+16>>2]|0);cb=x;x=0;if(cb&1){eb=541;break}f[d>>2]=15556;f[g+20>>2]=f[o>>2];d=f[qb>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);p=tb+20|0;$a=tb+24|0;q=yb+20|0;cb=yb+24|0;r=ab+20|0;ja=ab+24|0;s=xb+20|0;bb=xb+24|0;t=db+20|0;ga=db+24|0;v=ab+20|0;w=db+20|0;ha=db+12|0;ka=ab+12|0;y=Ea+16|0;z=Ea+20|0;aa=Ea+24|0;A=nb+20|0;Y=nb+24|0;B=nb+16|0;ia=yb+20|0;la=xb+20|0;Z=nb+12|0;da=Ea+12|0;C=Ea+20|0;D=db+16|0;E=ab+16|0;F=Xa+20|0;ba=Xa+24|0;G=ob+4|0;H=ma+4|0;I=na+4|0;J=pa+4|0;K=qa+4|0;L=ra+4|0;M=ib+20|0;ea=ib+24|0;N=Xa+16|0;O=Ca+20|0;_=Ca+24|0;P=ua+4|0;Q=va+4|0;R=wa+4|0;S=ya+4|0;T=za+4|0;U=Aa+4|0;V=Ca+16|0;W=Ea+12|0;X=ib+16|0;$=Ca+12|0;ca=Xa+12|0;fa=ib+12|0;g:while(1){d=f[p>>2]|0;g=f[$a>>2]|0;if(!g){if(!(f[d+20>>2]|0)){eb=578;break}}else{ega(g);o=(f[d+20>>2]|0)==0;QZ(g);if(o){eb=578;break}}f[Da>>2]=tb;x=0;Fa(451,ab|0);o=x;x=0;if(o&1){eb=543;break}while(1){d=f[q>>2]|0;g=f[cb>>2]|0;h=(g|0)==0;if(!h)ega(g);if(!(f[d+20>>2]|0)){eb=200;break}x=0;d=sa(1053,Da|0,yb|0)|0;o=x;x=0;if(o&1){eb=194;break g}if(!h)QZ(g);if(d)break;d=f[r>>2]|0;h=f[ja>>2]|0;i=(h|0)==0;if(!i)ega(h);g=f[q>>2]|0;b=f[cb>>2]|0;c=(b|0)==0;if(!c)ega(b);o=f[g+16>>2]|0;x=0;Ga(524,d|0,(f[(f[g+4>>2]|0)+(((o>>>0)/146|0)<<2)>>2]|0)+(((o>>>0)%146|0)*28|0)|0);o=x;x=0;if(o&1){eb=196;break g}if(!c)QZ(b);if(!i)QZ(h);d=f[q>>2]|0;g=f[cb>>2]|0;h=(g|0)==0;if(!h)ega(g);i=d+4|0;b=d+16|0;j=f[b>>2]|0;c=f[(f[i>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[c+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(c+(j*28|0)+12|0);o=d+20|0;f[o>>2]=(f[o>>2]|0)+-1;o=(f[b>>2]|0)+1|0;f[b>>2]=o;if(o>>>0>291){Hta(f[f[i>>2]>>2]|0);f[i>>2]=(f[i>>2]|0)+4;f[b>>2]=(f[b>>2]|0)+-146}if(h)continue;QZ(g)}do if((eb|0)==200){eb=0;if(h)break;QZ(g)}while(0);x=0;Fa(451,db|0);o=x;x=0;if(o&1){eb=227;break}while(1){d=f[s>>2]|0;g=f[bb>>2]|0;h=(g|0)==0;if(!h)ega(g);if(!(f[d+20>>2]|0)){eb=235;break}x=0;d=sa(1053,Da|0,xb|0)|0;o=x;x=0;if(o&1){eb=229;break g}if(!h)QZ(g);if(d)break;d=f[t>>2]|0;h=f[ga>>2]|0;i=(h|0)==0;if(!i)ega(h);g=f[s>>2]|0;b=f[bb>>2]|0;c=(b|0)==0;if(!c)ega(b);o=f[g+16>>2]|0;x=0;Ga(524,d|0,(f[(f[g+4>>2]|0)+(((o>>>0)/146|0)<<2)>>2]|0)+(((o>>>0)%146|0)*28|0)|0);o=x;x=0;if(o&1){eb=231;break g}if(!c)QZ(b);if(!i)QZ(h);d=f[s>>2]|0;g=f[bb>>2]|0;h=(g|0)==0;if(!h)ega(g);i=d+4|0;b=d+16|0;j=f[b>>2]|0;c=f[(f[i>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[c+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(c+(j*28|0)+12|0);o=d+20|0;f[o>>2]=(f[o>>2]|0)+-1;o=(f[b>>2]|0)+1|0;f[b>>2]=o;if(o>>>0>291){Hta(f[f[i>>2]>>2]|0);f[i>>2]=(f[i>>2]|0)+4;f[b>>2]=(f[b>>2]|0)+-146}if(h)continue;QZ(g)}do if((eb|0)==235){eb=0;if(h)break;QZ(g)}while(0);d=f[v>>2]|0;h=f[ja>>2]|0;i=(h|0)==0;if(!i)ega(h);do if(!(f[d+20>>2]|0)){d=f[w>>2]|0;g=f[ga>>2]|0;if(!g){d=(f[d+20>>2]|0)==0;break}else{ega(g);d=(f[d+20>>2]|0)==0;QZ(g);break}}else d=0;while(0);if(!i)QZ(h);do if(d){x=0;Fa(451,Ea|0);o=x;x=0;if(o&1){eb=228;break g}}else{d=f[v>>2]|0;g=f[ja>>2]|0;if(!g){if(!(f[d+20>>2]|0))eb=250}else{ega(g);o=(f[d+20>>2]|0)==0;QZ(g);if(o)eb=250}if((eb|0)==250){eb=0;x=0;Fa(451,Ea|0);o=x;x=0;if(o&1){eb=228;break g}d=f[C>>2]|0;m=f[aa>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;o=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;if((((o|0)==0?0:(o*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);o=x;x=0;if(o&1){eb=263;break g}i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0}else d=c;d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[db>>2];f[g+4>>2]=f[db+4>>2];f[g+8>>2]=f[db+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[D>>2]|0);o=x;x=0;if(o&1){eb=263;break g}f[d>>2]=15556;f[g+20>>2]=f[w>>2];d=f[ga>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(n)break;QZ(m);break}d=f[w>>2]|0;g=f[ga>>2]|0;if(!g){if(!(f[d+20>>2]|0))eb=271}else{ega(g);o=(f[d+20>>2]|0)==0;QZ(g);if(o)eb=271}if((eb|0)==271){eb=0;x=0;Fa(451,Ea|0);o=x;x=0;if(o&1){eb=228;break g}d=f[C>>2]|0;m=f[aa>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;o=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;if((((o|0)==0?0:(o*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);o=x;x=0;if(o&1){eb=284;break g}i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0}else d=c;d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[ab>>2];f[g+4>>2]=f[ab+4>>2];f[g+8>>2]=f[ab+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[E>>2]|0);o=x;x=0;if(o&1){eb=284;break g}f[d>>2]=15556;f[g+20>>2]=f[v>>2];d=f[ja>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(n)break;QZ(m);break}x=0;Fa(451,ib|0);o=x;x=0;if(o&1){eb=416;break g}x=0;Fa(451,Xa|0);o=x;x=0;if(o&1){eb=417;break g}d=f[F>>2]|0;n=f[ba>>2]|0;o=(n|0)==0;do if(o){m=1;g=d;l=0}else{ega(n);h=f[ba>>2]|0;g=f[F>>2]|0;if(!h){m=1;l=0;break}ega(h);m=0;l=h}while(0);j=g;g=(f[j+16>>2]|0)+(f[j+20>>2]|0)|0;k=f[j+4>>2]|0;h=k+(((g>>>0)/146|0)<<2)|0;if((f[j+8>>2]|0)==(k|0))g=0;else g=(f[h>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[ob>>2]=h;f[G>>2]=g;g=f[v>>2]|0;j=f[ja>>2]|0;k=(j|0)==0;if(!k)ega(j);c=f[g+4>>2]|0;h=f[g+16>>2]|0;i=c+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(c|0))g=0;else g=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[ma>>2]=i;f[H>>2]=g;g=f[v>>2]|0;b=f[ja>>2]|0;c=(b|0)==0;if(!c)ega(b);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;i=Eb+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[na>>2]=i;f[I>>2]=g;x=0;f[kb>>2]=f[ob>>2];f[kb+4>>2]=f[ob+4>>2];f[lb>>2]=f[ma>>2];f[lb+4>>2]=f[ma+4>>2];f[nb>>2]=f[na>>2];f[nb+4>>2]=f[na+4>>2];La(11,oa|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){eb=418;break g}if(!c)QZ(b);if(!k)QZ(j);if(!m)QZ(l);if(!o)QZ(n);d=f[F>>2]|0;n=f[ba>>2]|0;o=(n|0)==0;do if(o){m=1;g=d;l=0}else{ega(n);h=f[ba>>2]|0;g=f[F>>2]|0;if(!h){m=1;l=0;break}ega(h);m=0;l=h}while(0);k=g;g=(f[k+16>>2]|0)+(f[k+20>>2]|0)|0;Eb=f[k+4>>2]|0;h=Eb+(((g>>>0)/146|0)<<2)|0;if((f[k+8>>2]|0)==(Eb|0))g=0;else g=(f[h>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[pa>>2]=h;f[J>>2]=g;g=f[w>>2]|0;j=f[ga>>2]|0;k=(j|0)==0;if(!k)ega(j);Eb=f[g+4>>2]|0;h=f[g+16>>2]|0;i=Eb+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[qa>>2]=i;f[K>>2]=g;g=f[w>>2]|0;b=f[ga>>2]|0;c=(b|0)==0;if(!c)ega(b);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;i=Eb+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[ra>>2]=i;f[L>>2]=g;x=0;f[kb>>2]=f[pa>>2];f[kb+4>>2]=f[pa+4>>2];f[lb>>2]=f[qa>>2];f[lb+4>>2]=f[qa+4>>2];f[nb>>2]=f[ra>>2];f[nb+4>>2]=f[ra+4>>2];La(11,ta|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){eb=426;break g}if(!c)QZ(b);if(!k)QZ(j);if(!m)QZ(l);if(!o)QZ(n);d=f[M>>2]|0;m=f[ea>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1){eb=434;break g}i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0}else d=c;d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[Xa>>2];f[g+4>>2]=f[Xa+4>>2];f[g+8>>2]=f[Xa+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[N>>2]|0);Eb=x;x=0;if(Eb&1){eb=434;break g}f[d>>2]=15556;f[g+20>>2]=f[F>>2];d=f[ba>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);x=0;Fa(451,Ca|0);Eb=x;x=0;if(Eb&1){eb=436;break g}d=f[O>>2]|0;n=f[_>>2]|0;o=(n|0)==0;do if(o){m=1;g=d;l=0}else{ega(n);h=f[_>>2]|0;g=f[O>>2]|0;if(!h){m=1;l=0;break}ega(h);m=0;l=h}while(0);k=g;g=(f[k+16>>2]|0)+(f[k+20>>2]|0)|0;Eb=f[k+4>>2]|0;h=Eb+(((g>>>0)/146|0)<<2)|0;if((f[k+8>>2]|0)==(Eb|0))g=0;else g=(f[h>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[ua>>2]=h;f[P>>2]=g;g=f[w>>2]|0;j=f[ga>>2]|0;k=(j|0)==0;if(!k)ega(j);Eb=f[g+4>>2]|0;h=f[g+16>>2]|0;i=Eb+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[va>>2]=i;f[Q>>2]=g;g=f[w>>2]|0;b=f[ga>>2]|0;c=(b|0)==0;if(!c)ega(b);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;i=Eb+(((h>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((h>>>0)%146|0)*28|0)|0;f[wa>>2]=i;f[R>>2]=g;x=0;f[kb>>2]=f[ua>>2];f[kb+4>>2]=f[ua+4>>2];f[lb>>2]=f[va>>2];f[lb+4>>2]=f[va+4>>2];f[nb>>2]=f[wa>>2];f[nb+4>>2]=f[wa+4>>2];La(11,xa|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){eb=438;break g}if(!c)QZ(b);if(!k)QZ(j);if(!m)QZ(l);if(!o)QZ(n);g=f[O>>2]|0;n=f[_>>2]|0;o=(n|0)==0;do if(o){d=g;h=0;m=1}else{ega(n);h=f[_>>2]|0;d=f[O>>2]|0;if(!h){h=0;m=1;break}ega(h);m=0}while(0);l=d;d=(f[l+16>>2]|0)+(f[l+20>>2]|0)|0;Eb=f[l+4>>2]|0;i=Eb+(((d>>>0)/146|0)<<2)|0;if((f[l+8>>2]|0)==(Eb|0))d=0;else d=(f[i>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[ya>>2]=i;f[S>>2]=d;d=f[v>>2]|0;k=f[ja>>2]|0;l=(k|0)==0;if(!l)ega(k);Eb=f[d+4>>2]|0;i=f[d+16>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(Eb|0))d=0;else d=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[za>>2]=b;f[T>>2]=d;d=f[v>>2]|0;c=f[ja>>2]|0;j=(c|0)==0;if(!j)ega(c);i=(f[d+16>>2]|0)+(f[d+20>>2]|0)|0;Eb=f[d+4>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(Eb|0))d=0;else d=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Aa>>2]=b;f[U>>2]=d;x=0;f[kb>>2]=f[ya>>2];f[kb+4>>2]=f[ya+4>>2];f[lb>>2]=f[za>>2];f[lb+4>>2]=f[za+4>>2];f[nb>>2]=f[Aa>>2];f[nb+4>>2]=f[Aa+4>>2];La(11,Ba|0,g|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){eb=446;break g}if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(!o)QZ(n);d=f[M>>2]|0;m=f[ea>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1){eb=454;break g}i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0}else d=c;d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[Ca>>2];f[g+4>>2]=f[Ca+4>>2];f[g+8>>2]=f[Ca+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[V>>2]|0);Eb=x;x=0;if(Eb&1){eb=454;break g}f[d>>2]=15556;f[g+20>>2]=f[O>>2];d=f[_>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);f[Ea>>2]=f[ib>>2];f[Ea+4>>2]=f[ib+4>>2];f[Ea+8>>2]=f[ib+8>>2];x=0;Ga(462,W|0,f[X>>2]|0);Eb=x;x=0;if(Eb&1){eb=437;break g}f[W>>2]=15556;f[z>>2]=f[M>>2];f[aa>>2]=f[ea>>2];f[M>>2]=0;f[ea>>2]=0;d=f[_>>2]|0;if(d|0)QZ(d);_P($);d=f[ba>>2]|0;if(d|0)QZ(d);_P(ca);d=f[ea>>2]|0;if(d|0)QZ(d);_P(fa)}while(0);d=f[ga>>2]|0;if(d|0)QZ(d);_P(ha);d=f[ja>>2]|0;if(d|0)QZ(d);_P(ka);d=f[Za>>2]|0;m=f[mb>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1){eb=545;break}i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0}else d=c;d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[Ea>>2];f[g+4>>2]=f[Ea+4>>2];f[g+8>>2]=f[Ea+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[y>>2]|0);Eb=x;x=0;if(Eb&1){eb=545;break}f[d>>2]=15556;f[g+20>>2]=f[z>>2];d=f[aa>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);x=0;Fa(451,nb|0);Eb=x;x=0;if(Eb&1){eb=547;break}d=f[A>>2]|0;h=f[Y>>2]|0;i=(h|0)==0;if(!i)ega(h);g=f[p>>2]|0;b=f[$a>>2]|0;c=(b|0)==0;if(!c)ega(b);Eb=f[g+16>>2]|0;x=0;Ga(524,d|0,(f[(f[g+4>>2]|0)+(((Eb>>>0)/146|0)<<2)>>2]|0)+(((Eb>>>0)%146|0)*28|0)|0);Eb=x;x=0;if(Eb&1){eb=548;break}if(!c)QZ(b);if(!i)QZ(h);d=f[p>>2]|0;g=f[$a>>2]|0;h=(g|0)==0;if(!h)ega(g);i=d+4|0;b=d+16|0;j=f[b>>2]|0;c=f[(f[i>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[c+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(c+(j*28|0)+12|0);Eb=d+20|0;f[Eb>>2]=(f[Eb>>2]|0)+-1;Eb=(f[b>>2]|0)+1|0;f[b>>2]=Eb;if(Eb>>>0>291){Hta(f[f[i>>2]>>2]|0);f[i>>2]=(f[i>>2]|0)+4;f[b>>2]=(f[b>>2]|0)+-146}if(!h)QZ(g);d=f[Za>>2]|0;m=f[mb>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1){eb=552;break}i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0}else d=c;d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[nb>>2];f[g+4>>2]=f[nb+4>>2];f[g+8>>2]=f[nb+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[B>>2]|0);Eb=x;x=0;if(Eb&1){eb=552;break}f[d>>2]=15556;f[g+20>>2]=f[A>>2];d=f[Y>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);d=f[ia>>2]|0;g=f[cb>>2]|0;do if(!g){if(f[d+20>>2]|0){g=0;k=1;eb=525}}else{ega(g);Eb=(f[d+20>>2]|0)==0;QZ(g);if(Eb)break;d=f[ia>>2]|0;g=f[cb>>2]|0;if(!g){g=0;k=1;eb=525;break}ega(g);k=0;eb=525}while(0);do if((eb|0)==525){eb=0;h=d+4|0;i=d+16|0;c=f[i>>2]|0;b=f[(f[h>>2]|0)+(((c>>>0)/146|0)<<2)>>2]|0;c=(c>>>0)%146|0;j=f[b+(c*28|0)+24>>2]|0;if(j|0)QZ(j);_P(b+(c*28|0)+12|0);Eb=d+20|0;f[Eb>>2]=(f[Eb>>2]|0)+-1;Eb=(f[i>>2]|0)+1|0;f[i>>2]=Eb;if(Eb>>>0>291){Hta(f[f[h>>2]>>2]|0);f[h>>2]=(f[h>>2]|0)+4;f[i>>2]=(f[i>>2]|0)+-146}if(k)break;QZ(g)}while(0);d=f[la>>2]|0;g=f[bb>>2]|0;do if(!g){if(f[d+20>>2]|0){g=0;k=1;eb=559}}else{ega(g);Eb=(f[d+20>>2]|0)==0;QZ(g);if(Eb)break;d=f[la>>2]|0;g=f[bb>>2]|0;if(!g){g=0;k=1;eb=559;break}ega(g);k=0;eb=559}while(0);do if((eb|0)==559){eb=0;h=d+4|0;i=d+16|0;c=f[i>>2]|0;b=f[(f[h>>2]|0)+(((c>>>0)/146|0)<<2)>>2]|0;c=(c>>>0)%146|0;j=f[b+(c*28|0)+24>>2]|0;if(j|0)QZ(j);_P(b+(c*28|0)+12|0);Eb=d+20|0;f[Eb>>2]=(f[Eb>>2]|0)+-1;Eb=(f[i>>2]|0)+1|0;f[i>>2]=Eb;if(Eb>>>0>291){Hta(f[f[h>>2]>>2]|0);f[h>>2]=(f[h>>2]|0)+4;f[i>>2]=(f[i>>2]|0)+-146}if(k)break;QZ(g)}while(0);d=f[Y>>2]|0;if(d|0)QZ(d);_P(Z);d=f[aa>>2]|0;if(d|0)QZ(d);_P(da)}switch(eb|0){case 194:{d=Ya()|0;if(h){eb=475;break}QZ(g);eb=475;break}case 196:{d=Ya()|0;if(!c)QZ(b);if(i){eb=475;break}QZ(h);eb=475;break}case 227:{d=Ya()|0;eb=474;break}case 228:{d=Ya()|0;eb=471;break}case 229:{d=Ya()|0;if(h){eb=471;break}QZ(g);eb=471;break}case 231:{d=Ya()|0;if(!c)QZ(b);if(i){eb=471;break}QZ(h);eb=471;break}case 263:{d=Ya()|0;if(!n)QZ(m);g=f[aa>>2]|0;if(g|0)QZ(g);_P(da);eb=471;break}case 284:{d=Ya()|0;if(!n)QZ(m);g=f[aa>>2]|0;if(g|0)QZ(g);_P(da);eb=471;break}case 416:{d=Ya()|0;eb=466;break}case 417:{d=Ya()|0;eb=463;break}case 418:{d=Ya()|0;if(!c)QZ(b);if(!k)QZ(j);if(!m)QZ(l);if(o){eb=460;break}QZ(n);eb=460;break}case 426:{d=Ya()|0;if(!c)QZ(b);if(!k)QZ(j);if(!m)QZ(l);if(o){eb=460;break}QZ(n);eb=460;break}case 434:{d=Ya()|0;if(n){eb=460;break}QZ(m);eb=460;break}case 436:{d=Ya()|0;eb=459;break}case 437:{d=Ya()|0;eb=456;break}case 438:{d=Ya()|0;if(!c)QZ(b);if(!k)QZ(j);if(!m)QZ(l);if(o){eb=456;break}QZ(n);eb=456;break}case 446:{d=Ya()|0;if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(o){eb=456;break}QZ(n);eb=456;break}case 454:{d=Ya()|0;if(n){eb=456;break}QZ(m);eb=456;break}case 543:{d=Ya()|0;eb=544;break}case 545:{d=Ya()|0;if(n){eb=574;break}QZ(m);eb=574;break}case 547:{d=Ya()|0;eb=573;break}case 548:{d=Ya()|0;if(!c)QZ(b);if(i){eb=570;break}QZ(h);eb=570;break}case 552:{d=Ya()|0;if(n){eb=570;break}QZ(m);eb=570;break}case 578:{x=0;Fa(451,db|0);Eb=x;x=0;h:do if(Eb&1){d=Ya()|0;eb=948}else{l=db+20|0;z=db+24|0;while(1){d=f[ia>>2]|0;h=f[cb>>2]|0;i=(h|0)==0;if(!i)ega(h);if(!(f[d+20>>2]|0)){eb=610;break}d=f[ia>>2]|0;g=f[cb>>2]|0;if(!g)d=f[d+20>>2]|0;else{ega(g);d=f[d+20>>2]|0;QZ(g)}if(!i)QZ(h);if(!d){eb=612;break}d=f[l>>2]|0;h=f[z>>2]|0;i=(h|0)==0;if(!i)ega(h);g=f[ia>>2]|0;b=f[cb>>2]|0;c=(b|0)==0;if(!c)ega(b);Eb=f[g+16>>2]|0;x=0;Ga(524,d|0,(f[(f[g+4>>2]|0)+(((Eb>>>0)/146|0)<<2)>>2]|0)+(((Eb>>>0)%146|0)*28|0)|0);Eb=x;x=0;if(Eb&1){eb=606;break}if(!c)QZ(b);if(!i)QZ(h);d=f[ia>>2]|0;g=f[cb>>2]|0;h=(g|0)==0;if(!h)ega(g);i=d+4|0;b=d+16|0;j=f[b>>2]|0;c=f[(f[i>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[c+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(c+(j*28|0)+12|0);Eb=d+20|0;f[Eb>>2]=(f[Eb>>2]|0)+-1;Eb=(f[b>>2]|0)+1|0;f[b>>2]=Eb;if(Eb>>>0>291){Hta(f[f[i>>2]>>2]|0);f[i>>2]=(f[i>>2]|0)+4;f[b>>2]=(f[b>>2]|0)+-146}if(h)continue;QZ(g)}do if((eb|0)==606){d=Ya()|0;if(!c)QZ(b);if(i)break;QZ(h)}else if((eb|0)==610){if(i){eb=612;break}QZ(h);eb=612}while(0);if((eb|0)==612){x=0;Fa(451,ab|0);Eb=x;x=0;if(Eb&1)d=Ya()|0;else{l=ab+20|0;y=ab+24|0;while(1){d=f[la>>2]|0;h=f[bb>>2]|0;i=(h|0)==0;if(!i)ega(h);if(!(f[d+20>>2]|0)){eb=646;break}d=f[la>>2]|0;g=f[bb>>2]|0;if(!g)d=f[d+20>>2]|0;else{ega(g);d=f[d+20>>2]|0;QZ(g)}if(!i)QZ(h);if(!d){eb=648;break}d=f[l>>2]|0;h=f[y>>2]|0;i=(h|0)==0;if(!i)ega(h);g=f[la>>2]|0;b=f[bb>>2]|0;c=(b|0)==0;if(!c)ega(b);Eb=f[g+16>>2]|0;x=0;Ga(524,d|0,(f[(f[g+4>>2]|0)+(((Eb>>>0)/146|0)<<2)>>2]|0)+(((Eb>>>0)%146|0)*28|0)|0);Eb=x;x=0;if(Eb&1){eb=642;break}if(!c)QZ(b);if(!i)QZ(h);d=f[la>>2]|0;g=f[bb>>2]|0;h=(g|0)==0;if(!h)ega(g);i=d+4|0;b=d+16|0;j=f[b>>2]|0;c=f[(f[i>>2]|0)+(((j>>>0)/146|0)<<2)>>2]|0;j=(j>>>0)%146|0;k=f[c+(j*28|0)+24>>2]|0;if(k|0)QZ(k);_P(c+(j*28|0)+12|0);Eb=d+20|0;f[Eb>>2]=(f[Eb>>2]|0)+-1;Eb=(f[b>>2]|0)+1|0;f[b>>2]=Eb;if(Eb>>>0>291){Hta(f[f[i>>2]>>2]|0);f[i>>2]=(f[i>>2]|0)+4;f[b>>2]=(f[b>>2]|0)+-146}if(h)continue;QZ(g)}do if((eb|0)==642){d=Ya()|0;if(!c)QZ(b);if(i)break;QZ(h)}else if((eb|0)==646){if(i){eb=648;break}QZ(h);eb=648}while(0);i:do if((eb|0)==648){v=db+20|0;d=f[v>>2]|0;h=f[z>>2]|0;i=(h|0)==0;if(!i)ega(h);do if(!(f[d+20>>2]|0)){d=f[ab+20>>2]|0;g=f[y>>2]|0;if(!g){d=(f[d+20>>2]|0)==0;break}else{ega(g);d=(f[d+20>>2]|0)==0;QZ(g);break}}else d=0;while(0);if(!i)QZ(h);j:do if(d){x=0;Fa(451,ob|0);Eb=x;x=0;if(Eb&1)eb=641}else{d=f[v>>2]|0;g=f[z>>2]|0;if(!g){if(!(f[d+20>>2]|0))eb=661}else{ega(g);Eb=(f[d+20>>2]|0)==0;QZ(g);if(Eb)eb=661}if((eb|0)==661){x=0;Fa(451,ob|0);Eb=x;x=0;if(Eb&1){eb=641;break}d=f[ob+20>>2]|0;l=ob+24|0;n=f[l>>2]|0;o=(n|0)==0;if(!o)ega(n);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;m=d+20|0;i=f[m>>2]|0;do if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1)break;i=f[m>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0;eb=667}else{d=c;eb=667}while(0);do if((eb|0)==667){d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[ab>>2];f[g+4>>2]=f[ab+4>>2];f[g+8>>2]=f[ab+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[ab+16>>2]|0);Eb=x;x=0;if(Eb&1)break;f[d>>2]=15556;f[g+20>>2]=f[ab+20>>2];d=f[y>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[m>>2]=(f[m>>2]|0)+1;if(o)break j;QZ(n);break j}while(0);d=Ya()|0;if(!o)QZ(n);g=f[l>>2]|0;if(g|0)QZ(g);_P(ob+12|0);break i}t=ab+20|0;d=f[t>>2]|0;g=f[y>>2]|0;if(!g){if(!(f[d+20>>2]|0))eb=682}else{ega(g);Eb=(f[d+20>>2]|0)==0;QZ(g);if(Eb)eb=682}if((eb|0)==682){x=0;Fa(451,ob|0);Eb=x;x=0;if(Eb&1){eb=641;break}d=f[ob+20>>2]|0;l=ob+24|0;n=f[l>>2]|0;o=(n|0)==0;if(!o)ega(n);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;m=d+20|0;i=f[m>>2]|0;do if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1)break;i=f[m>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0;eb=688}else{d=c;eb=688}while(0);do if((eb|0)==688){d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[db>>2];f[g+4>>2]=f[db+4>>2];f[g+8>>2]=f[db+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[db+16>>2]|0);Eb=x;x=0;if(Eb&1)break;f[d>>2]=15556;f[g+20>>2]=f[v>>2];d=f[z>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[m>>2]=(f[m>>2]|0)+1;if(o)break j;QZ(n);break j}while(0);d=Ya()|0;if(!o)QZ(n);g=f[l>>2]|0;if(g|0)QZ(g);_P(ob+12|0);break i}x=0;Fa(451,ib|0);Eb=x;x=0;if(Eb&1)d=Ya()|0;else{x=0;Fa(451,Xa|0);Eb=x;x=0;if(Eb&1)d=Ya()|0;else{p=Xa+20|0;d=f[p>>2]|0;w=Xa+24|0;n=f[w>>2]|0;o=(n|0)==0;do if(o){g=d;h=0;m=1}else{ega(n);h=f[w>>2]|0;g=f[p>>2]|0;if(!h){h=0;m=1;break}ega(h);m=0}while(0);Ba=g;g=(f[Ba+16>>2]|0)+(f[Ba+20>>2]|0)|0;Eb=f[Ba+4>>2]|0;i=Eb+(((g>>>0)/146|0)<<2)|0;if((f[Ba+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[Ca>>2]=i;f[Ca+4>>2]=g;g=f[v>>2]|0;k=f[z>>2]|0;l=(k|0)==0;if(!l)ega(k);Eb=f[g+4>>2]|0;i=f[g+16>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Da>>2]=b;f[Da+4>>2]=g;g=f[v>>2]|0;c=f[z>>2]|0;j=(c|0)==0;if(!j)ega(c);i=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Ea>>2]=b;f[Ea+4>>2]=g;x=0;f[kb>>2]=f[Ca>>2];f[kb+4>>2]=f[Ca+4>>2];f[lb>>2]=f[Da>>2];f[lb+4>>2]=f[Da+4>>2];f[nb>>2]=f[Ea>>2];f[nb+4>>2]=f[Ea+4>>2];La(11,Wa|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;k:do if(Eb&1){d=Ya()|0;if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(o)break;QZ(n)}else{if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(!o)QZ(n);d=f[p>>2]|0;n=f[w>>2]|0;o=(n|0)==0;do if(o){g=d;h=0;m=1}else{ega(n);h=f[w>>2]|0;g=f[p>>2]|0;if(!h){h=0;m=1;break}ega(h);m=0}while(0);Ea=g;g=(f[Ea+16>>2]|0)+(f[Ea+20>>2]|0)|0;Eb=f[Ea+4>>2]|0;i=Eb+(((g>>>0)/146|0)<<2)|0;if((f[Ea+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[Ha>>2]=i;f[Ha+4>>2]=g;g=f[t>>2]|0;k=f[y>>2]|0;l=(k|0)==0;if(!l)ega(k);Eb=f[g+4>>2]|0;i=f[g+16>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Ka>>2]=b;f[Ka+4>>2]=g;g=f[t>>2]|0;c=f[y>>2]|0;j=(c|0)==0;if(!j)ega(c);i=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Ma>>2]=b;f[Ma+4>>2]=g;x=0;f[kb>>2]=f[Ha>>2];f[kb+4>>2]=f[Ha+4>>2];f[lb>>2]=f[Ka>>2];f[lb+4>>2]=f[Ka+4>>2];f[nb>>2]=f[Ma>>2];f[nb+4>>2]=f[Ma+4>>2];La(11,Na|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){d=Ya()|0;if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(o)break;QZ(n);break}if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(!o)QZ(n);r=ib+20|0;d=f[r>>2]|0;s=ib+24|0;m=f[s>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;do if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1)break;i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0;eb=753}else{d=c;eb=753}while(0);do if((eb|0)==753){d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[Xa>>2];f[g+4>>2]=f[Xa+4>>2];f[g+8>>2]=f[Xa+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[Xa+16>>2]|0);Eb=x;x=0;if(Eb&1)break;f[d>>2]=15556;f[g+20>>2]=f[p>>2];d=f[w>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);x=0;Fa(451,Wa|0);Eb=x;x=0;if(Eb&1)d=Ya()|0;else{p=Wa+20|0;d=f[p>>2]|0;q=Wa+24|0;n=f[q>>2]|0;o=(n|0)==0;do if(o){g=d;h=0;m=1}else{ega(n);h=f[q>>2]|0;g=f[p>>2]|0;if(!h){h=0;m=1;break}ega(h);m=0}while(0);Na=g;g=(f[Na+16>>2]|0)+(f[Na+20>>2]|0)|0;Eb=f[Na+4>>2]|0;i=Eb+(((g>>>0)/146|0)<<2)|0;if((f[Na+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[Oa>>2]=i;f[Oa+4>>2]=g;g=f[t>>2]|0;k=f[y>>2]|0;l=(k|0)==0;if(!l)ega(k);Eb=f[g+4>>2]|0;i=f[g+16>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Pa>>2]=b;f[Pa+4>>2]=g;g=f[t>>2]|0;c=f[y>>2]|0;j=(c|0)==0;if(!j)ega(c);i=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Qa>>2]=b;f[Qa+4>>2]=g;x=0;f[kb>>2]=f[Oa>>2];f[kb+4>>2]=f[Oa+4>>2];f[lb>>2]=f[Pa>>2];f[lb+4>>2]=f[Pa+4>>2];f[nb>>2]=f[Qa>>2];f[nb+4>>2]=f[Qa+4>>2];La(11,Ra|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;l:do if(Eb&1){d=Ya()|0;if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(o)break;QZ(n)}else{if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(!o)QZ(n);d=f[p>>2]|0;n=f[q>>2]|0;o=(n|0)==0;do if(o){g=d;h=0;m=1}else{ega(n);h=f[q>>2]|0;g=f[p>>2]|0;if(!h){h=0;m=1;break}ega(h);m=0}while(0);Ra=g;g=(f[Ra+16>>2]|0)+(f[Ra+20>>2]|0)|0;Eb=f[Ra+4>>2]|0;i=Eb+(((g>>>0)/146|0)<<2)|0;if((f[Ra+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[Sa>>2]=i;f[Sa+4>>2]=g;g=f[v>>2]|0;k=f[z>>2]|0;l=(k|0)==0;if(!l)ega(k);Eb=f[g+4>>2]|0;i=f[g+16>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Ta>>2]=b;f[Ta+4>>2]=g;g=f[v>>2]|0;c=f[z>>2]|0;j=(c|0)==0;if(!j)ega(c);i=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[Ua>>2]=b;f[Ua+4>>2]=g;x=0;f[kb>>2]=f[Sa>>2];f[kb+4>>2]=f[Sa+4>>2];f[lb>>2]=f[Ta>>2];f[lb+4>>2]=f[Ta+4>>2];f[nb>>2]=f[Ua>>2];f[nb+4>>2]=f[Ua+4>>2];La(11,Va|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){d=Ya()|0;if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(o)break;QZ(n);break}if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(!o)QZ(n);d=f[r>>2]|0;m=f[s>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;h=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=h-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;i=f[l>>2]|0;do if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(i+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1)break;i=f[l>>2]|0;d=f[b>>2]|0;h=f[j>>2]|0;g=f[k>>2]|0;eb=812}else{d=c;eb=812}while(0);do if((eb|0)==812){d=i+d|0;if((h|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[Wa>>2];f[g+4>>2]=f[Wa+4>>2];f[g+8>>2]=f[Wa+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[Wa+16>>2]|0);Eb=x;x=0;if(Eb&1)break;f[d>>2]=15556;f[g+20>>2]=f[p>>2];d=f[q>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);f[ob>>2]=f[ib>>2];f[ob+4>>2]=f[ib+4>>2];f[ob+8>>2]=f[ib+8>>2];d=ob+12|0;x=0;Ga(462,d|0,f[ib+16>>2]|0);Eb=x;x=0;if(Eb&1){d=Ya()|0;break l}f[d>>2]=15556;f[ob+20>>2]=f[r>>2];f[ob+24>>2]=f[s>>2];f[r>>2]=0;f[s>>2]=0;d=f[q>>2]|0;if(d|0)QZ(d);_P(Wa+12|0);d=f[w>>2]|0;if(d|0)QZ(d);_P(Xa+12|0);d=f[s>>2]|0;if(d|0)QZ(d);_P(ib+12|0);break j}while(0);d=Ya()|0;if(n)break;QZ(m)}while(0);g=f[q>>2]|0;if(g|0)QZ(g);_P(Wa+12|0)}break k}while(0);d=Ya()|0;if(n)break;QZ(m)}while(0);g=f[w>>2]|0;if(g|0)QZ(g);_P(Xa+12|0)}g=f[ib+24>>2]|0;if(g|0)QZ(g);_P(ib+12|0)}break i}while(0);if((eb|0)==641){d=Ya()|0;break}d=f[y>>2]|0;if(d|0)QZ(d);_P(ab+12|0);d=f[z>>2]|0;if(d|0)QZ(d);_P(db+12|0);d=f[Za>>2]|0;m=f[mb>>2]|0;n=(m|0)==0;if(!n)ega(m);j=d+8|0;i=f[j>>2]|0;k=d+4|0;g=f[k>>2]|0;Eb=i-g>>2;b=d+16|0;c=f[b>>2]|0;l=d+20|0;h=f[l>>2]|0;do if((((Eb|0)==0?0:(Eb*146|0)+-1|0)|0)==(h+c|0)){x=0;Fa(433,d|0);Eb=x;x=0;if(Eb&1){eb=949;break}h=f[l>>2]|0;c=f[b>>2]|0;i=f[j>>2]|0;g=f[k>>2]|0;eb=894}else eb=894;while(0);do if((eb|0)==894){d=h+c|0;if((i|0)==(g|0))g=0;else g=(f[g+(((d>>>0)/146|0)<<2)>>2]|0)+(((d>>>0)%146|0)*28|0)|0;f[g>>2]=f[ob>>2];f[g+4>>2]=f[ob+4>>2];f[g+8>>2]=f[ob+8>>2];d=g+12|0;x=0;Ga(462,d|0,f[ob+16>>2]|0);Eb=x;x=0;if(Eb&1){eb=949;break}f[d>>2]=15556;f[g+20>>2]=f[ob+20>>2];q=ob+24|0;d=f[q>>2]|0;f[g+24>>2]=d;if(d|0)ega(d);f[l>>2]=(f[l>>2]|0)+1;if(!n)QZ(m);d=f[Za>>2]|0;n=f[mb>>2]|0;o=(n|0)==0;do if(o){g=d;h=0;m=1}else{ega(n);h=f[mb>>2]|0;g=f[Za>>2]|0;if(!h){h=0;m=1;break}ega(h);m=0}while(0);db=g;g=(f[db+16>>2]|0)+(f[db+20>>2]|0)|0;Eb=f[db+4>>2]|0;i=Eb+(((g>>>0)/146|0)<<2)|0;if((f[db+8>>2]|0)==(Eb|0))g=0;else g=(f[i>>2]|0)+(((g>>>0)%146|0)*28|0)|0;f[fb>>2]=i;f[fb+4>>2]=g;g=f[_a>>2]|0;k=f[e>>2]|0;l=(k|0)==0;if(!l)ega(k);Eb=f[g+4>>2]|0;i=f[g+16>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[gb>>2]=b;f[gb+4>>2]=g;g=f[_a>>2]|0;c=f[e>>2]|0;j=(c|0)==0;if(!j)ega(c);i=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;Eb=f[g+4>>2]|0;b=Eb+(((i>>>0)/146|0)<<2)|0;if((f[g+8>>2]|0)==(Eb|0))g=0;else g=(f[b>>2]|0)+(((i>>>0)%146|0)*28|0)|0;f[hb>>2]=b;f[hb+4>>2]=g;x=0;f[kb>>2]=f[fb>>2];f[kb+4>>2]=f[fb+4>>2];f[lb>>2]=f[gb>>2];f[lb+4>>2]=f[gb+4>>2];f[nb>>2]=f[hb>>2];f[nb+4>>2]=f[hb+4>>2];La(11,ib|0,d|0,kb|0,lb|0,nb|0,0);Eb=x;x=0;if(Eb&1){d=Ya()|0;if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(o)break;QZ(n);break}if(!j)QZ(c);if(!l)QZ(k);if(!m)QZ(h);if(!o)QZ(n);x=0;Fa(451,nb|0);Eb=x;x=0;if(Eb&1)d=Ya()|0;else{d=f[Za>>2]|0;h=f[mb>>2]|0;i=(h|0)==0;if(!i)ega(h);Eb=f[d+4>>2]|0;g=f[d+16>>2]|0;j=Eb+(((g>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(Eb|0))d=0;else d=(f[j>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!i)QZ(h);g=f[Za>>2]|0;b=f[mb>>2]|0;c=(b|0)==0;if(!c)ega(b);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;i=f[g+4>>2]|0;if((f[g+8>>2]|0)==(i|0))l=0;else l=(f[i+(((h>>>0)/146|0)<<2)>>2]|0)+(((h>>>0)%146|0)*28|0)|0;if(!c)QZ(b);k=nb+20|0;p=nb+24|0;m:while(1){do{if((l|0)==(d|0)){eb=940;break m}g=d+20|0;h=f[g>>2]|0;i=d+24|0;b=f[i>>2]|0;c=(b|0)==0;if(!c)ega(b);do if(!h)g=0;else{h=f[g>>2]|0;g=f[i>>2]|0;if(!g){g=(f[h+20>>2]|0)!=0;break}else{ega(g);Eb=(f[h+20>>2]|0)!=0;QZ(g);g=Eb;break}}while(0);if(!c)QZ(b);do if(g){g=f[k>>2]|0;h=f[p>>2]|0;i=(h|0)==0;if(!i)ega(h);x=0;Ga(524,g|0,d|0);Eb=x;x=0;if(Eb&1){eb=974;break m}if(i)break;QZ(h)}while(0);d=d+28|0}while((d-(f[j>>2]|0)|0)!=4088);d=j+4|0;j=d;d=f[d>>2]|0}n:do if((eb|0)==940){f[rb>>2]=f[nb>>2];f[rb+4>>2]=f[nb+4>>2];f[rb+8>>2]=f[nb+8>>2];o=rb+12|0;d=rb+16|0;if(!(f[d>>2]|0))eb=942;else{x=0;Fa(429,o|0);Eb=x;x=0;if(!(Eb&1))eb=942}do if((eb|0)==942){f[d>>2]=f[nb+16>>2];x=0;Fa(430,o|0);Eb=x;x=0;if(Eb&1)break;d=f[nb+20>>2]|0;g=f[p>>2]|0;if(g|0)ega(g);f[Za>>2]=d;d=f[mb>>2]|0;f[mb>>2]=g;if(d|0)QZ(d);x=0;Ga(665,lb|0,rb|0);Eb=x;x=0;if(Eb&1)d=Ya()|0;else{m=lb+20|0;d=f[m>>2]|0;n=lb+24|0;h=f[n>>2]|0;i=(h|0)==0;if(!i)ega(h);Eb=f[d+4>>2]|0;g=f[d+16>>2]|0;j=Eb+(((g>>>0)/146|0)<<2)|0;if((f[d+8>>2]|0)==(Eb|0))d=0;else d=(f[j>>2]|0)+(((g>>>0)%146|0)*28|0)|0;if(!i)QZ(h);g=f[m>>2]|0;b=f[n>>2]|0;c=(b|0)==0;if(!c)ega(b);h=(f[g+16>>2]|0)+(f[g+20>>2]|0)|0;i=f[g+4>>2]|0;if((f[g+8>>2]|0)==(i|0))k=0;else k=(f[i+(((h>>>0)/146|0)<<2)>>2]|0)+(((h>>>0)%146|0)*28|0)|0;if(!c)QZ(b);i=kb+20|0;c=kb+24|0;l=kb+12|0;b=kb+16|0;h=j;o:while(1){do{if((k|0)==(d|0)){eb=994;break o}x=0;Ia(143,kb|0,d|0,-1);Eb=x;x=0;if(Eb&1){eb=1008;break o}f[d>>2]=f[kb>>2];f[d+4>>2]=f[kb+4>>2];f[d+8>>2]=f[kb+8>>2];if((kb|0)!=(d|0)){g=d+16|0;if(f[g>>2]|0){x=0;Fa(429,d+12|0);Eb=x;x=0;if(Eb&1){eb=1009;break o}}f[g>>2]=f[b>>2];f[b>>2]=0}Eb=f[i>>2]|0;ib=f[c>>2]|0;f[i>>2]=0;f[c>>2]=0;f[d+20>>2]=Eb;Eb=d+24|0;g=f[Eb>>2]|0;f[Eb>>2]=ib;if(g|0)QZ(g);g=f[c>>2]|0;if(g|0)QZ(g);_P(l);d=d+28|0}while((d-(f[h>>2]|0)|0)!=4088);d=h+4|0;h=d;d=f[d>>2]|0}do if((eb|0)==994){f[a>>2]=f[lb>>2];f[a+4>>2]=f[lb+4>>2];f[a+8>>2]=f[lb+8>>2];d=a+12|0;x=0;Ga(462,d|0,f[lb+16>>2]|0);Eb=x;x=0;if(Eb&1){d=Ya()|0;break}f[d>>2]=15556;f[a+20>>2]=f[m>>2];f[a+24>>2]=f[n>>2];f[m>>2]=0;f[n>>2]=0;_P(lb+12|0);d=f[p>>2]|0;if(d|0)QZ(d);_P(nb+12|0);d=f[q>>2]|0;if(d|0)QZ(d);_P(ob+12|0);d=f[mb>>2]|0;if(d|0)QZ(d);_P(o);d=f[qb>>2]|0;if(d|0)QZ(d);_P(sb+12|0);d=f[$a>>2]|0;if(d|0)QZ(d);_P(tb+12|0);_u(ub);_u(vb);_u(wb);d=f[bb>>2]|0;if(d|0)QZ(d);_P(xb+12|0);d=f[cb>>2]|0;if(d|0)QZ(d);_P(yb+12|0);d=e;break d}else if((eb|0)==1008){d=Ya()|0;eb=1012}else if((eb|0)==1009){d=Ya()|0;g=f[c>>2]|0;if(g|0)QZ(g);_P(l);eb=1012}while(0);g=f[n>>2]|0;if(g|0)QZ(g);_P(lb+12|0)}break n}while(0);d=Ya()|0}else if((eb|0)==974){d=Ya()|0;if(i)break;QZ(h)}while(0);g=f[p>>2]|0;if(g|0)QZ(g);_P(nb+12|0)}}while(0);do if((eb|0)==949){d=Ya()|0;if(n)break;QZ(m)}while(0);g=f[ob+24>>2]|0;if(g|0)QZ(g);_P(ob+12|0);break h}while(0);g=f[y>>2]|0;if(g|0)QZ(g);_P(ab+12|0)}}g=f[z>>2]|0;if(g|0)QZ(g);_P(db+12|0);eb=948}while(0);break f}}if((eb|0)==456){g=f[_>>2]|0;if(g|0)QZ(g);_P($);eb=459}else if((eb|0)==570){g=f[Y>>2]|0;if(g|0)QZ(g);_P(Z);eb=573}if((eb|0)==459)eb=460;else if((eb|0)==573)eb=574;if((eb|0)==460){g=f[ba>>2]|0;if(g|0)QZ(g);_P(ca);eb=463}else if((eb|0)==574){g=f[aa>>2]|0;if(g|0)QZ(g);_P(da)}if((eb|0)==463){g=f[ea>>2]|0;if(g|0)QZ(g);_P(fa);eb=466}if((eb|0)==466)eb=471;if((eb|0)==471){g=f[ga>>2]|0;if(g|0)QZ(g);_P(ha);eb=474}if((eb|0)==474)eb=475;if((eb|0)==475){g=f[ja>>2]|0;if(g|0)QZ(g);_P(ka);eb=544}}while(0);do if((eb|0)==541){d=Ya()|0;if(n)break;QZ(m)}while(0);g=f[mb>>2]|0;if(g|0)QZ(g);_P(rb+12|0)}}while(0);do if((eb|0)==538){d=Ya()|0;if(n)break;QZ(m)}while(0);g=f[qb>>2]|0;if(g|0)QZ(g);_P(sb+12|0)}g=f[tb+24>>2]|0;if(g|0)QZ(g);_P(tb+12|0)}}_u(ub)}_u(vb)}_u(wb);g=f[xb+24>>2]|0;if(g|0)QZ(g);_P(xb+12|0)}g=f[yb+24>>2]|0;if(g|0)QZ(g);_P(yb+12|0)}eb=1066;break d}else if((eb|0)==124)d=Ya()|0;else if((eb|0)==125){d=Ya()|0;eb=128}else if((eb|0)==126){d=Ya()|0;if(i){eb=128;break}QZ(h);eb=128}while(0);if((eb|0)==128){g=f[l>>2]|0;if(g|0)QZ(g);_P(m)}eb=1066}while(0);if((eb|0)==1066){e=f[e>>2]|0;if(e|0)QZ(e);_P(zb+12|0);break}d=f[d>>2]|0;if(d|0)QZ(d);_P(zb+12|0);d=f[Ab+24>>2]|0;if(d|0)QZ(d);_P(Ab+12|0);break c}while(0);e=f[Ab+24>>2]|0;if(e|0)QZ(e);_P(Ab+12|0)}eb=1080}while(0);if((eb|0)==1080){e=f[Bb+24>>2]|0;if(e|0)QZ(e);_P(Bb+12|0);break a}d=f[Bb+24>>2]|0;if(d|0)QZ(d);_P(Bb+12|0);d=f[Cb+24>>2]|0;if(d|0)QZ(d);_P(Cb+12|0);d=f[Db+24>>2]|0;if(d|0)QZ(d);_P(Db+12|0);u=pb;return}while(0);if((eb|0)==43)d=Ya()|0;e=f[db+24>>2]|0;if(e|0)QZ(e);_P(db+12|0)}}}if((eb|0)==41)d=Ya()|0;e=f[lb+24>>2]|0;if(e|0)QZ(e);_P(lb+12|0)}e=f[nb+24>>2]|0;if(e|0)QZ(e);_P(nb+12|0);eb=81}while(0)}e=f[Cb+24>>2]|0;if(e|0)QZ(e);_P(Cb+12|0)}}e=f[Db+24>>2]|0;if(e|0)QZ(e);_P(Db+12|0);Eb=d;jb(Eb|0)}function _c(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,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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,ra=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,Ja=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ua=0,Va=0,Wa=0,Xa=0,Za=0,_a=0,$a=0,ab=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=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,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,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=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,td=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,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;ke=0;ee=u;u=u+1936|0;he=ee+1864|0;le=ee+1720|0;ie=ee+1576|0;je=ee+1568|0;ge=ee+1556|0;Pd=ee+1544|0;Bd=ee+160|0;nc=ee+1536|0;oc=ee+1528|0;pc=ee+1924|0;qc=ee+1520|0;rc=ee+1512|0;sc=ee+1923|0;tc=ee+1504|0;uc=ee+1496|0;vc=ee+1922|0;wc=ee+120|0;xc=ee+1488|0;yc=ee+1480|0;zc=ee+1921|0;Ac=ee+80|0;Bc=ee+1456|0;Cc=ee+1440|0;Dc=ee+1920|0;Ec=ee+40|0;Fc=ee+1336|0;Gc=ee+1328|0;Hc=ee+1919|0;ne=ee+1264|0;me=ee+1240|0;p=ee+1918|0;Sd=ee+1216|0;Td=ee+1208|0;Ud=ee+1917|0;Vd=ee+1144|0;Wd=ee+1136|0;Xd=ee+1916|0;j=ee;qe=ee+1060|0;re=ee+1024|0;oe=ee+1e3|0;o=ee+1472|0;Ic=ee+1464|0;Od=ee+1444|0;Nd=ee+1400|0;Jc=ee+1392|0;Lc=ee+1352|0;Mc=ee+1344|0;Nc=ee+1320|0;Oc=ee+1280|0;sd=ee+1272|0;td=ee+1248|0;Pc=ee+1232|0;Qc=ee+1224|0;Rc=ee+1168|0;Cd=ee+1160|0;Dd=ee+1152|0;ud=ee+1124|0;Ed=ee+1112|0;Fd=ee+1072|0;Yd=ee+1048|0;Kd=ee+1036|0;Sc=ee+1016|0;Tc=ee+1008|0;jd=ee+992|0;Uc=ee+984|0;Vc=ee+976|0;Wc=ee+936|0;vd=ee+928|0;wd=ee+912|0;Xc=ee+904|0;Yc=ee+864|0;xd=ee+856|0;yd=ee+840|0;kd=ee+832|0;Zc=ee+824|0;_c=ee+816|0;$c=ee+808|0;ld=ee+792|0;ad=ee+752|0;zd=ee+744|0;Ad=ee+728|0;bd=ee+720|0;Gd=ee+704|0;Hd=ee+664|0;Zd=ee+648|0;Ld=ee+636|0;md=ee+624|0;cd=ee+584|0;nd=ee+576|0;rd=ee+568|0;od=ee+552|0;dd=ee+512|0;pd=ee+504|0;jc=ee+496|0;ed=ee+488|0;fd=ee+472|0;kc=ee+432|0;gd=ee+416|0;lc=ee+376|0;hd=ee+360|0;mc=ee+320|0;id=ee+312|0;_d=ee+304|0;Qd=ee+296|0;Rd=ee+288|0;$d=ee+248|0;fe=ee+236|0;ce=ee+224|0;be=ee+212|0;ae=ee+200|0;jB(he,a,53148);Id=c+11|0;g=b[Id>>0]|0;pe=g<<24>>24<0;Jd=c+4|0;x=0;g=ta(41,he|0,(pe?f[c>>2]|0:c)|0,(pe?f[Jd>>2]|0:g&255)|0)|0;pe=x;x=0;if(pe&1){g=Ya()|0;if((b[he+11>>0]|0)<0)Hta(f[he>>2]|0);re=g;jb(re|0)}f[qe>>2]=f[g>>2];f[qe+4>>2]=f[g+4>>2];f[qe+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if((b[he+11>>0]|0)<0)Hta(f[he>>2]|0);f[re+4>>2]=0;f[re+8>>2]=0;pe=re+4|0;f[re>>2]=pe;x=0;n=qa(318,88)|0;de=x;x=0;a:do if(de&1)ke=21;else{de=e+4|0;s=j;q=(f[de>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,n|0);Md=x;x=0;do if(Md&1)g=Ya()|0;else{s=n+12|0;q=j;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;g=n+56|0;f[g>>2]=0;f[n>>2]=6516;e=n+60|0;f[e>>2]=9660;l=n+64|0;m=n+68|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;x=0;Ga(516,l|0,0);Md=x;x=0;if(Md&1){g=Ya()|0;k=I;e=f[l>>2]|0;if(e|0){j=f[m>>2]|0;if((j|0)!=(e|0)){do{oe=j+-8|0;f[m>>2]=oe;Kc[f[f[oe>>2]>>2]&511](oe);j=f[m>>2]|0}while((j|0)!=(e|0));e=f[l>>2]|0}Hta(e)}break}f[n>>2]=9488;f[e>>2]=9620;f[n+80>>2]=1;b[n+84>>0]=0;b[n+85>>0]=0;b[n+86>>0]=0;f[g>>2]=5;x=0;Ga(462,oe|0,n|0);Md=x;x=0;if(Md&1){ke=21;break a}f[oe>>2]=7584;Md=oe+4|0;b[(f[Md>>2]|0)+84>>0]=1;e=f[de>>2]|0;j=(f[e+68>>2]|0)-(f[e+64>>2]|0)>>3;b:do if(!j)ke=16;else{k=o+4|0;g=0;while(1){x=0;Ga(462,o|0,f[(f[(f[e+64>>2]|0)+(g<<3)+4>>2]|0)+64>>2]|0);qd=x;x=0;if(qd&1)break;f[o>>2]=7696;e=f[k>>2]|0;if(!e)ke=27;else if((f[343]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)){_P(o);e=e+60|0;if(b[e>>0]|0)b[e>>0]=42}else ke=27;if((ke|0)==27){ke=0;_P(o)}g=g+1|0;if(g>>>0>=j>>>0){ke=16;break b}e=f[de>>2]|0}g=Ya()|0}while(0);c:do if((ke|0)==16){qd=d+4|0;j=f[qd>>2]|0;e=f[j+60>>2]|0;g=f[j+56>>2]|0;m=e-g>>3;do if(m){l=he+4|0;k=0;g=j;while(1){g=g+52|0;x=0;g=sa(f[(f[g>>2]|0)+16>>2]|0,g|0,k|0)|0;ke=x;x=0;if(ke&1){ke=43;break}x=0;Ga(462,he|0,f[g+4>>2]|0);ke=x;x=0;if(ke&1){ke=43;break}f[he>>2]=13488;ke=(f[l>>2]|0)+52|0;f[me>>2]=ke;x=0;La(16,ne|0,re|0,ke|0,87749,me|0,p|0);ke=x;x=0;if(ke&1){ke=44;break}e=f[ne>>2]|0;g=e+28|0;e=e+32|0;if(f[e>>2]|0){x=0;Fa(429,g|0);ke=x;x=0;if(ke&1){ke=44;break}}f[e>>2]=f[l>>2];x=0;Fa(430,g|0);ke=x;x=0;if(ke&1){ke=44;break}_P(he);k=k+1|0;g=f[qd>>2]|0;if(k>>>0>=m>>>0){ke=33;break}}if((ke|0)==33){e=f[g+60>>2]|0;g=f[g+56>>2]|0;break}else if((ke|0)==43)g=Ya()|0;else if((ke|0)==44){g=Ya()|0;_P(he)}break c}while(0);ic=e-g>>3;bc=f[de>>2]|0;bc=(f[bc+68>>2]|0)-(f[bc+64>>2]|0)>>3;d:do if(!bc){g=0;ke=46}else{p=me+4|0;gc=ne+4|0;t=Zc+4|0;v=le+4|0;w=_c+4|0;y=he+4|0;z=ie+4|0;A=bc+-1|0;Xb=ie+64|0;B=ie+8|0;Ab=ie+12|0;C=ie+4|0;D=ie+64|0;E=ie+136|0;F=ie+140|0;Bb=ie+44|0;G=ie+60|0;gb=he+11|0;ub=ie+8|0;H=qe+11|0;J=qe+4|0;L=(ic|0)==1;K=L?43139:43149;L=L?9:10;hb=ld+11|0;Cb=Bb+11|0;M=ie+4|0;N=he+4|0;Db=Ad+11|0;O=je+4|0;Yb=le+64|0;P=le+8|0;Eb=le+12|0;Q=le+4|0;R=le+64|0;S=le+136|0;T=le+140|0;Fb=le+44|0;U=le+60|0;ib=he+11|0;vb=le+8|0;hc=i+4|0;kb=od+11|0;Gb=Fb+11|0;V=pd+4|0;W=he+4|0;Zb=le+64|0;X=le+8|0;Hb=le+12|0;Y=le+4|0;Z=le+64|0;_=le+136|0;$=le+140|0;Ib=le+44|0;aa=le+60|0;lb=he+11|0;wb=le+8|0;mb=fd+11|0;Jb=Ib+11|0;ba=ed+4|0;_b=le+64|0;ca=le+8|0;Kb=le+12|0;da=le+4|0;ea=le+64|0;fa=le+136|0;ga=le+140|0;Lb=le+44|0;ha=le+60|0;nb=he+11|0;xb=le+8|0;ob=hd+11|0;Mb=Lb+11|0;ia=id+4|0;ja=he+4|0;$b=le+64|0;ka=le+8|0;Nb=le+12|0;la=le+4|0;ma=le+64|0;na=le+136|0;oa=le+140|0;Ob=le+44|0;pa=le+60|0;pb=he+11|0;yb=le+8|0;qb=gd+11|0;Pb=Ob+11|0;ra=bd+4|0;ua=je+4|0;cc=ge+4|0;rb=he+11|0;ac=le+64|0;va=le+8|0;Qb=le+12|0;wa=le+4|0;xa=le+64|0;ya=le+136|0;za=le+140|0;Rb=le+44|0;Aa=le+60|0;sb=he+11|0;zb=le+8|0;fc=Pd+11|0;Ba=Pd+4|0;tb=md+11|0;Sb=Rb+11|0;Ca=nd+4|0;Da=Bd+4|0;Ea=Jc+4|0;Ha=le+4|0;Ja=he+4|0;Ma=ie+4|0;Na=je+4|0;Tb=td+11|0;Oa=Sc+4|0;Pa=ie+4|0;Qa=je+4|0;Ra=ge+4|0;Sa=le+4|0;Ub=yd+11|0;Ua=Uc+4|0;Va=Pd+4|0;Wa=Bd+4|0;Vb=wd+11|0;Xa=jd+4|0;Za=kd+4|0;_a=he+4|0;$a=Pc+4|0;ab=le+4|0;dc=ie+4|0;cb=je+4|0;Wb=ud+11|0;ec=ge+11|0;db=he+4|0;eb=Ic+4|0;fb=he+4|0;g=0;e=0;e:while(1){j=(f[de>>2]|0)+60|0;x=0;j=sa(f[(f[j>>2]|0)+16>>2]|0,j|0,e|0)|0;s=x;x=0;if(s&1){ke=57;break}x=0;Ga(462,ne|0,f[j+4>>2]|0);s=x;x=0;if(s&1){ke=57;break}f[ne>>2]=10408;if(ic>>>0>g>>>0){j=(f[qd>>2]|0)+52|0;x=0;j=sa(f[(f[j>>2]|0)+16>>2]|0,j|0,g|0)|0;s=x;x=0;if(s&1){ke=118;break}x=0;Ga(462,me|0,f[j+4>>2]|0);s=x;x=0;if(s&1){ke=118;break}f[me>>2]=13488;l=f[p>>2]|0;j=f[gc>>2]|0;k=(b[j+80>>0]|0)!=0;f:do if(!(b[l+72>>0]|0)){do if(k){x=0;Ga(462,Zc|0,f[j+64>>2]|0);s=x;x=0;if(s&1){ke=410;break e}f[Zc>>2]=7696;x=0;j=qa(340,f[t>>2]|0)|0;s=x;x=0;if(s&1){ke=411;break e}x=0;Ga(462,le|0,j|0);s=x;x=0;if(s&1){ke=411;break e}f[le>>2]=7584;_P(Zc);j=f[v>>2]|0;if(!j){x=0;Ga(462,_c|0,f[(f[gc>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){ke=412;break e}f[_c>>2]=7696;x=0;j=qa(336,f[w>>2]|0)|0;s=x;x=0;if(s&1){ke=413;break e}x=0;Ga(462,he|0,j|0);s=x;x=0;if(s&1){ke=413;break e}f[he>>2]=7696;_P(_c);if(f[y>>2]|0){x=0;n=qa(318,88)|0;s=x;x=0;if(s&1){ke=415;break e}s=Bd;q=(f[gc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,n|0);s=x;x=0;if(s&1){ke=416;break e}s=n+12|0;q=Bd;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;j=n+56|0;f[j>>2]=0;f[n>>2]=6516;k=n+60|0;f[k>>2]=9660;m=n+64|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(516,m|0,1);s=x;x=0;if(s&1){ke=398;break e}f[n>>2]=9488;f[k>>2]=9620;f[n+80>>2]=1;b[n+84>>0]=0;b[n+85>>0]=0;b[n+86>>0]=0;f[j>>2]=5;x=0;Ga(462,ie|0,n|0);s=x;x=0;if(s&1){ke=415;break e}f[ie>>2]=7584;if(f[v>>2]|0){x=0;Fa(429,le|0);s=x;x=0;if(s&1){ke=418;break e}}f[v>>2]=f[z>>2];f[z>>2]=0;_P(ie);j=(f[v>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;x=0;Ga(462,$c|0,f[y>>2]|0);s=x;x=0;if(s&1){ke=414;break e}f[$c>>2]=7696;x=0;Ga(k|0,j|0,$c|0);s=x;x=0;if(s&1){ke=420;break e}_P($c)}_P(he);j=f[v>>2]|0;if(!j)j=9;else ke=424}else ke=424;do if((ke|0)==424){ke=0;k=(f[j+68>>2]|0)-(f[j+64>>2]|0)>>3;if(!k){j=9;break}m=ic-g|0;do if(k>>>0>m>>>0){if(b[(f[qd>>2]|0)+73>>0]|0)break;k=A+k|0;f[B>>2]=16496;f[ie>>2]=2284;f[Xb>>2]=2304;f[C>>2]=0;x=0;Ga(531,D|0,Ab|0);s=x;x=0;if(s&1){ke=437;break e}f[E>>2]=0;f[F>>2]=-1;f[ie>>2]=16476;f[Xb>>2]=16516;f[B>>2]=16496;x=0;Fa(437,Ab|0);s=x;x=0;if(s&1){ke=438;break e}f[Ab>>2]=16336;f[Bb>>2]=0;f[Bb+4>>2]=0;f[Bb+8>>2]=0;f[Bb+12>>2]=0;f[G>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,Ab|0,he|0);s=x;x=0;if(s&1){ke=432;break e}if((b[gb>>0]|0)<0)Hta(f[he>>2]|0);j=b[H>>0]|0;s=j<<24>>24<0;x=0;j=ta(44,ub|0,(s?f[qe>>2]|0:qe)|0,(s?f[J>>2]|0:j&255)|0)|0;s=x;x=0;if(s&1){ke=456;break e}x=0;j=ta(44,j|0,43210,7)|0;s=x;x=0;if(s&1){ke=456;break e}x=0;sa(993,j|0,ic|0)|0;s=x;x=0;if(s&1){ke=456;break e}x=0;ta(44,ub|0,K|0,L|0)|0;s=x;x=0;if(s&1){ke=456;break e}x=0;j=ta(44,ub|0,43218,5)|0;s=x;x=0;if(s&1){ke=456;break e}x=0;sa(993,j|0,k|0)|0;s=x;x=0;if(s&1){ke=456;break e}s=(k|0)==1;x=0;ta(44,ub|0,(s?43224:43236)|0,(s?11:13)|0)|0;s=x;x=0;if(s&1){ke=456;break e}x=0;Ga(533,ld|0,Ab|0);s=x;x=0;if(s&1){ke=456;break e}x=0;s=he;q=(f[de>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ga(569,ld|0,he|0);s=x;x=0;if(s&1){ke=457;break e}if((b[hb>>0]|0)<0)Hta(f[ld>>2]|0);k=f[v>>2]|0;j=f[k+68>>2]|0;if(j-(f[k+64>>2]|0)>>3>>>0>m>>>0)do{k=k+68|0;l=j+-8|0;do{s=j+-8|0;f[k>>2]=s;Kc[f[f[s>>2]>>2]&511](s);j=f[k>>2]|0}while((j|0)!=(l|0));k=f[v>>2]|0;j=f[k+68>>2]|0}while(j-(f[k+64>>2]|0)>>3>>>0>m>>>0);f[ie>>2]=16476;f[Xb>>2]=16516;f[ub>>2]=16496;f[Ab>>2]=16336;if((b[Cb>>0]|0)<0)Hta(f[Bb>>2]|0);Bca(Ab);KU(ie,16528);uma(Xb);j=f[v>>2]|0}while(0);j=j+60|0;x=0;j=sa(f[(f[j>>2]|0)+16>>2]|0,j|0,0)|0;s=x;x=0;if(s&1){ke=483;break e}x=0;Ga(462,ie|0,f[j+4>>2]|0);s=x;x=0;if(s&1){ke=483;break e}f[ie>>2]=7696;j=f[M>>2]|0;if(!j)j=0;else j=(f[271]|0)==(f[(f[(f[j>>2]|0)+-4>>2]|0)+4>>2]|0)?j:0;x=0;Ga(462,he|0,j|0);s=x;x=0;if(s&1){ke=484;break e}f[he>>2]=10408;if(f[gc>>2]|0){x=0;Fa(429,ne|0);s=x;x=0;if(s&1){ke=485;break e}}s=f[N>>2]|0;f[gc>>2]=s;f[N>>2]=0;_P(he);if(!s){j=f[M>>2]|0;x=0;k=qa(318,88)|0;s=x;x=0;if(s&1){ke=487;break e}s=ad;q=j+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(462,zd|0,j|0);s=x;x=0;if(s&1){ke=488;break e}f[zd>>2]=7696;f[Ad>>2]=0;f[Ad+4>>2]=0;f[Ad+8>>2]=0;x=0;s=he;q=ad;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));La(13,k|0,he|0,zd|0,Ad|0,0,0);s=x;x=0;if(s&1){g=1;ke=489;break e}x=0;Ga(462,je|0,k|0);s=x;x=0;if(s&1){g=0;ke=489;break e}f[je>>2]=10408;if(f[gc>>2]|0){x=0;Fa(429,ne|0);s=x;x=0;if(s&1){ke=490;break e}}f[gc>>2]=f[O>>2];f[O>>2]=0;_P(je);if((b[Db>>0]|0)<0)Hta(f[Ad>>2]|0);_P(zd)}n=f[v>>2]|0;k=f[n+64>>2]|0;j=k+8|0;n=n+68|0;m=f[n>>2]|0;if((j|0)==(m|0))ke=501;else{do{l=k+4|0;if(f[l>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){ke=506;break e}}s=j+4|0;f[l>>2]=f[s>>2];f[s>>2]=0;j=j+8|0;k=k+8|0}while((j|0)!=(m|0));j=f[n>>2]|0;if((j|0)!=(k|0))ke=501}if((ke|0)==501){ke=0;do{s=j+-8|0;f[n>>2]=s;Kc[f[f[s>>2]>>2]&511](s);j=f[n>>2]|0}while((j|0)!=(k|0))}j=f[v>>2]|0;if((f[j+68>>2]|0)==(f[j+64>>2]|0))ke=505;else if((g+1|0)==(ic|0)&(b[j+84>>0]|0)==0)ke=505;if((ke|0)==505){ke=0;e=e+1|0}_P(ie);j=0}while(0);_P(le);if(j|0)break f;j=f[gc>>2]|0}else{if(!(b[j+81>>0]|0)){e=e+1|0;break}x=0;Ga(462,bd|0,f[j+64>>2]|0);s=x;x=0;if(s&1){ke=521;break e}f[bd>>2]=7696;j=f[ra>>2]|0;if(!j)j=0;else j=(f[249]|0)==(f[(f[(f[j>>2]|0)+-4>>2]|0)+4>>2]|0)?j:0;x=0;Ga(462,je|0,j|0);s=x;x=0;if(s&1){ke=522;break e}f[je>>2]=16784;_P(bd);m=f[ua>>2]|0;j=f[m+84>>2]|0;m=f[m+88>>2]|0;if((j|0)!=(m|0))do{x=0;Ga(462,ge|0,f[j+4>>2]|0);s=x;x=0;if(s&1){ke=538;break e}f[ge>>2]=7696;x=0;k=qa(334,f[cc>>2]|0)|0;s=x;x=0;if(s&1){ke=539;break e}if(!k){ke=526;break e}x=0;Ka(5,he|0,k+64|0,0,0,1);s=x;x=0;if(s&1){ke=588;break e}x=0;k=ta(43,he|0,0,43208)|0;s=x;x=0;if(s&1){ke=589;break e}f[Pd>>2]=f[k>>2];f[Pd+4>>2]=f[k+4>>2];f[Pd+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;if((b[rb>>0]|0)<0)Hta(f[he>>2]|0);x=0;k=sa(1015,re|0,Pd|0)|0;s=x;x=0;if(s&1){ke=592;break e}if(!k){f[va>>2]=16496;f[le>>2]=2284;f[ac>>2]=2304;f[wa>>2]=0;x=0;Ga(531,xa|0,Qb|0);s=x;x=0;if(s&1){ke=575;break e}f[ya>>2]=0;f[za>>2]=-1;f[le>>2]=16476;f[ac>>2]=16516;f[va>>2]=16496;x=0;Fa(437,Qb|0);s=x;x=0;if(s&1){ke=576;break e}f[Qb>>2]=16336;f[Rb>>2]=0;f[Rb+4>>2]=0;f[Rb+8>>2]=0;f[Rb+12>>2]=0;f[Aa>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,Qb|0,he|0);s=x;x=0;if(s&1){ke=570;break e}if((b[sb>>0]|0)<0)Hta(f[he>>2]|0);k=b[H>>0]|0;s=k<<24>>24<0;x=0;k=ta(44,zb|0,(s?f[qe>>2]|0:qe)|0,(s?f[J>>2]|0:k&255)|0)|0;s=x;x=0;if(s&1){ke=594;break e}x=0;k=ta(44,k|0,43250,24)|0;s=x;x=0;if(s&1){ke=594;break e}s=b[fc>>0]|0;r=s<<24>>24<0;x=0;ta(44,k|0,(r?f[Pd>>2]|0:Pd)|0,(r?f[Ba>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=594;break e}x=0;Ga(533,md|0,Qb|0);s=x;x=0;if(s&1){ke=594;break e}s=cd;q=(f[gc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));k=f[(f[hc>>2]|0)+8>>2]|0;x=0;s=he;q=cd;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(100,md|0,he|0,k|0);s=x;x=0;if(s&1){ke=595;break e}if((b[tb>>0]|0)<0)Hta(f[md>>2]|0);f[le>>2]=16476;f[ac>>2]=16516;f[zb>>2]=16496;f[Qb>>2]=16336;if((b[Sb>>0]|0)<0)Hta(f[Rb>>2]|0);Bca(Qb);KU(le,16528);uma(ac)}k=f[ua>>2]|0;x=0;Ga(462,rd|0,f[cc>>2]|0);s=x;x=0;if(s&1){ke=613;break e}f[rd>>2]=7696;x=0;Ia(78,nd|0,k+60|0,rd|0);s=x;x=0;if(s&1){ke=614;break e}x=0;Ga(462,Bd|0,f[Ca>>2]|0);s=x;x=0;if(s&1){ke=615;break e}f[Bd>>2]=6664;x=0;k=qa(342,h|0)|0;s=x;x=0;if(s&1){ke=616;break e}f[le>>2]=Pd;x=0;La(17,he|0,k|0,Pd|0,87749,le|0,ie|0);s=x;x=0;if(s&1){ke=616;break e}k=f[he>>2]|0;l=k+28|0;if((l|0)!=(Bd|0)){k=k+32|0;if(f[k>>2]|0){x=0;Fa(429,l|0);s=x;x=0;if(s&1){ke=616;break e}}f[k>>2]=f[Da>>2];f[Da>>2]=0}_P(Bd);_P(nd);_P(rd);if((b[fc>>0]|0)<0)Hta(f[Pd>>2]|0);_P(ge);j=j+8|0}while((j|0)!=(m|0));_P(je);j=8;e=e+1|0;break f}while(0);l=j+68|0;k=b[l+11>>0]|0;if(k<<24>>24<0)j=f[j+72>>2]|0;else j=k&255;if(!j){x=0;j=sa(1016,h|0,(f[p>>2]|0)+52|0)|0;s=x;x=0;if(s&1){ke=119;break e}if(j){f[P>>2]=16496;f[le>>2]=2284;f[Yb>>2]=2304;f[Q>>2]=0;x=0;Ga(531,R|0,Eb|0);s=x;x=0;if(s&1){ke=643;break e}f[S>>2]=0;f[T>>2]=-1;f[le>>2]=16476;f[Yb>>2]=16516;f[P>>2]=16496;x=0;Fa(437,Eb|0);s=x;x=0;if(s&1){ke=644;break e}f[Eb>>2]=16336;f[Fb>>2]=0;f[Fb+4>>2]=0;f[Fb+8>>2]=0;f[Fb+12>>2]=0;f[U>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,Eb|0,he|0);s=x;x=0;if(s&1){ke=638;break e}if((b[ib>>0]|0)<0)Hta(f[he>>2]|0);x=0;j=ta(44,vb|0,43275,10)|0;s=x;x=0;if(s&1){ke=658;break e}r=f[p>>2]|0;d=r+52|0;s=b[d+11>>0]|0;q=s<<24>>24<0;x=0;j=ta(44,j|0,(q?f[d>>2]|0:d)|0,(q?f[r+56>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=658;break e}x=0;j=ta(44,j|0,43286,36)|0;s=x;x=0;if(s&1){ke=658;break e}s=b[H>>0]|0;r=s<<24>>24<0;x=0;ta(44,j|0,(r?f[qe>>2]|0:qe)|0,(r?f[J>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=658;break e}x=0;Ga(533,od|0,Eb|0);s=x;x=0;if(s&1){ke=658;break e}s=dd;q=(f[gc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));j=f[(f[hc>>2]|0)+8>>2]|0;x=0;s=he;q=dd;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(100,od|0,he|0,j|0);s=x;x=0;if(s&1){ke=659;break e}if((b[kb>>0]|0)<0)Hta(f[od>>2]|0);f[le>>2]=16476;f[Yb>>2]=16516;f[vb>>2]=16496;f[Eb>>2]=16336;if((b[Gb>>0]|0)<0)Hta(f[Fb>>2]|0);Bca(Eb);KU(le,16528);uma(Yb)}x=0;Ga(462,pd|0,f[(f[gc>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){ke=674;break e}f[pd>>2]=7696;x=0;Ga(462,he|0,f[V>>2]|0);s=x;x=0;if(s&1){ke=675;break e}f[he>>2]=6664;x=0;j=qa(342,h|0)|0;s=x;x=0;if(s&1){ke=676;break e}s=(f[p>>2]|0)+52|0;f[ge>>2]=s;x=0;La(17,je|0,j|0,s|0,87749,ge|0,Pd|0);s=x;x=0;if(s&1){ke=676;break e}j=f[je>>2]|0;k=j+28|0;if((k|0)!=(he|0)){j=j+32|0;if(f[j>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){ke=676;break e}}f[j>>2]=f[W>>2];f[W>>2]=0}_P(he);_P(pd);g=g+1|0;j=0;break}x=0;j=sa(1015,re|0,l|0)|0;s=x;x=0;if(s&1){ke=119;break e}do if(!j){if(b[(f[qd>>2]|0)+73>>0]|0){j=(f[Md>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;x=0;Ga(462,ed|0,f[gc>>2]|0);s=x;x=0;if(s&1){ke=119;break e}f[ed>>2]=10408;x=0;Ga(462,jc|0,f[ba>>2]|0);s=x;x=0;if(s&1){ke=686;break e}f[jc>>2]=7696;x=0;Ga(k|0,j|0,jc|0);s=x;x=0;if(s&1){ke=687;break e}_P(jc);_P(ed);break}f[X>>2]=16496;f[le>>2]=2284;f[Zb>>2]=2304;f[Y>>2]=0;x=0;Ga(531,Z|0,Hb|0);s=x;x=0;if(s&1){ke=699;break e}f[_>>2]=0;f[$>>2]=-1;f[le>>2]=16476;f[Zb>>2]=16516;f[X>>2]=16496;x=0;Fa(437,Hb|0);s=x;x=0;if(s&1){ke=700;break e}f[Hb>>2]=16336;f[Ib>>2]=0;f[Ib+4>>2]=0;f[Ib+8>>2]=0;f[Ib+12>>2]=0;f[aa>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,Hb|0,he|0);s=x;x=0;if(s&1){ke=694;break e}if((b[lb>>0]|0)<0)Hta(f[he>>2]|0);j=b[H>>0]|0;s=j<<24>>24<0;x=0;j=ta(44,wb|0,(s?f[qe>>2]|0:qe)|0,(s?f[J>>2]|0:j&255)|0)|0;s=x;x=0;if(s&1){ke=713;break e}x=0;j=ta(44,j|0,43250,24)|0;s=x;x=0;if(s&1){ke=713;break e}r=f[gc>>2]|0;d=r+68|0;s=b[d+11>>0]|0;q=s<<24>>24<0;x=0;ta(44,j|0,(q?f[d>>2]|0:d)|0,(q?f[r+72>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=713;break e}x=0;Ga(533,fd|0,Hb|0);s=x;x=0;if(s&1){ke=713;break e}s=kc;q=(f[gc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));j=f[(f[hc>>2]|0)+8>>2]|0;x=0;s=he;q=kc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(100,fd|0,he|0,j|0);s=x;x=0;if(s&1){ke=714;break e}if((b[mb>>0]|0)<0)Hta(f[fd>>2]|0);f[le>>2]=16476;f[Zb>>2]=16516;f[wb>>2]=16496;f[Hb>>2]=16336;if((b[Jb>>0]|0)<0)Hta(f[Ib>>2]|0);Bca(Hb);KU(le,16528);uma(Zb)}while(0);s=(f[gc>>2]|0)+68|0;f[rc>>2]=s;x=0;La(16,qc|0,re|0,s|0,87749,rc|0,sc|0);s=x;x=0;if(s&1){ke=119;break e}do if(f[(f[qc>>2]|0)+32>>2]|0){s=(f[gc>>2]|0)+68|0;f[uc>>2]=s;x=0;La(16,tc|0,re|0,s|0,87749,uc|0,vc|0);s=x;x=0;if(s&1){ke=119;break e}if(!(b[(f[(f[tc>>2]|0)+32>>2]|0)+72>>0]|0))break;f[ka>>2]=16496;f[le>>2]=2284;f[$b>>2]=2304;f[la>>2]=0;x=0;Ga(531,ma|0,Nb|0);s=x;x=0;if(s&1){ke=734;break e}f[na>>2]=0;f[oa>>2]=-1;f[le>>2]=16476;f[$b>>2]=16516;f[ka>>2]=16496;x=0;Fa(437,Nb|0);s=x;x=0;if(s&1){ke=735;break e}f[Nb>>2]=16336;f[Ob>>2]=0;f[Ob+4>>2]=0;f[Ob+8>>2]=0;f[Ob+12>>2]=0;f[pa>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,Nb|0,he|0);s=x;x=0;if(s&1){ke=729;break e}if((b[pb>>0]|0)<0)Hta(f[he>>2]|0);x=0;j=ta(44,yb|0,43323,9)|0;s=x;x=0;if(s&1){ke=750;break e}r=f[gc>>2]|0;d=r+68|0;s=b[d+11>>0]|0;q=s<<24>>24<0;x=0;j=ta(44,j|0,(q?f[d>>2]|0:d)|0,(q?f[r+72>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=750;break e}x=0;j=ta(44,j|0,53449,4)|0;s=x;x=0;if(s&1){ke=750;break e}s=b[H>>0]|0;r=s<<24>>24<0;x=0;j=ta(44,j|0,(r?f[qe>>2]|0:qe)|0,(r?f[J>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=750;break e}x=0;ta(44,j|0,43333,32)|0;s=x;x=0;if(s&1){ke=750;break e}x=0;Ga(533,gd|0,Nb|0);s=x;x=0;if(s&1){ke=750;break e}s=lc;q=(f[gc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));j=f[(f[hc>>2]|0)+8>>2]|0;x=0;s=he;q=lc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(100,gd|0,he|0,j|0);s=x;x=0;if(s&1){ke=751;break e}if((b[qb>>0]|0)<0)Hta(f[gd>>2]|0);f[le>>2]=16476;f[$b>>2]=16516;f[yb>>2]=16496;f[Nb>>2]=16336;if((b[Pb>>0]|0)<0)Hta(f[Ob>>2]|0);Bca(Nb);KU(le,16528);uma($b)}while(0);x=0;j=sa(1016,h|0,(f[gc>>2]|0)+68|0)|0;s=x;x=0;if(s&1){ke=119;break e}if(j){f[ca>>2]=16496;f[le>>2]=2284;f[_b>>2]=2304;f[da>>2]=0;x=0;Ga(531,ea|0,Kb|0);s=x;x=0;if(s&1){ke=769;break e}f[fa>>2]=0;f[ga>>2]=-1;f[le>>2]=16476;f[_b>>2]=16516;f[ca>>2]=16496;x=0;Fa(437,Kb|0);s=x;x=0;if(s&1){ke=770;break e}f[Kb>>2]=16336;f[Lb>>2]=0;f[Lb+4>>2]=0;f[Lb+8>>2]=0;f[Lb+12>>2]=0;f[ha>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,Kb|0,he|0);s=x;x=0;if(s&1){ke=764;break e}if((b[nb>>0]|0)<0)Hta(f[he>>2]|0);x=0;j=ta(44,xb|0,43275,10)|0;s=x;x=0;if(s&1){ke=784;break e}r=f[p>>2]|0;d=r+52|0;s=b[d+11>>0]|0;q=s<<24>>24<0;x=0;j=ta(44,j|0,(q?f[d>>2]|0:d)|0,(q?f[r+56>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=784;break e}x=0;j=ta(44,j|0,43366,35)|0;s=x;x=0;if(s&1){ke=784;break e}s=b[H>>0]|0;r=s<<24>>24<0;x=0;ta(44,j|0,(r?f[qe>>2]|0:qe)|0,(r?f[J>>2]|0:s&255)|0)|0;s=x;x=0;if(s&1){ke=784;break e}x=0;Ga(533,hd|0,Kb|0);s=x;x=0;if(s&1){ke=784;break e}s=mc;q=(f[gc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));j=f[(f[hc>>2]|0)+8>>2]|0;x=0;s=he;q=mc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(100,hd|0,he|0,j|0);s=x;x=0;if(s&1){ke=785;break e}if((b[ob>>0]|0)<0)Hta(f[hd>>2]|0);f[le>>2]=16476;f[_b>>2]=16516;f[xb>>2]=16496;f[Kb>>2]=16336;if((b[Mb>>0]|0)<0)Hta(f[Lb>>2]|0);Bca(Kb);KU(le,16528);uma(_b)}x=0;Ga(462,id|0,f[(f[gc>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){ke=800;break e}f[id>>2]=7696;x=0;Ga(462,he|0,f[ia>>2]|0);s=x;x=0;if(s&1){ke=801;break e}f[he>>2]=6664;x=0;j=qa(342,h|0)|0;s=x;x=0;if(s&1){ke=802;break e}s=(f[gc>>2]|0)+68|0;f[Gc>>2]=s;x=0;La(17,Fc|0,j|0,s|0,87749,Gc|0,Hc|0);s=x;x=0;if(s&1){ke=802;break e}j=f[Fc>>2]|0;k=j+28|0;if((k|0)!=(he|0)){j=j+32|0;if(f[j>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){ke=802;break e}}f[j>>2]=f[ja>>2];f[ja>>2]=0}_P(he);_P(id);j=0}else{do if(k){x=0;Ga(462,Jc|0,f[j+64>>2]|0);s=x;x=0;if(s&1){ke=120;break e}f[Jc>>2]=7696;x=0;j=qa(340,f[Ea>>2]|0)|0;s=x;x=0;if(s&1){ke=121;break e}x=0;Ga(462,le|0,j|0);s=x;x=0;if(s&1){ke=121;break e}f[le>>2]=7584;_P(Jc);j=f[Ha>>2]|0;if(!j){ke=167;break e}x=0;d=qa(318,88)|0;s=x;x=0;if(s&1){ke=122;break e}s=Lc;q=(f[p>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));k=f[j+80>>2]|0;s=Ec;q=Lc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,d|0);s=x;x=0;if(s&1){ke=123;break e}s=d+12|0;q=Ec;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[d+52>>0]=0;b[d+53>>0]=0;b[d+54>>0]=0;j=d+56|0;f[j>>2]=0;f[d>>2]=6516;o=d+60|0;f[o>>2]=9660;m=d+64|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(516,m|0,0);s=x;x=0;if(s&1){ke=109;break e}f[d>>2]=9488;f[o>>2]=9620;f[d+80>>2]=k;b[d+84>>0]=1;b[d+85>>0]=0;b[d+86>>0]=0;f[j>>2]=5;n=f[Ha>>2]|0;j=f[n+64>>2]|0;n=f[n+68>>2]|0;if((j|0)!=(n|0))do{x=0;Ga(462,ie|0,f[j+4>>2]|0);s=x;x=0;if(s&1){ke=134;break e}f[ie>>2]=7696;k=f[Ma>>2]|0;if(!k)k=0;else k=(f[271]|0)==(f[(f[(f[k>>2]|0)+-4>>2]|0)+4>>2]|0)?k:0;x=0;Ga(462,je|0,k|0);s=x;x=0;if(s&1){ke=135;break e}f[je>>2]=10408;k=f[Na>>2]|0;l=f[(f[o>>2]|0)+20>>2]|0;if(!k){x=0;m=qa(318,88)|0;s=x;x=0;if(s&1){ke=136;break e}k=f[Ma>>2]|0;s=Oc;q=k+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(462,sd|0,k|0);s=x;x=0;if(s&1){ke=146;break e}f[sd>>2]=7696;f[td>>2]=0;f[td+4>>2]=0;f[td+8>>2]=0;x=0;s=he;q=Oc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));La(13,m|0,he|0,sd|0,td|0,0,0);s=x;x=0;if(s&1){g=1;ke=147;break e}x=0;Ga(462,Nc|0,m|0);s=x;x=0;if(s&1){g=0;ke=147;break e}f[Nc>>2]=7696;x=0;Ga(l|0,o|0,Nc|0);s=x;x=0;if(s&1){ke=148;break e}_P(Nc);if((b[Tb>>0]|0)<0)Hta(f[td>>2]|0);_P(sd)}else{x=0;k=qa(f[(f[k>>2]|0)+12>>2]|0,k|0)|0;s=x;x=0;if(s&1){ke=136;break e}x=0;Ga(462,Mc|0,k|0);s=x;x=0;if(s&1){ke=136;break e}f[Mc>>2]=7696;x=0;Ga(l|0,o|0,Mc|0);s=x;x=0;if(s&1){ke=137;break e}_P(Mc)}_P(je);_P(ie);j=j+8|0}while((j|0)!=(n|0));x=0;Ga(462,he|0,d|0);s=x;x=0;if(s&1){ke=164;break e}f[he>>2]=6664;x=0;j=qa(342,h|0)|0;s=x;x=0;if(s&1){ke=165;break e}s=(f[p>>2]|0)+52|0;f[Cc>>2]=s;x=0;La(17,Bc|0,j|0,s|0,87749,Cc|0,Dc|0);s=x;x=0;if(s&1){ke=165;break e}j=f[Bc>>2]|0;k=j+28|0;if((k|0)!=(he|0)){j=j+32|0;if(f[j>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){ke=165;break e}}f[j>>2]=f[Ja>>2];f[Ja>>2]=0}_P(he);_P(le)}else{if(b[j+81>>0]|0){x=0;n=qa(318,88)|0;s=x;x=0;if(s&1){ke=196;break e}s=Ac;q=l+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,n|0);s=x;x=0;if(s&1){ke=197;break e}s=n+12|0;q=Ac;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;j=n+56|0;f[j>>2]=0;f[n>>2]=6516;d=n+60|0;f[d>>2]=9660;m=n+64|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(516,m|0,0);s=x;x=0;if(s&1){ke=176;break e}f[n>>2]=9488;f[d>>2]=9620;f[n+80>>2]=0;b[n+84>>0]=1;b[n+85>>0]=0;b[n+86>>0]=0;f[j>>2]=5;x=0;Ga(462,he|0,n|0);s=x;x=0;if(s&1){ke=199;break e}f[he>>2]=6664;x=0;j=qa(342,h|0)|0;s=x;x=0;if(s&1){ke=200;break e}s=(f[p>>2]|0)+52|0;f[yc>>2]=s;x=0;La(17,xc|0,j|0,s|0,87749,yc|0,zc|0);s=x;x=0;if(s&1){ke=200;break e}j=f[xc>>2]|0;k=j+28|0;if((k|0)!=(he|0)){j=j+32|0;if(f[j>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){ke=200;break e}}f[j>>2]=f[db>>2];f[db>>2]=0}_P(he);x=0;Ga(462,Pc|0,f[(f[gc>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){ke=202;break e}f[Pc>>2]=7696;j=f[$a>>2]|0;if(!j)j=0;else j=(f[249]|0)==(f[(f[(f[j>>2]|0)+-4>>2]|0)+4>>2]|0)?j:0;x=0;Ga(462,le|0,j|0);s=x;x=0;if(s&1){ke=203;break e}f[le>>2]=16784;_P(Pc);n=f[ab>>2]|0;j=f[n+84>>2]|0;n=f[n+88>>2]|0;if((j|0)!=(n|0))do{x=0;Ga(462,ie|0,f[j+4>>2]|0);s=x;x=0;if(s&1){ke=221;break e}f[ie>>2]=7696;x=0;k=qa(334,f[dc>>2]|0)|0;s=x;x=0;if(s&1){ke=222;break e}x=0;Ga(462,je|0,k|0);s=x;x=0;if(s&1){ke=222;break e}f[je>>2]=16800;k=f[cb>>2]|0;if(!k){ke=237;break e}x=0;Ka(5,ge|0,k+64|0,0,0,1);s=x;x=0;if(s&1){ke=223;break e}l=f[(f[d>>2]|0)+20>>2]|0;x=0;o=qa(318,88)|0;s=x;x=0;if(s&1){ke=224;break e}m=f[dc>>2]|0;s=Rc;q=m+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));k=f[ab>>2]|0;x=0;Ga(462,Dd|0,m|0);s=x;x=0;if(s&1){ke=225;break e}f[Dd>>2]=7696;x=0;Ia(78,Cd|0,k+60|0,Dd|0);s=x;x=0;if(s&1){ke=226;break e}x=0;Ia(92,ud|0,43208,ge|0);s=x;x=0;if(s&1){ke=227;break e}x=0;s=he;q=Rc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));La(13,o|0,he|0,Cd|0,ud|0,0,0);s=x;x=0;if(s&1){e=1;ke=228;break e}x=0;Ga(462,Qc|0,o|0);s=x;x=0;if(s&1){e=0;ke=228;break e}f[Qc>>2]=7696;x=0;Ga(l|0,d|0,Qc|0);s=x;x=0;if(s&1){ke=229;break e}_P(Qc);if((b[Wb>>0]|0)<0)Hta(f[ud>>2]|0);_P(Cd);_P(Dd);if((b[ec>>0]|0)<0)Hta(f[ge>>2]|0);_P(je);_P(ie);j=j+8|0}while((j|0)!=(n|0));_P(le);break}x=0;n=qa(318,88)|0;s=x;x=0;if(s&1){ke=293;break e}s=wc;q=l+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Fa(427,n|0);s=x;x=0;if(s&1){ke=294;break e}s=n+12|0;q=wc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;j=n+56|0;f[j>>2]=0;f[n>>2]=6516;k=n+60|0;f[k>>2]=9660;m=n+64|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;x=0;Ga(516,m|0,0);s=x;x=0;if(s&1){ke=275;break e}f[n>>2]=9488;f[k>>2]=9620;f[n+80>>2]=0;b[n+84>>0]=1;b[n+85>>0]=0;b[n+86>>0]=0;f[j>>2]=5;x=0;Ga(462,le|0,n|0);s=x;x=0;if(s&1){ke=293;break e}f[le>>2]=7584;while(1){if(e>>>0>=bc>>>0)break;o=e+1|0;j=f[(f[de>>2]|0)+64>>2]|0;if(f[gc>>2]|0){x=0;Fa(429,ne|0);s=x;x=0;if(s&1){ke=296;break e}}f[gc>>2]=f[j+(e<<3)+4>>2];x=0;Fa(430,ne|0);s=x;x=0;if(s&1){ke=296;break e}x=0;Ga(462,Sc|0,f[(f[gc>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){ke=297;break e}f[Sc>>2]=7696;x=0;e=qa(340,f[Oa>>2]|0)|0;s=x;x=0;if(s&1){ke=298;break e}x=0;Ga(462,ie|0,e|0);s=x;x=0;if(s&1){ke=298;break e}f[ie>>2]=7584;_P(Sc);e=f[Pa>>2]|0;do if(!e)ke=299;else{if((f[e+64>>2]|0)!=(f[e+68>>2]|0)){ke=299;break}if(!(b[(f[gc>>2]|0)+80>>0]|0))ke=299;else e=14}while(0);if((ke|0)==299){ke=0;x=0;Ga(462,je|0,f[(f[gc>>2]|0)+64>>2]|0);s=x;x=0;if(s&1){ke=308;break e}f[je>>2]=7696;e=f[Qa>>2]|0;if(!e)e=0;else e=(f[271]|0)==(f[(f[(f[e>>2]|0)+-4>>2]|0)+4>>2]|0)?e:0;x=0;Ga(462,ge|0,e|0);s=x;x=0;if(s&1){ke=309;break e}f[ge>>2]=10408;e=f[Ra>>2]|0;do if(!e){e=f[gc>>2]|0;if(!(b[e+80>>0]|0)){j=(f[Sa>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;x=0;l=qa(318,88)|0;s=x;x=0;if(s&1){ke=310;break e}s=Yc;q=e+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(462,xd|0,f[e+64>>2]|0);s=x;x=0;if(s&1){ke=355;break e}f[xd>>2]=7696;x=0;Ga(459,yd|0,(f[gc>>2]|0)+68|0);s=x;x=0;if(s&1){ke=356;break e}x=0;s=he;q=Yc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));La(13,l|0,he|0,xd|0,yd|0,0,0);s=x;x=0;if(s&1){g=1;ke=357;break e}x=0;Ga(462,Xc|0,l|0);s=x;x=0;if(s&1){g=0;ke=357;break e}f[Xc>>2]=7696;x=0;Ga(k|0,j|0,Xc|0);s=x;x=0;if(s&1){ke=358;break e}_P(Xc);if((b[Ub>>0]|0)<0)Hta(f[yd>>2]|0);_P(xd);e=0;break}x=0;Ga(462,Uc|0,f[e+64>>2]|0);s=x;x=0;if(s&1){ke=321;break e}f[Uc>>2]=7696;x=0;e=qa(340,f[Ua>>2]|0)|0;s=x;x=0;if(s&1){ke=322;break e}x=0;Ga(462,Pd|0,e|0);s=x;x=0;if(s&1){ke=322;break e}f[Pd>>2]=7584;_P(Uc);j=f[Va>>2]|0;g:do if(j|0){f[(f[Sa>>2]|0)+80>>2]=f[j+80>>2];m=(f[j+68>>2]|0)-(f[j+64>>2]|0)>>3;if(!m)break;e=0;while(1){x=0;Ia(106,Bd|0,j|0,e|0);s=x;x=0;if(s&1){ke=333;break e}j=(f[Sa>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;x=0;n=qa(318,88)|0;s=x;x=0;if(s&1){ke=334;break e}l=f[Wa>>2]|0;s=Wc;q=l+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(462,vd|0,l|0);s=x;x=0;if(s&1){ke=335;break e}f[vd>>2]=7696;f[wd>>2]=0;f[wd+4>>2]=0;f[wd+8>>2]=0;x=0;s=he;q=Wc;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));La(13,n|0,he|0,vd|0,wd|0,0,0);s=x;x=0;if(s&1){g=1;ke=336;break e}x=0;Ga(462,Vc|0,n|0);s=x;x=0;if(s&1){g=0;ke=336;break e}f[Vc>>2]=7696;x=0;Ga(k|0,j|0,Vc|0);s=x;x=0;if(s&1){ke=337;break e}_P(Vc);if((b[Vb>>0]|0)<0)Hta(f[wd>>2]|0);_P(vd);_P(Bd);e=e+1|0;if(e>>>0>=m>>>0)break g;j=f[Va>>2]|0}}while(0);_P(Pd);e=15}else{j=(f[Sa>>2]|0)+60|0;k=f[(f[j>>2]|0)+20>>2]|0;x=0;Ga(462,jd|0,e|0);s=x;x=0;if(s&1){ke=310;break e}f[jd>>2]=10408;x=0;Ga(462,Tc|0,f[Xa>>2]|0);s=x;x=0;if(s&1){ke=311;break e}f[Tc>>2]=7696;x=0;Ga(k|0,j|0,Tc|0);s=x;x=0;if(s&1){ke=312;break e}_P(Tc);_P(jd);e=0}while(0);_P(ge);_P(je)}_P(ie);if((e|0)==15){e=o;break}else e=o}x=0;Ga(462,kd|0,f[Sa>>2]|0);s=x;x=0;if(s&1){ke=378;break e}f[kd>>2]=7584;x=0;Ga(462,he|0,f[Za>>2]|0);s=x;x=0;if(s&1){ke=379;break e}f[he>>2]=6664;x=0;j=qa(342,h|0)|0;s=x;x=0;if(s&1){ke=380;break e}s=(f[p>>2]|0)+52|0;f[oc>>2]=s;x=0;La(17,nc|0,j|0,s|0,87749,oc|0,pc|0);s=x;x=0;if(s&1){ke=380;break e}j=f[nc>>2]|0;k=j+28|0;if((k|0)!=(he|0)){j=j+32|0;if(f[j>>2]|0){x=0;Fa(429,k|0);s=x;x=0;if(s&1){ke=380;break e}}f[j>>2]=f[_a>>2];f[_a>>2]=0}_P(he);_P(kd);_P(le)}while(0);g=g+1|0;j=9}while(0);_P(me)}else{j=f[gc>>2]|0;if(!(b[j+80>>0]|0)){ke=62;break}x=0;Ga(462,Ic|0,f[j+64>>2]|0);s=x;x=0;if(s&1){ke=58;break}f[Ic>>2]=7696;x=0;j=qa(340,f[eb>>2]|0)|0;s=x;x=0;if(s&1){ke=59;break}x=0;Ga(462,he|0,j|0);s=x;x=0;if(s&1){ke=59;break}f[he>>2]=7584;_P(Ic);j=f[fb>>2]|0;if(!j)j=0;else{s=(f[j+68>>2]|0)==(f[j+64>>2]|0);j=s?8:0;e=e+(s&1)|0}_P(he);if(!j){ke=62;break}}_P(ne);switch(j|0){case 9:{ke=46;break d}case 8:case 0:break;default:break d}if(e>>>0>=bc>>>0){ke=46;break d}}h:switch(ke|0){case 57:{g=Ya()|0;break}case 58:{g=Ya()|0;ke=61;break}case 59:{g=Ya()|0;_P(Ic);ke=61;break}case 62:{l=le+64|0;g=le+8|0;f[g>>2]=16496;k=le+12|0;f[le>>2]=2284;f[l>>2]=2304;f[le+4>>2]=0;x=0;Ga(531,le+64|0,k|0);me=x;x=0;i:do if(me&1){g=Ya()|0;ke=90}else{f[le+136>>2]=0;f[le+140>>2]=-1;f[le>>2]=16476;f[l>>2]=16516;f[g>>2]=16496;x=0;Fa(437,k|0);me=x;x=0;do if(me&1)g=Ya()|0;else{f[k>>2]=16336;j=le+44|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[le+60>>2]=24;f[he>>2]=0;f[he+4>>2]=0;f[he+8>>2]=0;x=0;Ga(532,k|0,he|0);me=x;x=0;if(me&1){g=Ya()|0;if((b[he+11>>0]|0)<0)Hta(f[he>>2]|0);if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);break}if((b[he+11>>0]|0)<0)Hta(f[he>>2]|0);e=le+8|0;x=0;g=ta(44,e|0,43160,27)|0;me=x;x=0;do if(me&1)ke=91;else{x=0;g=sa(993,g|0,bc|0)|0;me=x;x=0;if(me&1){ke=91;break}x=0;g=ta(44,g|0,43188,5)|0;me=x;x=0;if(me&1){ke=91;break}x=0;g=sa(993,g|0,ic|0)|0;me=x;x=0;if(me&1){ke=91;break}x=0;ta(44,g|0,49838,1)|0;me=x;x=0;if(me&1){ke=91;break}x=0;g=ta(44,e|0,53139,6)|0;me=x;x=0;if(me&1){ke=91;break}me=b[Id>>0]|0;je=me<<24>>24<0;x=0;g=ta(44,g|0,(je?f[c>>2]|0:c)|0,(je?f[Jd>>2]|0:me&255)|0)|0;me=x;x=0;if(me&1){ke=91;break}x=0;ta(44,g|0,53146,1)|0;me=x;x=0;if(me&1){ke=91;break}x=0;Ga(533,Od|0,k|0);me=x;x=0;if(me&1){ke=91;break}s=Nd;q=(f[de>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));g=f[(f[hc>>2]|0)+8>>2]|0;x=0;s=he;q=Nd;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ia(100,Od|0,he|0,g|0);me=x;x=0;if(me&1){g=Ya()|0;if((b[Od+11>>0]|0)>=0)break;Hta(f[Od>>2]|0);break}if((b[Od+11>>0]|0)<0)Hta(f[Od>>2]|0);f[le>>2]=16476;f[l>>2]=16516;f[e>>2]=16496;f[k>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);KU(le,16528);uma(l);_P(ne);break d}while(0);if((ke|0)==91)g=Ya()|0;f[le>>2]=16476;f[l>>2]=16516;f[e>>2]=16496;f[k>>2]=16336;if((b[j+11>>0]|0)<0)Hta(f[j>>2]|0);Bca(k);KU(le,16528);uma(l);break i}while(0);KU(le,16528);ke=90}while(0);if((ke|0)==90)uma(l);ke=810;break}case 109:{g=Ya()|0;k=I;l=d+68|0;e=f[m>>2]|0;if(e|0){j=f[l>>2]|0;if((j|0)!=(e|0)){do{ke=j+-8|0;f[l>>2]=ke;Kc[f[f[ke>>2]>>2]&511](ke);j=f[l>>2]|0}while((j|0)!=(e|0));e=f[m>>2]|0}Hta(e)}ke=124;break}case 118:{g=Ya()|0;ke=809;break}case 119:{g=Ya()|0;ke=808;break}case 120:{g=Ya()|0;ke=171;break}case 121:{g=Ya()|0;_P(Jc);ke=171;break}case 122:{g=Ya()|0;ke=170;break}case 123:{g=Ya()|0;ke=124;break}case 134:{g=Ya()|0;ke=156;break}case 135:{g=Ya()|0;ke=155;break}case 136:{g=Ya()|0;ke=154;break}case 137:{g=Ya()|0;_P(Mc);ke=154;break}case 146:{g=Ya()|0;ke=152;break}case 147:{e=g;g=Ya()|0;ke=149;break}case 148:{g=Ya()|0;_P(Nc);e=0;ke=149;break}case 164:{g=Ya()|0;ke=166;break}case 165:{g=Ya()|0;_P(he);ke=166;break}case 167:{g=Ta(8)|0;x=0;Ga(496,g|0,43194);ke=x;x=0;if(ke&1){ke=Ya()|0;bb(g|0);g=ke;ke=170;break}else{x=0;Ia(77,g|0,6176,414);x=0;g=Ya()|0;ke=170;break}}case 176:{g=Ya()|0;k=I;l=n+68|0;e=f[m>>2]|0;if(e|0){j=f[l>>2]|0;if((j|0)!=(e|0)){do{le=j+-8|0;f[l>>2]=le;Kc[f[f[le>>2]>>2]&511](le);j=f[l>>2]|0}while((j|0)!=(e|0));e=f[m>>2]|0}Hta(e)}ke=198;break}case 196:{g=Ya()|0;ke=808;break}case 197:{g=Ya()|0;ke=198;break}case 199:{g=Ya()|0;ke=201;break}case 200:{g=Ya()|0;_P(he);ke=201;break}case 202:{g=Ya()|0;ke=271;break}case 203:{g=Ya()|0;_P(Pc);ke=271;break}case 221:{g=Ya()|0;ke=270;break}case 222:{g=Ya()|0;ke=269;break}case 223:{g=Ya()|0;ke=236;break}case 224:{g=Ya()|0;ke=234;break}case 225:{g=Ya()|0;ke=233;break}case 226:{g=Ya()|0;_P(Dd);ke=233;break}case 227:{g=Ya()|0;e=1;ke=232;break}case 228:{g=Ya()|0;ke=230;break}case 229:{g=Ya()|0;_P(Qc);e=0;ke=230;break}case 237:{g=f[(f[hc>>2]|0)+8>>2]|0;k=(f[dc>>2]|0)+12|0;l=Ed+11|0;f[Ed>>2]=0;f[Ed+4>>2]=0;f[Ed+8>>2]=0;DP(he|0,k|0,40)|0;k=he+40|0;x=0;Ga(459,k|0,Ed|0);ke=x;x=0;do if(ke&1)g=Ya()|0;else{e=g+4|0;j=f[e>>2]|0;if(j>>>0<(f[g+8>>2]|0)>>>0){s=j;q=he;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));ke=j+40|0;f[ke>>2]=f[k>>2];f[ke+4>>2]=f[k+4>>2];f[ke+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,g|0,he|0);ke=x;x=0;if(ke&1){g=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l>>0]|0)<0)Hta(f[Ed>>2]|0);o=Ta(100)|0;s=Fd;q=(f[dc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(511,Yd|0,f[(f[hc>>2]|0)+8>>2]|0);ke=x;x=0;do if(ke&1)g=Ya()|0;else{ke=f[dc>>2]|0;x=0;Ga(f[(f[ke>>2]|0)+20>>2]|0,Kd|0,ke|0);ke=x;x=0;do if(ke&1){g=Ya()|0;n=1;j=I}else{g=f[gc>>2]|0;x=0;s=he;q=Fd;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ka(7,o|0,he|0,Yd|0,Kd|0,g|0);ke=x;x=0;if(ke&1)e=1;else{x=0;Ia(77,o|0,2776,238);x=0;e=0}g=Ya()|0;j=I;if((b[Kd+11>>0]|0)>=0){n=e;break}Hta(f[Kd>>2]|0);n=e}while(0);e=f[Yd>>2]|0;if(!e)if(n)break;else{ke=268;break h}m=Yd+4|0;k=f[m>>2]|0;if((k|0)!=(e|0)){do{l=k+-52|0;f[m>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[m>>2]|0}else k=l}while((k|0)!=(e|0));e=f[Yd>>2]|0}Hta(e);if(!n){ke=268;break h}}while(0);bb(o|0);ke=268;break h}while(0);if((b[l>>0]|0)<0)Hta(f[Ed>>2]|0);ke=268;break}case 275:{g=Ya()|0;k=I;l=n+68|0;e=f[m>>2]|0;if(e|0){j=f[l>>2]|0;if((j|0)!=(e|0)){do{le=j+-8|0;f[l>>2]=le;Kc[f[f[le>>2]>>2]&511](le);j=f[l>>2]|0}while((j|0)!=(e|0));e=f[m>>2]|0}Hta(e)}ke=295;break}case 293:{g=Ya()|0;ke=384;break}case 294:{g=Ya()|0;ke=295;break}case 296:{g=Ya()|0;ke=383;break}case 297:{g=Ya()|0;ke=368;break}case 298:{g=Ya()|0;_P(Sc);ke=368;break}case 308:{g=Ya()|0;ke=367;break}case 309:{g=Ya()|0;ke=366;break}case 310:{g=Ya()|0;ke=365;break}case 311:{g=Ya()|0;ke=313;break}case 312:{g=Ya()|0;_P(Tc);ke=313;break}case 321:{g=Ya()|0;ke=345;break}case 322:{g=Ya()|0;_P(Uc);ke=345;break}case 333:{g=Ya()|0;ke=343;break}case 334:{g=Ya()|0;ke=342;break}case 335:{g=Ya()|0;ke=341;break}case 336:{e=g;g=Ya()|0;ke=338;break}case 337:{g=Ya()|0;_P(Vc);e=0;ke=338;break}case 355:{g=Ya()|0;ke=362;break}case 356:{g=Ya()|0;_P(xd);ke=362;break}case 357:{e=g;g=Ya()|0;ke=359;break}case 358:{g=Ya()|0;_P(Xc);e=0;ke=359;break}case 378:{g=Ya()|0;ke=382;break}case 379:{g=Ya()|0;ke=381;break}case 380:{g=Ya()|0;_P(he);ke=381;break}case 398:{g=Ya()|0;k=I;l=n+68|0;e=f[m>>2]|0;if(e|0){j=f[l>>2]|0;if((j|0)!=(e|0)){do{ke=j+-8|0;f[l>>2]=ke;Kc[f[f[ke>>2]>>2]&511](ke);j=f[l>>2]|0}while((j|0)!=(e|0));e=f[m>>2]|0}Hta(e)}ke=417;break}case 410:{g=Ya()|0;ke=513;break}case 411:{g=Ya()|0;_P(Zc);ke=513;break}case 412:{g=Ya()|0;ke=422;break}case 413:{g=Ya()|0;_P(_c);ke=422;break}case 414:{g=Ya()|0;ke=421;break}case 415:{g=Ya()|0;ke=419;break}case 416:{g=Ya()|0;ke=417;break}case 418:{g=Ya()|0;_P(ie);ke=419;break}case 420:{g=Ya()|0;_P($c);ke=421;break}case 432:{g=Ya()|0;if((b[gb>>0]|0)<0)Hta(f[he>>2]|0);if((b[Cb>>0]|0)<0)Hta(f[Bb>>2]|0);Bca(Ab);ke=439;break}case 437:{g=Ya()|0;ke=455;break}case 438:{g=Ya()|0;ke=439;break}case 456:{g=Ya()|0;ke=462;break}case 457:{g=Ya()|0;if((b[hb>>0]|0)<0){Hta(f[ld>>2]|0);ke=462}else ke=462;break}case 483:{g=Ya()|0;ke=511;break}case 484:{g=Ya()|0;ke=486;break}case 485:{g=Ya()|0;_P(he);ke=486;break}case 487:{g=Ya()|0;ke=495;break}case 488:{g=Ya()|0;ke=494;break}case 489:{e=g;g=Ya()|0;ke=491;break}case 490:{g=Ya()|0;_P(je);e=0;ke=491;break}case 506:{g=Ya()|0;ke=510;break}case 521:{g=Ya()|0;ke=625;break}case 522:{g=Ya()|0;_P(bd);ke=625;break}case 526:{g=f[(f[hc>>2]|0)+8>>2]|0;k=(f[cc>>2]|0)+12|0;l=Gd+11|0;f[Gd>>2]=0;f[Gd+4>>2]=0;f[Gd+8>>2]=0;DP(he|0,k|0,40)|0;k=he+40|0;x=0;Ga(459,k|0,Gd|0);le=x;x=0;do if(le&1)g=Ya()|0;else{e=g+4|0;j=f[e>>2]|0;if(j>>>0<(f[g+8>>2]|0)>>>0){s=j;q=he;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));le=j+40|0;f[le>>2]=f[k>>2];f[le+4>>2]=f[k+4>>2];f[le+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[e>>2]=(f[e>>2]|0)+52}else{x=0;Ga(510,g|0,he|0);le=x;x=0;if(le&1){g=Ya()|0;if((b[k+11>>0]|0)>=0)break;Hta(f[k>>2]|0);break}}if((b[k+11>>0]|0)<0)Hta(f[k>>2]|0);if((b[l>>0]|0)<0)Hta(f[Gd>>2]|0);o=Ta(100)|0;s=Hd;q=(f[cc>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(511,Zd|0,f[(f[hc>>2]|0)+8>>2]|0);le=x;x=0;do if(le&1)g=Ya()|0;else{le=f[cc>>2]|0;x=0;Ga(f[(f[le>>2]|0)+20>>2]|0,Ld|0,le|0);le=x;x=0;do if(le&1){g=Ya()|0;n=1;j=I}else{g=f[gc>>2]|0;x=0;s=he;q=Hd;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));Ka(7,o|0,he|0,Zd|0,Ld|0,g|0);le=x;x=0;if(le&1)e=1;else{x=0;Ia(77,o|0,2776,238);x=0;e=0}g=Ya()|0;j=I;if((b[Ld+11>>0]|0)>=0){n=e;break}Hta(f[Ld>>2]|0);n=e}while(0);e=f[Zd>>2]|0;if(!e)if(n)break;else{ke=623;break h}m=Zd+4|0;k=f[m>>2]|0;if((k|0)!=(e|0)){do{l=k+-52|0;f[m>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[m>>2]|0}else k=l}while((k|0)!=(e|0));e=f[Zd>>2]|0}Hta(e);if(!n){ke=623;break h}}while(0);bb(o|0);ke=623;break h}while(0);if((b[l>>0]|0)<0)Hta(f[Gd>>2]|0);ke=623;break}case 538:{g=Ya()|0;ke=624;break}case 539:{g=Ya()|0;ke=623;break}case 570:{g=Ya()|0;if((b[sb>>0]|0)<0)Hta(f[he>>2]|0);if((b[Sb>>0]|0)<0)Hta(f[Rb>>2]|0);Bca(Qb);ke=577;break}case 575:{g=Ya()|0;ke=593;break}case 576:{g=Ya()|0;ke=577;break}case 588:{g=Ya()|0;ke=591;break}case 589:{g=Ya()|0;if((b[rb>>0]|0)<0){Hta(f[he>>2]|0);ke=591}else ke=591;break}case 592:{g=Ya()|0;ke=620;break}case 594:{g=Ya()|0;ke=597;break}case 595:{g=Ya()|0;if((b[tb>>0]|0)<0){Hta(f[md>>2]|0);ke=597}else ke=597;break}case 613:{g=Ya()|0;ke=619;break}case 614:{g=Ya()|0;ke=618;break}case 615:{g=Ya()|0;ke=617;break}case 616:{g=Ya()|0;_P(Bd);ke=617;break}case 638:{g=Ya()|0;if((b[ib>>0]|0)<0)Hta(f[he>>2]|0);if((b[Gb>>0]|0)<0)Hta(f[Fb>>2]|0);Bca(Eb);ke=645;break}case 643:{g=Ya()|0;ke=657;break}case 644:{g=Ya()|0;ke=645;break}case 658:{g=Ya()|0;ke=661;break}case 659:{g=Ya()|0;if((b[kb>>0]|0)<0){Hta(f[od>>2]|0);ke=661}else ke=661;break}case 674:{g=Ya()|0;ke=678;break}case 675:{g=Ya()|0;ke=677;break}case 676:{g=Ya()|0;_P(he);ke=677;break}case 686:{g=Ya()|0;ke=688;break}case 687:{g=Ya()|0;_P(jc);ke=688;break}case 694:{g=Ya()|0;if((b[lb>>0]|0)<0)Hta(f[he>>2]|0);if((b[Jb>>0]|0)<0)Hta(f[Ib>>2]|0);Bca(Hb);ke=701;break}case 699:{g=Ya()|0;ke=712;break}case 700:{g=Ya()|0;ke=701;break}case 713:{g=Ya()|0;ke=716;break}case 714:{g=Ya()|0;if((b[mb>>0]|0)<0){Hta(f[fd>>2]|0);ke=716}else ke=716;break}case 729:{g=Ya()|0;if((b[pb>>0]|0)<0)Hta(f[he>>2]|0);if((b[Pb>>0]|0)<0)Hta(f[Ob>>2]|0);Bca(Nb);ke=736;break}case 734:{g=Ya()|0;ke=749;break}case 735:{g=Ya()|0;ke=736;break}case 750:{g=Ya()|0;ke=753;break}case 751:{g=Ya()|0;if((b[qb>>0]|0)<0){Hta(f[gd>>2]|0);ke=753}else ke=753;break}case 764:{g=Ya()|0;if((b[nb>>0]|0)<0)Hta(f[he>>2]|0);if((b[Mb>>0]|0)<0)Hta(f[Lb>>2]|0);Bca(Kb);ke=771;break}case 769:{g=Ya()|0;ke=783;break}case 770:{g=Ya()|0;ke=771;break}case 784:{g=Ya()|0;ke=787;break}case 785:{g=Ya()|0;if((b[ob>>0]|0)<0){Hta(f[hd>>2]|0);ke=787}else ke=787;break}case 800:{g=Ya()|0;ke=804;break}case 801:{g=Ya()|0;ke=803;break}case 802:{g=Ya()|0;_P(he);ke=803;break}}switch(ke|0){case 61:{ke=810;break}case 124:{Hta(d);ke=170;break}case 149:if((b[Tb>>0]|0)<0){Hta(f[td>>2]|0);_P(sd);if(e){ke=152;break}else{ke=154;break}}else{_P(sd);if(e){ke=152;break}else{ke=154;break}}case 166:{ke=170;break}case 198:{Hta(n);ke=808;break}case 201:{ke=808;break}case 230:{if((b[Wb>>0]|0)<0){Hta(f[ud>>2]|0);ke=232}else ke=232;break}case 295:{Hta(n);ke=384;break}case 313:{_P(jd);ke=365;break}case 338:if((b[Vb>>0]|0)<0){Hta(f[wd>>2]|0);_P(vd);if(e){ke=341;break}else{ke=342;break}}else{_P(vd);if(e){ke=341;break}else{ke=342;break}}case 359:if((b[Ub>>0]|0)<0){Hta(f[yd>>2]|0);_P(xd);if(e){ke=362;break}else{ke=365;break}}else{_P(xd);if(e){ke=362;break}else{ke=365;break}}case 381:{_P(kd);ke=382;break}case 417:{Hta(n);ke=419;break}case 439:{KU(ie,16528);ke=455;break}case 462:{f[ie>>2]=16476;f[Xb>>2]=16516;f[ub>>2]=16496;f[Ab>>2]=16336;if((b[Cb>>0]|0)<0)Hta(f[Bb>>2]|0);Bca(Ab);KU(ie,16528);uma(Xb);ke=465;break}case 486:{ke=510;break}case 491:if((b[Db>>0]|0)<0){Hta(f[Ad>>2]|0);_P(zd);if(e){ke=494;break}else{ke=495;break}}else{_P(zd);if(e){ke=494;break}else{ke=495;break}}case 577:{KU(le,16528);ke=593;break}case 591:{ke=622;break}case 597:{f[le>>2]=16476;f[ac>>2]=16516;f[zb>>2]=16496;f[Qb>>2]=16336;if((b[Sb>>0]|0)<0)Hta(f[Rb>>2]|0);Bca(Qb);KU(le,16528);uma(ac);ke=600;break}case 617:{_P(nd);ke=618;break}case 645:{KU(le,16528);ke=657;break}case 661:{f[le>>2]=16476;f[Yb>>2]=16516;f[vb>>2]=16496;f[Eb>>2]=16336;if((b[Gb>>0]|0)<0)Hta(f[Fb>>2]|0);Bca(Eb);KU(le,16528);uma(Yb);ke=664;break}case 677:{_P(pd);ke=678;break}case 688:{_P(ed);ke=808;break}case 701:{KU(le,16528);ke=712;break}case 716:{f[le>>2]=16476;f[Zb>>2]=16516;f[wb>>2]=16496;f[Hb>>2]=16336;if((b[Jb>>0]|0)<0)Hta(f[Ib>>2]|0);Bca(Hb);KU(le,16528);uma(Zb);ke=719;break}case 736:{KU(le,16528);ke=749;break}case 753:{f[le>>2]=16476;f[$b>>2]=16516;f[yb>>2]=16496;f[Nb>>2]=16336;if((b[Pb>>0]|0)<0)Hta(f[Ob>>2]|0);Bca(Nb);KU(le,16528);uma($b);ke=756;break}case 771:{KU(le,16528);ke=783;break}case 787:{f[le>>2]=16476;f[_b>>2]=16516;f[xb>>2]=16496;f[Kb>>2]=16336;if((b[Mb>>0]|0)<0)Hta(f[Lb>>2]|0);Bca(Kb);KU(le,16528);uma(_b);ke=790;break}case 803:{_P(id);ke=804;break}}switch(ke|0){case 152:{Hta(m);ke=154;break}case 232:{_P(Cd);_P(Dd);if(e)ke=233;else ke=234;break}case 341:{Hta(n);ke=342;break}case 362:{Hta(l);ke=365;break}case 382:{ke=383;break}case 419:{ke=421;break}case 455:{uma(Xb);ke=465;break}case 494:{Hta(k);ke=495;break}case 593:{uma(ac);ke=600;break}case 618:{_P(rd);ke=619;break}case 657:{uma(Yb);ke=664;break}case 678:{ke=808;break}case 712:{uma(Zb);ke=719;break}case 749:{uma($b);ke=756;break}case 783:{uma(_b);ke=790;break}case 804:{ke=808;break}}switch(ke|0){case 154:{_P(je);ke=155;break}case 233:{Hta(o);ke=234;break}case 342:{_P(Bd);ke=343;break}case 421:{_P(he);ke=422;break}case 465:{ke=512;break}case 495:{ke=510;break}case 600:{ke=620;break}case 619:{ke=620;break}case 664:{ke=808;break}case 719:{ke=808;break}case 756:{ke=808;break}case 790:{ke=808;break}}if((ke|0)==155){_P(ie);ke=156}else if((ke|0)==234)if((b[ec>>0]|0)<0){Hta(f[ge>>2]|0);ke=236}else ke=236;else if((ke|0)==343){_P(Pd);ke=345}else if((ke|0)==422)ke=512;else if((ke|0)==510){_P(ie);ke=511}else if((ke|0)==620)if((b[fc>>0]|0)<0){Hta(f[Pd>>2]|0);ke=622}else ke=622;if((ke|0)==156)ke=170;else if((ke|0)==236)ke=268;else if((ke|0)==345)ke=365;else if((ke|0)==511)ke=512;else if((ke|0)==622)ke=623;if((ke|0)==170){_P(le);ke=171}else if((ke|0)==268){_P(je);ke=269}else if((ke|0)==365){_P(ge);ke=366}else if((ke|0)==512){_P(le);ke=513}else if((ke|0)==623){_P(ge);ke=624}if((ke|0)==171)ke=808;else if((ke|0)==269){_P(ie);ke=270}else if((ke|0)==366){_P(je);ke=367}else if((ke|0)==513)ke=808;else if((ke|0)==624){_P(je);ke=625}if((ke|0)==270){_P(le);ke=271}else if((ke|0)==367){_P(ie);ke=368}else if((ke|0)==625)ke=808;if((ke|0)==271)ke=808;else if((ke|0)==368)ke=383;if((ke|0)==383){_P(le);ke=384}if((ke|0)==384)ke=808;if((ke|0)==808){_P(me);ke=809}if((ke|0)==809)ke=810;if((ke|0)==810)_P(ne);break c}while(0);j:do if((ke|0)==46)if(g>>>0>>0){d=le+4|0;k=Qd+4|0;l=Rd+4|0;m=he+4|0;n=_d+4|0;o=he+4|0;k:while(1){e=(f[qd>>2]|0)+52|0;x=0;e=sa(f[(f[e>>2]|0)+16>>2]|0,e|0,g|0)|0;ne=x;x=0;if(ne&1){ke=826;break}x=0;Ga(462,le|0,f[e+4>>2]|0);ne=x;x=0;if(ne&1){ke=826;break}f[le>>2]=13488;x=0;e=sa(1016,h|0,(f[d>>2]|0)+52|0)|0;ne=x;x=0;if(ne&1){ke=827;break}do if(!e){e=f[d>>2]|0;if(b[e+72>>0]|0){x=0;Ga(462,_d|0,f[Md>>2]|0);ne=x;x=0;if(ne&1){ke=828;break k}f[_d>>2]=7584;x=0;Ga(462,he|0,f[n>>2]|0);ne=x;x=0;if(ne&1){ke=829;break k}f[he>>2]=6664;x=0;e=qa(342,h|0)|0;ne=x;x=0;if(ne&1){ke=830;break k}ne=(f[d>>2]|0)+52|0;f[Td>>2]=ne;x=0;La(17,Sd|0,e|0,ne|0,87749,Td|0,Ud|0);ne=x;x=0;if(ne&1){ke=830;break k}e=f[Sd>>2]|0;j=e+28|0;if((j|0)!=(he|0)){e=e+32|0;if(f[e>>2]|0){x=0;Fa(429,j|0);ne=x;x=0;if(ne&1){ke=830;break k}}f[e>>2]=f[o>>2];f[o>>2]=0}_P(he);_P(_d);break}x=0;Ga(462,Qd|0,f[e+68>>2]|0);ne=x;x=0;if(ne&1){ke=827;break k}f[Qd>>2]=7696;ne=(f[k>>2]|0)==0;_P(Qd);if(ne){ke=850;break k}x=0;Ga(462,Rd|0,f[(f[d>>2]|0)+68>>2]|0);ne=x;x=0;if(ne&1){ke=845;break k}f[Rd>>2]=7696;e=f[l>>2]|0;x=0;e=sa(f[(f[e>>2]|0)+56>>2]|0,e|0,i|0)|0;ne=x;x=0;if(ne&1){ke=846;break k}_P(Rd);x=0;Ga(462,he|0,e|0);ne=x;x=0;if(ne&1){ke=847;break k}f[he>>2]=6664;x=0;e=qa(342,h|0)|0;ne=x;x=0;if(ne&1){ke=848;break k}ne=(f[d>>2]|0)+52|0;f[Wd>>2]=ne;x=0;La(17,Vd|0,e|0,ne|0,87749,Wd|0,Xd|0);ne=x;x=0;if(ne&1){ke=848;break k}e=f[Vd>>2]|0;j=e+28|0;if((j|0)!=(he|0)){e=e+32|0;if(f[e>>2]|0){x=0;Fa(429,j|0);ne=x;x=0;if(ne&1){ke=848;break k}}f[e>>2]=f[m>>2];f[m>>2]=0}_P(he)}while(0);_P(le);g=g+1|0;if(g>>>0>=ic>>>0)break j}l:switch(ke|0){case 826:{g=Ya()|0;break}case 827:{g=Ya()|0;ke=876;break}case 828:{g=Ya()|0;ke=832;break}case 829:{g=Ya()|0;ke=831;break}case 830:{g=Ya()|0;_P(he);ke=831;break}case 845:{g=Ya()|0;ke=876;break}case 846:{g=Ya()|0;_P(Rd);ke=876;break}case 847:{g=Ya()|0;ke=849;break}case 848:{g=Ya()|0;_P(he);ke=849;break}case 850:{o=Ta(120)|0;s=$d;q=(f[de>>2]|0)+12|0;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));x=0;Ga(511,fe|0,f[(f[i+4>>2]|0)+8>>2]|0);ne=x;x=0;do if(ne&1)g=Ya()|0;else{x=0;Ga(459,ce|0,c|0);ne=x;x=0;do if(ne&1){g=Ya()|0;j=I;n=1}else{x=0;Ga(459,be|0,(f[d>>2]|0)+52|0);ne=x;x=0;do if(ne&1){g=Ya()|0;j=I;e=1}else{x=0;Ga(459,ae|0,a|0);ne=x;x=0;do if(ne&1){g=Ya()|0;e=1;j=I}else{x=0;s=he;q=$d;r=s+40|0;do{f[s>>2]=f[q>>2];s=s+4|0;q=q+4|0}while((s|0)<(r|0));La(18,o|0,he|0,fe|0,ce|0,be|0,ae|0);ne=x;x=0;if(ne&1)e=1;else{x=0;Ia(77,o|0,2792,236);x=0;e=0}g=Ya()|0;j=I;if((b[ae+11>>0]|0)>=0)break;Hta(f[ae>>2]|0)}while(0);if((b[be+11>>0]|0)>=0)break;Hta(f[be>>2]|0)}while(0);if((b[ce+11>>0]|0)>=0){n=e;break}Hta(f[ce>>2]|0);n=e}while(0);e=f[fe>>2]|0;if(!e)if(n)break;else{ke=876;break l}m=fe+4|0;k=f[m>>2]|0;if((k|0)!=(e|0)){do{l=k+-52|0;f[m>>2]=l;k=k+-12|0;if((b[k+11>>0]|0)<0){Hta(f[k>>2]|0);k=f[m>>2]|0}else k=l}while((k|0)!=(e|0));e=f[fe>>2]|0}Hta(e);if(!n){ke=876;break l}}while(0);bb(o|0);ke=876;break}}if((ke|0)==831){_P(_d);ke=832}else if((ke|0)==849)ke=876;if((ke|0)==832)ke=876;if((ke|0)==876)_P(le);break c}while(0);_P(oe);pE(re,f[pe>>2]|0);if((b[qe+11>>0]|0)>=0){u=ee;return}Hta(f[qe>>2]|0);u=ee;return}while(0);_P(oe);break a}while(0);Hta(n)}while(0);if((ke|0)==21)g=Ya()|0;pE(re,f[pe>>2]|0);if((b[qe+11>>0]|0)>=0){re=g;jb(re|0)}Hta(f[qe>>2]|0);re=g;jb(re|0)} + +// EMSCRIPTEN_END_FUNCS +var jc=[Xsa,gra,dra,era,fra,cX,Xsa,Xsa];var kc=[Msa,lQ];var lc=[Sta,Ti,Ui,fP,rra,Vra,Nra,Ora,Pra,Sta,Sta,Sta,Sta,Sta,Sta,Sta];var mc=[zsa,cf];var nc=[Bqa,zG,BG,AG];var oc=[ria,el,gl,gn];var pc=[fca,Ig];var qc=[iua,HY,XY,$O,Cda,$ta,_ta,fua,Lca,zfa,KP,qT,iua,iua,iua,iua];var rc=[Xta,qJ,pV,Xta];var sc=[Tra,mF];var tc=[rga,Wo];var uc=[Hsa,HQ];var vc=[Ota,Ll,ZR,RX,Zsa,bsa,Csa,Fma,Cla,gla,Usa,rZ,Hqa,bta,nD,fY,gsa,Nsa,_H,ZI,aoa,YR,IX,IB,US,qE,TX,Ysa,cS,bY,LR,eX,Bu,Bsa,TR,yX,bC,CR,VW,MR,hX,TU,SR,qX,aS,SX,gF,fX,wE,HX,zE,cY,AE,dY,YD,KX,qsa,gS,tY,KN,eS,qY,dS,iY,bS,aY,yE,QX,tE,xX,NR,pX,RR,oX,aI,JX,xr,mB,hY,ZY,nz,Aoa,YI,kr,QD,pY,Dha,Uz,oR,tW,TS,kC,jC,IF,gD,xW,qt,VR,DX,DB,zX,aJ,lD,CX,msa,Cq,AR,WW,dR,gW,FA,xE,BX,Nr,JB,eY,jY,pG,LX,Tpa,bpa,oC,PB,SW,lH,iH,VB,AA,rD,CW,zS,dD,TW,KR,dX,LI,_Q,XV,yR,JW,osa,nR,qW,lE,rW,cR,eW,gE,WV,DR,XW,ER,YW,tsa,kta,$H,gY,Ata,Fsa,dta,UC,wX,nE,nX,_I,pP,KE,DW,Kz,xv,Jra,tq,vra,Iqa,zra,Uqa,QO,FW,Kra,wra,ija,fQ,fW,_oa,Kqa,hQ,yW,sM,nQ,KW,Kpa,uQ,gX,gqa,ou,hR,mW,dpa,fJ,oG,EW,fZ,NM,dJ,nG,wW,IV,FF,BF,uE,rz,sW,KI,ZB,WB,LF,jE,PI,dsa,Ira,uG,pR,zW,ey,eq,dq,AO,uF,zR,UW,xI,$B,YB,ED,$E,NI,_1,K$,QC,Bpa,Zoa,fK,PN,Qra,asa,lsa,Jo,hn,Sqa,fqa,Tqa,ora,eqa,kT,Oea,Apa,Yoa,Nea,LN,Fra,xja,yF,zF,gja,Jka,hja,Kka,Wha,qP,oP,rP,$C,_C,ZC,aD,Vha,mP,lP,nP,Gx,Fx,Ex,Hx,sqa,rqa,Rqa,qqa,pqa,Qqa,kpa,jpa,Pqa,ipa,hpa,Oqa,oqa,Dpa,_pa,pu,Ipa,yC,Ooa,Noa,Joa,voa,zqa,Jpa,dqa,nqa,Cpa,Zpa,Nqa,cra,Tsa,Ssa,pka,Vsa,Jsa,VN,iaa,qG,fe,pq,Xca,Rca,wR,rh,VO,Dqa,kqa,_qa,bqa,EF,$qa,$7,ht,Hba,pra,RW,sca,Dca,Pv,Bma,hla,Aba,H2,Wba,gL,VX,Gma,jp,Ey,JQ,by,pF,RC,bW,UF,JF,EN,zN,BN,DN,AN,CN,b5,gJ,Tx,MG,nH,CD,HI,HO,Jy,GY,jH,ym,KC,PO,rL,_q,XH,ZH,bX,NW,Mqa,pC,zA,csa,tra,Yqa,K6,eI,AU,Ppa,Bra,Ara,Cra,kra,wna,_z,Jq,bd,gP,XN,mh,Rn,LV,Xoa,qpa,poa,fT,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota,Ota];var wc=[Gsa,vo];var xc=[usa,UL,I4,_3,N2,H4,j5,A6,fS,Waa,Gg,ch,Caa,W8,n8,f9,s9,L9,g6,u5,d4,f6,F6,E7,AQ,DQ,z4,U3,L2,y4,f5,y6,n5,K4,r3,m5,X5,a7,$5,p5,a4,_5,C6,B7,N1,k1,i0,M1,r2,I3,f3,D2,t1,e3,O3,$4,J0,c0,i$,I0,g1,p2,S1,o1,k0,R1,t2,K3,y2,Z1,Q0,x2,$2,s4,l5,J4,q3,k5,W5,$6,P1,l1,j0,O1,s2,J3,x4,T3,K2,w4,e5,x6,b6,q5,b4,a6,D6,C7,d6,r5,c4,c6,E6,D7,D4,X3,M2,C4,g5,z6,J7,h7,n6,I7,b8,J8,g7,N6,x5,f7,H7,p8,J6,l6,M4,I6,c7,_7,Z5,o5,$3,Y5,B6,A7,i5,F4,p3,h5,V5,_6,C2,a2,W0,B2,d3,u4,Y1,r1,n0,X1,w2,N3,W1,q1,m0,V1,v2,M3,W3,n3,c2,V3,B4,T5,k6,w5,f4,j6,H6,G7,uq,xQ,yQ,M6,m6,N4,L6,e7,a8,So,o_,WZ,BZ,n_,y_,s$,zk,C_,q_,MZ,B_,W_,N$,$m,m3,J2,x1,l3,S3,d5,Tp,F2,b2,X0,E2,g3,v4,Vqa,CQ,GQ,k3,I2,w1,j3,R3,c5,JC,e0,G$,R_,d0,K0,J1,cl,xZ,kZ,VY,wZ,JZ,f_,i3,G2,u1,h3,P3,a5,NB,t5,L4,s3,s5,e6,b7,SL,Z3,o3,d2,Y3,E4,U5,CS,Z$,D$,O_,Y$,F0,G1,ws,wA,E9,t9,X8,D9,M9,_9,__,H_,XZ,Z_,t$,y0,vr,$$,E$,P_,_$,G0,H1,yr,j1,O0,I$,i1,L1,Z2,cQ,gQ,bZ,SY,EY,aZ,hZ,GZ,R$,x$,L_,Q$,C0,z1,i_,TZ,yZ,h_,v_,p$,tF,k_,UZ,zZ,j_,w_,q$,GO,tZ,iZ,TY,sZ,HZ,d_,qda,$Y,RY,DY,_Y,gZ,FZ,Zca,g0,H$,S_,f0,L0,K1,N0,h0,j$,M0,h1,q2,i6,v5,e4,h6,G6,F7,Xha,A2,$1,V0,z2,c3,t4,U1,p1,l0,T1,u2,L3,BQ,EQ,a$,I_,YZ,$_,u$,z0,lC,mC,q6,A5,h4,p6,T6,M7,mT,XR,kk,tda,mx,e$,K_,_Z,d$,w$,B0,vZ,jZ,UY,uZ,IZ,e_,E_,r_,NZ,D_,X_,O$,Oh,DA,Ul,TB,Yy,qA,C$,h$,t_,B$,X$,f1,OV,n1,P0,J$,m1,Q1,_2,Pt,SZ,KZ,lZ,RZ,g_,U_,CA,Zj,Uy,fl,c$,J_,ZZ,b$,v$,A0,ts,lA,Lr,Zy,_n,kH,A_,p_,LZ,z_,V_,M$,kA,lk,vs,Xy,wo,Nz,m_,VZ,AZ,l_,x_,r$,eC,fC,Wq,Ek,oQ,sQ,VE,G_,s_,OZ,F_,Y_,P$,gC,hC,Pm,Rm,Qz,b0,F$,Q_,a0,H0,I1,uN,_R,QI,SE,xk,kQ,pQ,Lka,dl,SF,Dq,kI,Vm,Gga,XI,Wga,gha,tha,Hea,rfa,$ea,qga,_ea,ufa,Ye,fha,sfa,Ze,Mh,bf,Wqa,ri,Ad,nd,tj,tJ,Xga,pga,Nfa,Mfa,Rf,ag,Fga,Yc,ze,ad,zl,Iea,hfa,si,tqa,Aqa,iqa,Of,nu,$oa,Xda,on,Kr,Ko,zs,Tk,$f,Pj,Jqa,gp,oga,Lfa,Rh,ce,og,Jda,qea,Jea,tfa,Yda,Bea,uj,cv,ik,nk,u8,Yj,Wd,Z8,g9,Jm,xe,Xg,pj,E5,Gf,of,Ph,Me,F9,U9,V9,Qp,dk,xd,kd,Tj,JA,ui,Vi,ai,id,v9,G9,s8,R2,w3,F5,$0,R4,r6,r8,Y8,h9,K8,B5,C5,i4,f2,O2,P2,Z0,S$,U6,T$,G5,u9,l4,c8,n7,t8,d8,j4,_0,x3,S4,V6,g2,k4,v3,Q2,y3,D5,v7,D8,T7,l8,z8,V2,U4,G3,Y6,D3,X4,P5,k8,V4,S7,A8,B8,V7,j9,a9,S8,y8,i8,U7,X6,O5,N5,R8,$8,t7,e1,E1,E3,A$,W2,r4,s7,j8,C8,W7,B3,C3,l2,D0,c1,d1,y$,M_,T4,N_,F3,Q8,o2,W6,M5,u7,Z6,m2,z$,F1,X2,W4,E0,n2,D1,Lo,Ne,vk,Ega,cp,Sd,eha,lq,Ml,xj,Ki,Gd,ak,Ae,Kfa,dha,pfa,Sga,qha,rha,Uga,oia,$ha,Lha,pha,bha,Tga,mga,Jfa,Ifa,Kha,_ha,Cga,eea,nea,Yea,Ida,Fea,gfa,Bga,cha,sha,Vga,Vea,Wea,xea,Vda,bea,cea,Gda,fda,ofa,gda,Zea,hra,Aea,lga,Hfa,Dga,nga,yea,Hda,oea,Gea,qfa,Wda,zea,mea,dea,pea,Xea,JK,Dba,MK,TK,WK,cK,tK,nK,EK,kK,wK,AK,SK,uK,LK,XK,YK,OK,$z,eL,bL,VK,QK,NK,DK,oK,zK,aL,dL,HK,UJ,XJ,lK,LJ,dK,rK,GK,RK,ZK,PK,hK,iK,_J,PJ,RJ,SJ,JJ,FJ,sK,GJ,mK,$K,bK,CK,yK,IK,FK,$J,KJ,ZJ,eK,vK,QJ,aK,WJ,TJ,YJ,jK,Vca,zda,ada,jda,wda,dca,vca,nca,Pca,kca,yca,Hca,ida,wca,$ca,xda,yda,cda,Zda,Rda,Kda,vda,hda,bda,Oca,Gca,Fca,VF,ur,Uca,Lba,Sba,lca,pba,T_,Y0,Tca,bH,n$,uea,ica,o$,TQ,Bba,Iba,Jba,nba,cba,uca,dba,mca,Loa,_ba,Nca,Eca,sJ,EG,Yba,oba,Tba,eca,xca,Cba,Zba,Rba,Kba,Uba,jca,R7,P8,f8,x8,M8,z3,I5,q4,q7,n4,L5,v6,w8,J5,e8,N8,O8,h8,w9,i9,_8,L8,v8,g8,p7,u6,t6,jn,hqa,upa,oy,i2,o4,W$,Koa,Voa,Q7,Lpa,Rpa,Fpa,m4,Poa,xoa,a1,A1,B1,U$,f$,H5,g$,p4,aqa,U2,o7,s6,wG,r7,S2,V$,j2,A3,K5,b1,T2,h2,C1,k2,py,cca,hca,bca,gca,Uu,Wu,Pu,Qu,MV,DV,$pa,$W,aX,woa,Op,lp,WO,Tt,bs,tn,Ie,_T,Dv,so,b_,_e,mna,vp,uW,Hz,to,ro,_B,BD,AI,Fo,Em,Ir,Ak,bI,$F,ty,Yr,Qj,kF,yz,bN,c_,HF,Mx,Am,sk,In,ml,pA,_h,zu,yv,um,uf,_k,AB,ZT,mp,rt,UG,gy,Nt,hq,YE,jq,cga,Eu,zh,we,ul,Sg,Do,CE,Dx,Bo,Ij,Al,Re,Hy,YO,Vo,ura,Hpa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa,usa];var yc=[uqa,ld,Ty,Xs,On,ee,Fu,vu,qy,Mu,kea,iF,JE,Zz,Ev,MM,GD,RN,fR,jea,RE,BE,bO,sY,oJ,rJ,xR,uR,wS,vS,xP,yP,aea,hU,AP,BP,Tda,WE,yY,Sv,fE,VD,Gk,FS,sp,cu,an,Zw,Io,iG,oB,Zu,Fy,ov,Kw,Fw,pv,dv,iv,zt,Uv,mv,Cy,kq,sv,tw,qv,Iu,Ku,vt,Qr,Bw,yx,tx,Cx,ox,qx,px,Bx,zx,lu,Vs,rv,hv,gv,rw,qw,nv,_v,Dw,lv,Hp,Uw,zy,yw,Ny,Cs,fw,Is,du,gx,Ww,dx,wx,uu,bu,Fs,zw,rx,sx,hx,uw,pw,nw,kw,hw,Xw,Yw,bx,Qw,cw,dw,Yv,ax,Lw,ew,tt,gw,bw,$w,Mw,Tw,vw,mw,lx,Pw,xx,Ax,ry,xw,wt,$r,hu,ev,Ov,ow,fv,bj,Su,jw,Xv,Wv,Ju,nx,jx,wP,Xd,Aj,Id,Jh,te,De,yt,Ot,sE,Nma,dT,iE,pO,dW,Up,Yo,tD,xC,dz,tia,kO,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa,uqa];var zc=[Hna,kU,OO,aP,UO,zU,cd,Pr,yN,yj,Bi,vy,KA,Ss,rR,qk,Sx,Ux,GA,os,zj,fM,vD,JD,KD,qD,kE,wB,DE,Bk,ioa,av];var Ac=[fja,nn,mn,ln,kn,qo,fja,fja];var Bc=[hia,CJ,_K,Iq,Rv,Qv,Vx,Eq,Nv,Mv,Lx,T0,$U,bB,gA,bR,ZO,s1,AX,S0,WU,zH,Lp,eo,Nn,Po,Un,Sn,Ds,Co,Ro,dd,po,Bn,sn,Az,Nx,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia,hia];var Cc=[iea,Gj,Dj,iea];var Dc=[Lda,ip,OH,NH,HH,CH,IH,GH,uH,wH,vH,jh,hp,MH,LH,EH,BH,FH,DH,rH,tH,sH,ih,ny,my,ly,ky,pH,RD,HE,GE,OE,oH,MD,FE,EE,NE,bl,Zk,ks,wn,ye,ph,An,Xo,We,zp,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda,Lda];var Ec=[gba,MB,KB,gk,Ik,fk,Hk,ge,Jd,ae,fn,dn,en,_g,ke,Ld,Il,Hm,Xm,vj,mj,lj,ig,jj,zi,Zm,bg,wg,Ii,Hi,Fd,qd,sd,Uf,lh,zm,ck,Ke,Df,pe,nj,oj,Dh,pn,ao,$n,co,Ah,Bh,Yd,Ff,Bd,Nd,Ee,md,Kd,Td,Fg,Mk,jg,nh,yf,Ri,fi,Nh,qf,cn,wk,El,Eg,Pi,Oi,Fh,Qi,Nj,Ed,Om,me,Km,fh,Yg,fj,re,od,Nf,Ef,Cj,li,Vg,Uo,de,vi,wi,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba,gba];var Fc=[q9,Ag,zg,pL,qL,Nk,Rk,hT,lT,nL,oL,q9,q9,q9,q9,q9];var Gc=[YX,ls,ns,YX];var Hc=[PV,vd,ud,PV];var Ic=[yU,up,Sp,yU];var Jc=[kua,_sa,xB,Qta,xta,Bda,Kca,vv,Zp,OJ,uv,Yp,MJ,Ika,Hka,Bla,fga,lea,Sfa,Tfa,Raa,Qaa,Paa,Oaa,Sha,Rha,Qha,Pha,Jaa,Iaa,Haa,Gaa,gU,fU,_N,ZN,oka,nka,sX,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua,kua];var Kc=[dua,sF,QE,vsa,tta,ita,GW,GV,_P,jka,RH,apa,oN,cM,pM,EL,Nja,z7,m$,cia,xla,Wja,Cfa,KV,XU,Y4,PZ,Mla,YQ,IQ,bja,H3,mZ,HW,HV,Vka,MX,KT,IJ,RI,NN,OM,Aja,kfa,qka,Vfa,rka,Wfa,Bja,lfa,WX,jW,qR,OQ,fI,xH,o8,x0,Vja,Bfa,Qia,Qea,LS,kS,$ia,KS,jS,Rja,xsa,pN,eM,qM,FL,KF,jqa,Qpa,$ka,OF,nF,zaa,K7,xga,sda,FX,cW,cN,_L,mM,AL,ika,Osa,Tia,Rea,cja,oU,OR,hka,baa,z5,r9,LW,W9,iX,ysa,SM,VL,cH,kM,xL,S6,YV,mA,hW,VJ,VI,kJ,CI,xfa,N9,g4,e2,WY,Hga,xaa,i7,Yga,Xfa,_ca,aaa,y5,Eea,tca,Maa,U8,Y2,cZ,fia,Lsa,UX,MT,YM,ZL,lM,yL,Oja,yga,uda,aia,xha,vha,SS,eR,VQ,$Q,iR,tR,eO,tN,mQ,vP,iQ,uP,sy,eH,HG,eA,RG,mG,jha,Zga,gka,hha,FY,rX,Fn,PD,pD,fA,yD,Qla,wha,PF,wma,xG,dG,VH,eba,Vf,cta,oY,lba,PY,QY,jM,YL,qK,BJ,BS,$R,iM,XL,pK,AJ,HL,uL,iL,xK,jJ,$I,PX,aba,Zaa,_aa,BY,CY,mY,jba,LY,MY,moa,noa,Yka,wla,Dta,xra,Lra,_ra,Xka,IN,UM,ama,uha,eia,iha,sla,Fka,MN,iN,SV,rV,$P,JP,mO,aO,dC,mba,bia,Iga,aga,Eka,Lia,Qja,Mha,aja,Dka,gia,Kia,Jia,Wka,rla,Nla,bma,rma,Cka,vla,ula,dja,Gba,uaa,_ga,nW,CV,dy,mpa,tla,dia,Wra,wsa,rM,ML,Pja,Zka,aG,lpa,zM,$L,dM,CL,Spa,Ona,Boa,tga,fta,Mpa,DG,cG,qra,hsa,Ksa,rsa,ssa,yja,Sia,Ria,Eha,Fha,jja,Uja,BV,sV,AV,yV,uV,zia,nsa,ON,Coa,Bca,Uaa,rca,Taa,nY,kba,NY,OY,lY,iba,JY,KY,Qsa,ara,Moa,mka,Aha,ala,Bha,bla,Tha,Tla,Uha,Ula,zpa,Lna,hba,ypa,Kna,Pda,Pba,Oda,Oba,Nda,Nba,Mda,Mba,Eda,Fba,Dda,Eba,y7,l$,x7,k$,Hoa,fla,Goa,ela,Foa,dla,Eoa,cla,pda,xba,oda,wba,nda,vba,mda,uba,spa,Zma,rpa,Yma,$sa,Oia,wia,UK,jfa,uJ,Pma,$X,Doa,eZ,lna,dZ,kna,Oma,Mna,Nia,uia,via,lqa,wqa,tpa,vma,isa,Pfa,Sra,Rra,bfa,Eta,gpa,Asa,Afa,Ioa,dfa,Nna,uoa,toa,vna,Ita,xpa,vta,Uoa,rea,ifa,Kea,EO,efa,CO,vQ,EX,Qk,DO,Gi,vW,vR,vpa,XQ,Rfa,GX,xp,Eaa,Z7,yra,G4,Kv,cpa,Dsa,Cm,QB,JN,UE,dj,AS,Ci,Yi,wv,dQ,boa,Es,aN,rG,yy,y1,wz,yB,dF,Ai,yba,R0,Xpa,ata,ZP,$h,tU,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua,dua];var Lc=[jta,LL,KL,NL,$9,gO,Sja,Vaa,Qba,RL,QL,oaa,Aia,Kga,VC,$D,vfa,Y9,gaa,laa,k9,H9,T8,m9,x9,faa,l9,X9,maa,naa,Z9,Daa,yaa,vaa,kaa,eaa,A9,p9,o9,S9,qaa,SQ,ima,Cca,$aa,SC,ZD,afa,waa,WR,Laa,d9,rda,R6,cD,k7,K9,kV,B9,YC,Ei,QW,WC,aE,Ofa,J9,_S,H8,Q4,I9,haa,eP,T9,$V,E8,$N,Iia,bba,L$,L7,YN,U0,F8,b9,Qca,GC,OD,u3,q8,O6,P6,O4,t3,I8,V8,paa,lW,z9,n9,al,iW,TC,_D,wfa,N7,raa,ffa,Vy,P7,HS,P4,l7,m8,c9,o6,O7,j7,Q6,Fda,Jca,NC,TD,_da,m7,TO,G8,JV,bE,fea,Yca,MC,SD,Sda,ff,yia,Zg,$g,Sy,ina,xf,BI,Gna,Tna,EJ,NJ,Lla,ZF,Ila,qma,Ama,Fna,oma,rna,Una,Vna,tna,yoa,loa,goa,Sna,Dna,sna,Vma,zma,yma,foa,koa,gna,cka,xka,Jla,Wia,pla,$la,fna,Ena,Wna,una,Fla,Gla,Qka,Gja,$ja,aka,Uia,jia,nma,kia,Kla,eoa,Tka,Uma,xma,hna,Wma,Rka,Via,yka,qla,pma,Hja,Ska,wka,bka,zka,Hla,Tma,pB,Je,rA,yna,cj,Di,Br,Lg,bo,kj,xy,OL,Oy,Gz,pz,qz,Ho,$o,Qn,bk,ju,tz,oE,sz,Ep,fq,Ue,oD,Rp,ng,Mr,$G,sD,QV,UV,pW,xt,be,MF,Ps,Rz,rp,kja,Si,Ao,Aq,vJ,En,ho,oq,_G,OG,zv,Hu,wp,Cr,AH,SN,yI,rF,vF,Cn,Vr,Jp,IG,Bg,Ej,Ox,ru,Gt,aq,Wy,tl,EI,ol,Te,ZE,NV,Cna,bna,qna,Nka,Xla,ola,Jma,lla,_la,mma,pna,Yla,ana,zna,Ana,dna,joa,doa,Rna,xna,nna,cna,Ima,lma,kma,Qna,coa,Rma,Fja,Yja,mla,Dia,Oka,Ela,Qma,ona,Bna,ena,ila,jla,ska,Cja,Dja,Bia,Yha,Wla,Zha,nla,Pna,vka,Hma,jma,Sma,Kma,tka,Cia,Zja,Pka,Zla,lja,uka,Xja,Eja,_ja,kla,Hia,CM,mg,pja,Jja,iJ,pJ,Rga,QF,Oga,oha,Jha,oja,mha,Xia,Kja,Lja,Zia,Uka,Bka,fka,Ija,mja,Yia,mia,Iha,Hha,eka,Aka,Fia,Gfa,Zfa,Pga,Uea,zga,aha,Eia,nja,Mja,_ia,Lga,Mga,hga,mfa,Dfa,Efa,Sea,vea,lha,wea,Qga,dka,kga,lia,Gha,Gia,nia,iga,Tea,_fa,Aga,nha,nfa,jga,Yfa,Ffa,$fa,Nga,xia,GP,HP,sL,tL,cT,ZS,RS,xO,v0,w0,bT,YS,QS,wO,t0,u0,aT,XS,PS,rO,r0,s0,$S,WS,OS,qO,p0,q0,Fqa,Eqa,Y7,GG,FG,X7,CB,BB,$x,ss,R9,hz,ND,kz,JS,qV,SB,hD,wC,Zt,uC,cy,zB,Kp,iz,uB,Fz,Dt,Vt,CC,_t,Py,mz,cB,vB,bq,sq,lz,hy,HC,sw,bz,sC,rC,zC,bD,fD,tC,jz,GS,Oo,oA,FD,ez,eu,Yx,Ns,cz,nf,it,Pn,hh,at,xq,Gv,mR,et,fr,ds,lt,Xt,At,pl,gt,jr,ir,aB,Mz,EV,ie,wQ,FN,Dla,wh,fO,zz,tu,uD,cP,kha,NG,SO,ZA,Fk,hN,qs,Wf,fB,Hq,rn,Jl,Kl,DC,UA,EC,VA,wV,rr,pt,bn,_F,qH,Lf,ms,Ys,qB,tg,aj,lr,aM,nt,ot,ug,vl,vx,Hh,tr,SA,EP,zP,$d,yG,Se,yg,kg,lg,Kf,oe,bA,lf,hd,Zd,le,Ud,Sf,hg,Hn,je,qe,wj,Cd,Cz,Hf,bh,gg,ne,cC,hf,Wn,Xn,Vn,xg,Xe,Mg,ql,jd,jk,gf,hi,Vj,pf,af,Th,Dd,Pk,Kn,Kh,mD,ve,Fi,Jz,iB,TE,th,Qx,rg,qg,pg,Jg,Uq,Oj,xn,Mi,Pq,Gh,Ce,Be,Zs,Ly,xA,gz,GB,DI,zI,mr,gu,il,ps,_A,Wp,sr,QA,Sz,Ok,vA,TA,Rq,WA,Bf,Tz,BA,lo,xm,Iw,yh,Gp,Im,Ou,SP,Jt,jt,PC,jo,ys,Dm,Fv,wr,zq,XA,TP,oF,qC,OC,UB,gga,Sca,gj,RA,DL,fH,dH,Hd,iC,Ht,bt,WL,Zi,Lq,hB,Pz,WD,NO,eD,pp,GI,EZ,DZ,a_,$Z,_X,ZX,NX,OX,oZ,nZ,oV,nV,mV,lV,xY,wY,vY,uY,eV,dV,cV,bV,iV,hV,gV,fV,qZ,pZ,wL,rQ,fL,aQ,GF,TI,iP,_W,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta,jta];var Mc=[Lma,ll];var Nc=[Ura,Oq,EU,tV,PU,CU,IU,MU,$T,pU,TT,bU,iU,HU,aU,BU,NU,OU,DU,aV,YU,UU,LU,GU,mU,eU,dU,vU,RU,VU,zT,BT,sU,nU,rU,RT,pT,qU,JU,wU,OT,xV,FT,PT,WT,jT,NT,wT,xT,nT,iT,ST,UT,QU,lU,cU,GT,SU,IT,oT,CT,JT,XT,sT,HT,AT,yT,DT,QT,lR,kR,P9,_E,cF,QQ,fF,_o,Mia,eB,jB,iA,Qf,Jf,Zc,xs,fd,_r,Go,Ap,$y,tA,bF,sB,bG,Pp,iy,dB,se,uz,eh,Um,Yu,taa,Qda,Qe,Uk,NA,kh,wq,qh,Li,Le,wd,Cl,Tq,Ve,PQ,gR,gd,Mf,Mo,vf,Af,eg,Ls,yk,pd,OA,aC,st,Aca,Pf,tT,kl,WG,Zx,cq,Qd,Tm,dp,Ji,AW,_d,ah,ue,Iz,fp,FI,Lt,Ym,hH,rf,Qo,$c,nA,vq,Wca,oca,yH,jl,PL,LD,xD,wD,PA,Iv,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura,Ura];var Oc=[opa,FQ,eE,nS,mS,lF,nB,CP,nM,IE,oz,pca,Ni,Zq,dP,Sh,js,dh,yn,ed,sf,Fr,fz,If,Vd,HA,kf,Fp,vn,Hs,zn,vz,xz,Mt,gh,zd,Gw,vG,Lv,Hw,iw,Vv,Qt,mk,_i,Wk,Yq,Oe,$s,Xq,Hg,Wc,sl,ti,hj,hl,cg,Og,sg,Q3,IA,opa,opa,opa];var Pc=[cma,vE,fy,Wm,FC,xi,JL,yi,df,Md,Ih,Ws,er,dt,fx,rd];var Qc=[bga,Xr,yA,NQ,MQ,us,Bm,yO,vL,az,Qy,Fe,Jj,$p,om,Rr,gs,hs,Ch,wu,Hj,Od,gr,rs,Pd,td,He,iq,bga,bga,bga,bga];var Rc=[Ica,$q,Kg,dg,tf,Vq,Fj,Zr,_c,Kj,Gn,Fl,ij,Dl,$i,Ica];var Sc=[Faa,_p,Gq,Faa];var Tc=[YY,Tg,Pg,Cg,Dg,YY,YY,YY];var Uc=[JR,rk,ok,JR];return{__GLOBAL__I_000101:Wsa,__GLOBAL__sub_I_ast_cpp:Xk,__GLOBAL__sub_I_ast_fwd_decl_cpp:Tl,__GLOBAL__sub_I_backtrace_cpp:Sr,__GLOBAL__sub_I_bind_cpp:mm,__GLOBAL__sub_I_check_nesting_cpp:Sl,__GLOBAL__sub_I_color_maps_cpp:Xc,__GLOBAL__sub_I_context_cpp:em,__GLOBAL__sub_I_cssize_cpp:jm,__GLOBAL__sub_I_emitter_cpp:Tr,__GLOBAL__sub_I_environment_cpp:Wl,__GLOBAL__sub_I_error_handling_cpp:Rl,__GLOBAL__sub_I_eval_cpp:dm,__GLOBAL__sub_I_expand_cpp:im,__GLOBAL__sub_I_extend_cpp:hm,__GLOBAL__sub_I_file_cpp:cm,__GLOBAL__sub_I_functions_cpp:vg,__GLOBAL__sub_I_inspect_cpp:bm,__GLOBAL__sub_I_iostream_cpp:Yta,__GLOBAL__sub_I_listize_cpp:am,__GLOBAL__sub_I_node_cpp:lm,__GLOBAL__sub_I_operators_cpp:_l,__GLOBAL__sub_I_output_cpp:gm,__GLOBAL__sub_I_parser_cpp:fm,__GLOBAL__sub_I_remove_placeholders_cpp:Pl,__GLOBAL__sub_I_sass2scss_cpp:qQ,__GLOBAL__sub_I_sass_context_cpp:pm,__GLOBAL__sub_I_sass_cpp:qm,__GLOBAL__sub_I_sass_functions_cpp:Ql,__GLOBAL__sub_I_sass_util_cpp:Zl,__GLOBAL__sub_I_sass_values_cpp:Vl,__GLOBAL__sub_I_source_map_cpp:Yl,__GLOBAL__sub_I_subset_map_cpp:Xl,__GLOBAL__sub_I_to_c_cpp:km,__GLOBAL__sub_I_to_value_cpp:$l,__GLOBAL__sub_I_units_cpp:Bl,__GLOBAL__sub_I_util_cpp:sm,__GLOBAL__sub_I_values_cpp:rm,___cxa_can_catch:WP,___cxa_is_pointer_type:Ada,___errno_location:bua,___muldi3:eT,___udivdi3:Mea,___uremdi3:lS,_bitshift64Lshr:kX,_bitshift64Shl:IW,_emscripten_replace_memory:ic,_free:$h,_i64Add:w7,_i64Subtract:AY,_llvm_bswap_i32:dga,_llvm_round_f64:qoa,_malloc:Rd,_memcpy:Lu,_memmove:DP,_memset:AD,_pthread_cond_broadcast:hta,_pthread_mutex_lock:wta,_pthread_mutex_unlock:lta,_sass_compile_emscripten:Ms,_sbrk:TN,dynCall_ddd:Ola,dynCall_ddi:qja,dynCall_di:Woa,dynCall_dii:yha,dynCall_diii:$ba,dynCall_diiiii:zY,dynCall_diiiiidd:ZU,dynCall_i:Xra,dynCall_id:npa,dynCall_iddd:hea,dynCall_iddddii:XX,dynCall_idi:qia,dynCall_ii:ooa,dynCall_iid:pia,dynCall_iii:Qfa,dynCall_iiii:qba,dynCall_iiiii:w6,dynCall_iiiiid:IY,dynCall_iiiiii:rY,dynCall_iiiiiid:VV,dynCall_iiiiiii:FV,dynCall_iiiiiiii:uT,dynCall_iiiiiiiii:pS,dynCall_iiiiiiiiiii:XP,dynCall_iiiiiiiiiiii:jP,dynCall_iiiiiiiiiiiii:tO,dynCall_v:Psa,dynCall_vi:Npa,dynCall_vii:eja,dynCall_viidii:o0,dynCall_viii:Mca,dynCall_viiii:O9,dynCall_viiiii:CZ,dynCall_viiiiii:kW,dynCall_viiiiiii:xU,dynCall_viiiiiiii:IS,dynCall_viiiiiiiiii:jQ,dynCall_viiiiiiiiiiiiiii:oM,emtStackRestore:gta,emtStackSave:Wta,emterpret:Vc,establishStackSpace:epa,getEmtStackMax:Rta,getTempRet0:aua,runPostSets:nO,setAsyncState:uta,setEmtStackMax:eta,setTempRet0:Lta,setThrew:Cma,stackAlloc:kda,stackRestore:Fta,stackSave:cua}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ast_cpp=Module["__GLOBAL__sub_I_ast_cpp"]=asm["__GLOBAL__sub_I_ast_cpp"];var __GLOBAL__sub_I_ast_fwd_decl_cpp=Module["__GLOBAL__sub_I_ast_fwd_decl_cpp"]=asm["__GLOBAL__sub_I_ast_fwd_decl_cpp"];var __GLOBAL__sub_I_backtrace_cpp=Module["__GLOBAL__sub_I_backtrace_cpp"]=asm["__GLOBAL__sub_I_backtrace_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_check_nesting_cpp=Module["__GLOBAL__sub_I_check_nesting_cpp"]=asm["__GLOBAL__sub_I_check_nesting_cpp"];var __GLOBAL__sub_I_color_maps_cpp=Module["__GLOBAL__sub_I_color_maps_cpp"]=asm["__GLOBAL__sub_I_color_maps_cpp"];var __GLOBAL__sub_I_context_cpp=Module["__GLOBAL__sub_I_context_cpp"]=asm["__GLOBAL__sub_I_context_cpp"];var __GLOBAL__sub_I_cssize_cpp=Module["__GLOBAL__sub_I_cssize_cpp"]=asm["__GLOBAL__sub_I_cssize_cpp"];var __GLOBAL__sub_I_emitter_cpp=Module["__GLOBAL__sub_I_emitter_cpp"]=asm["__GLOBAL__sub_I_emitter_cpp"];var __GLOBAL__sub_I_environment_cpp=Module["__GLOBAL__sub_I_environment_cpp"]=asm["__GLOBAL__sub_I_environment_cpp"];var __GLOBAL__sub_I_error_handling_cpp=Module["__GLOBAL__sub_I_error_handling_cpp"]=asm["__GLOBAL__sub_I_error_handling_cpp"];var __GLOBAL__sub_I_eval_cpp=Module["__GLOBAL__sub_I_eval_cpp"]=asm["__GLOBAL__sub_I_eval_cpp"];var __GLOBAL__sub_I_expand_cpp=Module["__GLOBAL__sub_I_expand_cpp"]=asm["__GLOBAL__sub_I_expand_cpp"];var __GLOBAL__sub_I_extend_cpp=Module["__GLOBAL__sub_I_extend_cpp"]=asm["__GLOBAL__sub_I_extend_cpp"];var __GLOBAL__sub_I_file_cpp=Module["__GLOBAL__sub_I_file_cpp"]=asm["__GLOBAL__sub_I_file_cpp"];var __GLOBAL__sub_I_functions_cpp=Module["__GLOBAL__sub_I_functions_cpp"]=asm["__GLOBAL__sub_I_functions_cpp"];var __GLOBAL__sub_I_inspect_cpp=Module["__GLOBAL__sub_I_inspect_cpp"]=asm["__GLOBAL__sub_I_inspect_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __GLOBAL__sub_I_listize_cpp=Module["__GLOBAL__sub_I_listize_cpp"]=asm["__GLOBAL__sub_I_listize_cpp"];var __GLOBAL__sub_I_node_cpp=Module["__GLOBAL__sub_I_node_cpp"]=asm["__GLOBAL__sub_I_node_cpp"];var __GLOBAL__sub_I_operators_cpp=Module["__GLOBAL__sub_I_operators_cpp"]=asm["__GLOBAL__sub_I_operators_cpp"];var __GLOBAL__sub_I_output_cpp=Module["__GLOBAL__sub_I_output_cpp"]=asm["__GLOBAL__sub_I_output_cpp"];var __GLOBAL__sub_I_parser_cpp=Module["__GLOBAL__sub_I_parser_cpp"]=asm["__GLOBAL__sub_I_parser_cpp"];var __GLOBAL__sub_I_remove_placeholders_cpp=Module["__GLOBAL__sub_I_remove_placeholders_cpp"]=asm["__GLOBAL__sub_I_remove_placeholders_cpp"];var __GLOBAL__sub_I_sass2scss_cpp=Module["__GLOBAL__sub_I_sass2scss_cpp"]=asm["__GLOBAL__sub_I_sass2scss_cpp"];var __GLOBAL__sub_I_sass_context_cpp=Module["__GLOBAL__sub_I_sass_context_cpp"]=asm["__GLOBAL__sub_I_sass_context_cpp"];var __GLOBAL__sub_I_sass_cpp=Module["__GLOBAL__sub_I_sass_cpp"]=asm["__GLOBAL__sub_I_sass_cpp"];var __GLOBAL__sub_I_sass_functions_cpp=Module["__GLOBAL__sub_I_sass_functions_cpp"]=asm["__GLOBAL__sub_I_sass_functions_cpp"];var __GLOBAL__sub_I_sass_util_cpp=Module["__GLOBAL__sub_I_sass_util_cpp"]=asm["__GLOBAL__sub_I_sass_util_cpp"];var __GLOBAL__sub_I_sass_values_cpp=Module["__GLOBAL__sub_I_sass_values_cpp"]=asm["__GLOBAL__sub_I_sass_values_cpp"];var __GLOBAL__sub_I_source_map_cpp=Module["__GLOBAL__sub_I_source_map_cpp"]=asm["__GLOBAL__sub_I_source_map_cpp"];var __GLOBAL__sub_I_subset_map_cpp=Module["__GLOBAL__sub_I_subset_map_cpp"]=asm["__GLOBAL__sub_I_subset_map_cpp"];var __GLOBAL__sub_I_to_c_cpp=Module["__GLOBAL__sub_I_to_c_cpp"]=asm["__GLOBAL__sub_I_to_c_cpp"];var __GLOBAL__sub_I_to_value_cpp=Module["__GLOBAL__sub_I_to_value_cpp"]=asm["__GLOBAL__sub_I_to_value_cpp"];var __GLOBAL__sub_I_units_cpp=Module["__GLOBAL__sub_I_units_cpp"]=asm["__GLOBAL__sub_I_units_cpp"];var __GLOBAL__sub_I_util_cpp=Module["__GLOBAL__sub_I_util_cpp"]=asm["__GLOBAL__sub_I_util_cpp"];var __GLOBAL__sub_I_values_cpp=Module["__GLOBAL__sub_I_values_cpp"]=asm["__GLOBAL__sub_I_values_cpp"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];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 _llvm_round_f64=Module["_llvm_round_f64"]=asm["_llvm_round_f64"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _sass_compile_emscripten=Module["_sass_compile_emscripten"]=asm["_sass_compile_emscripten"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var emtStackRestore=Module["emtStackRestore"]=asm["emtStackRestore"];var emtStackSave=Module["emtStackSave"]=asm["emtStackSave"];var emterpret=Module["emterpret"]=asm["emterpret"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getEmtStackMax=Module["getEmtStackMax"]=asm["getEmtStackMax"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setAsyncState=Module["setAsyncState"]=asm["setAsyncState"];var setEmtStackMax=Module["setEmtStackMax"]=asm["setEmtStackMax"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];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_ddd=Module["dynCall_ddd"]=asm["dynCall_ddd"];var dynCall_ddi=Module["dynCall_ddi"]=asm["dynCall_ddi"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_diiiii=Module["dynCall_diiiii"]=asm["dynCall_diiiii"];var dynCall_diiiiidd=Module["dynCall_diiiiidd"]=asm["dynCall_diiiiidd"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_id=Module["dynCall_id"]=asm["dynCall_id"];var dynCall_iddd=Module["dynCall_iddd"]=asm["dynCall_iddd"];var dynCall_iddddii=Module["dynCall_iddddii"]=asm["dynCall_iddddii"];var dynCall_idi=Module["dynCall_idi"]=asm["dynCall_idi"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iid=Module["dynCall_iid"]=asm["dynCall_iid"];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_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viidii=Module["dynCall_viidii"]=asm["dynCall_viidii"];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"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["getValue"]=getValue;Module["Pointer_stringify"]=Pointer_stringify;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+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 exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(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() + + + + + +/*global Module*/ +/*jshint strict:false, unused:false*/ + +function noop(){} + + +function stripLeadingSlash(text) { + return text.slice(0, 1) === '/' ? text.slice(1) : text; +} + +function addLeadingSlash(text) { + return text.slice(0, 1) !== '/' ? ('/' + text) : text; +} + +function stripTrailingSlash(text) { + return text.slice(-1) === '/' ? text.slice(0, -1) : text; +} + +function addTrailingSlash(text) { + return text.slice(-1) !== '/' ? (text + '/') : text; +} + + +function pointerToString(pointer) { + /*jshint camelcase:false*/ + return pointer && Module.Pointer_stringify(pointer) || null; +} + +function stringToPointer(text) { + // a character like ” takes 3 bytes, while .length would return 1 + // see https://github.com/medialize/sass.js/issues/72#issuecomment-263916386 + var bytes = Module.lengthBytesUTF8(text); + var buffer = Module._malloc(bytes + 1); + Module.stringToUTF8(text, buffer, bytes + 1); + return buffer; +} + +function pointerToJson(pointer) { + var test = pointerToString(pointer); + return test && JSON.parse(test) || null; +} + +function pointerToStringArray(pointer) { + var list = []; + if (!pointer) { + return list; + } + + // TODO: are we limited to 32bit? + for (var i=0; true; i+=4) { + var _pointer = Module.getValue(pointer + i, '*'); + if (!_pointer) { + break; + } + + var _item = pointerToString(_pointer); + _item && list.push(_item); + } + + return list; +} + +/*jshint strict:false, unused:false*/ + +var BooleanNumber = function(input) { + // in emscripten you pass booleans as integer 0 and 1 + return Number(Boolean(input)); +}; + +// map of arguments required by the emscripten wrapper (order relevant!) +// to not have to touch various different spots in this file, +// everything is defined here and registered in the appropriate places. +var options = [ + { + // int output_style, + type: 'number', + // Output style for the generated css code + // using Sass.style.* + key: 'style', + initial: 0, + coerce: Number, + }, + { + // int precision, + type: 'number', + // Precision for outputting fractional numbers + // 0: use libsass default + key: 'precision', + initial: -1, + coerce: Number, + }, + { + // bool source_comments, + type: 'number', + // If you want inline source comments + key: 'comments', + initial: 0, + coerce: BooleanNumber, + }, + { + // bool is_indented_syntax_src, + type: 'number', + // Treat source_string as SASS (as opposed to SCSS) + key: 'indentedSyntax', + initial: 0, + coerce: BooleanNumber, + }, + { + // bool source_map_contents, + type: 'number', + // embed include contents in maps + key: 'sourceMapContents', + initial: 1, + coerce: BooleanNumber, + }, + { + // bool source_map_embed, + type: 'number', + // embed sourceMappingUrl as data uri + key: 'sourceMapEmbed', + initial: 0, + coerce: BooleanNumber, + }, + { + // bool omit_source_map_url, + type: 'number', + // Disable sourceMappingUrl in css output + key: 'sourceMapOmitUrl', + initial: 1, + coerce: BooleanNumber, + }, + { + // char *source_map_root, + type: 'string', + // Pass-through as sourceRoot property + key: 'sourceMapRoot', + initial: 'root', + coerce: String, + }, + { + // char *source_map_file, + type: 'string', + // Path to source map file + // Enables the source map generating + // Used to create sourceMappingUrl + key: 'sourceMapFile', + initial: 'file', + coerce: String, + }, + { + // char *input_path, + type: 'string', + // The input path is used for source map generation. + // It can be used to define something with string + // compilation or to overload the input file path. + // It is set to "stdin" for data contexts + // and to the input file on file contexts. + key: 'inputPath', + initial: 'stdin', + coerce: String, + }, + { + // char *output_path, + type: 'string', + // The output path is used for source map generation. + // Libsass will not write to this file, it is just + // used to create information in source-maps etc. + key: 'outputPath', + initial: 'stdout', + coerce: String, + }, + { + // char *indent, + type: 'string', + // String to be used for indentation + key: 'indent', + initial: ' ', + coerce: String, + }, + { + // char *linefeed, + type: 'string', + // String to be used to for line feeds + key: 'linefeed', + initial: '\n', + coerce: String, + }, +]; + +/*global FS, PATH, Sass, stringToPointer*/ +/*jshint strict:false*/ + +var Importer = { + _running: false, + _result: null, + + find: function(current, previous) { + if (!Sass._importer) { + Importer._running = false; + return; + } + + Importer._running = true; + Importer._result = null; + + var resolved = PATH.resolve(previous === 'stdin' ? Sass._path : PATH.dirname(previous), current); + var found = Sass.findPathVariation(FS.stat, resolved); + var done = function done(result) { + Importer._result = result; + Importer._running = false; + }; + + try { + Sass._importer({ + current: current, + previous: previous, + resolved: resolved, + path: found, + options: Sass._options.importer || null, + }, done); + } catch(e) { + // allow emscripten to resume libsass, + // if only to have it stop gracefully + done({ error: e.message }); + // but don't just swallow the JS error + console.error(e.stack); + } + }, + + finished: function() { + return !Importer._running; + }, + + path: function() { + return Importer._resultPointer('path'); + }, + + content: function() { + return Importer._resultPointer('content'); + }, + + error: function() { + return Importer._resultPointer('error'); + }, + + _resultPointer: function(key) { + return Importer._result && Importer._result[key] !== undefined && stringToPointer(Importer._result[key]) || 0; + }, + +}; +/*global Module, FS, PATH, stripLeadingSlash, addTrailingSlash, XMLHttpRequest, noop, options*/ +/*jshint strict:false*/ + +var Sass = { + style: { + nested: 0, + expanded: 1, + compact: 2, + compressed: 3, + }, + comments: { + 'none': 0, + 'default': 1, + }, + + _options: { + // filled by sass.options.js + }, + _defaultOptions: { + // filled by sass.options.js + }, + _optionTypes: { + // filled by sass.options.js + }, + + _files: {}, + _path: '/sass/', + + FS: FS, + PATH: PATH, + Module: Module, + + // track if emscripten is initialized + _initialized: false, + // allow calling .compile() before emscripten is ready by "buffering" the call + // (i.e. have the client not care about its asynchronous init) + _ready: function() { + Sass._initialized = true; + // we may have buffered compile() calls during execution, + Sass._compileNext(); + }, + + _compileNext: function() { + if (!Sass._compileQueue.length) { + return; + } + // first in first out + var args = Sass._compileQueue.shift(); + Sass.compile.apply(Sass, args); + }, + + options: function(options, callback) { + if (options === 'defaults') { + Sass.options(Sass._defaultOptions, callback); + return; + } + + if (typeof options !== 'object') { + return; + } + + Object.keys(options).forEach(function(key) { + var _type = Sass._optionTypes[key]; + + if (key === 'importer') { + // allow passing compile() time options + // to the importer callback + Sass._options[key] = options[key]; + return; + } + + // no need to import crap + if (!_type) { + throw new Error('Unknown option "' + key + '"'); + } + + // force expected data type + Sass._options[key] = _type(options[key]); + }); + + callback && callback(); + }, + + _cloneOptions: function() { + var o = {}; + Object.keys(Sass._options).forEach(function(key) { + o[key] = Sass._options[key]; + }); + + return o; + }, + + importer: function(importerCallback, callback) { + if (typeof importerCallback !== 'function' && importerCallback !== null) { + throw new Error('importer callback must either be a function or null'); + } + + Sass._importer = importerCallback; + callback && callback(); + }, + + _absolutePath: function(filename) { + return Sass._path + stripLeadingSlash(filename); + }, + + _createPath: function(parts) { + var base = []; + + while (parts.length) { + var directory = parts.shift(); + try { + FS.createFolder(base.join('/'), directory, true, true); + } catch(e) { + // IGNORE file exists errors + } + + base.push(directory); + } + }, + + _ensurePath: function(filename) { + var parts = filename.split('/'); + parts.pop(); + + if (!parts.length) { + return; + } + + try { + FS.stat(parts.join('/')); + return; + } catch(e) { + Sass._createPath(parts); + } + }, + + writeFile: function(filename, text, callback) { + if (typeof filename === 'object') { + callback = text; + text = null; + + var map = {}; + Object.keys(filename).forEach(function(file) { + Sass.writeFile(file, filename[file], function(result) { + map[file] = result; + }); + }); + + callback && callback(map); + return; + } + + var _absolute = filename.slice(0, 1) === '/'; + var path = Sass._absolutePath(filename); + try { + Sass._ensurePath(path); + FS.writeFile(path, text); + Sass._files[path] = filename; + // create symlink for absolute path resolution + if (_absolute) { + Sass._ensurePath(filename); + FS.symlink(path, filename); + } + callback && callback(true); + } catch(e) { + callback && callback(false); + } + }, + + readFile: function(filename, callback) { + if (Array.isArray(filename)) { + var map = {}; + filename.forEach(function(file) { + Sass.readFile(file, function(result) { + map[file] = result; + }); + }); + + callback && callback(map); + return; + } + + var path = Sass._absolutePath(filename); + var result; + try { + result = FS.readFile(path, {encoding: 'utf8'}); + } catch(e) {} + + callback && callback(result); + }, + + listFiles: function(callback) { + var list = Object.keys(Sass._files).map(function(path) { + return Sass._files[path]; + }); + + callback && callback(list); + }, + + removeFile: function(filename, callback) { + if (Array.isArray(filename)) { + var map = {}; + filename.forEach(function(file) { + Sass.removeFile(file, function(result) { + map[file] = result; + }); + }); + + callback && callback(map); + return; + } + + var _absolute = filename.slice(0, 1) === '/'; + var path = Sass._absolutePath(filename); + try { + FS.unlink(path); + delete Sass._files[path]; + + // undo symlink for absolute path resolution + if (_absolute && FS.lstat(filename)) { + FS.unlink(filename); + } + + callback && callback(true); + } catch(e) { + callback && callback(false); + } + }, + + clearFiles: function(callback) { + Sass.listFiles(function(list) { + list.forEach(function(file) { + Sass.removeFile(file); + }); + + callback && callback(); + }); + }, + + _handleFiles: function(base, directory, files, callback) { + var _root = Sass._absolutePath(directory || ''); + _root = addTrailingSlash(_root); + base = addTrailingSlash(base); + + return files.map(function(file) { + file = stripLeadingSlash(file); + + var parts = file.split('/'); + var _file = parts.pop(); + var _path = _root + parts.join('/'); + _path = addTrailingSlash(_path); + + return callback(_path, _file, base + file); + }, Sass); + }, + + _handleLazyFile: function(path, file, url) { + Sass._ensurePath(path + file); + FS.createLazyFile(path, file, url, true, false); + }, + + _preloadingFiles: 0, + _preloadingFilesCallback: null, + _handlePreloadFile: function(path, file, url) { + Sass._ensurePath(path + file); + + Sass._preloadingFiles++; + var request = new XMLHttpRequest(); + request.onload = function() { + Sass.writeFile(path.slice(Sass._path.length) + file, this.responseText); + + Sass._preloadingFiles--; + if (!Sass._preloadingFiles) { + Sass._preloadingFilesCallback(); + Sass._preloadingFilesCallback = null; + } + }; + + request.open('get', url, true); + request.send(); + }, + + lazyFiles: function(base, directory, files, callback) { + Sass._handleFiles(base, directory, files, Sass._handleLazyFile); + callback && callback(); + }, + + preloadFiles: function(base, directory, files, callback) { + Sass._preloadingFilesCallback = callback || noop; + Sass._handleFiles(base, directory, files, Sass._handlePreloadFile); + }, + + + // allow concurrent task registration, even though we can only execute them in sequence + _compileQueue: [], + compile: function(text, _options, callback, _compileFile) { + if (typeof _options === 'function') { + callback = _options; + _options = null; + } + + if (!callback) { + throw new Error('Sass.compile() requires callback function as second (or third) parameter!'); + } + + if (_options !== null && typeof _options !== 'object') { + throw new Error('Sass.compile() requires second argument to be an object (options) or a function (callback)'); + } + + var done = function done(result) { + var _cleanup = function() { + // we're done, the next invocation may come + Sass._sassCompileEmscriptenSuccess = null; + Sass._sassCompileEmscriptenError = null; + // we may have buffered compile() calls during execution, + Sass._compileNext(); + }; + var _done = function() { + // reset options to what they were before they got temporarily overwritten + _previousOptions && Sass.options(_previousOptions); + // make sure we cleanup regardless of what happenes in the callback + (typeof setImmediate !== 'undefined' ? setImmediate : setTimeout)(_cleanup); + // announce we're done while still buffering incoming compile() calls + callback(result); + }; + + // give emscripten a chance to finish the C function and clean up + // before we resume our JavaScript duties + (typeof setImmediate !== 'undefined' ? setImmediate : setTimeout)(_done); + }; + + // only one Sass.compile() can run concurrently, wait for the currently running task to finish! + // Also we need to delay .compile() to when emscripten is ready (if not already the case) + // doing this *after* the initial sanity checks to maintain API behavior + // in respect to when/how exceptions are thrown + if (Sass._sassCompileEmscriptenSuccess || !Sass._initialized) { + Sass._compileQueue.push([text, _options, callback, _compileFile]); + return; + } + + try { + // temporarily - for the duration of this .compile() - overwrite options + var _previousOptions = null; + if (_options) { + _previousOptions = Sass._cloneOptions(); + Sass.options(_options); + } + + Sass._sassCompileEmscriptenSuccess = function(result, map, files) { + done({ + status: 0, + text: result, + map: map, + files: files, + }); + }; + + Sass._sassCompileEmscriptenError = function(error, message) { + var result = error || {}; + result.formatted = message; + done(result); + }; + + Module.ccall( + // C function to call + 'sass_compile_emscripten', + // return type + null, + // parameter types + [ + 'string', + 'string', + 'bool', + 'bool', + ].concat(options.map(function(option) { + return option.type; + })), + // arguments for invocation + [ + text, + Sass._path, + Number(Boolean(_compileFile)), + Number(Boolean(Sass._importer)), + ].concat(options.map(function(option) { + return Sass._options[option.key]; + })), + // we're not expecting synchronous return value + { async: true } + ); + } catch(e) { + done({ + status: 99, + line: null, + message: e.message, + error: e + }); + } + }, + compileFile: function(filename, _options, callback) { + var path = Sass._absolutePath(filename); + if (typeof _options === 'function') { + callback = _options; + _options = {}; + } + + _options.sourceMapRoot = path; + _options.inputPath = path; + + return Sass.compile(path, _options, callback, true); + }, +}; + +// register options maintained in sass.options.js +options.forEach(function(option) { + Sass._options[option.key] = Sass._defaultOptions[option.key] = option.initial; + Sass._optionTypes[option.key] = option.coerce; +}); + +// until 0.9.6 we used a weird hacky way to get informed by Module.onRuntimeInitialized +// when emscripten was fully loaded. But since 0.9.5 we're not using a separate .mem file +// anymore and emscripten doesn't preload any files for us, so this became irrelevant. + +// initialize after emscripten is loaded and the event loop cleared +setTimeout(Sass._ready); + +/*global PATH, Sass*/ +/*jshint strict:false*/ + +function isAbsolutePath (path) { + return path[0] === '/'; +} + +Sass.getPathVariations = function(path) { + // [importer,include_path] this is where we would add the ability to + // examine the include_path (if we ever use that in Sass.js) + path = PATH.normalize(path); + var directory = PATH.dirname(path); + var basename = PATH.basename(path); + var extensions = ['.scss', '.sass', '.css']; + // basically what is done by resolve_and_load() in file.cpp + // Resolution order for ambiguous imports: + var list = [ + // (1) filename as given + path, + // (2) underscore + given + PATH.resolve(directory, '_' + basename) + ].concat(extensions.map(function(extension) { + // (3) underscore + given + extension + return PATH.resolve(directory, '_' + basename + extension); + })).concat(extensions.map(function(extension) { + // (4) given + extension + return PATH.resolve(directory, basename + extension); + })); + + if (!isAbsolutePath(path)) { + // PATH.resolve() makes everything absolute, revert that + list = list.map(function(item) { + return isAbsolutePath(item) + ? item.slice(1) + : item; + }); + } + + return list; +}; + +Sass.findPathVariation = function(stat, path) { + return Sass.getPathVariations(path).reduce(function(found, path) { + if (found) { + return found; + } + + try { + stat(path); + return path; + } catch(e) { + return null; + } + }, null); +}; +return Sass; +})); \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/FileHelper.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/FileHelper.js new file mode 100644 index 00000000..1fd55e6f --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/FileHelper.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = require("fs"); +const path = require("path"); +class FileHelper { + static get Instance() { + return new FileHelper(); + } + writeToOneFile(targetFileUri, data) { + return new Promise((resolve) => { + fs.writeFile(targetFileUri, data, 'utf8', (err) => { + resolve({ + FileUri: targetFileUri, + Exception: err + }); + }); + }); + } + writeToMultipleFile(targetFileUris, data) { + return new Promise((resolve) => { + let promises = []; + for (let i = 0; i < targetFileUris.length; i++) { + promises.push(this.writeToOneFile(targetFileUris[i], data[i])); + } + Promise.all(promises).then((errList) => resolve(errList)); + }); + } + MakeDirIfNotAvailable(dir) { + if (fs.existsSync(dir)) + return; + if (!fs.existsSync(path.dirname(dir))) { + this.MakeDirIfNotAvailable(path.dirname(dir)); + } + fs.mkdirSync(dir); + } +} +exports.FileHelper = FileHelper; +//# sourceMappingURL=FileHelper.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/OuputWindow.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/OuputWindow.js new file mode 100644 index 00000000..676d7969 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/OuputWindow.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +class OutputWindow { + static get MsgChannel() { + if (!OutputWindow._msgChannel) { + OutputWindow._msgChannel = vscode.window.createOutputChannel('Live Sass Compile'); + } + return OutputWindow._msgChannel; + } + static Show(msgHeadline, MsgBody, popUpToUI = false, addEndLine = true) { + if (msgHeadline) { + OutputWindow.MsgChannel.appendLine(msgHeadline); + } + if (MsgBody) { + MsgBody.forEach(msg => { + OutputWindow.MsgChannel.appendLine(msg); + }); + } + if (popUpToUI) { + OutputWindow.MsgChannel.show(true); + } + if (addEndLine) { + OutputWindow.MsgChannel.appendLine('--------------------'); + } + } + static dispose() { + this.MsgChannel.dispose(); + } +} +exports.OutputWindow = OutputWindow; +//# sourceMappingURL=OuputWindow.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/SassCompileHelper.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/SassCompileHelper.js new file mode 100644 index 00000000..c5f0a651 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/SassCompileHelper.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const SassCompiler = require("sasslib/sass.node.js"); +class SassHelper { + static get instance() { + return new SassHelper(); + } + static targetCssFormat(format) { + return { + style: SassCompiler.Sass.style[format], + }; + } + compileOne(SassPath, options) { + return new Promise((resolve, reject) => { + SassCompiler(SassPath, options, (result) => { + if (result.status === 0) { + if (!result.text) { + result.text = '/* No CSS */'; + } + } + else { + result.text = `/* \n Error: ${result.formatted} \n */`; + } + resolve(result); + }); + }); + } + compileMultiple(sassPaths, option) { + return new Promise((resolve, reject) => { + let promises = []; + sassPaths.forEach(sassPath => { + promises.push(this.compileOne(sassPath, option)); + }); + Promise.all(promises).then(results => resolve(results)); + }); + } +} +exports.SassHelper = SassHelper; +//# sourceMappingURL=SassCompileHelper.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/StatubarUi.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/StatubarUi.js new file mode 100644 index 00000000..0bb2545d --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/StatubarUi.js @@ -0,0 +1,69 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +class StatusBarUi { + static get statusBarItem() { + if (!StatusBarUi._statusBarItem) { + StatusBarUi._statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 200); + this.statusBarItem.show(); + } + return StatusBarUi._statusBarItem; + } + static init() { + StatusBarUi.working("Starting..."); + setTimeout(function () { + StatusBarUi.notWatching(); + }, 1000); + } + static watching() { + StatusBarUi.statusBarItem.text = `$(telescope) Watching...`; + StatusBarUi.statusBarItem.color = 'inherit'; + StatusBarUi.statusBarItem.command = 'liveSass.command.donotWatchMySass'; + StatusBarUi.statusBarItem.tooltip = 'Stop live compilation of SASS or SCSS to CSS'; + } + static notWatching() { + StatusBarUi.statusBarItem.text = `$(eye) Watch Sass`; + StatusBarUi.statusBarItem.color = 'inherit'; + StatusBarUi.statusBarItem.command = 'liveSass.command.watchMySass'; + StatusBarUi.statusBarItem.tooltip = 'live compilation of SASS or SCSS to CSS'; + } + static working(workingMsg = "Working on it...") { + StatusBarUi.statusBarItem.text = `$(pulse) ${workingMsg}`; + StatusBarUi.statusBarItem.tooltip = 'In case if it takes long time, Show output window and report.'; + StatusBarUi.statusBarItem.command = null; + } + // Quick status bar messages after compile success or error + static compilationSuccess(isWatching) { + StatusBarUi.statusBarItem.text = `$(check) Success`; + StatusBarUi.statusBarItem.color = '#33ff00'; + StatusBarUi.statusBarItem.command = null; + if (isWatching) { + setTimeout(function () { + StatusBarUi.statusBarItem.color = 'inherit'; + StatusBarUi.watching(); + }, 4500); + } + else { + StatusBarUi.notWatching(); + } + } + static compilationError(isWatching) { + StatusBarUi.statusBarItem.text = `$(x) Error`; + StatusBarUi.statusBarItem.color = '#ff0033'; + StatusBarUi.statusBarItem.command = null; + if (isWatching) { + setTimeout(function () { + StatusBarUi.statusBarItem.color = 'inherit'; + StatusBarUi.watching(); + }, 4500); + } + else { + StatusBarUi.notWatching(); + } + } + static dispose() { + StatusBarUi.statusBarItem.dispose(); + } +} +exports.StatusBarUi = StatusBarUi; +//# sourceMappingURL=StatubarUi.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/announcement/index.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/announcement/index.js new file mode 100644 index 00000000..5075e5d2 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/announcement/index.js @@ -0,0 +1,33 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const SETUP_STRING = 'liveSassCompiler.setup.version'; +function checkNewAnnouncement(memento) { + return __awaiter(this, void 0, void 0, function* () { + const packageJSON = vscode_1.extensions.getExtension('ritwickdey.live-sass').packageJSON; + const announment = packageJSON.announcement; + if (!announment && Object.keys(announment).length === 0) + return; + const stateVersion = (yield memento.get(SETUP_STRING)) || '0.0.0'; + const installedVersion = packageJSON.version; + if (stateVersion !== installedVersion && installedVersion === announment.onVersion) { + yield memento.update(SETUP_STRING, installedVersion); + const showMore = 'Show Details'; + const choice = yield vscode_1.window.showInformationMessage(announment.message, showMore); + if (choice === showMore) { + const url = announment.url || 'https://github.com/ritwickdey/vscode-live-sass-compiler/'; + vscode_1.commands.executeCommand('vscode.open', vscode_1.Uri.parse(url)); + } + } + }); +} +exports.checkNewAnnouncement = checkNewAnnouncement; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/appModel.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/appModel.js new file mode 100644 index 00000000..1d283068 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/appModel.js @@ -0,0 +1,324 @@ +'use strict'; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +const path = require("path"); +const glob = require("glob"); +const autoprefixer = require("autoprefixer"); +const postcss = require("postcss"); +const FileHelper_1 = require("./FileHelper"); +const SassCompileHelper_1 = require("./SassCompileHelper"); +const OuputWindow_1 = require("./OuputWindow"); +const helper_1 = require("./helper"); +const StatubarUi_1 = require("./StatubarUi"); +class AppModel { + constructor() { + this.isWatching = false; + StatubarUi_1.StatusBarUi.init(); + } + static get basePath() { + return vscode.workspace.rootPath || path.basename(vscode.window.activeTextEditor.document.fileName); + } + /** + * Compile All file with watch mode. + * @param WatchingMode WatchingMode = false for without watch mode. + */ + compileAllFiles(WatchingMode = true) { + if (this.isWatching) { + vscode.window.showInformationMessage('already watching...'); + return; + } + StatubarUi_1.StatusBarUi.working(); + let showOutputWindow = helper_1.Helper.getConfigSettings('showOutputWindow'); + this.GenerateAllCssAndMap(showOutputWindow).then(() => { + if (!WatchingMode) { + this.isWatching = true; // tricky to toggle status + } + this.toggleStatusUI(); + }); + } + openOutputWindow() { + OuputWindow_1.OutputWindow.Show(null, null, true); + } + compileOnSave() { + return __awaiter(this, void 0, void 0, function* () { + if (!this.isWatching) + return; + let currentFile = vscode.window.activeTextEditor.document.fileName; + if (!this.isASassFile(currentFile, true)) + return; + // if (!(await this.isSassFileIncluded(fileUri, '**/*.s[a|c]ss'))) return; + OuputWindow_1.OutputWindow.Show('Change Detected...', [path.basename(currentFile)]); + if (!this.isASassFile(currentFile)) { + this.GenerateAllCssAndMap(false).then(() => { + OuputWindow_1.OutputWindow.Show('Watching...', null); + }); + } + else { + let formats = helper_1.Helper.getConfigSettings('formats'); + let sassPath = currentFile; + formats.forEach(format => { + let options = this.getCssStyle(format.format); + let cssMapPath = this.generateCssAndMapUri(sassPath, format.savePath, format.extensionName); + this.GenerateCssAndMap(sassPath, cssMapPath.css, cssMapPath.map, options) + .then(() => { + OuputWindow_1.OutputWindow.Show('Watching...', null); + }); + }); + } + }); + } + StopWaching() { + if (this.isWatching) { + this.toggleStatusUI(); + } + else { + vscode.window.showInformationMessage('not watching...'); + } + } + toggleStatusUI() { + this.isWatching = !this.isWatching; + let showOutputWindow = helper_1.Helper.getConfigSettings('showOutputWindow'); + if (!this.isWatching) { + StatubarUi_1.StatusBarUi.notWatching(); + OuputWindow_1.OutputWindow.Show('Not Watching...', null, showOutputWindow); + } + else { + StatubarUi_1.StatusBarUi.watching(); + OuputWindow_1.OutputWindow.Show('Watching...', null, showOutputWindow); + } + } + isSassFileIncluded(sassPath, queryPatten = '**/[^_]*.s[a|c]ss') { + return __awaiter(this, void 0, void 0, function* () { + let files = yield this.getSassFiles(queryPatten); + return files.find(e => e === sassPath) ? true : false; + }); + } + isASassFile(pathUrl, partialSass = false) { + const filename = path.basename(pathUrl); + return (partialSass || !filename.startsWith('_')) && (filename.endsWith('sass') || filename.endsWith('scss')); + } + getSassFiles(queryPatten = '**/[^_]*.s[a|c]ss') { + let excludedList = helper_1.Helper.getConfigSettings('excludeList'); + let includeItems = helper_1.Helper.getConfigSettings('includeItems'); + let options = { + ignore: excludedList, + mark: true, + cwd: AppModel.basePath + }; + if (includeItems && includeItems.length) { + if (includeItems.length === 1) { + queryPatten = includeItems[0]; + } + else { + queryPatten = `{${includeItems.join(',')}}`; + } + } + return new Promise(resolve => { + glob(queryPatten, options, (err, files) => { + if (err) { + OuputWindow_1.OutputWindow.Show('Error To Seach Files', err, true); + resolve([]); + return; + } + const filePaths = files + .filter(file => this.isASassFile(file)) + .map(file => path.join(AppModel.basePath, file)); + return resolve(filePaths || []); + }); + }); + } + /** + * [Deprecated] + * Find ALL Sass & Scss from workspace & It also exclude Sass/Scss from exclude list settings + * @param callback - callback(filepaths) with be called with Uri(s) of Sass/Scss(s) (string[]). + */ + findAllSaasFilesAsync(callback) { + this.getSassFiles().then(files => callback(files)); + } + /** + * To Generate one One Css & Map file from Sass/Scss + * @param SassPath Sass/Scss file URI (string) + * @param targetCssUri Target CSS file URI (string) + * @param mapFileUri Target MAP file URI (string) + * @param options - Object - It includes target CSS style and some more. + */ + GenerateCssAndMap(SassPath, targetCssUri, mapFileUri, options) { + let generateMap = helper_1.Helper.getConfigSettings('generateMap'); + let autoprefixerTarget = helper_1.Helper.getConfigSettings('autoprefix'); + let showOutputWindow = helper_1.Helper.getConfigSettings('showOutputWindow'); + return new Promise(resolve => { + SassCompileHelper_1.SassHelper.instance.compileOne(SassPath, options) + .then((result) => __awaiter(this, void 0, void 0, function* () { + if (result.status !== 0) { + OuputWindow_1.OutputWindow.Show('Compilation Error', [result.formatted], showOutputWindow); + StatubarUi_1.StatusBarUi.compilationError(this.isWatching); + if (!showOutputWindow) { + vscode.window.setStatusBarMessage(result.formatted.split('\n')[0], 4500); + } + resolve(true); + } + else { + let promises = []; + let mapFileTag = `/*# sourceMappingURL=${path.basename(targetCssUri)}.map */`; + if (autoprefixerTarget) { + result.text = yield this.autoprefix(result.text, autoprefixerTarget); + } + if (!generateMap) { + promises.push(FileHelper_1.FileHelper.Instance.writeToOneFile(targetCssUri, `${result.text}`)); + } + else { + promises.push(FileHelper_1.FileHelper.Instance.writeToOneFile(targetCssUri, `${result.text}${mapFileTag}`)); + let map = this.GenerateMapObject(result.map, targetCssUri); + promises.push(FileHelper_1.FileHelper.Instance.writeToOneFile(mapFileUri, JSON.stringify(map, null, 4))); + } + Promise.all(promises).then(fileResolvers => { + OuputWindow_1.OutputWindow.Show('Generated :', null, false, false); + StatubarUi_1.StatusBarUi.compilationSuccess(this.isWatching); + fileResolvers.forEach(fileResolver => { + if (fileResolver.Exception) { + OuputWindow_1.OutputWindow.Show('Error:', [ + fileResolver.Exception.errno.toString(), + fileResolver.Exception.path, + fileResolver.Exception.message + ], true); + console.error('error :', fileResolver); + } + else { + OuputWindow_1.OutputWindow.Show(null, [fileResolver.FileUri], false, false); + } + }); + OuputWindow_1.OutputWindow.Show(null, null, false, true); + resolve(true); + }); + } + })); + }); + } + /** + * To compile all Sass/scss files + * @param popUpOutputWindow To control output window. + */ + GenerateAllCssAndMap(popUpOutputWindow) { + let formats = helper_1.Helper.getConfigSettings('formats'); + return new Promise((resolve) => { + this.findAllSaasFilesAsync((sassPaths) => { + OuputWindow_1.OutputWindow.Show('Compiling Sass/Scss Files: ', sassPaths, popUpOutputWindow); + let promises = []; + sassPaths.forEach((sassPath) => { + formats.forEach(format => { + let options = this.getCssStyle(format.format); + let cssMapUri = this.generateCssAndMapUri(sassPath, format.savePath, format.extensionName); + promises.push(this.GenerateCssAndMap(sassPath, cssMapUri.css, cssMapUri.map, options)); + }); + }); + Promise.all(promises).then((e) => resolve(e)); + }); + }); + } + /** + * Generate Map Object + * @param mapObject Generated Map object form Sass.js library + * @param targetCssUri Css URI + */ + GenerateMapObject(mapObject, targetCssUri) { + let map = { + 'version': 3, + 'mappings': '', + 'sources': [], + 'names': [], + 'file': '' + }; + map.mappings = mapObject.mappings; + map.file = path.basename(targetCssUri); + mapObject.sources.forEach((source) => { + // path starts with ../saas/ or ../< path> + if (source.startsWith('../sass/')) { + source = source.substring('../sass/'.length); + } + else if (source.startsWith('../')) { + source = source.substring('../'.length); + } + if (process.platform !== 'win32') { + source = '/' + source; // for linux, maybe for MAC too + } + let testpath = path.relative(path.dirname(targetCssUri), source); + testpath = testpath.replace(/\\/gi, '/'); + map.sources.push(testpath); + }); + return map; + // this.writeToFileAsync(mapFileUri, JSON.stringify(map, null, 4)); + } + generateCssAndMapUri(filePath, savePath, _extensionName) { + let extensionName = _extensionName || '.css'; // Helper.getConfigSettings('extensionName'); + // If SavePath is NULL, CSS uri will be same location of SASS. + if (savePath) { + try { + let workspaceRoot = vscode.workspace.rootPath; + let generatedUri = null; + if (savePath.startsWith('~')) + generatedUri = path.join(path.dirname(filePath), savePath.substring(1)); + else + generatedUri = path.join(workspaceRoot, savePath); + FileHelper_1.FileHelper.Instance.MakeDirIfNotAvailable(generatedUri); + filePath = path.join(generatedUri, path.basename(filePath)); + } + catch (err) { + console.log(err); + OuputWindow_1.OutputWindow.Show('Error:', [ + err.errno.toString(), + err.path, + err.message + ], true); + throw Error('Something Went Wrong.'); + } + } + let cssUri = filePath.substring(0, filePath.lastIndexOf('.')) + extensionName; + return { + css: cssUri, + map: cssUri + '.map' + }; + } + getCssStyle(format) { + let outputStyleFormat = format || 'expanded'; // Helper.getConfigSettings('format'); + return SassCompileHelper_1.SassHelper.targetCssFormat(outputStyleFormat); + } + /** + * Autoprefixes CSS properties + * + * @param css String representation of CSS to transform + * @param target What browsers to be targeted, as supported by [Browserslist](https://github.com/ai/browserslist) + */ + autoprefix(css, browsers) { + return __awaiter(this, void 0, void 0, function* () { + let showOutputWindow = helper_1.Helper.getConfigSettings('showOutputWindow'); + const prefixer = postcss([ + autoprefixer({ + browsers, + grid: true + }) + ]); + return yield prefixer + .process(css) + .then(res => { + res.warnings().forEach(warn => { + OuputWindow_1.OutputWindow.Show('Autoprefix Error', [warn.text], showOutputWindow); + }); + return res.css; + }); + }); + } + dispose() { + StatubarUi_1.StatusBarUi.dispose(); + OuputWindow_1.OutputWindow.dispose(); + } +} +exports.AppModel = AppModel; +//# sourceMappingURL=appModel.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/extension.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/extension.js new file mode 100644 index 00000000..4bb58590 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/extension.js @@ -0,0 +1,31 @@ +'use strict'; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +const appModel_1 = require("./appModel"); +const index_1 = require("./announcement/index"); +function activate(context) { + console.log('"live-sass-compiler" is now actived! Go and Debug :P '); + let appModel = new appModel_1.AppModel(); + index_1.checkNewAnnouncement(context.globalState); + let disposablecompileAll = vscode.commands.registerCommand('liveSass.command.watchMySass', () => { + appModel.compileAllFiles(); + }); + let disposableStopWaching = vscode.commands.registerCommand('liveSass.command.donotWatchMySass', () => { + appModel.StopWaching(); + }); + let disposableOneTimeCompileSass = vscode.commands.registerCommand('liveSass.command.oneTimeCompileSass', () => { + appModel.compileAllFiles(false); + }); + let disposableOpenOutputWindow = vscode.commands.registerCommand('liveSass.command.openOutputWindow', () => { + appModel.openOutputWindow(); + }); + let disposableOnDivSave = vscode.workspace.onDidSaveTextDocument(() => { + appModel.compileOnSave(); + }); + context.subscriptions.push(disposablecompileAll, disposableStopWaching, disposableOnDivSave, disposableOneTimeCompileSass, disposableOpenOutputWindow, appModel); +} +exports.activate = activate; +function deactivate() { +} +exports.deactivate = deactivate; +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/helper.js b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/helper.js new file mode 100644 index 00000000..c7ab0497 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/out/src/helper.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode = require("vscode"); +class Helper { + static get configSettings() { + return vscode.workspace.getConfiguration('liveSassCompile.settings'); + } + static getConfigSettings(val) { + return this.configSettings.get(val); + } +} +exports.Helper = Helper; +//# sourceMappingURL=helper.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/package-lock.json b/.vscode/extensions/ritwickdey.live-sass-3.0.0/package-lock.json new file mode 100644 index 00000000..e85b4752 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/package-lock.json @@ -0,0 +1,2892 @@ +{ + "name": "live-sass", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/mocha": { + "version": "2.2.41", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.41.tgz", + "integrity": "sha1-4nzwgXFT658nE7LT9saPHhw8pgg=", + "dev": true + }, + "@types/node": { + "version": "6.0.79", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.79.tgz", + "integrity": "sha1-Xv59Sm2MRTx+nq9V2TH0oi+sUWk=", + "dev": true + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz", + "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "requires": { + "browserslist": "^2.11.3", + "caniuse-lite": "^1.0.30000805", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.17", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "requires": { + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000858", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000858.tgz", + "integrity": "sha512-oJRGfVfwHr0VKcoy2UqIoRmQcDOugnNAQsWYI3/JTzExrlzxSKtmLW1N4h+gmjgpYCEJthHmaIjok894H5il/g==" + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "cloneable-readable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz", + "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^1.0.6", + "through2": "^2.0.1" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "requires": { + "color-name": "1.1.1" + } + }, + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.x.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "dateformat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz", + "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-assign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", + "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "duplexify": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", + "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=", + "dev": true, + "requires": { + "end-of-stream": "1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.50", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz", + "integrity": "sha1-dDi3b5K0G5GfP73TUPvQdX2s3fc=" + }, + "end-of-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", + "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=", + "dev": true, + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=", + "dev": true + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "fancy-log": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", + "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "glob-stream": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^5.0.3", + "glob-parent": "^3.0.0", + "micromatch": "^2.3.7", + "ordered-read-streams": "^0.3.0", + "through2": "^0.6.0", + "to-absolute-glob": "^0.1.1", + "unique-stream": "^2.0.2" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "gulp-chmod": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-chmod/-/gulp-chmod-2.0.0.tgz", + "integrity": "sha1-AMOQuSigeZslGsz2MaoJ4BzGKZw=", + "dev": true, + "requires": { + "deep-assign": "^1.0.0", + "stat-mode": "^0.2.0", + "through2": "^2.0.0" + } + }, + "gulp-filter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-filter/-/gulp-filter-5.0.0.tgz", + "integrity": "sha1-z6gZZvtniE8rp1SwZxUpKUKNWbw=", + "dev": true, + "requires": { + "gulp-util": "^3.0.6", + "multimatch": "^2.0.0", + "streamfilter": "^1.0.5" + } + }, + "gulp-gunzip": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/gulp-gunzip/-/gulp-gunzip-0.0.3.tgz", + "integrity": "sha1-e24HsPWP09QlFcSOrVpj3wVy9i8=", + "dev": true, + "requires": { + "through2": "~0.6.5", + "vinyl": "~0.4.6" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "gulp-remote-src": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/gulp-remote-src/-/gulp-remote-src-0.4.2.tgz", + "integrity": "sha1-zrN3DjREMo1hOG+6qrIAvBHNmKg=", + "dev": true, + "requires": { + "event-stream": "~3.3.4", + "node.extend": "~1.1.2", + "request": "~2.79.0", + "through2": "~2.0.3", + "vinyl": "~2.0.1" + }, + "dependencies": { + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" + } + }, + "vinyl": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.0.2.tgz", + "integrity": "sha1-CjcT2NTpIhxY8QyhbAEWyeJe2nw=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "is-stream": "^1.1.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } + } + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", + "dev": true, + "requires": { + "convert-source-map": "^1.1.1", + "graceful-fs": "^4.1.2", + "strip-bom": "^2.0.0", + "through2": "^2.0.0", + "vinyl": "^1.0.0" + }, + "dependencies": { + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-symdest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gulp-symdest/-/gulp-symdest-1.1.0.tgz", + "integrity": "sha1-wWUyBzLRks5W/ZQnH/oSMjS/KuA=", + "dev": true, + "requires": { + "event-stream": "^3.3.1", + "mkdirp": "^0.5.1", + "queue": "^3.1.0", + "vinyl-fs": "^2.4.3" + } + }, + "gulp-untar": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/gulp-untar/-/gulp-untar-0.0.6.tgz", + "integrity": "sha1-1r3v3n6ajgVMnxYjhaB4LEvnQAA=", + "dev": true, + "requires": { + "event-stream": "~3.3.4", + "gulp-util": "~3.0.8", + "streamifier": "~0.1.1", + "tar": "^2.2.1", + "through2": "~2.0.3" + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "gulp-vinyl-zip": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-1.4.0.tgz", + "integrity": "sha1-VjgvLMtXIxuwR4x4c3zNVylzvuE=", + "dev": true, + "requires": { + "event-stream": "^3.3.1", + "queue": "^3.0.10", + "through2": "^0.6.3", + "vinyl": "^0.4.6", + "vinyl-fs": "^2.0.0", + "yauzl": "^2.2.1", + "yazl": "^2.2.1" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "commander": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.10.0.tgz", + "integrity": "sha1-4fXTJF3iRtGlygRwL6GtG9fkBf4=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "is": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", + "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=", + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-my-json-valid": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", + "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jade": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", + "dev": true, + "requires": { + "commander": "0.6.1", + "mkdirp": "0.3.0" + }, + "dependencies": { + "commander": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", + "dev": true + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "dev": true + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "mime-db": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "dev": true, + "requires": { + "mime-db": "~1.27.0" + } + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", + "dev": true, + "requires": { + "commander": "2.3.0", + "debug": "2.2.0", + "diff": "1.4.0", + "escape-string-regexp": "1.0.2", + "glob": "3.2.11", + "growl": "1.9.2", + "jade": "0.26.3", + "mkdirp": "0.5.1", + "supports-color": "1.2.0", + "to-iso-string": "0.0.2" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + } + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "node.extend": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz", + "integrity": "sha1-p7iCyC1sk6SGOlUEvV3o7IYli5Y=", + "dev": true, + "requires": { + "is": "^3.1.0" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "ordered-read-streams": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", + "dev": true, + "requires": { + "is-stream": "^1.0.1", + "readable-stream": "^2.0.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true + }, + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "dev": true + }, + "queue": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/queue/-/queue-3.1.0.tgz", + "integrity": "sha1-bEnQHwCeIlZ4h4nyv/rGuLmZBYU=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + } + }, + "remove-trailing-separator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", + "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "dependencies": { + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "requires": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + } + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + } + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true, + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", + "dev": true + }, + "sasslib": { + "version": "file:lib/sasslib" + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "source-map-support": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", + "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "streamfilter": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/streamfilter/-/streamfilter-1.0.5.tgz", + "integrity": "sha1-h1BxEb644phFFxe1Ec/tjwAqv1M=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "streamifier": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/streamifier/-/streamifier-0.1.1.tgz", + "integrity": "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=", + "dev": true + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-bom-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", + "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", + "dev": true, + "requires": { + "first-chunk-stream": "^1.0.0", + "strip-bom": "^2.0.0" + } + }, + "supports-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", + "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "to-absolute-glob": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", + "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1" + } + }, + "to-iso-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "dev": true, + "requires": { + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "typescript": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.1.tgz", + "integrity": "sha1-w8yxbdqgsjFN4DHn5v7onlujRrw=", + "dev": true + }, + "unique-stream": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", + "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", + "dev": true, + "requires": { + "json-stable-stringify": "^1.0.0", + "through2-filter": "^2.0.0" + } + }, + "url-parse": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", + "dev": true, + "requires": { + "querystringify": "~1.0.0", + "requires-port": "1.0.x" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "dev": true + }, + "vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + }, + "vinyl-fs": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", + "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", + "dev": true, + "requires": { + "duplexify": "^3.2.0", + "glob-stream": "^5.3.2", + "graceful-fs": "^4.0.0", + "gulp-sourcemaps": "1.6.0", + "is-valid-glob": "^0.3.0", + "lazystream": "^1.0.0", + "lodash.isequal": "^4.0.0", + "merge-stream": "^1.0.0", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.0", + "readable-stream": "^2.0.4", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^1.0.0", + "through2": "^2.0.0", + "through2-filter": "^2.0.0", + "vali-date": "^1.0.0", + "vinyl": "^1.0.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "vinyl-source-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-source-stream/-/vinyl-source-stream-1.1.0.tgz", + "integrity": "sha1-RMvlEIIFJ53rDFZTwJSiiHk4sas=", + "dev": true, + "requires": { + "through2": "^0.6.1", + "vinyl": "^0.4.3" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "vscode": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.1.tgz", + "integrity": "sha1-LAztdumYZc0oKTxJ5tXF9d9t0HE=", + "dev": true, + "requires": { + "glob": "^7.1.1", + "gulp-chmod": "^2.0.0", + "gulp-filter": "^5.0.0", + "gulp-gunzip": "0.0.3", + "gulp-remote-src": "^0.4.2", + "gulp-symdest": "^1.1.0", + "gulp-untar": "^0.0.6", + "gulp-vinyl-zip": "^1.4.0", + "mocha": "^3.2.0", + "request": "^2.79.0", + "semver": "^5.3.0", + "source-map-support": "^0.4.11", + "url-parse": "^1.1.9", + "vinyl-source-stream": "^1.1.0" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "debug": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz", + "integrity": "sha1-vFlryr52F/Edn6FTYe3tVgi4SZs=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mocha": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz", + "integrity": "sha1-0O9NMyEm2/GNDWQMmzgt1IvpdZQ=", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.0", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yauzl": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", + "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.0.1" + } + }, + "yazl": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.4.2.tgz", + "integrity": "sha1-FMsZCD4eJacAksFYiqvg9OTdTYg=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3" + } + } + } +} diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/package.json b/.vscode/extensions/ritwickdey.live-sass-3.0.0/package.json new file mode 100644 index 00000000..e8c3b648 --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/package.json @@ -0,0 +1,199 @@ +{ + "name": "live-sass", + "displayName": "Live Sass Compiler", + "description": "Compile Sass or Scss to CSS at realtime with live browser reload.", + "version": "3.0.0", + "publisher": "ritwickdey", + "author": { + "name": "Ritwick Dey", + "email": "ritwickdey@outlook.com", + "url": "http://twitter.com/Dey_Ritwick" + }, + "engines": { + "vscode": "^1.0.0" + }, + "keywords": [ + "SASS", + "SCSS", + "Compiler", + "Transpiler", + "SASS Compiler" + ], + "categories": [ + "Other", + "Extension Packs" + ], + "preview": true, + "galleryBanner": { + "color": "#41205f", + "theme": "dark" + }, + "activationEvents": [ + "workspaceContains:**/*.s[ac]ss", + "onLanguage:scss", + "onLanguage:sass" + ], + "main": "./out/src/extension", + "contributes": { + "commands": [ + { + "command": "liveSass.command.watchMySass", + "title": "Watch Sass", + "category": "Live Sass" + }, + { + "command": "liveSass.command.donotWatchMySass", + "title": "Stop Watching", + "category": "Live Sass" + }, + { + "command": "liveSass.command.oneTimeCompileSass", + "title": "Compile Sass - Without Watch Mode", + "category": "Live Sass" + }, + { + "command": "liveSass.command.openOutputWindow", + "title": "Open Live Sass Output Window", + "category": "Live Sass" + } + ], + "configuration": { + "title": "Live Sass Compile Config", + "properties": { + "liveSassCompile.settings.formats": { + "type": "array", + "default": [ + { + "format": "expanded", + "extensionName": ".css", + "savePath": null + } + ], + "minItems": 1, + "items": { + "type": "object", + "properties": { + "format": { + "description": "Style of exported css", + "type": "string", + "enum": [ + "expanded", + "compact", + "compressed", + "nested" + ], + "default": "expanded" + }, + "extensionName": { + "description": "Extension Name of exported css", + "type": "string", + "enum": [ + ".css", + ".min.css" + ], + "default": ".css" + }, + "savePath": { + "description": "Set the save location of exported CSS.\n Set the relative path from Workspace Root.\n '/' stands for your workspace root. \n Example: /subfolder1/subfolder2. (NOTE: if folder does not exist, folder will be created as well).", + "type": [ + "string", + "null" + ], + "pattern": "^[\\~|/|\\\\]", + "default": null + } + }, + "additionalProperties": false, + "required": [ + "format", + "extensionName" + ] + }, + "description": "Set your exported CSS Styles, Formats & save location." + }, + "liveSassCompile.settings.excludeList": { + "type": "array", + "default": [ + "**/node_modules/**", + ".vscode/**" + ], + "description": "All Sass/Scss files inside the folders will be excluded. \n\nExamples: \n'**/node_modules/**',\n'.vscode/**', \n'.history/**' \n\nGlob Patterns are accepted." + }, + "liveSassCompile.settings.includeItems": { + "type": [ + "array", + "null" + ], + "default": null, + "description": "This setting is useful when you deals with only few of sass files. Only mentioned Sass files will be included. \nNOTE: No need to include partial sass files." + }, + "liveSassCompile.settings.generateMap": { + "type": [ + "boolean" + ], + "default": true, + "description": "Set it as `false` if you don't want `.map` file for compiled CSS. \nDefault is `true`" + }, + "liveSassCompile.settings.autoprefix": { + "type": [ + "array", + "null" + ], + "default": [ + "> 1%", + "last 2 versions" + ], + "description": "Automatically add vendor prefixes to unsupported CSS properties (e. g. transform -> -ms-transform). Specify what browsers to target with an array of strings (uses [Browserslist](https://github.com/ai/browserslist)). Pass `null` to turn off. \nDefault is `null`" + }, + "liveSassCompile.settings.showOutputWindow": { + "type": "boolean", + "default": true, + "description": "Set this to `false` if you do not want the output window to show.\nNote: You can use the command palette to open the Live Sass output window.\nDefault is `true`" + } + } + } + }, + "license": "MIT", + "icon": "images/icon2.png", + "bugs": { + "url": "https://github.com/ritwickdey/vscode-live-sass-compiler/issues", + "email": "ritwickdey@outlook.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/ritwickdey/vscode-live-sass-compiler.git" + }, + "homepage": "https://ritwickdey.github.io/vscode-live-sass-compiler/", + "extensionDependencies": [ + "ritwickdey.LiveServer" + ], + "scripts": { + "vscode:prepublish": "tsc -p ./", + "compile": "tsc -watch -p ./", + "postinstall": "node ./node_modules/vscode/bin/install", + "test": "node ./node_modules/vscode/bin/test" + }, + "dependencies": { + "autoprefixer": "^7.2.6", + "glob": "^7.1.2", + "postcss": "^6.0.23", + "sasslib": "file:lib\\sasslib" + }, + "devDependencies": { + "typescript": "^2.4.1", + "vscode": "^1.0.0", + "mocha": "^2.3.3", + "@types/node": "^6.0.40", + "@types/mocha": "^2.2.32" + }, + "announcement": { + "onVersion": "3.0.0", + "message": "SassCompiler@3.0.0: Fixes 8 digit Hex, grid names and many more." + }, + "__metadata": { + "id": "ad94b437-b5a7-4249-bf5f-df472ae0d084", + "publisherId": "17fd9a78-e430-4a78-add2-ade4a8830352", + "publisherDisplayName": "Ritwick Dey", + "installedTimestamp": 1632235283445 + } +} \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.live-sass-3.0.0/tslint.json b/.vscode/extensions/ritwickdey.live-sass-3.0.0/tslint.json new file mode 100644 index 00000000..3208227a --- /dev/null +++ b/.vscode/extensions/ritwickdey.live-sass-3.0.0/tslint.json @@ -0,0 +1,131 @@ +{ + "rulesDirectory": [ + + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": false, + "eofline": true, + "forin": true, + "import-blacklist": [ + true, + "rxjs" + ], + "import-spacing": true, + "indent": [ + true, + "spaces" + ], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + "static-before-instance", + "variables-before-functions" + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-whitespace" + ], + "prefer-const": false, + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "typeof-compare": true, + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "directive-selector": [ + true, + "attribute", + "camelCase" + ], + "component-selector": [ + true, + "element", + "kebab-case" + ], + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true, + "no-access-missing-member": true, + "templates-use-public": true, + "invoke-injectable": true + } +} diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/.vsixmanifest b/.vscode/extensions/ritwickdey.liveserver-5.6.1/.vsixmanifest new file mode 100644 index 00000000..0f9fdbe6 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/.vsixmanifest @@ -0,0 +1,42 @@ + + + + + Live Server + Launch a development local Server with live reload feature for static & dynamic pages + html preview,live preview,live reload,svg preview,open in browser,multi-root ready,keybindings + Other + Public + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/images/icon.png + + + + + + + + + + diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/CHANGELOG.md b/.vscode/extensions/ritwickdey.liveserver-5.6.1/CHANGELOG.md new file mode 100644 index 00000000..e1aeb806 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/CHANGELOG.md @@ -0,0 +1,54 @@ +# Changelog +| Version | Date | Changelog | +|---|---|---| +|5.6.0 | 17.04.19 | — ***[NEW]*** Intregation of `Browser Preview` with `Live Server` *[[#352](https://github.com/ritwickdey/vscode-live-server/pull/352) - Thanks to [Kenneth Auchenberg](https://github.com/auchenberg) ]*

— ***[NEW]*** Fallback to random port If given port is busy. *[[#330](https://github.com/ritwickdey/vscode-live-server/pull/330) - Thanks to [Ali Almohaya](https://github.com/Almo7aya) ]

— ***[FIXES]**** Moved to `vscode-chokidar` lib for [#285](https://github.com/ritwickdey/vscode-live-server/issues/285).

—Doc Fixes *[[#388](https://github.com/ritwickdey/vscode-live-server/pull/388) - Thanks to [Ted Silbernagel](https://github.com/tedsilb)]* +|5.5.1|12.02.19 | — ***[Fixes]*** Fixed `Extension host terminated unexpectedly` for MacOS. [[#285](https://github.com/ritwickdey/vscode-live-server/issues/285)] +|5.5.0| 12.02.19 | — ***[Fixes]*** Fixed `ignoreFiles` settings [[#255](https://github.com/ritwickdey/vscode-live-server/issues/255)]
— Attempt to fix `high cpu load` [[#278](https://github.com/ritwickdey/vscode-live-server/issues/278)] +|5.4.0| 30.01.19 | Bug fix for fsevents on Visual Code Insiders. +|5.3.1| 28.11.18 | Event-Stream Package Security Update. +|5.3.0| 27.11.18 | Few Packages are upgraded. +|5.2.0|16.11.2018| — ***[Features]*** Live Server + Live Share = 💘. Share your live server over the internet with live reload feature! You'll be prompted to share live server using live server when you click to `Go Live`. *(Thank you so much [Alex Panov](https://github.com/alpaix) for opening PR [#232](https://github.com/ritwickdey/vscode-live-server/pull/232) )*

— ***[Docs fixing / update]*** #170, #185, #201, #233 *(Thanks [Shaurya Shubham](https://github.com/coolshaurya), [Benjamin Vincent](https://github.com/luxcium), [Jan Dittrich](https://github.com/jan-di), [Karsten 7.](https://github.com/Karsten7))* +|5.1.1|20.06.2018|— Fixed Blank Marketplace's description & changelog Page. | +|5.1.0|20.06.2018|— ***[Fixes]*** Few Bug fixes for multi-root workspace.

—New Browser support for *Blisk* [[#162](https://github.com/ritwickdey/vscode-live-server/pull/162)]

—Custom Browser settings is updated. (please check the settings page).| +|5.0.0|15.06.2018| — ***[New]*** One of the most requested feature is here. **Live Server** 💘 **your multi-root workspace**. Yes, Live Server is now supports vscode multi-root workspace. *[[#151](https://github.com/ritwickdey/vscode-live-server/pull/151)]*

— ***[Dropped]*** Previously, Live Server was supported for no workspace (just a single `html` file is opened). This feature is removed. *(In case, you're missing this feature, open an issue request. We love your feedback)*

— ***[New]*** New Command is added to change entry point of workspace. `ctrl+shift+p` and type `Live Server: Change Live Server workspace` to change workspace path. *Tips: You don't need to use the command, Live Server is smart enough, it'll eigher ask what you want or automatically set the correct workspace if you right click on a HTML file to start the server*| +|4.0.1|05.06.2018| — Keybinding has been changed to `alt+L, alt+O` & `alt+L, alt+C` for Windows/Linux & `cmd+L, cmd+O` & `cmd+L, cmd+C` for MAC . [[#121](https://github.com/ritwickdey/vscode-live-server/pull/121)] *(Thanks [Joydip Roy](https://github.com/rjoydip))*

— `Stop Live Server` options is added in editor-context menu.

— Live Sever Icon is refreshed [[#144](https://github.com/ritwickdey/vscode-live-server/pull/144)] *(Thanks [Pluwen](https://github.com/pluwen))*

— TypeScript files are now in default ignore list. [[#125](https://github.com/ritwickdey/vscode-live-server/pull/125)] *(Thanks [Ryan Naddy](https://github.com/TheColorRed))*| +|4.0.0|14.05.2018| — Integraded Websocket Support. [[#89](https://github.com/ritwickdey/vscode-live-server/pull/89)]
— Now open server with `Local Ip` instead of `127.0.0.1` *(See settings page for more details)* [[#116](https://github.com/ritwickdey/vscode-live-server/pull/116)]
— Availity to hide status bar `Go Live` button. [[#117](https://github.com/ritwickdey/vscode-live-server/pull/117)]
— `file` settings : Path to the entry point `entry point` file. For SPA support. *(See settings page for more details)* [[#118](https://github.com/ritwickdey/vscode-live-server/pull/118)]
— Docs updated. [[#93](https://github.com/ritwickdey/vscode-live-server/pull/93) [#94](https://github.com/ritwickdey/vscode-live-server/pull/94) [#107](https://github.com/ritwickdey/vscode-live-server/pull/107) [#109](https://github.com/ritwickdey/vscode-live-server/pull/109)]

Thanks to the contributors 💓 who made this possible. [Max Schmitt](https://github.com/mxschmitt), [Joydip Roy](https://github.com/rjoydip), [Jasonalex](https://github.com/jasonalex13), [Douglas Chen](https://github.com/cdswyda), [Bernard Vander Beken](https://github.com/jawn), [Philippe Loctaux](https://github.com/x4m3), [Arshad Hasan](https://github.com/arshadhasan) | +|3.2.1|17.02.2018 | — Re-deployed to vscode marketplace. For some reason few users are facing `command 'extension.liveServer.goOnline' not found` error.
[[#78](https://github.com/ritwickdey/vscode-live-server/issues/78)] [[#80](https://github.com/ritwickdey/vscode-live-server/issues/80)] [[#78#issuecomment](https://github.com/ritwickdey/vscode-live-server/issues/78#issuecomment-365891533)] [[Tweet](https://twitter.com/mohamed_aladdin/status/962608074212200448)]
*(Still the reason of the error is unknown to me.)*

— Docs Updated +|3.2.0| 09.02.2018 | — ***[New Feature [[#72](https://github.com/ritwickdey/vscode-live-server/issues/72)]]*** `liveServer.settings.mount` settings added for mounting a directory to a route (see [settings section](https://github.com/ritwickdey/vscode-live-server/blob/master/docs/settings.md) for more details.) *[Thanks [Douglas Chen](https://github.com/cdswyda) for the [PR#73](https://github.com/ritwickdey/vscode-live-server/pull/73)]*
| +|3.1.0| 24.01.2018 | — ***[New feature [#68](https://github.com/ritwickdey/vscode-live-server/issues/68) & [#64](https://github.com/ritwickdey/vscode-live-server/issues/64)]*** CORS Enabled by default. *[Thanks [Elias García](https://github.com/elias-garcia) & [Gabriele Garavini](https://github.com/garaving)]*

— ***[New Settings / Enhacement]*** `liveServer.settings.fullReload` settings added for full reload instead of css inject (see [settings section](https://github.com/ritwickdey/vscode-live-server/blob/master/docs/settings.md) for more details.)

— ***[New Settings / Enhacement [#49](https://github.com/ritwickdey/vscode-live-server/issues/49)]*** `liveServer.settings.wait` settings added for delay before live reloading (see [settings section](https://github.com/ritwickdey/vscode-live-server/blob/master/docs/settings.md) for more details.) *[Thanks [Allen](https://github.com/justforuse)]* +|3.0.2|19.12.17| — ***[Enhacement [#38](https://github.com/ritwickdey/vscode-live-server/issues/38) & [#55](https://github.com/ritwickdey/vscode-live-server/issues/55)]*** default keybinding for MAC is changed to `cmd+L O` & `cmd+L C` to open & close server respectively. *[Thanks [Jens Alexander Ewald](https://github.com/jens-a-e), [Tim-Lars Schnehag](https://github.com/tallon1252) & [@nakedtoast](https://github.com/nakedtoast)]*
| +|3.0.1|17.12.17| — ***[Bug Fixed [#31](https://github.com/ritwickdey/vscode-live-server/issues/31)]*** `AdvanceCustomBrowserCmdLine` settings has been fixed. You can specify full path of your favorite custom browser *[Thanks [hdd1013](https://github.com/hdd1013)].*

—**[Bug Fixed [#47](https://github.com/ritwickdey/vscode-live-server/issues/47)]** `ChromeDebuggingAttachment` settings has been fixed. *[Thanks [Dr. YSG](https://github.com/DrYSG)].*| +|3.0.0| 23.10.17 | — ***[Announcement]*** : Live Server is now supports dynamic pages like PHP through *[Live Server Web Extension](https://github.com/ritwickdey/live-server-web-extension)*.

— ***[New [#20](https://github.com/ritwickdey/vscode-live-server/issues/20)]*** Support for `https` protocol. *(For more, see the `setting` section)* *[Thanks [Xaqron](https://github.com/Xaqron)].*

— ***[New]*** Support for proxy. *(For more, see the `setting` section)*

— ***[New]*** Setup settings for *[Live Server Web Extension](https://github.com/ritwickdey/live-server-web-extension)*. *(For more, see the `setting` section)*

— ***[Dropped]*** `additionalTagsForLiveReload` setting dropped. *(For more, see the `setting` section)* | +|2.2.1|07.10.17| — ***[Fixed [#26](https://github.com/ritwickdey/vscode-live-server/issues/26)]*** : CPU Overloads due to `**/node_modules/**` folder is fixed - Now `**/node_modules/**` is excluded by default. *(Special Thanks to [Bestvow](https://github.com/bestvow) for the help, Thanks to [user921](https://github.com/user921) for the report).*

— ***[Fixed]*** Small fixes in Statusbar Button.| +|2.2.0|2.10.2017| — ***[New]*** Two new options added to `liveServer.settings.CustomBrowser` settings.
       `chrome:PrivateMode`
       `firefox:PrivateMode`
*(For more, see the `setting` section)*.

— ***[New/Enhancement]*** Support for `SVG` files. *(Now right on a `svg` file & click to `Open with live Server`).*

— ***[Fixed [#27](https://github.com/ritwickdey/vscode-live-server/issues/27)]*** Possibility of add custom hostname. _(Thanks [Alex Lukyanov](https://github.com/lavir) for reporting the issue)_. +|2.1.1|11.09.17| ***[Enhancement [#22](https://github.com/ritwickdey/vscode-live-server/issues/22) [#23](https://github.com/ritwickdey/vscode-live-server/issues/23)]*** Now you can trun off the warring message for not detecting supporting tag for live reload. _(Thanks [skelesp](https://github.com/skelesp) and [郑国庆](https://github.com/zhengshuai1001) for the feedback)_ | +|2.1.0 | 10.09.17 | — ***[New Feature with Setting [#14](https://github.com/ritwickdey/vscode-live-server/issues/14)]*** `liveServer.settings.additionalTagsForLiveReload` : Support for Live Reload feature if there are no body or head tag in HTML. *[Experimental Feature - BETA]* *(See Settings section for more details).*

— ***[Feature/Enhancement [#18](https://github.com/ritwickdey/vscode-live-server/issues/18)]*** Now the Extension will prompt a message if supporting tag for live reload isn't detected in HTML.

— ***[Bug Fixes [#21](https://github.com/ritwickdey/vscode-live-server/issues/21)]*** Error on very fast double click on "Go Live" button. +| 2.0.0 | 27.08.17 | — ***[Final Release with v2.0.0]*** The *Preview* tag is removed from the extension. (BTW, More update comming... :smile:)

— ***[New Shortcut [#17](https://github.com/ritwickdey/vscode-live-server/issues/17)]*** Explorer Context Menu shortcut added. Just right click on a a `HTML` file & click `Open with Live Server`.

— ***[Enhancement [#16](https://github.com/ritwickdey/vscode-live-server/issues/16)]*** No more annoy message _'Live reload enabled'_ on browser console everytime. Now it will be logged on console for only one time. *[Thanks [AAhrit](https://github.com/AAhrit)].*

— **[Fixed [#11](https://github.com/ritwickdey/vscode-live-server/issues/11)]** In case if your folder name contains *exclamatory sign* (`!`) (E.g. : `myfolder!name`), live reload was not working *[Thanks [oliku](https://github.com/oliku)].*

— ***[One Shortcut Dropped]*** : Server closing shortcut by right clicking onto a `HTML` file is removed. (I believe that was a unconventional shortcut. if I am wrong, open a issue request on GitHub.). | +|1.6.11|20.08.17|— ***[Fixed Again [#13](https://github.com/ritwickdey/vscode-live-server/issues/13)]*** Browser was not opening after server started in Linux. - I don't really know, why the issue is occurring if I build package with `vsce` from Windows but no issue from Linux.

— ***[New Settings]*** `liveServer.settings.host`: To switch host name between `localhost` and `127.0.0.1`. Default is `127.0.0.1`.| +|1.6.10|19.08.17| — ***[Fixed [#13](https://github.com/ritwickdey/vscode-live-server/issues/13)]*** Browser was not opening after server started in Linux. _[Thanks [Ahmed Alzhrani](https://github.com/matt-zhrani)]_.

— ***[Fixed]*** Fixed Ignore Files feature (It was working only for first time of starting server).

— ***[Enhancement]*** Now you don't have to open a file to start server from workspace. Previously you got an annoyed message saying _"Open a file..."_.| +|1.6.9|15.08.17| — ***[New Settings]*** `liveServer.settings.donotShowInfoMsg :` To turn off information pop-up messages like _"Server starts with port xxxx"_ or like that. To turn off it, you can set the value as `true` or you can click to _"Don't show again"_ when a information message pop-up.

— ***[Enhancement]*** When server is already started & you right click onto a HTML file & choose 'Open with Live Server', instead of a pop-up message that *"Server already is already running at port xxxx"*, now it will open the HTML file to browser with same server instance.

— Source Code is refactored (If you you found anything broken, feel free to report me on GitHub). | +|1.6.8|04.08.17|***[New Settings]*** `liveServer.settings.ignoreFiles`: To ignore specific file changes. _(For More details, check out `Settings` section)_ [[#10](https://github.com/ritwickdey/vscode-live-server/issues/10)]. (Thanks [AminLA](https://github.com/AminLA)).| +|1.6.7|30.07.17|***[New Settings]*** `liveServer.settings.NoBrowser` - If it is true live server will start without browser opened.| +|1.6.6|28.07.17|— Remote Connect : Change something into HTML/CSS/JS from your PC and watch the effect to your phone with live reload._[Need Help? See FAQ Section]_
— `.htm` support.| +|1.6.5|26.07.17|Bug Fixed for Linux & macOS. Sometime extension was crashing if `liveServer.settings.CustomBrowser` settings is not provided by manually on macOS & Linux. | +|1.6.4|26.07.17|Critical Bug Fixed for Linux & macOS. Extension was crashing for `liveServer.settings.root` settings on macOS & Linux. | +|1.6.3| 24.07.17 | Validation added for Port range. | +|1.6.2| 22.07.17 | Fixed error handling for unavailable port. | +|1.6.1|20.07.17|Fixed Update - Extension was not opening system's default browser. _[Sorry for that, Extension was crashing internally]_| +|1.6.0|19.07.17| — [[#5](https://github.com/ritwickdey/vscode-live-server/issues/5)] New Settings - `liveServer.settings.AdvanceCustomBrowserCmdLine` - Now set your any favorite browser (Eg: Chrome Canary, Firefox Nightly) for Live Server using advance Command Line. (_[More Info.](https://github.com/ritwickdey/vscode-live-server#settings)_) [Thanks [Obinna A. Kalu](https://github.com/obkalu)].

— Support for Microsoft-Edge through `liveServer.settings.CustomBrowser` settings. | +|1.5.0 | 17.07.17 | [[Quick Gif Demo](https://github.com/ritwickdey/vscode-live-server/blob/master/./images/Screenshot/ChromeDebugging.gif)] New Feature Added - Support for Chrome Debugging Attachment. (You have to enable the feature through `liveServer.settings.ChromeDebuggingAttachment` settings. _[More Info.](https://github.com/ritwickdey/vscode-live-server#settings)_). [Thanks [Obinna A. Kalu](https://github.com/obkalu) [[#5](https://github.com/ritwickdey/vscode-live-server/issues/5)] ]. +|1.4.4 | 12.07.17 | Validation Pattern is added for root settings & Custom Browser settings is fixed. Package size reduced. +|1.4.3 | 10.07.17 | Status-bar Icon added. Minor Fix update on Status bar control. | +|1.4.2|08.07.17|Minor Fix Update on Custom Browser Setting.| +|1.4.1 | 07.07.17 | Minor Fix Update. (Thanks [Adam](https://github.com/AdamLombard)) [[#4](https://github.com/ritwickdey/vscode-live-server/pull/4)]. | +|1.4.0 | 04.07.17 | Two new settings are added.
— 1. `liveServer.settings.root` to change root of server in between workspace folder structure. (Thanks _[zorgoz](https://github.com/zorgoz)_ for the suggestion) [[#2](https://github.com/ritwickdey/vscode-live-server/issues/2)].
— 2. `liveServer.settings.CustomBrowser` to change default browser.

— Bug Fixed - `Cannot GET/ Error` when server starts with a html file located sub folder of root. (Thanks _[John Michael Robin](https://github.com/jmmrdev)_ for reporting the bug) [[#3](https://github.com/ritwickdey/vscode-live-server/issues/3)]. +| 1.3.1 | 03.07.17 | File Extension detection issue is fixed, `Live Server` will be activated if there have atleast one HTML except in your `node_modoules` directory and description of extension updated as git repo name of the extension is updated to conventional name | +| 1.3.0 | 02.07.17 |`Go Live` option on Statusbar will be appeared if HTML file is opened or if there have at least one HTML file in workspace.(Thanks _[Yu Zhang](https://github.com/neilsustc)_) [[#1](https://github.com/ritwickdey/vscode-live-server/issues/1)].| +| 1.2.0 | 30.06.17 | Settings for Customizing Port No of Live Server. Small UX updated. | +| 1.1.1 | 30.06.17 | Keyboad Shortcuts has been changed to `ALT+L, O` and `ALT+L, C` due to `Shift+ANY_CHARACTER` has different meaning - sorry for that. +| 1.1.0 | 30.06.17 | Editor/Context Menu Shortcut & Keyboad Shortcut added, Changelog added and Readme updated. | +| 1.0.0 | 29.06.17 | Fixed - issue in Server closing. | +| 0.2.0 | 28.06.17 | Status Bar control & User Experience updated and bugs Fixed. | +| 0.1.0 | 28.06.17 | Live Server Port details added, Bugs fixed & improvement. | +| 0.0.2 | 28.06.17 | Extension Icon & description added. | +| 0.0.1 | 28.06.17 | Initial Release. | diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/LICENSE.txt b/.vscode/extensions/ritwickdey.liveserver-5.6.1/LICENSE.txt new file mode 100644 index 00000000..e4944861 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Ritwick Dey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/README.md b/.vscode/extensions/ritwickdey.liveserver-5.6.1/README.md new file mode 100644 index 00000000..cd697a27 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/README.md @@ -0,0 +1,100 @@ +_[I'm sorry but I'm super busy now. If you want to be a maintainer of the project, please feel free to contact me! You've to be passionate about programming]_ + +# Live Server + +**Live Server loves** 💘 **your multi-root workspace** + +> **Live Server for server side pages like PHP. [Check Here](https://github.com/ritwickdey/live-server-web-extension)** + +> ***[For 'command not found error' [#78](https://github.com/ritwickdey/vscode-live-server/issues/78)]*** + +[![VSCode Marketplace](https://img.shields.io/vscode-marketplace/v/ritwickdey.LiveServer.svg?style=flat-square&label=vscode%20marketplace)](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) [![Total Installs](https://img.shields.io/vscode-marketplace/d/ritwickdey.LiveServer.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) [![Avarage Rating](https://img.shields.io/vscode-marketplace/r/ritwickdey.LiveServer.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) +[![Travis branch](https://img.shields.io/travis/ritwickdey/vscode-live-server/master.svg?style=flat-square&label=travis%20branch)](https://travis-ci.org/ritwickdey/vscode-live-server) [![Appveyor branch](https://img.shields.io/appveyor/ci/ritwickdey/vscode-live-server.svg?style=flat-square&label=appveyor%20branch)](https://ci.appveyor.com/project/ritwickdey/vscode-live-server) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/ritwickdey/vscode-live-server/) +
+ +**Launch a local development server with live reload feature for static & dynamic pages.** +
+ +![Live Server Demo VSCode](https://github.com/ritwickdey/vscode-live-server/raw/master/./images/Screenshot/vscode-live-server-animated-demo.gif) + +## Shortcuts to Start/Stop Server + +**_[NOTE: In case if you don't have any `.html` or `.htm` file in your workspace then you have to follow method no 4 & 5 to start server.]_** + +1. Open a project and click to `Go Live` from the status bar to turn the server on/off. +![Go Live Control Preview](https://github.com/ritwickdey/vscode-live-server/raw/master/./images/Screenshot/vscode-live-server-statusbar-3.jpg) + +2. Right click on a `HTML` file from Explorer Window and click on `Open with Live Server`. +![Explorer Window Control](https://github.com/ritwickdey/vscode-live-server/raw/master/./images/Screenshot/vscode-live-server-explorer-menu-demo-1.gif). + +3. Open a HTML file and right-click on the editor and click on `Open with Live Server`. +![Edit Menu Option Preview](https://github.com/ritwickdey/vscode-live-server/raw/master/./images/Screenshot/vscode-live-server-editor-menu-3.jpg) + +4. Hit `(alt+L, alt+O)` to Open the Server and `(alt+L, alt+C)` to Stop the server (You can change the shortcut form keybinding). *[On MAC, `cmd+L, cmd+O` and `cmd+L, cmd+C`]* + +5. Open the Command Pallete by pressing `F1` or `ctrl+shift+P` and type `Live Server: Open With Live Server ` to start a server or type `Live Server: Stop Live Server` to stop a server. + + +## Features +* A Quick Development Live Server with live browser reload. +* Start or Stop server by a single click from status bar. +* Open a HTML file to browser from Explorer menu.[[Quick Gif Demo](https://github.com/ritwickdey/vscode-live-server/blob/master/./images/Screenshot/vscode-live-server-explorer-menu-demo-1.gif?raw=true)]. +* Support for excluding files for change detection. +* Hot Key control. +* Customizable Port Number, Server Root, default browser. +* Support for any browser _(Eg: Firefox Nightly)_ using advance Command Line. +* Support for Chrome Debugging Attachment (_[More Info](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome)_). [[Quick Gif Demo](https://github.com/ritwickdey/vscode-live-server/blob/master/./images/Screenshot/ChromeDebugging.gif?raw=true)]. +* Remote Connect through WLAN (E.g.: Connect with mobile) _[Need Help? See FAQ Section]_ +* Use preferable host name *(localhost or 127.0.0.1)*. +* Customizable Supporting Tag for Live Reload feature. (Default is `Body` or `head`) +* SVG Support +* `https` Support. +* Support for proxy. +* CORS Enabled +* Multi-root workspace supported. +* Support for any file even dynamic pages through *[Live Server Web Extension](https://github.com/ritwickdey/live-server-web-extension)*. + +## Installation +Open VSCode and type `ctrl+P`, type `ext install ritwickdey.liveserver`. + +## Settings +All settings are now listed here [Settings Docs](https://github.com/ritwickdey/vscode-live-server/blob/master/./docs/settings.md). + +## FAQs +*All FAQs are now listed here [FAQ Docs](https://github.com/ritwickdey/vscode-live-server/blob/master/./docs/faqs.md)* + +## What's new ? + + +* ### Version 5.6.1 (17.04.19) + * ***[NEW]*** Fixing `Extension host terminated unexpectedly` *[[#431](https://github.com/ritwickdey/vscode-live-server/issues/431) + +* ### Version 5.6.0 (17.04.19) + * ***[NEW]*** Intregation of `Browser Preview` with `Live Server` *[[#352](https://github.com/ritwickdey/vscode-live-server/pull/352) - Thanks to [Kenneth Auchenberg](https://github.com/auchenberg)]* + * ***[NEW]*** Fallback to random port If given port is busy. *[[#330](https://github.com/ritwickdey/vscode-live-server/pull/330) - Thanks to [Ali Almohaya](https://github.com/Almo7aya) ]* + * ***[FIXES]*** Moved to `vscode-chokidar` lib for *[#285](https://github.com/ritwickdey/vscode-live-server/issues/285)*. + * Doc Fixes *[[#388](https://github.com/ritwickdey/vscode-live-server/pull/388) - Thanks to [Ted Silbernagel](https://github.com/tedsilb)]* + + +* ### Version 5.5.1 (12.02.19) + * ***[Fixes]*** Fixed `Extension host terminated unexpectedly` for MacOS. [[#285](https://github.com/ritwickdey/vscode-live-server/issues/285)] + +* ### Version 5.5.0 (12.02.19) + * ***[Fixes]*** Fixed `ignoreFiles` settings [[#255](https://github.com/ritwickdey/vscode-live-server/issues/255)] + * Attempt to fix `high cpu load` [[#278](https://github.com/ritwickdey/vscode-live-server/issues/278)] + + + +## Changelog +To check full changelog [click here](https://github.com/ritwickdey/vscode-live-server/blob/master/CHANGELOG.md). + + +## Special Thanks To Maintainers +A special thanks to [Max Schmitt](https://github.com/mxschmitt), [Joydip Roy](https://github.com/rjoydip) & [Ayo Adesugba](https://github.com/adesugbaa) for contributing their valueable time on this project. + +[![Max Schmitt](https://avatars2.githubusercontent.com/u/17984549?s=64)](https://github.com/mxschmitt) +[![Joydip Roy](https://avatars2.githubusercontent.com/u/15318294?s=64)](https://github.com/rjoydip) +[![Ayo Adesugba](https://avatars2.githubusercontent.com/u/55943?s=64)](https://github.com/adesugbaa) + +## LICENSE +This extension is licensed under the [MIT License](https://github.com/ritwickdey/vscode-live-server/blob/master/LICENSE) diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/images/icon.png b/.vscode/extensions/ritwickdey.liveserver-5.6.1/images/icon.png new file mode 100644 index 00000000..fe05b1fa Binary files /dev/null and b/.vscode/extensions/ritwickdey.liveserver-5.6.1/images/icon.png differ diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/Config.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/Config.js new file mode 100644 index 00000000..bf9c7787 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/Config.js @@ -0,0 +1,91 @@ +'use strict'; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +class Config { + static get configuration() { + return vscode_1.workspace.getConfiguration('liveServer.settings'); + } + static getSettings(val) { + return Config.configuration.get(val); + } + static setSettings(key, val, isGlobal = false) { + return Config.configuration.update(key, val, isGlobal); + } + static get getHost() { + return Config.getSettings('host'); + } + static get getLocalIp() { + return Config.getSettings('useLocalIp'); + } + static get getPort() { + return Config.getSettings('port'); + } + static setPort(port) { + return Config.setSettings('port', port); + } + static get getRoot() { + return Config.getSettings('root'); + } + static get getNoBrowser() { + return Config.getSettings('NoBrowser'); + } + static get getUseBrowserPreview() { + return Config.getSettings('useBrowserPreview'); + } + static get getAdvancedBrowserCmdline() { + return Config.getSettings('AdvanceCustomBrowserCmdLine'); + } + static get getChromeDebuggingAttachment() { + return Config.getSettings('ChromeDebuggingAttachment'); + } + static get getCustomBrowser() { + return Config.getSettings('CustomBrowser'); + } + static get getIgnoreFiles() { + return Config.getSettings('ignoreFiles'); + } + static get getDonotShowInfoMsg() { + return Config.getSettings('donotShowInfoMsg'); + } + static setDonotShowInfoMsg(val, isGlobal = false) { + Config.configuration.update('donotShowInfoMsg', val, isGlobal); + } + static get getDonotVerifyTags() { + return Config.getSettings('donotVerifyTags'); + } + static setDonotVerifyTags(val, isGlobal = false) { + Config.configuration.update('donotVerifyTags', val, isGlobal); + } + static get getUseWebExt() { + return Config.getSettings('useWebExt') || false; + } + static get getProxy() { + return Config.getSettings('proxy'); + } + static get getHttps() { + return Config.getSettings('https') || {}; + } + static get getWait() { + return Config.getSettings('wait'); + } + static get getfullReload() { + return Config.getSettings('fullReload'); + } + static get getMount() { + return Config.getSettings('mount'); + } + static get getShowOnStatusbar() { + return Config.getSettings('showOnStatusbar') || false; + } + static get getFile() { + return Config.getSettings('file'); + } + static get getMutiRootWorkspaceName() { + return Config.getSettings('multiRootWorkspaceName'); + } + static setMutiRootWorkspaceName(val) { + return Config.configuration.update('multiRootWorkspaceName', val, false); + } +} +exports.Config = Config; +//# sourceMappingURL=Config.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/Helper.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/Helper.js new file mode 100644 index 00000000..7b6ac957 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/Helper.js @@ -0,0 +1,129 @@ +'use strict'; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = require("fs"); +const path = require("path"); +const Config_1 = require("./Config"); +exports.SUPPRORTED_EXT = [ + '.html', '.htm', '.svg' +]; +exports.isRelativePath = (pathUrl) => { + if (pathUrl.startsWith('*')) + return false; + return !path.isAbsolute(pathUrl); +}; +class Helper { + static testPathWithRoot(workSpacePath) { + let rootPath; + // Test the path is actually exists or not + const testPath = path.join(workSpacePath, Config_1.Config.getRoot); + let isNotOkay = !fs.existsSync(testPath); + if (!isNotOkay) { // means okay :) + rootPath = testPath; + } + else { + rootPath = workSpacePath; + } + if (!rootPath.endsWith(path.sep)) + rootPath = rootPath + path.sep; + return { + isNotOkay, + rootPath + }; + } + /** + * This function return the remaining path from root to target. + * e.g. : root is `c:\user\rootfolder\` and target is `c:\user\rootfolder\subfolder\index.html` + * then this function will return `subfolder\index.html` as html is a supported otherwise it will return null. + * + * @param rootPath + * @param targetPath + */ + static getSubPath(rootPath, targetPath) { + if (!Helper.IsSupportedFile(targetPath) || !targetPath.startsWith(rootPath)) { + return null; + } + return targetPath.substring(rootPath.length, targetPath.length); + } + /** + * It returns true if file is supported. input can be in full file path or just filename with extension name. + * @param file: can be path/subpath/file.ts or file.ts + */ + static IsSupportedFile(file) { + let ext = path.extname(file) || (file.startsWith('.') ? file : `.${file}`); + return exports.SUPPRORTED_EXT.indexOf(ext.toLowerCase()) > -1; + } + /** + * + * @param rootPath + * @param workspacePath + * @param onTagMissedCallback + */ + static generateParams(rootPath, workspacePath, onTagMissedCallback) { + workspacePath = workspacePath || ''; + const port = Config_1.Config.getPort; + const ignorePathGlob = Config_1.Config.getIgnoreFiles || []; + const ignoreFiles = []; + ignorePathGlob.forEach(ignoredPath => { + if (exports.isRelativePath(ignoredPath)) + ignoreFiles.push(path.join(workspacePath, ignoredPath)); + else + ignoreFiles.push(ignoredPath); + }); + const proxy = Helper.getProxySetup(); + const https = Helper.getHttpsSetup(); + const mount = Config_1.Config.getMount; + // In live-server mountPath is reslove by `path.resolve(process.cwd(), mountRule[1])`. + // but in vscode `process.cwd()` is the vscode extensions path. + // The correct path should be resolve by workspacePath. + mount.forEach((mountRule) => { + if (mountRule.length === 2 && mountRule[1]) { + mountRule[1] = path.resolve(workspacePath, mountRule[1]); + } + }); + const file = Config_1.Config.getFile; + return { + port: port, + host: '0.0.0.0', + root: rootPath, + file: file, + open: false, + https: https, + ignore: ignoreFiles, + disableGlobbing: true, + proxy: proxy, + cors: true, + wait: Config_1.Config.getWait || 100, + fullReload: Config_1.Config.getfullReload, + useBrowserExtension: Config_1.Config.getUseWebExt, + onTagMissedCallback: onTagMissedCallback, + mount: mount + }; + } + static getHttpsSetup() { + const httpsConfig = Config_1.Config.getHttps; + let https = null; + if (httpsConfig.enable === true) { + let cert = fs.readFileSync(httpsConfig.cert, 'utf8'); + let key = fs.readFileSync(httpsConfig.key, 'utf8'); + https = { + cert: cert, + key: key, + passphrase: httpsConfig.passphrase + }; + } + return https; + } + static getProxySetup() { + const proxySetup = Config_1.Config.getProxy; + let proxy = [[]]; + if (proxySetup.enable === true) { + proxy[0].push(proxySetup.baseUri, proxySetup.proxyUri); + } + else { + proxy = null; // required to change the type [[]] to black array []. + } + return proxy; + } +} +exports.Helper = Helper; +//# sourceMappingURL=Helper.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/IAppModel.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/IAppModel.js new file mode 100644 index 00000000..98a55447 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/IAppModel.js @@ -0,0 +1,3 @@ +'use strict'; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IAppModel.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/LiveServerHelper.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/LiveServerHelper.js new file mode 100644 index 00000000..3cd01c9c --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/LiveServerHelper.js @@ -0,0 +1,36 @@ +'use strict'; +Object.defineProperty(exports, "__esModule", { value: true }); +const liveServer = require("live-server"); +const httpShutdown = require("http-shutdown"); +class LiveServerHelper { + static StartServer(params, callback) { + setTimeout(() => { + try { + let ServerInstance = liveServer.start(params); + setTimeout(() => { + if (!ServerInstance._connectionKey) { + return callback({}); + } + httpShutdown(ServerInstance); + return callback(ServerInstance); + }, 1000); + } + catch (err) { + console.error(err); + callback({ + errorMsg: err + }); + } + }, 0); + } + static StopServer(LiveServerInstance, callback) { + LiveServerInstance.shutdown(() => { + // callback(); /*only Working first time, Unknown Bug*/ + }); + LiveServerInstance.close(); + liveServer.shutdown(); + setTimeout(() => { callback(); }, 1000); + } +} +exports.LiveServerHelper = LiveServerHelper; +//# sourceMappingURL=LiveServerHelper.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/LiveShareHelper.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/LiveShareHelper.js new file mode 100644 index 00000000..41fb16d4 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/LiveShareHelper.js @@ -0,0 +1,75 @@ +'use strict'; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const vsls = require("vsls/vscode"); +/** + * Manages state of a live server shared via VS Live Share. + * Caches the live server path and starts/stops sharing in response to Live Share session events. + */ +class LiveShareHelper { + constructor(appModel) { + this.appModel = appModel; + this.appModel.onDidGoLive((e) => __awaiter(this, void 0, void 0, function* () { + // cache the current live server browse url + this.livePathUri = e.pathUri; + yield this.shareLiveServer(); + })); + this.appModel.onDidGoOffline((e) => { + // reset the live server cached path + this.livePathUri = null; + if (this.activeHostSession && this.sharedServer) { + // will un-share the server + this.sharedServer.dispose(); + this.sharedServer = null; + } + }); + this.deferredWork = vsls.getApi().then(api => { + if (api) { // if Live Share is available (installed) + this.ensureInitialized(api); + } + }); + } + dispose() { + return __awaiter(this, void 0, void 0, function* () { + yield this.deferredWork; + }); + } + ensureInitialized(api) { + this.liveshare = api; + if (this.liveshare.session && this.liveshare.session.role === vsls.Role.Host) { + this.activeHostSession = this.liveshare.session; + } + this.liveshare.onDidChangeSession((e) => __awaiter(this, void 0, void 0, function* () { + if (e.session.role === vsls.Role.Host) { + // active sharing collaboration session + this.activeHostSession = e.session; + yield this.shareLiveServer(); + } + else { + // any other session state, including joined as a guest + this.activeHostSession = null; + } + })); + } + shareLiveServer() { + return __awaiter(this, void 0, void 0, function* () { + if (this.activeHostSession && this.livePathUri) { + // only share the server when we're live and VS Live Share session is active + this.sharedServer = yield this.liveshare.shareServer({ + port: this.appModel.runningPort, + displayName: 'Live Server', + browseUrl: `http://localhost:${this.appModel.runningPort}/${this.livePathUri.replace(/\\/gi, '/')}` + }); + } + }); + } +} +exports.LiveShareHelper = LiveShareHelper; +//# sourceMappingURL=LiveShareHelper.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/StatusbarUi.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/StatusbarUi.js new file mode 100644 index 00000000..65a2c2a5 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/StatusbarUi.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const Config_1 = require("./Config"); +class StatusbarUi { + static get statusbar() { + if (!StatusbarUi._statusBarItem) { + StatusbarUi._statusBarItem = vscode_1.window + .createStatusBarItem(vscode_1.StatusBarAlignment.Right, 100); + // Show status bar only if user wants :) + if (Config_1.Config.getShowOnStatusbar) + this.statusbar.show(); + } + return StatusbarUi._statusBarItem; + } + static Init() { + StatusbarUi.Working('loading...'); + setTimeout(function () { + StatusbarUi.Live(); + }, 1000); + } + static Working(workingMsg = 'Working on it...') { + StatusbarUi.statusbar.text = `$(pulse) ${workingMsg}`; + StatusbarUi.statusbar.tooltip = 'In case if it takes long time, try to close all browser window.'; + StatusbarUi.statusbar.command = null; + } + static Live() { + StatusbarUi.statusbar.text = '$(broadcast) Go Live'; + StatusbarUi.statusbar.command = 'extension.liveServer.goOnline'; + StatusbarUi.statusbar.tooltip = 'Click to run live server'; + } + static Offline(port) { + StatusbarUi.statusbar.text = `$(circle-slash) Port : ${port}`; + StatusbarUi.statusbar.command = 'extension.liveServer.goOffline'; + StatusbarUi.statusbar.tooltip = 'Click to close server'; + } + static dispose() { + StatusbarUi.statusbar.dispose(); + } +} +exports.StatusbarUi = StatusbarUi; +//# sourceMappingURL=StatusbarUi.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/announcement/index.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/announcement/index.js new file mode 100644 index 00000000..bb1cfe84 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/announcement/index.js @@ -0,0 +1,34 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const opn = require("opn"); +const SETUP_STRING = 'liveServer.setup.version'; +function checkNewAnnouncement(memento) { + return __awaiter(this, void 0, void 0, function* () { + const packageJSON = vscode_1.extensions.getExtension('ritwickdey.LiveServer').packageJSON; + const announment = packageJSON.announcement; + if (!announment && Object.keys(announment).length === 0) + return; + const stateVersion = (yield memento.get(SETUP_STRING)) || '0.0.0'; + const installedVersion = packageJSON.version; + if (stateVersion !== installedVersion && installedVersion === announment.onVersion) { + yield memento.update(SETUP_STRING, installedVersion); + const showDetails = 'Show Details'; + const choice = yield vscode_1.window.showInformationMessage(announment.message, showDetails); + if (choice === showDetails) { + const url = announment.url || 'https://github.com/ritwickdey/vscode-live-server'; + opn(url); + } + } + }); +} +exports.checkNewAnnouncement = checkNewAnnouncement; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/appModel.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/appModel.js new file mode 100644 index 00000000..7e7a0ea6 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/appModel.js @@ -0,0 +1,268 @@ +'use strict'; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const LiveServerHelper_1 = require("./LiveServerHelper"); +const StatusbarUi_1 = require("./StatusbarUi"); +const Config_1 = require("./Config"); +const Helper_1 = require("./Helper"); +const workspaceResolver_1 = require("./workspaceResolver"); +const LiveShareHelper_1 = require("./LiveShareHelper"); +const opn = require("opn"); +const ips = require("ips"); +class AppModel { + constructor() { + this.goLiveEvent = new vscode_1.EventEmitter(); + this.goOfflineEvent = new vscode_1.EventEmitter(); + const _ips = ips(); + this.localIps = _ips.local ? _ips.local : Config_1.Config.getHost; + this.IsServerRunning = false; + this.runningPort = null; + this.liveShareHelper = new LiveShareHelper_1.LiveShareHelper(this); + this.haveAnySupportedFile().then(() => { + StatusbarUi_1.StatusbarUi.Init(); + }); + } + get onDidGoLive() { + return this.goLiveEvent.event; + } + get onDidGoOffline() { + return this.goOfflineEvent.event; + } + Golive(pathUri) { + return __awaiter(this, void 0, void 0, function* () { + // if no folder is opened. + if (!vscode_1.workspace.workspaceFolders) { + return this.showPopUpMsg(`Open a folder or workspace... (File -> Open Folder)`, true); + } + if (!vscode_1.workspace.workspaceFolders.length) { + return this.showPopUpMsg(`You've not added any folder in the workspace`, true); + } + const workspacePath = yield workspaceResolver_1.workspaceResolver(pathUri); + if (!this.isCorrectWorkspace(workspacePath)) + return; + const openedDocUri = pathUri || (vscode_1.window.activeTextEditor ? vscode_1.window.activeTextEditor.document.fileName : ''); + const pathInfos = Helper_1.Helper.testPathWithRoot(workspacePath); + if (this.IsServerRunning) { + const relativePath = Helper_1.Helper.getSubPath(pathInfos.rootPath, openedDocUri) || ''; + this.goLiveEvent.fire({ runningPort: this.runningPort, pathUri: relativePath }); + return this.openBrowser(this.runningPort, relativePath); + } + if (pathInfos.isNotOkay) { + this.showPopUpMsg('Invaild Path in liveServer.settings.root settings. live Server will serve from workspace root', true); + } + if (this.IsStaging) + return; + let params = Helper_1.Helper.generateParams(pathInfos.rootPath, workspacePath, () => { + this.tagMissedCallback(); + }); + LiveServerHelper_1.LiveServerHelper.StartServer(params, (serverInstance) => __awaiter(this, void 0, void 0, function* () { + if (serverInstance && serverInstance.address) { + this.LiveServerInstance = serverInstance; + this.runningPort = serverInstance.address().port; + this.ToggleStatusBar(); + this.showPopUpMsg(`Server is Started at port : ${this.runningPort}`); + if (!Config_1.Config.getNoBrowser) { + const relativePath = Helper_1.Helper.getSubPath(pathInfos.rootPath, openedDocUri) || ''; + this.goLiveEvent.fire({ runningPort: this.runningPort, pathUri: relativePath }); + this.openBrowser(this.runningPort, relativePath); + } + } + else { + if (!serverInstance.errorMsg) { + yield Config_1.Config.setPort(Config_1.Config.getPort + 1); // + 1 will be fine + this.showPopUpMsg(`The default port : ${Config_1.Config.getPort - 1} is currently taken, changing port to : ${Config_1.Config.getPort}.`); + this.Golive(pathUri); + } + else { + this.showPopUpMsg(`Something is went wrong! Please check into Developer Console or report on GitHub.`, true); + } + this.IsServerRunning = true; // to revert status - cheat :p + this.ToggleStatusBar(); // reverted + } + })); + this.IsStaging = true; + StatusbarUi_1.StatusbarUi.Working('Starting...'); + }); + } + GoOffline() { + if (this.IsStaging) + return; + if (!this.IsServerRunning) { + this.showPopUpMsg(`Server is not already running`); + return; + } + this.goOfflineEvent.fire({ runningPort: this.runningPort }); + LiveServerHelper_1.LiveServerHelper.StopServer(this.LiveServerInstance, () => { + this.showPopUpMsg('Server is now offline.'); + this.ToggleStatusBar(); + this.LiveServerInstance = null; + this.runningPort = null; + this.previousWorkspacePath = null; + }); + this.IsStaging = true; + StatusbarUi_1.StatusbarUi.Working('Disposing...'); + } + changeWorkspaceRoot() { + workspaceResolver_1.setOrChangeWorkspace() + .then(workspceName => { + if (workspceName === undefined) + return; + vscode_1.window.showInformationMessage(`Success! '${workspceName}' workspace is now root of Live Server`); + // If server is running, Turn off the server. + if (this.IsServerRunning) + this.GoOffline(); + }); + } + isCorrectWorkspace(workspacePath) { + if (this.IsServerRunning && + this.previousWorkspacePath && + this.previousWorkspacePath !== workspacePath) { + this.showPopUpMsg(`Server is already running from different workspace.`, true); + return false; + } + else + this.previousWorkspacePath = workspacePath; + return true; + } + tagMissedCallback() { + this.showPopUpMsg('Live Reload is not possible without body or head tag.', null, true); + } + showPopUpMsg(msg, isErrorMsg = false, isWarning = false) { + if (isErrorMsg) { + vscode_1.window.showErrorMessage(msg); + } + else if (isWarning && !Config_1.Config.getDonotVerifyTags) { + const donotShowMsg = 'I understand, Don\'t show again'; + vscode_1.window.showWarningMessage(msg, donotShowMsg) + .then(choise => { + if (choise && choise === donotShowMsg) { + Config_1.Config.setDonotVerifyTags(true, true); + } + }); + } + else if (!Config_1.Config.getDonotShowInfoMsg) { + const donotShowMsg = 'Don\'t show again'; + vscode_1.window.showInformationMessage(msg, donotShowMsg) + .then(choice => { + if (choice && choice === donotShowMsg) { + Config_1.Config.setDonotShowInfoMsg(true, true); + } + }); + } + } + ToggleStatusBar() { + this.IsStaging = false; + if (!this.IsServerRunning) { + StatusbarUi_1.StatusbarUi.Offline(this.runningPort || Config_1.Config.getPort); + } + else { + StatusbarUi_1.StatusbarUi.Live(); + } + this.IsServerRunning = !this.IsServerRunning; + } + haveAnySupportedFile() { + return new Promise(resolve => { + const globFormat = `**/*[${Helper_1.SUPPRORTED_EXT.join(' | ')}]`; + vscode_1.workspace.findFiles(globFormat, '**/node_modules/**', 1) + .then((files) => __awaiter(this, void 0, void 0, function* () { + if (files && files.length) + return resolve(); + })); + }); + } + openBrowser(port, path) { + const host = Config_1.Config.getLocalIp ? this.localIps : Config_1.Config.getHost; + const protocol = Config_1.Config.getHttps.enable ? 'https' : 'http'; + let params = []; + let advanceCustomBrowserCmd = Config_1.Config.getAdvancedBrowserCmdline; + if (path.startsWith('\\') || path.startsWith('/')) { + path = path.substring(1, path.length); + } + path = path.replace(/\\/gi, '/'); + let useBrowserPreview = Config_1.Config.getUseBrowserPreview; + if (useBrowserPreview) { + let url = `${protocol}://${host}:${port}/${path}`; + let onSuccess = () => { }; + let onError = (err) => { + this.showPopUpMsg(`Server is started at ${this.runningPort} but failed to open in Browser Preview. Got Browser Preview extension installed?`, true); + console.log('\n\nError Log to open Browser : ', err); + console.log('\n\n'); + }; + vscode_1.commands.executeCommand(`browser-preview.openPreview`, url).then(onSuccess, onError); + return; + } + if (advanceCustomBrowserCmd) { + advanceCustomBrowserCmd + .split('--') + .forEach((command, index) => { + if (command) { + if (index !== 0) + command = '--' + command; + params.push(command.trim()); + } + }); + } + else { + let CustomBrowser = Config_1.Config.getCustomBrowser; + let ChromeDebuggingAttachmentEnable = Config_1.Config.getChromeDebuggingAttachment; + if (CustomBrowser && CustomBrowser !== 'null' /*For backward capability*/) { + let browserDetails = CustomBrowser.split(':'); + let browserName = browserDetails[0]; + params.push(browserName); + if (browserDetails[1] && browserDetails[1] === 'PrivateMode') { + if (browserName === 'chrome' || browserName === 'blisk') + params.push('--incognito'); + else if (browserName === 'firefox') + params.push('--private-window'); + } + if ((browserName === 'chrome' || browserName === 'blisk') && ChromeDebuggingAttachmentEnable) { + params.push(...[ + '--new-window', + '--no-default-browser-check', + '--remote-debugging-port=9222', + '--user-data-dir=' + __dirname + ]); + } + } + } + if (params[0] && params[0] === 'chrome') { + switch (process.platform) { + case 'darwin': + params[0] = 'google chrome'; + break; + case 'linux': + params[0] = 'google-chrome'; + break; + case 'win32': + params[0] = 'chrome'; + break; + default: + params[0] = 'chrome'; + } + } + else if (params[0] && params[0].startsWith('microsoft-edge')) { + params[0] = `microsoft-edge:${protocol}://${host}:${port}/${path}`; + } + try { + opn(`${protocol}://${host}:${port}/${path}`, { app: params || [''] }); + } + catch (error) { + this.showPopUpMsg(`Server is started at ${this.runningPort} but failed to open browser. Try to change the CustomBrowser settings.`, true); + console.log('\n\nError Log to open Browser : ', error); + console.log('\n\n'); + } + } + dispose() { + StatusbarUi_1.StatusbarUi.dispose(); + } +} +exports.AppModel = AppModel; +//# sourceMappingURL=appModel.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/extension.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/extension.js new file mode 100644 index 00000000..57b29583 --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/extension.js @@ -0,0 +1,44 @@ +'use strict'; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const appModel_1 = require("./appModel"); +const announcement_1 = require("./announcement"); +function activate(context) { + const appModel = new appModel_1.AppModel(); + announcement_1.checkNewAnnouncement(context.globalState); + context.subscriptions.push(vscode_1.commands + .registerCommand('extension.liveServer.goOnline', (fileUri) => __awaiter(this, void 0, void 0, function* () { + yield vscode_1.workspace.saveAll(); + appModel.Golive(fileUri ? fileUri.fsPath : null); + }))); + context.subscriptions.push(vscode_1.commands + .registerCommand('extension.liveServer.goOffline', () => { + appModel.GoOffline(); + })); + context.subscriptions.push(vscode_1.commands + .registerCommand('extension.liveServer.changeWorkspace', () => { + appModel.changeWorkspaceRoot(); + })); + // context.subscriptions.push(window + // .onDidChangeActiveTextEditor(() => { + // if (window.activeTextEditor === undefined) return; + // if (workspace.rootPath === undefined && Helper.IsSupportedFile(window.activeTextEditor.document.fileName)) { + // StatusbarUi.Init(); + // } + // }) + // ); + context.subscriptions.push(appModel); +} +exports.activate = activate; +function deactivate() { +} +exports.deactivate = deactivate; +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/workspaceResolver.js b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/workspaceResolver.js new file mode 100644 index 00000000..20b41b6d --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/out/src/workspaceResolver.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +const Config_1 = require("./Config"); +function setOrChangeWorkspace() { + const { workspaceFolders } = vscode_1.workspace; + const workspaceNames = workspaceFolders.map(e => e.name); + return vscode_1.window.showQuickPick(workspaceNames, { + placeHolder: 'choose workspace for Live Server', + ignoreFocusOut: true + }).then(workspaceName => { + if (workspaceName) { + return Config_1.Config.setMutiRootWorkspaceName(workspaceName).then(() => workspaceName); + } + }); +} +exports.setOrChangeWorkspace = setOrChangeWorkspace; +function workspaceResolver(fileUri) { + return new Promise(resolve => { + const { workspaceFolders } = vscode_1.workspace; + const workspaceNames = workspaceFolders.map(e => e.name); + // If only one workspace. No need to check anything. + if (workspaceNames.length === 1) { + return resolve(workspaceFolders[0].uri.fsPath); + } + // if fileUri is set. Means, user tried to open server by right clicking to a HTML file. + if (fileUri) { + const selectedWorkspace = workspaceFolders.find(ws => fileUri.startsWith(ws.uri.fsPath)); + if (selectedWorkspace) { + return Config_1.Config.setMutiRootWorkspaceName(selectedWorkspace.name) + .then(() => resolve(selectedWorkspace.uri.fsPath)); + } + } + // If workspace already set by User + if (Config_1.Config.getMutiRootWorkspaceName) { + // A small test that the WorkspaceName (set by user) is valid + const targetWorkspace = workspaceFolders.find(e => e.name === Config_1.Config.getMutiRootWorkspaceName); + if (targetWorkspace) + return resolve(targetWorkspace.uri.fsPath); + // reset whatever user is set. + Config_1.Config.setMutiRootWorkspaceName(null); + } + // Show a quick picker + setOrChangeWorkspace() + .then(workspaceName => { + const workspaceUri = workspaceFolders.find(e => e.name === workspaceName).uri.fsPath; + return resolve(workspaceUri); + }); + }); +} +exports.workspaceResolver = workspaceResolver; +//# sourceMappingURL=workspaceResolver.js.map \ No newline at end of file diff --git a/.vscode/extensions/ritwickdey.liveserver-5.6.1/package.json b/.vscode/extensions/ritwickdey.liveserver-5.6.1/package.json new file mode 100644 index 00000000..5c23a00b --- /dev/null +++ b/.vscode/extensions/ritwickdey.liveserver-5.6.1/package.json @@ -0,0 +1,361 @@ +{ + "name": "LiveServer", + "displayName": "Live Server", + "description": "Launch a development local Server with live reload feature for static & dynamic pages", + "version": "5.6.1", + "publisher": "ritwickdey", + "author": { + "name": "Ritwick Dey", + "email": "ritwickdey@outlook.com", + "url": "http://twitter.com/Dey_Ritwick" + }, + "engines": { + "vscode": "^1.20.0" + }, + "categories": [ + "Other" + ], + "keywords": [ + "html preview", + "live preview", + "live reload", + "svg preview", + "open in browser", + "multi-root ready" + ], + "preview": false, + "galleryBanner": { + "color": "#41205f", + "theme": "dark" + }, + "activationEvents": [ + "*" + ], + "main": "./out/src/extension", + "contributes": { + "commands": [ + { + "command": "extension.liveServer.goOffline", + "title": "Stop Live Server", + "category": "Live Server" + }, + { + "command": "extension.liveServer.goOnline", + "title": "Open with Live Server", + "category": "Live Server" + }, + { + "command": "extension.liveServer.changeWorkspace", + "title": "Change Live Server workspace", + "category": "Live Server" + } + ], + "keybindings": [ + { + "command": "extension.liveServer.goOffline", + "key": "alt+L alt+C", + "when": "editorTextFocus", + "mac": "cmd+L cmd+C" + }, + { + "command": "extension.liveServer.goOnline", + "key": "alt+L alt+O", + "when": "editorTextFocus", + "mac": "cmd+L cmd+O" + } + ], + "menus": { + "editor/context": [ + { + "command": "extension.liveServer.goOnline", + "group": "myGrp@liveServer", + "when": "resourceLangId == html" + }, + { + "command": "extension.liveServer.goOffline", + "group": "myGrp@liveServer", + "when": "resourceLangId == html" + }, + { + "command": "extension.liveServer.goOnline", + "group": "myGrp@liveServer", + "when": "resourceLangId == xml" + } + ], + "explorer/context": [ + { + "command": "extension.liveServer.goOnline", + "group": "navigation@-LiveServer", + "when": "resourceLangId == html" + }, + { + "command": "extension.liveServer.goOnline", + "group": "navigation@-LiveServer", + "when": "resourceLangId == xml" + } + ] + }, + "configuration": { + "title": "Live Server Config", + "properties": { + "liveServer.settings.port": { + "type": [ + "number" + ], + "default": 5500, + "minimum": 0, + "maximum": 65535, + "description": "Set Custom Port Number of Live Server. Set 0 if you want random port." + }, + "liveServer.settings.root": { + "type": [ + "string" + ], + "default": "/", + "pattern": "/|/[^\\/]", + "description": "Set Custom root of Live Server. \nTo change root the the server to sub folder of workspace, use '/' and relative path from workspace. \nExample: /subfolder1/subfolder2" + }, + "liveServer.settings.useBrowserPreview": { + "type": "boolean", + "default": false, + "description": "Open in Browser Preview inside VS Code, instead of default browser" + }, + "liveServer.settings.CustomBrowser": { + "type": [ + "string", + "null" + ], + "default": null, + "enum": [ + "chrome", + "chrome:PrivateMode", + "firefox", + "firefox:PrivateMode", + "microsoft-edge", + "blisk", + null + ], + "description": "Specify custom browser settings for Live Server. \nBy Default it will open your default favorite browser." + }, + "liveServer.settings.ChromeDebuggingAttachment": { + "type": [ + "boolean" + ], + "default": false, + "description": "Enable Chrome Debugging Attachment to Live Server at Debuging Port 9222.\n NOTE: You have to install 'Debugger for Chrome' \nIf the value is true, Select 'Attach to Chrome' from Debug Window to start debugging. \n\n CAUTION: If it is true, 'Launch Chrome against localhost' may not work." + }, + "liveServer.settings.AdvanceCustomBrowserCmdLine": { + "type": [ + "string", + "null" + ], + "default": null, + "description": "Note: If it is not Null, It will override CustomBrowser and ChromeDebuggingAttachment settings.\n\n Examples : \nchrome --incognito --headless --remote-debugging-port=9222 \n C:\\\\Program Files\\\\Firefox Developer Edition\\\\firefox.exe --private-window" + }, + "liveServer.settings.showOnStatusbar": { + "type": "boolean", + "default": true, + "description": "Change this to false if you don't want the button to show in the statusbar" + }, + "liveServer.settings.NoBrowser": { + "type": "boolean", + "default": false, + "description": "If it is true live server will start without browser opened." + }, + "liveServer.settings.ignoreFiles": { + "type": "array", + "default": [ + ".vscode/**", + "**/*.scss", + "**/*.sass", + "**/*.ts" + ], + "description": "To ignore specific file changes" + }, + "liveServer.settings.mount": { + "type": "array", + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "string" + } + }, + "default": [], + "description": "Mount a directory to a route. Such as [['/components', './node_modules']]" + }, + "liveServer.settings.donotShowInfoMsg": { + "type": "boolean", + "default": false, + "description": "To disable information pop up messages." + }, + "liveServer.settings.donotVerifyTags": { + "type": "boolean", + "default": false, + "description": "To turn off prompt warning message if body or head or other supporting tag is missing in your HTML." + }, + "liveServer.settings.host": { + "type": "string", + "default": "127.0.0.1", + "description": "To switch between localhost or 127.0.0.1 or anything else. Default is 127.0.0.1" + }, + "liveServer.settings.useLocalIp": { + "type": "boolean", + "default": false, + "description": "Use local IP as host" + }, + "liveServer.settings.proxy": { + "type": "object", + "default": { + "enable": false, + "baseUri": "/", + "proxyUri": "http://127.0.0.1:80" + }, + "properties": { + "enable": { + "type": "boolean", + "default": false, + "description": "Make it true to enable the feature." + }, + "baseUri": { + "type": "string", + "default": "/", + "pattern": "" + }, + "proxyUri": { + "type": "string", + "default": "http://127.0.0.1:80", + "pattern": "(^http[s]?://)(.[^(\\|\\s)]+)$" + } + }, + "required": [ + "enable", + "baseUri", + "proxyUri" + ], + "additionalProperties": false, + "description": "To Setup Proxy" + }, + "liveServer.settings.useWebExt": { + "type": "boolean", + "default": false, + "description": "You have to install a browser extension. That will be works for your dynamic pages (like PHP)." + }, + "liveServer.settings.wait": { + "type": "number", + "default": 100, + "description": "Delay before live reloading. Value in milliseconds. Default is 100" + }, + "liveServer.settings.fullReload": { + "type": "boolean", + "default": false, + "description": "By Default Live Server inject CSS changes without full reloading of browser. You can change this behviour by making this setting as `true`" + }, + "liveServer.settings.https": { + "type": "object", + "default": { + "enable": false, + "cert": "", + "key": "", + "passphrase": "" + }, + "properties": { + "enable": { + "type": "boolean", + "default": false, + "description": "Make it true to enable it." + }, + "cert": { + "type": "string", + "default": "", + "description": "Add full path certificate." + }, + "key": { + "type": "string", + "default": "", + "description": "Add full path key" + }, + "passphrase": { + "type": "string", + "default": "", + "description": "Add Pass Phrase." + } + }, + "required": [ + "enable", + "cert", + "key", + "passphrase" + ], + "additionalProperties": false, + "description": "Setup https configuration" + }, + "liveServer.settings.file": { + "type": "string", + "default": "", + "description": "When set, serve this file (server root relative) for every 404 (useful for single-page applications)" + }, + "liveServer.settings.multiRootWorkspaceName": { + "type": "string", + "default": null, + "description": "This the entry point of server when you're in multiroot workspace" + } + } + } + }, + "license": "MIT", + "icon": "images/icon.png", + "bugs": { + "url": "https://github.com/ritwickdey/vscode-live-server/issues", + "email": "ritwickdey@outlook.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/ritwickdey/vscode-live-server.git" + }, + "homepage": "https://ritwickdey.github.io/vscode-live-server/", + "scripts": { + "vscode:prepublish": "tsc -p ./", + "compile": "tsc -watch -p ./", + "postinstall": "node ./node_modules/vscode/bin/install", + "test": "node ./node_modules/vscode/bin/test", + "lint": "tslint --project .", + "precommit": "npm run lint", + "prepush": "npm run lint" + }, + "husky": { + "hooks": { + "pre-commit": "npm run precommit", + "pre-push": "npm run prepush" + } + }, + "devDependencies": { + "@types/mocha": "^2.2.48", + "@types/node": "^9.6.40", + "husky": "^1.2.1", + "mocha": "^5.0.4", + "tslint": "^5.11.0", + "typescript": "^2.7.2", + "vscode": "^1.1.26", + "webpack": "^4.30.0", + "webpack-cli": "^3.3.0" + }, + "dependencies": { + "http-shutdown": "^1.2.0", + "ips": "^2.1.3", + "live-server": "file:lib\\live-server", + "opn": "^5.4.0", + "vsls": "^0.3.967" + }, + "announcement": { + "onVersion": "5.6.1", + "message": "[NEW] LiveServer@5.6: BrowserPreview integration, auto fallback to random port & fixes." + }, + "__metadata": { + "id": "b63c44fd-0457-4696-99e9-dbfdf70d77de", + "publisherId": "17fd9a78-e430-4a78-add2-ade4a8830352", + "publisherDisplayName": "Ritwick Dey", + "installedTimestamp": 1627023607543 + } +} \ No newline at end of file diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/.vsixmanifest b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/.vsixmanifest new file mode 100644 index 00000000..9a1c97ac --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + GlassIt-VSC + VS Code Extension to set window to transparent on Windows and Linux platforms. + keybindings + Themes,Other + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + + + + + + + + + + + diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/CHANGELOG.md b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/CHANGELOG.md new file mode 100644 index 00000000..d02c0471 --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/CHANGELOG.md @@ -0,0 +1,42 @@ +# Change Log + +## [0.2.3] +- Add minimize, maximize command (#21) + +## [0.2.2] +- bugfix + +## [0.2.1] +- Merge pull request [#18](https://github.com/hikarin522/GlassIt-VSC/issues/18) + +## [0.2.0] +- Add Linux suport  + +## [0.1.6] +- fix: error log output encoding +- fix: powershell option execution policy +- fix: powershell option noProfile + +## [0.1.5] + +## [0.1.4] +- Fix to work only on windows + +## [0.1.3] +- update + +## [0.1.2] +- Fixed problem not working with PowerSell 2.0 + +## [0.1.1] +- Optimisation + +## [0.1.0] +- Changed not to use 'SetTransparency.exe' +- Delete 'glassit.path' from option + +## [0.0.2] +- Bug fixes + +## [0.0.1] +- Initial release diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/LICENSE.txt b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/LICENSE.txt new file mode 100644 index 00000000..dbd474f3 --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 hikarin522 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/README.md b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/README.md new file mode 100644 index 00000000..bffab591 --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/README.md @@ -0,0 +1,42 @@ +# GlassIt-VSC + +[![Version](https://vsmarketplacebadge.apphb.com/version/s-nlf-fh.glassit.svg)](https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit) +[![Installs](https://vsmarketplacebadge.apphb.com/installs/s-nlf-fh.glassit.svg)](https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit) +[![Ratings](https://vsmarketplacebadge.apphb.com/rating/s-nlf-fh.glassit.svg)](https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit) + +VS Code Extension to set window to transparent on Windows and Linux platforms. + +This extension is the VS Code version of [GlassIt](https://packagecontrol.io/packages/GlassIt) of Sublime Text plugin. + +## Features + +* With this extension, you can change the window transparency by key pressing. + +## Requirements + +### Windows + - Windows 7 or higher +### Linux + - Xorg display server + - [xprop](https://www.x.org/releases/X11R7.5/doc/man/man1/xprop.1.html) package. + +## Usage + +Change the transparency level by: +* Press "ctrl+alt+z" to increase the transparency, "ctrl+alt+c" to decrease. + +## Extension Settings + +* `glassit.alpha` (`integer`): Transparency level [1-255]. +* `glassit.step` (`integer`): Increment of alpha. + +## LINK + +* [https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit](https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit) +* [https://github.com/hikarin522/GlassIt-VSC](https://github.com/hikarin522/GlassIt-VSC) +* [https://packagecontrol.io/packages/GlassIt](https://packagecontrol.io/packages/GlassIt) +* [https://github.com/ivellioscolin/sublime-plugin-glassit](https://github.com/ivellioscolin/sublime-plugin-glassit) + +## Changelog + +See CHANGELOG.md diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/SetTransparency.cs b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/SetTransparency.cs new file mode 100644 index 00000000..5f3ff9f3 --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/SetTransparency.cs @@ -0,0 +1,98 @@ + +using System; +using System.Runtime.InteropServices; +using System.Diagnostics; + +using Windows; + +namespace GlassIt +{ + public static class SetTransParency + { + public static bool SetTransparency(int pid, byte alpha) + { + Process mainproc = Process.GetProcessById(pid); + foreach (Process proc in Process.GetProcessesByName(mainproc.ProcessName)) + { + if (proc.StartInfo.FileName != mainproc.StartInfo.FileName) + { + continue; + } + + IntPtr hMainWnd = proc.MainWindowHandle; + if (hMainWnd == IntPtr.Zero) + { + continue; + } + + uint tid = User32.GetWindowThreadProcessId(hMainWnd, out pid); + bool result = User32.EnumThreadWindows(tid, delegate(IntPtr hWnd, IntPtr lParam) { + if (!User32.IsWindowVisible(hWnd)) + { + return true; + } + + WS windowLong = User32.GetWindowLong(hWnd, GWL.EXSTYLE); + User32.SetWindowLong(hWnd, GWL.EXSTYLE, windowLong | WS.EX_LAYERED); + return User32.SetLayeredWindowAttributes(hWnd, 0, alpha, LWA.ALPHA); + }, IntPtr.Zero); + + if (!result) + { + return false; + } + } + + return true; + } + } +} + +namespace Windows +{ + internal static class User32 + { + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + public static extern bool EnumThreadWindows(uint dwThreadId, EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId); + + [DllImport("user32.dll")] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern WS GetWindowLong(IntPtr hWnd, GWL nIndex); + + [DllImport("user32.dll")] + public static extern int SetWindowLong(IntPtr hWnd, GWL nIndex, WS dwNewLong); + + [DllImport("user32.dll")] + public static extern bool SetLayeredWindowAttributes(IntPtr hWnd, uint crKey, byte bAlpha, LWA dwFlags); + } + + internal enum GWL: int + { + EXSTYLE = -20, + HINSTANCE = -6, + HWNDPARENT = -8, + ID = -12, + STYLE = -16, + USERDATA = -21, + WNDPROC = -4, + } + + [Flags] + internal enum WS: int + { + EX_LAYERED = 0x80000, + } + + internal enum LWA: int + { + COLORKEY = 1, + ALPHA = 2, + } +} diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/extension.js b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/extension.js new file mode 100644 index 00000000..5b2e77c7 --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/extension.js @@ -0,0 +1,126 @@ + +const { workspace, window, commands } = require('vscode'); +const shell = require('node-powershell'); + +function activate(context) { + if (process.platform == 'win32') { + const path = context.asAbsolutePath('./SetTransparency.cs'); + const ps = new shell({ + executionPolicy: 'RemoteSigned', + noProfile: true, + }); + context.subscriptions.push(ps); + ps.addCommand('[Console]::OutputEncoding = [Text.Encoding]::UTF8'); + ps.addCommand(`Add-Type -Path '${path}'`); + + function setAlpha(alpha) { + if (alpha < 1) { + alpha = 1; + } else if (alpha > 255) { + alpha = 255; + } + + ps.addCommand(`[GlassIt.SetTransParency]::SetTransParency(${process.pid}, ${alpha})`); + ps.invoke().then(res => { + console.log(res); + console.log(`GlassIt: set alpha ${alpha}`); + config().update('alpha', alpha, true); + }).catch(err => { + console.error(err); + window.showErrorMessage(`GlassIt Error: ${err}`); + }); + } + } else if (process.platform == 'linux'){ + + const cp = require('child_process'); + + // Checking the weather xprop has installed + try { + cp.spawnSync('which xprop').toString(); + } catch (error){ + console.error(`GlassIt Error: Please install xprop package to use GlassIt.`); + return; + } + + // Retrieving the process ids of VS code + const processIds = cp.execSync('pgrep \'code\'').toString().split('\n'); + processIds.pop(); + + // Retrieving all window ids + const allWindowIdsOutput = cp.execSync( + `xprop -root | grep '_NET_CLIENT_LIST(WINDOW)'` + ).toString(); + + const allWindowIds = allWindowIdsOutput.match(/0x[\da-f]+/ig); + + const codeWindowIds = []; + + for(const windowId of allWindowIds){ + + // Checking the weather the window has a associated process + const hasProcessId = cp.execSync(`xprop -id ${windowId} _NET_WM_PID`).toString(); + + if(!(hasProcessId.search('not found')+1)){ + // Extract process id from the result + const winProcessId = hasProcessId.replace(/([a-zA-Z_\(\)\s\=])/g,''); + if(processIds.includes(winProcessId)){ + codeWindowIds.push(windowId); + } + } + } + + function setAlpha(alpha){ + if (alpha < 1) { + alpha = 1; + } else if (alpha > 255) { + alpha = 255; + } + + for(const codeWindowId of codeWindowIds){ + cp.exec(`xprop -id ${codeWindowId} -f _NET_WM_WINDOW_OPACITY 32c -set _NET_WM_WINDOW_OPACITY $(printf 0x%x $((0xffffffff * ${alpha} / 255)))`, function(error,stdout, stderr){ + if (error) { + console.error(`GlassIt error: ${error}`); + return; + } + + console.log(stdout.toString()); + console.log(`GlassIt: set alpha ${alpha}`); + config().update('alpha', alpha, true); + }); + } + } + } else { + return; + } + + console.log('Congratulations, your extension "GlassIt VSC" is now active!'); + + const config = () => workspace.getConfiguration('glassit'); + + + context.subscriptions.push(commands.registerCommand('glassit.increase', () => { + const alpha = config().get('alpha') - config().get('step'); + setAlpha(alpha); + })); + + context.subscriptions.push(commands.registerCommand('glassit.decrease', () => { + const alpha = config().get('alpha') + config().get('step'); + setAlpha(alpha); + })); + + context.subscriptions.push(commands.registerCommand('glassit.maximize', () => { + setAlpha(1); + })); + + context.subscriptions.push(commands.registerCommand('glassit.minimize', () => { + setAlpha(255); + })); + + const alpha = config().get('alpha'); + setAlpha(alpha); +} +exports.activate = activate; + +function deactivate() { +} +exports.deactivate = deactivate; diff --git a/.vscode/extensions/s-nlf-fh.glassit-0.2.3/package.json b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/package.json new file mode 100644 index 00000000..f4e11b06 --- /dev/null +++ b/.vscode/extensions/s-nlf-fh.glassit-0.2.3/package.json @@ -0,0 +1,107 @@ +{ + "name": "glassit", + "displayName": "GlassIt-VSC", + "description": "VS Code Extension to set window to transparent on Windows and Linux platforms.", + "version": "0.2.3", + "publisher": "s-nlf-fh", + "license": "MIT", + "engines": { + "vscode": "^1.40.0" + }, + "extensionKind": [ + "ui" + ], + "categories": [ + "Themes", + "Other" + ], + "repository": { + "type": "git", + "url": "https://github.com/hikarin522/GlassIt-VSC.git" + }, + "badges": [ + { + "url": "https://vsmarketplacebadge.apphb.com/version/s-nlf-fh.glassit.svg", + "description": "Latest Version", + "href": "https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit" + }, + { + "url": "https://vsmarketplacebadge.apphb.com/installs/s-nlf-fh.glassit.svg", + "description": "Total Downloads", + "href": "https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit" + }, + { + "url": "https://vsmarketplacebadge.apphb.com/rating/s-nlf-fh.glassit.svg", + "description": "Ratings", + "href": "https://marketplace.visualstudio.com/items?itemName=s-nlf-fh.glassit" + } + ], + "bugs": { + "url": "https://github.com/hikarin522/GlassIt-VSC/issues", + "email": "hikarin522@outlook.jp" + }, + "activationEvents": [ + "*" + ], + "main": "./extension", + "contributes": { + "configuration": { + "title": "GlassIt VSC configuration", + "properties": { + "glassit.alpha": { + "type": "integer", + "default": 220, + "description": "Transparency level [1-255]" + }, + "glassit.step": { + "type": "integer", + "default": 5, + "description": "Increment of alpha" + } + } + }, + "commands": [ + { + "command": "glassit.increase", + "title": "GlassIt: Increase the transparency" + }, + { + "command": "glassit.decrease", + "title": "GlassIt: Decrease the transparency" + }, + { + "command": "glassit.maximize", + "title": "GlassIt: Maximize the transparency" + }, + { + "command": "glassit.minimize", + "title": "GlassIt: Minimize the transparency" + } + ], + "keybindings": [ + { + "command": "glassit.increase", + "key": "ctrl+alt+z" + }, + { + "command": "glassit.decrease", + "key": "ctrl+alt+c" + }, + { + "command": "glassit.minimize", + "key": "ctrl+alt+x" + } + ] + }, + "scripts": {}, + "devDependencies": {}, + "dependencies": { + "node-powershell": "^4.0.0" + }, + "__metadata": { + "id": "7f4f553c-204c-42fe-9b4d-7a3f11f7335b", + "publisherId": "f39c25eb-2c51-4821-97b3-8718f85c8e5f", + "publisherDisplayName": "hikarin522", + "installedTimestamp": 1630901124378 + } +} \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.eslintignore b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.eslintignore new file mode 100644 index 00000000..8b69d26b --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.eslintignore @@ -0,0 +1,15 @@ +## extensions +*.* +!*.js +# !*.json ← todo integreate with https://www.npmjs.com/package/eslint-plugin-json +# !*.ts ← todo integrate with https://github.com/typescript-eslint/typescript-eslint + + +## same as in .gitignore +.vscode-test +*.vsix +node_modules +out + + +## special cases diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.prettierignore b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.prettierignore new file mode 100644 index 00000000..a6d6995d --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.prettierignore @@ -0,0 +1,16 @@ +## extensions +*.* +!*.js +!*.json +!*.md +!*.ts + + +## same as in .gitignore +.vscode-test +*.vsix +node_modules +out + + +## special cases diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.vsixmanifest b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.vsixmanifest new file mode 100644 index 00000000..1ea625f6 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + Markdown Preview Enhanced + Markdown Preview Enhanced ported to vscode + markdown,keybindings + Other + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.md + + + + + + + + + + + diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/CHANGELOG.md b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/CHANGELOG.md new file mode 100644 index 00000000..bca99505 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/CHANGELOG.md @@ -0,0 +1 @@ +Please go check the [project releases page](https://github.com/shd101wyy/vscode-markdown-preview-enhanced). diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/LICENSE.md b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/LICENSE.md new file mode 100644 index 00000000..d3847d2d --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/LICENSE.md @@ -0,0 +1,17 @@ +University of Illinois/NCSA +Open Source License + +``` +Copyright (c) 2017 Yiyi Wang +All rights reserved. + +Developed by: Yiyi Wang and many other contributors + https://github.com/shd101wyy/markdown-preview-enhanced +``` + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. +Neither the names of Yiyi Wang, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/README.md b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/README.md new file mode 100644 index 00000000..c3b364ea --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/README.md @@ -0,0 +1,80 @@ +

Markdown Preview Enhanced

+ +![intro](https://user-images.githubusercontent.com/1908863/28495106-30b3b15e-6f09-11e7-8eb6-ca4ca001ab15.png) + +

+ English    + 简体中文    + 正體中文    + 日本語   
+

+ +

+atom +& +vscode +
+
+ Become VSCode Power User +

+ +If you are interested, please try out our new prototype web app: [0xGG/crossnote](https://github.com/0xGG/crossnote) + +## Supporting this project + +Markdown Preview Enhanced is an open source project released under the [University of Illinois/NCSA Open Source License](https://github.com/shd101wyy/vscode-markdown-preview-enhanced/blob/HEAD/LICENSE.md). Its ongoing development is made possible thanks to the support by these awesome [backers](https://shd101wyy.github.io/markdown-preview-enhanced/#/backers). You can help make this project better by [supporting us on GitHub Sponsors](https://github.com/sponsors/shd101wyy), [PayPal](https://shd101wyy.github.io/markdown-preview-enhanced/#/paypal), or [微信支付 Wechat Pay](https://shd101wyy.github.io/markdown-preview-enhanced/#/wechat). Thank you! + +## Sponsors + +


+Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.
Learn More

+ +
+ + +
+ +These [GitHub Sponsors](https://github.com/sponsors/shd101wyy#sponsors) and [Backers](https://shd101wyy.github.io/markdown-preview-enhanced/#/backers) help push this project forward 🎉. + +## Introduction + +Markdown Preview Enhanced is an extension that provides you with many useful functionalities such as automatic scroll sync, [math typesetting](https://shd101wyy.github.io/markdown-preview-enhanced/#/math), [mermaid](https://shd101wyy.github.io/markdown-preview-enhanced/#/diagrams?id=mermaid), [PlantUML](https://shd101wyy.github.io/markdown-preview-enhanced/#/diagrams?id=plantuml), [pandoc](https://shd101wyy.github.io/markdown-preview-enhanced/#/pandoc), PDF export, [code chunk](https://shd101wyy.github.io/markdown-preview-enhanced/#/code-chunk), [presentation writer](https://rawgit.com/shd101wyy/markdown-preview-enhanced/master/docs/presentation-intro.html), etc. A lot of its ideas are inspired by [Markdown Preview Plus](https://github.com/atom-community/markdown-preview-plus) and [RStudio Markdown](http://rmarkdown.rstudio.com/). + +Feel free to ask questions, post issues, submit pull request, and request new features. + +For more information about this project and how to use this extension, please check out our documentation ⬇︎ + +## Documentation + +To check out the documentation, visit + +- [English](https://shd101wyy.github.io/markdown-preview-enhanced/#/) +- [简体中文](https://shd101wyy.github.io/markdown-preview-enhanced/#/zh-cn/) +- [正體中文](https://shd101wyy.github.io/markdown-preview-enhanced/#/zh-tw/) +- [日本語](https://shd101wyy.github.io/markdown-preview-enhanced/#/ja-jp/) + +Contact me if you are willing to help translate the documentation :) + +## Keybindings + +> The cmd key for _Windows_ is ctrl. + +| Shortcuts | Functionality | +| ------------------------------------------------- | -------------------------- | +| cmd-k v or ctrl-k v | Open preview to the Side | +| cmd-shift-v or ctrl-shift-v | Open preview | +| ctrl-shift-s | Sync preview / Sync source | +| shift-enter | Run Code Chunk | +| ctrl-shift-enter | Run all Code Chunks | +| cmd-= or cmd-shift-= | Preview zoom in | +| cmd-- or cmd-shift-\_ | Preview zoom out | +| cmd-0 | Preview reset zoom | +| esc | Toggle sidebar TOC | + +## Changelog + +Please check the [Releases](https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases) page of this project. + +## License + +[University of Illinois/NCSA Open Source License](https://github.com/shd101wyy/vscode-markdown-preview-enhanced/blob/HEAD/LICENSE.md) diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/PreviewOnRightPane_16x.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/PreviewOnRightPane_16x.svg new file mode 100644 index 00000000..eefaadfc --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/PreviewOnRightPane_16x.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/PreviewOnRightPane_16x_dark.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/PreviewOnRightPane_16x_dark.svg new file mode 100644 index 00000000..c18634bb --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/PreviewOnRightPane_16x_dark.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-dark.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-dark.svg new file mode 100644 index 00000000..c0b7495d --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-dark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-light.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-light.svg new file mode 100644 index 00000000..9f961c61 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-light.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-right-dark.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-right-dark.svg new file mode 100644 index 00000000..efb8c1cd --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-right-dark.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-right-light.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-right-light.svg new file mode 100644 index 00000000..d1cd95f2 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview-right-light.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview.svg b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview.svg new file mode 100644 index 00000000..57356eaf --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/media/preview.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/config.js b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/config.js new file mode 100644 index 00000000..08446cab --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/config.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MarkdownPreviewEnhancedConfig = void 0; +const vscode = require("vscode"); +class MarkdownPreviewEnhancedConfig { + constructor() { + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + this.configPath = (config.get("configPath") || "").trim(); + this.usePandocParser = config.get("usePandocParser"); + this.breakOnSingleNewLine = config.get("breakOnSingleNewLine"); + this.enableTypographer = config.get("enableTypographer"); + this.enableWikiLinkSyntax = config.get("enableWikiLinkSyntax"); + this.enableLinkify = config.get("enableLinkify"); + this.useGitHubStylePipedLink = config.get("useGitHubStylePipedLink"); + this.wikiLinkFileExtension = config.get("wikiLinkFileExtension"); + this.enableEmojiSyntax = config.get("enableEmojiSyntax"); + this.enableExtendedTableSyntax = config.get("enableExtendedTableSyntax"); + this.enableCriticMarkupSyntax = config.get("enableCriticMarkupSyntax"); + this.frontMatterRenderingOption = config.get("frontMatterRenderingOption"); + this.mermaidTheme = config.get("mermaidTheme"); + this.mathRenderingOption = config.get("mathRenderingOption"); + this.mathInlineDelimiters = config.get("mathInlineDelimiters"); + this.mathBlockDelimiters = config.get("mathBlockDelimiters"); + this.mathRenderingOnlineService = config.get("mathRenderingOnlineService"); + this.codeBlockTheme = config.get("codeBlockTheme"); + this.previewTheme = config.get("previewTheme"); + this.revealjsTheme = config.get("revealjsTheme"); + this.protocolsWhiteList = config.get("protocolsWhiteList"); + this.imageFolderPath = config.get("imageFolderPath"); + this.imageUploader = config.get("imageUploader"); + this.printBackground = config.get("printBackground"); + this.chromePath = config.get("chromePath"); + this.imageMagickPath = config.get("imageMagickPath"); + this.pandocPath = config.get("pandocPath"); + this.pandocMarkdownFlavor = config.get("pandocMarkdownFlavor"); + this.pandocArguments = config.get("pandocArguments"); + this.latexEngine = config.get("latexEngine"); + this.enableScriptExecution = config.get("enableScriptExecution"); + this.scrollSync = config.get("scrollSync"); + this.liveUpdate = config.get("liveUpdate"); + this.singlePreview = config.get("singlePreview"); + this.automaticallyShowPreviewOfMarkdownBeingEdited = config.get("automaticallyShowPreviewOfMarkdownBeingEdited"); + this.enableHTML5Embed = config.get("enableHTML5Embed"); + this.HTML5EmbedUseImageSyntax = config.get("HTML5EmbedUseImageSyntax"); + this.HTML5EmbedUseLinkSyntax = config.get("HTML5EmbedUseLinkSyntax"); + this.HTML5EmbedIsAllowedHttp = config.get("HTML5EmbedIsAllowedHttp"); + this.HTML5EmbedAudioAttributes = config.get("HTML5EmbedAudioAttributes"); + this.HTML5EmbedVideoAttributes = config.get("HTML5EmbedVideoAttributes"); + this.puppeteerWaitForTimeout = config.get("puppeteerWaitForTimeout"); + this.usePuppeteerCore = config.get("usePuppeteerCore"); + this.puppeteerArgs = config.get("puppeteerArgs"); + this.plantumlServer = config.get("plantumlServer"); + } + static getCurrentConfig() { + return new MarkdownPreviewEnhancedConfig(); + } + isEqualTo(otherConfig) { + const json1 = JSON.stringify(this); + const json2 = JSON.stringify(otherConfig); + return json1 === json2; + } +} +exports.MarkdownPreviewEnhancedConfig = MarkdownPreviewEnhancedConfig; +//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/extension.js b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/extension.js new file mode 100644 index 00000000..0f9493bc --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/extension.js @@ -0,0 +1,514 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deactivate = exports.getBottomVisibleLine = exports.getTopVisibleLine = exports.activate = void 0; +// The module 'vscode' contains the VS Code extensibility API +// Import the module and reference it with the alias vscode in your code below +const mume_1 = require("@shd101wyy/mume"); +const path = require("path"); +const vscode = require("vscode"); +const image_helper_1 = require("./image-helper"); +const preview_content_provider_1 = require("./preview-content-provider"); +let editorScrollDelay = Date.now(); +// this method is called when your extension iopenTextDocuments activated +// your extension is activated the very first time the command is executed +function activate(context) { + // assume only one preview supported. + const contentProvider = new preview_content_provider_1.MarkdownPreviewEnhancedView(context); + function openPreviewToTheSide(uri) { + let resource = uri; + if (!(resource instanceof vscode.Uri)) { + if (vscode.window.activeTextEditor) { + // we are relaxed and don't check for markdown files + resource = vscode.window.activeTextEditor.document.uri; + } + } + contentProvider.initPreview(resource, vscode.window.activeTextEditor, { + viewColumn: vscode.ViewColumn.Two, + preserveFocus: true, + }); + } + function openPreview(uri) { + let resource = uri; + if (!(resource instanceof vscode.Uri)) { + if (vscode.window.activeTextEditor) { + // we are relaxed and don't check for markdown files + resource = vscode.window.activeTextEditor.document.uri; + } + } + contentProvider.initPreview(resource, vscode.window.activeTextEditor, { + viewColumn: vscode.ViewColumn.One, + preserveFocus: false, + }); + } + function toggleScrollSync() { + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + const scrollSync = !config.get("scrollSync"); + config.update("scrollSync", scrollSync, true).then(() => { + contentProvider.updateConfiguration(); + if (scrollSync) { + vscode.window.showInformationMessage("Scroll Sync is enabled"); + } + else { + vscode.window.showInformationMessage("Scroll Sync is disabled"); + } + }); + } + function toggleLiveUpdate() { + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + const liveUpdate = !config.get("liveUpdate"); + config.update("liveUpdate", liveUpdate, true).then(() => { + contentProvider.updateConfiguration(); + if (liveUpdate) { + vscode.window.showInformationMessage("Live Update is enabled"); + } + else { + vscode.window.showInformationMessage("Live Update is disabled"); + } + }); + } + function toggleBreakOnSingleNewLine() { + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + const breakOnSingleNewLine = !config.get("breakOnSingleNewLine"); + config + .update("breakOnSingleNewLine", breakOnSingleNewLine, true) + .then(() => { + contentProvider.updateConfiguration(); + if (breakOnSingleNewLine) { + vscode.window.showInformationMessage("Break On Single New Line is enabled"); + } + else { + vscode.window.showInformationMessage("Break On Single New Line is disabled"); + } + }); + } + function customizeCSS() { + const globalStyleLessFile = mume_1.utility.addFileProtocol(path.resolve(mume_1.getExtensionConfigPath(), "./style.less")); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(globalStyleLessFile)); + } + function openMermaidConfig() { + const mermaidConfigFilePath = mume_1.utility.addFileProtocol(path.resolve(mume_1.getExtensionConfigPath(), "./mermaid_config.js")); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(mermaidConfigFilePath)); + } + function openMathJaxConfig() { + const mathjaxConfigFilePath = mume_1.utility.addFileProtocol(path.resolve(mume_1.getExtensionConfigPath(), "./mathjax_config.js")); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(mathjaxConfigFilePath)); + } + function openKaTeXConfig() { + const katexConfigFilePath = mume_1.utility.addFileProtocol(path.resolve(mume_1.getExtensionConfigPath(), "./katex_config.js")); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(katexConfigFilePath)); + } + function extendParser() { + const parserConfigPath = mume_1.utility.addFileProtocol(path.resolve(mume_1.getExtensionConfigPath(), "./parser.js")); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(parserConfigPath)); + } + function showUploadedImages() { + const imageHistoryFilePath = mume_1.utility.addFileProtocol(path.resolve(mume_1.getExtensionConfigPath(), "./image_history.md")); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(imageHistoryFilePath)); + } + function insertNewSlide() { + const editor = vscode.window.activeTextEditor; + if (editor && editor.document && editor.edit) { + editor.edit((textEdit) => { + textEdit.insert(editor.selection.active, "\n"); + }); + } + } + function insertPagebreak() { + const editor = vscode.window.activeTextEditor; + if (editor && editor.document && editor.edit) { + editor.edit((textEdit) => { + textEdit.insert(editor.selection.active, "\n"); + }); + } + } + function createTOC() { + const editor = vscode.window.activeTextEditor; + if (editor && editor.document && editor.edit) { + editor.edit((textEdit) => { + textEdit.insert(editor.selection.active, '\n\n'); + }); + } + } + function insertTable() { + const editor = vscode.window.activeTextEditor; + if (editor && editor.document && editor.edit) { + editor.edit((textEdit) => { + textEdit.insert(editor.selection.active, `| | | +|---|---| +| | | +`); + }); + } + } + function openImageHelper() { + contentProvider.openImageHelper(vscode.window.activeTextEditor.document.uri); + } + function webviewFinishLoading(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.updateMarkdown(sourceUri); + } + /** + * Insert imageUrl to markdown file + * @param uri: markdown source uri + * @param imageUrl: url of image to be inserted + */ + function insertImageUrl(uri, imageUrl) { + const sourceUri = vscode.Uri.parse(uri); + vscode.window.visibleTextEditors + .filter((editor) => preview_content_provider_1.isMarkdownFile(editor.document) && + editor.document.uri.fsPath === sourceUri.fsPath) + .forEach((editor) => { + // const line = editor.selection.active.line + editor.edit((textEditorEdit) => { + textEditorEdit.insert(editor.selection.active, `![enter image description here](${imageUrl})`); + }); + }); + } + function refreshPreview(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.refreshPreview(sourceUri); + } + function openInBrowser(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.openInBrowser(sourceUri); + } + function htmlExport(uri, offline) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.htmlExport(sourceUri, offline); + } + function chromeExport(uri, type) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.chromeExport(sourceUri, type); + } + function princeExport(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.princeExport(sourceUri); + } + function eBookExport(uri, fileType) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.eBookExport(sourceUri, fileType); + } + function pandocExport(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.pandocExport(sourceUri); + } + function markdownExport(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.markdownExport(sourceUri); + } + /* + function cacheSVG(uri, code, svg) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.cacheSVG(sourceUri, code, svg) + } + */ + function cacheCodeChunkResult(uri, id, result) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.cacheCodeChunkResult(sourceUri, id, result); + } + function runCodeChunk(uri, codeChunkId) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.runCodeChunk(sourceUri, codeChunkId); + } + function runAllCodeChunks(uri) { + const sourceUri = vscode.Uri.parse(uri); + contentProvider.runAllCodeChunks(sourceUri); + } + function runAllCodeChunksCommand() { + const textEditor = vscode.window.activeTextEditor; + if (!textEditor.document) { + return; + } + if (!preview_content_provider_1.isMarkdownFile(textEditor.document)) { + return; + } + const sourceUri = textEditor.document.uri; + const previewUri = preview_content_provider_1.getPreviewUri(sourceUri); + if (!previewUri) { + return; + } + contentProvider.previewPostMessage(sourceUri, { + command: "runAllCodeChunks", + }); + } + function runCodeChunkCommand() { + const textEditor = vscode.window.activeTextEditor; + if (!textEditor.document) { + return; + } + if (!preview_content_provider_1.isMarkdownFile(textEditor.document)) { + return; + } + const sourceUri = textEditor.document.uri; + const previewUri = preview_content_provider_1.getPreviewUri(sourceUri); + if (!previewUri) { + return; + } + contentProvider.previewPostMessage(sourceUri, { + command: "runCodeChunk", + }); + } + function syncPreview() { + const textEditor = vscode.window.activeTextEditor; + if (!textEditor.document) { + return; + } + if (!preview_content_provider_1.isMarkdownFile(textEditor.document)) { + return; + } + const sourceUri = textEditor.document.uri; + contentProvider.previewPostMessage(sourceUri, { + command: "changeTextEditorSelection", + line: textEditor.selections[0].active.line, + forced: true, + }); + } + function clickTagA(uri, href) { + href = decodeURIComponent(href); + href = href + .replace(/^vscode\-resource:\/\//, "") + .replace(/^vscode\-webview\-resource:\/\/(.+?)\//, "") + .replace(/^file\/\/\//, "file:///") + .replace(/^https?:\/\/(.+?)\.vscode-webview-test.com\/vscode-resource\/file\/+/, "file:///") + .replace(/^https?:\/\/file(.+?)\.vscode-webview\.net\/+/, "file:///"); + if ([".pdf", ".xls", ".xlsx", ".doc", ".ppt", ".docx", ".pptx"].indexOf(path.extname(href)) >= 0) { + mume_1.utility.openFile(href); + } + else if (href.match(/^file:\/\/\//)) { + // openFilePath = href.slice(8) # remove protocol + let openFilePath = mume_1.utility.addFileProtocol(href.replace(/(\s*)[\#\?](.+)$/, "")); // remove #anchor and ?params... + openFilePath = decodeURI(openFilePath); + vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(openFilePath), vscode.ViewColumn.One); + } + else { + mume_1.utility.openFile(href); + } + } + function clickTaskListCheckbox(uri, dataLine) { + const sourceUri = vscode.Uri.parse(uri); + const visibleTextEditors = vscode.window.visibleTextEditors; + for (let i = 0; i < visibleTextEditors.length; i++) { + const editor = visibleTextEditors[i]; + if (editor.document.uri.fsPath === sourceUri.fsPath) { + dataLine = parseInt(dataLine, 10); + editor.edit((edit) => { + let line = editor.document.lineAt(dataLine).text; + if (line.match(/\[ \]/)) { + line = line.replace("[ ]", "[x]"); + } + else { + line = line.replace(/\[[xX]\]/, "[ ]"); + } + edit.replace(new vscode.Range(new vscode.Position(dataLine, 0), new vscode.Position(dataLine, line.length)), line); + }); + break; + } + } + } + function setPreviewTheme(uri, theme) { + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + config.update("previewTheme", theme, true); + } + context.subscriptions.push(vscode.workspace.onDidSaveTextDocument((document) => { + if (preview_content_provider_1.isMarkdownFile(document)) { + contentProvider.updateMarkdown(document.uri, true); + } + })); + context.subscriptions.push(vscode.workspace.onDidChangeTextDocument((event) => { + if (preview_content_provider_1.isMarkdownFile(event.document)) { + contentProvider.update(event.document.uri); + } + })); + context.subscriptions.push(vscode.workspace.onDidChangeConfiguration(() => { + contentProvider.updateConfiguration(); + })); + context.subscriptions.push(vscode.window.onDidChangeTextEditorSelection((event) => { + if (preview_content_provider_1.isMarkdownFile(event.textEditor.document)) { + const firstVisibleScreenRow = getTopVisibleLine(event.textEditor); + const lastVisibleScreenRow = getBottomVisibleLine(event.textEditor); + const topRatio = (event.selections[0].active.line - firstVisibleScreenRow) / + (lastVisibleScreenRow - firstVisibleScreenRow); + contentProvider.previewPostMessage(event.textEditor.document.uri, { + command: "changeTextEditorSelection", + line: event.selections[0].active.line, + topRatio, + }); + } + })); + context.subscriptions.push(vscode.window.onDidChangeTextEditorVisibleRanges((event) => { + const textEditor = event.textEditor; + if (Date.now() < editorScrollDelay) { + return; + } + if (preview_content_provider_1.isMarkdownFile(textEditor.document)) { + const sourceUri = textEditor.document.uri; + if (!event.textEditor.visibleRanges.length) { + return undefined; + } + else { + const topLine = getTopVisibleLine(textEditor); + const bottomLine = getBottomVisibleLine(textEditor); + let midLine; + if (topLine === 0) { + midLine = 0; + } + else if (Math.floor(bottomLine) === + textEditor.document.lineCount - 1) { + midLine = bottomLine; + } + else { + midLine = Math.floor((topLine + bottomLine) / 2); + } + contentProvider.previewPostMessage(sourceUri, { + command: "changeTextEditorSelection", + line: midLine, + }); + } + } + })); + /** + * Open preview automatically if the `automaticallyShowPreviewOfMarkdownBeingEdited` is on. + * @param textEditor + */ + context.subscriptions.push(vscode.window.onDidChangeActiveTextEditor((textEditor) => { + if (textEditor && textEditor.document && textEditor.document.uri) { + if (preview_content_provider_1.isMarkdownFile(textEditor.document)) { + const sourceUri = textEditor.document.uri; + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + const automaticallyShowPreviewOfMarkdownBeingEdited = config.get("automaticallyShowPreviewOfMarkdownBeingEdited"); + const isUsingSinglePreview = config.get("singlePreview"); + /** + * Is using single preview and the preview is on. + * When we switched text ed()tor, update preview to that text editor. + */ + if (contentProvider.isPreviewOn(sourceUri)) { + if (isUsingSinglePreview && + !contentProvider.previewHasTheSameSingleSourceUri(sourceUri)) { + contentProvider.initPreview(sourceUri, textEditor, { + viewColumn: contentProvider.getPreview(sourceUri).viewColumn, + preserveFocus: true, + }); + } + else if (!isUsingSinglePreview) { + const previewPanel = contentProvider.getPreview(sourceUri); + if (previewPanel) { + previewPanel.reveal(vscode.ViewColumn.Two, true); + } + } + } + else if (automaticallyShowPreviewOfMarkdownBeingEdited) { + openPreviewToTheSide(sourceUri); + } + } + } + })); + /* + context.subscriptions.push(vscode.workspace.onDidOpenTextDocument((textDocument)=> { + // console.log('onDidOpenTextDocument', textDocument.uri) + })) + */ + /* + context.subscriptions.push(vscode.window.onDidChangeVisibleTextEditors(textEditors=> { + // console.log('onDidChangeonDidChangeVisibleTextEditors ', textEditors) + })) + */ + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.openPreviewToTheSide", openPreviewToTheSide)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.openPreview", openPreview)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.toggleScrollSync", toggleScrollSync)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.toggleLiveUpdate", toggleLiveUpdate)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.toggleBreakOnSingleNewLine", toggleBreakOnSingleNewLine)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.openImageHelper", openImageHelper)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.runAllCodeChunks", runAllCodeChunksCommand)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.runCodeChunk", runCodeChunkCommand)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.syncPreview", syncPreview)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.customizeCss", customizeCSS)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.openMermaidConfig", openMermaidConfig)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.openMathJaxConfig", openMathJaxConfig)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.openKaTeXConfig", openKaTeXConfig)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.extendParser", extendParser)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.showUploadedImages", showUploadedImages)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.insertNewSlide", insertNewSlide)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.insertTable", insertTable)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.insertPagebreak", insertPagebreak)); + context.subscriptions.push(vscode.commands.registerCommand("markdown-preview-enhanced.createTOC", createTOC)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.revealLine", revealLine)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.insertImageUrl", insertImageUrl)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.pasteImageFile", image_helper_1.pasteImageFile)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.uploadImageFile", image_helper_1.uploadImageFile)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.refreshPreview", refreshPreview)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.openInBrowser", openInBrowser)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.htmlExport", htmlExport)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.chromeExport", chromeExport)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.princeExport", princeExport)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.eBookExport", eBookExport)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.pandocExport", pandocExport)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.markdownExport", markdownExport)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.webviewFinishLoading", webviewFinishLoading)); + // context.subscriptions.push(vscode.commands.registerCommand('_mume.cacheSVG', cacheSVG)) + context.subscriptions.push(vscode.commands.registerCommand("_mume.cacheCodeChunkResult", cacheCodeChunkResult)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.runCodeChunk", runCodeChunk)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.runAllCodeChunks", runAllCodeChunks)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.clickTagA", clickTagA)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.clickTaskListCheckbox", clickTaskListCheckbox)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.showUploadedImageHistory", showUploadedImages)); + context.subscriptions.push(vscode.commands.registerCommand("_mume.setPreviewTheme", setPreviewTheme)); +} +exports.activate = activate; +function revealLine(uri, line) { + const sourceUri = vscode.Uri.parse(uri); + vscode.window.visibleTextEditors + .filter((editor) => preview_content_provider_1.isMarkdownFile(editor.document) && + editor.document.uri.fsPath === sourceUri.fsPath) + .forEach((editor) => { + const sourceLine = Math.min(Math.floor(line), editor.document.lineCount - 1); + const fraction = line - sourceLine; + const text = editor.document.lineAt(sourceLine).text; + const start = Math.floor(fraction * text.length); + editorScrollDelay = Date.now() + 500; + editor.revealRange(new vscode.Range(sourceLine, start, sourceLine + 1, 0), vscode.TextEditorRevealType.InCenter); + editorScrollDelay = Date.now() + 500; + }); +} +/** + * Get the top-most visible range of `editor`. + * + * Returns a fractional line number based the visible character within the line. + * Floor to get real line number + */ +function getTopVisibleLine(editor) { + if (!editor["visibleRanges"].length) { + return undefined; + } + const firstVisiblePosition = editor["visibleRanges"][0].start; + const lineNumber = firstVisiblePosition.line; + const line = editor.document.lineAt(lineNumber); + const progress = firstVisiblePosition.character / (line.text.length + 2); + return lineNumber + progress; +} +exports.getTopVisibleLine = getTopVisibleLine; +/** + * Get the bottom-most visible range of `editor`. + * + * Returns a fractional line number based the visible character within the line. + * Floor to get real line number + */ +function getBottomVisibleLine(editor) { + if (!editor["visibleRanges"].length) { + return undefined; + } + const firstVisiblePosition = editor["visibleRanges"][0].end; + const lineNumber = firstVisiblePosition.line; + let text = ""; + if (lineNumber < editor.document.lineCount) { + text = editor.document.lineAt(lineNumber).text; + } + const progress = firstVisiblePosition.character / (text.length + 2); + return lineNumber + progress; +} +exports.getBottomVisibleLine = getBottomVisibleLine; +// this method is called when your extension is deactivated +function deactivate() { + // +} +exports.deactivate = deactivate; +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/image-helper.js b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/image-helper.js new file mode 100644 index 00000000..5c8434e1 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/image-helper.js @@ -0,0 +1,157 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.uploadImageFile = exports.pasteImageFile = void 0; +const mume_1 = require("@shd101wyy/mume"); +const fs = require("fs"); +const path = require("path"); +const vscode = require("vscode"); +const preview_content_provider_1 = require("./preview-content-provider"); +/** + * Copy ans paste image at imageFilePath to config.imageForlderPath. + * Then insert markdown image url to markdown file. + * @param uri + * @param imageFilePath + */ +function pasteImageFile(sourceUri, imageFilePath) { + if (typeof sourceUri === "string") { + sourceUri = vscode.Uri.parse(sourceUri); + } + const imageFolderPath = vscode.workspace + .getConfiguration("markdown-preview-enhanced") + .get("imageFolderPath"); + let imageFileName = path.basename(imageFilePath); + const projectDirectoryPath = vscode.workspace.rootPath; + let assetDirectoryPath; + let description; + if (imageFolderPath[0] === "/") { + assetDirectoryPath = path.resolve(projectDirectoryPath, "." + imageFolderPath); + } + else { + assetDirectoryPath = path.resolve(path.dirname(sourceUri.fsPath), imageFolderPath); + } + const destPath = path.resolve(assetDirectoryPath, path.basename(imageFilePath)); + vscode.window.visibleTextEditors + .filter((editor) => preview_content_provider_1.isMarkdownFile(editor.document) && + editor.document.uri.fsPath === sourceUri.fsPath) + .forEach((editor) => { + fs.mkdir(assetDirectoryPath, (error) => { + fs.stat(destPath, (err, stat) => { + if (err == null) { + // file existed + const lastDotOffset = imageFileName.lastIndexOf("."); + const uid = "_" + + Math.random() + .toString(36) + .substr(2, 9); + if (lastDotOffset > 0) { + description = imageFileName.slice(0, lastDotOffset); + imageFileName = + imageFileName.slice(0, lastDotOffset) + + uid + + imageFileName.slice(lastDotOffset, imageFileName.length); + } + else { + description = imageFileName; + imageFileName = imageFileName + uid; + } + fs.createReadStream(imageFilePath).pipe(fs.createWriteStream(path.resolve(assetDirectoryPath, imageFileName))); + } + else if (err.code === "ENOENT") { + // file doesn't exist + fs.createReadStream(imageFilePath).pipe(fs.createWriteStream(destPath)); + if (imageFileName.lastIndexOf(".")) { + description = imageFileName.slice(0, imageFileName.lastIndexOf(".")); + } + else { + description = imageFileName; + } + } + else { + return vscode.window.showErrorMessage(err.toString()); + } + vscode.window.showInformationMessage(`Image ${imageFileName} has been copied to folder ${assetDirectoryPath}`); + let url = `${imageFolderPath}/${imageFileName}`; + if (url.indexOf(" ") >= 0) { + url = url.replace(/ /g, "%20"); + } + editor.edit((textEditorEdit) => { + textEditorEdit.insert(editor.selection.active, `![${description}](${url})`); + }); + }); + }); + }); +} +exports.pasteImageFile = pasteImageFile; +function replaceHint(editor, line, hint, withStr) { + const textLine = editor.document.lineAt(line); + if (textLine.text.indexOf(hint) >= 0) { + editor.edit((textEdit) => { + textEdit.replace(new vscode.Range(new vscode.Position(line, 0), new vscode.Position(line, textLine.text.length)), textLine.text.replace(hint, withStr)); + }); + return true; + } + return false; +} +function setUploadedImageURL(imageFileName, url, editor, hint, curPos) { + let description; + if (imageFileName.lastIndexOf(".")) { + description = imageFileName.slice(0, imageFileName.lastIndexOf(".")); + } + else { + description = imageFileName; + } + const withStr = `![${description}](${url})`; + if (!replaceHint(editor, curPos.line, hint, withStr)) { + let i = curPos.line - 20; + while (i <= curPos.line + 20) { + if (replaceHint(editor, i, hint, withStr)) { + break; + } + i++; + } + } +} +/** + * Upload image at imageFilePath to config.imageUploader. + * Then insert markdown image url to markdown file. + * @param uri + * @param imageFilePath + */ +function uploadImageFile(sourceUri, imageFilePath, imageUploader) { + // console.log('uploadImageFile', sourceUri, imageFilePath, imageUploader) + if (typeof sourceUri === "string") { + sourceUri = vscode.Uri.parse(sourceUri); + } + const imageFileName = path.basename(imageFilePath); + vscode.window.visibleTextEditors + .filter((editor) => preview_content_provider_1.isMarkdownFile(editor.document) && + editor.document.uri.fsPath === sourceUri.fsPath) + .forEach((editor) => { + const uid = Math.random() + .toString(36) + .substr(2, 9); + const hint = `![Uploading ${imageFileName}… (${uid})]()`; + const curPos = editor.selection.active; + editor.edit((textEditorEdit) => { + textEditorEdit.insert(curPos, hint); + }); + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + const AccessKey = config.get("AccessKey") || ""; + const SecretKey = config.get("SecretKey") || ""; + const Bucket = config.get("Bucket") || ""; + const Domain = config.get("Domain") || ""; + mume_1.utility + .uploadImage(imageFilePath, { + method: imageUploader, + qiniu: { AccessKey, SecretKey, Bucket, Domain }, + }) + .then((url) => { + setUploadedImageURL(imageFileName, url, editor, hint, curPos); + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + }); +} +exports.uploadImageFile = uploadImageFile; +//# sourceMappingURL=image-helper.js.map \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/preview-content-provider.js b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/preview-content-provider.js new file mode 100644 index 00000000..2695b30b --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/out/src/preview-content-provider.js @@ -0,0 +1,719 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMarkdownFile = exports.getPreviewUri = exports.useSinglePreview = exports.MarkdownPreviewEnhancedView = void 0; +const mume = require("@shd101wyy/mume"); +const mume_1 = require("@shd101wyy/mume"); +const utility_1 = require("@shd101wyy/mume/out/src/utility"); +const fs = require("fs"); +const os_1 = require("os"); +const path = require("path"); +const vscode = require("vscode"); +const config_1 = require("./config"); +// http://www.typescriptlang.org/play/ +// https://github.com/Microsoft/vscode/blob/master/extensions/markdown/media/main.js +// https://github.com/Microsoft/vscode/tree/master/extensions/markdown/src +// https://github.com/tomoki1207/gfm-preview/blob/master/src/gfmProvider.ts +// https://github.com/cbreeden/vscode-markdownit +class MarkdownPreviewEnhancedView { + constructor(context) { + this.context = context; + this.waiting = false; + /** + * The key is markdown file fsPath + * value is MarkdownEngine + */ + this.engineMaps = {}; + /** + * The key is markdown file fspath + * value is Preview (vscode.Webview) object + */ + this.previewMaps = {}; + this.preview2EditorMap = new Map(); + /** + * The key is markdown file fsPath + * value is JSAndCssFiles + */ + this.jsAndCssFilesMaps = {}; + this.config = config_1.MarkdownPreviewEnhancedConfig.getCurrentConfig(); + mume + .init(this.config.configPath) // init markdown-preview-enhanced + .then(() => { + mume.onDidChangeConfigFile(this.refreshAllPreviews.bind(this)); + mume_1.MarkdownEngine.onModifySource(this.modifySource.bind(this)); + utility_1.useExternalAddFileProtocolFunction((filePath, preview) => { + if (preview) { + return preview.webview + .asWebviewUri(vscode.Uri.file(filePath)) + .toString(true) + .replace(/%3F/gi, "?") + .replace(/%23/g, "#"); + } + else { + if (!filePath.startsWith("file://")) { + filePath = "file:///" + filePath; + } + filePath = filePath.replace(/^file\:\/+/, "file:///"); + return filePath; + } + }); + const extensionVersion = require(path.resolve(this.context.extensionPath, "./package.json"))["version"]; + if (extensionVersion !== mume.configs.config["vscode_mpe_version"]) { + const config = Object.assign({}, mume.configs.config, { + vscode_mpe_version: extensionVersion, + }); + fs.writeFileSync(path.resolve(mume.getExtensionConfigPath(), "config.json"), JSON.stringify(config)); + if (!mume.configs.config["vscode_mpe_version"]) { + // Only show once + const actions = ["Open GitHub Sponsors", "I already sponsored"]; + vscode.window + .showInformationMessage("If you like using markdown-preview-enhanced, please consider sponsoring the developer to help make this project better 😊.", ...actions) + .then((value) => { + if (value === actions[0]) { + mume.utility.openFile("https://github.com/sponsors/shd101wyy"); + } + else if (value === actions[1]) { + config["already_sponsored"] = true; + fs.writeFileSync(path.resolve(mume.getExtensionConfigPath(), "config.json"), JSON.stringify(config)); + } + }); + } + } + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + refreshAllPreviews() { + // clear caches + for (const key in this.engineMaps) { + if (this.engineMaps.hasOwnProperty(key)) { + const engine = this.engineMaps[key]; + if (engine) { + // No need to resetConfig. + // Otherwiser when user change settings like `previewTheme`, the preview won't change immediately. + // engine.resetConfig(); + engine.clearCaches(); + } + } + } + // refresh iframes + if (useSinglePreview()) { + this.refreshPreviewPanel(this.singlePreviewPanelSourceUriTarget); + } + else { + for (const key in this.previewMaps) { + if (this.previewMaps.hasOwnProperty(key)) { + this.refreshPreviewPanel(vscode.Uri.file(key)); + } + } + } + } + /** + * modify markdown source, append `result` after corresponding code chunk. + * @param codeChunkData + * @param result + * @param filePath + */ + modifySource(codeChunkData, result, filePath) { + return __awaiter(this, void 0, void 0, function* () { + function insertResult(i, editor) { + const lineCount = editor.document.lineCount; + let start = 0; + // find + for (let j = i + 1; j < i + 6 && j < lineCount; j++) { + if (editor.document + .lineAt(j) + .text.startsWith("")) { + start = j; + break; + } + } + if (start) { + // found + // TODO: modify exited output + let end = start + 1; + while (end < lineCount) { + if (editor.document + .lineAt(end) + .text.startsWith("")) { + break; + } + end += 1; + } + // if output not changed, then no need to modify editor buffer + let r = ""; + for (let i2 = start + 2; i2 < end - 1; i2++) { + r += editor.document.lineAt(i2).text + "\n"; + } + if (r === result + "\n") { + return ""; + } // no need to modify output + editor.edit((edit) => { + edit.replace(new vscode.Range(new vscode.Position(start + 2, 0), new vscode.Position(end - 1, 0)), result + "\n"); + }); + return ""; + } + else { + editor.edit((edit) => { + edit.insert(new vscode.Position(i + 1, 0), `\n\n\n${result}\n\n\n`); + }); + return ""; + } + } + const visibleTextEditors = vscode.window.visibleTextEditors; + for (let i = 0; i < visibleTextEditors.length; i++) { + const editor = visibleTextEditors[i]; + if (this.formatPathIfNecessary(editor.document.uri.fsPath) === filePath) { + let codeChunkOffset = 0; + const targetCodeChunkOffset = codeChunkData.normalizedInfo.attributes["code_chunk_offset"]; + const lineCount = editor.document.lineCount; + for (let i2 = 0; i2 < lineCount; i2++) { + const line = editor.document.lineAt(i2); + if (line.text.match(/^```(.+)\"?cmd\"?\s*[=\s}]/)) { + if (codeChunkOffset === targetCodeChunkOffset) { + i2 = i2 + 1; + while (i2 < lineCount) { + if (editor.document.lineAt(i2).text.match(/^\`\`\`\s*/)) { + break; + } + i2 += 1; + } + return insertResult(i2, editor); + } + else { + codeChunkOffset++; + } + } + else if (line.text.match(/\@import\s+(.+)\"?cmd\"?\s*[=\s}]/)) { + if (codeChunkOffset === targetCodeChunkOffset) { + return insertResult(i2, editor); + } + else { + codeChunkOffset++; + } + } + } + break; + } + } + return ""; + }); + } + /** + * return markdown engine of sourceUri + * @param sourceUri + */ + getEngine(sourceUri) { + return this.engineMaps[sourceUri.fsPath]; + } + /** + * return markdown preview of sourceUri + * @param sourceUri + */ + getPreview(sourceUri) { + if (useSinglePreview()) { + return this.singlePreviewPanel; + } + else { + return this.previewMaps[sourceUri.fsPath]; + } + } + /** + * check if the markdown preview is on for the textEditor + * @param textEditor + */ + isPreviewOn(sourceUri) { + if (useSinglePreview()) { + return !!this.singlePreviewPanel; + } + else { + return !!this.getPreview(sourceUri); + } + } + destroyPreview(sourceUri) { + if (useSinglePreview()) { + this.singlePreviewPanel = null; + this.singlePreviewPanelSourceUriTarget = null; + this.preview2EditorMap = new Map(); + this.previewMaps = {}; + } + else { + const previewPanel = this.getPreview(sourceUri); + if (previewPanel) { + this.preview2EditorMap.delete(previewPanel); + delete this.previewMaps[sourceUri.fsPath]; + } + } + } + /** + * remove engine from this.engineMaps + * @param sourceUri + */ + destroyEngine(sourceUri) { + if (useSinglePreview()) { + return (this.engineMaps = {}); + } + const engine = this.getEngine(sourceUri); + if (engine) { + delete this.engineMaps[sourceUri.fsPath]; // destroy engine + } + } + /** + * Format pathString if it is on Windows. Convert `c:\` like string to `C:\` + * @param pathString + */ + formatPathIfNecessary(pathString) { + if (process.platform === "win32") { + pathString = pathString.replace(/^([a-zA-Z])\:\\/, (_, $1) => `${$1.toUpperCase()}:\\`); + } + return pathString; + } + getProjectDirectoryPath(sourceUri, workspaceFolders = []) { + const possibleWorkspaceFolders = workspaceFolders.filter((workspaceFolder) => { + return (path + .dirname(sourceUri.path.toUpperCase()) + .indexOf(workspaceFolder.uri.path.toUpperCase()) >= 0); + }); + let projectDirectoryPath; + if (possibleWorkspaceFolders.length) { + // We pick the workspaceUri that has the longest path + const workspaceFolder = possibleWorkspaceFolders.sort((x, y) => y.uri.fsPath.length - x.uri.fsPath.length)[0]; + projectDirectoryPath = workspaceFolder.uri.fsPath; + } + else { + projectDirectoryPath = ""; + } + return this.formatPathIfNecessary(projectDirectoryPath); + } + getFilePath(sourceUri) { + return this.formatPathIfNecessary(sourceUri.fsPath); + } + /** + * Initialize MarkdownEngine for this markdown file + */ + initMarkdownEngine(sourceUri) { + let engine = this.getEngine(sourceUri); + if (!engine) { + engine = new mume_1.MarkdownEngine({ + filePath: this.getFilePath(sourceUri), + projectDirectoryPath: this.getProjectDirectoryPath(sourceUri, vscode.workspace.workspaceFolders), + config: this.config, + }); + this.engineMaps[sourceUri.fsPath] = engine; + this.jsAndCssFilesMaps[sourceUri.fsPath] = []; + } + return engine; + } + initPreview(sourceUri, editor, viewOptions) { + return __awaiter(this, void 0, void 0, function* () { + const isUsingSinglePreview = useSinglePreview(); + let previewPanel; + if (isUsingSinglePreview && this.singlePreviewPanel) { + const oldResourceRoot = this.getProjectDirectoryPath(this.singlePreviewPanelSourceUriTarget, vscode.workspace.workspaceFolders) || path.dirname(this.singlePreviewPanelSourceUriTarget.fsPath); + const newResourceRoot = this.getProjectDirectoryPath(sourceUri, vscode.workspace.workspaceFolders) || path.dirname(sourceUri.fsPath); + if (oldResourceRoot !== newResourceRoot) { + this.singlePreviewPanel.dispose(); + return this.initPreview(sourceUri, editor, viewOptions); + } + else { + previewPanel = this.singlePreviewPanel; + this.singlePreviewPanelSourceUriTarget = sourceUri; + } + } + else if (this.previewMaps[sourceUri.fsPath]) { + previewPanel = this.previewMaps[sourceUri.fsPath]; + } + else { + const localResourceRoots = [ + vscode.Uri.file(this.context.extensionPath), + vscode.Uri.file(mume.utility.extensionDirectoryPath), + vscode.Uri.file(mume.getExtensionConfigPath()), + vscode.Uri.file(os_1.tmpdir()), + vscode.Uri.file(this.getProjectDirectoryPath(sourceUri, vscode.workspace.workspaceFolders) || path.dirname(sourceUri.fsPath)), + ]; + previewPanel = vscode.window.createWebviewPanel("markdown-preview-enhanced", `Preview ${path.basename(sourceUri.fsPath)}`, viewOptions, { + enableFindWidget: true, + localResourceRoots, + enableScripts: true, + }); + previewPanel.iconPath = vscode.Uri.file(path.join(this.context.extensionPath, "media", "preview.svg")); + // register previewPanel message events + previewPanel.webview.onDidReceiveMessage((message) => { + vscode.commands.executeCommand(`_mume.${message.command}`, ...message.args); + }, null, this.context.subscriptions); + // unregister previewPanel + previewPanel.onDidDispose(() => { + this.destroyPreview(sourceUri); + this.destroyEngine(sourceUri); + }, null, this.context.subscriptions); + if (isUsingSinglePreview) { + this.singlePreviewPanel = previewPanel; + this.singlePreviewPanelSourceUriTarget = sourceUri; + } + } + // register previewPanel + this.previewMaps[sourceUri.fsPath] = previewPanel; + this.preview2EditorMap.set(previewPanel, editor); + // set title + previewPanel.title = `Preview ${path.basename(sourceUri.fsPath)}`; + // init markdown engine + let initialLine; + if (editor && editor.document.uri.fsPath === sourceUri.fsPath) { + initialLine = yield new Promise((resolve, reject) => { + // Hack: sometimes we only get 0. I couldn't find API to wait for editor getting loaded. + setTimeout(() => { + return resolve(editor.selections[0].active.line || 0); + }, 100); + }); + } + const text = editor.document.getText(); + let engine = this.getEngine(sourceUri); + if (!engine) { + engine = this.initMarkdownEngine(sourceUri); + } + engine + .generateHTMLTemplateForPreview({ + inputString: text, + config: { + sourceUri: sourceUri.toString(), + initialLine, + vscode: true, + }, + contentSecurityPolicy: "", + vscodePreviewPanel: previewPanel, + }) + .then((html) => { + previewPanel.webview.html = html; + }); + }); + } + /** + * Close all previews + */ + closeAllPreviews(singlePreview) { + if (singlePreview) { + if (this.singlePreviewPanel) { + this.singlePreviewPanel.dispose(); + } + } + else { + const previewPanels = []; + for (const key in this.previewMaps) { + if (this.previewMaps.hasOwnProperty(key)) { + const previewPanel = this.previewMaps[key]; + if (previewPanel) { + previewPanels.push(previewPanel); + } + } + } + previewPanels.forEach((previewPanel) => previewPanel.dispose()); + } + this.previewMaps = {}; + this.preview2EditorMap = new Map(); + this.engineMaps = {}; + this.singlePreviewPanel = null; + this.singlePreviewPanelSourceUriTarget = null; + } + previewPostMessage(sourceUri, message) { + const preview = this.getPreview(sourceUri); + if (preview) { + preview.webview.postMessage(message); + } + } + previewHasTheSameSingleSourceUri(sourceUri) { + if (!this.singlePreviewPanelSourceUriTarget) { + return false; + } + else { + return this.singlePreviewPanelSourceUriTarget.fsPath === sourceUri.fsPath; + } + } + updateMarkdown(sourceUri, triggeredBySave) { + const engine = this.getEngine(sourceUri); + if (!engine) { + return; + } + const previewPanel = this.getPreview(sourceUri); + if (!previewPanel) { + return; + } + // presentation mode + if (engine.isPreviewInPresentationMode) { + return this.refreshPreview(sourceUri); + } + // not presentation mode + vscode.workspace.openTextDocument(sourceUri).then((document) => { + const text = document.getText(); + this.previewPostMessage(sourceUri, { + command: "startParsingMarkdown", + }); + const preview = this.getPreview(sourceUri); + engine + .parseMD(text, { + isForPreview: true, + useRelativeFilePath: false, + hideFrontMatter: false, + triggeredBySave, + vscodePreviewPanel: preview, + }) + .then(({ markdown, html, tocHTML, JSAndCssFiles, yamlConfig }) => { + // check JSAndCssFiles + if (JSON.stringify(JSAndCssFiles) !== + JSON.stringify(this.jsAndCssFilesMaps[sourceUri.fsPath]) || + yamlConfig["isPresentationMode"]) { + this.jsAndCssFilesMaps[sourceUri.fsPath] = JSAndCssFiles; + // restart iframe + this.refreshPreview(sourceUri); + } + else { + this.previewPostMessage(sourceUri, { + command: "updateHTML", + html, + tocHTML, + totalLineCount: document.lineCount, + sourceUri: sourceUri.toString(), + id: yamlConfig.id || "", + class: yamlConfig.class || "", + }); + } + }); + }); + } + refreshPreviewPanel(sourceUri) { + this.preview2EditorMap.forEach((editor, previewPanel) => { + if (previewPanel && + editor && + editor.document && + isMarkdownFile(editor.document) && + editor.document.uri && + editor.document.uri.fsPath === sourceUri.fsPath) { + this.initPreview(sourceUri, editor, { + viewColumn: previewPanel.viewColumn, + preserveFocus: true, + }); + } + }); + } + refreshPreview(sourceUri) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine.clearCaches(); + // restart iframe + this.refreshPreviewPanel(sourceUri); + } + } + openInBrowser(sourceUri) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine.openInBrowser({}).catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + htmlExport(sourceUri, offline) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine + .htmlExport({ offline }) + .then((dest) => { + vscode.window.showInformationMessage(`File ${path.basename(dest)} was created at path: ${dest}`); + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + chromeExport(sourceUri, type) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine + .chromeExport({ fileType: type, openFileAfterGeneration: true }) + .then((dest) => { + vscode.window.showInformationMessage(`File ${path.basename(dest)} was created at path: ${dest}`); + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + princeExport(sourceUri) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine + .princeExport({ openFileAfterGeneration: true }) + .then((dest) => { + if (dest.endsWith("?print-pdf")) { + // presentation pdf + vscode.window.showInformationMessage(`Please copy and open the link: { ${dest.replace(/\_/g, "\\_")} } in Chrome then Print as Pdf.`); + } + else { + vscode.window.showInformationMessage(`File ${path.basename(dest)} was created at path: ${dest}`); + } + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + eBookExport(sourceUri, fileType) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine + .eBookExport({ fileType, runAllCodeChunks: false }) + .then((dest) => { + vscode.window.showInformationMessage(`eBook ${path.basename(dest)} was created as path: ${dest}`); + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + pandocExport(sourceUri) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine + .pandocExport({ openFileAfterGeneration: true }) + .then((dest) => { + vscode.window.showInformationMessage(`Document ${path.basename(dest)} was created as path: ${dest}`); + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + markdownExport(sourceUri) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine + .markdownExport({}) + .then((dest) => { + vscode.window.showInformationMessage(`Document ${path.basename(dest)} was created as path: ${dest}`); + }) + .catch((error) => { + vscode.window.showErrorMessage(error.toString()); + }); + } + } + /* + public cacheSVG(sourceUri: Uri, code:string, svg:string) { + const engine = this.getEngine(sourceUri) + if (engine) { + engine.cacheSVG(code, svg) + } + } + */ + cacheCodeChunkResult(sourceUri, id, result) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine.cacheCodeChunkResult(id, result); + } + } + runCodeChunk(sourceUri, codeChunkId) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine.runCodeChunk(codeChunkId).then(() => { + this.updateMarkdown(sourceUri); + }); + } + } + runAllCodeChunks(sourceUri) { + const engine = this.getEngine(sourceUri); + if (engine) { + engine.runCodeChunks().then(() => { + this.updateMarkdown(sourceUri); + }); + } + } + update(sourceUri) { + if (!this.config.liveUpdate || !this.getPreview(sourceUri)) { + return; + } + if (!this.waiting) { + this.waiting = true; + setTimeout(() => { + this.waiting = false; + // this._onDidChange.fire(uri); + this.updateMarkdown(sourceUri); + }, 300); + } + } + updateConfiguration() { + const newConfig = config_1.MarkdownPreviewEnhancedConfig.getCurrentConfig(); + if (!this.config.isEqualTo(newConfig)) { + // if `singlePreview` setting is changed, close all previews. + if (this.config.singlePreview !== newConfig.singlePreview) { + this.closeAllPreviews(this.config.singlePreview); + this.config = newConfig; + } + else { + this.config = newConfig; + for (const fsPath in this.engineMaps) { + if (this.engineMaps.hasOwnProperty(fsPath)) { + const engine = this.engineMaps[fsPath]; + engine.updateConfiguration(newConfig); + } + } + // update all generated md documents + this.refreshAllPreviews(); + } + } + } + openImageHelper(sourceUri) { + if (sourceUri.scheme === "markdown-preview-enhanced") { + return vscode.window.showWarningMessage("Please focus a markdown file."); + } + else if (!this.isPreviewOn(sourceUri)) { + return vscode.window.showWarningMessage("Please open preview first."); + } + else { + return this.previewPostMessage(sourceUri, { + command: "openImageHelper", + }); + } + } +} +exports.MarkdownPreviewEnhancedView = MarkdownPreviewEnhancedView; +/** + * check whehter to use only one preview or not + */ +function useSinglePreview() { + const config = vscode.workspace.getConfiguration("markdown-preview-enhanced"); + return config.get("singlePreview"); +} +exports.useSinglePreview = useSinglePreview; +function getPreviewUri(uri) { + if (uri.scheme === "markdown-preview-enhanced") { + return uri; + } + let previewUri; + if (useSinglePreview()) { + previewUri = uri.with({ + scheme: "markdown-preview-enhanced", + path: "single-preview.rendered", + }); + } + else { + previewUri = uri.with({ + scheme: "markdown-preview-enhanced", + path: uri.path + ".rendered", + query: uri.toString(), + }); + } + return previewUri; +} +exports.getPreviewUri = getPreviewUri; +function isMarkdownFile(document) { + return (document.languageId === "markdown" && + document.uri.scheme !== "markdown-preview-enhanced"); // prevent processing of own documents +} +exports.isMarkdownFile = isMarkdownFile; +//# sourceMappingURL=preview-content-provider.js.map \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.json b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.json new file mode 100644 index 00000000..b94d780d --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.json @@ -0,0 +1,573 @@ +{ + "name": "markdown-preview-enhanced", + "displayName": "%displayName%", + "version": "0.5.22", + "description": "%description%", + "categories": [ + "Other" + ], + "keywords": [ + "markdown" + ], + "bugs": { + "url": "https://github.com/shd101wyy/vscode-markdown-preview-enhanced/issues" + }, + "repository": "https://github.com/shd101wyy/vscode-markdown-preview-enhanced", + "license": "NCSA", + "contributors": [ + "shd101wyy", + "kachkaev", + "gabyx" + ], + "publisher": "shd101wyy", + "main": "./out/src/extension", + "scripts": { + "check": "npm run check:eslint && npm run check:prettier && npm run check:tsc && npm run check:tslint", + "check:eslint": "eslint \"**/*\"", + "check:prettier": "prettier --check \"**/*.*\"", + "check:tsc": "tsc --project . --noEmit", + "check:tslint": "tslint --project .", + "compile": "tsc -p ./", + "fix": "npm run fix:eslint && npm run fix:tslint && npm run fix:prettier", + "fix:eslint": "eslint --fix \"**/*\"", + "fix:prettier": "prettier --write \"**/*.*\"", + "fix:tslint": "tslint --project .", + "test": "npm run compile && node ./node_modules/vscode/bin/test", + "vscode:prepublish": "npm run compile", + "watch": "tsc -watch -p ./" + }, + "contributes": { + "commands": [ + { + "command": "markdown-preview-enhanced.openPreviewToTheSide", + "title": "%markdown-preview-enhanced.openPreviewToTheSide.title%", + "category": "Markdown", + "icon": { + "light": "./media/preview-right-light.svg", + "dark": "./media/preview-right-dark.svg" + } + }, + { + "command": "markdown-preview-enhanced.openPreview", + "title": "%markdown-preview-enhanced.openPreview.title%", + "category": "Markdown", + "icon": { + "light": "./media/preview-right-light.svg", + "dark": "./media/preview-right-dark.svg" + } + }, + { + "command": "markdown-preview-enhanced.toggleScrollSync", + "title": "%markdown-preview-enhanced.toggleScrollSync.title%" + }, + { + "command": "markdown-preview-enhanced.toggleLiveUpdate", + "title": "%markdown-preview-enhanced.toggleLiveUpdate.title%" + }, + { + "command": "markdown-preview-enhanced.toggleBreakOnSingleNewLine", + "title": "%markdown-preview-enhanced.toggleBreakOnSingleNewLine.title%" + }, + { + "command": "markdown-preview-enhanced.openImageHelper", + "title": "%markdown-preview-enhanced.openImageHelper.title%" + }, + { + "command": "markdown-preview-enhanced.runAllCodeChunks", + "title": "%markdown-preview-enhanced.runAllCodeChunks.title%" + }, + { + "command": "markdown-preview-enhanced.runCodeChunk", + "title": "%markdown-preview-enhanced.runCodeChunk.title%" + }, + { + "command": "markdown-preview-enhanced.syncPreview", + "title": "%markdown-preview-enhanced.syncPreview.title%" + }, + { + "command": "markdown-preview-enhanced.customizeCss", + "title": "%markdown-preview-enhanced.customizeCss.title%" + }, + { + "command": "markdown-preview-enhanced.insertNewSlide", + "title": "%markdown-preview-enhanced.insertNewSlide.title%" + }, + { + "command": "markdown-preview-enhanced.insertTable", + "title": "%markdown-preview-enhanced.insertTable.title%" + }, + { + "command": "markdown-preview-enhanced.insertPagebreak", + "title": "%markdown-preview-enhanced.insertPagebreak.title%" + }, + { + "command": "markdown-preview-enhanced.createTOC", + "title": "%markdown-preview-enhanced.createTOC.title%" + }, + { + "command": "markdown-preview-enhanced.openMermaidConfig", + "title": "%markdown-preview-enhanced.openMermaidConfig.title%" + }, + { + "command": "markdown-preview-enhanced.openMathJaxConfig", + "title": "%markdown-preview-enhanced.openMathJaxConfig.title%" + }, + { + "command": "markdown-preview-enhanced.openKaTeXConfig", + "title": "%markdown-preview-enhanced.openKaTeXConfig.title%" + }, + { + "command": "markdown-preview-enhanced.extendParser", + "title": "%markdown-preview-enhanced.extendParser.title%" + }, + { + "command": "markdown-preview-enhanced.showUploadedImages", + "title": "%markdown-preview-enhanced.showUploadedImages.title%" + } + ], + "configuration": { + "type": "object", + "title": "Markdown Preview Enhanced", + "properties": { + "markdown-preview-enhanced.configPath": { + "description": "The configuration directory path. Leave it empty to use '~/.mume' as the config path. Please reload vscode to take effect.", + "default": "", + "type": "string" + }, + "markdown-preview-enhanced.usePandocParser": { + "description": "Enable this option will render markdown by pandoc instead of markdown-it.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.breakOnSingleNewLine": { + "description": "In Markdown, a single newline character doesn't cause a line break in the generated HTML. In GitHub Flavored Markdown, that is not true. Enable this config option to insert line breaks in rendered HTML for single newlines in Markdown source.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.scrollSync": { + "description": "Automatic scroll sync. This is now partially supported.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.liveUpdate": { + "description": "Re-render the preview as the contents of the source changes, without requiring the source buffer to be saved. If disabled, the preview is re-rendered only when the buffer is saved to disk.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.singlePreview": { + "description": "Open Only One Preview.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": { + "description": "Automatically show preview of markdown being edited.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.enableTypographer": { + "description": "Enable smartypants and other sweet transforms.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.mathRenderingOption": { + "description": "Choose the Math expression rendering method here. You can also disable math rendering if you want by choosing 'None'.", + "default": "KaTeX", + "type": "string", + "enum": [ + "KaTeX", + "MathJax", + "None" + ] + }, + "markdown-preview-enhanced.mathInlineDelimiters": { + "description": "Use customized Math expression inline delimiters.", + "default": [ + [ + "$", + "$" + ], + [ + "\\(", + "\\)" + ] + ], + "type": "array" + }, + "markdown-preview-enhanced.mathBlockDelimiters": { + "description": "Use customized Math expression block delimiters.", + "default": [ + [ + "$$", + "$$" + ], + [ + "\\[", + "\\]" + ] + ], + "type": "array" + }, + "markdown-preview-enhanced.mathRenderingOnlineService": { + "description": "Choose the Math expression rendering method option for GFM markdown export (Save as Markdown).", + "default": "https://latex.codecogs.com/gif.latex", + "type": "string", + "enum": [ + "https://latex.codecogs.com/gif.latex", + "https://latex.codecogs.com/svg.latex", + "https://latex.codecogs.com/png.latex" + ] + }, + "markdown-preview-enhanced.enableWikiLinkSyntax": { + "description": "Enable Wiki Link syntax support. More information can be found at https://help.github.com/articles/adding-links-to-wikis/", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.enableLinkify": { + "description": "Enable or disable conversion of URL-like text to links in the markdown preview.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.useGitHubStylePipedLink": { + "description": "If checked, we use GitHub style piped wiki links, i.e. [[linkText|wikiLink]]. Otherwise, we use [[wikiLink|linkText]] as the original Wikipedia style.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.wikiLinkFileExtension": { + "description": "By default, the extension for wikilink is `.md`. For example: [[test]] will direct to file path `test.md`.", + "default": ".md", + "type": "string" + }, + "markdown-preview-enhanced.enableEmojiSyntax": { + "description": "Enable emoji & font-awesome plugin. This only works for markdown-it parser, but not pandoc parser.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.enableExtendedTableSyntax": { + "description": "Enable extended table syntax to support merging table cells.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.enableCriticMarkupSyntax": { + "description": "Enable CriticMarkup syntax. Only works with markdown-it parser. Please check http://criticmarkup.com/users-guide.php for more information.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.frontMatterRenderingOption": { + "description": "Front matter rendering option", + "type": "string", + "enum": [ + "none", + "table", + "code block" + ], + "default": "none" + }, + "markdown-preview-enhanced.mermaidTheme": { + "description": "Mermaid theme, you can choose one from [\"mermaid.css\", \"mermaid.dark.css\", \"mermaid.forest.css\"]", + "default": "default", + "type": "string", + "enum": [ + "default", + "dark", + "forest" + ] + }, + "markdown-preview-enhanced.codeBlockTheme": { + "description": "Code block theme. If `auto.css` is chosen, then the code block theme that best matches the current preview theme will be picked.", + "default": "auto.css", + "type": "string", + "enum": [ + "auto.css", + "default.css", + "atom-dark.css", + "atom-light.css", + "atom-material.css", + "coy.css", + "darcula.css", + "dark.css", + "funky.css", + "github.css", + "hopscotch.css", + "monokai.css", + "okaidia.css", + "one-dark.css", + "one-light.css", + "pen-paper-coffee.css", + "pojoaque.css", + "solarized-dark.css", + "solarized-light.css", + "twilight.css", + "vs.css", + "vue.css", + "xonokai.css" + ] + }, + "markdown-preview-enhanced.previewTheme": { + "description": "Preview Theme", + "default": "github-light.css", + "type": "string", + "enum": [ + "atom-dark.css", + "atom-light.css", + "atom-material.css", + "github-dark.css", + "github-light.css", + "gothic.css", + "medium.css", + "monokai.css", + "newsprint.css", + "night.css", + "none.css", + "one-dark.css", + "one-light.css", + "solarized-dark.css", + "solarized-light.css", + "vue.css" + ] + }, + "markdown-preview-enhanced.revealjsTheme": { + "description": "RevealJS Presentation Theme", + "default": "white.css", + "type": "string", + "enum": [ + "beige.css", + "black.css", + "blood.css", + "league.css", + "moon.css", + "night.css", + "serif.css", + "simple.css", + "sky.css", + "solarized.css", + "white.css", + "none.css" + ] + }, + "markdown-preview-enhanced.protocolsWhiteList": { + "description": "Accepted protocols for links.", + "default": "http://, https://, atom://, file://, mailto:, tel:", + "type": "string" + }, + "markdown-preview-enhanced.imageFolderPath": { + "description": "When using Image Helper to copy images, by default images will be copied to root image folder path '/assets'", + "default": "/assets", + "type": "string" + }, + "markdown-preview-enhanced.imageUploader": { + "description": "You can choose different image uploader to upload image", + "default": "imgur", + "type": "string", + "enum": [ + "imgur", + "sm.ms", + "qiniu" + ] + }, + "markdown-preview-enhanced.AccessKey": { + "type": "string", + "default": "", + "description": "Qiniu AccessKey" + }, + "markdown-preview-enhanced.SecretKey": { + "type": "string", + "default": "", + "description": "Qiniu SecretKey" + }, + "markdown-preview-enhanced.Bucket": { + "type": "string", + "default": "", + "description": "Qiniu Bucket" + }, + "markdown-preview-enhanced.Domain": { + "type": "string", + "default": "http://", + "description": "Qiniu Domain" + }, + "markdown-preview-enhanced.printBackground": { + "description": "Whether to print background for file export or not. If set to `false`, then `github-light` preview theme will be used. You can also set `print_background` in front-matter for individual files.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.chromePath": { + "description": "Chrome executable path, which is used for Puppeteer export. Leaving it empty means the path will be found automatically.", + "default": "", + "type": "string", + "scope": "machine" + }, + "markdown-preview-enhanced.imageMagickPath": { + "description": "ImageMagick command line path. Should be either `magick` or `convert`. Leaving it empty means the path will be found automatically.", + "default": "", + "type": "string", + "scope": "machine" + }, + "markdown-preview-enhanced.pandocPath": { + "description": "Pandoc executable path", + "default": "pandoc", + "type": "string", + "scope": "machine" + }, + "markdown-preview-enhanced.pandocMarkdownFlavor": { + "description": "The pandoc markdown flavor you want", + "default": "markdown-raw_tex+tex_math_single_backslash", + "type": "string" + }, + "markdown-preview-enhanced.pandocArguments": { + "description": "Args passed to pandoc command e.g. [\"--smart\", \"--filter=/bin/exe\"] Please use long argument names.", + "default": [], + "type": "array" + }, + "markdown-preview-enhanced.latexEngine": { + "description": "Default latex engine for Pandoc export and latex code chunk.", + "default": "pdflatex", + "type": "string" + }, + "markdown-preview-enhanced.enableScriptExecution": { + "description": "Enables executing code chunks and importing javascript files.\n⚠️ Please use this feature with caution because it may put your security at risk! Your machine can get hacked if someone makes you open a markdown with malicious code while script execution is enabled.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.enableHTML5Embed": { + "description": " Enables transform audio video link to to html5 embed audio video tags.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.HTML5EmbedUseImageSyntax": { + "description": " Enables video/audio embed with ![]() syntax (default).", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.HTML5EmbedUseLinkSyntax": { + "description": "Enables video/audio embed with []() syntax.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.HTML5EmbedIsAllowedHttp": { + "description": "When true embed media with http:// schema in URLs. When false ignore and don't embed them.", + "default": false, + "type": "boolean" + }, + "markdown-preview-enhanced.HTML5EmbedAudioAttributes": { + "description": "HTML attributes to pass to audio tags.", + "default": "controls preload=\"metadata\" width=\"320\"", + "type": "string" + }, + "markdown-preview-enhanced.HTML5EmbedVideoAttributes": { + "description": "HTML attributes to pass to video tags.", + "default": "controls preload=\"metadata\" width=\"320\" height=\"240\"", + "type": "string" + }, + "markdown-preview-enhanced.puppeteerWaitForTimeout": { + "description": "Puppeteer waits for a certain timeout in milliseconds before the document export.", + "default": 0, + "type": "number" + }, + "markdown-preview-enhanced.usePuppeteerCore": { + "description": "If set to true, then locally installed puppeteer-core will be required. Otherwise, the puppeteer globally installed by `npm install -g puppeteer` will be required.", + "default": true, + "type": "boolean" + }, + "markdown-preview-enhanced.puppeteerArgs": { + "description": "Args passed to puppeteer.launch({args: $puppeteerArgs})", + "default": [], + "type": "array" + }, + "markdown-preview-enhanced.plantumlServer": { + "description": "Render using PlantUML server instead of binary. Leave it empty to use the builtin plantuml.jar binary (`java` is required in system path). Eg: \"http://localhost:8080/svg/\"", + "default": "", + "type": "string" + } + } + }, + "keybindings": [ + { + "command": "markdown-preview-enhanced.openPreviewToTheSide", + "key": "ctrl+k v", + "mac": "cmd+k v", + "when": "editorLangId == markdown" + }, + { + "command": "markdown-preview-enhanced.openPreview", + "key": "ctrl+shift+v", + "mac": "cmd+shift+v", + "when": "editorLangId == markdown" + }, + { + "command": "markdown-preview-enhanced.runAllCodeChunks", + "key": "ctrl+shift+enter", + "when": "editorLangId == markdown" + }, + { + "command": "markdown-preview-enhanced.runCodeChunk", + "key": "shift+enter", + "when": "editorLangId == markdown" + }, + { + "command": "markdown-preview-enhanced.syncPreview", + "key": "ctrl+shift+s", + "when": "editorLangId == markdown" + } + ], + "menus": { + "editor/context": [ + { + "command": "markdown-preview-enhanced.openPreviewToTheSide", + "when": "editorLangId == markdown", + "group": "markdown-preview-enhanced" + } + ], + "editor/title": [ + { + "command": "markdown-preview-enhanced.openPreviewToTheSide", + "when": "editorLangId == markdown", + "group": "navigation" + } + ] + } + }, + "activationEvents": [ + "onLanguage:markdown", + "onCommand:markdown-preview-enhanced.openPreviewToTheSide" + ], + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "**/*.*": [ + "eslint", + "prettier --write", + "git add" + ] + }, + "dependencies": { + "@shd101wyy/mume": "^0.6.7", + "@types/vfile": "^3.0.2" + }, + "devDependencies": { + "@types/cheerio": "^0.22.18", + "@types/jquery": "^3.3.9", + "@types/mocha": "^5.2.5", + "@types/node": "^11.11.0", + "@types/vscode": "1.40.0", + "eslint": "^5.15.1", + "husky": "^3.0.9", + "lint-staged": "^9.4.2", + "mocha": "^6.1.4", + "prettier": "^1.18.2", + "prettier-plugin-packagejson": "^2.0.1", + "tslint": "^5.13.1", + "tslint-config-prettier": "^1.18.0", + "typescript": "^3.0.3" + }, + "engines": { + "vscode": "^1.40.0" + }, + "__metadata": { + "id": "3b1db1fc-c7f7-4bd6-9fa4-b499dfa99a8a", + "publisherId": "deac4ec9-08f5-4752-aa45-c6f09e1f615d", + "publisherDisplayName": "Yiyi Wang", + "installedTimestamp": 1627023563815 + } +} \ No newline at end of file diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.nls.json b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.nls.json new file mode 100644 index 00000000..706d0c8f --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.nls.json @@ -0,0 +1,23 @@ +{ + "displayName": "Markdown Preview Enhanced", + "description": "Markdown Preview Enhanced ported to vscode", + "markdown-preview-enhanced.openPreviewToTheSide.title": "Markdown Preview Enhanced: Open Preview to the Side", + "markdown-preview-enhanced.openPreview.title": "Markdown Preview Enhanced: Open Preview", + "markdown-preview-enhanced.toggleScrollSync.title": "Markdown Preview Enhanced: Toggle Scroll Sync", + "markdown-preview-enhanced.toggleLiveUpdate.title": "Markdown Preview Enhanced: Toggle Live Update", + "markdown-preview-enhanced.toggleBreakOnSingleNewLine.title": "Markdown Preview Enhanced: Toggle Break On Single New Line", + "markdown-preview-enhanced.openImageHelper.title": "Markdown Preview Enhanced: Image Helper", + "markdown-preview-enhanced.runAllCodeChunks.title": "Markdown Preview Enhanced: Run All Code Chunks", + "markdown-preview-enhanced.runCodeChunk.title": "Markdown Preview Enhanced: Run Code Chunk", + "markdown-preview-enhanced.syncPreview.title": "Markdown Preview Enhanced: Sync Preview", + "markdown-preview-enhanced.customizeCss.title": "Markdown Preview Enhanced: Customize CSS", + "markdown-preview-enhanced.insertNewSlide.title": "Markdown Preview Enhanced: Insert New Slide", + "markdown-preview-enhanced.insertTable.title": "Markdown Preview Enhanced: Insert Table", + "markdown-preview-enhanced.insertPagebreak.title": "Markdown Preview Enhanced: Insert Page Break", + "markdown-preview-enhanced.createTOC.title": "Markdown Preview Enhanced: Create TOC", + "markdown-preview-enhanced.openMermaidConfig.title": "Markdown Preview Enhanced: Open Mermaid Config", + "markdown-preview-enhanced.openMathJaxConfig.title": "Markdown Preview Enhanced: Open MathJax Config", + "markdown-preview-enhanced.openKaTeXConfig.title": "Markdown Preview Enhanced: Open KaTeX Config", + "markdown-preview-enhanced.extendParser.title": "Markdown Preview Enhanced: Extend Parser", + "markdown-preview-enhanced.showUploadedImages.title": "Markdown Preview Enhanced: Show Uploaded Images" +} diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.nls.zh.json b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.nls.zh.json new file mode 100644 index 00000000..1e648aa6 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/package.nls.zh.json @@ -0,0 +1,23 @@ +{ + "displayName": "Markdown 增强预览", + "description": " 这款插件意在让你拥有飘逸的 Markdown 写作体验", + "markdown-preview-enhanced.openPreviewToTheSide.title": "MPE:打开侧边预览", + "markdown-preview-enhanced.openPreview.title": "MPE:打开预览", + "markdown-preview-enhanced.toggleScrollSync.title": "MPE:开关预览滑动同步", + "markdown-preview-enhanced.toggleLiveUpdate.title": "MPE:开关预览实时更新", + "markdown-preview-enhanced.toggleBreakOnSingleNewLine.title": "MPE:开关回车换行", + "markdown-preview-enhanced.openImageHelper.title": "MPE:图片助手", + "markdown-preview-enhanced.runAllCodeChunks.title": "MPE:运行所有代码块", + "markdown-preview-enhanced.runCodeChunk.title": "MPE:运行代码块", + "markdown-preview-enhanced.syncPreview.title": "MPE:同步预览", + "markdown-preview-enhanced.customizeCss.title": "MPE:自定义样式", + "markdown-preview-enhanced.insertNewSlide.title": "MPE:插入新的幻灯片", + "markdown-preview-enhanced.insertTable.title": "MPE:插入表格", + "markdown-preview-enhanced.insertPagebreak.title": "MPE:插入断页符", + "markdown-preview-enhanced.createTOC.title": "MPE:创建目录列表", + "markdown-preview-enhanced.openMermaidConfig.title": "MPE:打开 mermaid 设置文件", + "markdown-preview-enhanced.openMathJaxConfig.title": "MPE:打开 MathJax 设置文件", + "markdown-preview-enhanced.openKaTeXConfig.title": "MPE:打开 KaTeX 设置文件", + "markdown-preview-enhanced.extendParser.title": "MPE:扩展 Parser", + "markdown-preview-enhanced.showUploadedImages.title": "MPE:显示图片上传历史" +} diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/prettier.config.js b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/prettier.config.js new file mode 100644 index 00000000..b967a241 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/prettier.config.js @@ -0,0 +1,6 @@ +module.exports = { + arrowParens: "always", + endOfLine: "lf", + quoteProps: "consistent", + trailingComma: "all", +}; diff --git a/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/tslint.json b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/tslint.json new file mode 100644 index 00000000..e8fc9a14 --- /dev/null +++ b/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.5.22/tslint.json @@ -0,0 +1,12 @@ +{ + "defaultSeverity": "error", + "extends": ["tslint:recommended", "tslint-config-prettier"], + "rules": { + "interface-name": [true, "never-prefix"], + "member-ordering": false, // TODO: enable and sort MarkdownPreviewEnhancedView + "no-string-literal": false, + "object-literal-sort-keys": false, + "prefer-for-of": false, + "no-eval": false + } +} diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/.vsixmanifest b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/.vsixmanifest new file mode 100644 index 00000000..7e71e95b --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + Cobalt2 Theme Official + 🔥 Official theme by Wes Bos. + VSCode,Themes,theme,color-theme + Themes + Public + + + + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/images/logo.png + + + + + + + + + + diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/LICENSE.txt b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/LICENSE.txt new file mode 100644 index 00000000..b2a5e54d --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Wes Bos, Roberto Achar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/README.md b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/README.md new file mode 100644 index 00000000..842b5a94 --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/README.md @@ -0,0 +1,85 @@ +# Cobalt2 Theme for VS Code + +[![Version](https://vsmarketplacebadge.apphb.com/version/wesbos.theme-cobalt2.svg)](https://marketplace.visualstudio.com/items?itemName=wesbos.theme-cobalt2) + +![Preview](https://raw.githubusercontent.com/wesbos/cobalt2-vscode/cobalt2-updates/images/ss.png) + + +# Installation + +1. Open **Extensions** sidebar panel in VS Code. `View → Extensions` +2. Search for `Cobalt2` - find the one by **Wes Bos** - there are a few other half-baked ones so make sure you have the right one! +3. Click **Install** to install it. +4. Code > Preferences > Color Theme > **Cobalt2** +5. Optional: Use the recommended settings below for best experience + +## Recommended Settings + +```js +{ + "workbench.colorTheme": "Cobalt2", + // The Cursive font is operator Mono, it's $200 and you need to buy it to get the cursive + "editor.fontFamily": "Operator Mono, Menlo, Monaco, 'Courier New', monospace", + "editor.fontSize": 17, + "editor.lineHeight": 25, + "editor.letterSpacing": 0.5, + "files.trimTrailingWhitespace": true, + "editor.fontWeight": "400", + "prettier.eslintIntegration": true, + "editor.cursorStyle": "line", + "editor.cursorWidth": 5, + "editor.cursorBlinking": "solid", + "editor.renderWhitespace": "all", +} +``` + +## Colours +Blue: [#193549](https://github.com/wesbos/cobalt2-vscode/issues/193549) +Blue Highlight: #1F4662 +Blue Highlight2: #234E6D +Blue Dark: [#122738](https://github.com/wesbos/cobalt2-vscode/issues/122738) +Yellow: #ffc600 +Hot Pink: #ff0088 +Blush Pink: #ff628c +Orange: #ff9d00 +Green + +## Contributing + +To work on the theme: + +1. Clone this repo and open in VS Code +2. Open run `View → Run` +3. Click `Launch Extension`. This will open up another VS Code Editor +4. Make changes to `cobalt2.json`. You will see changes reflected in the other editor that opened in step 3. + +If you are making a Pull Request, Please give me a screenshot of before/after! + +## Deploying a new version + +These are mostly notes for me. + +1. Increment the version number in `package.json` +1. run `npm run bundle` +1. + +## I don't like something + +First, this theme is new so if something is funky, please open an issue. There are many languages and parts of VS Code I don't use, so let me know! + +These are the things we have control over. If you would like to change something, you can either open a PR and see if I'd like it added, or override the colours in your own settings.json file. + +https://code.visualstudio.com/docs/getstarted/theme-color-reference + +## Put Cobalt2 in other places! + +* [Sublime Text](https://github.com/wesbos/cobalt2) +* [Atom](https://github.com/wesbos/Cobalt2-atom) +* [iTerm2](https://github.com/wesbos/Cobalt2-iterm) +* [Hyper Term](https://github.com/wesbos/hyperterm-cobalt2-theme) +* [Alfred](https://github.com/wesbos/Cobalt2-Alfred-Theme) +* [Slack](https://github.com/wesbos/Cobalt2-Slack) + +## Thanks + +Thanks to Roberto Achar for doing much of the initial porting to VS Code. diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/cobalt2-custom-hacks.css b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/cobalt2-custom-hacks.css new file mode 100644 index 00000000..66bfbcf8 --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/cobalt2-custom-hacks.css @@ -0,0 +1,42 @@ +.monaco-shell { + font-family: "Operator Mono", "Inconsolata", monospace; +} + +/* This makes the dirty tab circle & cross yellow */ +.monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab.dirty > .tab-close .action-label:not(:hover):before, +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.dirty > .tab-close .action-label:not(:hover):before, +.monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab.dirty > .tab-close .action-label:hover:before, +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.dirty > .tab-close .action-label:hover:before { color: #ffc600; } + +.monaco-workbench > .part.editor > .content .editor-group-container { + border-top: 1px solid #15232d !important; +} + +.editor-group-container + .editor-group-container { + border-left: 1px solid #15232d !important; +} + +/* + This puts a thin yellow border around the found items like Sublime did it +*/ +.monaco-editor .findMatch, +.monaco-editor .selectionHighlight { + border: 1px solid #ffc600; + border-radius: 2px; + background: transparent; +} + +/* This puts an inset shadow onto the minimap scrollbar and permanently shows it */ +.monaco-editor .minimap .minimap-shadow-visible, +.monaco-editor .minimap .minimap-shadow-hidden { + box-shadow: rgba(0, 0, 0, .4) -6px 0 6px -6px inset !important; + /* taken from vanilla VS Code theme */ + position: absolute; + left: -6px; + width: 6px; +} + +/* This accounts for larger font cutting off - bump up 3px */ +.monaco-workbench>.activitybar>.content .monaco-action-bar .badge .badge-content { + top: 17px !important; +} diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/css-hacks.css b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/css-hacks.css new file mode 100644 index 00000000..24212c4b --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/css-hacks.css @@ -0,0 +1,8 @@ +.hover-contents, +.hover-contents code, +.code-hover-contents, +.code-hover-contents code +{ + border: 2px solid hotpink; + font-size: 10px; +} diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/images/logo.png b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/images/logo.png new file mode 100644 index 00000000..46ebedb6 Binary files /dev/null and b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/images/logo.png differ diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/images/ss.png b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/images/ss.png new file mode 100644 index 00000000..b84e137c Binary files /dev/null and b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/images/ss.png differ diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/package.json b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/package.json new file mode 100644 index 00000000..4f4a891c --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/package.json @@ -0,0 +1,48 @@ +{ + "name": "theme-cobalt2", + "version": "2.2.5", + "displayName": "Cobalt2 Theme Official", + "description": "🔥 Official theme by Wes Bos.", + "publisher": "wesbos", + "icon": "images/logo.png", + "repository": { + "type": "git", + "url": "https://github.com/wesbos/cobalt2-vscode" + }, + "galleryBanner": { + "color": "#193549", + "theme": "dark" + }, + "categories": [ + "Themes" + ], + "keywords": [ + "VSCode", + "Themes" + ], + "engines": { + "vscode": "^1.15.0" + }, + "scripts": { + "bundle": "vsce package", + "publish": "vsce publish" + }, + "contributes": { + "themes": [ + { + "label": "Cobalt2", + "uiTheme": "vs-dark", + "path": "./theme/cobalt2.json" + } + ] + }, + "devDependencies": { + "vsce": "^1.81.1" + }, + "__metadata": { + "id": "fb374ce1-5343-46c8-a425-900fdad15523", + "publisherId": "ef56c328-1595-4d1e-9e0b-43d926331358", + "publisherDisplayName": "Wes Bos", + "installedTimestamp": 1632689855026 + } +} \ No newline at end of file diff --git a/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/theme/cobalt2.json b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/theme/cobalt2.json new file mode 100644 index 00000000..4da0025f --- /dev/null +++ b/.vscode/extensions/wesbos.theme-cobalt2-2.2.5/theme/cobalt2.json @@ -0,0 +1,870 @@ +{ + "$schema": "vscode://schemas/color-theme", + "name": "Cobalt", + "type": "dark", + "semanticHighlighting": true, + "semanticTokenColors": { + "function": { + "foreground": "#ffc600" + }, + "variable": "#fff", + "interface": { + // "foreground": "#ff0088", + "foreground": "#FF68B8", + "italic": true + }, + "type": { + // "foreground": "#ff0088", + "foreground": "#FF68B8", + "italic": true + }, + // This colours both object definiton properties, as well as references. If the property does not exist, it will be white\. + "property": "#9effff", + }, + "colors": { + // menu + "menu.selectionForeground": "#fff", + "menubar.selectionBackground": "#0d3a58", + // activityBar + "activityBar.background": "#122738", + "activityBar.border": "#0d3a58", + "activityBar.dropBackground": "#0d3a58", + "activityBar.foreground": "#fff", + "activityBarBadge.background": "#ffc600", + "activityBarBadge.foreground": "#000", + // badge + "badge.background": "#ffc600", + "badge.foreground": "#000", + // button + "button.background": "#0088ff", + "button.foreground": "#fff", + "button.hoverBackground": "#ff9d00", + // contrast + // "contrastActiveBorder": null, + "contrastBorder": "#ffffff00", + // debug + "debugExceptionWidget.background": "#193549", + "debugExceptionWidget.border": "#aaa", + "debugToolBar.background": "#193549", + // description + "descriptionForeground": "#aaa", + // diff + "diffEditor.insertedTextBackground": "#3ad90033", + "diffEditor.insertedTextBorder": "#3ad90055", + "diffEditor.removedTextBackground": "#ee3a4333", + "diffEditor.removedTextBorder": "#ee3a4355", + // dropdown + "dropdown.background": "#193549", + "dropdown.border": "#15232d", + "dropdown.foreground": "#fff", + // editor + // This is the main background color + "editor.background": "#193549", + // this is the main text colour + "editor.foreground": "#fff", + // Okay this part is confusing as heck! + // Currently found item + "editor.findMatchBackground": "#FF720066", + // Other Found Items int the document + "editor.findMatchHighlightBackground": "#CAD40F66", + // WTF is this one for? I don't know + "editor.findRangeHighlightBackground": "#243E51", + // When you hover over something and a popup shows, this highlights that thing + "editor.hoverHighlightBackground": "#ffc60033", + // when you have something selected, but have lost focus on the editor + "editor.inactiveSelectionBackground": "#003b8b", + // current line styles + "editor.lineHighlightBackground": "#1F4662", + "editor.lineHighlightBorder": "#234E6D", + "editor.rangeHighlightBackground": "#1F4662", + // selected Text colours + // This is the standard Select colour + "editor.selectionBackground": "#0050A4", + // This is the colour of the other matching elements + "editor.selectionHighlightBackground": "#0050A480", + // if you tab away you can colour it differently, but ill leave this one out + // "editor.inactiveSelectionBackground": "", + // Word Highlights! This happens when you move your cursor inside a variable + // Strong is the one where your cursor currently is + "editor.wordHighlightStrongBackground": "#ffffff21", + // and this one is the rest of them + "editor.wordHighlightBackground": "#ffffff21", + "editorBracketMatch.background": "#0d3a58", + "editorBracketMatch.border": "#ffc60080", + "editorCodeLens.foreground": "#aaa", + "editorCursor.foreground": "#ffc600", + "editorError.border": "#0d3a58", + "editorError.foreground": "#A22929", + // gutter + "editorGutter.background": "#12273866", + "editorGutter.addedBackground": "#3C9F4A", + "editorGutter.deletedBackground": "#A22929", + "editorGutter.modifiedBackground": "#26506D", + // editorGroup + "editorGroup.background": "#A22929", + "editorGroup.border": "#122738", + "editorGroup.dropBackground": "#12273899", + // editorGroupHeader + "editorGroupHeader.noTabsBackground": "#193549", + "editorGroupHeader.tabsBackground": "#122738", + "editorGroupHeader.tabsBorder": "#15232d", + // editorHoverWidget + "editorHoverWidget.background": "#15232d", + "editorHoverWidget.border": "#0d3a58", + "editorIndentGuide.background": "#3B5364", + "editorLineNumber.foreground": "#aaa", + "editorLink.activeForeground": "#aaa", + // editorMarkerNavigation + "editorMarkerNavigation.background": "#3B536433", + "editorMarkerNavigationError.background": "#A22929", + "editorMarkerNavigationWarning.background": "#ffc600", + // ruler + "editorOverviewRuler.border": "#0d3a58", + "editorOverviewRuler.commonContentForeground": "#ffc60055", + "editorOverviewRuler.currentContentForeground": "#ee3a4355", + "editorOverviewRuler.incomingContentForeground": "#3ad90055", + "editorRuler.foreground": "#1F4662", + // editorSuggestWidget + "editorSuggestWidget.background": "#15232d", + "editorSuggestWidget.border": "#15232d", + "editorSuggestWidget.foreground": "#aaa", + "editorSuggestWidget.highlightForeground": "#ffc600", + "editorSuggestWidget.selectedBackground": "#193549", + // editorWarning + "editorWarning.border": "#ffffff00", + "editorWarning.foreground": "#ffc600", + "editorWhitespace.foreground": "#ffffff1a", + "editorWidget.background": "#15232d", + "editorWidget.border": "#0d3a58", + "errorForeground": "#A22929", + // extensionButton + "extensionButton.prominentBackground": "#0088ff", + "extensionButton.prominentForeground": "#fff", + "extensionButton.prominentHoverBackground": "#ff9d00", + "focusBorder": "#0d3a58", + "foreground": "#aaa", + // input + "input.background": "#193549", + "input.border": "#0d3a58", + "input.foreground": "#ffc600", + "input.placeholderForeground": "#aaa", + "inputOption.activeBorder": "#8dffff", + "inputValidation.errorBackground": "#193549", + "inputValidation.errorBorder": "#ffc600", + "inputValidation.infoBackground": "#193549", + "inputValidation.infoBorder": "#0D3A58", + "inputValidation.warningBackground": "#193549", + "inputValidation.warningBorder": "#ffc600", + // list + "list.activeSelectionBackground": "#193549", + "list.activeSelectionForeground": "#aaa", + "list.dropBackground": "#0d3a58", + "list.focusBackground": "#0d3a58", + "list.focusForeground": "#aaa", + "list.highlightForeground": "#ffc600", + "list.hoverBackground": "#193549", + "list.hoverForeground": "#aaa", + "list.inactiveSelectionBackground": "#0d3a58", + "list.inactiveSelectionForeground": "#aaa", + // menu + "menu.background": "#122738", + // merge + "merge.border": "#ffffff00", + "merge.commonContentBackground": "#c97d0c", + "merge.commonHeaderBackground": "#c97d0c", + "merge.currentContentBackground": "#2F7366", + "merge.currentHeaderBackground": "#2F7366", + "merge.incomingContentBackground": "#185294", + "merge.incomingHeaderBackground": "#185294", + // notification colors - The colors below only apply for VS Code versions 1.21 and higher. + "notificationCenter.border": "#ffc600", + "notificationCenterHeader.foreground": "#aaa", + "notificationCenterHeader.background": "#122738", + "notificationToast.border": "#ffc600", + "notifications.foreground": "#aaa", + "notifications.background": "#122738", + "notifications.border": "#ffc600", + "notificationLink.foreground": "#ffc600", + // panel + "panel.background": "#122738", + "panel.border": "#ffc600", + "panelTitle.activeBorder": "#ffc600", + "panelTitle.activeForeground": "#ffc600", + "panelTitle.inactiveForeground": "#aaa", + // "peekView + "peekView.border": "#ffc600", + "peekViewEditor.background": "#193549", + "peekViewEditor.matchHighlightBackground": "#19354900", + "peekViewEditorGutter.background": "#122738", + "peekViewResult.background": "#15232d", + "peekViewResult.fileForeground": "#aaa", + "peekViewResult.lineForeground": "#fff", + "peekViewResult.matchHighlightBackground": "#0d3a58", + "peekViewResult.selectionBackground": "#0d3a58", + "peekViewResult.selectionForeground": "#fff", + "peekViewTitle.background": "#15232d", + "peekViewTitleDescription.foreground": "#aaa", + "peekViewTitleLabel.foreground": "#ffc600", + // picker + "pickerGroup.border": "#0d3a58", + "pickerGroup.foreground": "#aaa", + // progressBar + "progressBar.background": "#ffc600", + // scrollbar + "scrollbar.shadow": "#00000000", + "scrollbarSlider.activeBackground": "#355166cc", + "scrollbarSlider.background": "#1F466280", + "scrollbarSlider.hoverBackground": "#406179cc", + // selection + "selection.background": "#027dff", + // sidebar + "sideBar.background": "#15232d", + "sideBar.border": "#0d3a58", + "sideBar.foreground": "#aaa", + "sideBarSectionHeader.background": "#193549", + "sideBarSectionHeader.foreground": "#aaaaaa", + "sideBarTitle.foreground": "#aaaaaa", + // statusBar + "statusBar.background": "#15232d", + "statusBar.border": "#0d3a58", + "statusBar.debuggingBackground": "#15232d", + "statusBar.debuggingBorder": "#ffc600", + "statusBar.debuggingForeground": "#ffc600", + "statusBar.foreground": "#aaa", + "statusBar.noFolderBackground": "#15232d", + "statusBar.noFolderBorder": "#0d3a58", + "statusBar.noFolderForeground": "#aaa", + "statusBarItem.activeBackground": "#0088ff", + "statusBarItem.hoverBackground": "#0d3a58", + "statusBarItem.prominentBackground": "#15232d", + "statusBarItem.prominentHoverBackground": "#0d3a58", + // tab + "tab.activeBackground": "#193549", + "tab.activeForeground": "#fff", + "tab.border": "#15232D", + "tab.activeBorder": "#ffc600", + "tab.inactiveBackground": "#122738", + "tab.inactiveForeground": "#aaa", + "tab.unfocusedActiveForeground": "#aaa", + "tab.unfocusedInactiveForeground": "#aaa", + // --- workbench: terminal + "terminal.ansiBlack": "#000000", + "terminal.ansiRed": "#ff628c", + "terminal.ansiGreen": "#3ad900", + "terminal.ansiYellow": "#ffc600", + "terminal.ansiBlue": "#0088ff", + "terminal.ansiMagenta": "#fb94ff", + "terminal.ansiCyan": "#80fcff", + "terminal.ansiWhite": "#ffffff", + "terminal.ansiBrightBlack": "#0050A4", + "terminal.ansiBrightRed": "#ff628c", + "terminal.ansiBrightGreen": "#3ad900", + "terminal.ansiBrightYellow": "#ffc600", + "terminal.ansiBrightBlue": "#0088ff", + "terminal.ansiBrightMagenta": "#fb94ff", + "terminal.ansiBrightCyan": "#80fcff", + "terminal.ansiBrightWhite": "#ffffff", + "terminal.background": "#122738", + "terminal.foreground": "#ffffff", + "terminalCursor.background": "#ffc600", + "terminalCursor.foreground": "#ffc600", + // Git status colors in File Explorer + "gitDecoration.modifiedResourceForeground": "#ffc600", + "gitDecoration.deletedResourceForeground": "#ff628c", + "gitDecoration.untrackedResourceForeground": "#3ad900", + "gitDecoration.ignoredResourceForeground": "#808080", + "gitDecoration.conflictingResourceForeground": "#FF7200", + // textBlockQuote + "textBlockQuote.background": "#193549", + "textBlockQuote.border": "#0088ff", + "textCodeBlock.background": "#193549", + "textLink.activeForeground": "#0088ff", + "textLink.foreground": "#0088ff", + "textPreformat.foreground": "#ffc600", + "textSeparator.foreground": "#0d3a58", + "titleBar.activeBackground": "#15232D", + "titleBar.activeForeground": "#ffffff", + "titleBar.inactiveBackground": "#193549", + "titleBar.inactiveForeground": "#ffffff33", + "walkThrough.embeddedEditorBackground": "#0d3a58", + "welcomePage.buttonBackground": "#193549", + "welcomePage.buttonHoverBackground": "#0d3a58", + "widget.shadow": "#00000026" + }, + "tokenColors": [ + { + "name": "Comment", + "scope": [ + "comment", + "punctuation.definition.comment" + ], + "settings": { + "fontStyle": "italic", + "foreground": "#0088ff" + } + }, + { + "name": "Constant", + "scope": "constant", + "settings": { + "foreground": "#ff628c" + } + }, + { + "name": "Entity", + "scope": "entity", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "Invalid", + "scope": "invalid", + "settings": { + "foreground": "#f44542" + } + }, + { + "name": "Storage Type Function", + "scope": "storage.type.function", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "Keyword", + "scope": "keyword, storage.type.class, keyword.control.default.ts", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "Meta", + "scope": "meta", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "Meta JSX", + "scope": [ + "meta.jsx.children", + "meta.jsx.children.js", + "meta.jsx.children.tsx" + ], + "settings": { + "foreground": "#fff" + } + }, + { + "name": "Meta Brace", + "scope": "meta.brace", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "Punctuation", + "scope": "punctuation", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "Punctuation Parameters", + "scope": "punctuation.definition.parameters", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "Punctuation Template Expression", + "scope": "punctuation.definition.template-expression", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "Storage", + "scope": "storage", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "Storage Type Arrow Function", + "scope": "storage.type.function.arrow", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "String", + "scope": [ + "string", + "punctuation.definition.string" + ], + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "String Template", + "scope": [ + "string.template", + "punctuation.definition.string.template" + ], + "settings": { + "foreground": "#3ad900" + } + }, + { + "name": "Support", + "scope": "support", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "Support Function", + "scope": "support.function", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "Support Variable Property DOM", + "scope": "support.variable.property.dom", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "Variable", + "scope": "variable", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "[CSS] - Entity", + "scope": [ + "source.css entity", + "source.stylus entity" + ], + "settings": { + "foreground": "#3ad900" + } + }, + { + "name": "[CSS] - ID Selector", + "scope": "entity.other.attribute-name.id.css", + "settings": { + "foreground": "#FFB454" + } + }, + { + "name": "[CSS] - Element Selector", + "scope": "entity.name.tag", + "settings": { + "foreground": "#9EFFFF" + } + }, + { + "name": "[CSS] - Support", + "scope": [ + "source.css support", + "source.stylus support" + ], + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[CSS] - Constant", + "scope": [ + "source.css constant", + "source.css support.constant", + "source.stylus constant", + "source.stylus support.constant" + ], + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[CSS] - String", + "scope": [ + "source.css string", + "source.css punctuation.definition.string", + "source.stylus string", + "source.stylus punctuation.definition.string" + ], + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[CSS] - Variable", + "scope": [ + "source.css variable", + "source.stylus variable" + ], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[HTML] - Entity Name", + "scope": "text.html.basic entity.name", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[HTML] - ID value", + "scope": "meta.toc-list.id.html", + "settings": { + "foreground": "#A5FF90" + } + }, + { + "name": "[HTML] - Entity Other", + "scope": "text.html.basic entity.other", + "settings": { + "fontStyle": "italic", + "foreground": "#ffc600" + } + }, + { + "name": "[HTML] - Script Tag", + "scope": "meta.tag.metadata.script.html entity.name.tag.html", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[HTML] - Quotes. these are a slightly different colour because expand selection will then not include quotes", + "scope": "punctuation.definition.string.begin, punctuation.definition.string.end", + "settings": { + "foreground": "#92fc79" + } + }, + { + "name": "[INI] - Entity", + "scope": "source.ini entity", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "[INI] - Keyword", + "scope": "source.ini keyword", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[INI] - Punctuation Definition", + "scope": "source.ini punctuation.definition", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[INI] - Punctuation Separator", + "scope": "source.ini punctuation.separator", + "settings": { + "foreground": "#ff9d00" + } + }, + { + "name": "[JAVASCRIPT] - Storage Type Function", + "scope": "source.js storage.type.function, source.ts storage.type.function", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[JAVASCRIPT] - Variable Language", + "scope": "variable.language, entity.name.type.class.js", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[JAVASCRIPT] - Inherited Component", + "scope": "entity.other.inherited-class.js", + "settings": { + "foreground": "#ccc" + } + }, + { + "name": "[PYTHON] - Self Argument", + "scope": "variable.parameter.function.language.special.self.python", + "settings": { + "foreground": "#fb94ff" + } + }, + { + "name": "[JSON] - Support", + "scope": "source.json support", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[JSON] - String", + "scope": [ + "source.json string", + "source.json punctuation.definition.string" + ], + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "[MARKDOWN] - Heading Punctuation", + "scope": "punctuation.definition.heading.markdown", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "[MARKDOWN] - Heading Name Section", + "scope": [ + "entity.name.section.markdown", + "markup.heading.setext.1.markdown", + "markup.heading.setext.2.markdown" + ], + "settings": { + "foreground": "#ffc600", + "fontStyle": "bold" + } + }, + { + "name": "[MARKDOWN] - Paragraph", + "scope": "meta.paragraph.markdown", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "[MARKDOWN] - Quote Punctuation", + "scope": "beginning.punctuation.definition.quote.markdown", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[MARKDOWN] - Quote Paragraph", + "scope": "markup.quote.markdown meta.paragraph.markdown", + "settings": { + "fontStyle": "italic", + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Separator", + "scope": "meta.separator.markdown", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[MARKDOWN] - Emphasis Bold", + "scope": "markup.bold.markdown", + "settings": { + "fontStyle": "bold", + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Emphasis Italic", + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic", + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Lists", + "scope": "beginning.punctuation.definition.list.markdown", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[MARKDOWN] - Link Title", + "scope": "string.other.link.title.markdown", + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[MARKDOWN] - Link/Image Title", + "scope": [ + "string.other.link.title.markdown", + "string.other.link.description.markdown", + "string.other.link.description.title.markdown" + ], + "settings": { + "foreground": "#a5ff90" + } + }, + { + "name": "[MARKDOWN] - Link Address", + "scope": [ + "markup.underline.link.markdown", + "markup.underline.link.image.markdown" + ], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Inline Code", + "scope": [ + "fenced_code.block.language", + "markup.inline.raw.markdown" + ], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[MARKDOWN] - Code Block", + "scope": [ + "fenced_code.block.language", + "markup.inline.raw.markdown" + ], + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[PUG] - Entity Name", + "scope": "text.jade entity.name", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[PUG] - Entity Attribute Name", + "scope": "text.jade entity.other.attribute-name.tag", + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "[PUG] - String Interpolated", + "scope": "text.jade string.interpolated", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[TYPESCRIPT] - Entity Name Type", + "scope": "source.ts entity.name.type", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "[TYPESCRIPT] - Keyword", + "scope": "source.ts keyword", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[TYPESCRIPT] - Punctuation Parameters", + "scope": "source.ts punctuation.definition.parameters", + "settings": { + "foreground": "#e1efff" + } + }, + { + "name": "[TYPESCRIPT] - Punctuation Arrow Parameters", + "scope": "meta.arrow.ts punctuation.definition.parameters", + "settings": { + "foreground": "#ffee80" + } + }, + { + "name": "[PHP] - Entity", + "scope": "source.php entity", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[PHP] - Variables", + "scope": "variable.other.php", + "settings": { + "foreground": "#ffc600" + } + }, + { + "name": "[C#] - Annotations", + "scope": "storage.type.cs", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[C#] - Properties", + "scope": "entity.name.variable.property.cs", + "settings": { + "foreground": "#9effff" + } + }, + { + "name": "[C#] - Storage modifiers", + "scope": "storage.modifier.cs", + "settings": { + "foreground": "#80ffbb" + } + }, + { + "name": "Italicsify for Operator Mono", + "scope": [ + "modifier", + "this", + "comment", + "storage.modifier", + "entity.other.attribute-name.js", + // "storage.modifier.js", + // "storage.modifier.ts", + // "storage.modifier.tsx", + "entity.other.attribute-name.js", + "entity.other.attribute-name.ts", + "entity.other.attribute-name.tsx", + "entity.other.attribute-name.html" + ], + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "Export Default", + "scope": [ + "keyword.control.export" + ], + "settings": { + "foreground": "#ff9d00", + "fontStyle": "italic" + } + }, + { + "name": "[TYPESCRIPT] Returned Type", + "scope": [ + "meta.return.type.ts" + ], + "settings": { + "foreground": "#ff0088", + "fontStyle": "italic" + } + }, + ] +} diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/.vsixmanifest b/.vscode/extensions/wix.vscode-import-cost-2.15.0/.vsixmanifest new file mode 100644 index 00000000..e12717fa --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/.vsixmanifest @@ -0,0 +1,44 @@ + + + + + Import Cost + Display import/require package size in the editor + import,require,size,weight,webpack,javascript,javascriptreact,typescript,typescriptreact,vue,svelte + Other + Public + + + + + + + + + + + + + + + + + + + + + + + + + extension/images/import-cost-logo.png + + + + + + + + + + diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/CHANGELOG.md b/.vscode/extensions/wix.vscode-import-cost-2.15.0/CHANGELOG.md new file mode 100644 index 00000000..3c12d89d --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/CHANGELOG.md @@ -0,0 +1,155 @@ +# Changes + +## 2.12.0 +- Add support for dynamic imports + +## 2.11.1 +- Fix configuration description + +## 2.11.0 +- Ability to toggle the extension +- Support monorepo structure + +## 2.10.0 +- Use Babel to parse Typescript. Drop TS Parser +- Handle bundle size calculation timeout gracefully + +## 2.9.0 +- Handle decorators + +## 2.8.0 +- Update to Babel 7 +- Upgrade to Yoshi 3 toolkit +- Add support for `import module = require("module")` + +## 2.7.0 + +- Upgrade to Webpack 4 for better runtime performance +- More specific activation events for better load performance +- Limit number of workers to not use up all the system's resources +- Limit workers retry amount to fail and stop running in faulty situations +- Handle legacy Typescript imports + +## 2.5.1 + +Fix issue with imports that don't have semicolons in typescript + +## 2.5.0 + +Add a configuration to control the presentation of the "calculating" decoration + +## 2.4.0 + +Add lodash to externals list + +## 2.3.0 + +Support languageId detection + react components now consider react & react-dom as externals + +## 2.2.1 + +Allow config changes without restarting vscode + +## 2.2.0 + +Added configuration param to control which bundle size (minfied/gzipped/both) to display in the decoration + +## 2.1.0 + +Added gzip size to decorations + +## 2.0.0 + +- Split the project into two packages: + - `vscode-import-cost`: VSCode specific extension + - `import-cost`: The logic of the extension + + The split was done in order to ease the consumption of the logic from IDEs other than VSCode. + +- Various bug fixes + +## 1.3.1 + +Fix breakage on backticks + +## 1.3.0 + +Add a way to configure the file extensions that will be parsed + +## 1.2.1 + +Bug fix for a small webpack issue with node + +## 1.2.0 + +Add the ability to configure different colored decocrations for different sized packages. + +## 1.1.7 + +Bug fix for scoped packages (i.e. @angular/router) + +## 1.1.6 + +reworked import reconstruction a bit in order to support `import React, {Component} from 'react';` + +## 1.1.5 + +Bug fix for Typescript on Windows + +## 1.1.4 + +Bug fix for disappearing decorators on incorrect syntax + +## 1.1.3 + +Bug fixes and prettifying output + +## 1.1.2 + +Fix typo + +## 1.1.1 + +Fix cache location + +## 1.1.0 + +Add back cross-session cache with support for library version + +## 1.0.15 + +Update readme + +## 1.0.13 + +- Calculate cost as-you-type +- Support multiple windows +- Remove the .importcost folder +- Add support for monorepo +- Calculations are done in parallel +- Temporarily remove cross-session cache +- Bug fixes + +## 1.0.12 + +Fix cache bug + +## 1.0.11 + +Switch from uglifyjs-webpack-plugin to babili-webpack-plugin + +## 1.0.10 + +Display calculation results as they arrive + +## 1.0.9 + +Update font theme + +## 1.0.8 + +Add cross session cache + +## 1.0.6 + +Initial release diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/README.md b/.vscode/extensions/wix.vscode-import-cost-2.15.0/README.md new file mode 100644 index 00000000..dea9b897 --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/README.md @@ -0,0 +1,67 @@ +# Import Cost VSCode Extension [![Build Status](https://travis-ci.org/wix/import-cost.svg?branch=master)](https://travis-ci.org/wix/import-cost) [![Build status](https://ci.appveyor.com/api/projects/status/ko48qav9qqb8fv8u?svg=true)](https://ci.appveyor.com/project/shahata/import-cost) +[![](https://vsmarketplacebadge.apphb.com/version/wix.vscode-import-cost.svg)](https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost) [![](https://vsmarketplacebadge.apphb.com/installs/wix.vscode-import-cost.svg)](https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost) + +This extension will display inline in the editor the size of the imported package. +The extension utilizes webpack with babili-webpack-plugin in order to detect the imported size. +![Example Image](https://file-wkbcnlcvbn.now.sh/import-cost.gif) + +## Features +Calculates the size of imports and requires. +Currently supports: + +- Default importing: `import Func from 'utils';` +- Entire content importing: `import * as Utils from 'utils';` +- Selective importing: `import {Func} from 'utils';` +- Selective importing with alias: `import {orig as alias} from 'utils';` +- Submodule importing: `import Func from 'utils/Func';` +- Require: `const Func = require('utils').Func;` +- Supports both `Javascript` and `Typescript` + +## Why & How +I detail the Why and How in this blog post: +https://medium.com/@yairhaimo/keep-your-bundle-size-under-control-with-import-cost-vscode-extension-5d476b3c5a76 + +## Configuration + +The following properties are configurable: + +```javascript + // Upper size limit, in KB, that will count a package as a small package + "importCost.smallPackageSize": 50, + + // Upper size limit, in KB, that will count a package as a medium package + "importCost.mediumPackageSize": 100, + + // Decoration color for small packages + "importCost.smallPackageColor": "#7cc36e", + + // Decoration color for medium packages + "importCost.mediumPackageColor": "#7cc36e", + + // Decoration color for large packages + "importCost.largePackageColor": "#d44e40", + + // File extensions to be parsed by the Typescript parser + "importCost.typescriptExtensions": [ + "\\.tsx?$" + ], + + // File extensions to be parsed by the Javascript parser + "importCost.javascriptExtensions": [ + "\\.jsx?$" + ], + + // Which bundle size to display + "importCost.bundleSizeDecoration": "both", + + // Display the 'calculating' decoration + "importCost.showCalculatingDecoration": true, + + // Print debug messages in output channel + "importCost.debug": false +``` +Any package size above the mediumPackageSize limit will be considered large. + + +## Known Issues +- Importing two libraries with a common dependency will show the size of both libraries isolated from each other, even if the common library needs to be imported only once. diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/images/import-cost-logo.png b/.vscode/extensions/wix.vscode-import-cost-2.15.0/images/import-cost-logo.png new file mode 100644 index 00000000..205f2ea3 Binary files /dev/null and b/.vscode/extensions/wix.vscode-import-cost-2.15.0/images/import-cost-logo.png differ diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/decorator.js b/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/decorator.js new file mode 100644 index 00000000..537925cf --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/decorator.js @@ -0,0 +1,88 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.clearDecorations = exports.calculated = exports.flushDecorations = void 0; +const vscode_1 = require("vscode"); +const fileSize = require("filesize"); +const logger_1 = require("./logger"); +const decorations = {}; +function flushDecorations(fileName, packages) { + logger_1.default.log(`Flushing decorations ${JSON.stringify(packages, null, 2)}`); + decorations[fileName] = {}; + packages.forEach(packageInfo => { + if (packageInfo.size === undefined) { + const configuration = vscode_1.workspace.getConfiguration('importCost'); + if (configuration.showCalculatingDecoration) { + decorate('Calculating...', packageInfo); + } + } + else { + calculated(packageInfo); + } + }); + refreshDecorations(fileName); +} +exports.flushDecorations = flushDecorations; +function calculated(packageInfo) { + const decorationMessage = getDecorationMessage(packageInfo); + decorate(decorationMessage, packageInfo, getDecorationColor(packageInfo.size)); +} +exports.calculated = calculated; +function getDecorationMessage(packageInfo) { + if (packageInfo.size <= 0) { + return ''; + } + let decorationMessage; + const configuration = vscode_1.workspace.getConfiguration('importCost'); + const size = fileSize(packageInfo.size, { unix: true }); + const gzip = fileSize(packageInfo.gzip, { unix: true }); + if (configuration.bundleSizeDecoration === 'both') { + decorationMessage = `${size} (gzipped: ${gzip})`; + } + else if (configuration.bundleSizeDecoration === 'minified') { + decorationMessage = size; + } + else if (configuration.bundleSizeDecoration === 'gzipped') { + decorationMessage = gzip; + } + return decorationMessage; +} +function getDecorationColor(size) { + const configuration = vscode_1.workspace.getConfiguration('importCost'); + const sizeInKB = size / 1024; + if (sizeInKB < configuration.smallPackageSize) { + return configuration.smallPackageColor; + } + else if (sizeInKB < configuration.mediumPackageSize) { + return configuration.mediumPackageColor; + } + else { + return configuration.largePackageColor; + } +} +function decorate(text, packageInfo, color = getDecorationColor(0)) { + const { fileName, line } = packageInfo; + logger_1.default.log(`Setting Decoration: ${text}, ${JSON.stringify(packageInfo, null, 2)}`); + decorations[fileName][line] = { + renderOptions: { after: { contentText: text, color } }, + range: new vscode_1.Range(new vscode_1.Position(line - 1, 1024), new vscode_1.Position(line - 1, 1024)) + }; + refreshDecorations(fileName); +} +const decorationType = vscode_1.window.createTextEditorDecorationType({ after: { margin: '0 0 0 1rem' } }); +let decorationsDebounce; +function refreshDecorations(fileName, delay = 10) { + clearTimeout(decorationsDebounce); + decorationsDebounce = setTimeout(() => getEditors(fileName).forEach(editor => { + editor.setDecorations(decorationType, Object.keys(decorations[fileName]).map(x => decorations[fileName][x])); + }), delay); +} +function getEditors(fileName) { + return vscode_1.window.visibleTextEditors.filter(editor => editor.document.fileName === fileName); +} +function clearDecorations() { + vscode_1.window.visibleTextEditors.forEach(textEditor => { + return textEditor.setDecorations(decorationType, []); + }); +} +exports.clearDecorations = clearDecorations; +//# sourceMappingURL=decorator.js.map \ No newline at end of file diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/extension.js b/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/extension.js new file mode 100644 index 00000000..d49b011f --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/extension.js @@ -0,0 +1,89 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deactivate = exports.activate = void 0; +const import_cost_1 = require("import-cost"); +const vscode_1 = require("vscode"); +const decorator_1 = require("./decorator"); +const logger_1 = require("./logger"); +let isActive = true; +function activate(context) { + try { + logger_1.default.init(context); + logger_1.default.log('starting...'); + vscode_1.workspace.onDidChangeTextDocument(ev => isActive && processActiveFile(ev.document)); + vscode_1.window.onDidChangeActiveTextEditor(ev => ev && isActive && processActiveFile(ev.document)); + if (vscode_1.window.activeTextEditor && isActive) { + processActiveFile(vscode_1.window.activeTextEditor.document); + } + context.subscriptions.push(vscode_1.commands.registerCommand('importCost.toggle', () => { + isActive = !isActive; + if (isActive && vscode_1.window.activeTextEditor) { + processActiveFile(vscode_1.window.activeTextEditor.document); + } + else { + deactivate(); + decorator_1.clearDecorations(); + } + })); + } + catch (e) { + logger_1.default.log('wrapping error: ' + e); + } +} +exports.activate = activate; +function deactivate() { + import_cost_1.cleanup(); +} +exports.deactivate = deactivate; +let emitters = {}; +function processActiveFile(document) { + return __awaiter(this, void 0, void 0, function* () { + if (document && language(document)) { + const { fileName } = document; + if (emitters[fileName]) { + emitters[fileName].removeAllListeners(); + } + const { timeout } = vscode_1.workspace.getConfiguration('importCost'); + emitters[fileName] = import_cost_1.importCost(fileName, document.getText(), language(document), { concurrent: true, maxCallTime: timeout }); + emitters[fileName].on('error', e => logger_1.default.log(`importCost error: ${e}`)); + emitters[fileName].on('start', packages => decorator_1.flushDecorations(fileName, packages)); + emitters[fileName].on('calculated', packageInfo => decorator_1.calculated(packageInfo)); + emitters[fileName].on('done', packages => decorator_1.flushDecorations(fileName, packages)); + } + }); +} +function language({ fileName, languageId }) { + if (languageId === 'Log') { + return; + } + const configuration = vscode_1.workspace.getConfiguration('importCost'); + const typescriptRegex = new RegExp(configuration.typescriptExtensions.join('|')); + const javascriptRegex = new RegExp(configuration.javascriptExtensions.join('|')); + const vueRegex = new RegExp(configuration.vueExtensions.join('|')); + const svelteRegex = new RegExp(configuration.svelteExtensions.join('|')); + if (languageId === 'svelte' || svelteRegex.test(fileName)) { + return import_cost_1.SVELTE; + } + else if (languageId === 'vue' || vueRegex.test(fileName)) { + return import_cost_1.VUE; + } + else if (languageId === 'typescript' || languageId === 'typescriptreact' || typescriptRegex.test(fileName)) { + return import_cost_1.TYPESCRIPT; + } + else if (languageId === 'javascript' || languageId === 'javascriptreact' || javascriptRegex.test(fileName)) { + return import_cost_1.JAVASCRIPT; + } + else { + return undefined; + } +} +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/logger.js b/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/logger.js new file mode 100644 index 00000000..c647d71c --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/out/logger.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const vscode_1 = require("vscode"); +class Logger { + constructor() { + this.debug = !!vscode_1.workspace.getConfiguration('importCost').debug; + } + init(context) { + this.context = context; + if (this.debug) { + this.channel = vscode_1.window.createOutputChannel('ImportCost'); + context.subscriptions.push(this.channel); + } + } + log(text) { + if (this.debug) { + this.channel.appendLine(text); + } + } +} +exports.default = new Logger(); +//# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/package.json b/.vscode/extensions/wix.vscode-import-cost-2.15.0/package.json new file mode 100644 index 00000000..14f96371 --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/package.json @@ -0,0 +1,164 @@ +{ + "name": "vscode-import-cost", + "displayName": "Import Cost", + "description": "Display import/require package size in the editor", + "license": "MIT", + "version": "2.15.0", + "publisher": "wix", + "engines": { + "vscode": "^1.52.0" + }, + "categories": [ + "Other" + ], + "activationEvents": [ + "onLanguage:javascript", + "onLanguage:javascriptreact", + "onLanguage:typescript", + "onLanguage:typescriptreact", + "onLanguage:vue", + "onLanguage:svelte" + ], + "keywords": [ + "import", + "require", + "size", + "weight", + "webpack" + ], + "main": "./out/extension.js", + "contributes": { + "configuration": { + "type": "object", + "title": "Import Cost configuration", + "properties": { + "importCost.smallPackageSize": { + "type": "number", + "default": 50, + "description": "Upper size limit, in KB, that will count a package as a small package" + }, + "importCost.mediumPackageSize": { + "type": "number", + "default": 100, + "description": "Upper size limit, in KB, that will count a package as a medium package" + }, + "importCost.smallPackageColor": { + "type": "string", + "default": "#7cc36e", + "description": "Decoration color for small packages" + }, + "importCost.mediumPackageColor": { + "type": "string", + "default": "#7cc36e", + "description": "Decoration color for medium packages" + }, + "importCost.largePackageColor": { + "type": "string", + "default": "#d44e40", + "description": "Decoration color for large packages" + }, + "importCost.typescriptExtensions": { + "type": "array", + "default": [ + "\\.tsx?$" + ], + "description": "File extensions to be parsed by the Typescript parser" + }, + "importCost.javascriptExtensions": { + "type": "array", + "default": [ + "\\.jsx?$" + ], + "description": "File extensions to be parsed by the Javascript parser" + }, + "importCost.vueExtensions": { + "type": "array", + "default": [ + "\\.vue$" + ], + "description": "File extensions to be parsed by the Vue parser" + }, + "importCost.svelteExtensions": { + "type": "array", + "default": [ + "\\.svelte$" + ], + "description": "File extensions to be parsed by the Svelte parser" + }, + "importCost.bundleSizeDecoration": { + "type": "string", + "default": "both", + "enum": [ + "both", + "minified", + "gzipped" + ], + "description": "Which bundle size to display" + }, + "importCost.showCalculatingDecoration": { + "type": "boolean", + "default": true, + "description": "Display the 'calculating' decoration when starting to calculate the size" + }, + "importCost.debug": { + "type": "boolean", + "default": false, + "description": "Enable debug logging" + }, + "importCost.timeout": { + "type": "number", + "default": 10000, + "description": "Size calculation timeout in milliseconds (requires restart)" + } + } + }, + "commands": [ + { + "command": "importCost.toggle", + "title": "Toggle import cost" + } + ] + }, + "scripts": { + "vscode:prepublish": "npm run compile", + "compile": "tsc -p ./", + "lint": "eslint src --ext ts", + "watch": "tsc -watch -p ./", + "pretest": "npm run compile && npm run lint", + "test": ":" + }, + "devDependencies": { + "@types/vscode": "^1.52.0", + "@types/glob": "^7.1.3", + "@types/mocha": "^8.0.0", + "@types/node": "^14.0.27", + "eslint": "^7.6.0", + "@typescript-eslint/eslint-plugin": "^3.8.0", + "@typescript-eslint/parser": "^3.8.0", + "glob": "^7.1.6", + "mocha": "^8.1.3", + "vscode-test": "^1.4.0", + "husky": "^0.14.3", + "typescript": "^4.1.3" + }, + "dependencies": { + "filesize": "^3.5.10", + "import-cost": "^2.2.0" + }, + "icon": "images/import-cost-logo.png", + "galleryBanner": { + "color": "#1C78C0", + "theme": "dark" + }, + "homepage": "https://github.com/wix/import-cost/blob/master/packages/vscode-import-cost/README.md", + "repository": { + "type": "git", + "url": "https://github.com/wix/import-cost.git" + }, + "__metadata": { + "id": "c46b0018-f317-4b6c-a785-d2039b27338f", + "publisherId": "7a344d8a-64ec-42a7-9255-9eacf94e746a", + "publisherDisplayName": "Wix", + "installedTimestamp": 1627357567439 + } +} \ No newline at end of file diff --git a/.vscode/extensions/wix.vscode-import-cost-2.15.0/pom.xml b/.vscode/extensions/wix.vscode-import-cost-2.15.0/pom.xml new file mode 100644 index 00000000..500d90d5 --- /dev/null +++ b/.vscode/extensions/wix.vscode-import-cost-2.15.0/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + com.wixpress.infra + vscode-import-cost + pom + vscode-import-cost + vscode-import-cost + 1.0.0-SNAPSHOT + + + + + + + com.wixpress.common + wix-master-parent + 100.0.0-SNAPSHOT + + + + + Shahar Talmi + shahart@wix.com + + owner + + + + diff --git a/bashrc.txt b/bashrc.txt index 3573fdb6..0f33aa39 100644 --- a/bashrc.txt +++ b/bashrc.txt @@ -168,7 +168,7 @@ alias notes="cd ~/Documents/notes" alias config="cd ~/.config" alias Code="cd ~/Documents/Code" alias js="cd ~/Documents/Code/javascript" -alias ls="ls -lah --color=auto" +alias ls="ls -lasSh --color=auto" alias {evr,easyavr}="python3 -m easykeymap" alias {his,hist}="history" alias {cmatrix,matrix}="cmatrix -bm -C cyan" @@ -181,13 +181,15 @@ alias {nv,nvi,vim,vi}="nvim" alias {mi,mic,nano}="micro" alias {mysql,maria,mdb}="mariadb" alias {market,stonks,stocks}="mop" +alias {ddg,duck}="w3m https://www.duckduckgo.com" +alias searx="w3m https://www.searx.bar" alias {vlc,mpl}="mplayer" -alias mcube="musikcube" +alias {musik,mcube,mkb,mcb}="musikcube" alias ytdl="youtube-dl" alias thinkorswim="~/thinkorswim/thinkorswim &" -alias vs="code" +alias {vs,vsc}="code" alias shutdown="shutdown -h now" -alias logout="xfce4-session-logout --logout" +alias {log,logout}="xfce4-session-logout --logout" alias curltime="curl -w \"@$HOME/Documents/notes/curl-format.txt\" -o /dev/null -s" alias killport="fuser -k" alias rmorphans="sudo pacman -Rs $(pacman -Qdtq)" @@ -197,4 +199,6 @@ alias sudo="doas" alias {doasedit,sudoedit}="doas rnano" alias shred="shred -uz" +export EDITOR=nvim + [ -f ~/.fzf.bash ] && source ~/.fzf.bash diff --git a/ddg_shebangs.txt b/ddg_shebangs.txt new file mode 100644 index 00000000..394214d7 --- /dev/null +++ b/ddg_shebangs.txt @@ -0,0 +1,19 @@ +# Shebangs are useful shortcuts to be used in duckduckgo + +# Wikipedia +!wiki + +# Stack Overflow (just to go to) +!ov + +# NPR (just to go to) +!npr + +# Stack Exchange +!sx + +# Linux Questions (just to go to) +!linuxq + +# Reddit +!reddit diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-08-17_19_Fw7ezwVEwLI4Jf9J6QsEIg==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-17_19_Fw7ezwVEwLI4Jf9J6QsEIg==.jsonlz4 new file mode 100644 index 00000000..6f468ed8 Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-17_19_Fw7ezwVEwLI4Jf9J6QsEIg==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-08-20_13_+CHjBE3-gg7AlP8oikNApQ==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-20_13_+CHjBE3-gg7AlP8oikNApQ==.jsonlz4 new file mode 100644 index 00000000..938ce2c1 Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-20_13_+CHjBE3-gg7AlP8oikNApQ==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-08-27_15_iNRZvW031o5duQMBnjv+4A==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-27_15_iNRZvW031o5duQMBnjv+4A==.jsonlz4 new file mode 100644 index 00000000..02c9736c Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-27_15_iNRZvW031o5duQMBnjv+4A==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-08-31_10_N5s2KRdu6hGePfF84L-9Ig==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-31_10_N5s2KRdu6hGePfF84L-9Ig==.jsonlz4 new file mode 100644 index 00000000..e6013326 Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-08-31_10_N5s2KRdu6hGePfF84L-9Ig==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-10-16_11_xhhxVL83ykJsES1aIHir0Q==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-10-16_11_xhhxVL83ykJsES1aIHir0Q==.jsonlz4 new file mode 100644 index 00000000..9e67f2cc Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-10-16_11_xhhxVL83ykJsES1aIHir0Q==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-10-21_11_NZjAnVtW9l4sf3nyO3X1eA==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-10-21_11_NZjAnVtW9l4sf3nyO3X1eA==.jsonlz4 new file mode 100644 index 00000000..2f43032d Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-10-21_11_NZjAnVtW9l4sf3nyO3X1eA==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-10-26_12_MTvUg53rKcFWS8YZA4G91w==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-10-26_12_MTvUg53rKcFWS8YZA4G91w==.jsonlz4 new file mode 100644 index 00000000..48562d93 Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-10-26_12_MTvUg53rKcFWS8YZA4G91w==.jsonlz4 differ diff --git a/firefox_preferences/bookmarkbackups/bookmarks-2021-11-05_12_n-6wVqD1p24KO+I3YDWkUQ==.jsonlz4 b/firefox_preferences/bookmarkbackups/bookmarks-2021-11-05_12_n-6wVqD1p24KO+I3YDWkUQ==.jsonlz4 new file mode 100644 index 00000000..0f387ba8 Binary files /dev/null and b/firefox_preferences/bookmarkbackups/bookmarks-2021-11-05_12_n-6wVqD1p24KO+I3YDWkUQ==.jsonlz4 differ diff --git a/firefox_preferences/extensions/addon@darkreader.org.xpi b/firefox_preferences/extensions/addon@darkreader.org.xpi new file mode 100644 index 00000000..3a8c1f4a Binary files /dev/null and b/firefox_preferences/extensions/addon@darkreader.org.xpi differ diff --git a/firefox_preferences/extensions/forget-me-not@lusito.info.xpi b/firefox_preferences/extensions/forget-me-not@lusito.info.xpi new file mode 100644 index 00000000..56733452 Binary files /dev/null and b/firefox_preferences/extensions/forget-me-not@lusito.info.xpi differ diff --git a/firefox_preferences/extensions/jid1-BoFifL9Vbdl2zQ@jetpack.xpi b/firefox_preferences/extensions/jid1-BoFifL9Vbdl2zQ@jetpack.xpi new file mode 100644 index 00000000..eea24d2c Binary files /dev/null and b/firefox_preferences/extensions/jid1-BoFifL9Vbdl2zQ@jetpack.xpi differ diff --git a/firefox_preferences/extensions/uBlock0@raymondhill.net.xpi b/firefox_preferences/extensions/uBlock0@raymondhill.net.xpi new file mode 100644 index 00000000..2c96fd91 Binary files /dev/null and b/firefox_preferences/extensions/uBlock0@raymondhill.net.xpi differ diff --git a/firefox_preferences/extensions/{2c6ca67f-c480-4a85-8ccc-0c124cca0d5a}.xpi b/firefox_preferences/extensions/{2c6ca67f-c480-4a85-8ccc-0c124cca0d5a}.xpi new file mode 100644 index 00000000..2350f980 Binary files /dev/null and b/firefox_preferences/extensions/{2c6ca67f-c480-4a85-8ccc-0c124cca0d5a}.xpi differ diff --git a/firefox_preferences/extensions/{5caff8cc-3d2e-4110-a88a-003cc85b3858}.xpi b/firefox_preferences/extensions/{5caff8cc-3d2e-4110-a88a-003cc85b3858}.xpi new file mode 100644 index 00000000..5964dce2 Binary files /dev/null and b/firefox_preferences/extensions/{5caff8cc-3d2e-4110-a88a-003cc85b3858}.xpi differ diff --git a/firefox_preferences/extensions/{d7742d87-e61d-4b78-b8a1-b469842139fa}.xpi b/firefox_preferences/extensions/{d7742d87-e61d-4b78-b8a1-b469842139fa}.xpi new file mode 100644 index 00000000..35bf1744 Binary files /dev/null and b/firefox_preferences/extensions/{d7742d87-e61d-4b78-b8a1-b469842139fa}.xpi differ diff --git a/firefox_preferences/extensions/{ff253518-a3a5-44ce-9f39-4b46c15ae288}.xpi b/firefox_preferences/extensions/{ff253518-a3a5-44ce-9f39-4b46c15ae288}.xpi new file mode 100644 index 00000000..b5e31fb6 Binary files /dev/null and b/firefox_preferences/extensions/{ff253518-a3a5-44ce-9f39-4b46c15ae288}.xpi differ diff --git a/firefox_preferences/install_notes.txt b/firefox_preferences/install_notes.txt index 37c86ac6..a74a7762 100644 --- a/firefox_preferences/install_notes.txt +++ b/firefox_preferences/install_notes.txt @@ -6,3 +6,9 @@ While you can certainly harden firefox by hand, it can be time consuming, simply Or whatever path looks like that, you can always search for it using locate (recommended). locate prefs.js + +Also, you can install your extensions and bookmarks by putting the extensions and bookmarkbackups directories +in the same above directory: + +cp -r extensions ~/.mozilla/firefox/k6634gl6.dev-edition-default +cp -r bookmarkbackups ~/.mozilla/firefox/k6634gl6.dev-edition-default diff --git a/linux_notes.txt b/linux_notes.txt index ed5c5e3e..32f36afd 100644 --- a/linux_notes.txt +++ b/linux_notes.txt @@ -382,6 +382,11 @@ sudo pacman -Rcns See which program owns this file: sudo pacman -Qo /path/to/file +Other commands of note: + +See the day you installed Linux (ie Birthday) +stat / | awk 'Birth: /{print $2}' + OpenBSD's doas: sudo is a rather large program and is designed mainly for large scale systems administration purposes. Because of this, it is not necessary for most home use cases. Instead, you may wish to install opendoas as an alternative: @@ -434,19 +439,17 @@ You can copy these into a new installation of xfce by putting this file into the ~/.config/xfce4/xfconf/xfce-perchannel-xml +Allow infinite tries to log in (default is 3 attempts): + Navigate to /etc/security/faillock.conf + Change deny = 0 + Other Apps of Mention: alacritty (nice simple terminal emulator) -bpytop (much better than htop, themes well with manjaro in the XFCE terminal) (with current terminal.rc on xfce terminal, creates beautiful display, better than conky by far) -To configure on startup, go to startup from XFCE whisker menu and create new startup command: xfce4-terminal --geometry=127x51+0+0 -x bpytop -This is for your current widescreen monitor, takes up half screen. - +btop (best top, written in C++) nvtop (nvidia graphical user interface to monitor GPU status) -powertop (displays power usage) -atom (naturegreen dark theme) vscode(after experimenting with other vscode versions, the official one with telemetry turned off is by far the best, git clone from aur, makepkg -si, make sure basedevel is installed) -librewolf (download vis github) -micro(amazing minimalist text editor) +micro(minimalist text editor) irssi tor-browser nmap @@ -484,3 +487,11 @@ Manjaro XFCE (minimal DE) (favorite thus far 2021) Manjaro Sway (community driven TWM) Manjaro I3 (community driven TWM) Manjaro Lomiri (for Pinephone, still in beta version as of mid 2021) + +Where you can find certain configuration files: +Neovim Configuration(~/.config/nvim/) +Bash Configuration (~/.bashrc) +Alacritty Configuration (~/.config/alacritty) +Custom XFCE Keyboard Configuration (~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml) +Custom XFCE AutoStart Scripts (~/.config/autostart) +FireFox Settings (~/.mozilla/firefox/k6634gl6.dev-edition-default/prefs.js) diff --git a/nvim/init.vim b/nvim/init.vim index e191cd59..61337d11 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -1,8 +1,7 @@ -" If downloading this as a .txt rename as init.vim and put in ~/.config/nvim +" Specify a directory for plugins default is ~/.config/nvim/init.vim -" Specify a directory for plugins -call plug#begin('~/.vim/plugged') -Plug 'neoclide/coc.nvim', {'branch': 'release'} +call plug#begin('~/.vim/plugged') +Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'scrooloose/nerdtree' "Plug 'tsony-tsonev/nerdtree-git-plugin' Plug 'Xuyuanp/nerdtree-git-plugin' Plug 'tiagofumo/vim-nerdtree-syntax-highlight' @@ -21,7 +20,7 @@ Plug 'simeji/winresizer' Plug 'yaegassy/coc-volar' Plug '907th/vim-auto-save' -Plug 'HerringtonDarkholme/yats.vim' " TS Syntax +"Plug 'HerringtonDarkholme/yats.vim' " TS Syntax " Initialize plugin system call plug#end() @@ -37,6 +36,15 @@ nmap autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif +"NerdTree opens on right +let g:NERDTreeWinPos = "right" + +"Adjust NerdTree size +let g:NERDTreeWinSize=28 + +"Show hidden files in NERDTree +let NERDTreeShowHidden=1 + " Exit Vim if NERDTree is the only window remaining in the only tab. autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif @@ -65,7 +73,7 @@ let g:NERDTreeGitStatusWithFlags = 1 "\ "Untracked" : "#FCE77C", "\ "Unmerged" : "#FC51E6", "\ "Dirty" : "#FFBD61", - "\ "Clean" : "#87939A", + "\ "Clean" : "#/87939A", "\ "Ignored" : "#808080" "\ } @@ -74,17 +82,69 @@ let g:NERDTreeIgnore = ['^node_modules$'] " do not close the markdown preview tab when switching to other buffers let g:mkdp_auto_close = 0 +" Create Default Mappings for NerdCommenter +let g:NERDCreateDefaultMappings = 1 + +" Toggle NERDCommenter with Ctrl + z +:map NERDCommenterToggle + " Custom keybindings " keybind map Ctrl + m to :MarkdownPreview nmap MarkdownPreviewToggle " creates a small horizontal window for neoterm ( type |T ) -nmap 50:new +nmap 50:new "Escape Insert Mode with ii imap ii +"""JavaScript Specific Shortcuts + +"Shorten var +inoremap var var =i + +"Shorten const +inoremap const const =i + +"Shorten let +inoremap let let =i + +"Insert a console.log() +inoremap cll console.log()i + +"Shorten Template Literals +inoremap `` `${}`i + +"Create class +inoremap class class {constructor() {}}i + +"Create function +inoremap fn function () {}i + +"Create standard for loop +inoremap loo for (let i = 0; i <= ; i++) {}i + +"Create try catch statement +inoremap try try {} catch(err) {console.error(err)}i + +"Create arrow function +inoremap => () => {}i + +"Create type comment +inoremap ** /**/i + +"If Statement +inoremap if if ()i + +"Else If Statement +inoremap elif else if ()i + +"Switch/Case Statement +inoremap switch switch () { case :break case :break default:}i + +""" + autocmd BufEnter *.{js,jsx,ts,tsx,vue} :syntax sync fromstart autocmd BufLeave *.{js,jsx,ts,tsx,vue} :syntax sync clear @@ -95,6 +155,9 @@ let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclu noremap j (v:count == 0 ? 'gj' : 'j') noremap k (v:count == 0 ? 'gk' : 'k') +"remap leader key to comma +let mapleader="," + "set relativenumber set number @@ -104,8 +167,9 @@ set mouse=a set autoindent set smarttab set cindent -set tabstop=2 -set shiftwidth=2 +set tabstop=8 +set softtabstop=0 +set shiftwidth=4 " always uses spaces instead of tab characters set expandtab